diff options
author | Norbert Thiebaud <nthiebaud@gmail.com> | 2012-01-21 19:40:28 -0600 |
---|---|---|
committer | Norbert Thiebaud <nthiebaud@gmail.com> | 2012-02-05 19:34:05 -0600 |
commit | 909cd34b7b0982078a50b9ed46cf57811d9571df (patch) | |
tree | 30aee8668613a9875eff2835b4ffb07701cabac0 | |
parent | b5c7a1ea72da52cb11f54212dda984e0507aab92 (diff) |
coup de grace for Env.Host.sh and associated files
-rw-r--r-- | .gitignore | 5 | ||||
-rwxr-xr-x | bootstrap | 15 | ||||
-rw-r--r-- | config_host.mk.in | 10 | ||||
-rw-r--r-- | configure.in | 173 | ||||
-rwxr-xr-x | download | 2 | ||||
-rwxr-xr-x | set_soenv.in | 779 | ||||
-rwxr-xr-x | solenv/bin/build.pl | 1 | ||||
-rwxr-xr-x | solenv/bin/create-ids | 2 | ||||
-rwxr-xr-x | solenv/bin/create-tags | 2 | ||||
-rw-r--r-- | solenv/gbuild/extensions/post_AuxTargets.mk | 6 | ||||
-rw-r--r-- | solenv/gbuild/extensions/post_BuildplTargets.mk | 19 | ||||
-rw-r--r-- | solenv/gbuild/extensions/post_SpeedUpTargets.mk | 6 | ||||
-rw-r--r-- | solenv/gbuild/source_and_rerun.mk | 5 |
13 files changed, 161 insertions, 864 deletions
diff --git a/.gitignore b/.gitignore index 11ed5b6951ff..47fca4e48f64 100644 --- a/.gitignore +++ b/.gitignore @@ -56,11 +56,11 @@ /config.status /config.parms /config_host.mk +/config_host.mk.last /config_build.mk /configure /desktop/scripts/soffice.sh /makefile.mk -/set_soenv /post_download /bin/repo-list /src.downloaded @@ -77,7 +77,6 @@ # misc /file-lists /cross-build-toolset.built -/set_soenv.last /set_soenv.stamp /warn /build.log @@ -85,8 +84,6 @@ /post_download.log /install /downloaded -/Env.Build.sh -/Env.Host.sh /ID /tags /docs diff --git a/bootstrap b/bootstrap index 9faa842f304c..94d07aaeba35 100755 --- a/bootstrap +++ b/bootstrap @@ -10,25 +10,10 @@ if test -z "${SRC_ROOT}"; then fi fi if test -z "${SOLARENV}"; then - if test -f ./Env.Build.sh ; then - . ./Env.Build.sh - else - if test -f ./Env.Host.sh ; then - . ./Env.Host.sh - fi - fi -fi -if test -z "${SOLARENV}"; then echo "bootstrap: No environment set!" exit 1 fi -# remove aliases set by Env.Host.sh -unalias mkout 2> /dev/null -unalias deliver 2> /dev/null -unalias build 2> /dev/null -unalias zipdep 2> /dev/null - # executables are *.exe for WNT. This variable is necessary since Cygwin 1.5.x # Use spawn instead of fork when building dmake on cygwin. if test "$GUI_FOR_BUILD" = "WNT"; then diff --git a/config_host.mk.in b/config_host.mk.in index fcd22b90cccf..5f01d439c99a 100644 --- a/config_host.mk.in +++ b/config_host.mk.in @@ -17,7 +17,6 @@ export ANCIENT_BISON="@ANCIENT_BISON@" export ANDROID_NDK_HOME="@ANDROID_NDK_HOME@" export ANDROID_SDK_HOME="@ANDROID_SDK_HOME@" export AR="@AR@" -export ASM_PATH="@ASM_PATH@" export ATL_INCLUDE="@ATL_INCLUDE@" export ATL_LIB="@ATL_LIB@" export AWTLIB='@AWTLIB@' @@ -58,7 +57,6 @@ export CPUNAME="@CPUNAME@" export CPUNAME_FOR_BUILD="@CPUNAME_FOR_BUILD@" export CPU_FOR_BUILD="@CPU_FOR_BUILD@" export CROSS_COMPILING="@CROSS_COMPILING@" -export CSC_PATH="@CSC_PATH@" export CT2N_EXTENSION_PACK="@CT2N_EXTENSION_PACK@" export CURL_CFLAGS="@CURL_CFLAGS@" export CURL_LIBS="@CURL_LIBS@" @@ -87,7 +85,6 @@ export DISABLE_STRIP="@DISABLE_STRIP@" export DLLTOOL="@DLLTOOL@" export DMAKEROOT="@SRC_ROOT@/solenv/inc/startup" export DOCDIR="@DOCDIR@" -export DOTNET_FRAMEWORK_HOME="@DOTNET_FRAMEWORK_HOME@" export DOXYGEN="@DOXYGEN@" export DO_FETCH_TARBALLS="@DO_FETCH_TARBALLS@" export DPKG="@DPKG@" @@ -270,7 +267,6 @@ export MDDS_CPPFLAGS="@MDDS_CPPFLAGS@" export MERGELIBS="@MERGELIBS@" export MFC_INCLUDE="@MFC_INCLUDE@" export MFC_LIB="@MFC_LIB@" -export MIDL_PATH="@MIDL_PATH@" export MINGWCXX="@MINGWCXX@" export MINGWSTRIP="@MINGWSTRIP@" export MINGW_CLIB_DIR="@MINGW_CLIB_DIR@" @@ -292,7 +288,6 @@ export MOZ_INC="@MOZ_INC@" export MOZ_LDAP_CFLAGS="@MOZ_LDAP_CFLAGS@" export MOZ_LIB="@MOZ_LIB@" export MOZ_LIB_XPCOM="@MOZ_LIB_XPCOM@" -export MSPDB_PATH="@MSPDB_PATH@" export MYSQL_DEFINES="@MYSQL_DEFINES@" export MYSQL_INC="@MYSQL_INC@" export MYSQL_LIB="@MYSQL_LIB@" @@ -326,6 +321,8 @@ export OUTDIR_FOR_BUILD="@OUTDIR_FOR_BUILD@" export OUTPATH="@OUTPATH@" export OUTPATH_FOR_BUILD="@OUTPATH_FOR_BUILD@" export OXYGENOFFICE_PACK="@OXYGENOFFICE_PACK@" +export PATH="@LO_PATH@" +export PATH_FOR_BUILD="@LO_PATH_FOR_BUILD@" export PATH_SEPERATOR="@P_SEP@" export PERL="@PERL@" export PKGFORMAT="@PKGFORMAT@" @@ -369,14 +366,15 @@ export SIZEOF_LONG="@SIZEOF_LONG@" export SIZEOF_LONGLONG="@SIZEOF_LONGLONG@" export SIZEOF_POINTER="@SIZEOF_POINTER@" export SIZEOF_SHORT="@SIZEOF_SHORT@" +export SOLARENV="@SRC_ROOT@/solenv" export SOLAREXTRALIB="@SOLAREXTRALIB@" export SOLARINC="@SOLARINC@" export SOLARINC_FOR_BUILD="@SOLARINC_FOR_BUILD@" export SOLARLIB="@SOLARLIB@" export SOLARLIB_FOR_BUILD="@SOLARLIB_FOR_BUILD@" -export SOLAR_JAVA="@SOLAR_JAVA@" export SOLARVER="@SRC_ROOT@/solver" export SOLARVERSION="@SRC_ROOT@/solver" +export SOLAR_JAVA="@SOLAR_JAVA@" export SPLIT_APP_MODULES="@SPLIT_APP_MODULES@" export SPLIT_OPT_FEATURES="@SPLIT_OPT_FEATURES@" export SRCDIR="@SRC_ROOT@" diff --git a/configure.in b/configure.in index 9b2c287381a9..acade6de478b 100644 --- a/configure.in +++ b/configure.in @@ -12,6 +12,7 @@ BUILD_TYPE="LibO" SCPDEFS="" GIT_REPO_NAMES="" MINGW_EXTERNAL_DLLS="" +LO_PATH= # used by path_munge to construct a PATH variable PathFormat() { @@ -48,10 +49,6 @@ WinPath() fi } -if test -n "$SOLARENV" ; then - AC_MSG_ERROR([You have sourced Env.Host.sh in this shell. This may lead to trouble, please run in a fresh (login) shell.]) -fi - echo "********************************************************************" echo "*" echo "* Running ${PACKAGE_NAME} build configuration." @@ -1941,11 +1938,19 @@ AC_PROG_EGREP pathmunge () { - if ! echo HOST_PATH | $EGREP -q "(^|:)$1($|:)" ; then - if test "$2" = "after" ; then - HOST_PATH="$HOST_PATH:$1" + if test -n "$1" ; then + if test "$build_os" = "cygwin" ; then + WinPath "$1" + new_path=`cygpath -u "$formatted_path"` else - HOST_PATH="$1:$HOST_PATH" + new_path="$1" + fi + if ! echo LO_PATH | $EGREP -q "(^|:)$1($|:)" ; then + if test "$2" = "after" ; then + LO_PATH="$LO_PATH:$1" + else + LO_PATH="$1:$LO_PATH" + fi fi fi } @@ -2651,7 +2656,6 @@ fi AC_SUBST(COMEX) PathFormat "$MSPDB_PATH" MSPDB_PATH="$formatted_path" -AC_SUBST(MSPDB_PATH) AC_SUBST(SHOWINCLUDES_PREFIX) # @@ -3081,7 +3085,7 @@ m4_pattern_allow([PKG_CONFIG_FOR_BUILD]) if test "$cross_compiling" = "yes"; then AC_MSG_CHECKING([for BUILD platform configuration]) echo - rm -rf CONF-FOR-BUILD Env.Build.sh + rm -rf CONF-FOR-BUILD config_build.mk mkdir CONF-FOR-BUILD tar cf - \ bin/repo-list.in \ @@ -3120,13 +3124,10 @@ if test "$cross_compiling" = "yes"; then --without-doxygen \ $sub_conf_opts \ 2>&1 | sed -e 's/^/ /' - test -f ./Env.Host.sh 2>/dev/null || exit test -f ./config_host.mk 2>/dev/null || exit cp config_host.mk ../config_build.mk - sed -e 's/config_host.mk/config_build.mk/' <Env.Host.sh >../Env.Build.sh cp config.log ../config.Build.log . ./config_host.mk - . ./Env.Host.sh for V in COM GUI GUIBASE OS CPU CPUNAME CC CXX GXX_INCLUDE_PATH MACOSX_DEPLOYMENT_TARGET INPATH OUTPATH \ SYSTEM_LIBXSLT; do VV='$'$V @@ -3137,7 +3138,7 @@ if test "$cross_compiling" = "yes"; then fi done - for V in OUTDIR PATH SOLARINC SOLARLIB WORKDIR; do + for V in OUTDIR LO_PATH SOLARINC SOLARLIB WORKDIR; do VV='$'$V VV=`eval "echo $VV"` VV=`echo $VV | sed -e 's,/CONF-FOR-BUILD,,g'` @@ -3149,8 +3150,6 @@ if test "$cross_compiling" = "yes"; then ) test -f CONF-FOR-BUILD/build-config || AC_MSG_ERROR([Running configure script for BUILD system failed, see CONF-FOR-BUILD/config.log]) test -f config_build.mk || AC_MSG_ERROR([A file called config_build.mk was supposed to have been copied here, but it isn't found]) - test -f Env.Build.sh || AC_MSG_ERROR([A file called Env.Build.sh was supposed to have been copied here, but it isn't found]) - perl -pi -e 's,/CONF-FOR-BUILD,,g' Env.Build.sh perl -pi -e 's,/CONF-FOR-BUILD,,g' config_build.mk eval `cat CONF-FOR-BUILD/build-config` AC_MSG_RESULT([checking for BUILD platform configuration... done]) @@ -3498,7 +3497,6 @@ make_warning= if test "z$_make_ver_check" = "z"; then STALE_MAKE=TRUE fi -AC_SUBST(STALE_MAKE) HAVE_LD_HASH_STYLE=FALSE WITH_LINKER_HASH_STYLE= @@ -3734,9 +3732,6 @@ if test "$build_os" = "cygwin"; then PathFormat "$CSC_PATH" CSC_PATH="$formatted_path" - AC_SUBST(MIDL_PATH) - AC_SUBST(CSC_PATH) - AC_SUBST(DOTNET_FRAMEWORK_HOME) fi dnl =================================================================== @@ -7349,8 +7344,8 @@ fi if test "$XLIB" != "no_x_libraries" -a "$XLIB" != "/usr/lib" -a "$XLIB" != "/usr/lib64" ; then SOLARLIB="$SOLARLIB -L$XLIB" fi -if test "$XiNC" != "no_x_include" -a "$XINC" != "/usr/include" ; then - SOLARLIB="$SOLARLIB -I$XINC" +if test "$XINC" != "no_x_includes" -a "$XINC" != "/usr/include" ; then + SOLARINC="$SOLARINC -I$XINC" fi AC_SUBST(XLIB) @@ -7746,7 +7741,9 @@ the Windows SDK are installed.]) fi PathFormat "$WINDOWS_SDK_HOME" WINDOWS_SDK_HOME="$formatted_path" - SOLARINC="$SOLARINC -I$WINDOWS_SDK_HOME/include -I$COMPATH/include" + if test "$build_os" = "cygwin"; then + SOLARINC="$SOLARINC -I$WINDOWS_SDK_HOME/include -I$COMPATH/include" + fi fi AC_SUBST(WINDOWS_SDK_HOME) @@ -7945,13 +7942,12 @@ if test "$_os" = "WINNT" -a "$WITH_MINGW" != "yes"; then ML_EXE="$assembler" fi fi + FormatPath "$with_asm_home" + ASM_HOME="$formatted_path" else - with_asm_home="NO_ASM_HOME" + ASM_HOME="" fi -FormatPath "$with_asm_home" -ASM_HOME="$formatted_path" -AC_SUBST(ASM_HOME) AC_SUBST(ML_EXE) dnl =================================================================== @@ -10803,6 +10799,61 @@ else TEMP_DIRECTORY="/tmp" fi fi +AC_SUBST(TEMP_DIRECTORY) +AC_SUBST(TMP_DIRECTORY) + +# setup the PATH for the environment +LO_PATH="$PATH" + +case "$host_os" in + +aix*|dragonfly*|freebsd*|linux-gnu*|*netbsd*|openbsd*) + if test "$SOLAR_JAVA" != "" -a "$JDK"!="gcj"; then + pathmunge "$JAVA_HOME/bin" "after" + fi + ;; + +cygwin*) + if test "$SOLAR_JAVA" != "" -a "$JDK"!="gcj"; then + pathmunge "$DOTNET_FRAMEWORK_HOME" "before" + pathmunge "$ASM_HOME" "before" + pathmunge "$WINDOWS_SDK_HOME" "before" + pathmunge "$CSC_PATH" "before" + pathmunge "$MIDL_PATH" "before" + pathmunge "$MSPDB_PATH" "before" + if test "$CL_X64"="TRUE" ; then + pathmunge "$COMPATH/bin/amd64" "before" + else + pathmunge "$COMPATH/bin" "before" + fi + if test -d "$JAVA_HOME/jre/bin/client" ; then + pathmunge "$JAVA_HOME/jre/bin/client" "before" + fi + if test -d "$JAVA_HOME/jre/bin/hotspot" ; then + pathmunge "$JAVA_HOME/jre/bin/hotspot" "before" + fi + pathmunge "$JAVA_HOME/bin" "before" + + fi + ;; + +solaris*) + pathmunge "/usr/css/bin" "before" + if test "$SOLAR_JAVA" != "" -a "$JDK"!="gcj"; then + pathmunge "$JAVA_HOME/bin" "after" + fi + ;; +esac + +pathmunge "$SRC_ROOT/solenv/$OUTPATH/bin" "before" +pathmunge "$SRC_ROOT/solenv/bin" "before" +pathmunge "." "before" + +AC_SUBST(LO_PATH) +if test -z "$LO_PATH_FOR_BUILD" ; then + LO_PATH_FOR_BUILD="$SOLARLIB" +fi +AC_SUBST(LO_PATH_FOR_BUILD) # make sure config.guess is +x; we execute config.guess, so it has to be so; chmod +x ./config.guess @@ -10816,28 +10867,78 @@ autoconf post_download.in > post_download chmod +x post_download # Generate a configuration timestamp we can use for deps -if test -f set_soenv; then - mv -f set_soenv set_soenv.last +if test -f config_host.mk; then + mv -f config_host.mk config_host.mk.last else - echo > set_soenv.last + echo > config_host.mk.last fi -AC_CONFIG_FILES([config_host.mk ooo.lst set_soenv bin/repo-list build_env android/qa/sc/local.properties android/qa/desktop/local.properties]) +AC_CONFIG_FILES([config_host.mk ooo.lst bin/repo-list build_env android/qa/sc/local.properties android/qa/desktop/local.properties]) AC_OUTPUT # touch the config timestamp file set_soenv.stamp if test ! -f set_soenv.stamp; then echo > set_soenv.stamp -elif diff set_soenv set_soenv.last >/dev/null 2>&1; then +elif diff config_host.mk config_host.mk.last >/dev/null 2>&1; then echo "Configuration unchanged - avoiding scp2 stamp update" else echo > set_soenv.stamp fi -dnl Run the set_soenv script to setup the Env.Host.sh script that sets -dnl environment variables for the build. -chmod +x set_soenv -. ./config_host.mk && ./set_soenv +if test "STALE_MAKE"="TRUE" -a "$build_os"="cygwin" ; then +cat << _EOS +**************************************************************************** +WARNING: +Your make version is known to be horribly slow, and hard to debug +problems with. To get a reasonably functional make please do: + +to install a pre-compiled binary make for cygwin + +mkdir -p /opt/lo/bin +cd /opt/lo/bin +wget http://dev-www.libreoffice.org/bin/cygwin/make +chmod +x make + +to install from source: +place yourself in a working directory of you choice. + +git clone git://anongit.freedesktop.org/libreoffice/contrib/dev-tools +cd dev-tools/make-3.82-gbuild +./configure --prefix=/opt/lo +make +sudo make install + +Then re-run autogen.sh + +Note: autogen.sh will try to use /opt/lo/bin/make if the environment variable GNUMAKE is not already defined. +Alternatively, you can install the 'new' make where ever you want and make sure that `which make` finds it. + +_EOS +fi + +cat << _EOF +**************************************************************************** +To build, issue: +$GNUMAKE + +To install when the build is finished, issue: +$GNUMAKE install + +If you want to develop LibreOffice, you might prefer: +$GNUMAKE dev-install + +If you want to run the smoketest, issue: +$GNUMAKE check + +ATTENTION: Env.Host.sh and Env.Build.sh are no more. +The environment is now in config_host.mk and config_build.mk (for cross-compile) +You do not need to source them, even for partial build. +In order to have 'build' and 'deliver' alias, source build_env instead. +(you need to do that only once in a session. this is not impacted by + autogen, clean etc...) + +_EOF + dnl vim:set shiftwidth=4 softtabstop=4 expandtab: @@ -28,7 +28,7 @@ # environment setup yet? if [ -z "$TARFILE_LOCATION" ]; then - . ./config_host.mk && . ./Env.Host.sh + . ./config_host.mk fi # we want to clone if we are in the bootstrap git repo and clone does not exist yet diff --git a/set_soenv.in b/set_soenv.in deleted file mode 100755 index e5be260d34d1..000000000000 --- a/set_soenv.in +++ /dev/null @@ -1,779 +0,0 @@ -#!@PERL@ -w # -*- Mode: perl; tab-width: 4; indent-tabs-mode: nil; -*- -# -# Program: set_soenv.in -# Author: Willem van Dorp, Ross Nicholson, Oisin Boydell - Sun Microsystems, Ireland. -# -#--------------------------------------------------------------------------- -#--------------------------------------------------------------------------- -# Description: -# set_soenv generates a file that contains all necessary -# environment variables for the build proces of OpenOffice -# on Linux, NetBSD, Solaris, Windows, Mac OS X and iOS. -# -# Program steps. -# -# I. Checking the command-line arguments. -# IIa. Declaring variables for the system commands, etc. -# IIb. Declaring the environment variables. -# III. Initialising the variables for the system commands, etc. -# IV. Print out some important messages etc. -# V. Initialising the environment variables. -# VI. Open the output file. -# VII. Writing the data to the output file. -# VIII. Closing output file. -# -#--------------------------------------------------------------------------- -# -use strict; # pragma -use File::Basename; - - -# -#-------------------------------------------------------- -# IIa. Declaring variables for the system commands, etc. -#-------------------------------------------------------- -# -my ( $outfile, $newline, $comment, - $ds, $ps, - $wps, $cur_dir, $par_dir, $tmp, - $platform, - $empty, - $warnfile, $Warning, $result, $unsetvars, $exportvars); -# -#------------------------------------------------- -# IIb. Declaring environment values (constants). -#------------------------------------------------- -# -# Platform independent constant values. -my ( $CC ); -# -# Platform dependent constant values. -my ( - $OUTPATH, - ); -# -#------------------------------------------- -# IIc. Declaring the environment variables. -#------------------------------------------- -# -# Help variables. -my ( $BIN, $LIB, - $ASM_PATH, $PERL_PATH, $CL_X64 ); - -# Environment variables. -my ( $oldPATH, $SRC_ROOT, $JAVA_HOME, $JDK, - $UPD, - $SOLARENV, - $COMPATH, - $PATH, - $PERL, - $WINDOWS_SDK_HOME, $DOTNET_FRAMEWORK_HOME, - $GNUMAKE, - ); -# -#------------------------------------------- -# IId. Declaring the aliases. -#------------------------------------------- -# -my ( $dmake, $build, $mkout, $deliver, $zipdep ); -# - -$OUTPATH="@OUTPATH@"; -$COMPATH="@COMPATH@"; -#------------------------------------------------------------- -# IIIa. Initialising constants. -#------------------------------------------------------------- -# -$platform = '@host@'; - -$UPD = '@UPD@'; # the project's UPD -$newline = "\n"; # Perl newline character -$ds = "/"; # directory separator -$ps = ":"; # path separator -$wps = ":"; # path separator, will be set to ';' for windows later. -$cur_dir = "."; # current directory -$par_dir = ".."; # parrent directory -$empty = ""; # used as argument -$warnfile = "warn"; # logfile configure warnings. -$Warning = ""; # container for warning messages -$JDK = '@JDK@'; -$CC = '@CC@'; # C compiler -$CL_X64 = '@CL_X64@'; -$GNUMAKE = "@GNUMAKE@"; - -# JAVA_HOME as argument from autoconf. -$JAVA_HOME = "@JAVA_HOME@" ; - -if ( $platform =~ m/cygwin/ ) { - $JAVA_HOME =~ s/[\s\/]+$//; # remove trailing \n or \/ if there is any. -} -# -#-------------------------------------------------------------------- -# IV. Initialise the warning container and print a note to the user. -#-------------------------------------------------------------------- -# -# Add the configure (pre-requisite) warnings to the warning container -# , $Warning. -AddWarning( "configure", "" ); -# -print ("Setting up the environment for building LibreOffice $newline"); -# -#-------------------------------------------------- -# V. Setting the environment variables/values. -#-------------------------------------------------- -# - -# -# B. Gathering information from the system. -# -# 1. Path -$oldPATH = $ENV{"PATH"}; -chomp( $oldPATH ); # cut off new line -# -# C. Setting the constant values. -# -# Setting platform independent constant values. -$comment = "#"; # UNIX script comment character - -# Setting platform dependent constant values. -if ( $platform =~ m/cygwin|mingw32/ ) -{ - $wps = ';' if '@build_os@' eq 'cygwin'; # Windows style path seperator -} - - -print "done\n"; - -# -# D. Gathering directory information from the user. -# -# If the directory does not exist something is strange. -# 1. LibreOffice build home directory. -# SRC_ROOT should already be in the env due to config_host.mk -$SRC_ROOT = $ENV{"SRC_ROOT"}; -CheckPathExist( $SRC_ROOT ); - - -# -# E. Determining the envionment values based on the information -# that was gathered earlier on. - -$BIN = $ds."bin"; -$LIB = $ds."lib"; - -$PERL = '@PERL@'; -$PERL_PATH = dirname('@PERL@'); # Perl Path - -# -$SOLARENV = "$SRC_ROOT/solenv"; - - -# The general environment path. -if ($platform =~ m/linux|netbsd|freebsd|aix|solaris|openbsd|dragonfly/) -{ $PATH = $cur_dir. - $ps.'$SOLARENV'.$ds.'$OUTPATH'.$BIN. - $ps.'$SOLARENV'.$BIN; - - if ($platform =~ m/solaris/) { - $PATH .= $ps."/usr/ccs/bin"; - } - - $PATH .= $ps.$oldPATH; - - my @javaBits; - if ( $JAVA_HOME ne "" && $JAVA_HOME ne "NO_JAVA_HOME" && $JDK ne "gcj" ) { - @javaBits = ( $JAVA_HOME.$BIN, 'javac' ); - } else { - @javaBits = (); - } - $PATH = GetCorrectPath ($PATH, - $COMPATH, $CC, - $PERL_PATH, 'perl', - @javaBits); -} - -elsif ($platform =~ m/cygwin/) -{ # The PATH variable is completely created from scratch. Elements - # from oldPATH that are not yet included are appended to PATH at - # the end. - - my ( $tmppath ); - - $PATH = $cur_dir. - $ps.CygFormat($SOLARENV).$ds."bin". - $ps.CygFormat($SOLARENV).$ds.$OUTPATH.$BIN; - - if ( $JAVA_HOME ne "" && $JAVA_HOME ne "NO_JAVA_HOME" ) - { - # hack either "hotspot" or "client" should be used, depending on the jdk version: - # 1.2.x - no such directory, unsupported - # 1.3.x - hotspot, client missing - # 1.4.x - client, hotspot missing - - $PATH .= $ps.CygFormat($JAVA_HOME).$BIN; - if ( -d $JAVA_HOME.$ds."jre".$ds."bin".$ds."hotspot" ) { - $PATH .= $ps.CygFormat($JAVA_HOME).$ds."jre".$ds."bin".$ds."hotspot"; - } - if ( -d $JAVA_HOME.$ds."jre".$ds."bin".$ds."client" ) { - $PATH .= $ps.CygFormat($JAVA_HOME).$ds."jre".$ds."bin".$ds."client"; - } - } - - # Add path to compiler - $tmppath = CygFormat($COMPATH).$BIN; - $tmppath .= $ds."amd64" if $CL_X64; - $tmppath =~ s/^\/\//\//; - if ( "$PATH:$oldPATH" !~ /(?:[:]|\A)(?:$tmppath)(?:[:]|\Z)/ ) { - $PATH .= $ps.$tmppath; - } - - $tmppath = CygFormat("@MSPDB_PATH@"); - # for MSVC to find mspdb*.dll - if ( "$PATH:$oldPATH" !~ /(?:[:]|\A)(?:$tmppath)(?:[:]|\Z)/ ) { - $PATH .= $ps.$tmppath; - } - # need midl.exe - $tmppath = CygFormat("@MIDL_PATH@"); - if ( "$PATH:$oldPATH" !~ /(?:[:]|\A)(?:$tmppath)(?:[:]|\Z)/ ) { - $PATH .= $ps.$tmppath; - } - # needs csc.exe - $tmppath = CygFormat("@CSC_PATH@"); - if ( "$PATH:$oldPATH" !~ /(?:[:]|\A)(?:$tmppath)(?:[:]|\Z)/ ) { - $PATH .= $ps.$tmppath; - } - # Installer needs some files if the Windows Installer SDK - $tmppath = CygFormat("@WINDOWS_SDK_HOME@"); - if ( "$PATH:$oldPATH" !~ /(?:[:]|\A)(?:$tmppath\/bin)(?:[:]|\Z)/i ) { - $PATH .= $ps.$tmppath.$BIN; - } - - if ( "@ASM_HOME@" ne "ASM_IN_PATH" ) - { $PATH .= $ps.CygFormat("@ASM_HOME@"); - } - - # Possible cygwin paths must follow behind the OOo and MS paths. - # What the above comment means I have no idea. - - # Check if $PERL_PATH is already set in PATH - $tmppath = CygFormat($PERL_PATH); - if ( "$PATH:$oldPATH" !~ /(?:[:]|\A)(?:$tmppath)(?:[:]|\Z)/ ) { - $PATH .= $ps.$tmppath; - } - # path to sn.exe (signing) for Windows users. - my $sn_path = "@DOTNET_FRAMEWORK_HOME@/bin"; - $tmppath = CygFormat($sn_path); - if ( "$PATH:$oldPATH" !~ /(?:[:]|\A)(?:$tmppath)(?:[:]|\Z)/ ) { - $PATH .= $ps.$tmppath; - } - - # Add the rest of the original path if it is still missing. - my $expandedPATH = $PATH; - $expandedPATH =~ s/(\$\w+)/$1/eeg; - - # fix situations where PATH may look like /bin:"C:\blah\bleh":/ugh - my $fixedPATH = $oldPATH; - if ( $oldPATH =~ /"/ ) { - $fixedPATH = ""; - foreach my $pathentry ( split( '"',$oldPATH ) ) { - if ( ( $pathentry =~ /^$ps/ ) || ( $pathentry =~ /$ps$/ ) ) { - $fixedPATH .= $pathentry; - } else { - chomp( $pathentry = qx{cygpath -d "$pathentry"} ) ; - chomp( $pathentry = qx{cygpath -u "$pathentry"} ) ; - $fixedPATH .= $pathentry; - } - } - } - - foreach my $pathentry (split($ps,$fixedPATH)) { - if ( ! ( $expandedPATH =~ /(?:$ps|\A)(?:$pathentry)(?:$ps|\Z)/ ) ) { - $PATH .= $ps.$pathentry; - $expandedPATH .= $ps.$pathentry; - } - } - - # The path now is in cygwin posix format - -} -elsif ($platform =~ m/mingw32/) -{ - my ( $tmppath ); - - $PATH = $cur_dir. - $ps.CygFormat($SOLARENV).$ds."bin". - $ps.CygFormat($SOLARENV).$ds.$OUTPATH.$BIN; - - $PATH .= $ps.$oldPATH; -} -elsif ($platform =~ m/darwin/) -{ $PATH = $cur_dir. - $ps.'$SOLARENV'.$ds.'$OUTPATH'.$BIN. - $ps.'$SOLARENV'.$BIN; - - # Append old PATH - $PATH .= $ps.$oldPATH; -} -else -{ AddWarning( "set_soenv", "$platform not configured for general environment paths" ); -} - - -# -# F. Setting the different aliases. -# -# 1. alias for a full product make. - $mkout = '"perl $SOLARENV/bin/mkout.pl"'; - $deliver = '"perl $SOLARENV/bin/deliver.pl"'; - $build = '"perl $SOLARENV/bin/build.pl"'; - $zipdep = '"perl $SOLARENV/bin/zipdep.pl"'; - -# -#-------------------------- -# VI. Open the output file. -#-------------------------- -# -$outfile = 'Env.Host.sh'; - -open( OUT, ">$SRC_ROOT/$outfile" ) || - die "Cannot open $SRC_ROOT/$outfile: $!\n"; - -# -#------------------------------------------ -# VII. Writing the data to the output file. -#------------------------------------------ -# -# Write file header. -CreateFileHeader( *OUT, $UPD, $platform, "sh/bash/ksh", "#" ); - - -ToFile( "SOLARENV", $SOLARENV, "e" ); - -if ( '@CROSS_COMPILING@' eq 'YES' ) -{ - # Obviously we shouldn't set PATH to contain host binaries - ToFile( "PATH", "@PATH_FOR_BUILD@", "e" ); -} -else -{ - ToFile( "PATH", $PATH, "e" ); - ToFile( "PATH_FOR_BUILD", $PATH, "e" ); -} - -# -# Writing the aliases to file. -ToFile( "Aliases.", $empty, "c" ); -ToFile( "Don't set aliases when bootstrapping", $empty, "c" ); - -ToFile( "alias mkout", $mkout, "a" ); -ToFile( "alias deliver", $deliver, "a" ); -ToFile( "alias build", $build, "a" ); -ToFile( "alias zipdep", $zipdep, "a" ); - -# -# Writing unset variables you might not need to file. -# -print OUT "export $exportvars$newline"; -print OUT "unset $unsetvars$newline"; -# unset may return a non-zero value and make the initial -# make(1) processes terminate with an error -print OUT "true $newline"; - -# -#--------------------------- -# VIII. Closing output file. -#--------------------------- -# -close( OUT ) || print "Can't close $SRC_ROOT/$outfile: $!"; - -#-------------------------------------------------------- -# XII. Message at the end. -#-------------------------------------------------------- -# -# -print "$newline"; -print "*********************************************************". - "*******************$newline*$newline"; -print "* LibreOffice configuration finished. $newline*$newline"; - -if ( $Warning ne "" ) -{ print "$Warning*$newline"; -} - -print "*********************************************************". - "******************* $newline"; - -print "To build, issue:\n$GNUMAKE\n\n"; -print "To install when the build is finished, issue:\n$GNUMAKE install\n\n"; -print "If you want to develop LibreOffice, you might prefer:\n$GNUMAKE dev-install\n\n"; -print "If you want to run the smoketest, issue:\n$GNUMAKE check\n\n"; - -if ("@STALE_MAKE@" eq "TRUE" && $platform =~ m/cygwin/ ) { -print << 'EOS' -WARNING: -Your make version is known to be horribly slow, and hard to debug -problems with. To get a reasonably functional make please do: - -to install a pre-compiled binary make for cygwin - -mkdir -p /opt/lo/bin -cd /opt/lo/bin -wget http://dev-www.libreoffice.org/bin/cygwin/make -chmod +x make - -to install from source: -place yourself in a working directory of you choice. - -git clone git://anongit.freedesktop.org/libreoffice/contrib/dev-tools -cd dev-tools/make-3.82-gbuild -./configure --prefix=/opt/lo -make -sudo make install - -Then re-run autogen.sh - -Note: autogen.sh will try to use /opt/lo/bin/make if the environment variable GNUMAKE is not already defined. -Alternatively, you can install the 'new' make where ever you want and make sure that `which make` finds it. - -EOS -} - -if ( $Warning ne "" ) { - print "***** WARNINGS ISSUED *****\n"; -} - -# -#----------------- -# XII. Functions. -#----------------- -# -#------------------------------------------------------------- -# Function name: CheckPathName -# Description: chops off the '/' character if it's the last -# character in a pathname. also adds the '/' -# character if it's not the first character -# in a path. -# Arguments: 1. Path (string) -# Return value: Path (string) -#------------------------------------------------------------- -sub CheckPathName -{ my $retrn = $_[ 0 ]; - if ($platform =~ m/cygwin/) - { # Check if the first character is not a '/'. - if ( !( $_[ 0 ] =~ /^\// ) ) - { $retrn = $ds.$_[ 0 ]; - } - } - # kill the last '/','\','\n' if they exists. - $retrn =~ s![\s/\\]+$!!; - # Done! - return( $retrn ); -} -#------------------------------------------------------------- -# Function name: CheckPathExist -# Description: Checks whether the directory that is given -# as an argument exists. If not abort. -# Arguments: 1. Path (string) -# Return value: void -#------------------------------------------------------------- -sub CheckPathExist -{ my $dir = $_[ 0 ]; - if ( !( -d $dir ) ) - { print ( "The directory $_[ 0 ] does not exist. Please create first.\n" ); - exit 1; - } - else - { # Don't check under ActiveState Perl (Windows). The path is possibly - # posix and it cannot handle it. - # Hmm, but the above test also checks for existance, so presumably - # the mention of ActiveState in the above comment is just a red - # herring. - return "true"; - } -} -#------------------------------------------------------------ -# Function name: CreateFileHeader -# Description: Creates a header for the outfile. -# Arguments: 1. File to write to -# 2. UPD (string) -# 3. Platform (string) -# 4. name of shell for this file -# 5. comment to use for this file -# Return value: void -#------------------------------------------------------------ -sub CreateFileHeader -{ my $timestamp = `date`; - chomp( $timestamp ); - my $filehandle = $_[0]; - my $comment = $_[4]; - print { $filehandle } "$comment #################################################################"; - print { $filehandle } $newline; - print { $filehandle } "$comment LibreOffice $_[ 1 ] build environment file for: $_[ 2 ]. $newline"; - print { $filehandle } "$comment Generated on: $timestamp $newline"; - print { $filehandle } "$comment Source this file to set up the build environment. $newline"; - print { $filehandle } "$comment 1. exec $_[3] $newline"; - print { $filehandle } "$comment 2. source $outfile $newline"; - print { $filehandle } "$comment #################################################################"; - print { $filehandle } $newline; - print { $filehandle } 'if test -z "$SRC_ROOT" ; then'; - print { $filehandle } $newline; - print { $filehandle } " . $SRC_ROOT/config_host.mk $newline"; - print { $filehandle } "fi $newline"; - print { $filehandle } $newline; -} -#--------------------------------------------------------- -# Function name: ToFile -# Description: Writes the environment variable in the -# output file. -# Arguments: 1. Name of environment variable (string) -# 2. Value of environment variable (string) -# 3. e - env. var -# a - alias -# c - comment -# n - newline -# z - raw, write as is to OUT -# Return value: void -#--------------------------------------------------------- -sub ToFile { - if ( $_[ 2 ] eq "e" ) { - # Write an environment variable to file. - if (defined $_[ 1 ] && $_[ 1 ] ne "" ) { - my $envvar = $_[ 1 ]; - - # Tcsh/bash needs backslashes quoted - $envvar =~ s/\\/\\\\/g; - - printf("%-12s %-17s %-10s %s\n", "The variable", $_[ 0 ], "is set to:", $envvar) if ( '@VERBOSE@' eq 'TRUE' ); - print OUT "$_[ 0 ]=\"$envvar\"$newline"; # to sh file - $exportvars .= " $_[ 0 ]"; # add to export list for sh file - - } else { - printf("%-12s %-17s %-10s %s\n", "The variable", $_[ 0 ], "is set to:", "unset") if ( '@VERBOSE@' eq 'TRUE' ); - $unsetvars .= " $_[ 0 ]"; # for sh file - } - } - elsif ( $_[ 2 ] eq "a" ) - { # Write an alias to file. - print "The $_[ 0 ] is set to: $_[ 1 ]\n" if ( '@VERBOSE@' eq 'TRUE' ); # to stdout - print OUT "$_[ 0 ]=$_[ 1 ]$newline"; # to sh file - } - elsif ( $_[ 2 ] eq "c" ) - { # Write a comment to file. - if ( '@VERBOSE@' eq 'TRUE' ) - { - print "$newline"; - print "$comment$newline"; - print "$comment $_[ 0 ]$newline"; - print "$comment$newline"; - } - print OUT "$newline"; - print OUT "$comment$newline"; - print OUT "$comment $_[ 0 ]$newline"; - print OUT "$comment$newline"; - } - elsif ( $_[ 2 ] eq "n" ) - { #Write a newline to a file - print OUT "$newline"; - } - elsif ( $_[ 2 ] eq "z" ) - { - #Write first argument as is, and nothing else - print OUT "$_[ 0 ]$newline"; - } - else - { print "Unknown type!$newline"; - } -} - -#---------------------------------------------------------- -# Function name: CygFormat -# Description: Format variables to cygwin posix style path -# unless . -# Arguments: 1. Variable (string) -# Return value: Reformatted String -#---------------------------------------------------------- -sub CygFormat -{ my ( $variable, $d1, $d2 ); - $variable = $_[ 0 ]; - # ToDo: Do the replacement only if Windows and var contains "\" and ":" - if ( $platform =~ m/cygwin/ ) - { - # Complain if PosixPath is used on a PATH-like string - if ( $variable =~ m/;/ ) { - die( "Do not use on PATH lists (i.e., 'c:\\foo;d:\\bar')"); - } - - # Replace DOS paths with posix paths - if ( ( $variable =~ m/\\/ ) or ( $variable =~ m/:/ ) ) { - chomp( $variable = qx{cygpath -u "$variable"} ); - } - } - return $variable; -} -#---------------------------------------------------------- -# Function name: WinPath -# Description: Reformat a $sep seperated path using DOS paths. -# Arguments: 1. Variable (string) -# 2. Separaror (string) -# Return value: Reformatted String -#---------------------------------------------------------- -sub WinPath -{ - my ( $variable, $d1, $sep, @split_var ); - - if ( $platform =~ m/cygwin/ ) { - $variable = $_[ 0 ]; - $sep = $_[ 1 ]; - $variable =~ s/^\s+//g ; #remove leading spaces - $variable =~ s/\s+$//g ; #remove trailing spaces - $variable =~ s/(\$\{?\w+\}?)/$1/eeg ; # expand the variables - $variable =~ s/(\$\{?\w+\}?)/$1/eeg ; # expand the variables twice! - - @split_var = split(/$sep/,$variable); - foreach $d1 ( @split_var ) { - if ( $d1 =~ /(?:^\/[\w\.~ ]+)+/ ) { - if ( $d1 =~ / / ) { - # Use DOS 8.3 style to avoid quoting - chomp( $d1 = qx{cygpath -d "$d1"} ); - } else { - # Use "normal" filenames - chomp( $d1 = qx{cygpath -w "$d1"} ); - } - } - } - $variable = join(';',@split_var); - - $variable =~ s/\//\\/g; # Remaining \ come from e.g.: ../foo/baa - } - - return $variable; -} - -#-------------------------------------------------------- -# Function name: GetCorrectPath -# Description: Creates the build environment. -# Arguments: 1. existing / original path -# 2... pairs of <path, executable> -# Return value: String - Correct Path -#-------------------------------------------------------- -sub GetCorrectPath -{ - sub PathLookup - { - my $cmd = shift; - while (@_) { - my $elem = shift; - - -x "$elem/$cmd" && return $elem; - } - return ''; - } - - sub SaneGrep - { - # Perl grep is unbelievably strange. - my $needle = shift; - while (@_) { - my $haystack = shift; - if ($needle eq $haystack) { - return 1; - } - } - return 0; - } - - sub CleanupPath - { - my @elements = @_; - my @cleanName = (); - - while (@elements) { - my $elem = shift @elements; - if (!SaneGrep ($elem, @cleanName)) { - push @cleanName, $elem; - } - } - - return @cleanName; - } - - my $oldPath = shift; - my @originalPairs = @_; - my @pairs = @originalPairs; - my @Path = split /$ps/, $oldPath; - - while (@pairs) { - my $path = shift @pairs; - my $cmd = shift @pairs; - my $to_append = 1; - my $elem; - - if (! -x "$path/$cmd") { - AddWarning ("Missing executable $path/$cmd\n"); - } - - for $elem (@Path) { - if ($elem eq $path) { -# print "Hit duplicate path in path; break\n"; - $to_append = 0; - last; - } - if (-f "$elem/$cmd") { -# print "Element already in path ...\n"; - unshift @Path, $path; - $to_append = 0; - last; - } else { -# print "No file $elem/$cmd\n"; - } - } - if ($to_append) { - push @Path, $path; - } - } - - @pairs = @originalPairs; - while (@pairs) { - my $path = shift @pairs; - my $cmd = shift @pairs; - my $realpath; - - $realpath = PathLookup ($cmd, @Path); - if (!($realpath eq $path)) { - AddWarning ("Path conflict for executables " . - "$path/$cmd against $realpath"); - } - } - - return join $ps, CleanupPath (@Path); -} - -#------------------------------------------------------------ -# Function name: AddWarning -# Description: Adds any kind of warning for the user. -# The warning will be shown at the end -# of this script. -# Arguments: 1. Add the configure warnings or the set_soenv -# warning (string). -# 2. Warning (string). -# Return value: void -#------------------------------------------------------------ -sub AddWarning -{ if ( $_[ 0 ] eq "configure" ) - { open( IN, $warnfile ); - while ( <IN> ) - { $Warning = $Warning."* - ".$_; - } - close( IN ); - # Remove the temporary warning file. - # unlink ( $warnfile ); - } - elsif ( $_[ 0 ] eq "set_soenv" ) - { my ( $arg1 ); - $arg1 = $_[ 1 ]; - chomp( $arg1 ); # cut off new line - $Warning = $Warning."* - set_soenv: warning: $arg1 $newline"; # add the warning - } -} - -# vim:set shiftwidth=4 softtabstop=4 expandtab: # diff --git a/solenv/bin/build.pl b/solenv/bin/build.pl index 21fb276ef1e5..240923d56624 100755 --- a/solenv/bin/build.pl +++ b/solenv/bin/build.pl @@ -1510,7 +1510,6 @@ sub cancel_build { } print STDERR "-----------------------------------------------------------------------\n"; print STDERR "\n"; - print STDERR "" . $ENV{'OOO_SHELL'} . "\n"; print STDERR "cd " . $ENV{'SRC_ROOT'} . "\n"; print STDERR "source ./build_env\n"; print STDERR "cd $module\n"; diff --git a/solenv/bin/create-ids b/solenv/bin/create-ids index 2c7f976fd018..4561fb87de59 100755 --- a/solenv/bin/create-ids +++ b/solenv/bin/create-ids @@ -2,7 +2,7 @@ # create ID file for the whole LibO tree. run it in toplevel dir -. ./config_host.mk && . ./Env.Host.sh +. ./config_host.mk # --with-outpath includes projects/$INPATH/inc (also solver/$INPATH/inc) if [ "$1" = "--with-outpath" ]; then diff --git a/solenv/bin/create-tags b/solenv/bin/create-tags index e7cc71221e02..a2f640ccc785 100755 --- a/solenv/bin/create-tags +++ b/solenv/bin/create-tags @@ -1,6 +1,6 @@ #!/usr/bin/env sh -. ./config_host.mk && . ./Env.Host.sh +. ./config_host.mk omnicppoptions="--c++-kinds=+p --fields=+iaS --extra=+q" ctags -h "+.hdl.hrc" --langmap=c:+.hdl.hrc.src $omnicppoptions \ diff --git a/solenv/gbuild/extensions/post_AuxTargets.mk b/solenv/gbuild/extensions/post_AuxTargets.mk index 354a91bd6b52..da5304999363 100644 --- a/solenv/gbuild/extensions/post_AuxTargets.mk +++ b/solenv/gbuild/extensions/post_AuxTargets.mk @@ -61,8 +61,8 @@ fetch: @true # fixme: can we prevent these exports in the first place? -$(SRCDIR)/Env.Host.sh: autogen.lastrun configure.in ooo.lst.in set_soenv.in - $(if $(filter reconfigure,$(gb_SourceEnvAndRecurse_STAGE)),$(SRCDIR)/autogen.sh,@echo "cannot reconfigure from within solarenv" && rm -f $(SRCDIR)/Env.Host.sh && exit 2) +$(SRCDIR)/config_host.mk: autogen.lastrun configure.in ooo.lst.in config_host.mk.in + $(if $(filter reconfigure,$(gb_SourceEnvAndRecurse_STAGE)),$(SRCDIR)/autogen.sh,@echo "cannot reconfigure from within solarenv" && rm -f $(SRCDIR)/config.host.mk && exit 2) ifeq ($(strip $(gb_PARTIALBUILD)),) @@ -110,7 +110,7 @@ docs: distro-pack-install: @true -$(SRCDIR)/Env.Host.sh: +$(SRCDIR)/config_host.mk: @true clean-host: diff --git a/solenv/gbuild/extensions/post_BuildplTargets.mk b/solenv/gbuild/extensions/post_BuildplTargets.mk index 2af8930e7116..5c6b3270dc23 100644 --- a/solenv/gbuild/extensions/post_BuildplTargets.mk +++ b/solenv/gbuild/extensions/post_BuildplTargets.mk @@ -1,24 +1,24 @@ # -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# +# # Version: MPL 1.1 / GPLv3+ / LGPLv3+ -# +# # The contents of this file are subject to the Mozilla Public License Version # 1.1 (the "License"); you may not use this file except in compliance with # the License or as specified alternatively below. You may obtain a copy of # the License at http://www.mozilla.org/MPL/ -# +# # Software distributed under the License is distributed on an "AS IS" basis, # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License # for the specific language governing rights and limitations under the # License. -# +# # Major Contributor(s): # [ Copyright (C) 2011 Bjoern Michaelsen <bjoern.michaelsen@canonical.com> (initial developer) ] -# +# # All Rights Reserved. -# +# # For minor contributions see the git repository. -# +# # Alternatively, the contents of this file may be used under the terms of # either the GNU General Public License Version 3 or later (the "GPLv3+"), or # the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), @@ -117,7 +117,7 @@ build: $(WORKDIR)/bootstrap $(SRCDIR)/src.downloaded $(if $(filter $(INPATH),$(I $(call gb_BuildplTarget_command,instsetoo_native,--all) cross_toolset: $(WORKDIR)/bootstrap $(SRCDIR)/src.downloaded - source $(SRCDIR)/config_build.mk && source $(SRCDIR)/Env.Build.sh && $(call gb_BuildplTarget_command,$@,--all) + source $(SRCDIR)/config_build.mk && $(call gb_BuildplTarget_command,$@,--all) # experimental callcatcher target # http://www.skynet.ie/~caolan/Packages/callcatcher.html @@ -125,16 +125,13 @@ findunusedcode: @which callcatcher > /dev/null 2>&1 || \ (echo "callcatcher not installed" && false) @sed -e s,$(INPATH),callcatcher,g $(SRCDIR)/config_host.mk > $(SRCDIR)/config_host_callcatcher.mk - @sed -e s,config_host,config_host_callcatcher,g $(SRCDIR)/Env.Host.sh > $(SRCDIR)/Env.callcatcher.sh @mkdir -p $(SRCDIR)/solenv/callcatcher/bin && \ ln -sf $(SRCDIR)/solenv/$(INPATH)/bin/dmake \ $(SRCDIR)/solenv/callcatcher/bin/dmake && \ source $(SRCDIR)/config_host_callcatcher.mk && \ - source $(SRCDIR)/Env.callcatcher.sh && \ source $(SRCDIR)/solenv/bin/callcatchEnv.Set.sh && \ $(call gb_BuildplTarget_command,instsetoo_native,--all) @source $(SRCDIR)/config_host_callcatcher.mk && \ - source $(SRCDIR)/Env.callcatcher.sh && \ callanalyse \ $$WORKDIR/LinkTarget/*/* \ */$$OUTPATH/bin/* \ diff --git a/solenv/gbuild/extensions/post_SpeedUpTargets.mk b/solenv/gbuild/extensions/post_SpeedUpTargets.mk index f6df03bd37fc..cdc5c2bec492 100644 --- a/solenv/gbuild/extensions/post_SpeedUpTargets.mk +++ b/solenv/gbuild/extensions/post_SpeedUpTargets.mk @@ -1,4 +1,4 @@ -# -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- # # Version: MPL 1.1 / GPLv3+ / LGPLv3+ # @@ -29,14 +29,14 @@ # speed up if no target need to parse all modules gb_SpeedUpTargets_WRAPPEDBUILD:= ifneq ($(strip $(MAKECMDGOALS)),) -ifeq ($(filter-out id tags docs distro-pack-install fetch help debugrun $(SRCDIR)/Env.Host.sh,$(MAKECMDGOALS)),) +ifeq ($(filter-out id tags docs distro-pack-install fetch help debugrun $(SRCDIR)/config_host.mk,$(MAKECMDGOALS)),) gb_SpeedUpTargets_WRAPPEDBUILD:=T endif endif ifeq ($(strip $(gb_PARTIALBUILD)),) ifneq ($(strip $(MAKECMDGOALS)),) -ifeq ($(filter-out clean distclean id tags docs distro-pack-install fetch help debugrun $(SRCDIR)/Env.Host.sh,$(MAKECMDGOALS)),) +ifeq ($(filter-out clean distclean id tags docs distro-pack-install fetch help debugrun $(SRCDIR)/config_host.mk,$(MAKECMDGOALS)),) gb_SpeedUpTargets_WRAPPEDBUILD:=T endif endif diff --git a/solenv/gbuild/source_and_rerun.mk b/solenv/gbuild/source_and_rerun.mk index 4d8101a0c3b5..dc6d9ca40818 100644 --- a/solenv/gbuild/source_and_rerun.mk +++ b/solenv/gbuild/source_and_rerun.mk @@ -14,7 +14,7 @@ gb_SourceEnvAndRecurse_buildpl=true else SRCDIR:=$(realpath $(gb_MAKEFILEDIR)) -gb_SourceEnvAndRecurse_reconfigure=$(call gb_SourceEnvAndRecurse_recurse,$(SRCDIR)/Env.Host.sh,reconfigure) +gb_SourceEnvAndRecurse_reconfigure=$(call gb_SourceEnvAndRecurse_recurse,$(SRCDIR)/config_host.mk,reconfigure) gb_SourceEnvAndRecurse_buildpl=$(call gb_SourceEnvAndRecurse_recurse,$(MAKECMDGOALS),buildpl) endif @@ -22,14 +22,13 @@ endif source-env-and-recurse: @$(gb_SourceEnvAndRecurse_reconfigure) && \ if test -f $(SRCDIR)/config_host.mk ; then . $(SRCDIR)/config_host.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 && \ $(gb_SourceEnvAndRecurse_buildpl) && \ $(call gb_SourceEnvAndRecurse_recurse,$(MAKECMDGOALS),gbuild) \ ifneq ($(strip $(MAKECMDGOALS)),) -ifneq ($(MAKECMDGOALS),$(SRCDIR)/Env.Host.sh) +ifneq ($(MAKECMDGOALS),$(SRCDIR)/config_host.mk) $(eval $(MAKECMDGOALS) : source-env-and-recurse) endif endif |