2 # Copyright (C) 2007-2011 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 autoconf_bool
= $(patsubst %,$(if
$($(1)),--enable
,--disable
)-%,$(2))
10 # delete *.la-files from staging_dir - we can not yet remove respective lines within all package
11 # Makefiles, since backfire still uses libtool v1.5.x which (may) require those files
12 define libtool_remove_files
13 find
$(1) -name
'*.la' |
$(XARGS
) rm -f
;
18 AUTOM4TE
=$(STAGING_DIR_HOST
)/bin
/autom4te \
19 AUTOCONF
=$(STAGING_DIR_HOST
)/bin
/autoconf \
20 AUTOMAKE
=$(STAGING_DIR_HOST
)/bin
/automake \
21 ACLOCAL
=$(STAGING_DIR_HOST
)/bin
/aclocal \
22 AUTOHEADER
=$(STAGING_DIR_HOST
)/bin
/autoheader \
23 LIBTOOLIZE
=$(STAGING_DIR_HOST
)/bin
/libtoolize \
24 LIBTOOL
=$(STAGING_DIR_HOST
)/bin
/libtool \
25 M4
=$(STAGING_DIR_HOST
)/bin
/m4 \
35 $(patsubst %,rm -f
%;,$(2)) \
37 if
[ -f
$(p
)/configure.ac
] ||
[ -f
$(p
)/configure.in
]; then \
38 [ -d
$(p
)/autom4te.cache
] && rm -rf autom4te.cache
; \
39 touch NEWS AUTHORS COPYING ChangeLog
; \
40 $(AM_TOOL_PATHS
) $(STAGING_DIR_HOST
)/bin
/autoreconf
-v
-f
-i
-s \
41 $(if
$(word 2,$(3)),--no-recursive
) \
42 -B
$(STAGING_DIR_HOST
)/share
/aclocal \
43 $(patsubst %,-I
%,$(5)) \
44 $(patsubst %,-I
%,$(4)) $(4) || true
; \
45 [ -e
$(p
)/config.rpath
] || \
46 ln
-s
$(SCRIPT_DIR
)/config.rpath
$(p
)/config.rpath
;
55 for lt in
$$$$($$(STAGING_DIR_HOST
)/bin
/find .
-name ltmain.sh
); do \
56 lt_version
="$$$$($$(STAGING_DIR_HOST)/bin/sed -ne 's,^[[:space:]]*VERSION=\([0-9]\.[0-9]\+\).*,\1,p' $$$$lt)"; \
57 case
"$$$$lt_version" in \
58 1.5|
2.2|
2.4) echo
"autotools.mk: Found libtool v$$$$lt_version - applying patch to $$$$lt"; \
59 (cd
$$$$(dirname
$$$$lt) && $$(PATCH
) -N
-s
-p1
< $$(TOPDIR
)/tools
/libtool
/files
/libtool-v
$$$$lt_version.patch || true
) ;; \
60 *) echo
"autotools.mk: error: Unsupported libtool version v$$$$lt_version - cannot patch $$$$lt"; exit
1 ;; \
67 PKG_LIBTOOL_PATHS?
=$(CONFIGURE_PATH
)
68 PKG_AUTOMAKE_PATHS?
=$(CONFIGURE_PATH
)
70 PKG_REMOVE_FILES?
=aclocal.m4
72 Hooks
/InstallDev
/Post
+= libtool_remove_files
74 define autoreconf_target
75 $(strip $(call autoreconf
, \
76 $(PKG_BUILD_DIR
), $(PKG_REMOVE_FILES
), \
77 $(PKG_AUTOMAKE_PATHS
), $(PKG_LIBTOOL_PATHS
), \
78 $(STAGING_DIR
)/host
/share
/aclocal
$(STAGING_DIR
)/usr
/share
/aclocal
$(PKG_MACRO_PATHS
)))
81 define patch_libtool_target
82 $(strip $(call patch_libtool
, \
86 ifneq ($(filter patch-libtool
,$(PKG_FIXUP
)),)
87 Hooks
/Configure
/Pre
+= patch_libtool_target
90 ifneq ($(filter libtool
,$(PKG_FIXUP
)),)
91 PKG_BUILD_DEPENDS
+= libtool libintl libiconv
92 ifeq ($(filter no-autoreconf
,$(PKG_FIXUP
)),)
93 Hooks
/Configure
/Pre
+= autoreconf_target
97 ifneq ($(filter libtool-ucxx
,$(PKG_FIXUP
)),)
98 PKG_BUILD_DEPENDS
+= libtool libintl libiconv
99 ifeq ($(filter no-autoreconf
,$(PKG_FIXUP
)),)
100 Hooks
/Configure
/Pre
+= autoreconf_target
104 ifneq ($(filter autoreconf
,$(PKG_FIXUP
)),)
105 ifeq ($(filter autoreconf
,$(Hooks
/Configure
/Pre
)),)
106 Hooks
/Configure
/Pre
+= autoreconf_target
111 HOST_FIXUP?
=$(PKG_FIXUP
)
112 HOST_LIBTOOL_PATHS?
=$(if
$(PKG_LIBTOOL_PATHS
),$(PKG_LIBTOOL_PATHS
),.
)
113 HOST_AUTOMAKE_PATHS?
=$(if
$(PKG_AUTOMAKE_PATHS
),$(PKG_AUTOMAKE_PATHS
),.
)
114 HOST_MACRO_PATHS?
=$(if
$(PKG_MACRO_PATHS
),$(PKG_MACRO_PATHS
),m4
)
115 HOST_REMOVE_FILES?
=$(PKG_REMOVE_FILES
)
117 define autoreconf_host
118 $(strip $(call autoreconf
, \
119 $(HOST_BUILD_DIR
), $(HOST_REMOVE_FILES
), \
120 $(HOST_AUTOMAKE_PATHS
), $(HOST_LIBTOOL_PATHS
), \
121 $(HOST_MACRO_PATHS
)))
124 define patch_libtool_host
125 $(strip $(call patch_libtool
, \
129 ifneq ($(filter patch-libtool
,$(PKG_FIXUP
)),)
130 Hooks
/HostConfigure
/Pre
+= patch_libtool_host
133 ifneq ($(filter patch-libtool
,$(HOST_FIXUP
)),)
134 Hooks
/HostConfigure
/Pre
+= $(strip $(call patch_libtool
,$(HOST_BUILD_DIR
)))
137 ifneq ($(filter libtool
,$(HOST_FIXUP
)),)
138 ifeq ($(filter no-autoreconf
,$(HOST_FIXUP
)),)
139 Hooks
/HostConfigure
/Pre
+= autoreconf_host
143 ifneq ($(filter libtool-ucxx
,$(HOST_FIXUP
)),)
144 ifeq ($(filter no-autoreconf
,$(HOST_FIXUP
)),)
145 Hooks
/HostConfigure
/Pre
+= autoreconf_host
149 ifneq ($(filter autoreconf
,$(HOST_FIXUP
)),)
150 ifeq ($(filter autoreconf
,$(Hooks
/HostConfigure
/Pre
)),)
151 Hooks
/HostConfigure
/Pre
+= autoreconf_host