/
SConscript
94 lines (80 loc) · 3.33 KB
/
SConscript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# -*- mode: python; -*-
#
#Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
#
Import('BuildEnv')
import sys
def MapBuildDir(list):
return map(lambda x: '#/' + Dir('.').path + '/../' + x, list)
env = BuildEnv.Clone()
env.Prepend(CPPPATH = env['TOP'])
env.Prepend(CPPPATH = env['TOP'] + '/dns')
env.Prepend(CPPPATH = env['TOP'] + '/dns/cmn')
env.Prepend(CPPPATH = env['TOP'] + '/ifmap')
env.Prepend(CPPPATH = env['TOP'] + '/schema')
env.Prepend(CPPPATH = env['TOP'] + '/sandesh/library')
env.Prepend(CPPPATH = env['TOP'] + '/bgp')
env.Prepend(CPPPATH = env['TOP'] + '/discovery/client')
env.Prepend(CPPPATH = env['TOP'] + '/http/client')
env.Prepend(LIBS=['ifmap_vnc', 'ifmap_server', 'ifmap_common', 'net', 'ifmapio',
'xmpp', 'ds', 'sandeshvns', 'peer_sandesh', 'table_sandesh',
'httpc', 'curl', 'process_info',
'db', 'io', 'base', 'xml', 'pugixml', 'libxml2',
'boost_regex', 'boost_chrono', 'boost_program_options',
'crypto', 'ssl',
'boost_filesystem'])
env.Prepend(LIBS=['dns_cfg', 'cmn', 'mgr', 'agent_xmpp', 'bind_interface', 'dns_uve'])
env.Append(LIBS=['sandesh', 'http', 'http_parser'])
if sys.platform != 'darwin':
env.Append(LIBS=['rt'])
libs = MapBuildDir(['base', 'db', 'ifmap', 'io', 'net', 'xml', 'schema', 'xmpp', 'bgp',
'dns/bind', 'dns/cfg', 'dns/cmn', 'dns/mgr', 'dns/agent', 'dns/uve',
'discovery/client', 'http/client'])
env.Append(LIBPATH=libs)
if sys.platform != 'darwin':
env.Prepend(LINKFLAGS =
['-Wl,--whole-archive',
'-lbase', '-lifmap_server', '-rdynamic',
'-Wl,--no-whole-archive'])
contrail_dns = env.Program(target = 'contrail-dns', source = ['main.cc'])
env.Alias('contrail-dns', contrail_dns)
env.Default(contrail_dns)
# Documentation
doc_files = []
doc_files += env['BASE_DOC_FILES']
doc_files += env['IO_DOC_FILES']
doc_files += env['DB_DOC_FILES']
doc_files += env['SANDESH_DOC_FILES']
doc_files += env['IFMAP_CLIENT_DOC_FILES']
doc_files += env['DISCOVERY_CLIENT_DOC_FILES']
doc_files += env['XMPP_DOC_FILES']
doc_files += env.SandeshGenDoc('uve/uve.sandesh')
doc_files += env.SandeshGenDoc('bind/bind.sandesh')
# Please update sandesh/common/vns.sandesh on process name change
env.Alias('install', env.Install(env['INSTALL_BIN'], contrail_dns))
env.Alias('install', env.Install(env['INSTALL_CONF'] + '/dns', 'contrail-dns.conf'))
env.Alias('install', env.Install(env['INSTALL_CONF'] +
'/supervisord_control_files/', 'contrail-dns.ini'))
env.Alias('install', env.Install(env['INSTALL_CONF'] +
'/supervisord_control_files/', 'contrail-named.ini'))
env.Alias('install', env.InstallAs(env['INSTALL_INITD'] +
'/contrail-dns', 'contrail-dns.initd.supervisord'))
env.Alias('install', env.InstallAs(env['INSTALL_INITD'] +
'/contrail-named', 'contrail-named.initd.supervisord'))
env.Alias('install', env.Install(env['INSTALL_MESSAGE_DOC'] +
'/contrail-dns/', doc_files))
DnsEnv = env.Clone()
DnsEnv.CppDisableExceptions()
Export('DnsEnv')
subdirs = [
'agent',
'bind',
'cfg',
'cmn',
'mgr',
'uve',
'test',
'scripts',
]
for dir in subdirs:
env.SConscript(dir + '/SConscript', exports='DnsEnv', duplicate=0)