Mercurial > mxe-octave
comparison src/gcc.mk @ 2997:4f9b72cf7ee7
allow native builds too
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 28 May 2013 17:31:59 -0400 |
parents | a9fa640c348c |
children | 100e618349f7 |
comparison
equal
deleted
inserted
replaced
2996:446aa596bb99 | 2997:4f9b72cf7ee7 |
---|---|
6 $(PKG)_CHECKSUM := a464ba0f26eef24c29bcd1e7489421117fb9ee35 | 6 $(PKG)_CHECKSUM := a464ba0f26eef24c29bcd1e7489421117fb9ee35 |
7 $(PKG)_SUBDIR := gcc-$($(PKG)_VERSION) | 7 $(PKG)_SUBDIR := gcc-$($(PKG)_VERSION) |
8 $(PKG)_FILE := gcc-$($(PKG)_VERSION).tar.bz2 | 8 $(PKG)_FILE := gcc-$($(PKG)_VERSION).tar.bz2 |
9 $(PKG)_URL := ftp://ftp.gnu.org/pub/gnu/gcc/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE) | 9 $(PKG)_URL := ftp://ftp.gnu.org/pub/gnu/gcc/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE) |
10 $(PKG)_URL_2 := ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE) | 10 $(PKG)_URL_2 := ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE) |
11 $(PKG)_DEPS := mingwrt w32api binutils gcc-gmp gcc-mpc gcc-mpfr | 11 ifeq ($(USE_SYSTEM_GCC),yes) |
12 $(PKG)_DEPS := | |
13 else | |
14 ifeq ($(MXE_NATIVE_BUILD),yes) | |
15 $(PKG)_DEPS := binutils gcc-gmp gcc-mpc gcc-mpfr | |
16 else | |
17 ifeq ($(MXE_SYSTEM),mingw) | |
18 $(PKG)_DEPS := mingwrt w32api binutils gcc-gmp gcc-mpc gcc-mpfr | |
19 else | |
20 endif | |
21 endif | |
22 endif | |
12 ifneq ($(BUILD_SHARED),yes) | 23 ifneq ($(BUILD_SHARED),yes) |
13 $(PKG)_STATIC_FLAG := --static | 24 $(PKG)_STATIC_FLAG := --static |
14 endif | 25 endif |
15 | 26 |
16 define $(PKG)_UPDATE | 27 define $(PKG)_UPDATE |
18 $(SED) -n 's,.*<a href="gcc-\([0-9][^"]*\)/".*,\1,p' | \ | 29 $(SED) -n 's,.*<a href="gcc-\([0-9][^"]*\)/".*,\1,p' | \ |
19 grep -v '^4\.[543]\.' | \ | 30 grep -v '^4\.[543]\.' | \ |
20 head -1 | 31 head -1 |
21 endef | 32 endef |
22 | 33 |
34 ifeq ($(USE_SYSTEM_GCC),yes) | |
35 define $(PKG)_BUILD | |
36 # create the CMake toolchain file | |
37 [ -d '$(dir $(CMAKE_TOOLCHAIN_FILE))' ] || mkdir -p '$(dir $(CMAKE_TOOLCHAIN_FILE))' | |
38 (if [ $(MXE_SYSTEM) = mingw ]; then \ | |
39 echo 'set(CMAKE_SYSTEM_NAME Windows)'; \ | |
40 echo 'set(MSYS 1)'; \ | |
41 fi; \ | |
42 if [ $(BUILD_SHARED) = yes ]; then \ | |
43 echo 'set(BUILD_SHARED_LIBS ON)'; \ | |
44 else \ | |
45 echo 'set(BUILD_SHARED_LIBS OFF)'; \ | |
46 fi; \ | |
47 if [ $(BUILD_STATIC) = yes ]; then \ | |
48 echo 'set(BUILD_STATIC_LIBS ON)'; \ | |
49 else \ | |
50 echo 'set(BUILD_STATIC_LIBS OFF)'; \ | |
51 fi; \ | |
52 echo 'set(CMAKE_BUILD_TYPE Release)'; \ | |
53 echo 'set(CMAKE_FIND_ROOT_PATH $(PREFIX)/$(TARGET))'; \ | |
54 echo 'set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)'; \ | |
55 echo 'set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)'; \ | |
56 echo 'set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)'; \ | |
57 echo 'set(CMAKE_C_COMPILER $(MXE_CC))'; \ | |
58 echo 'set(CMAKE_CXX_COMPILER $(MXE_CXX))'; \ | |
59 echo 'set(CMAKE_Fortran_COMPILER $(MXE_F77))'; \ | |
60 echo 'set(CMAKE_RC_COMPILER $(MXE_WINDRES))'; \ | |
61 echo 'set(PKG_CONFIG_EXECUTABLE $(MXE_PKG_CONFIG))'; \ | |
62 echo 'set(QT_QMAKE_EXECUTABLE $(MXE_QMAKE))'; \ | |
63 echo 'set(CMAKE_INSTALL_PREFIX $(PREFIX)/$(TARGET) CACHE PATH "Installation Prefix")'; \ | |
64 echo 'set(CMAKE_BUILD_TYPE Release CACHE STRING "Debug|Release|RelWithDebInfo|MinSizeRel")') \ | |
65 > '$(CMAKE_TOOLCHAIN_FILE)' | |
66 endef | |
67 else | |
23 define $(PKG)_BUILD | 68 define $(PKG)_BUILD |
24 # unpack support libraries | 69 # unpack support libraries |
25 cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,gcc-gmp) | 70 cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,gcc-gmp) |
26 mv '$(1)/$(gcc-gmp_SUBDIR)' '$(1)/gmp' | 71 mv '$(1)/$(gcc-gmp_SUBDIR)' '$(1)/gmp' |
27 cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,gcc-mpc) | 72 cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,gcc-mpc) |
52 --with-mpfr-include='$(1)/mpfr/src' \ | 97 --with-mpfr-include='$(1)/mpfr/src' \ |
53 --with-mpfr-lib='$(1).build/mpfr/src/.libs' \ | 98 --with-mpfr-lib='$(1).build/mpfr/src/.libs' \ |
54 $(shell [ `uname -s` == Darwin ] && echo "LDFLAGS='-Wl,-no_pie'") | 99 $(shell [ `uname -s` == Darwin ] && echo "LDFLAGS='-Wl,-no_pie'") |
55 $(MAKE) -C '$(1).build' -j '$(JOBS)' | 100 $(MAKE) -C '$(1).build' -j '$(JOBS)' |
56 $(MAKE) -C '$(1).build' -j 1 install | 101 $(MAKE) -C '$(1).build' -j 1 install |
57 mkdir -p $(PREFIX)/../cross-tools/$(PREFIX)/$(TARGET)/bin | 102 mkdir -p $(PREFIX)/../cross-tools/$(MXE_BINDIR) |
58 $(MAKE) -C '$(1).build' -j 1 DESTDIR=$(PREFIX)/../cross-tools install | 103 $(MAKE) -C '$(1).build' -j 1 DESTDIR=$(PREFIX)/../cross-tools install |
59 | 104 |
60 # create pkg-config script | 105 # create pkg-config script |
61 (echo '#!/bin/sh'; \ | 106 (echo '#!/bin/sh'; \ |
62 echo 'PKG_CONFIG_PATH="$$PKG_CONFIG_PATH_$(subst -,_,$(TARGET))" PKG_CONFIG_LIBDIR='\''$(PREFIX)/$(TARGET)/lib/pkgconfig'\'' exec pkg-config $($(PKG)_STATIC_FLAG) "$$@"') \ | 107 echo 'PKG_CONFIG_PATH="$$PKG_CONFIG_PATH_$(subst -,_,$(TARGET))" PKG_CONFIG_LIBDIR='\''$(MXE_LIBDIR)/pkgconfig'\'' exec pkg-config $($(PKG)_STATIC_FLAG) "$$@"') \ |
63 > '$(PREFIX)/bin/$(TARGET)-pkg-config' | 108 > '$(PREFIX)/bin/$(TARGET)-pkg-config' |
64 chmod 0755 '$(PREFIX)/bin/$(TARGET)-pkg-config' | 109 chmod 0755 '$(PREFIX)/bin/$(TARGET)-pkg-config' |
65 | 110 |
66 # create the CMake toolchain file | 111 # create the CMake toolchain file |
67 [ -d '$(dir $(CMAKE_TOOLCHAIN_FILE))' ] || mkdir -p '$(dir $(CMAKE_TOOLCHAIN_FILE))' | 112 [ -d '$(dir $(CMAKE_TOOLCHAIN_FILE))' ] || mkdir -p '$(dir $(CMAKE_TOOLCHAIN_FILE))' |
90 echo 'set(QT_QMAKE_EXECUTABLE $(PREFIX)/bin/$(TARGET)-qmake)'; \ | 135 echo 'set(QT_QMAKE_EXECUTABLE $(PREFIX)/bin/$(TARGET)-qmake)'; \ |
91 echo 'set(CMAKE_INSTALL_PREFIX $(PREFIX)/$(TARGET) CACHE PATH "Installation Prefix")'; \ | 136 echo 'set(CMAKE_INSTALL_PREFIX $(PREFIX)/$(TARGET) CACHE PATH "Installation Prefix")'; \ |
92 echo 'set(CMAKE_BUILD_TYPE Release CACHE STRING "Debug|Release|RelWithDebInfo|MinSizeRel")') \ | 137 echo 'set(CMAKE_BUILD_TYPE Release CACHE STRING "Debug|Release|RelWithDebInfo|MinSizeRel")') \ |
93 > '$(CMAKE_TOOLCHAIN_FILE)' | 138 > '$(CMAKE_TOOLCHAIN_FILE)' |
94 endef | 139 endef |
140 endif |