From b1e5b60ccffa844d663fbca95f61156b90d360e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Wed, 26 Jan 2005 01:34:37 +0000 Subject: [PATCH] Divided BuildConfig into three files: BuildConfig, Timezones, and libgccObjects. That makes fine tuning any of them a nicer experience. You have to rerun ./configure in order to build anything. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11056 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- Jamrules | 20 ++++++++++++++++---- configure | 18 ++++++++++++++++-- 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/Jamrules b/Jamrules index b3af949e10..474180e835 100644 --- a/Jamrules +++ b/Jamrules @@ -34,16 +34,28 @@ HCACHEFILE = header_cache ; JCACHEFILE = jamfile_cache ; LOCATE on $(HCACHEFILE) $(JCACHEFILE) = $(OBOS_BUILD_DIR) ; -# Include BuildConfig +# Include BuildConfig/Timezones/libgccObjects { local buildConfig = [ GLOB $(OBOS_BUILD_DIR) : BuildConfig ] ; - if ! $(buildConfig) - { - ECHO "No BuildConfig found in $(OBOS_BUILD_DIR)!" ; + local timezones = [ GLOB $(OBOS_BUILD_DIR) : Timezones ] ; + local libgccObjects = [ GLOB $(OBOS_BUILD_DIR) : libgccObjects ] ; + + if ! $(buildConfig) { + ECHO "No `BuildConfig' found in $(OBOS_BUILD_DIR)!" ; EXIT "Run ./configure in the source tree's root directory first!" ; } + if ! ( $(timezones) && $(libgccObjects) ) { + ECHO "No `Timezones' or `libgccObjects' found in $(OBOS_BUILD_DIR)!" ; + EXIT "Please run ./configure in the source tree's root directory again!" ; + } + LOCATE on BuildConfig = $(OBOS_BUILD_DIR) ; + LOCATE on Timezones = $(OBOS_BUILD_DIR) ; + LOCATE on libgccObjects = $(OBOS_BUILD_DIR) ; + include BuildConfig ; + include Timezones ; + include libgccObjects ; } # analyze GCC version diff --git a/configure b/configure index 8e961a9fd5..4cdd6ae638 100755 --- a/configure +++ b/configure @@ -123,21 +123,35 @@ PLATFORM_LINKLIBS ?= ${PLATFORM_LINKLIBS} ; PLATFORM_HEADERS ?= ${PLATFORM_HEADERS} ; GCC_RAW_VERSION ?= ${gcc_version} ; LIBGCC_DIR ?= ${LIBGCC_DIR} ; -LIBGCC_OBJECTS ?= ${LIBGCC_OBJECTS} ; BOCHS_DEBUG_HACK ?= ${bochs_debug} ; INCLUDE_GPL_ADDONS ?= ${include_gpl_addons} ; TARGET_PLATFORM ?= ${target} ; EOF +# Libgcc.a objects + +cat << EOF > build/libgccObjects +# libgcc.a objects to be linked against libroot.so +# Note: This file has been automatically generated by configure. + +LIBGCC_OBJECTS ?= ${LIBGCC_OBJECTS} ; +EOF + # Generate Timezones binaries bindings +cat << EOF > build/Timezones +# Timezones used for the build +# Note: This file has been automatically generated by configure. + +EOF + timezones=`echo src/data/etc/timezones/* | sed -e s@src/data/etc/timezones/CVS@@` for f in ${timezones}; do TZOBJECTS=`gawk '/^Zone/ { print $2 } /^Link/ { print $3 } ' $f ` -cat << EOF >> build/BuildConfig +cat << EOF >> build/Timezones TZ_OBJECTS on ${f##src/data/etc/timezones/} ?= $TZOBJECTS ; EOF done