diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2014-06-15 13:09:33 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2014-06-15 13:13:14 +0200 |
commit | bf8903fa567e5c1b5d923c6f1c0aeb1d2fd1192a (patch) | |
tree | 64691c16412c4788e2f242abeb418187231d0ec8 | |
parent | bf3ec139fd4c0996463d221478eb8ce82694e6de (diff) |
cleanup HOST_STYLE, use SYSROOT feature for pkgconf
there are three HOST_STYLE's, not set mean fully automatic installation.
auto means prefix is set to /usr and DESTDIR is set to STAGING_HOST_DIR.
When using manual, you need to provide your own targets.
Instead of using sed to modify *.pc files, use PKG_SYSROOT feature, which does
work better and avoids pathcing some pc files. Idea from sh4rm via #musl.
94 files changed, 81 insertions, 321 deletions
@@ -2,7 +2,6 @@ global: - projects dir idea - lowercase package conversion - AUTOTOOL_STYLE automatic adds autotool -- HOST_STYLE auto default toolchain stuff: - config.site/config.cache usage for speedup? diff --git a/mk/host-bottom.mk b/mk/host-bottom.mk index 8ef4a868e..84998df38 100644 --- a/mk/host-bottom.mk +++ b/mk/host-bottom.mk @@ -16,54 +16,53 @@ endif @cd ${WRKBUILD}; \ for i in $$(find . -name config.sub);do \ if [ -f $$i ]; then \ - ${CP} $$i $$i.bak; \ ${CP} ${SCRIPT_DIR}/config.sub $$i; \ fi; \ done; \ for i in $$(find . -name config.guess);do \ if [ -f $$i ]; then \ - ${CP} $$i $$i.bak; \ ${CP} ${SCRIPT_DIR}/config.guess $$i; \ fi; \ done; @${MAKE} hostpre-configure $(MAKE_TRACE) -ifneq (${HOST_STYLE},manual) -ifeq ($(strip ${HOST_STYLE}),) - cd ${WRKBUILD}; rm -f config.{cache,status}; \ +ifeq (${HOST_STYLE},) + cd ${WRKBUILD}; \ env ${HOST_CONFIGURE_ENV} \ ${BASH} ${WRKSRC}/${CONFIGURE_PROG} \ --program-prefix= \ --program-suffix= \ - --prefix=/usr \ - --bindir=/usr/bin \ - --datadir=/usr/share \ - --mandir=/usr/share/man \ - --libexecdir=/usr/libexec \ - --localstatedir=/var \ - --sysconfdir=/etc \ + --prefix=${STAGING_HOST_DIR}/usr \ + --bindir=${STAGING_HOST_DIR}/usr/bin \ + --datadir=${STAGING_HOST_DIR}/usr/share \ + --mandir=${STAGING_HOST_DIR}/usr/share/man \ + --libexecdir=${STAGING_HOST_DIR}/usr/libexec \ + --sysconfdir=${STAGING_HOST_DIR}/etc \ --disable-dependency-tracking \ --disable-libtool-lock \ --disable-nls \ ${HOST_CONFIGURE_ARGS} $(MAKE_TRACE) -else - cd ${WRKBUILD}; rm -f config.{cache,status}; \ +endif +ifeq (${HOST_STYLE},auto) + cd ${WRKBUILD}; \ env ${HOST_CONFIGURE_ENV} \ ${BASH} ${WRKSRC}/${CONFIGURE_PROG} \ --program-prefix= \ --program-suffix= \ - --prefix=${STAGING_HOST_DIR}/usr \ - --bindir=${STAGING_HOST_DIR}/usr/bin \ - --datadir=${STAGING_HOST_DIR}/usr/share \ - --mandir=${STAGING_HOST_DIR}/usr/share/man \ - --libexecdir=${STAGING_HOST_DIR}/usr/libexec \ - --sysconfdir=${STAGING_HOST_DIR}/etc \ + --prefix=/usr \ + --bindir=/usr/bin \ + --datadir=/usr/share \ + --mandir=/usr/share/man \ + --libexecdir=/usr/libexec \ + --localstatedir=/var \ + --sysconfdir=/etc \ --disable-dependency-tracking \ --disable-libtool-lock \ --disable-nls \ ${HOST_CONFIGURE_ARGS} $(MAKE_TRACE) endif -endif +ifeq (${HOST_STYLE},manual) ${MAKE} host-configure $(MAKE_TRACE) +endif touch $@ host-build: @@ -81,16 +80,15 @@ host-install: ${ALL_HOSTINST} ${_HOST_FAKE_COOKIE}: ${_HOST_BUILD_COOKIE} @$(CMD_TRACE) "host installing... " @mkdir -p ${HOST_WRKINST} -ifneq (${HOST_STYLE},manual) -ifeq ($(strip ${HOST_STYLE}),) - cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \ - DESTDIR='${HOST_WRKINST}' ${HOST_FAKE_FLAGS} ${HOST_INSTALL_TARGET} $(MAKE_TRACE) - env ${HOST_MAKE_ENV} ${MAKE} host-install $(MAKE_TRACE) -else +ifeq (${HOST_STYLE},) cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \ DESTDIR='' ${HOST_FAKE_FLAGS} ${HOST_INSTALL_TARGET} $(MAKE_TRACE) endif -else +ifeq (${HOST_STYLE},auto) + cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \ + DESTDIR='${STAGING_HOST_DIR}' ${HOST_FAKE_FLAGS} ${HOST_INSTALL_TARGET} $(MAKE_TRACE) +endif +ifeq (${HOST_STYLE},manual) env ${HOST_MAKE_ENV} ${MAKE} host-install $(MAKE_TRACE) endif env ${HOST_MAKE_ENV} ${MAKE} hostpost-install $(MAKE_TRACE) diff --git a/mk/host.mk b/mk/host.mk index 448848181..694334589 100644 --- a/mk/host.mk +++ b/mk/host.mk @@ -6,11 +6,12 @@ ifneq (,$(findstring host,$(MAKECMDGOALS))) WRKDIR?= ${HOST_BUILD_DIR}/w-${PKG_NAME}-${PKG_VERSION}-${PKG_RELEASE}-host endif -HOST_CONFIGURE_ENV+= AUTOM4TE=${STAGING_HOST_DIR}/usr/bin/autom4te \ +HOST_CONFIGURE_ENV+= PATH='${HOST_PATH}' \ + AUTOM4TE=${STAGING_HOST_DIR}/usr/bin/autom4te \ CONFIG_SHELL='$(strip ${SHELL})' \ - PKG_CONFIG_LIBDIR='${STAGING_HOST_DIR}/usr/lib/pkgconfig' \ + PKG_CONFIG_LIBDIR='${STAGING_HOST_DIR}/usr/lib/pkgconfig:${STAGING_HOST_DIR}/usr/share/pkgconfig' \ + PKG_CONFIG_SYSROOT_DIR='${STAGING_HOST_DIR}' \ PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \ - PATH='${HOST_PATH}' \ CC='$(strip ${CC_FOR_BUILD})' \ CFLAGS='$(strip ${CFLAGS_FOR_BUILD})' \ CXXFLAGS='$(strip ${CXXFLAGS_FOR_BUILD})' \ @@ -29,7 +30,8 @@ HOST_ALL_TARGET?= all HOST_INSTALL_TARGET?= install HOST_MAKE_ENV+= PATH='${HOST_PATH}' \ - PKG_CONFIG_LIBDIR='${STAGING_HOST_DIR}/usr/lib/pkgconfig' \ + PKG_CONFIG_LIBDIR='${STAGING_HOST_DIR}/usr/lib/pkgconfig:${STAGING_HOST_DIR}/usr/share/pkgconfig' \ + PKG_CONFIG_SYSROOT_DIR='${STAGING_HOST_DIR}' \ PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \ CC='$(strip ${CC_FOR_BUILD})' \ CFLAGS='$(strip ${CFLAGS_FOR_BUILD})' \ diff --git a/mk/package.mk b/mk/package.mk index 24650acce..b8039fb5a 100644 --- a/mk/package.mk +++ b/mk/package.mk @@ -10,22 +10,23 @@ CONFIGURE_ARGS+= --enable-debug endif endif -AUTOTOOL_ENV+= AUTOM4TE='${STAGING_HOST_DIR}/usr/bin/autom4te' \ +AUTOTOOL_ENV+= PATH='${AUTOTOOL_PATH}' \ + AUTOM4TE='${STAGING_HOST_DIR}/usr/bin/autom4te' \ M4='${STAGING_HOST_DIR}/usr/bin/m4' \ - LIBTOOLIZE='${STAGING_HOST_DIR}/usr/bin/libtoolize -q' \ - PATH='${AUTOTOOL_PATH}' + LIBTOOLIZE='${STAGING_HOST_DIR}/usr/bin/libtoolize -q' -CONFIGURE_ENV+= GCC_HONOUR_COPTS=s \ +CONFIGURE_ENV+= PATH='${TARGET_PATH}' \ + GCC_HONOUR_COPTS=s \ AUTOM4TE=${STAGING_HOST_DIR}/usr/bin/autom4te \ M4='${STAGING_HOST_DIR}/usr/bin/m4' \ LIBTOOLIZE='${STAGING_HOST_DIR}/usr/bin/libtoolize -q' \ - PATH='${TARGET_PATH}' \ CONFIG_SHELL='$(strip ${SHELL})' \ CFLAGS='$(strip ${TARGET_CFLAGS})' \ CXXFLAGS='$(strip ${TARGET_CXXFLAGS})' \ CPPFLAGS='$(strip ${TARGET_CPPFLAGS})' \ LDFLAGS='$(strip ${TARGET_LDFLAGS})' \ - PKG_CONFIG_LIBDIR='${STAGING_TARGET_DIR}/usr/lib/pkgconfig' \ + PKG_CONFIG_LIBDIR='${STAGING_TARGET_DIR}/usr/lib/pkgconfig:${STAGING_TARGET_DIR}/usr/share/pkgconfig' \ + PKG_CONFIG_SYSROOT_DIR='${STAGING_TARGET_DIR}' \ ac_cv_func_realloc_0_nonnull=yes \ ac_cv_func_malloc_0_nonnull=yes \ cross_compiling=yes \ @@ -55,8 +56,9 @@ MAKE_ENV+= $(GCC_CHECK) \ CXXFLAGS='$(strip ${TARGET_CXXFLAGS})' \ CPPFLAGS='$(strip ${TARGET_CPPFLAGS})' \ LDFLAGS='$(strip ${TARGET_LDFLAGS})' \ + PKG_CONFIG_LIBDIR='${STAGING_TARGET_DIR}/usr/lib/pkgconfig:${STAGING_TARGET_DIR}/usr/share/pkgconfig' \ + PKG_CONFIG_SYSROOT_DIR='${STAGING_TARGET_DIR}' \ ${HOST_CONFIGURE_OPTS} \ - PKG_CONFIG_LIBDIR='${STAGING_TARGET_DIR}/usr/lib/pkgconfig' \ ${TARGET_CONFIGURE_OPTS} MAKE_FLAGS+= ${XAKE_FLAGS} V=1 @@ -247,7 +249,7 @@ ifeq (,$(filter noremove,$(7))) endif @rm -f '$${STAGING_PKG_DIR}/$(1)' ifeq (,$(filter nostaging,$(7))) - -@cd $${IDIR_$(1)}; \ + @-cd $${IDIR_$(1)}; \ x=$$$$(find tmp var -mindepth 1 2>/dev/null); if [[ -n $$$$x ]]; then \ echo 'WARNING: $${IPKG_$(1)} installs files into a' \ 'ramdisk location:' >&2; \ diff --git a/mk/pkg-bottom.mk b/mk/pkg-bottom.mk index 4df541ca4..2972ffcfe 100644 --- a/mk/pkg-bottom.mk +++ b/mk/pkg-bottom.mk @@ -135,12 +135,6 @@ endif echo "scripts/$$(basename $$a)" \ >>'${STAGING_PKG_DIR}/${PKG_NAME}.scripts'; \ done - @for a in ${WRKINST}/usr/lib/pkgconfig/*.pc; do \ - [[ -e $$a ]] || continue; \ - sed -e "s,^prefix=.*,prefix=${STAGING_TARGET_DIR}/usr," \ - -e "s,^prefix = .*,prefix = ${STAGING_TARGET_DIR}/usr," $$a > \ - ${STAGING_TARGET_DIR}/usr/lib/pkgconfig/$$(basename $$a); \ - done ifeq (,$(filter noremove,${PKG_OPTS})) @if test -s '${STAGING_PKG_DIR}/${PKG_NAME}'; then \ cd '${STAGING_TARGET_DIR}'; \ @@ -169,7 +163,7 @@ endif ifeq (,$(filter nostaging,${PKG_OPTS})) @-cd ${WRKINST}; \ find usr ! -type d 2>/dev/null | \ - grep -E -v -e '^usr/lib/pkgconfig' -e '^usr/share' -e '^usr/src' -e '^usr/doc' -e '^usr/local' -e '^usr/man' -e '^usr/info' -e '^usr/lib/libc.so' -e '^usr/bin/[a-z0-9-]+-config*' -e '^/usr/lib/libpthread_nonshared.a' | \ + grep -E -v -e '^usr/share' -e '^usr/src' -e '^usr/doc' -e '^usr/local' -e '^usr/man' -e '^usr/info' -e '^usr/lib/libc.so' -e '^usr/bin/[a-z0-9-]+-config*' -e '^/usr/lib/libpthread_nonshared.a' | \ tee '${STAGING_PKG_DIR}/${PKG_NAME}' | \ $(STAGING_HOST_DIR)/usr/bin/cpio -padlmu '${STAGING_TARGET_DIR}' @cd '${STAGING_TARGET_DIR}'; grep 'usr/lib/.*\.la$$' \ diff --git a/package/alsa-lib/Makefile b/package/alsa-lib/Makefile index 6a09e5413..602cbbac9 100644 --- a/package/alsa-lib/Makefile +++ b/package/alsa-lib/Makefile @@ -26,7 +26,6 @@ ifneq ($(ADK_HOST_LINUX),y) HOST_LINUX_ONLY:= 1 endif -HOST_STYLE:= auto TARGET_CPPFLAGS+= -D_POSIX_C_SOURCE=1 CONFIGURE_ARGS+= --disable-python diff --git a/package/autoconf/Makefile b/package/autoconf/Makefile index 32f2c990b..0823c134c 100644 --- a/package/autoconf/Makefile +++ b/package/autoconf/Makefile @@ -20,7 +20,6 @@ include ${TOPDIR}/mk/package.mk $(eval $(call HOST_template,AUTOCONF,autoconf,${PKG_VERSION}-${PKG_RELEASE})) $(eval $(call PKG_template,AUTOCONF,autoconf,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS})) -HOST_STYLE:= auto XAKE_FLAGS+= PERL="/usr/bin/perl" autoconf-install: diff --git a/package/automake/Makefile b/package/automake/Makefile index a77c0af27..dccdc8453 100644 --- a/package/automake/Makefile +++ b/package/automake/Makefile @@ -23,7 +23,6 @@ $(eval $(call HOST_template,AUTOMAKE,automake,${PKG_VERSION}-${PKG_RELEASE})) $(eval $(call PKG_template,AUTOMAKE,automake,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS})) XAKE_FLAGS+= PERL="/usr/bin/perl" -HOST_STYLE:= auto automake-install: ${INSTALL_DIR} ${IDIR_AUTOMAKE}/usr/bin diff --git a/package/bc/Makefile b/package/bc/Makefile index 803287475..89fdaa330 100644 --- a/package/bc/Makefile +++ b/package/bc/Makefile @@ -25,8 +25,6 @@ $(eval $(call HOST_template,BC,bc,${PKG_VERSION}-${PKG_RELEASE})) $(eval $(call PKG_template,BC,bc,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) $(eval $(call PKG_template,DC,dc,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) -HOST_STYLE:= auto - bc-install: ${INSTALL_DIR} ${IDIR_BC}/usr/bin ${INSTALL_BIN} ${WRKBUILD}/bc/bc ${IDIR_BC}/usr/bin/bc diff --git a/package/bison/Makefile b/package/bison/Makefile index 7511bceff..f12850a0b 100644 --- a/package/bison/Makefile +++ b/package/bison/Makefile @@ -20,7 +20,6 @@ include ${TOPDIR}/mk/package.mk $(eval $(call HOST_template,BISON,bison,${PKG_VERSION}-${PKG_RELEASE})) $(eval $(call PKG_template,BISON,bison,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) -HOST_STYLE:= auto TARGET_LDFLAGS+= -lrt XAKE_FLAGS+= M4=m4 diff --git a/package/cairo/Makefile b/package/cairo/Makefile index 3f7d5818a..0eb325f18 100644 --- a/package/cairo/Makefile +++ b/package/cairo/Makefile @@ -24,7 +24,6 @@ include ${TOPDIR}/mk/package.mk $(eval $(call HOST_template,CAIRO,cairo,${PKG_VERSION}-${PKG_RELEASE})) $(eval $(call PKG_template,CAIRO,cairo,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS})) -HOST_STYLE:= auto HOST_CONFIGURE_ARGS+= --enable-ft=yes \ --enable-png=yes \ --enable-fc=yes \ diff --git a/package/ccache/Makefile b/package/ccache/Makefile index 191d0b82d..b730479ff 100644 --- a/package/ccache/Makefile +++ b/package/ccache/Makefile @@ -18,7 +18,5 @@ include $(TOPDIR)/mk/package. |