comparison src/llvm.mk @ 3140:772d03100c0a

[MSVC] enable LLVM compilation (and upgrade to LLVM-3.1)
author Michael Goffioul <michael.goffioul@gmail.com>
date Mon, 15 Jul 2013 10:09:10 -0400
parents 5ef49fb3299d
children 0d23e586d872
comparison
equal deleted inserted replaced
3139:1d9bbaa43239 3140:772d03100c0a
1 # This file is part of MXE. 1 # This file is part of MXE.
2 # See index.html for further information. 2 # See index.html for further information.
3 3
4 PKG := llvm 4 PKG := llvm
5 $(PKG)_IGNORE := 5 $(PKG)_IGNORE :=
6 $(PKG)_CHECKSUM := b683e7294fcf69887c0d709025d4640f5dca755b 6 $(PKG)_CHECKSUM := 234c96e73ef81aec9a54da92fc2a9024d653b059
7 $(PKG)_SUBDIR := llvm-$($(PKG)_VERSION).src 7 $(PKG)_SUBDIR := llvm-$($(PKG)_VERSION).src
8 $(PKG)_FILE := llvm-$($(PKG)_VERSION).tar.gz 8 $(PKG)_FILE := llvm-$($(PKG)_VERSION).src.tar.gz
9 $(PKG)_URL := http://llvm.org/releases/$($(PKG)_VERSION)/$($(PKG)_FILE) 9 $(PKG)_URL := http://llvm.org/releases/$($(PKG)_VERSION)/$($(PKG)_FILE)
10 $(PKG)_DEPS := 10 $(PKG)_DEPS :=
11 ifeq ($(MXE_SYSTEM),msvc)
12 $(PKG)_DEPS += libffi
13 endif
11 14
12 define $(PKG)_UPDATE 15 define $(PKG)_UPDATE
13 $(WGET) -q -O- 'http://llvm.org/releases/download.html' | \ 16 $(WGET) -q -O- 'http://llvm.org/releases/download.html' | \
14 grep 'Download LLVM' | \ 17 grep 'Download LLVM' | \
15 $(SED) -n 's,.*\([0-9]\.[0-9]\).*,\1,p' | \ 18 $(SED) -n 's,.*\([0-9]\.[0-9]\).*,\1,p' | \
16 head -1 19 head -1
17 endef 20 endef
18 21
19 ifeq ($(MXE_NATIVE_MINGW_BUILD),yes) 22 ifeq ($(MXE_NATIVE_MINGW_BUILD),yes)
23 ifeq ($(MXE_SYSTEM),msvc)
24 define $(PKG)_BUILD
25 mkdir '$(1)/.build'
26 cd '$(1)/.build' && cmake \
27 -G "NMake Makefiles" \
28 -DCMAKE_BUILD_TYPE="Release" \
29 "-DCMAKE_INSTALL_PREFIX:PATH=$(HOST_PREFIX)" \
30 -DLLVM_ENABLE_FFI:BOOL=ON \
31 "-DFFI_INCLUDE_DIR=$(HOST_LIBDIR)/libffi-$(libffi_VERSION)/include" \
32 ../
33 sed -i '/^ echo "/ {s/echo "/echo /;s/" >>/ >>/;}' \
34 '$(1)/.build/tools/llvm-config/CMakeFiles/llvm-config.dir/build.make'
35 cd '$(1)/.build' && \
36 env -u MAKE -u MAKEFLAGS \
37 LIB="`echo \`cd ../../../usr/i686-pc-mingw32/lib && pwd -W\` | sed -e 's,/,\\\\\\\\,g'`\;$$LIB" \
38 nmake && \
39 env -u MAKE -u MAKEFLAGS nmake install
40 endef
41 else
20 define $(PKG)_BUILD 42 define $(PKG)_BUILD
21 mkdir '$(1)/build' 43 mkdir '$(1)/build'
22 cd '$(1)/build' && ../configure \ 44 cd '$(1)/build' && ../configure \
23 $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \ 45 $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
24 $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \ 46 $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
29 --prefix='$(HOST_PREFIX)' 51 --prefix='$(HOST_PREFIX)'
30 52
31 PATH='$(HOST_BINDIR):$(PATH)' $(MAKE) -C '$(1)/build' -j $(JOBS) install 53 PATH='$(HOST_BINDIR):$(PATH)' $(MAKE) -C '$(1)/build' -j $(JOBS) install
32 $(LN_SF) '$(HOST_BINDIR)/llvm-config' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)llvm-config' 54 $(LN_SF) '$(HOST_BINDIR)/llvm-config' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)llvm-config'
33 endef 55 endef
56 endif
34 else 57 else
35 define $(PKG)_BUILD 58 define $(PKG)_BUILD
36 mkdir '$(1)/build' 59 mkdir '$(1)/build'
37 cd '$(1)/build' && cmake .. \ 60 cd '$(1)/build' && cmake .. \
38 -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \ 61 -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \