Prepare for read-only source build

This patch allows to do

mkdir <build_dir>
cd <build_dir>
<src_root>/autogen.sh
make

Only the remaining dmake modules are poluting the <src_root>...
which will get eventually convererd to gmake...

Change-Id: Iefd64732fa12e096d554cff4eee6b777deb92338
Reviewed-on: https://gerrit.libreoffice.org/1273
Reviewed-by: Luboš Luňák <l.lunak@suse.cz>
Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
Tested-by: Norbert Thiebaud <nthiebaud@gmail.com>
This commit is contained in:
Norbert Thiebaud
2012-12-11 07:49:24 -06:00
parent 8532cbd3e6
commit ae4e327739
11 changed files with 90 additions and 69 deletions

3
.gitignore vendored
View File

@@ -61,6 +61,7 @@
/configure /configure
/desktop/scripts/soffice.sh /desktop/scripts/soffice.sh
/makefile.mk /makefile.mk
/Makefile
/src.downloaded /src.downloaded
/intltool-extract.in /intltool-extract.in
/intltool-merge.in /intltool-merge.in
@@ -98,8 +99,6 @@ TAGS
/solenv/gdb/libreoffice/*.py[co] /solenv/gdb/libreoffice/*.py[co]
/solenv/gdb/libreoffice/util/*.py[co] /solenv/gdb/libreoffice/util/*.py[co]
# test output files
test/user-template/user/psprint/pspfontcache
# MSVC debug information # MSVC debug information
/*/vc90.pdb /*/vc90.pdb

View File

@@ -70,7 +70,7 @@ endef
download: $(WORKDIR)/download download: $(WORKDIR)/download
$(WORKDIR)/download: $(SRCDIR)/config_host.mk $(SRCDIR)/download.lst $(SRCDIR)/Makefile.fetch $(WORKDIR)/download: $(BUILD_DIR)/config_host.mk $(SRCDIR)/download.lst $(SRCDIR)/Makefile.fetch
@mkdir -p $(TARFILE_LOCATION)/tmp @mkdir -p $(TARFILE_LOCATION)/tmp
@date >> $(fetch_LOGFILE) @date >> $(fetch_LOGFILE)
$(foreach item, \ $(foreach item, \

View File

@@ -13,23 +13,25 @@ MAKECMDGOALS:=all
endif endif
SHELL=/usr/bin/env bash SHELL=/usr/bin/env bash
SRCDIR:=$(patsubst %/,%,$(dir $(realpath $(firstword $(MAKEFILE_LIST))))) export SRCDIR:=@SRC_ROOT@
export BUILD_DIR:=$(patsubst %/,%,$(dir $(realpath $(firstword $(MAKEFILE_LIST)))))
.PHONY : $(filter-out $(SRCDIR)/config_host.mk,$(MAKECMDGOALS)) .PHONY : $(filter-out $(BUILD_DIR)/config_host.mk,$(MAKECMDGOALS))
# recursively invoke Makefile.top, which includes config_host.mk # recursively invoke Makefile.top, which includes config_host.mk
$(filter-out help,$(firstword $(MAKECMDGOALS))) : $(SRCDIR)/config_host.mk $(filter-out help,$(firstword $(MAKECMDGOALS))) : $(BUILD_DIR)/config_host.mk
$(MAKE) -r -f $(SRCDIR)/Makefile.top $(MAKECMDGOALS) $(MAKE) -r -f $(SRCDIR)/Makefile.top $(MAKECMDGOALS)
# run configure in an environment not polluted by config_host.mk # run configure in an environment not polluted by config_host.mk
$(SRCDIR)/config_host.mk : \ $(BUILD_DIR)/config_host.mk : \
$(SRCDIR)/config_host.mk.in \ $(SRCDIR)/config_host.mk.in \
$(SRCDIR)/Makefile.in \
$(SRCDIR)/configure.ac \ $(SRCDIR)/configure.ac \
$(SRCDIR)/autogen.lastrun $(BUILD_DIR)/autogen.lastrun
./autogen.sh $(SRCDIR)/autogen.sh
# dummy rule in case autogen.lastrun does not exist # dummy rule in case autogen.lastrun does not exist
$(SRCDIR)/autogen.lastrun: $(BUILD_DIR)/autogen.lastrun:
@true @true
help: help:
@@ -37,3 +39,4 @@ help:
@true @true
# vim: set noet sw=4 ts=4: # vim: set noet sw=4 ts=4:

View File

@@ -9,13 +9,13 @@ endif
all: build all: build
SHELL=/usr/bin/env bash SHELL=/usr/bin/env bash
SRCDIR:=$(patsubst %/,%,$(dir $(realpath $(firstword $(MAKEFILE_LIST)))))
ifeq ($(gb_Side),) ifeq ($(gb_Side),)
gb_Side:=host gb_Side:=host
endif endif
include $(SRCDIR)/config_$(gb_Side).mk include $(BUILD_DIR)/config_$(gb_Side).mk
SRCDIR:=$(SRC_ROOT)
ifeq ($(GMAKE_OPTIONS),) ifeq ($(GMAKE_OPTIONS),)
ifeq ($(verbose)$(VERBOSE),) ifeq ($(verbose)$(VERBOSE),)
@@ -27,7 +27,7 @@ endif
# This list tells which modules are gbuild ones. It does *not* tell which modules to build. That is directed # This list tells which modules are gbuild ones. It does *not* tell which modules to build. That is directed
# by the module being mentioned in packimages/prj/build.lst, etc, recursively. # by the module being mentioned in packimages/prj/build.lst, etc, recursively.
$(WORKDIR)/modules.mk: $(wildcard */Module_*.mk) $(wildcard */prj/dmake) $(SRCDIR)/config_host.mk $(WORKDIR)/modules.mk: $(wildcard */Module_*.mk) $(wildcard */prj/dmake) $(BUILD_DIR)/config_host.mk
mkdir -p $(dir $@) mkdir -p $(dir $@)
echo -n "gbuild_modules:= tail_build \\" > $@ echo -n "gbuild_modules:= tail_build \\" > $@
for m in */Module_*.mk; do echo $$m | sed -e 's/\/.*$$/ \\/'; done >> $@ for m in */Module_*.mk; do echo $$m | sed -e 's/\/.*$$/ \\/'; done >> $@
@@ -50,10 +50,10 @@ $(1): bootstrap fetch
$(1).all: bootstrap fetch $(1).all: bootstrap fetch
$$(if $$(filter $(1),$$(shell $(GNUMAKE) -r -f $(SRCDIR)/tail_build/Makefile showmodules)), \ $$(if $$(filter $(1),$$(shell $(GNUMAKE) -r -f $(SRCDIR)/tail_build/Makefile showmodules)), \
cd tail_build && unset MAKEFLAGS && \ cd $(SRC_ROOT)/tail_build && unset MAKEFLAGS && \
export gb_TAILBUILDTARGET="$(WORKDIR)/Module/$(1) $(WORKDIR)/Module/check/$(1) $(WORKDIR)/Module/slowcheck/$(1)" && \ export gb_TAILBUILDTARGET="$(WORKDIR)/Module/$(1) $(WORKDIR)/Module/check/$(1) $(WORKDIR)/Module/slowcheck/$(1)" && \
, \ , \
cd $(1) && unset MAKEFLAGS && \ cd $(SRC_ROOT)/$(1) && unset MAKEFLAGS && \
) \ ) \
$(SOLARENV)/bin/build.pl -P$(PARALLELISM) --all -- -P$(PARALLELISM) $(SOLARENV)/bin/build.pl -P$(PARALLELISM) --all -- -P$(PARALLELISM)
@@ -76,18 +76,18 @@ define dmake_module_rules
.PHONY: $(1) $(1).all $(1).deliver $(1).clean .PHONY: $(1) $(1).all $(1).deliver $(1).clean
$(1): bootstrap fetch $(1): bootstrap fetch
cd $(1) && unset MAKEFLAGS && \ cd $(SRC_ROOT)/$(1) && unset MAKEFLAGS && \
$(SOLARENV)/bin/build.pl -P$(PARALLELISM) -- -P$(PARALLELISM) $(SOLARENV)/bin/build.pl -P$(PARALLELISM) -- -P$(PARALLELISM)
$(1).all: bootstrap fetch $(1).all: bootstrap fetch
cd $(1) && unset MAKEFLAGS && \ cd $(SRC_ROOT)/$(1) && unset MAKEFLAGS && \
$(SOLARENV)/bin/build.pl -P$(PARALLELISM) --all -- -P$(PARALLELISM) $(SOLARENV)/bin/build.pl -P$(PARALLELISM) --all -- -P$(PARALLELISM)
$(1).deliver: $(1) $(1).deliver: $(1)
cd $(1) && $(SOLARENV)/bin/deliver.pl cd $(SRC_ROOT)/$(1) && $(SOLARENV)/bin/deliver.pl
$(1).clean: $(1).clean:
cd $(1) && $(SOLARENV)/bin/deliver.pl -delete cd $(SRC_ROOT)/$(1) && $(SOLARENV)/bin/deliver.pl -delete
rm -fr $(1)/$(INPATH) rm -fr $(1)/$(INPATH)
endef endef
@@ -143,9 +143,9 @@ ifeq ($(BUILD_DMAKE),YES)
(if [ -f dmake/Makefile ] ; then $(GNUMAKE) -j $(PARALLELISM) -C dmake distclean; fi) && \ (if [ -f dmake/Makefile ] ; then $(GNUMAKE) -j $(PARALLELISM) -C dmake distclean; fi) && \
rm -f solenv/*/bin/dmake* rm -f solenv/*/bin/dmake*
endif endif
rm -fr config_host.mk config_build.mk aclocal.m4 autom4te.cache \ rm -fr $(BUILD_DIR)/config_host.mk $(BUILD_DIR)/config_build.mk $(BUILD_DIR)/aclocal.m4 $(BUILD_DIR)/autom4te.cache \
config.log config.status configure \ $(BUILD_DIR)/config.log $(BUILD_DIR)/config.status $(BUILD_DIR)/configure \
config_host.mk.last config_host.mk.stamp warn config/*.h $(BUILD_DIR)/config_host.mk.last $(BUILD_DIR)/config_host.mk.stamp $(BUILD_DIR)/warn $(BUILD_DIR)/config/*.h
find $(SOLARENV)/gdb -name "*.pyc" -exec rm {} \; find $(SOLARENV)/gdb -name "*.pyc" -exec rm {} \;
# #
@@ -166,11 +166,11 @@ include $(SRCDIR)/Makefile.fetch
fetch: download fetch: download
fetch: get-submodules fetch: get-submodules
ifneq (,$(wildcard .git)) ifneq (,$(wildcard $(SRCDIR)/.git))
get-submodules: get-submodules:
ifneq ($(foreach i,$(GIT_NEEDED_SUBMODULES),$(i)/.git),$(wildcard $(foreach i,$(GIT_NEEDED_SUBMODULES),$(i)/.git))) ifneq ($(foreach i,$(GIT_NEEDED_SUBMODULES),$(i)/.git),$(wildcard $(foreach i,$(GIT_NEEDED_SUBMODULES),$(i)/.git)))
ifeq (,$(GIT_LINK_SRC)) ifeq (,$(GIT_LINK_SRC))
./g -f clone cd $(SRCDIR) && ./g -f clone
else # space-saving clone from another local workdir else # space-saving clone from another local workdir
@echo "FIXME: GIT_LINK_SRC method is not yet implemented with submodules" 1>&2 @echo "FIXME: GIT_LINK_SRC method is not yet implemented with submodules" 1>&2
true $(foreach i,$(GIT_NEEDED_SUBMODULES),\ true $(foreach i,$(GIT_NEEDED_SUBMODULES),\
@@ -225,15 +225,15 @@ ifeq ($(DISABLE_DBCONNECTIVITY),TRUE)
# Ditto for dbconnectivity in the --disable-database-connectivity case # Ditto for dbconnectivity in the --disable-database-connectivity case
cd connectivity && sed -e 's/^\(export [A-Z0-9_]*=\)\(.*\)$$/\1"\2"/' <../config_host.mk >conftmp.sh && . conftmp.sh && rm conftmp.sh && $(SOLARENV)/bin/deliver.pl cd connectivity && sed -e 's/^\(export [A-Z0-9_]*=\)\(.*\)$$/\1"\2"/' <../config_host.mk >conftmp.sh && . conftmp.sh && rm conftmp.sh && $(SOLARENV)/bin/deliver.pl
endif endif
cd packimages && unset MAKEFLAGS && \ cd $(SRC_ROOT)/packimages && unset MAKEFLAGS && \
$(SOLARENV)/bin/build.pl -P$(PARALLELISM) --all -- -P$(PARALLELISM) && \ $(SOLARENV)/bin/build.pl -P$(PARALLELISM) --all -- -P$(PARALLELISM) && \
$(GNUMAKE) -j $(PARALLELISM) $(GMAKE_OPTIONS) $(GNUMAKE) -j $(PARALLELISM) $(GMAKE_OPTIONS)
build: build-packimages build: build-packimages
ifeq ($(OS_FOR_BUILD),WNT) ifeq ($(OS_FOR_BUILD),WNT)
cd instsetoo_native && unset MAKEFLAGS && $(SOLARENV)/bin/build.pl cd $(SRC_ROOT)/instsetoo_native && unset MAKEFLAGS && $(SOLARENV)/bin/build.pl
else else
cd instsetoo_native && unset MAKEFLAGS && \ cd $(SRC_ROOT)/instsetoo_native && unset MAKEFLAGS && \
$(SOLARENV)/bin/build.pl -P$(PARALLELISM) -- -P$(PARALLELISM) $(SOLARENV)/bin/build.pl -P$(PARALLELISM) -- -P$(PARALLELISM)
endif endif
ifeq ($(OS),ANDROID) ifeq ($(OS),ANDROID)
@@ -274,7 +274,7 @@ dev-install: build
@rm -rf $(DEVINSTALLDIR) @rm -rf $(DEVINSTALLDIR)
@mkdir $(DEVINSTALLDIR) @mkdir $(DEVINSTALLDIR)
ifeq ($(OS_FOR_BUILD),WNT) ifeq ($(OS_FOR_BUILD),WNT)
cd instsetoo_native && unset MAKEFLAGS && $(SOLARENV)/bin/build.pl LIBO_DEV_INSTALL=TRUE cd $(SRC_ROOT)/instsetoo_native && unset MAKEFLAGS && $(SOLARENV)/bin/build.pl LIBO_DEV_INSTALL=TRUE
unzip -q -d "$(DEVINSTALLDIR)" "$(SRCDIR)/instsetoo_native/$(INPATH)/LibreOffice/archive/install/en-US/LibO*_install-arc_en-US.zip" unzip -q -d "$(DEVINSTALLDIR)" "$(SRCDIR)/instsetoo_native/$(INPATH)/LibreOffice/archive/install/en-US/LibO*_install-arc_en-US.zip"
mv "$(DEVINSTALLDIR)"/LibO*_install-arc_en-US/* "$(DEVINSTALLDIR)"/opt mv "$(DEVINSTALLDIR)"/LibO*_install-arc_en-US/* "$(DEVINSTALLDIR)"/opt
else else
@@ -301,7 +301,7 @@ install-tb:
@rm -rf $(DEVINSTALLDIR) @rm -rf $(DEVINSTALLDIR)
@mkdir $(DEVINSTALLDIR) @mkdir $(DEVINSTALLDIR)
ifeq ($(OS_FOR_BUILD),WNT) ifeq ($(OS_FOR_BUILD),WNT)
cd instsetoo_native && unset MAKEFLAGS && $(SOLARENV)/bin/build.pl LIBO_DEV_INSTALL=TRUE cd $(SRC_ROOT)/instsetoo_native && unset MAKEFLAGS && $(SOLARENV)/bin/build.pl LIBO_DEV_INSTALL=TRUE
unzip -q -d "$(DEVINSTALLDIR)" "$(SRCDIR)/instsetoo_native/$(INPATH)/LibreOffice/archive/install/en-US/LibO*_install-arc_en-US.zip" unzip -q -d "$(DEVINSTALLDIR)" "$(SRCDIR)/instsetoo_native/$(INPATH)/LibreOffice/archive/install/en-US/LibO*_install-arc_en-US.zip"
mv "$(DEVINSTALLDIR)"/LibO*_install-arc_en-US/* "$(DEVINSTALLDIR)"/opt mv "$(DEVINSTALLDIR)"/LibO*_install-arc_en-US/* "$(DEVINSTALLDIR)"/opt
else else
@@ -328,7 +328,7 @@ docs:
findunusedcode: findunusedcode:
@which callcatcher > /dev/null 2>&1 || \ @which callcatcher > /dev/null 2>&1 || \
(echo "callcatcher not installed" && false) (echo "callcatcher not installed" && false)
@sed -e s,$$INPATH,callcatcher,g $(SRCDIR)/config_host.mk | sed -e s,"export OOO_JUNIT_JAR=.*","export OOO_JUNIT_JAR=",g > $(SRCDIR)/config_host_callcatcher.mk @sed -e s,$$INPATH,callcatcher,g config_host.mk | sed -e s,"export OOO_JUNIT_JAR=.*","export OOO_JUNIT_JAR=",g > $(SRCDIR)/config_host_callcatcher.mk
@echo unexport ARCH_FLAGS >> $(SRCDIR)/config_host_callcatcher.mk @echo unexport ARCH_FLAGS >> $(SRCDIR)/config_host_callcatcher.mk
@echo unexport CFLAGS >> $(SRCDIR)/config_host_callcatcher.mk @echo unexport CFLAGS >> $(SRCDIR)/config_host_callcatcher.mk
@echo unexport CXXFLAGS >> $(SRCDIR)/config_host_callcatcher.mk @echo unexport CXXFLAGS >> $(SRCDIR)/config_host_callcatcher.mk
@@ -370,10 +370,10 @@ findunusedcode:
check: dev-install subsequentcheck check: dev-install subsequentcheck
subsequentcheck :| $(if $(filter-out subsequentcheck,$(MAKECMDGOALS)),dev-install) subsequentcheck :| $(if $(filter-out subsequentcheck,$(MAKECMDGOALS)),dev-install)
$(GNUMAKE) -j $(CHECK_PARALLELISM) $(GMAKE_OPTIONS) -f Makefile.post $@ $(GNUMAKE) -j $(CHECK_PARALLELISM) $(GMAKE_OPTIONS) -f $(SRC_ROOT)/Makefile.post $@
unitcheck slowcheck debugrun: unitcheck slowcheck debugrun:
$(GNUMAKE) -j $(PARALLELISM) $(GMAKE_OPTIONS) -f Makefile.post $@ $(GNUMAKE) -j $(PARALLELISM) $(GMAKE_OPTIONS) -f $(SRC_ROOT)/Makefile.post $@
endif # not clean or distclean endif # not clean or distclean

View File

@@ -4,6 +4,18 @@
use strict; use strict;
use Cwd ('cwd', 'realpath'); use Cwd ('cwd', 'realpath');
use File::Basename;
my $src_path=dirname(realpath($0));
my $build_path=realpath(cwd());
# since this looks crazy, if you have a symlink on a path up to and including
# the current directory, we need our configure to run in the realpath of that
# such that compiled (realpath'd) dependency filenames match the filenames
# used in our makefiles - ie. this gets dependencies right via SRC_ROOT
chdir ($build_path);
# more amazingly, if you don't clobber 'PWD' shells will re-assert their
# old path from the environment, not cwd.
$ENV{PWD} = $build_path;
sub clean() sub clean()
{ {
@@ -79,7 +91,7 @@ sub invalid_distro($$)
print STDERR "Can't find distro option set: $config\nThis is not necessarily a problem.\n"; print STDERR "Can't find distro option set: $config\nThis is not necessarily a problem.\n";
print STDERR "Distros with distro option sets are:\n"; print STDERR "Distros with distro option sets are:\n";
my $dirh; my $dirh;
opendir ($dirh, "distro-configs"); opendir ($dirh, "$src_path/distro-configs");
while (($_ = readdir ($dirh))) { while (($_ = readdir ($dirh))) {
/(.*)\.conf$/ || next; /(.*)\.conf$/ || next;
print STDERR "\t$1\n"; print STDERR "\t$1\n";
@@ -104,7 +116,7 @@ if (!@ARGV) {
} }
my @args; my @args;
my $default_config = "distro-configs/default.conf"; my $default_config = "$src_path/distro-configs/default.conf";
if (-f $default_config) { if (-f $default_config) {
print STDERR "Reading default config file: $default_config\n"; print STDERR "Reading default config file: $default_config\n";
push @args, read_args ($default_config); push @args, read_args ($default_config);
@@ -113,7 +125,7 @@ for my $arg (@cmdline_args) {
if ($arg eq '--clean') { if ($arg eq '--clean') {
clean(); clean();
} elsif ($arg =~ m/--with-distro=(.*)$/) { } elsif ($arg =~ m/--with-distro=(.*)$/) {
my $config = "distro-configs/$1.conf"; my $config = "$src_path/distro-configs/$1.conf";
if (! -f $config) { if (! -f $config) {
invalid_distro ($config, $1); invalid_distro ($config, $1);
} else { } else {
@@ -137,26 +149,21 @@ chomp $system;
sanity_checks ($system) unless($system eq 'Darwin'); sanity_checks ($system) unless($system eq 'Darwin');
# since this looks crazy, if you have a symlink on a path up to and including
# the current directory, we need our configure to run in the realpath of that
# such that compiled (realpath'd) dependency filenames match the filenames
# used in our makefiles - ie. this gets dependencies right via SRC_ROOT
my $cwd_str = realpath(cwd());
chdir ($cwd_str);
# more amazingly, if you don't clobber 'PWD' shells will re-assert their
# old path from the environment, not cwd.
$ENV{PWD} = $cwd_str;
my $aclocal_flags = $ENV{ACLOCAL_FLAGS}; my $aclocal_flags = $ENV{ACLOCAL_FLAGS};
$aclocal_flags .= " -I ./m4"; $aclocal_flags .= " -I $src_path/m4";
$aclocal_flags .= " -I ./m4/mac" if ($system eq 'Darwin'); $aclocal_flags .= " -I $src_path/m4/mac" if ($system eq 'Darwin');
$ENV{AUTOMAKE_EXTRA_FLAGS} = '--warnings=no-portability' if (!($system eq 'Darwin')); $ENV{AUTOMAKE_EXTRA_FLAGS} = '--warnings=no-portability' if (!($system eq 'Darwin'));
if ($src_path ne $build_path)
{
system ("ln -sf $src_path/configure.ac configure.ac");
system ("ln -sf $src_path/g g");
}
system ("$aclocal $aclocal_flags") && die "Failed to run aclocal"; system ("$aclocal $aclocal_flags") && die "Failed to run aclocal";
unlink ("configure"); unlink ("configure");
system ("autoconf") && die "Failed to run autoconf"; system ("autoconf -I ${src_path}") && die "Failed to run autoconf";
die "failed to generate configure" if (! -f "configure"); die "failed to generate configure" if (! -f "configure");
if (defined $ENV{NOCONFIGURE}) { if (defined $ENV{NOCONFIGURE}) {
@@ -188,6 +195,8 @@ if (defined $ENV{NOCONFIGURE}) {
open (my $fh, ">autogen.lastrun") || die "can't create autogen.lastrun"; open (my $fh, ">autogen.lastrun") || die "can't create autogen.lastrun";
close ($fh); close ($fh);
} }
push @args, "--srcdir=$src_path";
print "running ./configure with '" . join ("' '", @args), "'\n"; print "running ./configure with '" . join ("' '", @args), "'\n";
system ("./configure", @args) && die "Error running configure"; system ("./configure", @args) && die "Error running configure";
} }

View File

@@ -4,7 +4,6 @@ dnl in order to create a configure script.
AC_INIT([LibreOffice],[4.1],[],[],[http://documentfoundation.org/]) AC_INIT([LibreOffice],[4.1],[],[],[http://documentfoundation.org/])
AC_PREREQ([2.59]) AC_PREREQ([2.59])
save_CC=$CC save_CC=$CC
save_CXX=$CXX save_CXX=$CXX
@@ -87,16 +86,20 @@ AC_PROG_EGREP
# AC_PROG_EGREP doesn't set GREP on all systems as well # AC_PROG_EGREP doesn't set GREP on all systems as well
AC_PATH_PROG(GREP, grep) AC_PATH_PROG(GREP, grep)
BUILD_DIR=`pwd`
cd $srcdir
SRC_ROOT=`pwd`
cd $BUILD_DIR
EXEEXT_FOR_BUILD=
x_Cygwin=[\#]
if test "$build_os" = "cygwin"; then if test "$build_os" = "cygwin"; then
EXEEXT_FOR_BUILD=.exe EXEEXT_FOR_BUILD=.exe
SRC_ROOT=`pwd`
PathFormat "$SRC_ROOT" PathFormat "$SRC_ROOT"
SRC_ROOT="$formatted_path" SRC_ROOT="$formatted_path"
PathFormat "$BUILD_DIR"
BUILD_DIR="$formatted_path"
x_Cygwin= x_Cygwin=
else
EXEEXT_FOR_BUILD=
SRC_ROOT=`pwd`
x_Cygwin=[\#]
fi fi
AC_SUBST(SRC_ROOT) AC_SUBST(SRC_ROOT)
@@ -2406,7 +2409,7 @@ if test -n "${with_solver_and_workdir_root}"; then
SOLARVER=${formatted_path}/solver SOLARVER=${formatted_path}/solver
fi fi
else else
SOLARVER=${SRC_ROOT}/solver SOLARVER=${BUILD_DIR}/solver
fi fi
dnl =================================================================== dnl ===================================================================
@@ -4031,7 +4034,7 @@ if test -n "${with_solver_and_workdir_root}"; then
WORKDIR=${formatted_path}/workdir/${INPATH} WORKDIR=${formatted_path}/workdir/${INPATH}
fi fi
else else
WORKDIR=${SRC_ROOT}/workdir/${INPATH} WORKDIR=${BUILD_DIR}/workdir/${INPATH}
fi fi
OUTDIR="${SOLARVER}/${INPATH}" OUTDIR="${SOLARVER}/${INPATH}"
SOLARINC="-I. -I${SOLARVER}/$INPATH/inc/external -I${SOLARVER}/$INPATH/inc -I$SRC_ROOT/solenv/inc $SOLARINC" SOLARINC="-I. -I${SOLARVER}/$INPATH/inc/external -I${SOLARVER}/$INPATH/inc -I$SRC_ROOT/solenv/inc $SOLARINC"
@@ -4145,9 +4148,9 @@ if test "$cross_compiling" = "yes"; then
config_host.mk.in \ config_host.mk.in \
configure \ configure \
bin/get_config_variables \ bin/get_config_variables \
solenv/bin/getcompver.awk \ $srcdir/solenv/bin/getcompver.awk \
solenv/inc/langlist.mk \ $SRC_ROOT/solenv/inc/langlist.mk \
solenv/inc/postset.mk \ $SRC_ROOT/solenv/inc/postset.mk \
| (cd CONF-FOR-BUILD && tar xf -) | (cd CONF-FOR-BUILD && tar xf -)
( (
unset COM GUI GUIBASE OS CPU CPUNAME unset COM GUI GUIBASE OS CPU CPUNAME
@@ -11824,7 +11827,7 @@ AC_MSG_CHECKING([which languages to be built])
# + adds " at the end of the value # + adds " at the end of the value
# + removes en-US; we want to put it on the beginning # + removes en-US; we want to put it on the beginning
# + prints just the section starting with 'completelangiso=' and ending with the " at the end of line # + prints just the section starting with 'completelangiso=' and ending with the " at the end of line
[eval $(sed -e :a -e '/\\$/N; s/\\\n//; ta' -n -e 's/=/="/;s/\([^\\]\)$/\1"/;s/en-US//;/^completelangiso/p' solenv/inc/langlist.mk)] [eval $(sed -e :a -e '/\\$/N; s/\\\n//; ta' -n -e 's/=/="/;s/\([^\\]\)$/\1"/;s/en-US//;/^completelangiso/p' $SRC_ROOT/solenv/inc/langlist.mk)]
ALL_LANGS="en-US $completelangiso" ALL_LANGS="en-US $completelangiso"
# check the configured localizations # check the configured localizations
WITH_LANG="$with_lang" WITH_LANG="$with_lang"
@@ -12511,7 +12514,7 @@ else
echo > config_host.mk.last echo > config_host.mk.last
fi fi
AC_CONFIG_FILES([config_host.mk]) AC_CONFIG_FILES([config_host.mk Makefile])
AC_CONFIG_HEADERS([config/config_global.h]) AC_CONFIG_HEADERS([config/config_global.h])
AC_CONFIG_HEADERS([config/config_telepathy.h]) AC_CONFIG_HEADERS([config/config_telepathy.h])
AC_CONFIG_HEADERS([config/config_vclplug.h]) AC_CONFIG_HEADERS([config/config_vclplug.h])

13
g
View File

@@ -10,9 +10,16 @@ fi
SUBMODULES_ALL="dictionaries helpcontent2 translations" SUBMODULES_ALL="dictionaries helpcontent2 translations"
pushd $(dirname $0) > /dev/null pushd $(dirname $0) > /dev/null
COREDIR=$(pwd) if [ -f config_host.mk ] ; then
# we are in the BUILD_DIR
SRC_ROOT=$(cat ${BUILD_DIR}/config_host.mk | grep SRC_ROOT | sed -e "s/.*=//")
else
SRC_ROOT=$(pwd)
fi
popd > /dev/null popd > /dev/null
COREDIR="$SRC_ROOT"
usage() usage()
{ {
git git
@@ -114,8 +121,8 @@ local repo
get_configured_submodules() get_configured_submodules()
{ {
SUBMODULES_CONFIGURED="" SUBMODULES_CONFIGURED=""
if [ -f "config_host.mk" ] ; then if [ -f "${BUILD_DIR}/config_host.mk" ] ; then
SUBMODULES_CONFIGURED=$(cat config_host.mk | grep GIT_NEEDED_SUBMODULES | sed -e "s/.*=//") SUBMODULES_CONFIGURED=$(cat ${BUILD_DIR}/config_host.mk | grep GIT_NEEDED_SUBMODULES | sed -e "s/.*=//")
else else
# if we need the configured submoduel before the configuration is done. we assumed you want them all # if we need the configured submoduel before the configuration is done. we assumed you want them all
SUBMODULES_CONFIGURED=${SUBMODULES_ALL?} SUBMODULES_CONFIGURED=${SUBMODULES_ALL?}

View File

@@ -31,10 +31,10 @@ $(call gb_CustomTarget_get_target,scp2/macros) : $(call gb_CustomTarget_get_work
$(call gb_CustomTarget_get_workdir,scp2/macros)/langmacros.inc :| $(call gb_CustomTarget_get_workdir,scp2/macros)/.dir $(call gb_CustomTarget_get_workdir,scp2/macros)/langmacros.inc :| $(call gb_CustomTarget_get_workdir,scp2/macros)/.dir
$(call gb_CustomTarget_get_workdir,scp2/macros)/langmacros.inc : $(SRCDIR)/scp2/macros/macro.pl $(SRCDIR)/config_host.mk.stamp $(call gb_CustomTarget_get_workdir,scp2/macros)/langmacros.inc : $(SRCDIR)/scp2/macros/macro.pl $(BUILD_DIR)/config_host.mk.stamp
$(call gb_Helper_abbreviate_dirs,\ $(call gb_Helper_abbreviate_dirs,\
export COMPLETELANGISO_VAR='$(gb_ScpTemplateTarget_LANGS)' && \ export COMPLETELANGISO_VAR='$(gb_ScpTemplateTarget_LANGS)' && \
$(PERL) $< -verbose -o $@ -c $(SRCDIR)/config_host.mk.stamp \ $(PERL) $< -verbose -o $@ -c $(BUILD_DIR)/config_host.mk.stamp \
) )
# vim: set shiftwidth=4 tabstop=4 noexpandtab: # vim: set shiftwidth=4 tabstop=4 noexpandtab:

View File

@@ -189,7 +189,7 @@
my $incompatible = 0; my $incompatible = 0;
my $local_host_ip = 'localhost'; my $local_host_ip = 'localhost';
my $tail_build_modules_mk = "$ENV{SOLARENV}/gbuild/tail_build_modules.mk"; my $tail_build_modules_mk = "$ENV{SOLARENV}/gbuild/tail_build_modules.mk";
my $tail_build_module_dir = $ENV{"SRCDIR"}; my $tail_build_module_dir = $ENV{"SRC_ROOT"};
my $tail_build_prj = "tail_build"; my $tail_build_prj = "tail_build";
my $cross_tail_build_prj = "cross_tail_build"; my $cross_tail_build_prj = "cross_tail_build";
my $total_modules = 0; my $total_modules = 0;

View File

@@ -157,7 +157,7 @@ gb_DEBUG_CXXFLAGS := $(FNO_DEFAULT_INLINE)
gb_LinkTarget_INCLUDE :=\ gb_LinkTarget_INCLUDE :=\
$(subst -I. , ,$(SOLARINC)) \ $(subst -I. , ,$(SOLARINC)) \
-I$(SRCDIR)/config \ -I$(BUILD_DIR)/config \
ifeq ($(COM_GCC_IS_CLANG),TRUE) ifeq ($(COM_GCC_IS_CLANG),TRUE)
ifeq ($(COMPILER_PLUGIN_TOOL),) ifeq ($(COMPILER_PLUGIN_TOOL),)

View File

@@ -162,7 +162,7 @@ gb_LinkTarget_CXXFLAGS := $(gb_CXXFLAGS)
gb_LinkTarget_INCLUDE :=\ gb_LinkTarget_INCLUDE :=\
$(subst -I. , ,$(SOLARINC)) \ $(subst -I. , ,$(SOLARINC)) \
$(foreach inc,$(subst ;, ,$(JDKINC)),-I$(inc)) \ $(foreach inc,$(subst ;, ,$(JDKINC)),-I$(inc)) \
-I$(SRCDIR)/config \ -I$(BUILD_DIR)/config \
gb_LinkTarget_get_pdbfile = $(call gb_LinkTarget_get_target,)pdb/$(1).pdb gb_LinkTarget_get_pdbfile = $(call gb_LinkTarget_get_target,)pdb/$(1).pdb