summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManuel Novoa III <mjn3@codepoet.org>2003-09-03 07:18:18 +0000
committerManuel Novoa III <mjn3@codepoet.org>2003-09-03 07:18:18 +0000
commit0e956fc164b97347279045e60033e6f2f176df3b (patch)
treebe9515a9bae85c641ce8c8756d378eb367614c4c
parent2aaceb3dd6b542912a144d0c7860048091aedf4b (diff)
downloadbuildroot-novena-0e956fc164b97347279045e60033e6f2f176df3b.tar.gz
buildroot-novena-0e956fc164b97347279045e60033e6f2f176df3b.zip
Add support for enabling use of libintl.
Add support for libstd++ in full locale mode, and remove the need for config hacks when using uClibc stub locale support. TODO -- gdb intl support is still broken. uClibc should auto-download the pregenerated locale data
-rw-r--r--Makefile4
-rw-r--r--make/bash.mk5
-rw-r--r--make/bison.mk3
-rw-r--r--make/coreutils.mk5
-rw-r--r--make/diffutils.mk2
-rw-r--r--make/dropbear_sshd.mk2
-rw-r--r--make/ed.mk2
-rw-r--r--make/file.mk2
-rw-r--r--make/findutils.mk2
-rw-r--r--make/flex.mk2
-rw-r--r--make/gawk.mk2
-rw-r--r--make/gcc_target.mk66
-rw-r--r--make/gdb.mk6
-rw-r--r--make/gdbserver.mk2
-rw-r--r--make/grep.mk2
-rw-r--r--make/gzip.mk2
-rw-r--r--make/libglib12.mk2
-rw-r--r--make/libtool.mk2
-rw-r--r--make/links.mk2
-rw-r--r--make/lrzsz.mk2
-rw-r--r--make/make.mk2
-rw-r--r--make/mke2fs.mk2
-rw-r--r--make/ncurses.mk4
-rw-r--r--make/newt.mk2
-rw-r--r--make/ntp.mk2
-rw-r--r--make/openssh.mk3
-rw-r--r--make/patch.mk2
-rw-r--r--make/pciutils.mk2
-rw-r--r--make/pppd.mk2
-rw-r--r--make/sed.mk2
-rw-r--r--make/socat.mk2
-rw-r--r--make/strace.mk2
-rw-r--r--make/tar.mk2
-rw-r--r--make/tn5250.mk2
-rw-r--r--make/uclibc_toolchain.mk21
-rw-r--r--make/uclibc_toolchain_2_95.mk4
-rw-r--r--make/util-linux.mk2
-rw-r--r--make/valgrind.mk2
-rw-r--r--make/wtools.mk2
-rw-r--r--sources/gcc-810-libstd++-locale.patch200
40 files changed, 287 insertions, 92 deletions
diff --git a/Makefile b/Makefile
index 87dc0af62..521debf4f 100644
--- a/Makefile
+++ b/Makefile
@@ -20,6 +20,7 @@
TARGETS=
+DISABLE_NLS=
#############################################################
#
# EDIT this stuff to suit your system and preferences
@@ -69,6 +70,9 @@ OPTIMIZE_FOR_CPU=$(ARCH)
EXTRA_GCC_CONFIG_OPTIONS=
#EXTRA_GCC_CONFIG_OPTIONS=--without-float
+# Uncomment the following if you don't want gettext support.
+DISABLE_NLS:=--disable-nls
+
#############################################################
#
# The list of stuff to build for the target filesystem
diff --git a/make/bash.mk b/make/bash.mk
index 23370612a..21a31d060 100644
--- a/make/bash.mk
+++ b/make/bash.mk
@@ -17,6 +17,9 @@ bash-source: $(DL_DIR)/$(BASH_SOURCE)
$(BASH_DIR)/.unpacked: $(DL_DIR)/$(BASH_SOURCE)
$(BASH_CAT) $(DL_DIR)/$(BASH_SOURCE) | tar -C $(BUILD_DIR) -xvf -
+ # This is broken when -lintl is added to LIBS
+ perl -i -p -e 's,LIBS_FOR_BUILD =.*,LIBS_FOR_BUILD =,g' \
+ $(BASH_DIR)/builtins/Makefile.in
touch $(BASH_DIR)/.unpacked
$(BASH_DIR)/.configured: $(BASH_DIR)/.unpacked
@@ -38,7 +41,7 @@ $(BASH_DIR)/.configured: $(BASH_DIR)/.unpacked
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
--with-curses \
--enable-alias \
);
diff --git a/make/bison.mk b/make/bison.mk
index 2803cdccb..f1dbf4607 100644
--- a/make/bison.mk
+++ b/make/bison.mk
@@ -22,6 +22,7 @@ $(BISON_DIR)/.unpacked: $(DL_DIR)/$(BISON_SOURCE)
$(BISON_DIR)/.configured: $(BISON_DIR)/.unpacked
(cd $(BISON_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
+ gt_cv_func_gnugettext2_libintl=yes \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
@@ -36,7 +37,7 @@ $(BISON_DIR)/.configured: $(BISON_DIR)/.unpacked
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
);
touch $(BISON_DIR)/.configured
diff --git a/make/coreutils.mk b/make/coreutils.mk
index e3e7fa39a..0d1d723d9 100644
--- a/make/coreutils.mk
+++ b/make/coreutils.mk
@@ -38,7 +38,7 @@ $(COREUTILS_DIR)/.configured: $(COREUTILS_DIR)/.unpacked
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
--disable-rpath \
--disable-dependency-tracking \
);
@@ -46,6 +46,9 @@ $(COREUTILS_DIR)/.configured: $(COREUTILS_DIR)/.unpacked
# is not set when cross compiling
perl -i -p -e 's,.*UTILS_OPEN_MAX.*,#define UTILS_OPEN_MAX 1019,g' \
$(COREUTILS_DIR)/config.h
+ # This is undefined when crosscompiling...
+ perl -i -p -e 's,.*HAVE_PROC_UPTIME.*,#define HAVE_PROC_UPTIME 1,g' \
+ $(COREUTILS_DIR)/config.h
touch $(COREUTILS_DIR)/.configured
$(COREUTILS_DIR)/$(COREUTILS_BINARY): $(COREUTILS_DIR)/.configured
diff --git a/make/diffutils.mk b/make/diffutils.mk
index 2778d6060..6ef49da66 100644
--- a/make/diffutils.mk
+++ b/make/diffutils.mk
@@ -36,7 +36,7 @@ $(DIFFUTILS_DIR)/.configured: $(DIFFUTILS_DIR)/.unpacked
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
);
touch $(DIFFUTILS_DIR)/.configured
diff --git a/make/dropbear_sshd.mk b/make/dropbear_sshd.mk
index 61a50fe90..eb9123528 100644
--- a/make/dropbear_sshd.mk
+++ b/make/dropbear_sshd.mk
@@ -38,7 +38,7 @@ $(DROPBEAR_SSHD_DIR)/.configured: $(DROPBEAR_SSHD_DIR)/.unpacked
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
--with-shared \
);
touch $(DROPBEAR_SSHD_DIR)/.configured
diff --git a/make/ed.mk b/make/ed.mk
index f1108e34d..c2754683c 100644
--- a/make/ed.mk
+++ b/make/ed.mk
@@ -33,7 +33,7 @@ $(ED_DIR)/.configured: $(ED_DIR)/.unpacked
--build=$(GNU_HOST_NAME) \
--prefix=/usr \
--exec-prefix=/usr \
- --disable-nls \
+ $(DISABLE_NLS) \
);
touch $(ED_DIR)/.configured
diff --git a/make/file.mk b/make/file.mk
index 5556c5fb2..eea380ae2 100644
--- a/make/file.mk
+++ b/make/file.mk
@@ -40,7 +40,7 @@ $(FILE_DIR)/.configured: $(FILE_DIR)/.unpacked
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
--enable-fsect-man5 \
);
touch $(FILE_DIR)/.configured
diff --git a/make/findutils.mk b/make/findutils.mk
index 5454e9ddb..518b5771f 100644
--- a/make/findutils.mk
+++ b/make/findutils.mk
@@ -38,7 +38,7 @@ $(FINDUTILS_DIR)/.configured: $(FINDUTILS_DIR)/.unpacked
--localstatedir=/var/lib \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
);
touch $(FINDUTILS_DIR)/.configured
diff --git a/make/flex.mk b/make/flex.mk
index 0edd074d1..89855d76c 100644
--- a/make/flex.mk
+++ b/make/flex.mk
@@ -41,7 +41,7 @@ $(FLEX_DIR)/.configured: $(FLEX_DIR)/.unpacked
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
);
touch $(FLEX_DIR)/.configured
diff --git a/make/gawk.mk b/make/gawk.mk
index a01dcb11f..da60945cf 100644
--- a/make/gawk.mk
+++ b/make/gawk.mk
@@ -37,7 +37,7 @@ $(GAWK_DIR)/.configured: $(GAWK_DIR)/.unpacked
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
);
touch $(GAWK_DIR)/.configured
diff --git a/make/gcc_target.mk b/make/gcc_target.mk
index 34bda8e52..3377b6645 100644
--- a/make/gcc_target.mk
+++ b/make/gcc_target.mk
@@ -148,18 +148,18 @@ $(TARGET_DIR)/usr/bin/ld: $(BINUTILS_DIR2)/binutils/objdump
GCC_FOR_TARGET=$(TARGET_CROSS)gcc \
CXX_FOR_TARGET=$(TARGET_CROSS)g++ \
RANLIB_FOR_TARGET=$(TARGET_CROSS)ranlib \
- prefix=$(TARGET_DIR)/usr \
- exec_prefix=$(TARGET_DIR)/usr \
- bindir=$(TARGET_DIR)/usr/bin \
- sbindir=$(TARGET_DIR)/usr/sbin \
- libexecdir=$(TARGET_DIR)/usr/lib \
- datadir=$(TARGET_DIR)/usr/share \
- sysconfdir=$(TARGET_DIR)/etc \
- localstatedir=$(TARGET_DIR)/var \
- libdir=$(TARGET_DIR)/usr/lib \
- infodir=$(TARGET_DIR)/usr/info \
- mandir=$(TARGET_DIR)/usr/man \
- includedir=$(TARGET_DIR)/usr/include \
+ prefix=/usr \
+ exec_prefix=/usr \
+ bindir=/usr/bin \
+ sbindir=/usr/sbin \
+ libexecdir=/usr/lib \
+ datadir=/usr/share \
+ sysconfdir=/etc \
+ localstatedir=/var \
+ libdir=/usr/lib \
+ infodir=/usr/info \
+ mandir=/usr/man \
+ includedir=/usr/include \
DESTDIR=$(TARGET_DIR) install
rm -rf $(TARGET_DIR)/info $(TARGET_DIR)/man $(TARGET_DIR)/share/doc \
$(TARGET_DIR)/share/locale
@@ -275,18 +275,6 @@ $(GCC_DIR)/.g++_build_hacks: $(GCC_DIR)/.gcc_build_hacks
$(GCC_DIR)/libstdc++-v3/src/Makefile.am $(GCC_DIR)/libstdc++-v3/src/Makefile.in;
perl -i -p -e "s,3\.0\.0,9.9.0,g;" $(GCC_DIR)/libstdc++-v3/acinclude.m4 \
$(GCC_DIR)/libstdc++-v3/aclocal.m4 $(GCC_DIR)/libstdc++-v3/configure;
- #
- # For now, we don't support locale-ified ctype (we will soon),
- # so bypass that problem for now...
- #
- perl -i -p -e "s,defined.*_GLIBCPP_USE_C99.*,1,g;" \
- $(GCC_DIR)/libstdc++-v3/config/locale/generic/c_locale.cc;
- cp $(GCC_DIR)/libstdc++-v3/config/os/generic/bits/ctype_base.h \
- $(GCC_DIR)/libstdc++-v3/config/os/gnu-linux/bits/
- cp $(GCC_DIR)/libstdc++-v3/config/os/generic/bits/ctype_inline.h \
- $(GCC_DIR)/libstdc++-v3/config/os/gnu-linux/bits/
- cp $(GCC_DIR)/libstdc++-v3/config/os/generic/bits/ctype_noninline.h \
- $(GCC_DIR)/libstdc++-v3/config/os/gnu-linux/bits/
touch $(GCC_DIR)/.g++_build_hacks
endif
@@ -340,7 +328,7 @@ $(GCC_BUILD_DIR3)/.configured: $(GCC_BUILD_DIR3)/.gcc_build_hacks
--with-local-prefix=/usr/local \
--libdir=/usr/lib \
--disable-shared $(MULTILIB) \
- --enable-target-optspace --disable-nls \
+ --enable-target-optspace $(DISABLE_NLS) \
--with-gnu-ld --disable-__cxa_atexit \
--enable-languages=$(TARGET_LANGUAGES) \
$(EXTRA_GCC_CONFIG_OPTIONS) \
@@ -376,18 +364,18 @@ $(TARGET_DIR)/usr/bin/gcc: $(GCC_BUILD_DIR3)/.compiled
GCC_FOR_TARGET=$(TARGET_CROSS)gcc \
CXX_FOR_TARGET=$(TARGET_CROSS)g++ \
RANLIB_FOR_TARGET=$(TARGET_CROSS)ranlib \
- prefix=$(TARGET_DIR)/usr \
- exec_prefix=$(TARGET_DIR)/usr \
- bindir=$(TARGET_DIR)/usr/bin \
- sbindir=$(TARGET_DIR)/usr/sbin \
- libexecdir=$(TARGET_DIR)/usr/lib \
- datadir=$(TARGET_DIR)/usr/share \
- sysconfdir=$(TARGET_DIR)/etc \
- localstatedir=$(TARGET_DIR)/var \
- libdir=$(TARGET_DIR)/usr/lib \
- infodir=$(TARGET_DIR)/usr/info \
- mandir=$(TARGET_DIR)/usr/man \
- includedir=$(TARGET_DIR)/usr/include \
+ prefix=/usr \
+ exec_prefix=/usr \
+ bindir=/usr/bin \
+ sbindir=/usr/sbin \
+ libexecdir=/usr/lib \
+ datadir=/usr/share \
+ sysconfdir=/etc \
+ localstatedir=/var \
+ libdir=/usr/lib \
+ infodir=/usr/info \
+ mandir=/usr/man \
+ includedir=/usr/include \
DESTDIR=$(TARGET_DIR) install
(cd $(TARGET_DIR)/usr/bin; ln -fs gcc cc)
(cd $(TARGET_DIR)/lib; ln -fs /usr/bin/cpp)
@@ -401,7 +389,9 @@ $(TARGET_DIR)/usr/bin/gcc: $(GCC_BUILD_DIR3)/.compiled
-mv $(TARGET_DIR)/lib/*.a $(TARGET_DIR)/usr/lib/
-mv $(TARGET_DIR)/lib/*.la $(TARGET_DIR)/usr/lib/
rm -f $(TARGET_DIR)/lib/libstdc++.so
- -(cd $(TARGET_DIR)/usr/lib; ln -fs /lib/libstdc++.so.5.0.2 libstdc++.so)
+ -(cd $(TARGET_DIR)/usr/lib; ln -fs /lib/libstdc++.so.5.0.5 libstdc++.so)
+ # A nasty hack to work around g++ adding -lgcc_eh to the link
+ -(cd $(TARGET_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/3.3.1/ ; ln -s libgcc.a libgcc_eh.a)
-(cd $(TARGET_DIR)/bin; find -type f | xargs $(STRIP) 2>&1 > /dev/null)
-(cd $(TARGET_DIR)/usr/bin; find -type f | xargs $(STRIP) 2>&1 > /dev/null)
rm -f $(TARGET_DIR)/usr/lib/*.la*
diff --git a/make/gdb.mk b/make/gdb.mk
index e696b65ec..7bff3399f 100644
--- a/make/gdb.mk
+++ b/make/gdb.mk
@@ -15,11 +15,15 @@ $(DL_DIR)/$(GDB_SOURCE):
$(GDB_DIR)/.unpacked: $(DL_DIR)/$(GDB_SOURCE) $(GDB_PATCH)
gunzip -c $(DL_DIR)/$(GDB_SOURCE) | tar -C $(BUILD_DIR) -xvf -
cat $(GDB_PATCH) | patch -p1 -d $(GDB_DIR)
+ #-perl -i -p -e "s,\@INTLLIBS\@,-lintl,g;" $(GDB_DIR)/gdb/Makefile.in
touch $(GDB_DIR)/.unpacked
$(GDB_DIR)/.configured: $(GDB_DIR)/.unpacked
(cd $(GDB_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
+ ac_cv_type_uintptr_t=yes \
+ gt_cv_func_gettext_libintl=yes \
+ ac_cv_func_dcgettext=yes \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
@@ -34,7 +38,7 @@ $(GDB_DIR)/.configured: $(GDB_DIR)/.unpacked
--mandir=/usr/man \
--infodir=/usr/info \
--includedir=$(STAGING_DIR)/include \
- --disable-nls \
+ $(DISABLE_NLS) \
--without-uiout --disable-gdbmi \
--disable-tui --disable-gdbtk --without-x \
--disable-sim --enable-gdbserver \
diff --git a/make/gdbserver.mk b/make/gdbserver.mk
index 103184cef..1ab44a236 100644
--- a/make/gdbserver.mk
+++ b/make/gdbserver.mk
@@ -27,7 +27,7 @@ $(GDB_WDIR)/.configured: $(GDB_DIR)/.unpacked
--mandir=/usr/man \
--infodir=/usr/info \
--includedir=$(STAGING_DIR)/include \
- --disable-nls \
+ $(DISABLE_NLS) \
--without-uiout --disable-gdbmi \
--disable-tui --disable-gdbtk --without-x \
--without-included-gettext \
diff --git a/make/grep.mk b/make/grep.mk
index eadf0df4b..7c205833c 100644
--- a/make/grep.mk
+++ b/make/grep.mk
@@ -36,7 +36,7 @@ $(GNUGREP_DIR)/.configured: $(GNUGREP_DIR)/.unpacked
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
--disable-perl-regexp \
--without-included-regex \
);
diff --git a/make/gzip.mk b/make/gzip.mk
index b1aba9a2f..8098dd933 100644
--- a/make/gzip.mk
+++ b/make/gzip.mk
@@ -40,7 +40,7 @@ $(GZIP_DIR)/.configured: $(GZIP_DIR)/.unpacked
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
$(GZIP_LARGEFILE) \
);
touch $(GZIP_DIR)/.configured
diff --git a/make/libglib12.mk b/make/libglib12.mk
index fee7f3b28..75bb38e7a 100644
--- a/make/libglib12.mk
+++ b/make/libglib12.mk
@@ -35,7 +35,7 @@ $(LIBGLIB12_DIR)/.configured: $(LIBGLIB12_DIR)/.unpacked
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
--enable-shared \
);
touch $(LIBGLIB12_DIR)/.configured
diff --git a/make/libtool.mk b/make/libtool.mk
index e924da9ea..308d4338c 100644
--- a/make/libtool.mk
+++ b/make/libtool.mk
@@ -36,7 +36,7 @@ $(LIBTOOL_DIR)/.configured: $(LIBTOOL_DIR)/.unpacked
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
);
touch $(LIBTOOL_DIR)/.configured
diff --git a/make/links.mk b/make/links.mk
index a54e4b0af..732fd8339 100644
--- a/make/links.mk
+++ b/make/links.mk
@@ -33,7 +33,7 @@ $(LINKS_DIR)/.configured: $(LINKS_DIR)/.unpacked
--localstatedir=/tmp \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
);
touch $(LINKS_DIR)/.configured
diff --git a/make/lrzsz.mk b/make/lrzsz.mk
index 3fedaa90c..493dbfc2f 100644
--- a/make/lrzsz.mk
+++ b/make/lrzsz.mk
@@ -51,7 +51,7 @@ $(LRZSZ_DIR)/.configured: $(LRZSZ_DIR)/.unpacked
--localstatedir=/tmp \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
--disable-timesync \
);
perl -i -p -e "s/-lnsl//;" $(LRZSZ_DIR)/src/Makefile
diff --git a/make/make.mk b/make/make.mk
index fdf3dc1be..353d4a09c 100644
--- a/make/make.mk
+++ b/make/make.mk
@@ -36,7 +36,7 @@ $(GNUMAKE_DIR)/.configured: $(GNUMAKE_DIR)/.unpacked
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
);
touch $(GNUMAKE_DIR)/.configured
diff --git a/make/mke2fs.mk b/make/mke2fs.mk
index f6b169717..6168cfaed 100644
--- a/make/mke2fs.mk
+++ b/make/mke2fs.mk
@@ -41,7 +41,7 @@ $(MKE2FS_DIR)/.configured: $(MKE2FS_DIR)/.unpacked
--disable-elf-shlibs --disable-swapfs \
--disable-debugfs --disable-imager \
--disable-resizer --disable-fsck \
- --without-catgets --disable-nls \
+ --without-catgets $(DISABLE_NLS) \
);
touch $(MKE2FS_DIR)/.configured
diff --git a/make/ncurses.mk b/make/ncurses.mk
index 45c009f9e..c6cd23c77 100644
--- a/make/ncurses.mk
+++ b/make/ncurses.mk
@@ -5,7 +5,7 @@
#
#############################################################
# Copyright (C) 2002 by Ken Restivo <ken@246gt.com>
-# $Id: ncurses.mk,v 1.26 2003/08/22 12:49:54 andersen Exp $
+# $Id: ncurses.mk,v 1.27 2003/09/03 07:18:14 mjn3 Exp $
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Library General Public License as
@@ -58,7 +58,7 @@ $(NCURSES_DIR)/.configured: $(NCURSES_DIR)/.dist
--with-default-terminfo-dir=/usr/share/terminfo \
--libdir=$(STAGING_DIR)/lib \
--with-shared --without-cxx --without-cxx-binding \
- --without-ada --without-progs --disable-nls \
+ --without-ada --without-progs $(DISABLE_NLS) \
--without-profile --without-debug --disable-rpath \
--enable-echo --enable-const --enable-overwrite \
);
diff --git a/make/newt.mk b/make/newt.mk
index 04c5c8b7c..9812007d9 100644
--- a/make/newt.mk
+++ b/make/newt.mk
@@ -38,7 +38,7 @@ $(NEWT_DIR)/.configured: $(NEWT_DIR)/.source
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
);
touch $(NEWT_DIR)/.configured;
diff --git a/make/ntp.mk b/make/ntp.mk
index d949d3066..f691b6678 100644
--- a/make/ntp.mk
+++ b/make/ntp.mk
@@ -39,7 +39,7 @@ $(NTP_DIR)/.configured: $(NTP_DIR)/.unpacked
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
--with-shared \
);
touch $(NTP_DIR)/.configured
diff --git a/make/openssh.mk b/make/openssh.mk
index 91fc741a3..73a1b0dd6 100644
--- a/make/openssh.mk
+++ b/make/openssh.mk
@@ -35,11 +35,10 @@ $(OPENSSH_DIR)/.configured: $(OPENSSH_DIR)/.unpacked
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
--includedir=$(STAGING_DIR)/include \
--disable-lastlog --disable-utmp \
--disable-utmpx --disable-wtmp --disable-wtmpx \
- --disable-nls --without-x \
+ --without-x $(DISABLE_NLS) \
);
touch $(OPENSSH_DIR)/.configured
diff --git a/make/patch.mk b/make/patch.mk
index 90ed1ad9d..17fe5176f 100644
--- a/make/patch.mk
+++ b/make/patch.mk
@@ -36,7 +36,7 @@ $(GNUPATCH_DIR)/.configured: $(GNUPATCH_DIR)/.unpacked
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
);
touch $(GNUPATCH_DIR)/.configured
diff --git a/make/pciutils.mk b/make/pciutils.mk
index ede63c12a..f8608d8fc 100644
--- a/make/pciutils.mk
+++ b/make/pciutils.mk
@@ -43,7 +43,7 @@ $(PCIUTILS_DIR)/.configured: $(PCIUTILS_DIR)/.unpacked
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
);
touch $(PCIUTILS_DIR)/.configured
diff --git a/make/pppd.mk b/make/pppd.mk
index 6622543a9..da7684070 100644
--- a/make/pppd.mk
+++ b/make/pppd.mk
@@ -41,7 +41,7 @@ $(PPPD_DIR)/.configured: $(PPPD_DIR)/.unpacked
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
);
touch $(PPPD_DIR)/.configured
diff --git a/make/sed.mk b/make/sed.mk
index 3342fb406..f7b3a137b 100644
--- a/make/sed.mk
+++ b/make/sed.mk
@@ -36,7 +36,7 @@ $(SED_DIR)/.configured: $(SED_DIR)/.unpacked
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
);
touch $(SED_DIR)/.configured
diff --git a/make/socat.mk b/make/socat.mk
index 35bc6326f..ed44803e2 100644
--- a/make/socat.mk
+++ b/make/socat.mk
@@ -42,7 +42,7 @@ $(SOCAT_WORKDIR)/Makefile: $(SOCAT_DIR)/.unpacked
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
);
$(SOCAT_WORKDIR)/socat: $(SOCAT_WORKDIR)/Makefile
diff --git a/make/strace.mk b/make/strace.mk
index 50de74d93..36be73a1a 100644
--- a/make/strace.mk
+++ b/make/strace.mk
@@ -35,7 +35,7 @@ $(STRACE_DIR)/.configured: $(STRACE_DIR)/.unpacked
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
);
touch $(STRACE_DIR)/.configured
diff --git a/make/tar.mk b/make/tar.mk
index 9fc76031e..0e1ea04eb 100644
--- a/make/tar.mk
+++ b/make/tar.mk
@@ -36,7 +36,7 @@ $(GNUTAR_DIR)/.configured: $(GNUTAR_DIR)/.unpacked
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
);
touch $(GNUTAR_DIR)/.configured
diff --git a/make/tn5250.mk b/make/tn5250.mk
index d360b0ca3..083630f6f 100644
--- a/make/tn5250.mk
+++ b/make/tn5250.mk
@@ -26,7 +26,7 @@ $(TN5250_DIR)/.configured: $(TN5250_DIR)/.dist
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
--with-slang --without-x --without-ssl \
);
touch $(TN5250_DIR)/.configured
diff --git a/make/uclibc_toolchain.mk b/make/uclibc_toolchain.mk
index cdc5321a7..a69e5e313 100644
--- a/make/uclibc_toolchain.mk
+++ b/make/uclibc_toolchain.mk
@@ -271,7 +271,7 @@ $(GCC_BUILD_DIR1)/.configured: $(GCC_DIR)/.gcc_build_hacks
--infodir=$(STAGING_DIR)/info \
--with-local-prefix=$(STAGING_DIR)/usr/local \
--oldincludedir=$(STAGING_DIR)/include $(MULTILIB) \
- --enable-target-optspace --disable-nls --with-gnu-ld \
+ --enable-target-optspace $(DISABLE_NLS) --with-gnu-ld \
--disable-shared --enable-languages=c --disable-__cxa_atexit \
$(EXTRA_GCC_CONFIG_OPTIONS) --program-prefix=$(ARCH)-uclibc-);
touch $(GCC_BUILD_DIR1)/.configured
@@ -338,7 +338,10 @@ $(UCLIBC_DIR)/.configured: $(UCLIBC_DIR)/.unpacked $(BUILD_DIR)/linux/.configure
perl -i -p -e 's,^LD_BIN.*,LD_BIN=$(STAGING_DIR)/bin/$(ARCH)-uclibc-ld,g' \
$(UCLIBC_DIR)/extra/gcc-uClibc/Makefile
$(MAKE) -C $(UCLIBC_DIR) oldconfig
- $(MAKE) -C $(UCLIBC_DIR) headers install_dev;
+ $(MAKE) -C $(UCLIBC_DIR) headers
+ zcat $(DL_DIR)/uClibc-locale-030818.tgz | tar -C $(UCLIBC_DIR)/extra/locale -xvf -
+ $(MAKE) -C $(UCLIBC_DIR)/extra/locale pregen
+ $(MAKE) -C $(UCLIBC_DIR) install_dev;
touch $(UCLIBC_DIR)/.configured
$(UCLIBC_DIR)/lib/libc.a: $(UCLIBC_DIR)/.configured
@@ -390,18 +393,6 @@ $(GCC_DIR)/.g++_build_hacks: $(GCC_DIR)/.patched
$(GCC_DIR)/libstdc++-v3/src/Makefile.am $(GCC_DIR)/libstdc++-v3/src/Makefile.in;
perl -i -p -e "s,3\.0\.0,9.9.0,g;" $(GCC_DIR)/libstdc++-v3/acinclude.m4 \
$(GCC_DIR)/libstdc++-v3/aclocal.m4 $(GCC_DIR)/libstdc++-v3/configure;
- #
- # For now, we don't support locale-ified ctype (we will soon),
- # so bypass that problem for now...
- #
- perl -i -p -e "s,defined.*_GLIBCPP_USE_C99.*,1,g;" \
- $(GCC_DIR)/libstdc++-v3/config/locale/generic/c_locale.cc;
- cp $(GCC_DIR)/libstdc++-v3/config/os/generic/ctype_base.h \
- $(GCC_DIR)/libstdc++-v3/config/os/gnu-linux/
- cp $(GCC_DIR)/libstdc++-v3/config/os/generic/ctype_inline.h \
- $(GCC_DIR)/libstdc++-v3/config/os/gnu-linux/
- cp $(GCC_DIR)/libstdc++-v3/config/os/generic/ctype_noninline.h \
- $(GCC_DIR)/libstdc++-v3/config/os/gnu-linux/
touch $(GCC_DIR)/.g++_build_hacks
$(GCC_BUILD_DIR2)/.configured: $(GCC_DIR)/.g++_build_hacks
@@ -428,7 +419,7 @@ $(GCC_BUILD_DIR2)/.configured: $(GCC_DIR)/.g++_build_hacks
--with-gxx-include-dir=$(STAGING_DIR)/include/c++ \
--oldincludedir=$(STAGING_DIR)/include \
--enable-shared $(MULTILIB) \
- --enable-target-optspace --disable-nls \
+ --enable-target-optspace $(DISABLE_NLS) \
--with-gnu-ld --disable-__cxa_atexit \
--enable-languages=$(TARGET_LANGUAGES) \
$(EXTRA_GCC_CONFIG_OPTIONS) \
diff --git a/make/uclibc_toolchain_2_95.mk b/make/uclibc_toolchain_2_95.mk
index adf7be89d..2f9c719ef 100644
--- a/make/uclibc_toolchain_2_95.mk
+++ b/make/uclibc_toolchain_2_95.mk
@@ -295,7 +295,7 @@ $(GCC_BUILD_DIR1)/.configured: $(GCC_DIR)/.gcc_build_hacks
--infodir=$(STAGING_DIR)/info \
--with-local-prefix=$(STAGING_DIR)/usr/local \
--oldincludedir=$(STAGING_DIR)/include $(MULTILIB) \
- --enable-target-optspace --disable-nls --with-gnu-ld \
+ --enable-target-optspace $(DISABLE_NLS) --with-gnu-ld \
--disable-shared --enable-languages=c --disable-__cxa_atexit \
$(EXTRA_GCC_CONFIG_OPTIONS) --program-prefix=$(ARCH)-uclibc-);
touch $(GCC_BUILD_DIR1)/.configured
@@ -488,7 +488,7 @@ $(GCC_BUILD_DIR2)/.configured: $(GCC_DIR)/.g++_build_hacks
--with-gxx-include-dir=$(STAGING_DIR)/include/c++ \
--oldincludedir=$(STAGING_DIR)/include \
--enable-shared $(MULTILIB) \
- --enable-target-optspace --disable-nls \
+ --enable-target-optspace $(DISABLE_NLS) \
--with-gnu-ld --disable-__cxa_atexit \
--enable-languages=$(TARGET_LANGUAGES) \
$(EXTRA_GCC_CONFIG_OPTIONS) \
diff --git a/make/util-linux.mk b/make/util-linux.mk
index bca50e9d9..90d854a0b 100644
--- a/make/util-linux.mk
+++ b/make/util-linux.mk
@@ -32,7 +32,7 @@ $(UTIL-LINUX_DIR)/.configured: $(UTIL-LINUX_DIR)/.unpacked
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
);
perl -pi -e "s,^INSTALLSUID=.*,INSTALLSUID=\\$$\(INSTALL\) -m \\$$\(BINMODE\)," \
$(UTIL-LINUX_DIR)/MCONFIG
diff --git a/make/valgrind.mk b/make/valgrind.mk
index bd92ec4e5..75f578231 100644
--- a/make/valgrind.mk
+++ b/make/valgrind.mk
@@ -37,7 +37,7 @@ $(VALGRIND_DIR)/.configured: $(VALGRIND_DIR)/.patched
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-nls \
+ $(DISABLE_NLS) \
--without-uiout --disable-valgrindmi \
--disable-tui --disable-valgrindtk \
--without-x --without-included-gettext \
diff --git a/make/wtools.mk b/make/wtools.mk
index 3c1ca0bc3..5e27721af 100644
--- a/make/wtools.mk
+++ b/make/wtools.mk
@@ -5,7 +5,7 @@
#############################################################
#
WTOOLS_SOURCE_URL=http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux
-WTOOLS_SOURCE=wireless_tools.26.pre7.tar.gz
+WTOOLS_SOURCE=wireless_tools.26.tar.gz
WTOOLS_BUILD_DIR=$(BUILD_DIR)/wireless_tools.26
$(DL_DIR)/$(WTOOLS_SOURCE):
diff --git a/sources/gcc-810-libstd++-locale.patch b/sources/gcc-810-libstd++-locale.patch
new file mode 100644
index 000000000..ab476a693
--- /dev/null
+++ b/sources/gcc-810-libstd++-locale.patch
@@ -0,0 +1,200 @@
+diff -urN gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/c_locale.cc gcc-3.3.1/libstdc++-v3/config/locale/gnu/c_locale.cc
+--- gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/c_locale.cc 2003-02-28 00:09:52.000000000 -0600
++++ gcc-3.3.1/libstdc++-v3/config/locale/gnu/c_locale.cc 2003-08-31 10:55:17.000000000 -0500
+@@ -195,12 +195,15 @@
+ "LC_TIME",
+ "LC_COLLATE",
+ "LC_MONETARY",
+- "LC_MESSAGES",
++ "LC_MESSAGES"
++#if _GLIBCPP_NUM_CATEGORIES != 0
++ ,
+ "LC_PAPER",
+ "LC_NAME",
+ "LC_ADDRESS",
+ "LC_TELEPHONE",
+ "LC_MEASUREMENT",
+ "LC_IDENTIFICATION"
++#endif
+ };
+ } // namespace std
+diff -urN gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/c_locale.h gcc-3.3.1/libstdc++-v3/config/locale/gnu/c_locale.h
+--- gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/c_locale.h 2003-01-23 12:56:16.000000000 -0600
++++ gcc-3.3.1/libstdc++-v3/config/locale/gnu/c_locale.h 2003-08-31 10:55:17.000000000 -0500
+@@ -46,6 +46,10 @@
+ #define _GLIBCPP_C_LOCALE_GNU 1
+
+ #define _GLIBCPP_NUM_CATEGORIES 6
++#ifdef __UCLIBC__
++#undef _GLIBCPP_NUM_CATEGORIES
++#define _GLIBCPP_NUM_CATEGORIES 0
++#endif
+
+ #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
+ namespace __gnu_cxx
+diff -urN gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/c++locale_internal.h gcc-3.3.1/libstdc++-v3/config/locale/gnu/c++locale_internal.h
+--- gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/c++locale_internal.h 2002-09-05 02:46:16.000000000 -0500
++++ gcc-3.3.1/libstdc++-v3/config/locale/gnu/c++locale_internal.h 2003-08-31 10:55:17.000000000 -0500
+@@ -48,7 +48,9 @@
+ extern "C" __typeof(towlower_l) __towlower_l;
+ extern "C" __typeof(towupper_l) __towupper_l;
+ extern "C" __typeof(wcscoll_l) __wcscoll_l;
++#ifdef HAVE_WCSFTIME
+ extern "C" __typeof(wcsftime_l) __wcsftime_l;
++#endif
+ extern "C" __typeof(wcsxfrm_l) __wcsxfrm_l;
+ extern "C" __typeof(wctype_l) __wctype_l;
+ extern "C" __typeof(newlocale) __newlocale;
+diff -urN gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/messages_members.cc gcc-3.3.1/libstdc++-v3/config/locale/gnu/messages_members.cc
+--- gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/messages_members.cc 2003-02-28 00:09:52.000000000 -0600
++++ gcc-3.3.1/libstdc++-v3/config/locale/gnu/messages_members.cc 2003-08-31 10:55:17.000000000 -0500
+@@ -36,6 +36,13 @@
+ #include <locale>
+ #include <bits/c++locale_internal.h>
+
++#ifdef __UCLIBC__
++extern "C" char *__dcgettext(const char *domainname,
++ const char *msgid, int category);
++#undef gettext
++#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
++#endif
++
+ namespace std
+ {
+ // Specializations.
+diff -urN gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/messages_members.h gcc-3.3.1/libstdc++-v3/config/locale/gnu/messages_members.h
+--- gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/messages_members.h 2003-01-06 16:20:03.000000000 -0600
++++ gcc-3.3.1/libstdc++-v3/config/locale/gnu/messages_members.h 2003-08-31 10:55:17.000000000 -0500
+@@ -33,6 +33,12 @@
+
+ // Written by Benjamin Kosnik <bkoz@redhat.com>
+
++#ifdef __UCLIBC__
++extern "C" char *__textdomain(const char *domainname);
++extern "C" char *__bindtextdomain(const char *domainname,
++ const char *dirname);
++#endif
++
+ // Non-virtual member functions.
+ template<typename _CharT>
+ messages<_CharT>::messages(size_t __refs)
+@@ -61,7 +67,11 @@
+ messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
+ const char* __dir) const
+ {
++#ifdef __UCLIBC__
++ __bindtextdomain(__s.c_str(), __dir);
++#else
+ bindtextdomain(__s.c_str(), __dir);
++#endif
+ return this->do_open(__s, __loc);
+ }
+
+@@ -83,7 +93,11 @@
+ {
+ // No error checking is done, assume the catalog exists and can
+ // be used.
++#ifdef __UCLIBC__
++ __textdomain(__s.c_str());
++#else
+ textdomain(__s.c_str());
++#endif
+ return 0;
+ }
+
+diff -urN gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/numeric_members.cc gcc-3.3.1/libstdc++-v3/config/locale/gnu/numeric_members.cc
+--- gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/numeric_members.cc 2003-02-28 00:09:52.000000000 -0600
++++ gcc-3.3.1/libstdc++-v3/config/locale/gnu/numeric_members.cc 2003-08-31 10:55:18.000000000 -0500
+@@ -86,8 +86,13 @@
+ else
+ {
+ // Named locale.
++#ifdef __UCLIBC__
++ _M_decimal_point = static_cast<wchar_t>(((union { const char *__s; unsigned int __w; }){ __s: __cloc->decimal_point_wc }).__w);
++ _M_thousands_sep = static_cast<wchar_t>(((union { const char *__s; unsigned int __w; }){ __s: __cloc->thousands_sep_wc }).__w);
++#else
+ _M_decimal_point = static_cast<wchar_t>(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc)}).__w);
+ _M_thousands_sep = static_cast<wchar_t>(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc)}).__w);
++#endif
+ if (_M_thousands_sep == L'\0')
+ _M_grouping = "";
+ else
+diff -urN gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/time_members.cc gcc-3.3.1/libstdc++-v3/config/locale/gnu/time_members.cc
+--- gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/time_members.cc 2003-02-28 00:09:52.000000000 -0600
++++ gcc-3.3.1/libstdc++-v3/config/locale/gnu/time_members.cc 2003-08-31 10:55:18.000000000 -0500
+@@ -183,6 +183,7 @@
+ }
+ }
+
++#ifndef __UCLIBC__
+ #ifdef _GLIBCPP_USE_WCHAR_T
+ template<>
+ void
+@@ -328,4 +329,5 @@
+ }
+ }
+ #endif
++#endif
+ }
+diff -urN gcc-3.3.1-old/libstdc++-v3/config/os/gnu-linux/ctype_base.h gcc-3.3.1/libstdc++-v3/config/os/gnu-linux/ctype_base.h
+--- gcc-3.3.1-old/libstdc++-v3/config/os/gnu-linux/ctype_base.h 2002-09-09 15:26:41.000000000 -0500
++++ gcc-3.3.1/libstdc++-v3/config/os/gnu-linux/ctype_base.h 2003-08-31 10:55:18.000000000 -0500
+@@ -36,11 +36,18 @@
+ struct ctype_base
+ {
+ // Non-standard typedefs.
++#ifdef __UCLIBC__
++ typedef const __ctype_touplow_t* __to_type;
++ // NB: Offsets into ctype<char>::_M_table force a particular size
++ // on the mask type. Because of this, we don't use an enum.
++ typedef __ctype_mask_t mask;
++#else
+ typedef const int* __to_type;
+-
+ // NB: Offsets into ctype<char>::_M_table force a particular size
+ // on the mask type. Because of this, we don't use an enum.
+ typedef unsigned short mask;
++#endif
++
+ static const mask upper = _ISupper;
+ static const mask lower = _ISlower;
+ static const mask alpha = _ISalpha;
+diff -urN gcc-3.3.1-old/libstdc++-v3/include/c_std/std_cstdlib.h gcc-3.3.1/libstdc++-v3/include/c_std/std_cstdlib.h
+--- gcc-3.3.1-old/libstdc++-v3/include/c_std/std_cstdlib.h 2003-04-18 05:08:05.000000000 -0500
++++ gcc-3.3.1/libstdc++-v3/include/c_std/std_cstdlib.h 2003-08-31 10:55:18.000000000 -0500
+@@ -101,9 +101,11 @@
+ using ::labs;
+ using ::ldiv;
+ using ::malloc;
++#if _GLIBCPP_USE_WCHAR_T
+ using ::mblen;
+ using ::mbstowcs;
+ using ::mbtowc;
++#endif
+ using ::qsort;
+ using ::rand;
+ using ::realloc;
+@@ -112,8 +114,10 @@
+ using ::strtol;
+ using ::strtoul;
+ using ::system;
++#if _GLIBCPP_USE_WCHAR_T
+ using ::wcstombs;
+ using ::wctomb;
++#endif
+
+ inline long
+ abs(long __i) { return labs(__i); }
+diff -urN gcc-3.3.1-old/libstdc++-v3/include/c_std/std_cwchar.h gcc-3.3.1/libstdc++-v3/include/c_std/std_cwchar.h
+--- gcc-3.3.1-old/libstdc++-v3/include/c_std/std_cwchar.h 2003-04-18 05:08:05.000000000 -0500
++++ gcc-3.3.1/libstdc++-v3/include/c_std/std_cwchar.h 2003-08-31 10:55:18.000000000 -0500
+@@ -165,7 +165,9 @@
+ using ::wcscoll;
+ using ::wcscpy;
+ using ::wcscspn;
++#ifdef HAVE_WCSFTIME
+ using ::wcsftime;
++#endif
+ using ::wcslen;
+ using ::wcsncat;
+ using ::wcsncmp;