From d73e574d8abd933537bf4d2155f36aa9a91a0acc Mon Sep 17 00:00:00 2001 From: Bjoern Michaelsen Date: Tue, 29 Nov 2011 17:07:57 +0100 Subject: move reconfigure into gbuild --- solenv/gbuild/BuildDirs.mk | 6 ++---- solenv/gbuild/extensions/post_AuxTargets.mk | 4 ++++ solenv/gbuild/extensions/post_SpeedUpTargets.mk | 2 +- solenv/gbuild/gbuild.mk | 4 +++- solenv/gbuild/source_and_rerun.mk | 23 +++++++++++++++++++---- 5 files changed, 29 insertions(+), 10 deletions(-) (limited to 'solenv') diff --git a/solenv/gbuild/BuildDirs.mk b/solenv/gbuild/BuildDirs.mk index 9802a6130849..6a0933b33c2e 100644 --- a/solenv/gbuild/BuildDirs.mk +++ b/solenv/gbuild/BuildDirs.mk @@ -31,12 +31,10 @@ SOLARINC += $(JDKINCS) OUTDIR := $(SOLARVERSION)/$(INPATH) OUTDIR_FOR_BUILD := $(SOLARVERSION)/$(INPATH_FOR_BUILD) -ifeq ($(strip $(WORKDIR)),) -$(error WORKDIR variable is empty, no environment set, aborting) +ifeq ($(strip $(SOLARENV)),) +$(error SOLARENV variable is empty, no environment set, aborting) endif -SRCDIR := $(SOLARSRC) - # HACK # unixify windoze paths ifeq ($(OS_FOR_BUILD),WNT) diff --git a/solenv/gbuild/extensions/post_AuxTargets.mk b/solenv/gbuild/extensions/post_AuxTargets.mk index c137fb013684..22aa4ed00c0c 100644 --- a/solenv/gbuild/extensions/post_AuxTargets.mk +++ b/solenv/gbuild/extensions/post_AuxTargets.mk @@ -48,6 +48,10 @@ $(SRCDIR)/src.downloaded: $(SRCDIR)/ooo.lst $(SRCDIR)/download fetch: $(SRCDIR)/src.downloaded +# fixme: can we prevent these exports in the first place? +$(SRCDIR)/Env.Host.sh: autogen.lastrun configure.in ooo.lst.in set_soenv.in Makefile.in + $(if $(gb_MINISOLARENV),unset GBUILDDIR gb_Helper_execute gb_XSLTPROC gb_Helper_set_ld_path gb_AWK DBGSV_ERROR_OUT && $(SRCDIR)/autogen.sh,@echo "cannot reconfigure from within solarenv" && rm -f $(SRCDIR)/Env.Host.sh && exit 2) + $(WORKDIR)/bootstrap: @cd $(SRCDIR) && ./bootstrap @mkdir -p $(dir $@) && touch $@ diff --git a/solenv/gbuild/extensions/post_SpeedUpTargets.mk b/solenv/gbuild/extensions/post_SpeedUpTargets.mk index 7e1a640a7c76..842f05e61004 100644 --- a/solenv/gbuild/extensions/post_SpeedUpTargets.mk +++ b/solenv/gbuild/extensions/post_SpeedUpTargets.mk @@ -28,7 +28,7 @@ # speed up if no target need to parse all modules ifneq ($(strip $(MAKECMDGOALS)),) -ifeq ($(filter-out id tags docs distro-pack-install fetch help debugrun,$(MAKECMDGOALS)),) +ifeq ($(filter-out id tags docs distro-pack-install fetch help debugrun Env.Host.sh,$(MAKECMDGOALS)),) gb_Module_add_target= gb_Module_add_check_target= gb_Module_add_subsequentcheck_target= diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk index c3d1308f439d..57387f1777ca 100644 --- a/solenv/gbuild/gbuild.mk +++ b/solenv/gbuild/gbuild.mk @@ -26,7 +26,7 @@ # #************************************************************************* -GBUILDDIR:=$(SRC_ROOT)/solenv/gbuild +GBUILDDIR:=$(SRCDIR)/solenv/gbuild # vars needed from the env/calling makefile @@ -151,7 +151,9 @@ $(eval $(call gb_Helper_collect_libtargets)) gb_Library_DLLPOSTFIX := lo # Include platform/cpu/compiler specific config/definitions +ifneq ($(strip $(OS)),) include $(GBUILDDIR)/platform/$(OS)_$(CPUNAME)_$(COM).mk +endif ifeq ($(CROSS_COMPILING),YES) # We can safely Assume all cross-compilation is from Unix systems. diff --git a/solenv/gbuild/source_and_rerun.mk b/solenv/gbuild/source_and_rerun.mk index 418acc593c17..1fe62c89eaa2 100644 --- a/solenv/gbuild/source_and_rerun.mk +++ b/solenv/gbuild/source_and_rerun.mk @@ -1,13 +1,28 @@ gb_MAKEFILEDIR:=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) +$(info gb_PARTIALBUILD $(gb_PARTIALBUILD)) +ifneq ($(strip $(gb_PARTIALBUILD)),) + +SRCDIR:=$(realpath $(gb_MAKEFILEDIR)/..) +gb_SourceEnvAndRecurse_reconfigure=true + +else + +SRCDIR:=$(realpath $(gb_MAKEFILEDIR)) +gb_SourceEnvAndRecurse_reconfigure=$(MAKE) -f $(firstword $(MAKEFILE_LIST)) $(SRCDIR)/Env.Host.sh + +endif + source-env-and-recurse: - @if test -f $(gb_MAKEFILEDIR)/config.mk; then . $(gb_MAKEFILEDIR)/config.mk; else if test -f $(gb_MAKEFILEDIR)/../config.mk ; then . $(gb_MAKEFILEDIR)/../config.mk; fi; fi && \ - if test -f $(gb_MAKEFILEDIR)/Env.Host.sh; then . $(gb_MAKEFILEDIR)/Env.Host.sh; else if test -f $(gb_MAKEFILEDIR)/../Env.Host.sh; then . $(gb_MAKEFILEDIR)/../Env.Host.sh; fi ; fi && \ - if test -z "$${SOLARENV}"; then echo "No environment set!" 2>&1; exit 1; fi && \ + $(gb_SourceEnvAndRecurse_reconfigure) && \ + if test -f $(SRCDIR)/config.mk ; then . $(SRCDIR)/config.mk; fi && \ + if test -f $(SRCDIR)/Env.Host.sh; then . $(SRCDIR)/Env.Host.sh; fi && \ + if test -z "$${SOLARENV}"; then echo "no configuration found and could not create one" && exit 1; fi && \ $(MAKE) -f $(firstword $(MAKEFILE_LIST)) $(MAKECMDGOALS) ifneq ($(strip $(MAKECMDGOALS)),) +ifneq ($(MAKECMDGOALS),$(SRCDIR)/Env.Host.sh) $(eval $(MAKECMDGOALS) : source-env-and-recurse) endif - +endif -- cgit