program_invocation_short_name strings.  Some GNU packages
          (like tar and coreutils) utilize these for extra useful
          output, but in general are not required.
+
+config BR2_UCLIBC_INSTALL_TEST_SUITE
+       bool "Compile and install uClibc tests"
+       default n
+       select BR2_PACKAGE_MAKE
+       help
+         Enabling this option will compile and install the uClibc test suite.
+         This is useful if you want to check if the uClibc library is working
+         for your architecture and/or help developing uClibc.
+
+         The test suite will be installed into /root/uClibc directory. To run
+         the test suite enter the /root/uClibc/test directory and type
+         "make UCLIBC_ONLY=1 CC=/bin/true check".
+
+         See the /root/uClibc/test/README for additional information.
+
+         This is not needed at all for normal builds, so you can safely say no
+         if you do not plan to dig into your C library.
 
        touch -c $@
 
 UCLIBC_TARGETS=$(TARGET_DIR)/lib/libc.so.0
+ifeq ($(BR2_UCLIBC_INSTALL_TEST_SUITE),y)
+UCLIBC_TARGETS+=uclibc-test
+endif
 endif
 
 uclibc: $(cross_compiler) $(STAGING_DIR)/usr/lib/libc.a $(UCLIBC_TARGETS)
 
 uclibc-configured-source: uclibc-source
 
-uclibc-clean:
+uclibc-clean: uclibc-test-clean
        -$(MAKE1) -C $(UCLIBC_DIR) clean
        rm -f $(UCLIBC_DIR)/.config
 
-uclibc-dirclean:
+uclibc-dirclean: uclibc-test-dirclean
        rm -rf $(UCLIBC_DIR)
 
 uclibc-target-utils:
 
 uclibc-target-utils-source: $(DL_DIR)/$(UCLIBC_SOURCE)
 
+$(UCLIBC_DIR)/test/unistd/errno:
+       $(MAKE) -C $(UCLIBC_DIR)/test \
+       ARCH_CFLAGS=-I$(STAGING_DIR)/include \
+       UCLIBC_ONLY=1 TEST_INSTALLED_UCLIBC=1 compile
+
+$(TARGET_DIR)/root/uClibc/test/unistd/errno: $(UCLIBC_DIR)/test/unistd/errno
+       mkdir -p $(TARGET_DIR)/root/uClibc
+       cp -rdpf $(UCLIBC_DIR)/test $(TARGET_DIR)/root/uClibc
+       $(INSTALL) $(UCLIBC_DIR)/Rules.mak $(TARGET_DIR)/root/uClibc
+       $(INSTALL) $(UCLIBC_DIR)/.config $(TARGET_DIR)/root/uClibc
+
+uclibc-test: uclibc $(TARGET_DIR)/root/uClibc/test/unistd/errno
+
+uclibc-test-source: uclibc-source
+
+uclibc-test-clean:
+       -$(MAKE) -C $(UCLIBC_DIR)/test clean
+       rm -rf $(TARGET_DIR)/root/uClibc
+
+uclibc-test-dirclean:
+       rm -rf $(TARGET_DIR)/root/uClibc
+
 #############################################################
 #
 # uClibc for the target just needs its header files
 
 uclibc_target: cross_compiler uclibc $(TARGET_DIR)/usr/lib/libc.a $(TARGET_DIR)/usr/bin/ldd
 
-uclibc_target-clean:
+uclibc_target-clean: uclibc-test-clean
        rm -rf $(TARGET_DIR)/usr/include \
                $(TARGET_DIR)/usr/lib/libc.a $(TARGET_DIR)/usr/bin/ldd
 
-uclibc_target-dirclean:
+uclibc_target-dirclean: uclibc-test-dirclean
        rm -rf $(TARGET_DIR)/usr/include
 
 endif