Import('*')

makelexer = env.Program('makelexer', 'lexcode.cpp',
CPPPATH = env.Dictionary()['CPPPATH'] + ['#lexgen'],
LIBPATH = '#lexgen',
LIBS = 'lexgen'
)

lib_cpppath = ['.'] + env.Dictionary()['CPPPATH'] + [
	'#foundation', '#boost', '#main', '#../ACE_wrappers'
]

pch = env.PCH('pch.cpp', CPPPATH = lib_cpppath)[0];

env.Command(['ConfLexerCore.h', 'ConfLexerCore.cpp'], makelexer,
makelexer[0].abspath+' ConfLexerCore ${TARGETS[0]} ${TARGETS[1]} '
'ConfLexerDefinitions ConfLexerDefinitions.h ConfIO ConfIO.h'
)

ConfLexerCore = env.Object('ConfLexerCore.cpp',
CPPPATH = lib_cpppath
)

env.StaticLibrary('confio', [
ConfLexerCore, 'PortSet.cpp', 'Conf.cpp', 'ConfIO.cpp', 'ConfigFile.cpp',
'UrlPatterns.cpp', 'CombinedUrlPatterns.cpp', 'UrlPatternsFile.cpp',
'RegexFilterDescriptor.cpp', 'ContentFilters.cpp', 'ContentFiltersFile.cpp',
'TextPattern.cpp', 'pch.obj'
],
CPPPATH = lib_cpppath,
PCH = pch,
PCHSTOP = 'pch.h'
)
