From: aldot at uclibc.org <aldot@uclibc.org>
To: buildroot@busybox.net
Subject: [Buildroot] svn commit: trunk/buildroot: package/gmp toolchain
Date: Fri, 1 Jun 2007 15:16:30 -0700 (PDT) [thread overview]
Message-ID: <20070601221630.067824855D@busybox.net> (raw)
Author: aldot
Date: 2007-06-01 15:16:28 -0700 (Fri, 01 Jun 2007)
New Revision: 18723
Log:
- 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.
Modified:
trunk/buildroot/Config.in
trunk/buildroot/Makefile
trunk/buildroot/package/gmp/gmp.mk
trunk/buildroot/toolchain/Makefile.in
Changeset:
Modified: trunk/buildroot/Config.in
===================================================================
--- trunk/buildroot/Config.in 2007-06-01 19:17:36 UTC (rev 18722)
+++ trunk/buildroot/Config.in 2007-06-01 22:16:28 UTC (rev 18723)
@@ -373,6 +373,19 @@
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"
Modified: trunk/buildroot/Makefile
===================================================================
--- trunk/buildroot/Makefile 2007-06-01 19:17:36 UTC (rev 18722)
+++ trunk/buildroot/Makefile 2007-06-01 22:16:28 UTC (rev 18723)
@@ -66,7 +66,32 @@
#
#############################################################
+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
Modified: trunk/buildroot/package/gmp/gmp.mk
===================================================================
--- trunk/buildroot/package/gmp/gmp.mk 2007-06-01 19:17:36 UTC (rev 18722)
+++ trunk/buildroot/package/gmp/gmp.mk 2007-06-01 22:16:28 UTC (rev 18723)
@@ -18,6 +18,14 @@
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 @@
$(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 @@
--includedir=/include \
--mandir=/usr/man \
--infodir=/usr/info \
- --enable-shared \
+ $(PREFERRED_LIB_FLAGS) \
$(DISABLE_NLS) \
);
touch $@
@@ -105,12 +114,12 @@
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 $@
Modified: trunk/buildroot/toolchain/Makefile.in
===================================================================
--- trunk/buildroot/toolchain/Makefile.in 2007-06-01 19:17:36 UTC (rev 18722)
+++ trunk/buildroot/toolchain/Makefile.in 2007-06-01 22:16:28 UTC (rev 18723)
@@ -10,7 +10,13 @@
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)
next reply other threads:[~2007-06-01 22:16 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-01 22:16 aldot at uclibc.org [this message]
2007-06-02 6:01 ` [Buildroot] svn commit: trunk/buildroot: package/gmp toolchain Heikki Lindholm
2007-06-02 7:16 ` Heikki Lindholm
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070601221630.067824855D@busybox.net \
--to=aldot@uclibc.org \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox