У меня есть существующая библиотека C, которая построена с помощью scons (библиотека имеет свою собственную
SConscript). Этот код теперь содержит два варианта, управляемых #ifdef
s. Как
я скажу scons построить два варианта этой библиотеки, которые могут жить бок о бок
сторона (чтобы приложения могли ссылаться на соответствующий вариант)?
Концептуально это примерно так:
driver_sources = [ ... ]
env.Library('drivers', driver_sources)
env.Library('drivers_withflag', driver_sources,
CPPDEFINES += ['FLAG'])
SCons (понятно) не любит использовать один и тот же список источников для разных
выходы с различными средами, потому что имена промежуточных объектов
конфликт.
Я не уверен, стоит ли подходить к этой проблеме, получая новый
Builder для drivers_withflag
объектов, или я должен включить мои библиотеки
SConscript дважды с некоторым параметром, чтобы указать #defines
(и я мог бы поставить
каждый вариант в своем собственном каталоге сборки). Любой совет?