diff 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
line wrap: on
line diff
--- a/src/gcc.mk	Wed Nov 14 10:53:53 2012 +0100
+++ b/src/gcc.mk	Thu Nov 15 16:11:45 2012 -0500
@@ -9,6 +9,9 @@
 $(PKG)_URL      := ftp://ftp.gnu.org/pub/gnu/gcc/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE)
 $(PKG)_URL_2    := ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE)
 $(PKG)_DEPS     := mingwrt w32api binutils gcc-gmp gcc-mpc gcc-mpfr
+ifneq ($(BUILD_SHARED),yes)
+$(PKG)_STATIC_FLAG := --static
+endif
 
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://ftp.gnu.org/gnu/gcc/?C=M;O=D' | \
@@ -39,7 +42,7 @@
         --with-gnu-ld \
         --with-gnu-as \
         --disable-nls \
-        --disable-shared \
+        $(ENABLE_SHARED_OR_STATIC) \
         --disable-sjlj-exceptions \
         --without-x \
         --disable-win32-registry \
@@ -54,7 +57,7 @@
 
     # create pkg-config script
     (echo '#!/bin/sh'; \
-     echo 'PKG_CONFIG_PATH="$$PKG_CONFIG_PATH_$(subst -,_,$(TARGET))" PKG_CONFIG_LIBDIR='\''$(PREFIX)/$(TARGET)/lib/pkgconfig'\'' exec pkg-config --static "$$@"') \
+     echo 'PKG_CONFIG_PATH="$$PKG_CONFIG_PATH_$(subst -,_,$(TARGET))" PKG_CONFIG_LIBDIR='\''$(PREFIX)/$(TARGET)/lib/pkgconfig'\'' exec pkg-config $($(PKG)_STATIC_FLAG)) "$$@"') \
              > '$(PREFIX)/bin/$(TARGET)-pkg-config'
     chmod 0755 '$(PREFIX)/bin/$(TARGET)-pkg-config'
 
@@ -62,7 +65,16 @@
     [ -d '$(dir $(CMAKE_TOOLCHAIN_FILE))' ] || mkdir -p '$(dir $(CMAKE_TOOLCHAIN_FILE))'
     (echo 'set(CMAKE_SYSTEM_NAME Windows)'; \
      echo 'set(MSYS 1)'; \
-     echo 'set(BUILD_SHARED_LIBS OFF)'; \
+     if [ $(BUILD_SHARED) = yes ]; then \
+       echo 'set(BUILD_SHARED_LIBS ON)'; \
+     else \
+       echo 'set(BUILD_SHARED_LIBS OFF)'; \
+     fi; \
+     if [ $(BUILD_STATIC) = yes ]; then \
+       echo 'set(BUILD_STATIC_LIBS ON)'; \
+     else \
+       echo 'set(BUILD_STATIC_LIBS OFF)'; \
+     fi; \
      echo 'set(CMAKE_BUILD_TYPE Release)'; \
      echo 'set(CMAKE_FIND_ROOT_PATH $(PREFIX)/$(TARGET))'; \
      echo 'set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)'; \