Я не нашел необходимых инструментов в Scons, но Python великолепен (сейчас я новичок в python, изучаю только несколько дней).
Google дает мне несколько полезных ссылок, таких как SimpleConfigParser (я использую метод из CustomParser)
Реализовать это очень легко, и я получил то, что мне нужно:
Import('env')
templVars = parse_config('template.conf')
varEnv = env.Clone(tools = ['textfile', 'default'])
varEnv.Substfile('config.cfg.in', SUBST_DICT = templVars)
Содержимое файла config.cfg.in:
this is simple text with template values
Version is %version%
Build mode is %mode%
Emulator mode %emulate%
Thanks for using Avina !
Содержимое файла template.conf:
%version% = 105
%mode% = 'test1'
%source% = 'database'
%emulate% = 'no'
И файл результатов:
this is simple text with template values
Version is 105
Build mode is 'test1'
Emulator mode 'no'
Thanks for using Avina !