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
|
help
|
||||||
This option show recent versions of packages.
|
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
|
config BR2_ENABLE_DEBUG
|
||||||
bool "build packages with debugging symbols"
|
bool "build packages with debugging symbols"
|
||||||
select BR2_PACKAGE_GDB_SERVER
|
select BR2_PACKAGE_GDB_SERVER
|
||||||
|
@ -32,6 +32,8 @@
|
|||||||
# run <autoreconf> before <configure>
|
# run <autoreconf> before <configure>
|
||||||
# FOO_LIBTOOL_PATCH [YES/NO, default YES]
|
# FOO_LIBTOOL_PATCH [YES/NO, default YES]
|
||||||
# Do you want the standard buildroot patch applied to ltmain.sh? (libtool)
|
# 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]
|
# FOO_CONF_ENV [default empty]
|
||||||
# environment passed to the <configure> script
|
# environment passed to the <configure> script
|
||||||
# FOO_CONF_OPT [default empty]
|
# FOO_CONF_OPT [default empty]
|
||||||
@ -217,8 +219,10 @@ $(BUILD_DIR)/%/.stamp_configured:
|
|||||||
cd $(@D)/$($(PKG)_SUBDIR) && rm -f config.cache && \
|
cd $(@D)/$($(PKG)_SUBDIR) && rm -f config.cache && \
|
||||||
$(TARGET_CONFIGURE_OPTS) \
|
$(TARGET_CONFIGURE_OPTS) \
|
||||||
$(TARGET_CONFIGURE_ARGS) \
|
$(TARGET_CONFIGURE_ARGS) \
|
||||||
|
$(TARGET_CONFIGURE_ENV) \
|
||||||
$($(PKG)_CONF_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) \
|
--target=$(GNU_TARGET_NAME) \
|
||||||
--host=$(GNU_TARGET_NAME) \
|
--host=$(GNU_TARGET_NAME) \
|
||||||
--build=$(GNU_HOST_NAME) \
|
--build=$(GNU_HOST_NAME) \
|
||||||
@ -302,6 +306,7 @@ $(2)_SITE ?= \
|
|||||||
$(2)_DEPENDENCIES ?=
|
$(2)_DEPENDENCIES ?=
|
||||||
$(2)_AUTORECONF ?= NO
|
$(2)_AUTORECONF ?= NO
|
||||||
$(2)_LIBTOOL_PATCH ?= YES
|
$(2)_LIBTOOL_PATCH ?= YES
|
||||||
|
$(2)_USE_CONFIG_CACHE ?= $(if $(BR2_CONFIG_CACHE),YES,NO)
|
||||||
$(2)_CONF_ENV ?=
|
$(2)_CONF_ENV ?=
|
||||||
$(2)_CONF_OPT ?=
|
$(2)_CONF_OPT ?=
|
||||||
$(2)_MAKE_ENV ?=
|
$(2)_MAKE_ENV ?=
|
||||||
|
@ -178,6 +178,8 @@ TARGET_STRIP=true -Not_stripping
|
|||||||
STRIPCMD=$(TARGET_STRIP)
|
STRIPCMD=$(TARGET_STRIP)
|
||||||
endif
|
endif
|
||||||
INSTALL=/usr/bin/install
|
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'/-.*//' \
|
HOST_ARCH:=$(shell $(HOSTCC) -dumpmachine | sed -e s'/-.*//' \
|
||||||
-e 's/sparc.*/sparc/' \
|
-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))
|
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) \
|
TARGET_CONFIGURE_OPTS=PATH=$(TARGET_PATH) \
|
||||||
AR="$(TARGET_AR)" \
|
AR="$(TARGET_AR)" \
|
||||||
AS="$(TARGET_AS)" \
|
AS="$(TARGET_AS)" \
|
||||||
LD="$(TARGET_LD) $(TARGET_LDFLAGS)" \
|
LD="$(TARGET_LD)" \
|
||||||
|
CFLAGS="$(TARGET_CFLAGS)" \
|
||||||
|
LDFLAGS="$(TARGET_LDFLAGS)" \
|
||||||
NM="$(TARGET_NM)" \
|
NM="$(TARGET_NM)" \
|
||||||
CC="$(TARGET_CC) $(TARGET_CFLAGS)" \
|
CC="$(TARGET_CC) $(TARGET_CFLAGS)" \
|
||||||
GCC="$(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)" \
|
PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig:$(PKG_CONFIG_PATH)" \
|
||||||
STAGING_DIR="$(STAGING_DIR)"
|
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) \
|
HOST_CONFIGURE_OPTS=PATH=$(TARGET_PATH) \
|
||||||
AR="$(HOSTAR)" \
|
AR="$(HOSTAR)" \
|
||||||
AS="$(HOSTAS)" \
|
AS="$(HOSTAS)" \
|
||||||
@ -310,6 +331,11 @@ TARGET_CONFIGURE_ARGS= \
|
|||||||
$(BR2_AC_CV_TRAP_CHECK) \
|
$(BR2_AC_CV_TRAP_CHECK) \
|
||||||
ac_cv_func_mmap_fixed_mapped=yes \
|
ac_cv_func_mmap_fixed_mapped=yes \
|
||||||
ac_cv_func_memcmp_working=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)
|
$(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 \
|
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 \
|
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 \
|
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)
|
ifneq ($(BR2_PACKAGE_XSERVER_none),y)
|
||||||
ATK_CONF_OPT_X = --with-x \
|
ATK_CONF_OPT_X = --with-x \
|
||||||
|
@ -115,15 +115,10 @@ $(DIRECTFB_DIR)/.unpacked: $(DL_DIR)/$(DIRECTFB_SOURCE)
|
|||||||
|
|
||||||
$(DIRECTFB_DIR)/.configured: $(DIRECTFB_DIR)/.unpacked
|
$(DIRECTFB_DIR)/.configured: $(DIRECTFB_DIR)/.unpacked
|
||||||
(cd $(DIRECTFB_DIR); rm -f config.cache; \
|
(cd $(DIRECTFB_DIR); rm -f config.cache; \
|
||||||
$(TARGET_CONFIGURE_OPTS) \
|
|
||||||
$(TARGET_CONFIGURE_ARGS) \
|
|
||||||
ac_cv_header_linux_wm97xx_h=no \
|
ac_cv_header_linux_wm97xx_h=no \
|
||||||
ac_cv_header_linux_sisfb_h=no \
|
ac_cv_header_linux_sisfb_h=no \
|
||||||
ac_cv_header_asm_page_h=no \
|
ac_cv_header_asm_page_h=no \
|
||||||
./configure \
|
$(AUTO_CONFIGURE_TARGET) \
|
||||||
--target=$(GNU_TARGET_NAME) \
|
|
||||||
--host=$(GNU_TARGET_NAME) \
|
|
||||||
--build=$(GNU_HOST_NAME) \
|
|
||||||
--prefix=/usr \
|
--prefix=/usr \
|
||||||
--sysconfdir=/etc \
|
--sysconfdir=/etc \
|
||||||
--localstatedir=/var \
|
--localstatedir=/var \
|
||||||
|
@ -7,8 +7,11 @@ FONTCONFIG_VERSION = 2.6.0
|
|||||||
FONTCONFIG_SOURCE = fontconfig-$(FONTCONFIG_VERSION).tar.gz
|
FONTCONFIG_SOURCE = fontconfig-$(FONTCONFIG_VERSION).tar.gz
|
||||||
FONTCONFIG_SITE = http://fontconfig.org/release
|
FONTCONFIG_SITE = http://fontconfig.org/release
|
||||||
FONTCONFIG_AUTORECONF = YES
|
FONTCONFIG_AUTORECONF = YES
|
||||||
|
FONTCONFIG_USE_CONFIG_CACHE = NO
|
||||||
FONTCONFIG_INSTALL_STAGING = YES
|
FONTCONFIG_INSTALL_STAGING = YES
|
||||||
FONTCONFIG_INSTALL_TARGET = 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) \
|
FONTCONFIG_CONF_OPT = --with-arch=$(GNU_TARGET_NAME) \
|
||||||
--with-freetype-config="$(STAGING_DIR)/usr/bin/freetype-config" \
|
--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_cv_func_working_mktime=yes jm_cv_func_working_re_compile_pattern=yes \
|
||||||
ac_use_included_regex=no gl_cv_c_restrict=no \
|
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_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)
|
gt_cv_c_wchar_t=$(if $(BR2_USE_WCHAR),yes,no)
|
||||||
|
|
||||||
LIBGLIB2_CONF_OPT = --enable-shared \
|
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_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_path_GDK_PIXBUF_CSOURCE=$(HOST_GLIB)/bin/gdk-pixbuf-csource \
|
||||||
ac_cv_prog_F77=no \
|
ac_cv_prog_F77=no \
|
||||||
ac_cv_prog_CXX=no \
|
|
||||||
ac_cv_path_CUPS_CONFIG=no
|
ac_cv_path_CUPS_CONFIG=no
|
||||||
|
|
||||||
LIBGTK2_CONF_OPT = --target=$(GNU_TARGET_NAME) --host=$(GNU_TARGET_NAME) \
|
LIBGTK2_CONF_OPT = --target=$(GNU_TARGET_NAME) --host=$(GNU_TARGET_NAME) \
|
||||||
|
Loading…
Reference in New Issue
Block a user