From: laird at uclibc.org <laird@uclibc.org>
To: buildroot@busybox.net
Subject: [Buildroot] svn commit: trunk/buildroot: package package/atk package/directfb pa etc...
Date: Fri, 28 Nov 2008 06:20:47 -0800 (PST) [thread overview]
Message-ID: <20081128142047.DBFD83C2BB@busybox.net> (raw)
Author: laird
Date: 2008-11-28 06:20:47 -0800 (Fri, 28 Nov 2008)
New Revision: 24173
Log:
Adding Central config.cache options
The following changes allow for use of a central configure cache
file. This speeds up configuration of packages.
Its use is configurable at the top level (BR2_CONFIG_CACHE - default n).
Old style makefiles can use it if they use the following MACRO in makefiles:
$(AUTO_CONFIGURE_TARGET) see my change to directfb.mk.
New style Autotools.in will use it if you set the global option.
However you can enable the global option and on a per package overrule it by doing
the following: $(PKGNAME)_USE_CONFIG_CACHE = NO see fontconfig.mk for an example
of this.
Finally I have removed a few config variable settings which indicated no CXX compiler
as this is wrong and breaks the build when using this central cache.
Config.in | 8 ++++++++
package/Makefile.autotools.in | 5 ++++-
package/Makefile.in | 28 +++++++++++++++++++++++++++-
package/atk/atk.mk | 2 +-
package/directfb/directfb.mk | 7 +------
package/fontconfig/fontconfig.mk | 3 +++
package/libglib2/libglib2.mk | 2 +-
package/libgtk2/libgtk2.mk | 1 -
8 files changed, 45 insertions(+), 11 deletions(-)
I would appreciate feedback on this change (I have been testing for 2-3 weeks)
But I can never test all cases! If you enable the BR2_CONFIG_CACHE option some
Makefile.autotools.in based packages may now break - I cannot build them all.
In this case you may need to remove config options that are being hardcoded all
over the place (like gtk saying we have 2 CXX compiler) or disable the use
of CONFIG CACHE file like I have done in fontconfig.
I can build all packages required to get WebKit on DirectFB up and running
and it runs fine.
I will try to resolve any issues this creates as fast as I can.
Signed-off-by: Daniel Laird <daniel.j.laird@nxp.com>
Modified:
trunk/buildroot/Config.in
trunk/buildroot/package/Makefile.autotools.in
trunk/buildroot/package/Makefile.in
trunk/buildroot/package/atk/atk.mk
trunk/buildroot/package/directfb/directfb.mk
trunk/buildroot/package/fontconfig/fontconfig.mk
trunk/buildroot/package/libglib2/libglib2.mk
trunk/buildroot/package/libgtk2/libgtk2.mk
Changeset:
Modified: trunk/buildroot/Config.in
===================================================================
--- trunk/buildroot/Config.in 2008-11-28 08:19:23 UTC (rev 24172)
+++ trunk/buildroot/Config.in 2008-11-28 14:20:47 UTC (rev 24173)
@@ -189,6 +189,14 @@
help
This option show recent versions of packages.
+config BR2_CONFIG_CACHE
+ bool "Use a central configure cache file"
+ default n
+ help
+ This determines if a central config cache is used by
+ packages, reducing the configure time for packages as each
+ one caches its findings.
+
config BR2_ENABLE_DEBUG
bool "build packages with debugging symbols"
select BR2_PACKAGE_GDB_SERVER
Modified: trunk/buildroot/package/Makefile.autotools.in
===================================================================
--- trunk/buildroot/package/Makefile.autotools.in 2008-11-28 08:19:23 UTC (rev 24172)
+++ trunk/buildroot/package/Makefile.autotools.in 2008-11-28 14:20:47 UTC (rev 24173)
@@ -32,6 +32,8 @@
# run <autoreconf> before <configure>
# FOO_LIBTOOL_PATCH [YES/NO, default YES]
# Do you want the standard buildroot patch applied to ltmain.sh? (libtool)
+# FOO_USE_CONFIG_CACHE [YES/NO default $(BR2_CONFIG_CACHE)]
+# Do you wany to use the central configure cache file? See BR2_CONFIG_CACHE.
# FOO_CONF_ENV [default empty]
# environment passed to the <configure> script
# FOO_CONF_OPT [default empty]
@@ -217,8 +219,10 @@
cd $(@D)/$($(PKG)_SUBDIR) && rm -f config.cache && \
$(TARGET_CONFIGURE_OPTS) \
$(TARGET_CONFIGURE_ARGS) \
+ $(TARGET_CONFIGURE_ENV) \
$($(PKG)_CONF_ENV) \
- ./configure \
+ $(if $(THIS_SRCDIR),$(THIS_SRCDIR)/,./)configure \
+ $(if $(filter YES,$($(PKG)_USE_CONFIG_CACHE)),--cache-file="$(PROJECT_BUILD_DIR)/tgt-config.cache",) \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
@@ -302,6 +306,7 @@
$(2)_DEPENDENCIES ?=
$(2)_AUTORECONF ?= NO
$(2)_LIBTOOL_PATCH ?= YES
+$(2)_USE_CONFIG_CACHE ?= $(if $(BR2_CONFIG_CACHE),YES,NO)
$(2)_CONF_ENV ?=
$(2)_CONF_OPT ?=
$(2)_MAKE_ENV ?=
Modified: trunk/buildroot/package/Makefile.in
===================================================================
--- trunk/buildroot/package/Makefile.in 2008-11-28 08:19:23 UTC (rev 24172)
+++ trunk/buildroot/package/Makefile.in 2008-11-28 14:20:47 UTC (rev 24173)
@@ -178,6 +178,8 @@
STRIPCMD=$(TARGET_STRIP)
endif
INSTALL=/usr/bin/install
+FLEX:=$(shell $(CONFIG_SHELL) -c 'which flex || type -p flex')
+BISON:=$(shell $(CONFIG_SHELL) -c 'which bison || type -p bison')
HOST_ARCH:=$(shell $(HOSTCC) -dumpmachine | sed -e s'/-.*//' \
-e 's/sparc.*/sparc/' \
@@ -193,10 +195,23 @@
)
GNU_HOST_NAME:=$(HOST_ARCH)-$(subst ",,$(BR2_GNU_BUILD_SUFFIX))
#")
+
+AUTO_CONFIGURE_TARGET=\
+ $(TARGET_CONFIGURE_OPTS) \
+ $(TARGET_CONFIGURE_ARGS) \
+ $(TARGET_CONFIGURE_ENV) \
+ $(if $(THIS_SRCDIR),$(THIS_SRCDIR)/,./)configure \
+ $(if $(BR2_CONFIG_CACHE),--cache-file="$(PROJECT_BUILD_DIR)/tgt-config.cache",) \
+ --target=$(GNU_TARGET_NAME) \
+ --host=$(GNU_TARGET_NAME) \
+ --build=$(GNU_HOST_NAME)
+
TARGET_CONFIGURE_OPTS=PATH=$(TARGET_PATH) \
AR="$(TARGET_AR)" \
AS="$(TARGET_AS)" \
- LD="$(TARGET_LD) $(TARGET_LDFLAGS)" \
+ LD="$(TARGET_LD)" \
+ CFLAGS="$(TARGET_CFLAGS)" \
+ LDFLAGS="$(TARGET_LDFLAGS)" \
NM="$(TARGET_NM)" \
CC="$(TARGET_CC) $(TARGET_CFLAGS)" \
GCC="$(TARGET_CC) $(TARGET_CFLAGS)" \
@@ -229,6 +244,12 @@
PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig:$(PKG_CONFIG_PATH)" \
STAGING_DIR="$(STAGING_DIR)"
+TARGET_CONFIGURE_ENV=\
+ CFLAGS="$(TARGET_CFLAGS)" \
+ CXXFLAGS="$(TARGET_CXXFLAGS)" \
+ LDFLAGS="$(TARGET_LDFLAGS)" \
+ FCFLAGS="$(TARGET_FCFLAGS)" \
+
HOST_CONFIGURE_OPTS=PATH=$(TARGET_PATH) \
AR="$(HOSTAR)" \
AS="$(HOSTAS)" \
@@ -310,6 +331,11 @@
$(BR2_AC_CV_TRAP_CHECK) \
ac_cv_func_mmap_fixed_mapped=yes \
ac_cv_func_memcmp_working=yes \
+ ac_cv_have_decl_malloc=yes \
+ gl_cv_func_malloc_0_nonnull=yes \
+ ac_cv_func_malloc_0_nonnull=yes \
+ ac_cv_func_calloc_0_nonnull=yes \
+ ac_cv_func_realloc_0_nonnull=yes \
$(BR2_AC_CV_C_BIGENDIAN)
#######################################################################
Modified: trunk/buildroot/package/atk/atk.mk
===================================================================
--- trunk/buildroot/package/atk/atk.mk 2008-11-28 08:19:23 UTC (rev 24172)
+++ trunk/buildroot/package/atk/atk.mk 2008-11-28 14:20:47 UTC (rev 24173)
@@ -39,7 +39,7 @@
gl_cv_func_mkstemp_limitations=no ac_cv_func_working_mktime=yes \
jm_cv_func_working_re_compile_pattern=yes ac_use_included_regex=no \
gl_cv_c_restrict=no ac_cv_path_GLIB_GENMARSHAL=$(HOST_GLIB)/bin/glib-genmarshal \
- ac_cv_prog_F77=no ac_cv_prog_CXX=no
+ ac_cv_prog_F77=no
ifneq ($(BR2_PACKAGE_XSERVER_none),y)
ATK_CONF_OPT_X = --with-x \
Modified: trunk/buildroot/package/directfb/directfb.mk
===================================================================
--- trunk/buildroot/package/directfb/directfb.mk 2008-11-28 08:19:23 UTC (rev 24172)
+++ trunk/buildroot/package/directfb/directfb.mk 2008-11-28 14:20:47 UTC (rev 24173)
@@ -115,15 +115,10 @@
$(DIRECTFB_DIR)/.configured: $(DIRECTFB_DIR)/.unpacked
(cd $(DIRECTFB_DIR); rm -f config.cache; \
- $(TARGET_CONFIGURE_OPTS) \
- $(TARGET_CONFIGURE_ARGS) \
ac_cv_header_linux_wm97xx_h=no \
ac_cv_header_linux_sisfb_h=no \
ac_cv_header_asm_page_h=no \
- ./configure \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
+ $(AUTO_CONFIGURE_TARGET) \
--prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
Modified: trunk/buildroot/package/fontconfig/fontconfig.mk
===================================================================
--- trunk/buildroot/package/fontconfig/fontconfig.mk 2008-11-28 08:19:23 UTC (rev 24172)
+++ trunk/buildroot/package/fontconfig/fontconfig.mk 2008-11-28 14:20:47 UTC (rev 24173)
@@ -7,8 +7,11 @@
FONTCONFIG_SOURCE = fontconfig-$(FONTCONFIG_VERSION).tar.gz
FONTCONFIG_SITE = http://fontconfig.org/release
FONTCONFIG_AUTORECONF = YES
+FONTCONFIG_USE_CONFIG_CACHE = NO
FONTCONFIG_INSTALL_STAGING = YES
FONTCONFIG_INSTALL_TARGET = YES
+# This package does not like using the target cflags for some reason.
+FONTCONFIG_CONF_ENV = CFLAGS=
FONTCONFIG_CONF_OPT = --with-arch=$(GNU_TARGET_NAME) \
--with-freetype-config="$(STAGING_DIR)/usr/bin/freetype-config" \
Modified: trunk/buildroot/package/libglib2/libglib2.mk
===================================================================
--- trunk/buildroot/package/libglib2/libglib2.mk 2008-11-28 08:19:23 UTC (rev 24172)
+++ trunk/buildroot/package/libglib2/libglib2.mk 2008-11-28 14:20:47 UTC (rev 24173)
@@ -41,7 +41,7 @@
ac_cv_func_working_mktime=yes jm_cv_func_working_re_compile_pattern=yes \
ac_use_included_regex=no gl_cv_c_restrict=no \
ac_cv_path_GLIB_GENMARSHAL=$(HOST_GLIB)/bin/glib-genmarshal ac_cv_prog_F77=no \
- ac_cv_prog_CXX=no ac_cv_func_posix_getgrgid_r=no \
+ ac_cv_func_posix_getgrgid_r=no \
gt_cv_c_wchar_t=$(if $(BR2_USE_WCHAR),yes,no)
LIBGLIB2_CONF_OPT = --enable-shared \
Modified: trunk/buildroot/package/libgtk2/libgtk2.mk
===================================================================
--- trunk/buildroot/package/libgtk2/libgtk2.mk 2008-11-28 08:19:23 UTC (rev 24172)
+++ trunk/buildroot/package/libgtk2/libgtk2.mk 2008-11-28 14:20:47 UTC (rev 24173)
@@ -68,7 +68,6 @@
ac_cv_path_GTK_UPDATE_ICON_CACHE=$(HOST_GLIB)/bin/gtk-update-icon-cache \
ac_cv_path_GDK_PIXBUF_CSOURCE=$(HOST_GLIB)/bin/gdk-pixbuf-csource \
ac_cv_prog_F77=no \
- ac_cv_prog_CXX=no \
ac_cv_path_CUPS_CONFIG=no
LIBGTK2_CONF_OPT = --target=$(GNU_TARGET_NAME) --host=$(GNU_TARGET_NAME) \
reply other threads:[~2008-11-28 14:20 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=20081128142047.DBFD83C2BB@busybox.net \
--to=laird@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.