8e1b064dae673f4b5b444ab25fbd2904c30e561d
[anna.git] / example / diameter / launcher / SConscript
1 import os
2 Import ('env')
3
4 # Process #################################################################
5 #pName = "example_<module>_<process>"
6 bnames = Dir('..').abspath.rsplit('/', 2)
7 pName = "example_" + bnames[-2] + "_" + bnames[-1]
8 pPath = pName.replace("_", "/") + "/"
9
10 # Anna modules ############################################################
11 pwd = str(Dir ('.').abspath);
12 anna_libpaths = []
13 anna_libs = []
14
15 modules = [ 'core', 'io', 'xml', 'app', 'http', 'comm', 'timex', 'http', 'statistics', 'time', 'diameter', 'diameter_comm', 'testing' ];
16 for module in modules:
17   anna_libs.append ("anna_" + module)
18   module = module.replace("_", ".")
19   anna_libpaths.append (pwd.replace (pPath, ("source/" + module + "/")))
20
21 # dynamic lib:
22 anna_libs.append ("anna_dynamicLauncherProcedure")
23 variant = env ['VARIANT']
24 dynamic_libpath = os.path.join (pwd, "../../../../dynamic/launcher/default/" + variant)
25 anna_libpaths.append (dynamic_libpath)
26
27 anna_rlibs = list(anna_libs)
28 anna_rlibs.reverse()
29
30 # Libraries ###############################################################
31 # To avoid other libraries accumulation:
32 localEnv = env.Clone()
33
34 anna_library = { 'LIBS' : anna_rlibs }
35 localEnv.MergeFlags (anna_library)
36
37 system_library = { 'LIBS' : [ 'xml2', 'rt', 'pthread' ] }
38 localEnv.MergeFlags (system_library)
39
40 localEnv.Append(LIBPATH = anna_libpaths)
41
42
43 # Linking #################################################################
44
45 # Process includes:
46 current_directory = Dir ('.').abspath
47 dynamic_include = os.path.join (pwd, "../../../../dynamic/launcher/default/")
48 localEnv.Append (CPPPATH = [current_directory, dynamic_include])
49
50 result = localEnv.Program (pName, Glob ('*.cpp'))
51 Return ('result')