dtl/examples/SConstruct
2021-04-04 02:42:21 +09:00

44 lines
1.9 KiB
Python

import os
# SConstruct for dtl examples
env = Environment(CPPPATH='..')
debug = ARGUMENTS.get('debug', 'n')
if debug == 'y' or debug == 'yes':
env.Append(CPPFLAGS = ['-Wall', '-g'])
else:
env.Append(CPPFLAGS = ['-Wall', '-O2'])
if os.sys.platform != "win32":
env.Append(CPPDEFINES = ['HAVE_UNISTD_H'])
conf = Configure(env);
if not conf.CheckCXX():
print("The C++ compiler is not installed!")
Exit(1)
libs = ['stdc++']
for lib in libs:
if not conf.CheckLib(lib):
print("library " + lib + " not installed!")
Exit(1)
conf.Finish()
targets = { 'strdiff' : ['strdiff.cpp', 'common.cpp'], # diff between two string sequences
'intdiff' : ['intdiff.cpp'], # diff between two integer sequences
'unidiff' : ['unidiff.cpp', 'common.cpp'], # unified diff between two files
'unistrdiff' : ['unistrdiff.cpp', 'common.cpp'], # unified diff between two strings
'bdiff' : ['bdiff.cpp', 'common.cpp'], # diff between two byte sequences
'strdiff3' : ['strdiff3.cpp', 'common.cpp'], # three-way string diff program using dtl
'intdiff3' : ['intdiff3.cpp'], # three-way integer diff program using dtl
'patch' : ['patch.cpp', 'common.cpp'], # string patch program using dtl
'fpatch' : ['fpatch.cpp', 'common.cpp'], # file patch program using dtl
'st2ses' : ['st2ses.cpp', 'common.cpp'], # convert SES format file to SES instance
'strdiff_cp' : ['strdiff_cp.cpp', 'common.cpp'], # diff between two string sequences with custom printer
'strdiff_storage' : ['strdiff_storage.cpp', 'common.cpp'], # diff between two string sequences with custom storage
}
[ env.Program(target, targets[target]) for target in targets ]