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>
This commit is contained in:
parent
b277d41ccc
commit
5432f26f0e
@ -189,6 +189,14 @@ config BR2_RECENT
|
||||
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
|
||||
|
@ -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 @@ $(BUILD_DIR)/%/.stamp_configured:
|
||||
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)_SITE ?= \
|
||||
$(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 ?=
|
||||
|
@ -178,6 +178,8 @@ TARGET_STRIP=true -Not_stripping
|
||||
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 @@ HOST_ARCH:=$(shell $(HOSTCC) -dumpmachine | sed -e s'/-.*//' \
|
||||
)
|
||||
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 @@ TARGET_CONFIGURE_OPTS=PATH=$(TARGET_PATH) \
|
||||
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 @@ TARGET_CONFIGURE_ARGS= \
|
||||
$(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)
|
||||
|
||||
#######################################################################
|
||||
|
@ -39,7 +39,7 @@ ATK_CONF_ENV = ac_cv_func_posix_getpwuid_r=yes \
|
||||
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 \
|
||||
|
@ -115,15 +115,10 @@ $(DIRECTFB_DIR)/.unpacked: $(DL_DIR)/$(DIRECTFB_SOURCE)
|
||||
|
||||
$(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 \
|
||||
|
@ -7,8 +7,11 @@ FONTCONFIG_VERSION = 2.6.0
|
||||
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" \
|
||||
|
@ -41,7 +41,7 @@ LIBGLIB2_CONF_ENV = \
|
||||
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 \
|
||||
|
@ -68,7 +68,6 @@ LIBGTK2_CONF_ENV = ac_cv_func_posix_getpwuid_r=yes glib_cv_stack_grows=no \
|
||||
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) \
|
||||
|
Loading…
Reference in New Issue
Block a user