Mercurial > mxe-octave
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)' \ |