diff options
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 |