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

This commit is contained in:
Michael Stahl
2012-05-02 19:39:41 +02:00
parent bd5da80bef
commit f33ba93bad
3 changed files with 41 additions and 21 deletions

View File

@@ -434,8 +434,8 @@ export SOLARINC=@SOLARINC@
export SOLARINC_FOR_BUILD=@SOLARINC_FOR_BUILD@ export SOLARINC_FOR_BUILD=@SOLARINC_FOR_BUILD@
export SOLARLIB=@SOLARLIB@ export SOLARLIB=@SOLARLIB@
export SOLARLIB_FOR_BUILD=@SOLARLIB_FOR_BUILD@ export SOLARLIB_FOR_BUILD=@SOLARLIB_FOR_BUILD@
export SOLARVER=@SRC_ROOT@/solver export SOLARVER=@SOLARVER@
export SOLARVERSION=@SRC_ROOT@/solver export SOLARVERSION=@SOLARVER@
export SOLAR_JAVA=@SOLAR_JAVA@ export SOLAR_JAVA=@SOLAR_JAVA@
export SPLIT_APP_MODULES=@SPLIT_APP_MODULES@ export SPLIT_APP_MODULES=@SPLIT_APP_MODULES@
export SPLIT_OPT_FEATURES=@SPLIT_OPT_FEATURES@ export SPLIT_OPT_FEATURES=@SPLIT_OPT_FEATURES@

View File

@@ -937,6 +937,11 @@ AC_ARG_WITH(external-tar,
TARFILE_LOCATION=$withval , 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, AC_ARG_WITH(linked-git,
AS_HELP_STRING([--with-linked-git=<OTHER_CLONE_DIR>], AS_HELP_STRING([--with-linked-git=<OTHER_CLONE_DIR>],
[Specify another checkout's clonedir to re-use. This makes use of [Specify another checkout's clonedir to re-use. This makes use of
@@ -2135,6 +2140,15 @@ else
fi fi
AC_SUBST(DISABLE_DYNLOADING) 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 ===================================================================
dnl Extra check for Windows. Cygwin builds need gcc to build dmake dnl Extra check for Windows. Cygwin builds need gcc to build dmake
dnl although MSVC is used to build other build-time tools and dnl although MSVC is used to build other build-time tools and
@@ -2909,7 +2923,7 @@ aix*)
OUTPATH=unxaigppc OUTPATH=unxaigppc
P_SEP=: P_SEP=:
SOLARLIB="-L../lib -L$SRC_ROOT/solenv/$OUTPATH/lib" 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$SRC_ROOT/solenv/$OUTPATH/lib"
;; ;;
@@ -2939,7 +2953,7 @@ cygwin*)
esac esac
SCPDEFS="$SCPDEFS -D_MSC_VER" SCPDEFS="$SCPDEFS -D_MSC_VER"
SOLARLIB="-L../lib -L$SRC_ROOT/solenv/$OUTPATH/lib" 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*) darwin*)
@@ -2972,7 +2986,7 @@ darwin*)
AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os]) AC_MSG_ERROR([Unsupported host_cpu $host_cpu for host_os $host_os])
;; ;;
esac esac
SOLARLIB="-L$SRC_ROOT/solver/${OUTPATH}${PROEXT}/lib" SOLARLIB="-L${SOLARVER}/${OUTPATH}${PROEXT}/lib"
;; ;;
dragonfly*) dragonfly*)
@@ -2997,7 +3011,7 @@ dragonfly*)
;; ;;
esac esac
SOLARLIB="-L../lib -L$SRC_ROOT/solenv/$OUTPATH/lib" 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$SRC_ROOT/solenv/$OUTPATH/lib"
;; ;;
@@ -3024,7 +3038,7 @@ freebsd*)
;; ;;
esac esac
SOLARLIB="-L../lib -L$SRC_ROOT/solenv/$OUTPATH/lib" 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$SRC_ROOT/solenv/$OUTPATH/lib"
;; ;;
@@ -3052,7 +3066,7 @@ kfreebsd*)
;; ;;
esac esac
SOLARLIB="-L../lib -L$SRC_ROOT/solenv/$OUTPATH/lib" 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$SRC_ROOT/solenv/$OUTPATH/lib"
;; ;;
@@ -3159,7 +3173,7 @@ linux-gnu*)
;; ;;
esac esac
SOLARLIB="-L../lib -L$SRC_ROOT/solenv/$OUTPATH/lib" 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$SRC_ROOT/solenv/$OUTPATH/lib"
;; ;;
@@ -3182,7 +3196,7 @@ linux-androideabi*)
;; ;;
esac esac
SOLARINC="$SOLARINC -I$SRC_ROOT/solenv/inc/$OUTPATH" SOLARINC="$SOLARINC -I$SRC_ROOT/solenv/inc/$OUTPATH"
SOLARLIB="-L$SRC_ROOT/solver/${OUTPATH}${PROEXT}/lib" SOLARLIB="-L${SOLARVER}/${OUTPATH}${PROEXT}/lib"
;; ;;
mingw*) mingw*)
@@ -3210,7 +3224,7 @@ mingw*)
esac esac
SOLARINC="$SOLARINC -I$SRC_ROOT/solenv/inc/win32 -I$SRC_ROOT/solenv/inc/$OUTPATH" SOLARINC="$SOLARINC -I$SRC_ROOT/solenv/inc/win32 -I$SRC_ROOT/solenv/inc/$OUTPATH"
SOLARLIB="-L../lib -L$SRC_ROOT/solenv/$OUTPATH/lib" 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*) *netbsd*)
@@ -3244,7 +3258,7 @@ mingw*)
;; ;;
esac esac
SOLARLIB="-L../lib -L$SRC_ROOT/solenv/$OUTPATH/lib" 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$SRC_ROOT/solenv/$OUTPATH/lib"
;; ;;
@@ -3271,7 +3285,7 @@ openbsd*)
esac esac
SOLARINC="$SOLARINC -I/usr/local/include" SOLARINC="$SOLARINC -I/usr/local/include"
SOLARLIB="-L../lib -L$SRC_ROOT/solenv/$OUTPATH/lib" 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$SRC_ROOT/solenv/$OUTPATH/lib"
SOLARLIB="$SOLARLIB -L/usr/local/lib" SOLARLIB="$SOLARLIB -L/usr/local/lib"
@@ -3302,7 +3316,7 @@ solaris*)
esac esac
SOLARINC="$SOLARINC -I/usr/local/include" SOLARINC="$SOLARINC -I/usr/local/include"
SOLARLIB="-L../lib -L$SRC_ROOT/solenv/$OUTPATH/lib" 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$SRC_ROOT/solenv/$OUTPATH/lib"
SOLARLIB="$SOLARLIB -L$COMPATH/lib" SOLARLIB="$SOLARLIB -L$COMPATH/lib"
SOLARLIB="$SOLARLIB -L/usr/local/bin -L/usr/dt/lib -L/usr/openwin/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 fi
INPATH="${OUTPATH}${PROEXT}" INPATH="${OUTPATH}${PROEXT}"
OUTDIR="$SRC_ROOT/solver/$INPATH" if test -n "${with_solver_and_workdir_root}"; then
SOLARINC="-I. -I$SRC_ROOT/solver/$INPATH/inc/external -I$SRC_ROOT/solver/$INPATH/inc -I$SRC_ROOT/solenv/inc $SOLARINC" WORKDIR=${with_solver_and_workdir_root}/workdir/${INPATH}
WORKDIR="$SRC_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(COM)
AC_SUBST(CPU) AC_SUBST(CPU)
AC_SUBST(CPUNAME) AC_SUBST(CPUNAME)
@@ -3332,6 +3350,7 @@ AC_SUBST(OS)
AC_SUBST(OUTDIR) AC_SUBST(OUTDIR)
AC_SUBST(OUTPATH) AC_SUBST(OUTPATH)
AC_SUBST(P_SEP) AC_SUBST(P_SEP)
AC_SUBST(SOLARVER)
AC_SUBST(WORKDIR) AC_SUBST(WORKDIR)
dnl =================================================================== 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_java = no && sub_conf_opts="$sub_conf_opts --without-java"
test $with_junit = no && sub_conf_opts="$sub_conf_opts --without-junit" 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 "$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_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_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" 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 # Set up ILIB for MSVC build
# #
if test "$build_os" = "cygwin"; then 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 if test -n "$JAVA_HOME" -a "$JAVA_HOME" != "NO_JAVA_HOME"; then
ILIB="$ILIB;$JAVA_HOME/lib" ILIB="$ILIB;$JAVA_HOME/lib"
fi fi

View File

@@ -325,7 +325,7 @@ sub scan_and_link_files($$$)
} }
# Now scan the solver # 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) { for my $file (keys %build_files) {
my $src = $build_files{$file}; my $src = $build_files{$file};
@@ -389,7 +389,7 @@ sub link_gdb_py()
my $dirh; my $dirh;
my @basis; my @basis;
my @ure; my @ure;
my $src = "$OOO_BUILD/solver/$TARGET/lib"; my $src = "$ENV{'SOLARVER'}/$TARGET/lib";
opendir ($dirh, $src) || die "can't open solver: $src: $!"; opendir ($dirh, $src) || die "can't open solver: $src: $!";
while (my $dent = readdir ($dirh)) { while (my $dent = readdir ($dirh)) {
$dent =~ /^\./ && next; $dent =~ /^\./ && next;
@@ -419,7 +419,7 @@ sub link_pagein_files()
return if ($windows); return if ($windows);
print "pagein case:"; print "pagein case:";
my $src = "$OOO_BUILD/solver/$TARGET/bin"; my $src = "$ENV{'SOLARVER'}/$TARGET/bin";
my $dest = "$OOO_INSTALL/" . $brand_program_dir; my $dest = "$OOO_INSTALL/" . $brand_program_dir;
for my $c ('calc', 'draw', 'impress', 'writer', 'common') { for my $c ('calc', 'draw', 'impress', 'writer', 'common') {
do_link ($src, $dest, "pagein-$c", "pagein-$c"); do_link ($src, $dest, "pagein-$c", "pagein-$c");