toolchain: sync eglibc headers/build split with uclibc changes
SVN-Revision: 32584
This commit is contained in:
		| @@ -28,9 +28,8 @@ | |||||||
| curdir:=toolchain | curdir:=toolchain | ||||||
|  |  | ||||||
| # subdirectories to descend into | # subdirectories to descend into | ||||||
| $(curdir)/builddirs := $(if $(CONFIG_GDB),gdb) $(if $(CONFIG_INSIGHT),insight) $(if $(CONFIG_EXTERNAL_TOOLCHAIN),wrapper,kernel-headers binutils gcc/minimal gcc/initial gcc/final $(LIBC)) | $(curdir)/builddirs := $(if $(CONFIG_GDB),gdb) $(if $(CONFIG_INSIGHT),insight) $(if $(CONFIG_EXTERNAL_TOOLCHAIN),wrapper,kernel-headers binutils gcc/minimal gcc/initial gcc/final $(LIBC)/headers $(LIBC)) | ||||||
| ifdef CONFIG_USE_UCLIBC | ifdef CONFIG_USE_UCLIBC | ||||||
|   $(curdir)/builddirs += $(LIBC)/headers |  | ||||||
|   $(curdir)/builddirs += $(LIBC)/utils |   $(curdir)/builddirs += $(LIBC)/utils | ||||||
| endif | endif | ||||||
| $(curdir)/builddirs-compile:=$($(curdir)/builddirs-prepare) | $(curdir)/builddirs-compile:=$($(curdir)/builddirs-prepare) | ||||||
| @@ -43,21 +42,13 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),) | |||||||
|   $(curdir)/gcc/initial/prepare:=$(curdir)/gcc/minimal/prepare |   $(curdir)/gcc/initial/prepare:=$(curdir)/gcc/minimal/prepare | ||||||
|   $(curdir)/gcc/final/prepare:=$(curdir)/gcc/initial/prepare |   $(curdir)/gcc/final/prepare:=$(curdir)/gcc/initial/prepare | ||||||
|  |  | ||||||
|   ifdef CONFIG_USE_UCLIBC |   $(curdir)/$(LIBC)/headers/compile:=$(curdir)/kernel-headers/install | ||||||
|     $(curdir)/$(LIBC)/headers/compile:=$(curdir)/kernel-headers/install |   $(curdir)/gcc/initial/compile:=$(curdir)/$(LIBC)/headers/install | ||||||
|     $(curdir)/gcc/initial/compile:=$(curdir)/$(LIBC)/headers/install |   $(curdir)/$(LIBC)/compile:=$(curdir)/gcc/initial/install | ||||||
|     $(curdir)/$(LIBC)/compile:=$(curdir)/gcc/initial/install |   $(curdir)/gcc/final/compile:=$(curdir)/$(LIBC)/install | ||||||
|     $(curdir)/gcc/final/compile:=$(curdir)/$(LIBC)/install |   $(curdir)/$(LIBC)/utils/compile:=$(curdir)/gcc/final/install | ||||||
|     $(curdir)/$(LIBC)/utils/compile:=$(curdir)/gcc/final/install |   $(curdir)/$(LIBC)/prepare:=$(curdir)/$(LIBC)/headers/prepare | ||||||
|     $(curdir)/$(LIBC)/prepare:=$(curdir)/$(LIBC)/headers/prepare |   $(curdir)/$(LIBC)/utils/prepare:=$(curdir)/$(LIBC)/headers/prepare | ||||||
|     $(curdir)/$(LIBC)/utils/prepare:=$(curdir)/$(LIBC)/headers/prepare |  | ||||||
|   else |  | ||||||
|     $(curdir)/$(LIBC)/prepare:=$(curdir)/kernel-headers/install |  | ||||||
|     $(curdir)/$(LIBC)/compile:=$(curdir)/gcc/initial/install |  | ||||||
|     $(curdir)/$(LIBC)/install:=$(curdir)/gcc/final/install |  | ||||||
|     $(curdir)/gcc/initial/compile:=$(curdir)/$(LIBC)/prepare |  | ||||||
|     $(curdir)/gcc/final/compile:=$(curdir)/$(LIBC)/compile |  | ||||||
|   endif |  | ||||||
| endif | endif | ||||||
|  |  | ||||||
| ifdef CONFIG_GCC_VERSION_LLVM | ifdef CONFIG_GCC_VERSION_LLVM | ||||||
|   | |||||||
| @@ -1,122 +1,15 @@ | |||||||
| # | PATH_PREFIX := . | ||||||
| # Copyright (C) 2006-2011 OpenWrt.org | VARIANT:=final | ||||||
| # |  | ||||||
| # This is free software, licensed under the GNU General Public License v2. |  | ||||||
| # See /LICENSE for more information. |  | ||||||
| # |  | ||||||
| include $(TOPDIR)/rules.mk |  | ||||||
|  |  | ||||||
| PKG_NAME:=eglibc | include ./common.mk | ||||||
| PKG_VERSION:=$(call qstrip,$(CONFIG_EGLIBC_VERSION)) |  | ||||||
| PKG_REVISION:=$(call qstrip,$(CONFIG_EGLIBC_REVISION)) |  | ||||||
|  |  | ||||||
| PKG_SOURCE_PROTO:=svn | define Host/Compile | ||||||
| PKG_SOURCE_VERSION:=$(PKG_REVISION) | 	$(MAKE) -C $(CUR_BUILD_DIR) all | ||||||
| PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)-r$(PKG_REVISION) |  | ||||||
| PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.bz2 |  | ||||||
|  |  | ||||||
| ifneq ($(CONFIG_EGLIBC_VERSION_2_13),) |  | ||||||
|   PKG_SOURCE_URL:=svn://svn.eglibc.org/branches/eglibc-2_13 |  | ||||||
| endif |  | ||||||
| ifneq ($(CONFIG_EGLIBC_VERSION_2_14),) |  | ||||||
|   PKG_SOURCE_URL:=svn://svn.eglibc.org/branches/eglibc-2_14 |  | ||||||
| endif |  | ||||||
| ifneq ($(CONFIG_EGLIBC_VERSION_2_15),) |  | ||||||
|   PKG_SOURCE_URL:=svn://svn.eglibc.org/branches/eglibc-2_15 |  | ||||||
| endif |  | ||||||
|  |  | ||||||
| PATCH_DIR:=./patches/$(PKG_VERSION) |  | ||||||
|  |  | ||||||
| HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(PKG_SOURCE_SUBDIR) |  | ||||||
|  |  | ||||||
| include $(INCLUDE_DIR)/toolchain-build.mk |  | ||||||
|  |  | ||||||
| HOST_STAMP_BUILT:=$(TOOLCHAIN_DIR)/stamp/.eglibc_built |  | ||||||
| HOST_STAMP_INSTALLED:=$(TOOLCHAIN_DIR)/stamp/.eglibc_installed |  | ||||||
|  |  | ||||||
| HOST_BUILD_DIR1:=$(HOST_BUILD_DIR)-initial |  | ||||||
| HOST_BUILD_DIR2:=$(HOST_BUILD_DIR)-final |  | ||||||
|  |  | ||||||
| EGLIBC_CFLAGS:= \ |  | ||||||
| 	$(TARGET_CFLAGS) |  | ||||||
|  |  | ||||||
| EGLIBC_CONFIGURE:= \ |  | ||||||
| 	BUILD_CC="$(HOSTCC)" \ |  | ||||||
| 	$(TARGET_CONFIGURE_OPTS) \ |  | ||||||
| 	CFLAGS="$(EGLIBC_CFLAGS)" \ |  | ||||||
| 	libc_cv_slibdir="/lib" \ |  | ||||||
| 	use_ldconfig=no \ |  | ||||||
| 	$(HOST_BUILD_DIR)/libc/configure \ |  | ||||||
| 		--prefix= \ |  | ||||||
| 		--build=$(GNU_HOST_NAME) \ |  | ||||||
| 		--host=$(REAL_GNU_TARGET_NAME) \ |  | ||||||
| 		--with-headers=$(TOOLCHAIN_DIR)/include \ |  | ||||||
| 		--disable-profile \ |  | ||||||
| 		--without-gd \ |  | ||||||
| 		--without-cvs \ |  | ||||||
| 		--enable-add-ons \ |  | ||||||
|  |  | ||||||
| ifeq ($(CONFIG_SOFT_FLOAT),) |  | ||||||
|   EGLIBC_CONFIGURE+= \ |  | ||||||
| 	--with-fp |  | ||||||
| else |  | ||||||
|   EGLIBC_CONFIGURE+= \ |  | ||||||
| 	--without-fp |  | ||||||
| endif |  | ||||||
|  |  | ||||||
| EGLIBC_MAKE:= \ |  | ||||||
| 	$(MAKE) \ |  | ||||||
|  |  | ||||||
| export libc_cv_ssp=no |  | ||||||
| export ac_cv_header_cpuid_h=yes |  | ||||||
|  |  | ||||||
| define Host/SetToolchainInfo |  | ||||||
| 	$(SED) 's,^\(LIBC_TYPE\)=.*,\1=$(PKG_NAME),' $(TOOLCHAIN_DIR)/info.mk |  | ||||||
| 	$(SED) 's,^\(LIBC_URL\)=.*,\1=http://www.eglibc.org/,' $(TOOLCHAIN_DIR)/info.mk |  | ||||||
| 	$(SED) 's,^\(LIBC_VERSION\)=.*,\1=$(PKG_VERSION),' $(TOOLCHAIN_DIR)/info.mk |  | ||||||
| 	$(SED) 's,^\(LIBC_SO_VERSION\)=.*,\1=$(PKG_VERSION),' $(TOOLCHAIN_DIR)/info.mk |  | ||||||
| endef | endef | ||||||
|  |  | ||||||
| define Stage1/Configure | define Host/Install | ||||||
| 	mkdir -p $(HOST_BUILD_DIR1) | 	$(call Host/SetToolchainInfo) | ||||||
| 	$(CP) $(HOST_BUILD_DIR)/libc/option-groups.config $(HOST_BUILD_DIR1)/ | 	$(MAKE) -C $(CUR_BUILD_DIR) \ | ||||||
| 	( cd $(HOST_BUILD_DIR1); rm -f config.cache; \ |  | ||||||
| 		$(EGLIBC_CONFIGURE) \ |  | ||||||
| 	); |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Stage1/Compile |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Stage1/Install |  | ||||||
| 	mkdir -p $(BUILD_DIR_TOOLCHAIN)/$(LIBC)-dev/{include,lib} |  | ||||||
| 	$(EGLIBC_MAKE) -C $(HOST_BUILD_DIR1) \ |  | ||||||
| 		install_root="$(BUILD_DIR_TOOLCHAIN)/$(LIBC)-dev" \ |  | ||||||
| 		install-bootstrap-headers=yes \ |  | ||||||
| 		install-headers  |  | ||||||
| 	$(EGLIBC_MAKE) -C $(HOST_BUILD_DIR1) \ |  | ||||||
| 		csu/subdir_lib |  | ||||||
| 	( cd $(HOST_BUILD_DIR1); \ |  | ||||||
| 		$(CP) csu/crt1.o csu/crti.o csu/crtn.o $(BUILD_DIR_TOOLCHAIN)/$(LIBC)-dev/lib/ \ |  | ||||||
| 	) |  | ||||||
| 	$(TARGET_CC) -nostdlib -nostartfiles -shared -x c /dev/null \ |  | ||||||
| 		-o $(BUILD_DIR_TOOLCHAIN)/$(LIBC)-dev/lib/libc.so |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Stage2/Configure |  | ||||||
| 	mkdir -p $(HOST_BUILD_DIR2) |  | ||||||
| 	$(CP) $(HOST_BUILD_DIR)/libc/option-groups.config $(HOST_BUILD_DIR2)/ |  | ||||||
| 	( cd $(HOST_BUILD_DIR2); rm -f config.cache; \ |  | ||||||
| 		$(EGLIBC_CONFIGURE) \ |  | ||||||
| 	); |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Stage2/Compile |  | ||||||
| 	$(EGLIBC_MAKE) -C $(HOST_BUILD_DIR2) all |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Stage2/Install |  | ||||||
| 	$(EGLIBC_MAKE) -C $(HOST_BUILD_DIR2) \ |  | ||||||
| 		install_root="$(TOOLCHAIN_DIR)" \ | 		install_root="$(TOOLCHAIN_DIR)" \ | ||||||
| 		install | 		install | ||||||
| 	( cd $(TOOLCHAIN_DIR) ; \ | 	( cd $(TOOLCHAIN_DIR) ; \ | ||||||
| @@ -130,35 +23,4 @@ define Stage2/Install | |||||||
| 	) | 	) | ||||||
| endef | endef | ||||||
|  |  | ||||||
| define Host/Prepare |  | ||||||
| 	$(call Host/SetToolchainInfo) |  | ||||||
| 	$(call Host/Prepare/Default) |  | ||||||
| 	ln -snf $(PKG_SOURCE_SUBDIR) $(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME) |  | ||||||
| 	$(SED) 's,y,n,' $(HOST_BUILD_DIR)/libc/option-groups.defaults |  | ||||||
| 	grep 'CONFIG_EGLIBC_OPTION_' $(TOPDIR)/.config | sed -e "s,\\(# \)\\?CONFIG_EGLIBC_\\(.*\\),\\1\\2,g" > $(HOST_BUILD_DIR)/libc/option-groups.config |  | ||||||
| 	ln -sf ../ports $(HOST_BUILD_DIR)/libc/ |  | ||||||
| 	( cd $(HOST_BUILD_DIR)/libc; autoconf --force ) |  | ||||||
| 	$(call Stage1/Configure) |  | ||||||
| 	$(call Stage1/Compile) |  | ||||||
| 	$(call Stage1/Install) |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Host/Configure |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Host/Compile |  | ||||||
| 	$(call Stage2/Configure) |  | ||||||
| 	$(call Stage2/Compile) |  | ||||||
| 	$(call Stage2/Install) |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Host/Install |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| define Host/Clean |  | ||||||
| 	rm -rf $(HOST_BUILD_DIR) $(HOST_BUILD_DIR1) $(HOST_BUILD_DIR2) \ |  | ||||||
| 		$(BUILD_DIR_TOOLCHAIN)/$(LIBC)-dev \ |  | ||||||
| 		$(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME) |  | ||||||
| endef |  | ||||||
|  |  | ||||||
| $(eval $(call HostBuild)) | $(eval $(call HostBuild)) | ||||||
|   | |||||||
							
								
								
									
										92
									
								
								toolchain/eglibc/common.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										92
									
								
								toolchain/eglibc/common.mk
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,92 @@ | |||||||
|  | # | ||||||
|  | # Copyright (C) 2006-2011 OpenWrt.org | ||||||
|  | # | ||||||
|  | # This is free software, licensed under the GNU General Public License v2. | ||||||
|  | # See /LICENSE for more information. | ||||||
|  | # | ||||||
|  | include $(TOPDIR)/rules.mk | ||||||
|  |  | ||||||
|  | PKG_NAME:=eglibc | ||||||
|  | PKG_VERSION:=$(call qstrip,$(CONFIG_EGLIBC_VERSION)) | ||||||
|  | PKG_REVISION:=$(call qstrip,$(CONFIG_EGLIBC_REVISION)) | ||||||
|  |  | ||||||
|  | PKG_SOURCE_PROTO:=svn | ||||||
|  | PKG_SOURCE_VERSION:=$(PKG_REVISION) | ||||||
|  | PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)-r$(PKG_REVISION) | ||||||
|  | PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.bz2 | ||||||
|  |  | ||||||
|  | ifneq ($(CONFIG_EGLIBC_VERSION_2_13),) | ||||||
|  |   PKG_SOURCE_URL:=svn://svn.eglibc.org/branches/eglibc-2_13 | ||||||
|  | endif | ||||||
|  | ifneq ($(CONFIG_EGLIBC_VERSION_2_14),) | ||||||
|  |   PKG_SOURCE_URL:=svn://svn.eglibc.org/branches/eglibc-2_14 | ||||||
|  | endif | ||||||
|  | ifneq ($(CONFIG_EGLIBC_VERSION_2_15),) | ||||||
|  |   PKG_SOURCE_URL:=svn://svn.eglibc.org/branches/eglibc-2_15 | ||||||
|  | endif | ||||||
|  |  | ||||||
|  | PATCH_DIR:=$(PATH_PREFIX)/patches/$(PKG_VERSION) | ||||||
|  |  | ||||||
|  | HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(PKG_SOURCE_SUBDIR) | ||||||
|  | CUR_BUILD_DIR:=$(HOST_BUILD_DIR)-$(VARIANT) | ||||||
|  |  | ||||||
|  | include $(INCLUDE_DIR)/toolchain-build.mk | ||||||
|  |  | ||||||
|  | HOST_STAMP_PREPARED:=$(HOST_BUILD_DIR)/.prepared | ||||||
|  | HOST_STAMP_CONFIGURED:=$(CUR_BUILD_DIR)/.configured | ||||||
|  | HOST_STAMP_BUILT:=$(CUR_BUILD_DIR)/.built | ||||||
|  | HOST_STAMP_INSTALLED:=$(TOOLCHAIN_DIR)/stamp/.eglibc_$(VARIANT)_installed | ||||||
|  |  | ||||||
|  |  | ||||||
|  | EGLIBC_CONFIGURE:= \ | ||||||
|  | 	BUILD_CC="$(HOSTCC)" \ | ||||||
|  | 	$(TARGET_CONFIGURE_OPTS) \ | ||||||
|  | 	CFLAGS="$(TARGET_CFLAGS)" \ | ||||||
|  | 	libc_cv_slibdir="/lib" \ | ||||||
|  | 	use_ldconfig=no \ | ||||||
|  | 	$(HOST_BUILD_DIR)/libc/configure \ | ||||||
|  | 		--prefix= \ | ||||||
|  | 		--build=$(GNU_HOST_NAME) \ | ||||||
|  | 		--host=$(REAL_GNU_TARGET_NAME) \ | ||||||
|  | 		--with-headers=$(TOOLCHAIN_DIR)/include \ | ||||||
|  | 		--disable-profile \ | ||||||
|  | 		--without-gd \ | ||||||
|  | 		--without-cvs \ | ||||||
|  | 		--enable-add-ons \ | ||||||
|  | 		--$(if $(CONFIG_SOFT_FLOAT),without,with)-fp | ||||||
|  |  | ||||||
|  | export libc_cv_ssp=no | ||||||
|  | export ac_cv_header_cpuid_h=yes | ||||||
|  |  | ||||||
|  | define Host/SetToolchainInfo | ||||||
|  | 	$(SED) 's,^\(LIBC_TYPE\)=.*,\1=$(PKG_NAME),' $(TOOLCHAIN_DIR)/info.mk | ||||||
|  | 	$(SED) 's,^\(LIBC_URL\)=.*,\1=http://www.eglibc.org/,' $(TOOLCHAIN_DIR)/info.mk | ||||||
|  | 	$(SED) 's,^\(LIBC_VERSION\)=.*,\1=$(PKG_VERSION),' $(TOOLCHAIN_DIR)/info.mk | ||||||
|  | 	$(SED) 's,^\(LIBC_SO_VERSION\)=.*,\1=$(PKG_VERSION),' $(TOOLCHAIN_DIR)/info.mk | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Host/Configure | ||||||
|  | 	[ -f $(HOST_BUILD_DIR)/.autoconf ] || { \ | ||||||
|  | 		cd $(HOST_BUILD_DIR)/libc; \ | ||||||
|  | 		autoconf --force && \ | ||||||
|  | 		touch $(HOST_BUILD_DIR)/.autoconf; \ | ||||||
|  | 	} | ||||||
|  | 	mkdir -p $(CUR_BUILD_DIR) | ||||||
|  | 	grep 'CONFIG_EGLIBC_OPTION_' $(TOPDIR)/.config | sed -e "s,\\(# \)\\?CONFIG_EGLIBC_\\(.*\\),\\1\\2,g" > $(CUR_BUILD_DIR)/option-groups.config | ||||||
|  | 	( cd $(CUR_BUILD_DIR); rm -f config.cache; \ | ||||||
|  | 		$(EGLIBC_CONFIGURE) \ | ||||||
|  | 	); | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Host/Prepare | ||||||
|  | 	$(call Host/Prepare/Default) | ||||||
|  | 	ln -snf $(PKG_SOURCE_SUBDIR) $(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME) | ||||||
|  | 	$(SED) 's,y,n,' $(HOST_BUILD_DIR)/libc/option-groups.defaults | ||||||
|  | 	ln -sf ../ports $(HOST_BUILD_DIR)/libc/ | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Host/Clean | ||||||
|  | 	rm -rf $(CUR_BUILD_DIR)* \ | ||||||
|  | 		$(BUILD_DIR_TOOLCHAIN)/$(LIBC)-dev \ | ||||||
|  | 		$(BUILD_DIR_TOOLCHAIN)/$(PKG_NAME) | ||||||
|  | endef | ||||||
							
								
								
									
										26
									
								
								toolchain/eglibc/headers/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								toolchain/eglibc/headers/Makefile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | |||||||
|  | PATH_PREFIX:=.. | ||||||
|  | VARIANT:=headers | ||||||
|  |  | ||||||
|  | include ../common.mk | ||||||
|  |  | ||||||
|  | define Host/Compile | ||||||
|  |  | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Host/Install | ||||||
|  | 	$(call Host/SetToolchainInfo) | ||||||
|  | 	mkdir -p $(BUILD_DIR_TOOLCHAIN)/$(LIBC)-dev/{include,lib} | ||||||
|  | 	$(MAKE) -C $(CUR_BUILD_DIR) \ | ||||||
|  | 		install_root="$(BUILD_DIR_TOOLCHAIN)/$(LIBC)-dev" \ | ||||||
|  | 		install-bootstrap-headers=yes \ | ||||||
|  | 		install-headers | ||||||
|  | 	$(MAKE) -C $(CUR_BUILD_DIR) \ | ||||||
|  | 		csu/subdir_lib | ||||||
|  | 	( cd $(CUR_BUILD_DIR); \ | ||||||
|  | 		$(CP) csu/crt1.o csu/crti.o csu/crtn.o $(BUILD_DIR_TOOLCHAIN)/$(LIBC)-dev/lib/ \ | ||||||
|  | 	) | ||||||
|  | 	$(TARGET_CC) -nostdlib -nostartfiles -shared -x c /dev/null \ | ||||||
|  | 		-o $(BUILD_DIR_TOOLCHAIN)/$(LIBC)-dev/lib/libc.so | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | $(eval $(call HostBuild)) | ||||||
		Reference in New Issue
	
	Block a user
	 Felix Fietkau
					Felix Fietkau