From acdd7c95066cf6505a4d2e8683f119146805af91 Mon Sep 17 00:00:00 2001 From: Matthias Kilian Date: Wed, 26 Aug 2009 15:59:13 +0000 Subject: [PATCH] Configurable iconv header and library locations Should help to fix the build on OpenBSD (together with a corresponding patch to libraries/base). --- configure.ac | 19 +++++++++++++++++++ mk/config.mk.in | 9 +++++++++ rules/build-package-data.mk | 8 ++++++++ 3 files changed, 36 insertions(+) diff --git a/configure.ac b/configure.ac index 14d8710..41e6c3f 100644 --- a/configure.ac +++ b/configure.ac @@ -193,6 +193,25 @@ AC_SUBST([WithGhc]) dnl ** Without optimization some INLINE trickery fails for GHCi SRC_CC_OPTS="-O" +dnl Allow to specify iconv options to the toplevel configure script +dnl so they can be properly passed to sub-builds. +dnl Note: ICONV_LIB_DIRS and ICONV_INCLUDE_DIRS are not predefined +dnl to the empty string to allow them to be overridden from the +dnl environment. + +AC_ARG_WITH([iconv-includes], + [AC_HELP_STRING([--with-iconv-includes], + [directory containing iconv.h])], + [ICONV_INCLUDE_DIRS=$withval]) + +AC_ARG_WITH([iconv-libraries], + [AC_HELP_STRING([--with-iconv-libraries], + [directory containing iconv library])], + [ICONV_LIB_DIRS=$withval]) + +AC_SUBST(ICONV_INCLUDE_DIRS) +AC_SUBST(ICONV_LIB_DIRS) + dnl-------------------------------------------------------------------- dnl * Choose host(/target/build) platform dnl-------------------------------------------------------------------- diff --git a/mk/config.mk.in b/mk/config.mk.in index a8b57fb..a516e6d 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -946,6 +946,15 @@ CONFIGURE_ARGS = @CONFIGURE_ARGS@ ################################################################################ # +# To be passed to sub-builds +# +################################################################################ + +ICONV_INCLUDE_DIRS = @ICONV_INCLUDE_DIRS@ +ICONV_LIB_DIRS = @ICONV_LIB_DIRS@ + +################################################################################ +# # Bindist testing directory # ################################################################################ diff --git a/rules/build-package-data.mk b/rules/build-package-data.mk index 6c3b1b0..47bed79 100644 --- a/rules/build-package-data.mk +++ b/rules/build-package-data.mk @@ -30,6 +30,14 @@ endif $1_$2_CONFIGURE_OPTS += --configure-option=CFLAGS="$$(filter-out -Werror,$$(SRC_CC_OPTS)) $$($1_CC_OPTS) $$($1_$2_CC_OPTS)" $1_$2_CONFIGURE_OPTS += --configure-option=LDFLAGS="$$(SRC_LD_OPTS) $$($1_LD_OPTS) $$($1_$2_LD_OPTS)" +ifneq "$$(ICONV_INCLUDE_DIRS)" "" +$1_$2_CONFIGURE_OPTS += --configure-option=--with-iconv-includes="$$(ICONV_INCLUDE_DIRS)" +endif + +ifneq "$$(ICONV_LIB_DIRS)" "" +$1_$2_CONFIGURE_OPTS += --configure-option=--with-iconv-libraries="$$(ICONV_LIB_DIRS)" +endif + # This rule configures the package, generates the package-data.mk file # for our build system, and registers the package for use in-place in # the build tree. -- 1.7.10.4