From 726abd4e519f97eda6f6dfc1b6b9505fc37e8b23 Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Sun, 21 Jan 2007 12:58:51 +0000 Subject: - provide means to "install uClibc headers in the target filesystem" without a native compiler --- toolchain/Makefile.in | 2 ++ toolchain/gcc/Config.in.2 | 1 + toolchain/uClibc/Config.in.2 | 6 ++++++ toolchain/uClibc/Makefile.in | 4 ++++ toolchain/uClibc/uclibc.mk | 30 ++++++++++++++++++++++++++++-- 5 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 toolchain/uClibc/Config.in.2 create mode 100644 toolchain/uClibc/Makefile.in (limited to 'toolchain') 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 -- cgit v1.2.3