diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-10-10 19:25:48 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-10-10 19:25:48 +0000 |
commit | 1d8d2242239ca0472eb9a168f911fdc88f5bf53f (patch) | |
tree | 9805d1be913bda014319f149a2fee2ee1994722f /toolchain/llvm | |
parent | bcf5f70a6859b4ef275c8a63f001b5caf9eac6a3 (diff) |
gcc: add llvm-gcc and llvm from trunk (does not successfully compile a target yet, but gets close)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18019 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'toolchain/llvm')
-rw-r--r-- | toolchain/llvm/Makefile | 44 | ||||
-rw-r--r-- | toolchain/llvm/patches/100-darwin_arch_auto.patch | 19 | ||||
-rw-r--r-- | toolchain/llvm/patches/110-darwin_version_detect.patch | 16 |
3 files changed, 79 insertions, 0 deletions
diff --git a/toolchain/llvm/Makefile b/toolchain/llvm/Makefile new file mode 100644 index 000000000..fef29c01a --- /dev/null +++ b/toolchain/llvm/Makefile @@ -0,0 +1,44 @@ +# +# Copyright (C) 2006 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:=llvm +PKG_VERSION:=r83568 +PKG_SOURCE_VERSION:=5687d8a26c08d089c60df2c92d048ab85bcdb2b9 +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=git://repo.or.cz/llvm.git +PKG_SOURCE_PROTO:=git +PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) +BUILD_DIR_TOOLCHAIN:=$(BUILD_DIR_HOST) + +include $(INCLUDE_DIR)/toolchain-build.mk + +ifeq ($(HOST_OS),Darwin) + DARWIN_VERSION=$(shell sw_vers -productVersion) + DARWIN_MAJVERS=$(firstword $(subst ., ,$(DARWIN_VERSION))) + + HOST_MAKE_FLAGS += \ + DARWIN_VERSION=$(DARWIN_VERSION) \ + DARWIN_MAJVERS=$(DARWIN_MAJVERS) + +endif + +HOST_CONFIGURE_ARGS += \ + --enable-optimized --enable-assertions + +define Host/Compile + @-$(MAKE) -C $(HOST_BUILD_DIR) $(HOST_MAKE_FLAGS) uninstall + $(MAKE) -C $(HOST_BUILD_DIR) $(HOST_MAKE_FLAGS) +endef + +define Host/Install + rm -f $(BUILD_DIR_HOST)/llvm + ln -s llvm-$(PKG_VERSION) $(BUILD_DIR_HOST)/llvm + $(MAKE) -C $(HOST_BUILD_DIR) $(HOST_MAKE_FLAGS) install +endef + +$(eval $(call HostBuild)) diff --git a/toolchain/llvm/patches/100-darwin_arch_auto.patch b/toolchain/llvm/patches/100-darwin_arch_auto.patch new file mode 100644 index 000000000..a48e13121 --- /dev/null +++ b/toolchain/llvm/patches/100-darwin_arch_auto.patch @@ -0,0 +1,19 @@ +--- a/Makefile.rules ++++ b/Makefile.rules +@@ -618,16 +618,6 @@ ifdef UNIVERSAL + + # Building universal cannot compute dependencies automatically. + DISABLE_AUTO_DEPENDENCIES=1 +-else +- ifeq ($(TARGET_OS),Darwin) +- ifeq ($(ARCH),x86_64) +- TargetCommonOpts = -m64 +- else +- ifeq ($(ARCH),x86) +- TargetCommonOpts = -m32 +- endif +- endif +- endif + endif + + ifeq ($(HOST_OS),SunOS) diff --git a/toolchain/llvm/patches/110-darwin_version_detect.patch b/toolchain/llvm/patches/110-darwin_version_detect.patch new file mode 100644 index 000000000..7fd62f93e --- /dev/null +++ b/toolchain/llvm/patches/110-darwin_version_detect.patch @@ -0,0 +1,16 @@ +--- a/Makefile.rules ++++ b/Makefile.rules +@@ -506,11 +506,13 @@ endif + #-------------------------------------------------------------------- + + ifeq ($(HOST_OS),Darwin) ++ ifndef DARWIN_VERSION + DARWIN_VERSION := `sw_vers -productVersion` + # Strip a number like 10.4.7 to 10.4 + DARWIN_VERSION := $(shell echo $(DARWIN_VERSION)| sed -E 's/(10.[0-9]).*/\1/') + # Get "4" out of 10.4 for later pieces in the makefile. + DARWIN_MAJVERS := $(shell echo $(DARWIN_VERSION)| sed -E 's/10.([0-9]).*/\1/') ++ endif + + SharedLinkOptions=-Wl,-flat_namespace -Wl,-undefined -Wl,suppress \ + -dynamiclib |