+# SPDX-License-Identifier: GPL-2.0-only
#
-# Copyright (C) 2007-2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
+# Copyright (C) 2007-2020 OpenWrt.org
+
+ifneq ($(__autotools_inc),1)
+__autotools_inc=1
autoconf_bool = $(patsubst %,$(if $($(1)),--enable,--disable)-%,$(2))
LIBTOOLIZE=$(STAGING_DIR_HOST)/bin/libtoolize \
LIBTOOL=$(STAGING_DIR_HOST)/bin/libtool \
M4=$(STAGING_DIR_HOST)/bin/m4 \
- AUTOPOINT=true
+ AUTOPOINT=true \
+ GTKDOCIZE=true
+
+AM_TOOL_PATHS_FAKE:=$(subst = ,=,$(patsubst "%,"$(TRUE)",$(subst =,= ",$(AM_TOOL_PATHS))))
# 1: build dir
# 2: remove files
$(patsubst %,rm -f %;,$(2)) \
$(foreach p,$(3), \
if [ -f $(p)/configure.ac ] || [ -f $(p)/configure.in ]; then \
- [ -d $(p)/autom4te.cache ] && rm -rf autom4te.cache; \
+ [ -d $(p)/autom4te.cache ] && rm -rf $(p)/autom4te.cache; \
[ -e $(p)/config.rpath ] || \
ln -s $(SCRIPT_DIR)/config.rpath $(p)/config.rpath; \
touch NEWS AUTHORS COPYING ABOUT-NLS ChangeLog; \
- $(AM_TOOL_PATHS) $(STAGING_DIR_HOST)/bin/autoreconf -v -f -i -s \
+ $(AM_TOOL_PATHS) \
+ LIBTOOLIZE='$(STAGING_DIR_HOST)/bin/libtoolize --install' \
+ $(STAGING_DIR_HOST)/bin/autoreconf -v -f -i -s \
$(if $(word 2,$(3)),--no-recursive) \
-B $(STAGING_DIR_HOST)/share/aclocal \
$(patsubst %,-I %,$(5)) \
);
endef
+define set_libtool_abiver
+ sed -i \
+ -e 's,^soname_spec=.*,soname_spec="\\$$$${libname}\\$$$${shared_ext}.$(PKG_ABI_VERSION)",' \
+ -e 's,^library_names_spec=.*,library_names_spec="\\$$$${libname}\\$$$${shared_ext}.$(PKG_ABI_VERSION) \\$$$${libname}\\$$$${shared_ext}",' \
+ $(PKG_BUILD_DIR)/libtool
+endef
PKG_LIBTOOL_PATHS?=$(CONFIGURE_PATH)
PKG_AUTOMAKE_PATHS?=$(CONFIGURE_PATH)
$(strip $(call autoreconf, \
$(PKG_BUILD_DIR), $(PKG_REMOVE_FILES), \
$(PKG_AUTOMAKE_PATHS), $(PKG_LIBTOOL_PATHS), \
- $(STAGING_DIR)/host/share/aclocal $(STAGING_DIR)/usr/share/aclocal $(PKG_MACRO_PATHS)))
+ $(STAGING_DIR)/host/share/aclocal $(STAGING_DIR_HOSTPKG)/share/aclocal $(STAGING_DIR)/usr/share/aclocal $(PKG_MACRO_PATHS)))
endef
define patch_libtool_target
define gettext_version_target
(cd $(PKG_BUILD_DIR) && \
- GETTEXT_VERSION=$(shell $(STAGING_DIR_HOSTPKG)/bin/gettext -V | $(STAGING_DIR_HOST)/bin/sed -ne '1s/.*\([0-9]\.[0-9]\{2\}\.[0-9]\).*/\1/p' ) && \
+ GETTEXT_VERSION=$(shell $(STAGING_DIR_HOSTPKG)/bin/gettext -V | $(STAGING_DIR_HOST)/bin/sed -rne '1s/.*\b([0-9]\.[0-9]+(\.[0-9]+)?)\b.*/\1/p' ) && \
$(STAGING_DIR_HOST)/bin/sed \
-i $(PKG_BUILD_DIR)/configure.ac \
-e "s/AM_GNU_GETTEXT_VERSION(.*)/AM_GNU_GETTEXT_VERSION(\[$$$$GETTEXT_VERSION\])/g" && \
endif
ifneq ($(filter libtool,$(PKG_FIXUP)),)
- PKG_BUILD_DEPENDS += libtool libintl libiconv
+ PKG_BUILD_DEPENDS += libtool
ifeq ($(filter no-autoreconf,$(PKG_FIXUP)),)
Hooks/Configure/Pre += autoreconf_target
endif
endif
-ifneq ($(filter libtool-ucxx,$(PKG_FIXUP)),)
- PKG_BUILD_DEPENDS += libtool libintl libiconv
- ifeq ($(filter no-autoreconf,$(PKG_FIXUP)),)
- Hooks/Configure/Pre += autoreconf_target
- endif
+ifneq ($(filter libtool-abiver,$(PKG_FIXUP)),)
+ Hooks/Configure/Post += set_libtool_abiver
endif
ifneq ($(filter autoreconf,$(PKG_FIXUP)),)
$(HOST_BUILD_DIR)))
endef
-ifneq ($(filter patch-libtool,$(PKG_FIXUP)),)
- Hooks/HostConfigure/Pre += patch_libtool_host
-endif
-
ifneq ($(filter patch-libtool,$(HOST_FIXUP)),)
- Hooks/HostConfigure/Pre += $(strip $(call patch_libtool,$(HOST_BUILD_DIR)))
+ Hooks/HostConfigure/Pre += patch_libtool_host
endif
ifneq ($(filter libtool,$(HOST_FIXUP)),)
endif
endif
-ifneq ($(filter libtool-ucxx,$(HOST_FIXUP)),)
- ifeq ($(filter no-autoreconf,$(HOST_FIXUP)),)
- Hooks/HostConfigure/Pre += autoreconf_host
- endif
-endif
-
ifneq ($(filter autoreconf,$(HOST_FIXUP)),)
ifeq ($(filter autoreconf,$(Hooks/HostConfigure/Pre)),)
Hooks/HostConfigure/Pre += autoreconf_host
endif
endif
+
+endif #__autotools_inc