aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2010-04-20 16:18:08 +0000
committerFlorian Fainelli <florian@openwrt.org>2010-04-20 16:18:08 +0000
commit919f5d8ee53f430be11637c61f479cf4992ca839 (patch)
treeb31b36336f28314dd72c28852b1dcf5f76f62905 /tools
parent6edd065384aff0d9b7aba8205d5df441d9b21e29 (diff)
downloadmaster-187ad058-919f5d8ee53f430be11637c61f479cf4992ca839.tar.gz
master-187ad058-919f5d8ee53f430be11637c61f479cf4992ca839.tar.bz2
master-187ad058-919f5d8ee53f430be11637c61f479cf4992ca839.zip
[toolchain] fix graphite options with gcc-4.5, add libelf for LTO, fix mbsd_multi patch, patch from Bernhard Loos
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21046 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'tools')
-rw-r--r--tools/Makefile13
-rw-r--r--tools/libelf/Makefile49
2 files changed, 55 insertions, 7 deletions
diff --git a/tools/Makefile b/tools/Makefile
index cad5011c30..a173722ad2 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -11,11 +11,8 @@ curdir:=tools
# subdirectories to descend into
tools-y :=
ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
-ifeq ($(CONFIG_GCC_VERSION_4_5),y)
-tools-$(CONFIG_GCC_VERSION_4_5) += gmp mpfr mpc
-else
-tools-$(CONFIG_GCC_VERSION_4_3)$(CONFIG_GCC_VERSION_4_4) += gmp mpfr
-endif
+tools-$(CONFIG_GCC_VERSION_4_3)$(CONFIG_GCC_VERSION_4_4)$(CONFIG_GCC_VERSION_4_5) += gmp mpfr
+tools-$(CONFIG_GCC_VERSION_4_5) += mpc libelf
endif
tools-y += m4 autoconf automake bison pkg-config sed mklibs
tools-y += sstrip ipkg-utils genext2fs libuuid mtd-utils mkimage
@@ -32,8 +29,10 @@ endif
tools-$(CONFIG_CCACHE) += ccache
ifdef CONFIG_GCC_USE_GRAPHITE
- tools-y += ppl cloog
- $(curdir)/cloog/compile := $(curdir)/ppl/install
+ ifeq ($(CONFIG_GCC_USE_SYSTEM_PPL_CLOOG),)
+ tools-y += ppl cloog
+ $(curdir)/cloog/compile := $(curdir)/ppl/install
+ endif
endif
# builddir dependencies
diff --git a/tools/libelf/Makefile b/tools/libelf/Makefile
new file mode 100644
index 0000000000..00d424f3fd
--- /dev/null
+++ b/tools/libelf/Makefile
@@ -0,0 +1,49 @@
+#
+# Copyright (C) 2010 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:=libelf
+PKG_VERSION:=0.8.13
+PKG_MD5SUM:=4136d7b4c04df68b686570afa26988ac
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=http://www.mr511.de/software/
+
+include $(INCLUDE_DIR)/host-build.mk
+
+HOST_CONFIGURE_ARGS += \
+ --disable-shared \
+ --enable-elf64
+
+define Host/Configure
+ (cd $(HOST_BUILD_DIR)/$(3); \
+ $(HOST_CONFIGURE_CMD) \
+ $(HOST_CONFIGURE_ARGS); \
+ )
+endef
+
+
+define Host/Compile
+ $(MAKE) -C $(HOST_BUILD_DIR)/lib/ libelf.a
+endef
+
+define Host/Install
+ $(INSTALL_DIR) $(STAGING_DIR_HOST)/{lib,include/libelf}
+ $(CP) $(HOST_BUILD_DIR)/lib/{elf_repl.h,gelf.h,libelf.h,nlist.h,sys_elf.h} \
+ $(STAGING_DIR_HOST)/include/libelf/
+ $(CP) $(HOST_BUILD_DIR)/lib/libelf.a $(STAGING_DIR_HOST)/lib/
+endef
+
+define Host/Clean
+ rm -rf $(STAGING_DIR_HOST)/include/libelf
+ rm -f $(STAGING_DIR_HOST)/lib/libelf.a
+ $(call Host/Clean/Default)
+endef
+
+$(eval $(call HostBuild))