diff options
author | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2007-01-21 12:58:51 +0000 |
---|---|---|
committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2007-01-21 12:58:51 +0000 |
commit | 726abd4e519f97eda6f6dfc1b6b9505fc37e8b23 (patch) | |
tree | 660193529c48e113266f8e844b8a309db45ecc2b | |
parent | 50399135542bfb1d7f49ff276f47081313d1426d (diff) | |
download | buildroot-novena-726abd4e519f97eda6f6dfc1b6b9505fc37e8b23.tar.gz buildroot-novena-726abd4e519f97eda6f6dfc1b6b9505fc37e8b23.zip |
- provide means to "install uClibc headers in the target filesystem" without a native compiler
-rw-r--r-- | package/Config.in | 4 | ||||
-rw-r--r-- | toolchain/Makefile.in | 2 | ||||
-rw-r--r-- | toolchain/gcc/Config.in.2 | 1 | ||||
-rw-r--r-- | toolchain/uClibc/Config.in.2 | 6 | ||||
-rw-r--r-- | toolchain/uClibc/Makefile.in | 4 | ||||
-rw-r--r-- | toolchain/uClibc/uclibc.mk | 30 |
6 files changed, 44 insertions, 3 deletions
diff --git a/package/Config.in b/package/Config.in index d8a6317ee..e9ecf99ea 100644 --- a/package/Config.in +++ b/package/Config.in @@ -21,6 +21,7 @@ if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS source "package/gawk/Config.in" endif source "toolchain/gcc/Config.in.2" +source "toolchain/uClibc/Config.in.2" source "toolchain/ccache/Config.in.2" if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS source "package/grep/Config.in" @@ -185,6 +186,7 @@ source "package/hostap/Config.in" source "package/iproute2/Config.in" source "package/ipsec-tools/Config.in" source "package/iptables/Config.in" +#source "package/l2tp/Config.in" source "package/libcgi/Config.in" source "package/libcgicc/Config.in" source "package/libpcap/Config.in" @@ -237,6 +239,7 @@ menuconfig BR2_X_WINDOW_SYSTEM Support for X and related packages if BR2_X_WINDOW_SYSTEM +#source "package/microwin/Config.in" comment "X server" source "package/xorg/Config.in" source "package/tinyx/Config.in" @@ -250,7 +253,6 @@ source "package/libgtk2/Config.in" source "package/fontconfig/Config.in" source "package/freetype/Config.in" comment "Window managers" -source "package/microwin/Config.in" source "package/metacity/Config.in" comment "X applications" source "package/dillo/Config.in" diff --git a/toolchain/Makefile.in b/toolchain/Makefile.in index 1a2c0f26f..45ee14a3b 100644 --- a/toolchain/Makefile.in +++ b/toolchain/Makefile.in @@ -16,3 +16,5 @@ OPTIMIZE_FOR_CPU=$(ARCH) # gcc has a bunch of needed stuff.... include toolchain/gcc/Makefile.in + +include toolchain/uClibc/Makefile.in diff --git a/toolchain/gcc/Config.in.2 b/toolchain/gcc/Config.in.2 index c523b9705..24b316307 100644 --- a/toolchain/gcc/Config.in.2 +++ b/toolchain/gcc/Config.in.2 @@ -1,6 +1,7 @@ config BR2_PACKAGE_GCC_TARGET bool "native toolchain in the target filesystem" default n + select BR2_PACKAGE_UCLIBC_TARGET_HEADERS help If you want the target system to be able to run binutils/gcc and compile native code, say Y here. diff --git a/toolchain/uClibc/Config.in.2 b/toolchain/uClibc/Config.in.2 new file mode 100644 index 000000000..90a065e6e --- /dev/null +++ b/toolchain/uClibc/Config.in.2 @@ -0,0 +1,6 @@ +config BR2_PACKAGE_UCLIBC_TARGET_HEADERS + bool "install uClibc headers in the target filesystem" + default n + help + Install the uClibc headers and kernel-headers in the + target filesystem. diff --git a/toolchain/uClibc/Makefile.in b/toolchain/uClibc/Makefile.in new file mode 100644 index 000000000..f83651ef0 --- /dev/null +++ b/toolchain/uClibc/Makefile.in @@ -0,0 +1,4 @@ + +ifeq ($(strip $(BR2_PACKAGE_UCLIBC_TARGET_HEADERS)),y) +TARGETS+=uclibc_target_headers +endif diff --git a/toolchain/uClibc/uclibc.mk b/toolchain/uClibc/uclibc.mk index 8d26a7f74..09ff16b62 100644 --- a/toolchain/uClibc/uclibc.mk +++ b/toolchain/uClibc/uclibc.mk @@ -315,11 +315,37 @@ $(TARGET_DIR)/usr/lib/libc.a: $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/lib/libc.a fi; touch -c $(TARGET_DIR)/usr/lib/libc.a +$(TARGET_DIR)/usr/include/libc-internal.h: $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/lib/libc.a + $(MAKE1) -C $(UCLIBC_DIR) \ + PREFIX=$(TARGET_DIR) \ + DEVEL_PREFIX=/usr/ \ + RUNTIME_PREFIX=/ \ + install_headers + # Install the kernel headers to the target dir if necessary + if [ ! -f $(TARGET_DIR)/usr/include/linux/version.h ] ; then \ + cp -pLR $(LINUX_HEADERS_DIR)/include/asm $(TARGET_DIR)/usr/include/ ; \ + cp -pLR $(LINUX_HEADERS_DIR)/include/linux $(TARGET_DIR)/usr/include/ ; \ + if [ -d $(LINUX_HEADERS_DIR)/include/asm-generic ] ; then \ + cp -pLR $(LINUX_HEADERS_DIR)/include/asm-generic \ + $(TARGET_DIR)/usr/include/ ; \ + fi; \ + fi; + +ifeq ($(BR2_PACKAGE_UCLIBC_TARGET_HEADERS),y) +uclibc_target_headers: $(TARGET_DIR)/usr/include/libc-internal.h +uclibc_target_headers-clean: + rm -rf $(TARGET_DIR)/usr/include +uclibc_target_headers-dirclean: + rm -rf $(TARGET_DIR)/usr/include +else +uclibc_target_headers: ; +endif + uclibc_target: gcc uclibc $(TARGET_DIR)/usr/lib/libc.a $(TARGET_DIR)/usr/bin/ldd uclibc_target-clean: - rm -f $(TARGET_DIR)/include + rm -rf $(TARGET_DIR)/usr/include uclibc_target-dirclean: - rm -f $(TARGET_DIR)/include + rm -rf $(TARGET_DIR)/usr/include |