summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--contrib/autoconf/module.defs4
-rw-r--r--contrib/autoconf/module.rules2
-rw-r--r--contrib/automake/module.defs4
-rw-r--r--contrib/automake/module.rules2
-rw-r--r--contrib/libtool/module.defs4
-rw-r--r--contrib/libtool/module.rules2
-rw-r--r--contrib/m4/module.defs4
-rw-r--r--contrib/m4/module.rules2
-rw-r--r--make/configure.py32
-rw-r--r--make/include/contrib.defs3
-rw-r--r--make/include/main.defs12
11 files changed, 58 insertions, 13 deletions
diff --git a/contrib/autoconf/module.defs b/contrib/autoconf/module.defs
new file mode 100644
index 000000000..c1c4140d9
--- /dev/null
+++ b/contrib/autoconf/module.defs
@@ -0,0 +1,4 @@
+$(eval $(call import.MODULE.defs,AUTOCONF,autoconf,M4))
+$(eval $(call import.CONTRIB.defs,AUTOCONF))
+
+AUTOCONF.FETCH.url = http://download.handbrake.fr/handbrake/contrib/autoconf-2.69.tar.bz2
diff --git a/contrib/autoconf/module.rules b/contrib/autoconf/module.rules
new file mode 100644
index 000000000..3132ae5a0
--- /dev/null
+++ b/contrib/autoconf/module.rules
@@ -0,0 +1,2 @@
+$(eval $(call import.MODULE.rules,AUTOCONF))
+$(eval $(call import.CONTRIB.rules,AUTOCONF))
diff --git a/contrib/automake/module.defs b/contrib/automake/module.defs
new file mode 100644
index 000000000..e553257da
--- /dev/null
+++ b/contrib/automake/module.defs
@@ -0,0 +1,4 @@
+$(eval $(call import.MODULE.defs,AUTOMAKE,automake,AUTOCONF))
+$(eval $(call import.CONTRIB.defs,AUTOMAKE))
+
+AUTOMAKE.FETCH.url = http://download.handbrake.fr/handbrake/contrib/automake-1.12.3.tar.bz2
diff --git a/contrib/automake/module.rules b/contrib/automake/module.rules
new file mode 100644
index 000000000..a33554e9c
--- /dev/null
+++ b/contrib/automake/module.rules
@@ -0,0 +1,2 @@
+$(eval $(call import.MODULE.rules,AUTOMAKE))
+$(eval $(call import.CONTRIB.rules,AUTOMAKE))
diff --git a/contrib/libtool/module.defs b/contrib/libtool/module.defs
new file mode 100644
index 000000000..492a36e70
--- /dev/null
+++ b/contrib/libtool/module.defs
@@ -0,0 +1,4 @@
+$(eval $(call import.MODULE.defs,LIBTOOL,libtool,AUTOCONF AUTOMAKE))
+$(eval $(call import.CONTRIB.defs,LIBTOOL))
+
+LIBTOOL.FETCH.url = http://download.handbrake.fr/handbrake/contrib/libtool-2.4.2.tar.bz2
diff --git a/contrib/libtool/module.rules b/contrib/libtool/module.rules
new file mode 100644
index 000000000..875b4594e
--- /dev/null
+++ b/contrib/libtool/module.rules
@@ -0,0 +1,2 @@
+$(eval $(call import.MODULE.rules,LIBTOOL))
+$(eval $(call import.CONTRIB.rules,LIBTOOL))
diff --git a/contrib/m4/module.defs b/contrib/m4/module.defs
new file mode 100644
index 000000000..1fd5b0aa4
--- /dev/null
+++ b/contrib/m4/module.defs
@@ -0,0 +1,4 @@
+$(eval $(call import.MODULE.defs,M4,m4))
+$(eval $(call import.CONTRIB.defs,M4))
+
+M4.FETCH.url = http://download.handbrake.fr/handbrake/contrib/m4-1.4.16.tar.bz2
diff --git a/contrib/m4/module.rules b/contrib/m4/module.rules
new file mode 100644
index 000000000..69c279563
--- /dev/null
+++ b/contrib/m4/module.rules
@@ -0,0 +1,2 @@
+$(eval $(call import.MODULE.rules,M4))
+$(eval $(call import.CONTRIB.rules,M4))
diff --git a/make/configure.py b/make/configure.py
index ed78d026d..b6fe3b60c 100644
--- a/make/configure.py
+++ b/make/configure.py
@@ -1111,6 +1111,8 @@ def createCLI():
h = IfHost( 'Build and use local yasm', '*-*-*', none=optparse.SUPPRESS_HELP ).value
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 )
cli.add_option_group( grp )
@@ -1269,15 +1271,18 @@ try:
else:
gmake = ToolProbe( 'GMAKE.exe', 'gmake', 'make' )
- m4 = ToolProbe( 'M4.exe', 'm4' )
- mkdir = ToolProbe( 'MKDIR.exe', 'mkdir' )
- patch = ToolProbe( 'PATCH.exe', 'gpatch', 'patch' )
- rm = ToolProbe( 'RM.exe', 'rm' )
- ranlib = ToolProbe( 'RANLIB.exe', 'ranlib' )
- strip = ToolProbe( 'STRIP.exe', 'strip' )
- tar = ToolProbe( 'TAR.exe', 'gtar', 'tar' )
- wget = ToolProbe( 'WGET.exe', 'wget', abort=False )
- yasm = ToolProbe( 'YASM.exe', 'yasm', abort=False )
+ m4 = ToolProbe( 'M4.exe', 'm4' )
+ mkdir = ToolProbe( 'MKDIR.exe', 'mkdir' )
+ patch = ToolProbe( 'PATCH.exe', 'gpatch', 'patch' )
+ rm = ToolProbe( 'RM.exe', 'rm' )
+ ranlib = ToolProbe( 'RANLIB.exe', 'ranlib' )
+ strip = ToolProbe( 'STRIP.exe', 'strip' )
+ tar = ToolProbe( 'TAR.exe', 'gtar', 'tar' )
+ wget = ToolProbe( 'WGET.exe', 'wget', abort=False )
+ yasm = ToolProbe( 'YASM.exe', 'yasm', abort=False )
+ autoconf = ToolProbe( 'AUTOCONF.exe', 'autoconf', abort=False )
+ automake = ToolProbe( 'AUTOMAKE.exe', 'automake', abort=False )
+ libtool = ToolProbe( 'LIBTOOL.exe', 'libtool', abort=False )
xcodebuild = ToolProbe( 'XCODEBUILD.exe', 'xcodebuild', abort=False )
lipo = ToolProbe( 'LIPO.exe', 'lipo', abort=False )
@@ -1335,9 +1340,13 @@ try:
action.run()
## enable local yasm when yasm probe fails
- if Tools.yasm.fail and not options.enable_local_yasm:
+ if not options.enable_local_yasm and Tools.yasm.fail:
options.enable_local_yasm = True
+ ## enable local autotools when any of { autoconf, automake, libtool } probe fails
+ if not options.enable_local_autotools and (Tools.autoconf.fail or Tools.automake.fail or Tools.libtool.fail):
+ options.enable_local_autotools = True
+
if build.system == 'mingw':
dlfcn_test = """
#include <dlfcn.h>
@@ -1499,7 +1508,8 @@ int main ()
doc.add( 'PREFIX/', cfg.prefix_final + os.sep )
doc.addBlank()
- doc.add( 'FEATURE.local_yasm', int( options.enable_local_yasm ) )
+ doc.add( 'FEATURE.local_yasm', int( options.enable_local_yasm ))
+ doc.add( 'FEATURE.local_autotools', int( options.enable_local_autotools ))
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 ))
diff --git a/make/include/contrib.defs b/make/include/contrib.defs
index 9dfddea6e..963e98226 100644
--- a/make/include/contrib.defs
+++ b/make/include/contrib.defs
@@ -19,7 +19,8 @@ define import.CONTRIB.defs
##
$(1).src/ = $$(SRC/)contrib/$($(1).name)/
$(1).build/ = $$(CONTRIB.build/)$($(1).name)/
- $(1).deps = $$(foreach n,$($(1).prerequisites),$$($$n.INSTALL.target))
+ ## add prerequisites and autotool modules for all contribs
+ $(1).deps = $$(foreach n,$($(1).prerequisites) $(if $(filter $1,$(AUTOTOOL_MODULES)),,$(AUTOTOOL_MODULES)),$$($$n.INSTALL.target))
##
## target: fetch
diff --git a/make/include/main.defs b/make/include/main.defs
index df81a0fda..ff6e73f2a 100644
--- a/make/include/main.defs
+++ b/make/include/main.defs
@@ -8,6 +8,17 @@ include $(SRC/)make/include/tool.defs
###############################################################################
+ifeq (1,$(FEATURE.local_autotools))
+ MODULES += contrib/autoconf
+ MODULES += contrib/automake
+ MODULES += contrib/libtool
+ MODULES += contrib/m4
+ AUTOTOOL_MODULES = AUTOCONF AUTOMAKE LIBTOOL M4
+ PATH := $(call fn.ABSOLUTE,$(CONTRIB.build/)bin):$(PATH)
+else
+ AUTOTOOL_MODULES =
+endif
+
MODULES += contrib/a52dec
ifneq (,$(filter $(BUILD.system),cygwin mingw))
@@ -20,7 +31,6 @@ ifneq (,$(filter $(BUILD.system),darwin cygwin mingw))
MODULES += contrib/fribidi
endif
-
MODULES += contrib/faac
MODULES += contrib/ffmpeg
MODULES += contrib/fontconfig