package/gawk: do not use readeline ormpfr in host variant
authorYann E. MORIN <yann.morin.1998@free.fr>
Tue, 1 Dec 2015 22:19:07 +0000 (23:19 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Wed, 2 Dec 2015 22:42:02 +0000 (23:42 +0100)
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>
package/gawk/gawk.mk

index 182068935978f1d909b16ae7b3b5fe88c0c0b347..6702c486c5f4bd42fc6e2d9717670c39f8f35644 100644 (file)
@@ -16,9 +16,11 @@ ifeq ($(BR2_PACKAGE_BUSYBOX),y)
 GAWK_DEPENDENCIES += busybox
 endif
 
-# We don't have a host-busybox
+# We don't have a host-busybox, and we don't want to use readline or mpfr
 HOST_GAWK_DEPENDENCIES =
 
+HOST_GAWK_CONF_OPTS = --without-readline --without-mpfr
+
 define GAWK_CREATE_SYMLINK
        ln -sf /usr/bin/gawk $(TARGET_DIR)/usr/bin/awk
 endef