Ада не имеет препроцессора , поэтому #
действительно является недопустимым символом.
Некоторые компиляторы (например, Gnat) поставляются с одним, но если это так, то это один из их собственных разработок. Если вам нравится, вы можете настроить систему сборки на запуск ваших исходных файлов Ada через внешний препроцессор (например, препроцессор C). Я никогда этого не делал, но мне сказали, что это в высшей степени выполнимо.
Если ваш компилятор поставляется с препроцессором, он нестандартен. Используйте его, если хотите, но по определению он будет бесполезен для создания переносимых исходных файлов (что, похоже, вы пытаетесь с ним делать).
Большинство людей считают, что лучше всего просто создавать разные исходные файлы для разных сред, а среда сборки (создавать правила?) Переключаться между ними.