From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Petazzoni Date: Thu, 15 Nov 2018 16:21:06 +0100 Subject: [Buildroot] [PATCH next 1/2] package/apr-util: fix build with per-package folders In-Reply-To: <20181115152107.5834-1-thomas.petazzoni@bootlin.com> References: <20181115152107.5834-1-thomas.petazzoni@bootlin.com> Message-ID: <20181115152107.5834-2-thomas.petazzoni@bootlin.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net With per-package folder support enable, the build of apr-util fails, for two reasons: - The rules.mk file is generated by the 'apr' package, and then copied into the 'apr-util' source directory. This is done by the 'apr-util' build process. Unfortunately, this rules.mk file has a number of hardcoded paths: to the compiler and to the libtool script. Due to this, the compiler from the 'apr' per-package folder gets used. But this compiler uses the 'apr' package sysroot, which does not have all the dependencies of the 'apr-util' package, causing the build to fail because is not found. - Similarly, the libtool script itself has some hardcoded paths, which make it use the compiler/linker from the 'apr' per-package folder, so it does not find the expat library. We fix both issues by doing the necessary replacement in both rules.mk and libtool. For rules.mk, since it's in the source directoryt, we can do the replacement in-place. For libtool, since it's hard-linked between the 'apr' copy and the 'apr-util' copy, we need to make a temporary copy to break the hard link and do the replacement. Signed-off-by: Thomas Petazzoni --- package/apr-util/apr-util.mk | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/package/apr-util/apr-util.mk b/package/apr-util/apr-util.mk index b006964ccb..e685f76838 100644 --- a/package/apr-util/apr-util.mk +++ b/package/apr-util/apr-util.mk @@ -15,6 +15,15 @@ APR_UTIL_CONF_OPTS = \ --with-apr=$(STAGING_DIR)/usr/bin/apr-1-config APR_UTIL_CONFIG_SCRIPTS = apu-1-config +define APR_UTIL_FIX_RULES_MK_LIBTOOL + $(SED) 's,$(PER_PACKAGE_DIR)/apr/,$(PER_PACKAGE_DIR)/apr-util/,g' $(@D)/build/rules.mk + cp $(STAGING_DIR)/usr/build-1/libtool $(STAGING_DIR)/usr/build-1/libtool.fixed + $(SED) 's,$(PER_PACKAGE_DIR)/apr/,$(PER_PACKAGE_DIR)/apr-util/,g' \ + $(STAGING_DIR)/usr/build-1/libtool.fixed + mv $(STAGING_DIR)/usr/build-1/libtool.fixed $(STAGING_DIR)/usr/build-1/libtool +endef +APR_UTIL_POST_CONFIGURE_HOOKS += APR_UTIL_FIX_RULES_MK_LIBTOOL + # When iconv is available, then use it to provide charset conversion # features. APR_UTIL_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBICONV),libiconv) -- 2.19.1