diff options
| author | Andrew Bartlett <abartlet@samba.org> | 2012-04-11 18:40:27 +1000 | 
|---|---|---|
| committer | Andrew Bartlett <abartlet@samba.org> | 2012-04-11 16:00:38 +0200 | 
| commit | c5a58c3ea708c274b11aac76e37c9f823a8579f1 (patch) | |
| tree | 975f47fa7d29645da7f8a0d5c0b8f7130d8d7a61 | |
| parent | d271bf8dc2d37453e84ceea86a5cc70bef22d6d7 (diff) | |
| download | samba-c5a58c3ea708c274b11aac76e37c9f823a8579f1.tar.gz samba-c5a58c3ea708c274b11aac76e37c9f823a8579f1.tar.bz2 samba-c5a58c3ea708c274b11aac76e37c9f823a8579f1.zip  | |
build: use include paths for pkg-config found libraries
| -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  | 
