Mercurial > mxe-octave
comparison src/gcc.mk @ 2855:47558e958113
Allow static/shared libraries to be configured in top-level Makefile.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 15 Nov 2012 16:11:45 -0500 |
parents | 072676f75749 |
children | 790a09af0245 |
comparison
equal
deleted
inserted
replaced
2854:54522aaf400c | 2855:47558e958113 |
---|---|
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 $(PKG)_DEPS := mingwrt w32api binutils gcc-gmp gcc-mpc gcc-mpfr |
12 ifneq ($(BUILD_SHARED),yes) | |
13 $(PKG)_STATIC_FLAG := --static | |
14 endif | |
12 | 15 |
13 define $(PKG)_UPDATE | 16 define $(PKG)_UPDATE |
14 $(WGET) -q -O- 'http://ftp.gnu.org/gnu/gcc/?C=M;O=D' | \ | 17 $(WGET) -q -O- 'http://ftp.gnu.org/gnu/gcc/?C=M;O=D' | \ |
15 $(SED) -n 's,.*<a href="gcc-\([0-9][^"]*\)/".*,\1,p' | \ | 18 $(SED) -n 's,.*<a href="gcc-\([0-9][^"]*\)/".*,\1,p' | \ |
16 grep -v '^4\.[543]\.' | \ | 19 grep -v '^4\.[543]\.' | \ |
37 --enable-version-specific-runtime-libs \ | 40 --enable-version-specific-runtime-libs \ |
38 --with-gcc \ | 41 --with-gcc \ |
39 --with-gnu-ld \ | 42 --with-gnu-ld \ |
40 --with-gnu-as \ | 43 --with-gnu-as \ |
41 --disable-nls \ | 44 --disable-nls \ |
42 --disable-shared \ | 45 $(ENABLE_SHARED_OR_STATIC) \ |
43 --disable-sjlj-exceptions \ | 46 --disable-sjlj-exceptions \ |
44 --without-x \ | 47 --without-x \ |
45 --disable-win32-registry \ | 48 --disable-win32-registry \ |
46 --enable-threads=win32 \ | 49 --enable-threads=win32 \ |
47 --disable-libgomp \ | 50 --disable-libgomp \ |
52 $(MAKE) -C '$(1).build' -j '$(JOBS)' | 55 $(MAKE) -C '$(1).build' -j '$(JOBS)' |
53 $(MAKE) -C '$(1).build' -j 1 install | 56 $(MAKE) -C '$(1).build' -j 1 install |
54 | 57 |
55 # create pkg-config script | 58 # create pkg-config script |
56 (echo '#!/bin/sh'; \ | 59 (echo '#!/bin/sh'; \ |
57 echo 'PKG_CONFIG_PATH="$$PKG_CONFIG_PATH_$(subst -,_,$(TARGET))" PKG_CONFIG_LIBDIR='\''$(PREFIX)/$(TARGET)/lib/pkgconfig'\'' exec pkg-config --static "$$@"') \ | 60 echo 'PKG_CONFIG_PATH="$$PKG_CONFIG_PATH_$(subst -,_,$(TARGET))" PKG_CONFIG_LIBDIR='\''$(PREFIX)/$(TARGET)/lib/pkgconfig'\'' exec pkg-config $($(PKG)_STATIC_FLAG)) "$$@"') \ |
58 > '$(PREFIX)/bin/$(TARGET)-pkg-config' | 61 > '$(PREFIX)/bin/$(TARGET)-pkg-config' |
59 chmod 0755 '$(PREFIX)/bin/$(TARGET)-pkg-config' | 62 chmod 0755 '$(PREFIX)/bin/$(TARGET)-pkg-config' |
60 | 63 |
61 # create the CMake toolchain file | 64 # create the CMake toolchain file |
62 [ -d '$(dir $(CMAKE_TOOLCHAIN_FILE))' ] || mkdir -p '$(dir $(CMAKE_TOOLCHAIN_FILE))' | 65 [ -d '$(dir $(CMAKE_TOOLCHAIN_FILE))' ] || mkdir -p '$(dir $(CMAKE_TOOLCHAIN_FILE))' |
63 (echo 'set(CMAKE_SYSTEM_NAME Windows)'; \ | 66 (echo 'set(CMAKE_SYSTEM_NAME Windows)'; \ |
64 echo 'set(MSYS 1)'; \ | 67 echo 'set(MSYS 1)'; \ |
65 echo 'set(BUILD_SHARED_LIBS OFF)'; \ | 68 if [ $(BUILD_SHARED) = yes ]; then \ |
69 echo 'set(BUILD_SHARED_LIBS ON)'; \ | |
70 else \ | |
71 echo 'set(BUILD_SHARED_LIBS OFF)'; \ | |
72 fi; \ | |
73 if [ $(BUILD_STATIC) = yes ]; then \ | |
74 echo 'set(BUILD_STATIC_LIBS ON)'; \ | |
75 else \ | |
76 echo 'set(BUILD_STATIC_LIBS OFF)'; \ | |
77 fi; \ | |
66 echo 'set(CMAKE_BUILD_TYPE Release)'; \ | 78 echo 'set(CMAKE_BUILD_TYPE Release)'; \ |
67 echo 'set(CMAKE_FIND_ROOT_PATH $(PREFIX)/$(TARGET))'; \ | 79 echo 'set(CMAKE_FIND_ROOT_PATH $(PREFIX)/$(TARGET))'; \ |
68 echo 'set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)'; \ | 80 echo 'set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)'; \ |
69 echo 'set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)'; \ | 81 echo 'set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)'; \ |
70 echo 'set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)'; \ | 82 echo 'set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)'; \ |