diff options
-rw-r--r-- | config_host.mk.in | 4 | ||||
-rw-r--r-- | configure.in | 52 | ||||
-rwxr-xr-x | solenv/bin/linkoo | 6 |
3 files changed, 41 insertions, 21 deletions
diff --git a/config_host.mk.in b/config_host.mk.in index c7b2075219a8..4d0d5cf879f7 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 1d67570521b0..8daf62f9831b 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 f825e3083762..ae9794409005 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"); |