[Libreoffice-commits] .: config_host.mk.in configure.in solenv/bin

Michael Stahl mst at kemper.freedesktop.org
Wed May 2 10:52:51 PDT 2012


 config_host.mk.in |    4 ++--
 configure.in      |   52 ++++++++++++++++++++++++++++++++++++----------------
 solenv/bin/linkoo |    6 +++---
 3 files changed, 41 insertions(+), 21 deletions(-)

New commits:
commit f33ba93baddca139ab900b79cfeffd69e318aa6b
Author: Michael Stahl <mstahl at redhat.com>
Date:   Wed May 2 19:39:41 2012 +0200

    allow custom solver/workdir location: --with-solver-and-workdir-root

diff --git a/config_host.mk.in b/config_host.mk.in
index c7b2075..4d0d5cf 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -434,8 +434,8 @@ export SOLARINC=@SOLARINC@
 export SOLARINC_FOR_BUILD=@SOLARINC_FOR_BUILD@
 export SOLARLIB=@SOLARLIB@
 export SOLARLIB_FOR_BUILD=@SOLARLIB_FOR_BUILD@
-export SOLARVER=@SRC_ROOT@/solver
-export SOLARVERSION=@SRC_ROOT@/solver
+export SOLARVER=@SOLARVER@
+export SOLARVERSION=@SOLARVER@
 export SOLAR_JAVA=@SOLAR_JAVA@
 export SPLIT_APP_MODULES=@SPLIT_APP_MODULES@
 export SPLIT_OPT_FEATURES=@SPLIT_OPT_FEATURES@
diff --git a/configure.in b/configure.in
index 1d67570..8daf62f 100644
--- a/configure.in
+++ b/configure.in
@@ -937,6 +937,11 @@ AC_ARG_WITH(external-tar,
     TARFILE_LOCATION=$withval ,
 )
 
+AC_ARG_WITH(solver-and-workdir-root,
+    AS_HELP_STRING([--with-solver-and-workdir-root=<PATH>],
+        [Specify path that contains SOLARVER and WORKDIR directories manually.])
+)
+
 AC_ARG_WITH(linked-git,
     AS_HELP_STRING([--with-linked-git=<OTHER_CLONE_DIR>],
         [Specify another checkout's clonedir to re-use. This makes use of
@@ -2135,6 +2140,15 @@ else
 fi
 AC_SUBST(DISABLE_DYNLOADING)
 
+if test -n "${with_solver_and_workdir_root}"; then
+    if ! test -d ${with_solver_and_workdir_root}; then
+      AC_MSG_ERROR([directory does not exist: ${with_solver_and_workdir_root}])
+    fi
+    SOLARVER=${with_solver_and_workdir_root}/solver
+else
+    SOLARVER=${SRC_ROOT}/solver
+fi
+
 dnl ===================================================================
 dnl Extra check for Windows. Cygwin builds need gcc to build dmake
 dnl although MSVC is used to build other build-time tools and
@@ -2909,7 +2923,7 @@ aix*)
     OUTPATH=unxaigppc
     P_SEP=:
     SOLARLIB="-L../lib -L$SRC_ROOT/solenv/$OUTPATH/lib"
-    SOLARLIB="$SOLARLIB -L$SRC_ROOT/solver/${OUTPATH}${PROEXT}/lib"
+    SOLARLIB="$SOLARLIB -L${SOLARVER}/${OUTPATH}${PROEXT}/lib"
     SOLARLIB="$SOLARLIB -L$SRC_ROOT/solenv/$OUTPATH/lib"
     ;;
 
@@ -2939,7 +2953,7 @@ cygwin*)
     esac
     SCPDEFS="$SCPDEFS -D_MSC_VER"
     SOLARLIB="-L../lib -L$SRC_ROOT/solenv/$OUTPATH/lib"
-    SOLARLIB="$SOLARLIB -L$SRC_ROOT/solver/${OUTPATH}${PROEXT}/lib"
+    SOLARLIB="$SOLARLIB -L${SOLARVER}/${OUTPATH}${PROEXT}/lib"
     ;;
 
 darwin*)
@@ -2972,7 +2986,7 @@ darwin*)
         AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os])
         ;;
     esac
-    SOLARLIB="-L$SRC_ROOT/solver/${OUTPATH}${PROEXT}/lib"
+    SOLARLIB="-L${SOLARVER}/${OUTPATH}${PROEXT}/lib"
     ;;
 
 dragonfly*)
@@ -2997,7 +3011,7 @@ dragonfly*)
         ;;
     esac
     SOLARLIB="-L../lib -L$SRC_ROOT/solenv/$OUTPATH/lib"
-    SOLARLIB="$SOLARLIB -L$SRC_ROOT/solver/${OUTPATH}${PROEXT}/lib"
+    SOLARLIB="$SOLARLIB -L${SOLARVER}/${OUTPATH}${PROEXT}/lib"
     SOLARLIB="$SOLARLIB -L$SRC_ROOT/solenv/$OUTPATH/lib"
     ;;
 
@@ -3024,7 +3038,7 @@ freebsd*)
         ;;
     esac
     SOLARLIB="-L../lib -L$SRC_ROOT/solenv/$OUTPATH/lib"
-    SOLARLIB="$SOLARLIB -L$SRC_ROOT/solver/${OUTPATH}${PROEXT}/lib"
+    SOLARLIB="$SOLARLIB -L${SOLARVER}/${OUTPATH}${PROEXT}/lib"
     SOLARLIB="$SOLARLIB -L$SRC_ROOT/solenv/$OUTPATH/lib"
     ;;
 
@@ -3052,7 +3066,7 @@ kfreebsd*)
         ;;
     esac
     SOLARLIB="-L../lib -L$SRC_ROOT/solenv/$OUTPATH/lib"
-    SOLARLIB="$SOLARLIB -L$SRC_ROOT/solver/${OUTPATH}${PROEXT}/lib"
+    SOLARLIB="$SOLARLIB -L${SOLARVER}/${OUTPATH}${PROEXT}/lib"
     SOLARLIB="$SOLARLIB -L$SRC_ROOT/solenv/$OUTPATH/lib"
     ;;
 
@@ -3159,7 +3173,7 @@ linux-gnu*)
         ;;
     esac
     SOLARLIB="-L../lib -L$SRC_ROOT/solenv/$OUTPATH/lib"
-    SOLARLIB="$SOLARLIB -L$SRC_ROOT/solver/${OUTPATH}${PROEXT}/lib"
+    SOLARLIB="$SOLARLIB -L${SOLARVER}/${OUTPATH}${PROEXT}/lib"
     SOLARLIB="$SOLARLIB -L$SRC_ROOT/solenv/$OUTPATH/lib"
     ;;
 
@@ -3182,7 +3196,7 @@ linux-androideabi*)
         ;;
     esac
     SOLARINC="$SOLARINC -I$SRC_ROOT/solenv/inc/$OUTPATH"
-    SOLARLIB="-L$SRC_ROOT/solver/${OUTPATH}${PROEXT}/lib"
+    SOLARLIB="-L${SOLARVER}/${OUTPATH}${PROEXT}/lib"
     ;;
 
 mingw*)
@@ -3210,7 +3224,7 @@ mingw*)
     esac
     SOLARINC="$SOLARINC -I$SRC_ROOT/solenv/inc/win32 -I$SRC_ROOT/solenv/inc/$OUTPATH"
     SOLARLIB="-L../lib -L$SRC_ROOT/solenv/$OUTPATH/lib"
-    SOLARLIB="$SOLARLIB -L$SRC_ROOT/solver/${OUTPATH}${PROEXT}/lib"
+    SOLARLIB="$SOLARLIB -L${SOLARVER}/${OUTPATH}${PROEXT}/lib"
     ;;
 
 *netbsd*)
@@ -3244,7 +3258,7 @@ mingw*)
         ;;
     esac
     SOLARLIB="-L../lib -L$SRC_ROOT/solenv/$OUTPATH/lib"
-    SOLARLIB="$SOLARLIB -L$SRC_ROOT/solver/${OUTPATH}${PROEXT}/lib"
+    SOLARLIB="$SOLARLIB -L${SOLARVER}/${OUTPATH}${PROEXT}/lib"
     SOLARLIB="$SOLARLIB -L$SRC_ROOT/solenv/$OUTPATH/lib"
     ;;
 
@@ -3271,7 +3285,7 @@ openbsd*)
     esac
     SOLARINC="$SOLARINC -I/usr/local/include"
     SOLARLIB="-L../lib -L$SRC_ROOT/solenv/$OUTPATH/lib"
-    SOLARLIB="$SOLARLIB -L$SRC_ROOT/solver/${OUTPATH}${PROEXT}/lib"
+    SOLARLIB="$SOLARLIB -L${SOLARVER}/${OUTPATH}${PROEXT}/lib"
     SOLARLIB="$SOLARLIB -L$SRC_ROOT/solenv/$OUTPATH/lib"
     SOLARLIB="$SOLARLIB -L/usr/local/lib"
 
@@ -3302,7 +3316,7 @@ solaris*)
     esac
     SOLARINC="$SOLARINC -I/usr/local/include"
     SOLARLIB="-L../lib -L$SRC_ROOT/solenv/$OUTPATH/lib"
-    SOLARLIB="$SOLARLIB -L$SRC_ROOT/solver/${OUTPATH}${PROEXT}/lib"
+    SOLARLIB="$SOLARLIB -L${SOLARVER}/${OUTPATH}${PROEXT}/lib"
     SOLARLIB="$SOLARLIB -L$SRC_ROOT/solenv/$OUTPATH/lib"
     SOLARLIB="$SOLARLIB -L$COMPATH/lib"
     SOLARLIB="$SOLARLIB -L/usr/local/bin -L/usr/dt/lib -L/usr/openwin/lib"
@@ -3318,9 +3332,13 @@ if test "$enable_headless" = "yes"; then
 fi
 
 INPATH="${OUTPATH}${PROEXT}"
-OUTDIR="$SRC_ROOT/solver/$INPATH"
-SOLARINC="-I. -I$SRC_ROOT/solver/$INPATH/inc/external -I$SRC_ROOT/solver/$INPATH/inc -I$SRC_ROOT/solenv/inc $SOLARINC"
-WORKDIR="$SRC_ROOT/workdir/$INPATH"
+if test -n "${with_solver_and_workdir_root}"; then
+    WORKDIR=${with_solver_and_workdir_root}/workdir/${INPATH}
+else
+    WORKDIR=${SRC_ROOT}/workdir/${INPATH}
+fi
+OUTDIR="${SOLARVER}/${INPATH}"
+SOLARINC="-I. -I${SOLARVER}/$INPATH/inc/external -I${SOLARVER}/$INPATH/inc -I$SRC_ROOT/solenv/inc $SOLARINC"
 AC_SUBST(COM)
 AC_SUBST(CPU)
 AC_SUBST(CPUNAME)
@@ -3332,6 +3350,7 @@ AC_SUBST(OS)
 AC_SUBST(OUTDIR)
 AC_SUBST(OUTPATH)
 AC_SUBST(P_SEP)
+AC_SUBST(SOLARVER)
 AC_SUBST(WORKDIR)
 
 dnl ===================================================================
@@ -3378,6 +3397,7 @@ if test "$cross_compiling" = "yes"; then
     test $with_java = no && sub_conf_opts="$sub_conf_opts --without-java"
     test $with_junit = no && sub_conf_opts="$sub_conf_opts --without-junit"
     test -n "$TARFILE_LOCATION" && sub_conf_opts="$sub_conf_opts --with-external-tar=$TARFILE_LOCATION"
+    test -n "${with_solver_and_workdir_root}" && sub_conf_opts="$sub_conf_opts --with-solver-and-workdir-root=${with_solver_and_workdir_root}"
     test -n "$with_system_boost_for_build" && sub_conf_opts="$sub_conf_opts --with-system-boost"
     test -n "$with_system_cppunit_for_build" && sub_conf_opts="$sub_conf_opts --with-system-cppunit"
     test -n "$with_system_db_for_build" && sub_conf_opts="$sub_conf_opts --with-system-db"
@@ -11253,7 +11273,7 @@ AC_SUBST(BUILD_NCPUS)
 # Set up ILIB for MSVC build
 #
 if test "$build_os" = "cygwin"; then
-    ILIB=".;$SRC_ROOT/solver/$INPATH/lib"
+    ILIB=".;${SOLARVER}/$INPATH/lib"
     if test -n "$JAVA_HOME" -a "$JAVA_HOME" != "NO_JAVA_HOME"; then
         ILIB="$ILIB;$JAVA_HOME/lib"
     fi
diff --git a/solenv/bin/linkoo b/solenv/bin/linkoo
index f825e30..ae97944 100755
--- a/solenv/bin/linkoo
+++ b/solenv/bin/linkoo
@@ -325,7 +325,7 @@ sub scan_and_link_files($$$)
     }
 
     # Now scan the solver
-    scan_one_dir ($installed_files, \%build_files, "$build_path/solver/$target", 1);
+    scan_one_dir ($installed_files, \%build_files, "$ENV{'SOLARVER'}/$target", 1);
 
     for my $file (keys %build_files) {
 	my $src = $build_files{$file};
@@ -389,7 +389,7 @@ sub link_gdb_py()
     my $dirh;
     my @basis;
     my @ure;
-    my $src = "$OOO_BUILD/solver/$TARGET/lib";
+    my $src = "$ENV{'SOLARVER'}/$TARGET/lib";
     opendir ($dirh, $src) || die "can't open solver: $src: $!";
     while (my $dent = readdir ($dirh)) {
 	$dent =~ /^\./ && next;
@@ -419,7 +419,7 @@ sub link_pagein_files()
     return if ($windows);
 
     print "pagein case:";
-    my $src  = "$OOO_BUILD/solver/$TARGET/bin";
+    my $src  = "$ENV{'SOLARVER'}/$TARGET/bin";
     my $dest = "$OOO_INSTALL/" . $brand_program_dir;
     for my $c ('calc', 'draw', 'impress', 'writer', 'common') {
 	do_link ($src, $dest, "pagein-$c", "pagein-$c");


More information about the Libreoffice-commits mailing list