- add BR2_PREFER_STATIC_LIB config option to be able to select if we prefer to build static or dynamic libs/bins.

- depending on the BR2_GNU_BUILD_SUFFIX, set the respective EXEEXT, LIBEXT, SHREXT extensions for use on the target.
Thanks to Tom for suplying a diff which implements these.
This commit is contained in:
Bernhard Reutner-Fischer 2007-06-01 22:16:28 +00:00
parent 961229caf5
commit 3096f34d27
4 changed files with 56 additions and 3 deletions

View File

@ -373,6 +373,19 @@ config BR2_DEPRECATED
help
This option hides outdated/obsolete versions of packages.
config BR2_PREFER_STATIC_LIB
bool "prefer static libraries"
default n
help
Where possible, use static libraries.
This increases your code size a lot and should only be
used with a good reason why not use the default, which
is dynamic libraries.
If unsure, say No.
WARNING: This is highly experimental at the moment.
endmenu
source "toolchain/Config.in"

View File

@ -66,7 +66,32 @@ include package/Makefile.in
#
#############################################################
ifneq (,$(findstring linux,$(BR2_GNU_BUILD_SUFFIX)))
EXEEXT:=
LIBEXT:=.a
SHREXT:=.so
endif
ifneq (,$(findstring apple,$(BR2_GNU_BUILD_SUFFIX)))
EXEEXT:=.pear
LIBEXT:=.dunno
SHREXT:=.dylib
endif
ifneq (,$(findstring cygwin,$(BR2_GNU_BUILD_SUFFIX)))
EXEEXT:=.exe
LIBEXT:=.lib
SHREXT:=.dll
endif
ifneq (,$(findstring mingw,$(BR2_GNU_BUILD_SUFFIX)))
EXEEXT:=.exe
LIBEXT:=.lib
SHREXT:=.dll
endif
ifeq ($(BR2_PREFER_STATIC_LIB),y)
LIBTGTEXT=$(LIBEXT)
else
LIBTGTEXT=$(SHREXT)
endif
all: world

View File

@ -18,6 +18,14 @@ else
GMP_BE:=no
endif
# this is a workaround for a bug in GMP, please see
# http://gmplib.org/list-archives/gmp-devel/2006-April/000618.html
ifeq ($(EXEEXT),.exe)
GMP_CPP_FLAGS:=-DDLL_EXPORT
else
GMP_CPP_FLAGS:=
endif
$(DL_DIR)/$(GMP_SOURCE):
$(WGET) -P $(DL_DIR) $(GMP_SITE)/$(GMP_SOURCE)
@ -35,6 +43,7 @@ $(GMP_TARGET_DIR)/.configured: $(GMP_DIR)/.unpacked
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
LDFLAGS="$(TARGET_LDFLAGS)" \
CPPFLAGS="$(GMP_CPP_FLAGS)" \
ac_cv_c_bigendian=$(GMP_BE) \
$(GMP_DIR)/configure \
--target=$(GNU_TARGET_NAME) \
@ -52,7 +61,7 @@ $(GMP_TARGET_DIR)/.configured: $(GMP_DIR)/.unpacked
--includedir=/include \
--mandir=/usr/man \
--infodir=/usr/info \
--enable-shared \
$(PREFERRED_LIB_FLAGS) \
$(DISABLE_NLS) \
);
touch $@
@ -105,12 +114,12 @@ $(GMP_DIR2)/.configured: $(GMP_DIR)/.unpacked
CC_FOR_BUILD="$(HOSTCC)" \
CC="$(HOSTCC)" \
CFLAGS="$(HOST_CFLAGS)" \
CPPFLAGS="$(GMP_CPP_FLAGS)" \
$(GMP_DIR)/configure \
--prefix="$(GMP_HOST_DIR)" \
--build=$(GNU_HOST_NAME) \
--host=$(GNU_HOST_NAME) \
--enable-shared \
--enable-static \
$(PREFERRED_LIB_FLAGS) \
$(DISABLE_NLS) \
);
touch $@

View File

@ -10,6 +10,12 @@ else
MULTILIB:=--disable-multilib
endif
ifeq ($(BR2_PREFER_STATIC_LIB),y)
PREFERRED_LIB_FLAGS:=--enable-static --disable-shared
else
PREFERRED_LIB_FLAGS:=--disable-static --enable-shared
endif
# FIXME -- this is temporary
OPTIMIZE_FOR_CPU=$(ARCH)