diff options
author | Abdoulaye Walsimou Gaye <awg@embtoolkit.org> | 2012-11-19 23:41:11 +0100 |
---|---|---|
committer | Abdoulaye Walsimou Gaye <awg@embtoolkit.org> | 2012-11-19 23:41:11 +0100 |
commit | 33ad056c3a1e6be0da7ca1aacf72c7cd46643cf3 (patch) | |
tree | 80bee08a34917fc6b4e16b629fc918692d57a025 | |
parent | 7ea77ed8b8242dd401aea95bc5f6614f32a7a521 (diff) | |
download | embtoolkit-33ad056c3a1e6be0da7ca1aacf72c7cd46643cf3.tar.gz embtoolkit-33ad056c3a1e6be0da7ca1aacf72c7cd46643cf3.tar.bz2 embtoolkit-33ad056c3a1e6be0da7ca1aacf72c7cd46643cf3.tar.xz |
Toolchain: eglibc: fix installation
Signed-off-by: Abdoulaye Walsimou Gaye <awg@embtoolkit.org>
-rw-r--r-- | kconfig/eglibc.kconfig | 16 | ||||
-rw-r--r-- | mk/eglibc.mk | 129 |
2 files changed, 73 insertions, 72 deletions
diff --git a/kconfig/eglibc.kconfig b/kconfig/eglibc.kconfig index 3b5f5dd..251b2f9 100644 --- a/kconfig/eglibc.kconfig +++ b/kconfig/eglibc.kconfig @@ -91,6 +91,22 @@ config EMBTK_EGLIBC_NEED_PATCH bool default y +config EMBTK_EGLIBC_HEADERS_SVN_REVISION + int + default EMBTK_EGLIBC_SVN_REVISION +config EMBTK_EGLIBC_HEADERS_SVN_BRANCH + string + default EMBTK_EGLIBC_SVN_BRANCH +config EMBTK_EGLIBC_HEADEERS_VERSION_STRING + string + default EMBTK_EGLIBC_VERSION_STRING +config EMBTK_EGLIBC_HEADERS_NEED_PATCH + bool + default EMBTK_EGLIBC_NEED_PATCH +config EMBTK_EGLIBC_HEADERS_VERSION_SVN + bool + default EMBTK_EGLIBC_VERSION_SVN + comment "------------------------------------" comment "----- EGLIBC options configuration" comment "------------------------------------" diff --git a/mk/eglibc.mk b/mk/eglibc.mk index f11d1fc..236941d 100644 --- a/mk/eglibc.mk +++ b/mk/eglibc.mk @@ -24,13 +24,16 @@ ################################################################################ EGLIBC_NAME := eglibc -EGLIBC_HEADERS_NAME := eglibc_headers EGLIBC_VERSION := $(call embtk_get_pkgversion,eglibc) EGLIBC_SVN_SITE := http://www.eglibc.org/svn -EGLIBC_BUILD_DIR := $(embtk_toolsb)/eglibc EGLIBC_SRC_DIR := $(call __embtk_pkg_localsvn,eglibc) -EGLIBC_HEADERS_BUILD_DIR := $(embtk_toolsb)/eglibc-headers -EGLIBC_HEADERS_SRC_DIR := $(call __embtk_pkg_localsvn,eglibc) +EGLIBC_BUILD_DIR := $(embtk_toolsb)/eglibc-build + +EGLIBC_HEADERS_NAME := eglibc_headers +EGLIBC_HEADERS_VERSION := $(EGLIBC_VERSION) +EGLIBC_HEADERS_SVN_SITE := $(EGLIBC_SVN_SITE) +EGLIBC_HEADERS_SRC_DIR := $(EGLIBC_SRC_DIR) +EGLIBC_HEADERS_BUILD_DIR := $(embtk_toolsb)/eglibc-headers-build EGLIBC_HEADERS_KCONFIGS_NAME := EGLIBC embtk_eglibc_cflags := $(TARGET_CFLAGS) $(EMBTK_TARGET_MCPU) @@ -52,12 +55,38 @@ eglibc_headers_optgroups_f := $(EGLIBC_HEADERS_BUILD_DIR)/option-groups.config # # eglibc headers install # + +define embtk_configure_eglibc_headers + cd $(EGLIBC_HEADERS_BUILD_DIR); \ + BUILD_CC=$(HOSTCC_CACHED) \ + CFLAGS="$(embtk_eglibc_cflags)" \ + CC=$(TARGETCC) \ + CXX=$(TARGETCXX) \ + AR=$(TARGETAR) \ + RANLIB=$(TARGETRANLIB) \ + $(CONFIG_SHELL) $(EGLIBC_SRC_DIR)/libc/configure \ + --prefix=/usr --with-headers=$(embtk_sysroot)/usr/include \ + --host=$(STRICT_GNU_TARGET) --build=$(HOST_BUILD) \ + $(embtk_eglibc_floattype) --disable-profile --without-gd --without-cvs \ + --enable-add-ons --enable-kernel="2.6.27" $(embtk_eglibc_versioning-y) \ + --with-bugurl=$(EMBTK_BUGURL) + touch touch $(call __embtk_pkg_dotconfigured_f,eglibc_headers) +endef + define __embtk_install_eglibc_headers $(call embtk_pinfo,"Installing eglibc headers...") - $(embtk_download_eglibc) + $(call embtk_download_pkg,eglibc) $(embtk_parse_eglibc_optgroups) $(embtk_configure_eglibc_headers) - $(embtk_install_eglibc_headers) + $(MAKE) -C $(EGLIBC_HEADERS_BUILD_DIR) install-headers \ + install_root=$(embtk_sysroot) install-bootstrap-headers=yes && \ + $(MAKE) -C $(EGLIBC_HEADERS_BUILD_DIR) csu/subdir_lib + cp $(EGLIBC_HEADERS_BUILD_DIR)/csu/crt1.o $(embtk_sysroot)/usr/$(LIBDIR)/ + cp $(EGLIBC_HEADERS_BUILD_DIR)/csu/crti.o $(embtk_sysroot)/usr/$(LIBDIR)/ + cp $(EGLIBC_HEADERS_BUILD_DIR)/csu/crtn.o $(embtk_sysroot)/usr/$(LIBDIR)/ + $(TARGETCC) -nostdlib -nostartfiles -shared -x c /dev/null \ + -o $(embtk_sysroot)/usr/lib/libc.so + touch $(call __embtk_pkg_dotinstalled_f,eglibc_headers) endef define embtk_install_eglibc_headers @@ -68,43 +97,6 @@ endef # # eglibc install # -define __embtk_install_eglibc - $(call embtk_pinfo,"Installing eglibc...") - $(embtk_download_eglibc) - $(embtk_parse_eglibc_optgroups) - $(embtk_configure_eglibc) - $(embtk_install_eglibc) -endef -define embtk_install_eglibc - $(if $(call __embtk_pkg_installed-y,eglibc),true, \ - $(__embtk_install_eglibc)) -endef - -# -# clean targets -# -define embtk_cleanup_eglibc - rm -rf $(EGLIBC_BUILD_DIR) -endef - -define embtk_cleanup_eglibc_headers - rm -rf $(EGLIBC_HEADERS_BUILD_DIR) -endef - -# -# download and macros -# -define embtk_download_eglibc - $(call embtk_download_pkg,eglibc) - $(call __embtk_download_pkg_patches,eglibc) - $(call __embtk_applypatch_pkg,eglibc) - cd $(EGLIBC_SRC_DIR); touch `find . -name configure` - [ -e $(EGLIBC_SRC_DIR)/libc/ports ] || \ - ln -sf $(EGLIBC_SRC_DIR)/ports $(EGLIBC_SRC_DIR)/libc/ports -endef - -download_eglibc download_eglibc_headers: - $(embtk_download_eglibc) define embtk_configure_eglibc cd $(EGLIBC_BUILD_DIR); \ @@ -122,44 +114,37 @@ define embtk_configure_eglibc --with-bugurl=$(EMBTK_BUGURL) \ --with-pkgversion="EGLIBC from embtoolkit-$(EMBTK_VERSION)" touch $(EGLIBC_BUILD_DIR)/.eglibc.embtk.conifgured + touch $(call __embtk_pkg_dotconfigured_f,eglibc) endef -define embtk_configure_eglibc_headers - cd $(EGLIBC_HEADERS_BUILD_DIR); \ - BUILD_CC=$(HOSTCC_CACHED) \ - CFLAGS="$(embtk_eglibc_cflags)" \ - CC=$(TARGETCC) \ - CXX=$(TARGETCXX) \ - AR=$(TARGETAR) \ - RANLIB=$(TARGETRANLIB) \ - $(CONFIG_SHELL) $(EGLIBC_SRC_DIR)/libc/configure \ - --prefix=/usr --with-headers=$(embtk_sysroot)/usr/include \ - --host=$(STRICT_GNU_TARGET) --build=$(HOST_BUILD) \ - $(embtk_eglibc_floattype) --disable-profile --without-gd --without-cvs \ - --enable-add-ons --enable-kernel="2.6.27" $(embtk_eglibc_versioning-y) \ - --with-bugurl=$(EMBTK_BUGURL) - touch $(EGLIBC_HEADERS_BUILD_DIR)/.eglibc_headers.embtk.configured +define __embtk_install_eglibc + $(call embtk_pinfo,"Installing eglibc...") + $(embtk_configure_eglibc) + PATH=$(PATH):$(embtk_tools)/bin/ $(MAKE) -C $(EGLIBC_BUILD_DIR) $(J) + PATH=$(PATH):$(embtk_tools)/bin/ $(MAKE) -C $(EGLIBC_BUILD_DIR) \ + install_root=$(embtk_sysroot) install + touch $(call __embtk_pkg_dotinstalled_f,eglibc) endef define embtk_install_eglibc - PATH=$(PATH):$(embtk_tools)/bin/ $(MAKE) -C $(EGLIBC_BUILD_DIR) $(J) - PATH=$(PATH):$(embtk_tools)/bin/ $(MAKE) -C $(EGLIBC_BUILD_DIR) install \ - install_root=$(embtk_sysroot) - touch $(EGLIBC_BUILD_DIR)/.eglibc.embtk.installed + $(if $(call __embtk_pkg_installed-y,eglibc),true, \ + $(__embtk_install_eglibc)) endef -define embtk_install_eglibc_headers - $(MAKE) -C $(EGLIBC_HEADERS_BUILD_DIR) install-headers \ - install_root=$(embtk_sysroot) install-bootstrap-headers=yes && \ - $(MAKE) -C $(EGLIBC_HEADERS_BUILD_DIR) csu/subdir_lib - cp $(EGLIBC_HEADERS_BUILD_DIR)/csu/crt1.o $(embtk_sysroot)/usr/lib/ - cp $(EGLIBC_HEADERS_BUILD_DIR)/csu/crti.o $(embtk_sysroot)/usr/lib/ - cp $(EGLIBC_HEADERS_BUILD_DIR)/csu/crtn.o $(embtk_sysroot)/usr/lib/ - $(TARGETCC) -nostdlib -nostartfiles -shared -x c /dev/null \ - -o $(embtk_sysroot)/usr/lib/libc.so - touch $(EGLIBC_HEADERS_BUILD_DIR)/.eglibc_headers.embtk.installed +# +# clean targets +# +define embtk_cleanup_eglibc + rm -rf $(EGLIBC_BUILD_DIR) endef +define embtk_cleanup_eglibc_headers + rm -rf $(EGLIBC_HEADERS_BUILD_DIR) +endef + +# +# options groups parsing +# __embtk_get_eglibc_optgroups = grep "CONFIG_KEMBTK_EGLIBC_" $(EMBTK_DOTCONFIG) \ | sed -e 's/CONFIG_KEMBTK_EGLIBC_*//g' | sed -e 's/"//g' define embtk_parse_eglibc_optgroups |