Начну со второго вопроса.

2. С точки зрения правильности архитектурного подхода, лучше разделять условные части в отдельные модули. Смотри темуЗамена условным директивам ifdef.
Некоторым аналогом являютсяDevSelectors. В таком случае имеет место быть жёсткая привязка к среде исполнения BlackBox.

1.> -- Цитата:
> И в целом ведет ли дальнейшую разработку Oberon Microsystems?Нам об этом неизвестно. По крайней мере, открытых разработок нет.
С помощью БлэкБокс 1.6 RC5 можно создавать на сегодняшний день EXE/DLL/SO. DevLinker: EXE/DLL; DevElfLinker: SO.
Из Windows можно производить компоновку в PE, ELF из среды BlackBox с помощьюDevLinkerиDevElfLinker. В Linux - теоретически, с помощью CDevElfLinker (модификация для запуска в консоли). Теоретически - потому что проверено лишь для генерации SO, хотя, полагаю, после перекомпиляции CDev можно компоновать и в EXE/DLL. Подсистема CDev является частьюконсольного компилятора КП.

Более логичным, с моей точки зрения, являетсясоздание компонент на КП в виде библиотек(и)посредством BlackBox, с интерфейсом для вызова внешними средствами (а тут выбор компиляторов гораздо более широк).

Вот, когда закончу мой компонент (libBBox), вообще отпадёт необходимость в генерации EXE и других исполняемых форматов.