@@ -34,16 +34,16 @@ def get_property(self, name, flag):
3434HostPkgConfig = _PkgConfig (G .HOST_PKG_CONFIG )
3535
3636
37- def _package (self , name , package , fallback , pkgconfig ):
37+ def _package (
38+ self , name , package , fallback , extra_ldflags , extra_cflags , pkgconfig
39+ ):
3840 if pkgconfig .has_package (package ):
3941 print (f"package '{ package } ' found" )
4042 cflags = pkgconfig .get_property (package , "--cflags" )
4143 ldflags = pkgconfig .get_property (package , "--libs" )
4244
43- if cflags :
44- self .args ["caller_cflags" ] = [cflags ]
45- if ldflags :
46- self .args ["caller_ldflags" ] = [ldflags ]
45+ self .args ["caller_cflags" ] = extra_cflags + [cflags ]
46+ self .args ["caller_ldflags" ] = extra_ldflags + [ldflags ]
4747 self .args ["clibrary_deps" ] = [self ]
4848 self .args ["cheader_deps" ] = [self ]
4949 self .traits .update ({"clibrary" , "cxxlibrary" })
@@ -70,13 +70,17 @@ def _package(self, name, package, fallback, pkgconfig):
7070
7171
7272@Rule
73- def package (self , name , package = None , fallback : Target = None ):
74- _package (self , name , package , fallback , TargetPkgConfig )
73+ def package (
74+ self , name , package = None , fallback : Target = None , ldflags = [], cflags = []
75+ ):
76+ _package (self , name , package , fallback , ldflags , cflags , TargetPkgConfig )
7577
7678
7779@Rule
78- def hostpackage (self , name , package = None , fallback : Target = None ):
79- _package (self , name , package , fallback , HostPkgConfig )
80+ def hostpackage (
81+ self , name , package = None , fallback : Target = None , ldflags = [], cflags = []
82+ ):
83+ _package (self , name , package , fallback , ldflags , cflags , HostPkgConfig )
8084
8185
8286def has_package (name ):
0 commit comments