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)'; \