pyldb: avoid segfault when adding an element with no name
[sfrench/samba-autobuild/.git] / source4 / kdc / wscript_build
1 #!/usr/bin/env python
2
3 # We do this because we do not want to depend on the KDC, only find and use it's header files.  We do not want 
4 if not bld.CONFIG_SET("USING_SYSTEM_KDC"):
5     kdc_include = "../heimdal/kdc"
6 else:
7     kdc_include = getattr(bld.env, "CPPPATH_KDC")
8
9 if bld.CONFIG_SET('SAMBA4_USES_HEIMDAL'):
10     bld.SAMBA_MODULE('service_kdc',
11                      source='kdc-heimdal.c',
12                      subsystem='service',
13                      init_function='server_service_kdc_init',
14                      deps='''
15                           kdc
16                           HDB_SAMBA4
17                           WDC_SAMBA4
18                           samba-hostconfig
19                           com_err
20                           samba_server_gensec
21                           PAC_GLUE
22                           KDC-GLUE
23                           KDC-SERVER
24                           KPASSWD-SERVICE
25                           KPASSWD_GLUE
26                      ''',
27                      internal_module=False)
28
29 if bld.CONFIG_GET('SAMBA_USES_MITKDC'):
30     bld.SAMBA_MODULE('service_kdc',
31                      source='kdc-service-mit.c',
32                      subsystem='service',
33                      init_function='server_service_mitkdc_init',
34                      deps='''
35                           samba-hostconfig
36                           service
37                           talloc
38                           UTIL_RUNCMD
39                           MIT_KDC_IRPC
40                           KDC-SERVER
41                           KPASSWD-SERVICE
42                           com_err
43                           kadm5srv_mit
44                           kdb5
45                      ''',
46                      internal_module=False)
47
48 bld.SAMBA_LIBRARY('HDB_SAMBA4',
49                   source='hdb-samba4.c hdb-samba4-plugin.c',
50                   deps='ldb auth4_sam common_auth samba-credentials hdb db-glue samba-hostconfig com_err sdb_hdb RPC_NDR_WINBIND',
51                   includes=kdc_include,
52                   private_library=True,
53                   enabled=bld.CONFIG_SET('SAMBA4_USES_HEIMDAL')
54                   )
55
56 # A plugin for Heimdal's kadmin for users who need to operate that tool
57 bld.SAMBA_LIBRARY('HDB_SAMBA4_PLUGIN',
58                   source='hdb-samba4-plugin.c',
59                   deps='hdb HDB_SAMBA4 samba-util samba-hostconfig ',
60                   includes=kdc_include,
61                   link_name='modules/hdb/hdb_samba4.so',
62                   realname='hdb_samba4.so',
63                   install_path='${MODULESDIR}/hdb',
64                   enabled = (bld.CONFIG_SET("USING_SYSTEM_KRB5") and bld.CONFIG_SET("USING_SYSTEM_HDB"))
65                   )
66
67 bld.SAMBA_SUBSYSTEM('KDC-SERVER',
68                     source='kdc-server.c kdc-proxy.c',
69                     includes=kdc_include,
70                     deps='''
71                          krb5samba
72                          ldb
73                          LIBTSOCKET
74                          LIBSAMBA_TSOCKET
75                     ''')
76
77 kpasswd_flavor_src = 'kpasswd-service.c kpasswd-helper.c'
78 if bld.CONFIG_SET('SAMBA4_USES_HEIMDAL'):
79     kpasswd_flavor_src = kpasswd_flavor_src + ' kpasswd-service-heimdal.c'
80 elif bld.CONFIG_GET('SAMBA_USES_MITKDC'):
81     kpasswd_flavor_src = kpasswd_flavor_src + ' kpasswd-service-mit.c'
82
83 bld.SAMBA_SUBSYSTEM('KPASSWD-SERVICE',
84                     source=kpasswd_flavor_src,
85                     includes=kdc_include,
86                     deps='''
87                          krb5samba
88                          samba_server_gensec
89                          KPASSWD_GLUE
90                          ''')
91
92 bld.SAMBA_SUBSYSTEM('KDC-GLUE',
93         source='kdc-glue.c',
94         includes=kdc_include,
95         deps='hdb PAC_GLUE',
96         enabled=bld.CONFIG_SET('SAMBA4_USES_HEIMDAL')
97         )
98
99 bld.SAMBA_SUBSYSTEM('WDC_SAMBA4',
100         source='wdc-samba4.c',
101         includes=kdc_include,
102         deps='ldb auth4_sam common_auth samba-credentials hdb PAC_GLUE samba-hostconfig com_err KDC-GLUE',
103         enabled=bld.CONFIG_SET('SAMBA4_USES_HEIMDAL')
104         )
105
106 bld.SAMBA_SUBSYSTEM('sdb',
107         source='sdb.c',
108         includes=kdc_include,
109         deps='talloc krb5',
110         )
111
112 bld.SAMBA_SUBSYSTEM('sdb_hdb',
113         source='sdb_to_hdb.c',
114         includes=kdc_include,
115         deps='talloc sdb hdb',
116         autoproto='sdb_hdb.h',
117         enabled=bld.CONFIG_SET('SAMBA4_USES_HEIMDAL')
118         )
119
120 bld.SAMBA_SUBSYSTEM('sdb_kdb',
121         source='sdb_to_kdb.c',
122         includes=kdc_include,
123         deps='sdb kdb5',
124         autoproto='sdb_kdb.h',
125         enabled=bld.CONFIG_SET('HAVE_KDB_H')
126         )
127
128 bld.SAMBA_SUBSYSTEM('PAC_GLUE',
129         source='pac-glue.c',
130         includes=kdc_include,
131         deps='ldb auth4_sam common_auth samba-credentials samba-hostconfig com_err'
132         )
133
134 bld.SAMBA_LIBRARY('pac',
135         source=[],
136         deps='PAC_GLUE',
137         private_library=True,
138         grouping_library=True)
139
140
141 bld.SAMBA_LIBRARY('db-glue',
142         source='db-glue.c',
143         deps='ldb auth4_sam common_auth samba-credentials sdb samba-hostconfig com_err RPC_NDR_IRPC MESSAGING',
144         private_library=True,
145         includes=kdc_include,
146         )
147
148 bld.SAMBA_SUBSYSTEM('KPASSWD_GLUE',
149         source='kpasswd_glue.c',
150         includes=kdc_include,
151         deps='ldb com_err')
152
153 bld.SAMBA_SUBSYSTEM('MIT_KDC_IRPC',
154                     source='mit_kdc_irpc.c',
155                     deps='''
156                     ldb
157                     auth4_sam
158                     samba-credentials
159                     db-glue
160                     samba-hostconfig
161                     com_err
162                     kdb5
163                     ''',
164                     enabled=(bld.CONFIG_SET('SAMBA_USES_MITKDC') and bld.CONFIG_SET('HAVE_KDB_H'))
165                     )
166
167 bld.SAMBA_SUBSYSTEM('MIT_SAMBA',
168                     source='mit_samba.c',
169                     deps='''
170                          ldb
171                          auth4_sam
172                          common_auth
173                          samba-credentials
174                          db-glue
175                          PAC_GLUE
176                          KPASSWD_GLUE
177                          samba-hostconfig
178                          com_err
179                          sdb_kdb
180                          kdb5
181                          ''',
182                     enabled=(not bld.CONFIG_SET('SAMBA4_USES_HEIMDAL') and bld.CONFIG_SET('HAVE_KDB_H')) )
183
184 bld.SAMBA_BINARY('samba4ktutil',
185                  'ktutil.c',
186                  deps='krb5samba',
187                  install=False)
188
189 bld.RECURSE('mit-kdb')