summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile24
-rw-r--r--libc/misc/Makefile5
-rw-r--r--libc/misc/gnu/obstack.c3
3 files changed, 29 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 4523799b7..bcf1c3526 100644
--- a/Makefile
+++ b/Makefile
@@ -28,7 +28,10 @@ noconfig_targets := menuconfig config oldconfig randconfig \
TOPDIR=./
include Rules.mak
-DIRS = extra ldso libc libcrypt libresolv libnsl libutil libm libpthread libintl
+DIRS = extra ldso libc libcrypt libresolv libnsl libutil libm libpthread
+ifeq ($(strip $(UCLIBC_HAS_GETTEXT_AWARENESS)),y)
+ DIRS += libintl
+endif
ifeq ($(strip $(HAVE_DOT_CONFIG)),y)
@@ -48,7 +51,9 @@ ifeq ($(strip $(HAVE_SHARED)),y)
@$(MAKE) -C libutil shared
@$(MAKE) -C libm shared
@$(MAKE) -C libpthread shared
+ifeq ($(strip $(UCLIBC_HAS_GETTEXT_AWARENESS)),y)
@$(MAKE) -C libintl shared
+endif
else
ifeq ($(SHARED_TARGET),)
@echo
@@ -177,6 +182,23 @@ install_dev:
install -d $(PREFIX)$(DEVEL_PREFIX)/include
-install -m 644 lib/*.[ao] $(PREFIX)$(DEVEL_PREFIX)/lib/
tar -chf - include | tar -xf - -C $(PREFIX)$(DEVEL_PREFIX);
+ifneq ($(strip $(UCLIBC_HAS_WCHAR)),y)
+ # Remove wide char headers if no wide char support.
+ rm $(PREFIX)$(DEVEL_PREFIX)/include/wctype.h
+ rm $(PREFIX)$(DEVEL_PREFIX)/include/wchar.h
+endif
+ifneq ($(strip $(UCLIBC_HAS_LOCALE)),y)
+ # Remove iconv header if no locale support.
+ rm $(PREFIX)$(DEVEL_PREFIX)/include/iconv.h
+endif
+ifneq ($(strip $(UCLIBC_HAS_XLOCALE)),y)
+ # Remove xlocale header if no extended locale support.
+ rm $(PREFIX)$(DEVEL_PREFIX)/include/xlocale.h
+endif
+ifneq ($(strip $(UCLIBC_HAS_GETTEXT_AWARENESS)),y)
+ # Remove libintl header if no gettext support.
+ rm $(PREFIX)$(DEVEL_PREFIX)/include/libintl.h
+endif
-@for i in `find $(PREFIX)$(DEVEL_PREFIX) -type d` ; do \
chmod -f 755 $$i; chmod -f 644 $$i/*.h; \
done;
diff --git a/libc/misc/Makefile b/libc/misc/Makefile
index 24a963516..875898259 100644
--- a/libc/misc/Makefile
+++ b/libc/misc/Makefile
@@ -27,7 +27,7 @@ include $(TOPDIR)Rules.mak
DIRS = assert ctype dirent file fnmatch glob internals \
mntent syslog time utmp sysvipc statfs \
- error ttyent gnu search intl locale
+ error ttyent gnu search locale
ifeq ($(strip $(UCLIBC_HAS_REGEX)),y)
DIRS += regex
endif
@@ -40,6 +40,9 @@ endif
ifeq ($(strip $(UCLIBC_HAS_WCHAR)),y)
DIRS += wctype wchar
endif
+ifeq ($(strip $(UCLIBC_HAS_GETTEXT_AWARENESS)),y)
+DIRS += intl
+endif
all: libc.a
diff --git a/libc/misc/gnu/obstack.c b/libc/misc/gnu/obstack.c
index a3f7f3f45..0db0ad350 100644
--- a/libc/misc/gnu/obstack.c
+++ b/libc/misc/gnu/obstack.c
@@ -463,7 +463,8 @@ _obstack_memory_used (h)
/* Define the error handler. */
# ifndef _
-# if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC
+/* # if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC */
+# ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
# include <libintl.h>
# ifndef _
# define _(Str) __dcgettext (NULL, Str, LC_MESSAGES)