Раз вопрос вызвал интерес, открою всё же отдельную тему.

ДАвайте, для начала выясним, это кому-нибудь реально нужно? Или закончится на этапе обсуждения идей. Я своё мнение скромно высказал уже - даже убогий поиск по определению - это лучше, чем ничего. Т.е. без перехода к определению система полностью неконкурентоспособна и производительность труда в ней неоправданно занижена. Таким образом, если я буду заниматься bluebottle, то у меня это точно будет в каком-то виде. Трудности примерно ясны. Если есть смысл обсуждать решение, то давайте обсудим.

ДАвайте для начала признаем следующий неприятный файт: любая система с условной компиляцией, как бы она не была оформлена, это уже не одна система, а семейство из множества систем с пересекающимися исходными текстами. Ни запретом #ifdef-ов, ни созданием IDE от этой проблемы укрыться не удастся. Причём, если есть N платформ и всего лишь один переключатель отладка-производство, то это уже 2N систем. Если к тому есть один #define типа байт, то это уже 512N систем.

Если тут консенсус, то можно двигаться дальше и подумать, что из этого следует и как лучше поступить с этим.