]> granicus.if.org Git - handbrake/commitdiff
build: use a local version of pkg-config when necessary (Darwin-only).
authorRodeo <tdskywalker@gmail.com>
Fri, 7 Feb 2014 19:21:19 +0000 (19:21 +0000)
committerRodeo <tdskywalker@gmail.com>
Fri, 7 Feb 2014 19:21:19 +0000 (19:21 +0000)
Automatically enabled when pkg-config detection fails, and can
be forced with the --enable-local-pkgconfig configure option.

git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6019 b64f7644-9d1e-0410-96f1-a4d463321fa5

contrib/libbluray/module.defs
contrib/libdvdnav/module.defs
contrib/libdvdread/module.defs
contrib/pkgconfig/module.defs [new file with mode: 0644]
contrib/pkgconfig/module.rules [new file with mode: 0644]
make/configure.py
make/include/main.defs

index 6c1c0f1953e6fa17580168882484ca2bc4d196cc..5a7b610e35ab7a7c1d10d7fec0e439958006d2a1 100644 (file)
@@ -1,5 +1,4 @@
-__deps__ := LIBXML2 FREETYPE
-$(eval $(call import.MODULE.defs,LIBBLURAY,libbluray,$(__deps__)))
+$(eval $(call import.MODULE.defs,LIBBLURAY,libbluray,PKGCONFIG LIBXML2 FREETYPE))
 $(eval $(call import.CONTRIB.defs,LIBBLURAY))
 
 LIBBLURAY.FETCH.url = http://download.handbrake.fr/handbrake/contrib/libbluray-0.5.0.tar.bz2
@@ -15,3 +14,8 @@ ifeq (none,$(LIBBLURAY.GCC.O))
 endif
 
 LIBBLURAY.CONFIGURE.extra += --disable-examples
+
+ifeq (1,$(FEATURE.local_pkgconfig))
+    LIBBLURAY.CONFIGURE.env = PATH="$(call fn.ABSOLUTE,$(CONTRIB.build/)bin):$(PATH)"
+    LIBBLURAY.BUILD.env     = PATH="$(call fn.ABSOLUTE,$(CONTRIB.build/)bin):$(PATH)"
+endif
index 0e22d2919b70e3429e093bac1229b0c9df8bef67..697e89988d8eadda9f01e0a41672272a9c1896cc 100644 (file)
@@ -1,4 +1,4 @@
-$(eval $(call import.MODULE.defs,LIBDVDNAV,libdvdnav,LIBDVDREAD))
+$(eval $(call import.MODULE.defs,LIBDVDNAV,libdvdnav,PKGCONFIG LIBDVDREAD))
 $(eval $(call import.CONTRIB.defs,LIBDVDNAV))
 
 LIBDVDNAV.FETCH.url = http://download.handbrake.fr/handbrake/contrib/libdvdnav-a5c1325.tar.bz2
@@ -6,3 +6,8 @@ LIBDVDNAV.FETCH.url = http://download.handbrake.fr/handbrake/contrib/libdvdnav-a
 ifneq (max,$(LIBDVDNAV.GCC.g))
     LIBDVDNAV.GCC.D += NDEBUG
 endif
+
+ifeq (1,$(FEATURE.local_pkgconfig))
+    LIBDVDNAV.CONFIGURE.env = PATH="$(call fn.ABSOLUTE,$(CONTRIB.build/)bin):$(PATH)"
+    LIBDVDNAV.BUILD.env     = PATH="$(call fn.ABSOLUTE,$(CONTRIB.build/)bin):$(PATH)"
+endif
index 3dcfc8892f166f48d3bdad650911f8d800af9f89..8efbc31cedfed4dd8e5fbbb475308f1a353b8117 100644 (file)
@@ -1,4 +1,4 @@
-$(eval $(call import.MODULE.defs,LIBDVDREAD,libdvdread))
+$(eval $(call import.MODULE.defs,LIBDVDREAD,libdvdread,PKGCONFIG))
 $(eval $(call import.CONTRIB.defs,LIBDVDREAD))
 
 LIBDVDREAD.FETCH.url = http://download.handbrake.fr/handbrake/contrib/libdvdread-a2f211a.tar.bz2
@@ -6,3 +6,8 @@ LIBDVDREAD.FETCH.url = http://download.handbrake.fr/handbrake/contrib/libdvdread
 ifeq (1-mingw,$(BUILD.cross)-$(BUILD.system))
     LIBDVDREAD.CONFIGURE.extra = --enable-dlfcn
 endif
+
+ifeq (1,$(FEATURE.local_pkgconfig))
+    LIBDVDREAD.CONFIGURE.env = PATH="$(call fn.ABSOLUTE,$(CONTRIB.build/)bin):$(PATH)"
+    LIBDVDREAD.BUILD.env     = PATH="$(call fn.ABSOLUTE,$(CONTRIB.build/)bin):$(PATH)"
+endif
diff --git a/contrib/pkgconfig/module.defs b/contrib/pkgconfig/module.defs
new file mode 100644 (file)
index 0000000..f87a343
--- /dev/null
@@ -0,0 +1,6 @@
+$(eval $(call import.MODULE.defs,PKGCONFIG,pkgconfig))
+$(eval $(call import.CONTRIB.defs,PKGCONFIG))
+
+PKGCONFIG.FETCH.url = http://download.handbrake.fr/handbrake/contrib/pkg-config-0.28.tar.bz2
+
+PKGCONFIG.CONFIGURE.extra = --with-internal-glib --disable-host-tool
diff --git a/contrib/pkgconfig/module.rules b/contrib/pkgconfig/module.rules
new file mode 100644 (file)
index 0000000..3d6747c
--- /dev/null
@@ -0,0 +1,2 @@
+$(eval $(call import.MODULE.rules,PKGCONFIG))
+$(eval $(call import.CONTRIB.rules,PKGCONFIG))
index 22bdce59fcaff0daf5e258ab3827ae13aae2a8e5..9a9285cb18279e312adffc808a83f5a8a392e265 100644 (file)
@@ -1260,6 +1260,8 @@ def createCLI():
     grp.add_option( '--enable-local-yasm', default=False, action='store_true', help=h )
     h = IfHost( 'Build and use local autotools', '*-*-*', none=optparse.SUPPRESS_HELP ).value
     grp.add_option( '--enable-local-autotools', default=False, action='store_true', help=h )
+    h = IfHost( 'Build and use local pkg-config', '*-*-darwin*', none=optparse.SUPPRESS_HELP ).value
+    grp.add_option( '--enable-local-pkgconfig', default=False, action='store_true', help=h )
 
     cli.add_option_group( grp )
 
@@ -1430,6 +1432,7 @@ try:
         autoconf = ToolProbe( 'AUTOCONF.exe', 'autoconf', abort=False )
         automake = ToolProbe( 'AUTOMAKE.exe', 'automake', abort=False )
         libtool  = ToolProbe( 'LIBTOOL.exe',  'libtool', abort=False )
+        pkgconfig = ToolProbe( 'PKGCONFIG.exe', 'pkg-config', abort=False )
 
         xcodebuild = ToolProbe( 'XCODEBUILD.exe', 'xcodebuild', abort=False )
         lipo       = ToolProbe( 'LIPO.exe',       'lipo', abort=False )
@@ -1501,6 +1504,11 @@ try:
         stdout.write( 'note: enabling local autotools\n' )
         options.enable_local_autotools = True
 
+    ## enable local pkg-config when probe fails
+    if not options.enable_local_pkgconfig and Tools.pkgconfig.fail:
+        stdout.write( 'note: enabling local pkgconfig\n' )
+        options.enable_local_pkgconfig = True
+
     if build.system == 'mingw':
         dlfcn_test = """
 #include <dlfcn.h>
@@ -1664,6 +1672,7 @@ int main ()
     doc.addBlank()
     doc.add( 'FEATURE.local_yasm', int( options.enable_local_yasm ))
     doc.add( 'FEATURE.local_autotools', int( options.enable_local_autotools ))
+    doc.add( 'FEATURE.local_pkgconfig', int( options.enable_local_pkgconfig ))
     doc.add( 'FEATURE.asm',        'disabled' )
     doc.add( 'FEATURE.gtk',        int( not options.disable_gtk ))
     doc.add( 'FEATURE.gtk.update.checks', int( not options.disable_gtk_update_checks ))
index dde127c9a99d3db598d43e1bf1b5869722b7af71..0cec07d0e09a769e8d53f9bfee2a5fcb42fdbeb5 100644 (file)
@@ -8,6 +8,10 @@ include $(SRC/)make/include/tool.defs
 
 ###############################################################################
 
+ifeq (1,$(FEATURE.local_pkgconfig))
+    MODULES += contrib/pkgconfig
+endif
+
 ifeq (1,$(FEATURE.local_autotools))
     MODULES += contrib/autoconf
     MODULES += contrib/automake