diff options
-rw-r--r-- | buildtools/wafsamba/samba3.py | 20 | ||||
-rw-r--r-- | buildtools/wafsamba/samba_autoconf.py | 16 | ||||
-rw-r--r-- | buildtools/wafsamba/samba_deps.py | 2 |
3 files changed, 23 insertions, 15 deletions
diff --git a/buildtools/wafsamba/samba3.py b/buildtools/wafsamba/samba3.py index afdf99ae0b..dc23065905 100644 --- a/buildtools/wafsamba/samba3.py +++ b/buildtools/wafsamba/samba3.py @@ -60,32 +60,32 @@ def s3_fix_kwargs(bld, kwargs): if bld.CONFIG_SET('BUILD_TDB2'): if bld.CONFIG_SET('USING_SYSTEM_TDB2'): - (tdb2_includes, tdb2_ldflags) = library_flags(bld, 'tdb') - extra_includes += tdb2_includes + (tdb2_includes, tdb2_ldflags, tdb2_cpppath) = library_flags(bld, 'tdb') + extra_includes += tdb2_cpppath else: extra_includes += [ '../lib/tdb2' ] else: if bld.CONFIG_SET('USING_SYSTEM_TDB'): - (tdb_includes, tdb_ldflags) = library_flags(bld, 'tdb') - extra_includes += tdb_includes + (tdb_includes, tdb_ldflags, tdb_cpppath) = library_flags(bld, 'tdb') + extra_includes += tdb_cpppath else: extra_includes += [ '../lib/tdb/include' ] if bld.CONFIG_SET('USING_SYSTEM_TEVNT'): - (tevent_includes, tevent_ldflags) = library_flags(bld, 'tevent') - extra_includes += tevent_includes + (tevent_includes, tevent_ldflags, tevent_cpppath) = library_flags(bld, 'tevent') + extra_includes += tevent_cpppath else: extra_includes += [ '../lib/tevent' ] if bld.CONFIG_SET('USING_SYSTEM_TALLOC'): - (talloc_includes, talloc_ldflags) = library_flags(bld, 'talloc') - extra_includes += talloc_includes + (talloc_includes, talloc_ldflags, talloc_cpppath) = library_flags(bld, 'talloc') + extra_includes += talloc_cpppath else: extra_includes += [ '../lib/talloc' ] if bld.CONFIG_SET('USING_SYSTEM_POPT'): - (popt_includes, popt_ldflags) = library_flags(bld, 'popt') - extra_includes += popt_includes + (popt_includes, popt_ldflags, popt_cpppath) = library_flags(bld, 'popt') + extra_includes += popt_cpppath else: extra_includes += [ '../lib/popt' ] diff --git a/buildtools/wafsamba/samba_autoconf.py b/buildtools/wafsamba/samba_autoconf.py index 08df2b3c2f..4da5df86a0 100644 --- a/buildtools/wafsamba/samba_autoconf.py +++ b/buildtools/wafsamba/samba_autoconf.py @@ -92,7 +92,7 @@ def CHECK_HEADER(conf, h, add_headers=False, lib=None): conf.env.hlist.append(h) return True - (ccflags, ldflags) = library_flags(conf, lib) + (ccflags, ldflags, cpppath) = library_flags(conf, lib) hdrs = hlist_to_string(conf, headers=h) if lib is None: @@ -101,6 +101,7 @@ def CHECK_HEADER(conf, h, add_headers=False, lib=None): type='nolink', execute=0, ccflags=ccflags, + includes=cpppath, uselib=lib.upper(), msg="Checking for header %s" % h) if not ret: @@ -371,7 +372,10 @@ def CHECK_CODE(conf, code, define, uselib = TO_LIST(lib) - (ccflags, ldflags) = library_flags(conf, uselib) + (ccflags, ldflags, cpppath) = library_flags(conf, uselib) + + includes = TO_LIST(includes) + includes.extend(cpppath) uselib = [l.upper() for l in uselib] @@ -472,20 +476,24 @@ def library_flags(self, libs): '''work out flags from pkg_config''' ccflags = [] ldflags = [] + cpppath = [] for lib in TO_LIST(libs): # note that we do not add the -I and -L in here, as that is added by the waf # core. Adding it here would just change the order that it is put on the link line # which can cause system paths to be added before internal libraries extra_ccflags = TO_LIST(getattr(self.env, 'CCFLAGS_%s' % lib.upper(), [])) extra_ldflags = TO_LIST(getattr(self.env, 'LDFLAGS_%s' % lib.upper(), [])) + extra_cpppath = TO_LIST(getattr(self.env, 'CPPPATH_%s' % lib.upper(), [])) ccflags.extend(extra_ccflags) ldflags.extend(extra_ldflags) + cpppath.extend(extra_cpppath) if 'EXTRA_LDFLAGS' in self.env: ldflags.extend(self.env['EXTRA_LDFLAGS']) ccflags = unique_list(ccflags) ldflags = unique_list(ldflags) - return (ccflags, ldflags) + cpppath = unique_list(cpppath) + return (ccflags, ldflags, cpppath) @conf @@ -509,7 +517,7 @@ int foo() ret.append(lib) continue - (ccflags, ldflags) = library_flags(conf, lib) + (ccflags, ldflags, cpppath) = library_flags(conf, lib) if shlib: res = conf.check(features='cc cshlib', fragment=fragment, lib=lib, uselib_store=lib, ccflags=ccflags, ldflags=ldflags, uselib=lib.upper()) else: diff --git a/buildtools/wafsamba/samba_deps.py b/buildtools/wafsamba/samba_deps.py index d342f0b22f..ed2169b32a 100644 --- a/buildtools/wafsamba/samba_deps.py +++ b/buildtools/wafsamba/samba_deps.py @@ -80,7 +80,7 @@ def build_dependencies(self): # extra link flags from pkg_config libs = self.final_syslibs.copy() - (ccflags, ldflags) = library_flags(self, list(libs)) + (ccflags, ldflags, cpppath) = library_flags(self, list(libs)) new_ldflags = getattr(self, 'samba_ldflags', [])[:] new_ldflags.extend(ldflags) self.ldflags = new_ldflags |