summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Schwebel <r.schwebel@pengutronix.de>2009-06-09 23:11:42 +0000
committerRobert Schwebel <r.schwebel@pengutronix.de>2009-06-09 23:11:42 +0000
commite7e42350a5f83f426ca3986a9ec90fb2ce796ea8 (patch)
tree41b65e9a29ebea8af2485ee25588b9c2539b6da8
parent7595a886825031bc18750e9f3bcda9138164c361 (diff)
downloadptxdist-e7e42350a5f83f426ca3986a9ec90fb2ce796ea8.tar.gz
ptxdist-e7e42350a5f83f426ca3986a9ec90fb2ce796ea8.tar.xz
iconv: rework iconv handling in ptxdist
libiconv provides functionality that is already provided by glibc. So we consolidate ptxdist to use native glibc iconv instead of libiconv support. Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de> git-svn-id: https://svn.pengutronix.de/svn/ptxdist/trunks/ptxdist-trunk@10681 33e552b5-05e3-0310-8538-816dae2090ed
-rw-r--r--rules/classpath.make5
-rw-r--r--rules/elektra.make8
-rw-r--r--rules/fuse.in1
-rw-r--r--rules/gettext.in1
-rw-r--r--rules/glib.in19
-rw-r--r--rules/glib.make8
-rw-r--r--rules/gnupg.make7
-rw-r--r--rules/gst-plugins-good.in2
-rw-r--r--rules/gst-plugins-good.make5
-rw-r--r--rules/host-gettext.in1
-rw-r--r--rules/host-glib.in12
-rw-r--r--rules/host-glib.make3
-rw-r--r--rules/host-libiconv.make47
-rw-r--r--rules/iconv.in15
-rw-r--r--rules/libiconv.in18
-rw-r--r--rules/libiconv.make88
-rw-r--r--rules/libxml2.in9
-rw-r--r--rules/libxml2.make14
-rw-r--r--rules/minicom.in3
-rw-r--r--rules/mplayer.make8
-rw-r--r--rules/php5.in8
-rw-r--r--rules/php5.make12
-rw-r--r--rules/pre/Rules.make6
-rw-r--r--rules/qtopia.make4
-rw-r--r--rules/samba.in1
-rw-r--r--rules/samba.make6
-rw-r--r--rules/slang.make4
-rw-r--r--rules/xmlstarlet.make5
28 files changed, 128 insertions, 192 deletions
diff --git a/rules/classpath.make b/rules/classpath.make
index db55acecb..0560fe416 100644
--- a/rules/classpath.make
+++ b/rules/classpath.make
@@ -93,7 +93,8 @@ CLASSPATH_AUTOCONF := \
--with-pic \
--without-x \
--with-glibj=zip \
- --with-gjdoc=no
+ --with-gjdoc=no \
+ --without-libiconv-prefix
#
# FIXME:
@@ -106,8 +107,6 @@ CLASSPATH_AUTOCONF := \
# default='${libdir}/${PACKAGE}'
# --with-antlr-jar=file Use ANTLR from the specified jar file
# --with-tags[=TAGS] include additional configurations [automatic]
-# --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
-# --without-libiconv-prefix don't search for libiconv in includedir and libdir
# --with-javah specify path or name of a javah-like program
# --with-vm-classes specify path to VM override source files
# --with-ecj-jar=ABS.PATH specify jar file containing the Eclipse Java
diff --git a/rules/elektra.make b/rules/elektra.make
index d135c9792..da562db78 100644
--- a/rules/elektra.make
+++ b/rules/elektra.make
@@ -73,7 +73,7 @@ ELEKTRA_AUTOCONF := \
--enable-shared \
--disable-static \
--disable-fast-install \
- --disable-iconv \
+ --without-libiconv-prefix \
--disable-rpath \
--disable-xmltest \
--disable-gconf \
@@ -86,6 +86,12 @@ else
#ELEKTRA_AUTOCONF += --disable-debug
endif
+ifdef PTXCONF_ICONV
+ELEKTRA_AUTOCONF += --enable-iconv
+else
+ELEKTRA_AUTOCONF += --disable-iconv
+endif
+
#
# backends
#
diff --git a/rules/fuse.in b/rules/fuse.in
index ca9fabdc2..b780ce55b 100644
--- a/rules/fuse.in
+++ b/rules/fuse.in
@@ -1,7 +1,6 @@
## SECTION=disk_and_file
menuconfig FUSE
tristate
- select LIBICONV
prompt "fuse "
help
utilities for filesystems in userspace
diff --git a/rules/gettext.in b/rules/gettext.in
index fefb8ddf6..49ea927b2 100644
--- a/rules/gettext.in
+++ b/rules/gettext.in
@@ -2,7 +2,6 @@
menuconfig GETTEXT
tristate
prompt "gettext (gnu) "
- select LIBICONV if ARCH_MINGW
help
The gettext program translates a natural language
message into the user's language, by looking up
diff --git a/rules/glib.in b/rules/glib.in
index 2646ee6c7..95a6849ec 100644
--- a/rules/glib.in
+++ b/rules/glib.in
@@ -3,7 +3,6 @@
menuconfig GLIB
tristate
prompt "glib "
- select LIBICONV if GLIB__LIBICONV_GNU
select GETTEXT if GLIB__GETTEXT_GETTEXT
select GETTEXT_DUMMY if GLIB__GETTEXT_DUMMY
select HOST_GLIB
@@ -30,24 +29,6 @@ choice
endchoice
choice
- prompt "iconv variant "
- default GLIB__LIBICONV_CLIB
-
- config GLIB__LIBICONV_CLIB
- bool
- prompt "c library "
-
- config GLIB__LIBICONV_GNU
- bool
- prompt "gnu (libiconv)"
-
- config GLIB__LIBICONV_NATIVE
- bool
- prompt "native (mingw)"
-
-endchoice
-
-choice
prompt "gettext variant"
default GLIB__GETTEXT_NONE
diff --git a/rules/glib.make b/rules/glib.make
index 791050ac7..3d05a9550 100644
--- a/rules/glib.make
+++ b/rules/glib.make
@@ -56,9 +56,9 @@ GLIB_ENV := \
#
# autoconf
#
-GLIB_AUTOCONF_LIBICONV-$(PTXCONF_GLIB__LIBICONV_CLIB) += no
-GLIB_AUTOCONF_LIBICONV-$(PTXCONF_GLIB__LIBICONV_GNU) += gnu
-GLIB_AUTOCONF_LIBICONV-$(PTXCONF_GLIB__LIBICONV_NATIVE) += native
+# --with-libiconv=no does also find the libc iconv implementation! So it
+# is the right choice for no locales and locales-via-libc
+#
GLIB_AUTOCONF := \
$(CROSS_AUTOCONF_USR) \
@@ -77,7 +77,7 @@ GLIB_AUTOCONF := \
--disable-xattr \
--with-gnu-ld \
--with-pcre=internal \
- --with-libiconv=$(GLIB_AUTOCONF_LIBICONV-y)
+ --with-libiconv=no
# --enable-debug=[no/minimum/yes]
# turn on debugging [default=minimum]
diff --git a/rules/gnupg.make b/rules/gnupg.make
index 90f84e9b1..a6287d495 100644
--- a/rules/gnupg.make
+++ b/rules/gnupg.make
@@ -67,7 +67,6 @@ GNUPG_ENV = $(CROSS_ENV)
GNUPG_AUTOCONF = $(CROSS_AUTOCONF_USR) \
--disable-asm \
--disable-card-support \
- --disable-gnupg-iconv \
--disable-exec \
--disable-idea \
--enable-cast5 \
@@ -91,6 +90,12 @@ GNUPG_AUTOCONF = $(CROSS_AUTOCONF_USR) \
--disable-rpath \
--disable-regex
+ifdef PTXCONF_ICONV
+GNUPG_AUTOCONF += --enable-gnupg-iconv
+else
+GNUPG_AUTOCONF += --disable-gnupg-iconv
+endif
+
$(STATEDIR)/gnupg.prepare: $(gnupg_prepare_deps_default)
@$(call targetinfo, $@)
@$(call clean, $(GNUPG_DIR)/config.cache)
diff --git a/rules/gst-plugins-good.in b/rules/gst-plugins-good.in
index eb37b4369..fbc8e21e3 100644
--- a/rules/gst-plugins-good.in
+++ b/rules/gst-plugins-good.in
@@ -340,8 +340,6 @@ if GST_PLUGINS_GOOD
endif
-# --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib
-# --without-libiconv-prefix don't search for libiconv in includedir and libdir
# --with-libintl-prefix=DIR search for libintl in DIR/include and DIR/lib
# --without-libintl-prefix don't search for libintl in includedir and libdir
# --with-pkg-config-path colon-separated list of pkg-config(1) dirs
diff --git a/rules/gst-plugins-good.make b/rules/gst-plugins-good.make
index 8a70af656..34c644aee 100644
--- a/rules/gst-plugins-good.make
+++ b/rules/gst-plugins-good.make
@@ -42,6 +42,8 @@ GST_PLUGINS_GOOD_ENV := $(CROSS_ENV)
#
# autoconf
#
+# --without-libiconv-prefix -> we use libc iconv
+#
GST_PLUGINS_GOOD_AUTOCONF := \
$(CROSS_AUTOCONF_USR) \
--disable-rpath \
@@ -55,7 +57,8 @@ GST_PLUGINS_GOOD_AUTOCONF := \
--enable-experimental \
--disable-schemas-install \
--disable-gtk-doc \
- --disable-gconftool
+ --disable-gconftool \
+ --without-libiconv-prefix
#
# FIXME: what about these? They are built but I don't know which option
diff --git a/rules/host-gettext.in b/rules/host-gettext.in
index c9e4ac293..eaa3a8896 100644
--- a/rules/host-gettext.in
+++ b/rules/host-gettext.in
@@ -2,7 +2,6 @@
config HOST_GETTEXT
tristate
-# select HOST_LIBICONV if ARCH_MINGW
help
The gettext program translates a natural language
message into the user's language, by looking up
diff --git a/rules/host-glib.in b/rules/host-glib.in
index 5a5fb70e4..4bf062a3b 100644
--- a/rules/host-glib.in
+++ b/rules/host-glib.in
@@ -2,10 +2,10 @@
config HOST_GLIB
tristate
-# Note: glib detects a useable iconv() implementation by its own
-# On a standard GNU glibc based system there is no need to
-# build and link against libiconv. Reactivate this dependency
-# if it fails on a system. But also change this documentation
-# in this case!
-# select HOST_LIBICONV
+ # Note: as there may be systems with and without libiconv and
+ # glibc-iconv out there, we always use libiconv in our host
+ # tools. Otherwhise it is not possible to overcome the
+ # header check in glib.
+ # FIXME what to do if we build a target system without iconv?
+ select HOST_LIBICONV
diff --git a/rules/host-glib.make b/rules/host-glib.make
index 6aad62e08..fc9cd1ef2 100644
--- a/rules/host-glib.make
+++ b/rules/host-glib.make
@@ -53,7 +53,8 @@ HOST_GLIB_ENV := $(HOST_ENV)
# hosts 'iconv' should be present in the regular host glibc.
#
HOST_GLIB_AUTOCONF := \
- $(HOST_AUTOCONF)
+ $(HOST_AUTOCONF) \
+ --with-libiconv=gnu
# ----------------------------------------------------------------------------
# Clean
diff --git a/rules/host-libiconv.make b/rules/host-libiconv.make
index df7f6a71c..0220b4a12 100644
--- a/rules/host-libiconv.make
+++ b/rules/host-libiconv.make
@@ -1,7 +1,7 @@
# -*-makefile-*-
# $Id$
#
-# Copyright (C) 2007 by Robert Schwebel
+# Copyright (C) 2007-2009 by Robert Schwebel <r.schwebel@pengutronix.de>
# 2009 by Marc Kleine-Budde
#
# See CREDITS for details about who has contributed to this project.
@@ -18,15 +18,21 @@ HOST_PACKAGES-$(PTXCONF_HOST_LIBICONV) += host-libiconv
#
# Paths and names
#
-HOST_LIBICONV_DIR = $(HOST_BUILDDIR)/$(LIBICONV)
+HOST_LIBICONV_VERSION := 1.13
+HOST_LIBICONV := libiconv-$(HOST_LIBICONV_VERSION)
+HOST_LIBICONV_SUFFIX := tar.gz
+HOST_LIBICONV_URL := $(PTXCONF_SETUP_GNUMIRROR)/libiconv/$(HOST_LIBICONV).$(HOST_LIBICONV_SUFFIX)
+HOST_LIBICONV_SOURCE := $(SRCDIR)/$(HOST_LIBICONV).$(HOST_LIBICONV_SUFFIX)
+HOST_LIBICONV_DIR := $(HOST_BUILDDIR)/$(HOST_LIBICONV)
# ----------------------------------------------------------------------------
# Get
# ----------------------------------------------------------------------------
-$(STATEDIR)/host-libiconv.get: $(STATEDIR)/libiconv.get
+$(HOST_LIBICONV_SOURCE):
@$(call targetinfo)
- @$(call touch)
+ @$(call get, HOST_LIBICONV)
+
# ----------------------------------------------------------------------------
# Extract
@@ -35,8 +41,8 @@ $(STATEDIR)/host-libiconv.get: $(STATEDIR)/libiconv.get
$(STATEDIR)/host-libiconv.extract:
@$(call targetinfo)
@$(call clean, $(HOST_LIBICONV_DIR))
- @$(call extract, LIBICONV, $(HOST_BUILDDIR))
- @$(call patchin, LIBICONV, $(HOST_LIBICONV_DIR))
+ @$(call extract, HOST_LIBICONV, $(HOST_BUILDDIR))
+ @$(call patchin, HOST_LIBICONV, $(HOST_LIBICONV_DIR))
@$(call touch)
# ----------------------------------------------------------------------------
@@ -49,7 +55,34 @@ HOST_LIBICONV_ENV := $(HOST_ENV)
#
# autoconf
#
-HOST_LIBICONV_AUTOCONF := $(HOST_AUTOCONF)
+HOST_LIBICONV_AUTOCONF := \
+ $(HOST_AUTOCONF)
+
+$(STATEDIR)/host-libiconv.prepare:
+ @$(call targetinfo)
+ @$(call clean, $(HOST_LIBICONV_DIR)/config.cache)
+ cd $(HOST_LIBICONV_DIR) && \
+ $(HOST_LIBICONV_PATH) $(HOST_LIBICONV_ENV) \
+ ./configure $(HOST_LIBICONV_AUTOCONF)
+ @$(call touch)
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/host-libiconv.compile:
+ @$(call targetinfo)
+ cd $(HOST_LIBICONV_DIR) && $(HOST_LIBICONV_PATH) $(MAKE) $(PARALLELMFLAGS)
+ @$(call touch)
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/host-libiconv.install:
+ @$(call targetinfo)
+ @$(call install, HOST_LIBICONV,,h)
+ @$(call touch)
# ----------------------------------------------------------------------------
# Clean
diff --git a/rules/iconv.in b/rules/iconv.in
new file mode 100644
index 000000000..919f6a0df
--- /dev/null
+++ b/rules/iconv.in
@@ -0,0 +1,15 @@
+## SECTION=core
+
+config ICONV
+ bool
+ default y
+ prompt "iconv support"
+ help
+ Build a system with iconv support in the C library. iconv
+ provides a set of functions which convert between different
+ encodings.
+
+ There are different methods how to provide iconv support:
+ glibc has an own implementation and there is libiconv. When
+ activated, ptxdist uses the iconv support from glibc.
+
diff --git a/rules/libiconv.in b/rules/libiconv.in
deleted file mode 100644
index e472841f0..000000000
--- a/rules/libiconv.in
+++ /dev/null
@@ -1,18 +0,0 @@
-## SECTION=system_libraries
-
-menuconfig LIBICONV
- tristate
- prompt "libiconv "
- help
- libiconv converts traditional character encodings
- to/from UNICODE. It is for you if your application
- needs to support multiple character encodings, but
- that support lacks from your system.
-
-config LIBICONV_EXTRA_ENCODINGS
- depends on LIBICONV
- bool
- prompt "build with support for extra encodings"
- help
- provides support for a few extra encodings. see
- readme in source package for details
diff --git a/rules/libiconv.make b/rules/libiconv.make
deleted file mode 100644
index 271f80106..000000000
--- a/rules/libiconv.make
+++ /dev/null
@@ -1,88 +0,0 @@
-# -*-makefile-*-
-# $Id: template 5709 2006-06-09 13:55:00Z mkl $
-#
-# Copyright (C) 2006-2009 by Marc Kleine-Budde <mkl@pengutronix.de>
-#
-# See CREDITS for details about who has contributed to this project.
-#
-# For further information about the PTXdist project and license conditions
-# see the README file.
-#
-
-#
-# We provide this package
-#
-PACKAGES-$(PTXCONF_LIBICONV) += libiconv
-
-#
-# Paths and names
-#
-LIBICONV_VERSION := 1.13
-LIBICONV := libiconv-$(LIBICONV_VERSION)
-LIBICONV_SUFFIX := tar.gz
-LIBICONV_URL := $(PTXCONF_SETUP_GNUMIRROR)/libiconv/$(LIBICONV).$(LIBICONV_SUFFIX)
-LIBICONV_SOURCE := $(SRCDIR)/$(LIBICONV).$(LIBICONV_SUFFIX)
-LIBICONV_DIR := $(BUILDDIR)/$(LIBICONV)
-
-# ----------------------------------------------------------------------------
-# Get
-# ----------------------------------------------------------------------------
-
-$(LIBICONV_SOURCE):
- @$(call targetinfo)
- @$(call get, LIBICONV)
-
-# ----------------------------------------------------------------------------
-# Prepare
-# ----------------------------------------------------------------------------
-
-LIBICONV_PATH := PATH=$(CROSS_PATH)
-LIBICONV_ENV := $(CROSS_ENV)
-
-#
-# autoconf
-#
-LIBICONV_AUTOCONF := \
- $(CROSS_AUTOCONF_USR) \
- --enable-static
-
-ifdef PTXCONF_LIBICONV_EXTRA_ENCODINGS
-LIBICONV_AUTOCONF += --enable-extra-encodings
-endif
-
-# ----------------------------------------------------------------------------
-# Target-Install
-# ----------------------------------------------------------------------------
-
-$(STATEDIR)/libiconv.targetinstall:
- @$(call targetinfo)
-
- @$(call install_init, libiconv)
- @$(call install_fixup,libiconv,PACKAGE,libiconv)
- @$(call install_fixup,libiconv,PRIORITY,optional)
- @$(call install_fixup,libiconv,VERSION,$(LIBICONV_VERSION))
- @$(call install_fixup,libiconv,SECTION,base)
- @$(call install_fixup,libiconv,AUTHOR,"Robert Schwebel <r.schwebel@pengutronix.de>")
- @$(call install_fixup,libiconv,DEPENDS,)
- @$(call install_fixup,libiconv,DESCRIPTION,missing)
-
- @$(call install_copy, libiconv, 0, 0, 0644, -, \
- /usr/lib/libiconv.so.2.5.0)
-
- @$(call install_link, libiconv, libiconv.so.2.5.0, /usr/lib/libiconv.so.2)
- @$(call install_link, libiconv, libiconv.so.2.5.0, /usr/lib/libiconv.so)
-
- @$(call install_finish,libiconv)
-
- @$(call touch)
-
-# ----------------------------------------------------------------------------
-# Clean
-# ----------------------------------------------------------------------------
-
-libiconv_clean:
- rm -rf $(STATEDIR)/libiconv.*
- rm -rf $(PKGDIR)/libiconv_*
- rm -rf $(LIBICONV_DIR)
-
-# vim: syntax=make
diff --git a/rules/libxml2.in b/rules/libxml2.in
index fa48af9d9..5e50e35b3 100644
--- a/rules/libxml2.in
+++ b/rules/libxml2.in
@@ -88,15 +88,6 @@ config LIBXML2_HTTP
help
Add HTTP support.
-config LIBXML2_ICONV
- bool
- # FIXME: doesn't pick up correct LDADD flags
- depends on BROKEN
- default y
- prompt "ICONV support"
- help
- Add ICONV support.
-
config LIBXML2_ISO8859X
bool
default y
diff --git a/rules/libxml2.make b/rules/libxml2.make
index 77002bd78..c781cd48b 100644
--- a/rules/libxml2.make
+++ b/rules/libxml2.make
@@ -44,10 +44,18 @@ LIBXML2_ENV := $(CROSS_ENV)
#
# autoconf
#
+# --with-iconv=yes -> does the right thing for libc-iconv
+#
LIBXML2_AUTOCONF := \
$(CROSS_AUTOCONF_USR) \
--oldincludedir=$(SYSROOT)/usr/include
+ifdef PTXCONF_ICONV
+LIBXML2_AUTOCONF += --with-iconv=yes
+else
+LIBXML2_AUTOCONF += --with-iconv=no
+endif
+
ifdef PTXCONF_LIBXML2_C14N
LIBXML2_AUTOCONF += --with-c14n
else
@@ -102,12 +110,6 @@ else
LIBXML2_AUTOCONF += --without-http
endif
-ifdef PTXCONF_LIBXML2_ICONV
-LIBXML2_AUTOCONF += --with-iconv
-else
-LIBXML2_AUTOCONF += --without-iconv
-endif
-
ifdef PTXCONF_LIBXML2_ISO8859X
LIBXML2_AUTOCONF += --with-iso8859x
else
diff --git a/rules/minicom.in b/rules/minicom.in
index 778f3aa92..8d2f248fc 100644
--- a/rules/minicom.in
+++ b/rules/minicom.in
@@ -3,14 +3,11 @@
menuconfig MINICOM
tristate
prompt "minicom "
- select LIBICONV
select NCURSES
help
This adds MiniCom to your root filesystem. Useful for serial
communication and testing.
- Selecting this module will also compile libiconv and ncurses.
-
if MINICOM
config MINICOM_DEFCONFIG
diff --git a/rules/mplayer.make b/rules/mplayer.make
index f4ffa718d..4da80b474 100644
--- a/rules/mplayer.make
+++ b/rules/mplayer.make
@@ -84,6 +84,13 @@ MPLAYER_AUTOCONF := \
--with-extraincdir=$(SYSROOT)/include \
--with-extralibdir=$(SYSROOT)/lib \
--extra-libs='-Wl,-rpath-link -Wl,$(strip $(SYSROOT))/usr/lib'
+
+ifdef PTXCONF_ICONV
+MPLAYER_AUTOCONF += --enable-iconv
+else
+MPLAYER_AUTOCONF += --disable-iconv
+endif
+
#
# video out
#
@@ -137,7 +144,6 @@ MPLAYER_AUTOCONF += \
--disable-linux-devfs \
--disable-termcap \
--disable-termios \
- --disable-iconv \
--disable-langinfo \
--disable-lirc \
--disable-lircc \
diff --git a/rules/php5.in b/rules/php5.in
index 65f986f49..5c2634317 100644
--- a/rules/php5.in
+++ b/rules/php5.in
@@ -7,7 +7,6 @@ menuconfig PHP5
select APACHE2 if PHP5_SAPI_APXS2
select LIBXML2 if PHP5_XML_LIBXML2
select LIBXSLT if PHP5_XML_LIBXML2_XSLT
- select LIBICONV if PHP5_EXT_ICONV
select MYSQL if PHP5_EXT_MYSQL
select PHP5_XML if PHP5_EXT_SOAP
@@ -385,13 +384,6 @@ menu "Extensions "
# --disable-hash Disable hash support
# --with-hwapi[=DIR] Include official Hyperwave API support
# --without-iconv[=DIR] Exclude iconv support
-
-config PHP5_EXT_ICONV
- bool
- prompt "iconv"
- help
- iconv
-
# --with-imap[=DIR] Include IMAP support. DIR is the c-client install prefix
# --with-kerberos[=DIR] IMAP: Include Kerberos support. DIR is the Kerberos install prefix
# --with-imap-ssl[=DIR] IMAP: Include SSL support. DIR is the OpenSSL install prefix
diff --git a/rules/php5.make b/rules/php5.make
index 450f488d3..520101cc0 100644
--- a/rules/php5.make
+++ b/rules/php5.make
@@ -50,7 +50,11 @@ PHP5_ENV := $(CROSS_ENV)
PHP5_AUTOCONF := \
$(CROSS_AUTOCONF_USR) \
--with-config-file-path=/etc/php5 \
- --without-pdo-sqlite
+ --without-pdo-sqlite \
+ --without-iconv
+
+
+# FIXME: configure is broken beyond repair for glibc-libiconv
# FIXME: PHP Data Objects -> sqlite doesn't link correctly
@@ -241,12 +245,6 @@ else
PHP5_AUTOCONF += --disable-simplexml
endif
-ifdef PTXCONF_PHP5_EXT_ICONV
-PHP5_AUTOCONF += --with-iconv=$(SYSROOT)/usr
-else
-PHP5_AUTOCONF += --without-iconv
-endif
-
ifdef PTXCONF_PHP5_EXT_MYSQL
PHP5_AUTOCONF += \
--with-mysql=$(SYSROOT)/usr \
diff --git a/rules/pre/Rules.make b/rules/pre/Rules.make
index 183e2e704..58a45847b 100644
--- a/rules/pre/Rules.make
+++ b/rules/pre/Rules.make
@@ -251,6 +251,12 @@ ifndef PTXCONF_HAS_MMU
CROSS_ENV_AC += ac_cv_func_fork=no
endif
+ifdef PTXCONF_ICONV
+CROSS_ENV_AC += ac_cv_func_iconv_open=yes
+else
+CROSS_ENV_AC += ac_cv_func_iconv_open=no
+endif
+
#
# We want to use DESTDIR and --prefix=/usr, to get no build paths in our
# binaries. Unfortunately, not all packages support this, especially
diff --git a/rules/qtopia.make b/rules/qtopia.make
index 409c4a124..844426ec4 100644
--- a/rules/qtopia.make
+++ b/rules/qtopia.make
@@ -81,6 +81,10 @@ endif
#
# Important: Use "-no-fast" here. Otherwise qmake will be called during
# the compile stage when the environment is not properly set!
+#
+# FIXME: when PTXCONF_ICONV is set, we have libc iconv support, check
+# if this works with -iconv
+#
QTOPIA_AUTOCONF := \
-release \
-no-fast \
diff --git a/rules/samba.in b/rules/samba.in
index aa1e2e023..642961de7 100644
--- a/rules/samba.in
+++ b/rules/samba.in
@@ -48,7 +48,6 @@ menuconfig SAMBA
# --with-smbtorture4-path=PATH The path to a samba4 smbtorture for make test (none)
# --with-profiling-data Include gathering source code profile information (default=no)
# --with-readline=DIR Look for readline include/libs in DIR (default=auto)
-# --with-libiconv=BASEDIR Use libiconv in BASEDIR/lib and BASEDIR/include (default=auto)
# --with-smbwrapper Include SMB wrapper support (default=no)
# --with-afs Include AFS clear-text auth support (default=no)
# --with-fake-kaserver Include AFS fake-kaserver support (default=no)
diff --git a/rules/samba.make b/rules/samba.make
index a37d8184d..28e52f602 100644
--- a/rules/samba.make
+++ b/rules/samba.make
@@ -69,6 +69,12 @@ ifdef PTXCONF_SAMBA_SMBFS
SAMBA_AUTOCONF += --with-smbmount
endif
+ifdef PTXCONF_ICONV
+SAMBA_AUTOCONF += --with-libiconv=yes
+else
+SAMBA_AUTOCONF += --without-libiconv
+endif
+
$(STATEDIR)/samba.prepare:
@$(call targetinfo)
@$(call clean, $(SAMBA_DIR)/config.cache)
diff --git a/rules/slang.make b/rules/slang.make
index 86d5755b1..330f28d87 100644
--- a/rules/slang.make
+++ b/rules/slang.make
@@ -48,9 +48,11 @@ SLANG_ENV := $(CROSS_ENV)
SLANG_AUTOCONF := \
$(CROSS_AUTOCONF_USR) \
--without-png \
- --without-iconv \
--without-pcre
+# FIXME: iconv support is broken (at least for glibc-iconv)
+SLANG_AUTOCONF += --without-iconv
+
# ----------------------------------------------------------------------------
# Compile
# ----------------------------------------------------------------------------
diff --git a/rules/xmlstarlet.make b/rules/xmlstarlet.make
index 5bea10b9e..0ee7b4a9a 100644
--- a/rules/xmlstarlet.make
+++ b/rules/xmlstarlet.make
@@ -64,11 +64,12 @@ XMLSTARLET_ENV = $(CROSS_ENV)
#
# autoconf
#
+# Don't set --with-libiconv-prefix (not necessary for libc-iconv)
+#
XMLSTARLET_AUTOCONF = \
$(CROSS_AUTOCONF_USR) \
--with-libxml-prefix=$(SYSROOT)/usr \
- --with-libxslt-prefix=$(SYSROOT)/usr \
- --with-libiconv-prefix=$(SYSROOT)/usr
+ --with-libxslt-prefix=$(SYSROOT)/usr
$(STATEDIR)/xmlstarlet.prepare: $(xmlstarlet_prepare_deps_default)
@$(call targetinfo, $@)