kumquat-buildroot/package/gawk/gawk.mk

56 lines
1.4 KiB
Makefile
Raw Normal View History

################################################################################
#
# gawk
#
################################################################################
GAWK_VERSION = 4.1.3
GAWK_SOURCE = gawk-$(GAWK_VERSION).tar.xz
GAWK_SITE = $(BR2_GNU_MIRROR)/gawk
GAWK_DEPENDENCIES = host-gawk
GAWK_LICENSE = GPLv3+
GAWK_LICENSE_FILES = COPYING
# Prefer full-blown gawk over busybox awk
ifeq ($(BR2_PACKAGE_BUSYBOX),y)
GAWK_DEPENDENCIES += busybox
endif
# --with-mpfr requires an argument so just let
# configure find it automatically
ifeq ($(BR2_PACKAGE_MPFR),y)
GAWK_DEPENDENCIES += mpfr
else
GAWK_CONF_OPTS += --without-mpfr
endif
# --with-readline requires an argument so just let
# configure find it automatically
ifeq ($(BR2_PACKAGE_READLINE),y)
GAWK_DEPENDENCIES += readline
else
GAWK_CONF_OPTS += --without-readline
endif
package/gawk: do not use readeline ormpfr in host variant gawk has an optional dependency on mpfr (and thus gmp) and readline, and will probe for them. If they are present, they are used; if they are missing, that's not an error. mpfr (and gmp) is used for "BIGNUM" support on gawk; readline is used by the gawk debugger. However, mpfr (bringing gmp) are also host-packages in Buildroot, but in the standard build order (i.e. a plain 'make'), they are built after gawk. Ditto readline (from ncurses). If the user has the development files for gmp and mpfr, then gawk is linked to them. Ditto readline. Now, further on in the build, we build gmp and mpfr (for gcci or guile), so we install them in the host dir. Ditto readline (for gdb, ncurses itself and a few other packages...) But because we forcibly set an RPATH tag on all our host binaries, our host gawk will now dynamically link with our versions, when it was in fact built against the host ones. This did not seem to cause any harm so far, but is far from ideal. Since we do not really need BIGNUM or the debugger in our host gawk, we just forcibly disable them and configure gawk without readline or mpfr (there's no switch for gmp, but it's not a direct dependency, it comes just with mpfr). [Adjust comment as suggested by Thomas/Yann] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Peter Korsgaard <jacmet@uclibc.org> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-12-01 23:19:07 +01:00
# We don't have a host-busybox, and we don't want to use readline or mpfr
HOST_GAWK_DEPENDENCIES =
package/gawk: do not use readeline ormpfr in host variant gawk has an optional dependency on mpfr (and thus gmp) and readline, and will probe for them. If they are present, they are used; if they are missing, that's not an error. mpfr (and gmp) is used for "BIGNUM" support on gawk; readline is used by the gawk debugger. However, mpfr (bringing gmp) are also host-packages in Buildroot, but in the standard build order (i.e. a plain 'make'), they are built after gawk. Ditto readline (from ncurses). If the user has the development files for gmp and mpfr, then gawk is linked to them. Ditto readline. Now, further on in the build, we build gmp and mpfr (for gcci or guile), so we install them in the host dir. Ditto readline (for gdb, ncurses itself and a few other packages...) But because we forcibly set an RPATH tag on all our host binaries, our host gawk will now dynamically link with our versions, when it was in fact built against the host ones. This did not seem to cause any harm so far, but is far from ideal. Since we do not really need BIGNUM or the debugger in our host gawk, we just forcibly disable them and configure gawk without readline or mpfr (there's no switch for gmp, but it's not a direct dependency, it comes just with mpfr). [Adjust comment as suggested by Thomas/Yann] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Peter Korsgaard <jacmet@uclibc.org> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-12-01 23:19:07 +01:00
HOST_GAWK_CONF_OPTS = --without-readline --without-mpfr
define GAWK_CREATE_SYMLINK
ln -sf /usr/bin/gawk $(TARGET_DIR)/usr/bin/awk
endef
GAWK_POST_INSTALL_TARGET_HOOKS += GAWK_CREATE_SYMLINK
# Assume we support shared libs
# The check isn't cross-compile friendly and it's mandatory anyway
define GAWK_DISABLE_SHARED_CHECK
$(SED) 's/ check-for-shared-lib-support//' $(@D)/extension/Makefile.in
endef
GAWK_POST_PATCH_HOOKS += GAWK_DISABLE_SHARED_CHECK
$(eval $(autotools-package))
$(eval $(host-autotools-package))