summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xconfigure625
-rw-r--r--configure.in336
-rw-r--r--instsetoo_native/res/DS_Store_Langpackbin0 -> 12292 bytes
-rw-r--r--instsetoo_native/util/makefile.mk6
-rwxr-xr-xinstsetoo_native/util/pack.lst6
-rw-r--r--scp2/inc/macros.inc18
-rw-r--r--scp2/source/activex/file_activex.scp6
-rw-r--r--scp2/source/canvas/cairocanvas.scp2
-rw-r--r--scp2/source/gnome/file_gnome.scp6
-rw-r--r--scp2/source/impress/module_ogltrans.scp2
-rw-r--r--scp2/source/javafilter/file_javafilter.scp4
-rw-r--r--scp2/source/kde/file_kde.scp14
-rw-r--r--scp2/source/kde/makefile.mk11
-rw-r--r--scp2/source/kde/module_kde.scp14
-rw-r--r--scp2/source/ooo/common_brand.scp33
-rwxr-xr-xscp2/source/ooo/directory_ooo_macosx.scp2
-rw-r--r--scp2/source/ooo/file_library_ooo.scp287
-rw-r--r--scp2/source/ooo/file_ooo.scp8
-rw-r--r--scp2/source/ooo/makefile.mk12
-rw-r--r--scp2/source/ooo/module_hidden_ooo.scp11
-rw-r--r--scp2/source/ooo/scpaction_ooo.scp16
-rw-r--r--scp2/source/ooo/shortcut_ooo.scp32
-rwxr-xr-xscp2/source/ooo/ure.scp38
-rw-r--r--scp2/source/python/file_python.scp1
-rw-r--r--scp2/source/sdkoo/sdkoo.scp10
-rw-r--r--scp2/source/winexplorerext/file_winexplorerext.scp2
-rw-r--r--scp2/source/writer/file_writer.scp2
-rw-r--r--set_soenv.in37
-rw-r--r--solenv/bin/build.pl559
-rw-r--r--solenv/bin/cws.pl140
-rwxr-xr-xsolenv/bin/deliver.pl32
-rw-r--r--solenv/bin/macosx-change-install-names.pl8
-rw-r--r--solenv/bin/make_installer.pl14
-rw-r--r--solenv/bin/mhids.pl9
-rwxr-xr-xsolenv/bin/modules/Cws.pm53
-rw-r--r--solenv/bin/modules/SourceConfig.pm331
-rw-r--r--solenv/bin/modules/installer/globals.pm4
-rw-r--r--solenv/bin/modules/installer/parameter.pm12
-rw-r--r--solenv/bin/modules/installer/scriptitems.pm60
-rw-r--r--solenv/bin/modules/installer/servicesfile.pm81
-rw-r--r--solenv/bin/modules/installer/simplepackage.pm299
-rw-r--r--solenv/bin/modules/macosxotoolhelper.pm2
-rw-r--r--solenv/config/sdev300.ini28
-rw-r--r--solenv/config/ssolar.cmn1
-rw-r--r--solenv/inc/_tg_app.mk60
-rw-r--r--solenv/inc/_tg_def.mk20
-rw-r--r--solenv/inc/_tg_shl.mk190
-rw-r--r--solenv/inc/extension_post.mk6
-rw-r--r--solenv/inc/libs.mk17
-rw-r--r--solenv/inc/minor.mk6
-rw-r--r--solenv/inc/settings.mk2
-rw-r--r--solenv/inc/tg_app.mk6
-rw-r--r--solenv/inc/tg_def.mk2
-rw-r--r--solenv/inc/tg_ext.mk12
-rw-r--r--solenv/inc/tg_shl.mk19
-rw-r--r--solenv/inc/unitools.mk7
-rw-r--r--solenv/inc/unxsoli4.mk2
-rw-r--r--solenv/inc/wntgcci6.mk33
-rw-r--r--soltools/cpp/_tokens.c10
-rw-r--r--soltools/cpp/cpp.h2
-rw-r--r--stlport/STLport-4.0-sunstudio12u1.patch21
-rw-r--r--stlport/makefile.mk2
62 files changed, 2735 insertions, 856 deletions
diff --git a/configure b/configure
index 8ba4664381db..4afd6e3777fe 100755
--- a/configure
+++ b/configure
@@ -665,6 +665,9 @@ ENABLE_EVOAB2
GOBJECT_LIBS
GOBJECT_CFLAGS
ENABLE_LOCKDOWN
+KDE4_LIBS
+KDE4_CFLAGS
+MOC4
KDE_LIBS
KDE_CFLAGS
MOC
@@ -716,9 +719,9 @@ GNOMEVFS_CFLAGS
ENABLE_GCONF
GCONF_LIBS
GCONF_CFLAGS
+ENABLE_KDE4
ENABLE_KDE
ENABLE_GTK
-WITH_GPC
ZIP_HOME
UNZIP
ZIP
@@ -773,6 +776,10 @@ X_LIBS
X_PRE_LIBS
X_CFLAGS
XMKMF
+SYSTEM_GRAPHITE
+ENABLE_GRAPHITE
+GRAPHITE_LIBS
+GRAPHITE_CFLAGS
SYSTEM_ICU
SYSTEM_GENCMN
SYSTEM_GENCCODE
@@ -784,6 +791,8 @@ MOZ_LIB
MOZ_INC
MOZ_FLAVOUR
SYSTEM_MOZILLA
+MOZILLABUILD
+ENABLE_NSS_MODULE
BUILD_MOZAB
MOZLIBREQ_LIBS
MOZLIBREQ_CFLAGS
@@ -884,6 +893,14 @@ HAVE_GCC_VISIBILITY_FEATURE
USE_SYSTEM_STL
STLPORT_VER
STLPORT4
+EXCEPTIONS
+MINGW_GXXDLL
+MINGW_GCCDLL
+MINGW_SHARED_GXXLIB
+MINGW_GCCLIB_EH
+MINGW_SHARED_GCCLIB
+MINGW_CLIB_DIR
+MINGW_BACKWARD_INCLUDE_PATH
MINGW_LIB_INCLUDE_PATH
GXX_INCLUDE_PATH
CRYPT_LINK
@@ -1014,7 +1031,8 @@ enable_option_checking
with_gnu_patch
with_agg
with_gnu_cp
-with_gpc
+enable_graphite
+with_system_graphite
enable_ldap
with_openldap
enable_lockdown
@@ -1062,8 +1080,10 @@ enable_layout
enable_build_mozilla
with_mozilla_version
with_mozilla_toolkit
+enable_nss_module
enable_kde
enable_kdeab
+enable_kde4
enable_binfilter
enable_rpath
enable_pam
@@ -1152,6 +1172,7 @@ with_nsis_path
with_frame_home
with_psdk_home
with_directx_home
+with_mozilla_build
with_local_solenv
with_local_solver
enable_check_only
@@ -1817,6 +1838,8 @@ Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --enable-graphite Enables the compilation of Graphite smart font rendering
+
--disable-ldap Disables the use of LDAP backend via Netscape/Mozilla
or OpenLDAP LDAP SDK
@@ -1935,11 +1958,17 @@ Optional Features:
mozilla components from the mozilla source code but
take precompiled zips
+ --disable-nss-module Whether to use provided NSS module
+
--enable-kde Determines whether to use Qt/KDE vclplug on platforms
where Qt and KDE are available.
--disable-kdeab Disable the KDE address book support
+ --enable-kde4 Determines whether to use Qt4/KDE4 vclplug on platforms
+ where Qt4 and KDE4 are available. May be used with --enable-kde
+ if you want to support both KDE3 and KDE4.
+
--disable-binfilter Disable legacy binary file formats filters
--disable-rpath Disable the use of relative paths in shared libraries
@@ -2005,8 +2034,7 @@ Optional Packages:
--with-gnu-cp Specify location of GNU cp on Solaris or FreeBSD
- --without-gpc Use the internal polygon clipping code instead of
- the external GPC polygon clipping library.
+ --with-system-graphite use graphite library already installed on system
--with-openldap Enables the use of the OpenLDAP LDAP SDK instead
of the Netscape/Mozilla one
@@ -2272,6 +2300,11 @@ Optional Packages:
Usage: --with-directx-home=<absolute path to Microsoft DirectX SDK>
+ --with-mozilla-build For Windows users, please supply the path to the
+ mozilla build tools.
+
+ Usage: --with-mozilla-build=<absolute path to mozilla build tools>
+
--with-local-solenv If you have solenv in a location other than ./solenv,
please supply the path here.
@@ -2846,12 +2879,15 @@ if test "${with_gnu_cp+set}" = set; then
withval=$with_gnu_cp;
fi
+# Check whether --enable-graphite was given.
+if test "${enable_graphite+set}" = set; then
+ enableval=$enable_graphite;
+fi
-# Check whether --with-gpc was given.
-if test "${with_gpc+set}" = set; then
- withval=$with_gpc;
-else
- if test ! -e ./external/gpc/gpc.c && test ! -e ./external/gpc/gpc.h; then without_gpc=yes; fi
+
+# Check whether --with-system-graphite was given.
+if test "${with_system_graphite+set}" = set; then
+ withval=$with_system_graphite;
fi
# Check whether --enable-ldap was given.
@@ -3141,6 +3177,13 @@ if test "${with_mozilla_toolkit+set}" = set; then
withval=$with_mozilla_toolkit;
fi
+# Check whether --enable-nss_module was given.
+if test "${enable_nss_module+set}" = set; then
+ enableval=$enable_nss_module;
+else
+ enable_nss_module=yes
+fi
+
# Check whether --enable-kde was given.
if test "${enable_kde+set}" = set; then
enableval=$enable_kde;
@@ -3153,6 +3196,11 @@ else
if test "$enable_kde" = "yes"; then enable_kdeab=yes; fi
fi
+# Check whether --enable-kde4 was given.
+if test "${enable_kde4+set}" = set; then
+ enableval=$enable_kde4;
+fi
+
# Check whether --enable-binfilter was given.
if test "${enable_binfilter+set}" = set; then
enableval=$enable_binfilter;
@@ -3708,6 +3756,12 @@ if test "${with_directx_home+set}" = set; then
fi
+# Check whether --with-mozilla-build was given.
+if test "${with_mozilla_build+set}" = set; then
+ withval=$with_mozilla_build; MOZILLABUILD=$withval
+fi
+
+
# Check whether --with-local-solenv was given.
if test "${with_local_solenv+set}" = set; then
withval=$with_local_solenv;
@@ -4422,6 +4476,7 @@ $as_echo "$as_me: error: only sparc and i386 processors are supported" >&2;}
test_gtk=yes
test_cairo=yes
test_kde=yes
+ test_kde4=yes
test_cups=yes
test_randr=yes
test_freetype=yes
@@ -4466,6 +4521,7 @@ $as_echo "$as_me: WARNING: Disabling gtk-quickstarter - not supported on Mac. Us
test_gtk=yes
test_cairo=yes
test_kde=yes
+ test_kde4=yes
test_cups=yes
test_randr=yes
test_freetype=yes
@@ -4503,6 +4559,7 @@ $as_echo "$PTHREAD_LIBS" >&6; }
test_gtk=yes
test_cairo=yes
test_kde=yes
+ test_kde4=yes
test_cups=no
test_randr=yes
test_freetype=yes
@@ -10717,6 +10774,10 @@ $as_echo_n "checking for g++ include path... " >&6; }
with_gxx_include_path=`cygpath -d "$with_gxx_include_path"`
with_gxx_include_path=`cygpath -u "$with_gxx_include_path"`
fi
+ if echo $with_gxx_include_path | grep -q linux; then
+ # workaround for Mandriva - issue 100049
+ with_gxx_include_path=`cd $with_gxx_include_path && pwd`
+ fi
fi
fi
if test -z "$with_gxx_include_path"; then
@@ -10756,7 +10817,76 @@ $as_echo "no mingwin runtime includes" >&6; }
{ $as_echo "$as_me:$LINENO: result: $_mingw_lib_include_path" >&5
$as_echo "$_mingw_lib_include_path" >&6; }
fi
-MINGW_LIB_INCLUDE_PATH="$_mingw_lib_include_path"
+ MINGW_LIB_INCLUDE_PATH="$_mingw_lib_include_path"
+
+ { $as_echo "$as_me:$LINENO: checking for mingwin c++ backward include path" >&5
+$as_echo_n "checking for mingwin c++ backward include path... " >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+#include <hash_set>
+_ACEOF
+ _mingw_backward_include_path=`$CXX -E -xc++ -Wno-deprecated conftest.$ac_ext 2>&5| $SED -n -e '/.*1*"\(.*\)\/hash_set".*/s//\1/p' | sort -u | xargs echo`
+ rm conftest.$ac_ext
+ if test -n "$_mingw_backward_include_path"; then
+ _mingw_backward_include_path=`cygpath -d $_mingw_backward_include_path`
+ _mingw_backward_include_path=`cygpath -u $_mingw_backward_include_path`
+ { $as_echo "$as_me:$LINENO: result: $_mingw_backward_include_path" >&5
+$as_echo "$_mingw_backward_include_path" >&6; }
+ else
+ _mingw_backward_include_path="NO_BACKWARD_INCLUDE"
+ { $as_echo "$as_me:$LINENO: result: no mingwin c++ backward includes" >&5
+$as_echo "no mingwin c++ backward includes" >&6; }
+ fi
+ MINGW_BACKWARD_INCLUDE_PATH="$_mingw_backward_include_path"
+
+ mingw_crtbegin=`$CC -print-file-name=crtbegin.o`
+ MINGW_CLIB_DIR=`dirname $mingw_crtbegin`
+ { $as_echo "$as_me:$LINENO: checking whether to use dynamic libgcc" >&5
+$as_echo_n "checking whether to use dynamic libgcc... " >&6; }
+ if test -e "$MINGW_CLIB_DIR/libgcc_s.a"; then
+ { $as_echo "$as_me:$LINENO: checking dynamic libgcc name" >&5
+$as_echo_n "checking dynamic libgcc name... " >&6; }
+ MINGW_GCCDLL_pattern=`nm $MINGW_CLIB_DIR/libgcc_s.a | sed -ne 's@.* _libgcc\(.*\)_dll_iname@libgcc\1.dll@p' | uniq | sed -e 's@_@?@g'`
+ MINGW_GCCDLL=`cd $COMPATH && ls $MINGW_GCCDLL_pattern 2>/dev/null`
+ if test -n "$MINGW_GCCDLL"; then
+ MINGW_SHARED_GCCLIB=YES
+ { $as_echo "$as_me:$LINENO: result: use $MINGW_GCCDLL" >&5
+$as_echo "use $MINGW_GCCDLL" >&6; }
+ else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+ else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+ if test -e "$MINGW_CLIB_DIR/libgcc_eh.a"; then
+ MINGW_GCCLIB_EH=YES
+ fi
+ { $as_echo "$as_me:$LINENO: checking whether to use dynamic libstdc++" >&5
+$as_echo_n "checking whether to use dynamic libstdc++... " >&6; }
+ if test -e "$MINGW_CLIB_DIR/libstdc++_s.a" ; then
+ { $as_echo "$as_me:$LINENO: checking dynamic libstdc++ name" >&5
+$as_echo_n "checking dynamic libstdc++ name... " >&6; }
+ MINGW_GXXDLL_pattern=`nm $MINGW_CLIB_DIR/libstdc++_s.a | sed -ne 's@.* _libstdc__\(.*\)_dll_iname@libstdc++\1.dll@p' | uniq | sed -e 's@_@?@g'`
+ MINGW_GXXDLL=`cd $COMPATH && ls $MINGW_GXXDLL_pattern 2>/dev/null`
+ if test -n "$MINGW_GXXDLL"; then
+ MINGW_SHARED_GXXLIB=YES
+ { $as_echo "$as_me:$LINENO: result: use $MINGW_GXXDLL" >&5
+$as_echo "use $MINGW_GXXDLL" >&6; }
+ else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+ else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+ MINGW_CLIB_DIR=`cygpath $MINGW_CLIB_DIR`
+
+
+
+
+
fi
@@ -10817,6 +10947,81 @@ $as_echo "checked" >&6; }
fi
fi
+{ $as_echo "$as_me:$LINENO: checking exception type" >&5
+$as_echo_n "checking exception type... " >&6; }
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+if test "$WITH_MINGWIN" = "yes"; then
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <iostream>
+
+extern "C" void _Unwind_SjLj_RaiseException(void) __attribute__ ((__noreturn__));
+
+
+int
+main ()
+{
+_Unwind_SjLj_RaiseException()
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ exceptions_type="sjlj"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ exceptions_type="dwarf2"
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $exceptions_type" >&5
+$as_echo "$exceptions_type" >&6; }
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+EXCEPTIONS="$exceptions_type"
+
+
if test "$_os" = "SunOS"; then
_temp=`showrev -p | $AWK -F" " '{ print $2 }'`
if test "$_os_release" = "7"; then
@@ -11188,8 +11393,7 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-cat >conftest.$ac_ext <<_ACEOF
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -17046,6 +17250,7 @@ if test "$enable_mozilla" = "no"; then
{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
WITH_MOZILLA=NO
+ ENABLE_NSS_MODULE=NO
else
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
@@ -17428,6 +17633,8 @@ if test -n "$with_system_mozilla" && test "$with_system_mozilla" != "no"; then
{ $as_echo "$as_me:$LINENO: result: external" >&5
$as_echo "external" >&6; }
SYSTEM_MOZILLA=YES
+ ENABLE_NSS_MODULE=NO
+ enable_nss_module=no
{ $as_echo "$as_me:$LINENO: checking which Mozilla flavour to use" >&5
$as_echo_n "checking which Mozilla flavour to use... " >&6; }
if test -n "$with_system_mozilla" && test "$with_system_mozilla" = "libxul"; then
@@ -18186,6 +18393,8 @@ elif test "$enable_mozilla" = "no"; then
{ $as_echo "$as_me:$LINENO: result: none" >&5
$as_echo "none" >&6; }
WITH_MOZILLA=NO
+ ENABLE_NSS_MODULE=NO
+ enable_nss_module=no
else
{ $as_echo "$as_me:$LINENO: result: internal" >&5
$as_echo "internal" >&6; }
@@ -18251,6 +18460,49 @@ else
$as_echo "no" >&6; }
fi
+{ $as_echo "$as_me:$LINENO: checking whether to build provided NSS module" >&5
+$as_echo_n "checking whether to build provided NSS module... " >&6; }
+if test "$enable_nss_module" != "no"; then
+ ENABLE_NSS_MODULE="YES"
+ BUILD_TYPE="$BUILD_TYPE NSS"
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ if test "$_os" = "WINNT"; then
+ { $as_echo "$as_me:$LINENO: checking for Mozilla build tooling" >&5
+$as_echo_n "checking for Mozilla build tooling... " >&6; }
+ if test -z "$MOZILLABUILD" ; then
+{ { $as_echo "$as_me:$LINENO: error: Mozilla build tooling not found. Use --with-mozilla-build=<absolut path to mozilla build tooling (mozilla-build)>" >&5
+$as_echo "$as_me: error: Mozilla build tooling not found. Use --with-mozilla-build=<absolut path to mozilla build tooling (mozilla-build)>" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ if test \( "$WITH_MINGWIN" = "yes" \) ; then
+ if test ! -d "$MOZILLABUILD" ; then
+{ { $as_echo "$as_me:$LINENO: error: Mozilla build tooling incomplete!" >&5
+$as_echo "$as_me: error: Mozilla build tooling incomplete!" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ { $as_echo "$as_me:$LINENO: result: ok" >&5
+$as_echo "ok" >&6; }
+ fi
+ else
+ if test ! -d "$MOZILLABUILD/moztools" \
+ -o ! -d "$MOZILLABUILD/msys" ; then
+{ { $as_echo "$as_me:$LINENO: error: Mozilla build tooling incomplete!" >&5
+$as_echo "$as_me: error: Mozilla build tooling incomplete!" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ { $as_echo "$as_me:$LINENO: result: ok" >&5
+$as_echo "ok" >&6; }
+ fi
+ fi
+ fi
+ fi
+else
+ ENABLE_NSS_MODULE="NO"
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
if test "$BUILD_MOZAB" = "TRUE"; then
if test "$_os" = "WINNT"; then
if test "$WITH_MINGWIN" != "yes"; then
@@ -18944,6 +19196,8 @@ fi
+
+
{ $as_echo "$as_me:$LINENO: checking which sane header to use" >&5
$as_echo_n "checking which sane header to use... " >&6; }
if test -n "$with_system_sane_header" -o -n "$with_system_headers" && \
@@ -19370,6 +19624,144 @@ fi
+{ $as_echo "$as_me:$LINENO: checking whether to enable graphite support" >&5
+$as_echo_n "checking whether to enable graphite support... " >&6; }
+if test "$_os" = "WINNT" -o "$_os" = "Linux" && test "z$enable_graphite" == "z" -o "$enable_graphite" != "no" ; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ ENABLE_GRAPHITE="TRUE"
+ { $as_echo "$as_me:$LINENO: checking which graphite to use" >&5
+$as_echo_n "checking which graphite to use... " >&6; }
+ if test -n "$with_system_graphite" -o -n "$with_system_libs" && \
+ test "$with_system_graphite" != "no"; then
+ { $as_echo "$as_me:$LINENO: result: external" >&5
+$as_echo "external" >&6; }
+ SYSTEM_GRAPHITE=YES
+
+ succeeded=no
+
+ if test -z "$PKG_CONFIG"; then
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ case $PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
+ ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+ { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ fi
+
+ if test "$PKG_CONFIG" = "no" ; then
+ echo "*** The pkg-config script could not be found. Make sure it is"
+ echo "*** in your path, or set the PKG_CONFIG environment variable"
+ echo "*** to the full path to pkg-config."
+ echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+ else
+ PKG_CONFIG_MIN_VERSION=0.9.0
+ if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+ { $as_echo "$as_me:$LINENO: checking for silgraphite " >&5
+$as_echo_n "checking for silgraphite ... " >&6; }
+
+ if $PKG_CONFIG --exists "silgraphite " ; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ succeeded=yes
+
+ { $as_echo "$as_me:$LINENO: checking GRAPHITE_CFLAGS" >&5
+$as_echo_n "checking GRAPHITE_CFLAGS... " >&6; }
+ GRAPHITE_CFLAGS=`$PKG_CONFIG --cflags "silgraphite "`
+ { $as_echo "$as_me:$LINENO: result: $GRAPHITE_CFLAGS" >&5
+$as_echo "$GRAPHITE_CFLAGS" >&6; }
+
+ { $as_echo "$as_me:$LINENO: checking GRAPHITE_LIBS" >&5
+$as_echo_n "checking GRAPHITE_LIBS... " >&6; }
+ GRAPHITE_LIBS=`$PKG_CONFIG --libs "silgraphite "`
+ { $as_echo "$as_me:$LINENO: result: $GRAPHITE_LIBS" >&5
+$as_echo "$GRAPHITE_LIBS" >&6; }
+ else
+ GRAPHITE_CFLAGS=""
+ GRAPHITE_LIBS=""
+ ## If we have a custom action on failure, don't print errors, but
+ ## do set a variable so people can do so.
+ GRAPHITE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "silgraphite "`
+ echo $GRAPHITE_PKG_ERRORS
+ fi
+
+
+
+ else
+ echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
+ echo "*** See http://www.freedesktop.org/software/pkgconfig"
+ fi
+ fi
+
+ if test $succeeded = yes; then
+ :
+ else
+ { { $as_echo "$as_me:$LINENO: error: Library requirements (silgraphite ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5
+$as_echo "$as_me: error: Library requirements (silgraphite ) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ { $as_echo "$as_me:$LINENO: checking STL compatibility" >&5
+$as_echo_n "checking STL compatibility... " >&6; }
+ if test "$WITH_STLPORT" != "no"; then
+ { { $as_echo "$as_me:$LINENO: error: to use system graphite you need to use --without-stlport" >&5
+$as_echo "$as_me: error: to use system graphite you need to use --without-stlport" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ { $as_echo "$as_me:$LINENO: result: OK" >&5
+$as_echo "OK" >&6; }
+ fi
+ else
+ { $as_echo "$as_me:$LINENO: result: internal" >&5
+$as_echo "internal" >&6; }
+ SYSTEM_GRAPHITE=NO
+ BUILD_TYPE="$BUILD_TYPE GRAPHITE"
+ fi
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+
+
+
if test "$_os" = "Darwin"; then
if test "x$with_x" = "xyes"; then
{ { $as_echo "$as_me:$LINENO: error: X11 build is no longer supported on MacOSX, please use the native aqua build" >&5
@@ -24896,46 +25288,6 @@ $as_echo "found and copied" >&6; }
fi
fi
-{ $as_echo "$as_me:$LINENO: checking which polygon clipping code to use" >&5
-$as_echo_n "checking which polygon clipping code to use... " >&6; }
-WITH_GPC=NO
-
-if test "$with_gpc" != "no" && test "$without_gpc" != "yes"; then
- WITH_GPC=YES
- { $as_echo "$as_me:$LINENO: result: GPC" >&5
-$as_echo "GPC" >&6; }
-
- { $as_echo "$as_me:$LINENO: checking for GPC files" >&5
-$as_echo_n "checking for GPC files... " >&6; }
- if test -f ./external/gpc/gpc.h; then
- HAVE_GPC_H="yes"
- else
- HAVE_GPC_H="no"
- fi
- if test -f ./external/gpc/gpc.c; then
- HAVE_GPC_C="yes"
- else
- HAVE_GPC_C="no"
- fi
-
- if test "$HAVE_GPC_H" = "yes" -a "$HAVE_GPC_C" = "yes"; then
- { $as_echo "$as_me:$LINENO: result: GPC files found" >&5
-$as_echo "GPC files found" >&6; }
- else
- { { $as_echo "$as_me:$LINENO: error: GPC files not found
-ftp://ftp.cs.man.ac.uk/pub/toby/gpc/gpc231.tar.Z and untar in external/gpc,
-or use basegfx' implementation using --without-gpc" >&5
-$as_echo "$as_me: error: GPC files not found
-ftp://ftp.cs.man.ac.uk/pub/toby/gpc/gpc231.tar.Z and untar in external/gpc,
-or use basegfx' implementation using --without-gpc" >&2;}
- { (exit 1); exit 1; }; }
- fi
-else
- { $as_echo "$as_me:$LINENO: result: internal" >&5
-$as_echo "internal" >&6; }
-fi
-
-
{ $as_echo "$as_me:$LINENO: checking which VCLplugs shall be built" >&5
$as_echo_n "checking which VCLplugs shall be built... " >&6; }
ENABLE_GTK=""
@@ -24952,6 +25304,13 @@ if test "x$enable_kde" = "xyes"; then
fi
+ENABLE_KDE4=""
+if test "x$enable_kde4" = "xyes"; then
+ ENABLE_KDE4="TRUE"
+ R="$R kde4"
+fi
+
+
if test -z "$R"; then
{ $as_echo "$as_me:$LINENO: result: none" >&5
$as_echo "none" >&6; }
@@ -27525,11 +27884,11 @@ if test "$test_kde" = "yes" -a "$ENABLE_KDE" = "TRUE" ; then
fi
fi
if test "$build_cpu" != "x86_64" ; then
- kde_incdirs="/usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes"
- kde_libdirs="/usr/lib/kde/lib /usr/local/kde/lib /usr/kde/lib /usr/lib/kde /usr/lib/kde3 /usr/lib /usr/X11R6/lib /usr/local/lib /opt/kde3/lib /opt/kde/lib /usr/X11R6/kde/lib $x_libraries"
+ kde_incdirs="/usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /opt/kde3/include /opt/kde/include $x_includes"
+ kde_libdirs="/usr/lib/kde/lib /usr/local/kde/lib /usr/kde/lib /usr/lib/kde /usr/lib/kde3 /usr/X11R6/lib /usr/local/lib /opt/kde3/lib /opt/kde/lib /usr/X11R6/kde/lib /usr/lib $x_libraries"
else
- kde_incdirs="/usr/lib64/kde/include /usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes"
- kde_libdirs="/usr/lib64/kde/lib64 /usr/local/kde/lib64 /usr/kde/lib64 /usr/lib64/kde /usr/lib64/kde3 /usr/lib64 /usr/X11R6/lib64 /usr/local/lib64 /opt/kde3/lib64 /opt/kde/lib64 /usr/X11R6/kde/lib64 /usr/lib/kde/lib /usr/local/kde/lib /usr/kde/lib /usr/lib/kde /usr/lib/kde3 /usr/lib /usr/X11R6/lib /usr/local/lib /opt/kde3/lib /opt/kde/lib /usr/X11R6/kde/lib $x_libraries"
+ kde_incdirs="/usr/lib64/kde/include /usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /opt/kde3/include /opt/kde/include $x_includes"
+ kde_libdirs="/usr/lib64/kde/lib64 /usr/local/kde/lib64 /usr/kde/lib64 /usr/lib64/kde /usr/lib64/kde3 /usr/X11R6/lib64 /usr/local/lib64 /opt/kde3/lib64 /opt/kde/lib64 /usr/X11R6/kde/lib64 /usr/lib/kde/lib /usr/local/kde/lib /usr/kde/lib /usr/lib/kde /usr/lib/kde3 /usr/lib /usr/X11R6/lib /usr/local/lib /opt/kde3/lib /opt/kde/lib /usr/X11R6/kde/lib /usr/lib64 $x_libraries"
fi
if test -n "$KDEDIR" ; then
kde_incdirs="$KDEDIR/include $kde_incdirs"
@@ -27583,7 +27942,7 @@ your Qt installation by exporting QTDIR before running \"configure\"." >&2;}
{ (exit 1); exit 1; }; }
fi
- # Extract the first word of "moc", so it can be a program name with args.
+ # Extract the first word of "moc", so it can be a program name with args.
set dummy moc; ac_word=$2
{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -27631,7 +27990,7 @@ the root of your Qt installation by exporting QTDIR before running \"configure\"
$as_echo "$as_me: error: Qt Meta Object Compiler not found. Please specify
the root of your Qt installation by exporting QTDIR before running \"configure\"." >&2;}
{ (exit 1); exit 1; }; }
- fi
+ fi
{ $as_echo "$as_me:$LINENO: checking for KDE headers" >&5
$as_echo_n "checking for KDE headers... " >&6; }
@@ -27678,6 +28037,156 @@ fi
+
+KDE4_CFLAGS=""
+KDE4_LIBS=""
+MOC4="moc"
+if test "$test_kde4" = "yes" -a "$ENABLE_KDE4" = "TRUE" ; then
+ qt_incdirs="$QTINC $QTDIR /usr/include/qt4 /usr/include $x_includes"
+ qt_libdirs="$QTLIB /usr/lib $x_libraries"
+
+ kde_incdirs="/usr/include $x_includes"
+ kde_libdirs="/usr/lib $x_libraries"
+
+ if test "$build_cpu" == "x86_64" ; then
+ qt_libdirs="$qt_libdirs /usr/lib64/qt4 /usr/lib64/qt /usr/lib64"
+ kde_libdirs="$kde_libdirs /usr/lib64 /usr/lib64/kde4"
+ fi
+
+ qt_test_include="Qt/qobject.h"
+ qt_test_library="libQtCore.so"
+ kde_test_include="ksharedptr.h"
+ kde_test_library="libkdeui.so"
+
+ { $as_echo "$as_me:$LINENO: checking for Qt4 headers" >&5
+$as_echo_n "checking for Qt4 headers... " >&6; }
+ qt_header_dir="no"
+ for inc_dir in $qt_incdirs ; do
+ if test -r "$inc_dir/$qt_test_include" ; then
+ qt_header_dir="$inc_dir"
+ break
+ fi
+ done
+
+ { $as_echo "$as_me:$LINENO: result: $qt_header_dir" >&5
+$as_echo "$qt_header_dir" >&6; }
+ if test "x$qt_header_dir" = "xno" ; then
+ { { $as_echo "$as_me:$LINENO: error: Qt4 headers not found. Please specify the root of your Qt4 installation by exporting QTDIR before running \"configure\"." >&5
+$as_echo "$as_me: error: Qt4 headers not found. Please specify the root of your Qt4 installation by exporting QTDIR before running \"configure\"." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ { $as_echo "$as_me:$LINENO: checking for Qt4 libraries" >&5
+$as_echo_n "checking for Qt4 libraries... " >&6; }
+ qt_lib_dir="no"
+ for lib_dir in $qt_libdirs ; do
+ if test -r "$lib_dir/$qt_test_library" ; then
+ qt_lib_dir="$lib_dir"
+ break
+ fi
+ done
+
+ { $as_echo "$as_me:$LINENO: result: $qt_lib_dir" >&5
+$as_echo "$qt_lib_dir" >&6; }
+
+ if test "x$qt_lib_dir" = "xno" ; then
+ { { $as_echo "$as_me:$LINENO: error: Qt4 libraries not found. Please specify the root of your Qt4 installation by exporting QTDIR before running \"configure\"." >&5
+$as_echo "$as_me: error: Qt4 libraries not found. Please specify the root of your Qt4 installation by exporting QTDIR before running \"configure\"." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ # Extract the first word of "moc", so it can be a program name with args.
+set dummy moc; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_MOC4+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ case $MOC4 in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_MOC4="$MOC4" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy="$PATH:$QTDIR/bin "
+for as_dir in $as_dummy
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_MOC4="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_path_MOC4" && ac_cv_path_MOC4="no"
+ ;;
+esac
+fi
+MOC4=$ac_cv_path_MOC4
+if test -n "$MOC4"; then
+ { $as_echo "$as_me:$LINENO: result: $MOC4" >&5
+$as_echo "$MOC4" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ if test "$MOC4" = "no" ; then
+ { { $as_echo "$as_me:$LINENO: error: Qt Meta Object Compiler not found. Please specify
+the root of your Qt installation by exporting QTDIR before running \"configure\"." >&5
+$as_echo "$as_me: error: Qt Meta Object Compiler not found. Please specify
+the root of your Qt installation by exporting QTDIR before running \"configure\"." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ { $as_echo "$as_me:$LINENO: checking for KDE4 headers" >&5
+$as_echo_n "checking for KDE4 headers... " >&6; }
+ kde_incdir="no"
+ for kde_check in $kde_incdirs ; do
+ if test -r "$kde_check/$kde_test_include" ; then
+ kde_incdir="$kde_check"
+ break
+ fi
+ done
+ { $as_echo "$as_me:$LINENO: result: $kde_incdir" >&5
+$as_echo "$kde_incdir" >&6; }
+ if test "x$kde_incdir" = "xno" ; then
+ { { $as_echo "$as_me:$LINENO: error: KDE4 headers not found. Please specify the root of your KDE4 installation by exporting KDEDIR before running \"configure\"." >&5
+$as_echo "$as_me: error: KDE4 headers not found. Please specify the root of your KDE4 installation by exporting KDEDIR before running \"configure\"." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ { $as_echo "$as_me:$LINENO: checking for KDE4 libraries" >&5
+$as_echo_n "checking for KDE4 libraries... " >&6; }
+ kde_libdir="no"
+ for kde_check in $kde_libdirs ; do
+ if test -r "$kde_check/$kde_test_library" ; then
+ kde_libdir="$kde_check"
+ break
+ fi
+ done
+
+ { $as_echo "$as_me:$LINENO: result: $kde_libdir" >&5
+$as_echo "$kde_libdir" >&6; }
+ if test "x$kde_libdir" = "xno" ; then
+ { { $as_echo "$as_me:$LINENO: error: KDE4 libraries not found. Please specify the root of your KDE4 installation by exporting KDEDIR before running \"configure\"." >&5
+$as_echo "$as_me: error: KDE4 libraries not found. Please specify the root of your KDE4 installation by exporting KDEDIR before running \"configure\"." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ KDE4_CFLAGS="`pkg-config --cflags QtCore` `pkg-config --cflags QtGui` -I$kde_incdir -DQT_CLEAN_NAMESPACE -DQT_THREAD_SUPPORT"
+ KDE4_LIBS="-L$kde_libdir -L$qt_lib_dir -lkdeui -lkdecore -lQtCore -lQtGui"
+fi
+
+
+
+
{ $as_echo "$as_me:$LINENO: checking whether to enable the lockdown pieces" >&5
$as_echo_n "checking whether to enable the lockdown pieces... " >&6; }
ENABLE_LOCKDOWN=""
diff --git a/configure.in b/configure.in
index cc9a533e5553..8ebcc3dc4a97 100644
--- a/configure.in
+++ b/configure.in
@@ -25,10 +25,12 @@ AC_ARG_WITH(agg,
AC_ARG_WITH(gnu-cp,
[ --with-gnu-cp Specify location of GNU cp on Solaris or FreeBSD
],,)
-AC_ARG_WITH(gpc,
-[ --without-gpc Use the internal polygon clipping code instead of
- the external GPC polygon clipping library.
-],,if test ! -e ./external/gpc/gpc.c && test ! -e ./external/gpc/gpc.h; then without_gpc=yes; fi)
+AC_ARG_ENABLE(graphite,
+[ --enable-graphite Enables the compilation of Graphite smart font rendering
+],,)
+AC_ARG_WITH(system-graphite,
+[ --with-system-graphite use graphite library already installed on system
+],,)
AC_ARG_ENABLE(ldap,
[ --disable-ldap Disables the use of LDAP backend via Netscape/Mozilla
or OpenLDAP LDAP SDK
@@ -252,6 +254,9 @@ AC_ARG_WITH(mozilla-toolkit,
[ --with-mozilla-toolkit Choose which GUI toolkit to use while building mozilla
components. Default: gtk2
],,)
+AC_ARG_ENABLE(nss_module,
+[ --disable-nss-module Whether to use provided NSS module
+],,enable_nss_module=yes)
AC_ARG_ENABLE(kde,
[ --enable-kde Determines whether to use Qt/KDE vclplug on platforms
where Qt and KDE are available.
@@ -259,6 +264,11 @@ AC_ARG_ENABLE(kde,
AC_ARG_ENABLE(kdeab,
[ --disable-kdeab Disable the KDE address book support
],,if test "$enable_kde" = "yes"; then enable_kdeab=yes; fi)
+AC_ARG_ENABLE(kde4,
+[ --enable-kde4 Determines whether to use Qt4/KDE4 vclplug on platforms
+ where Qt4 and KDE4 are available. May be used with --enable-kde
+ if you want to support both KDE3 and KDE4.
+],,)
AC_ARG_ENABLE(binfilter,
[ --disable-binfilter Disable legacy binary file formats filters
],,if ! test -d ./binfilter; then enable_binfilter=no; fi)
@@ -641,6 +651,12 @@ AC_ARG_WITH(directx-home,
Usage: --with-directx-home=<absolute path to Microsoft DirectX SDK>
],,)
+AC_ARG_WITH(mozilla-build,
+[ --with-mozilla-build For Windows users, please supply the path to the
+ mozilla build tools.
+
+ Usage: --with-mozilla-build=<absolute path to mozilla build tools>
+],[MOZILLABUILD=$withval],)
AC_ARG_WITH(local-solenv,
[ --with-local-solenv If you have solenv in a location other than ./solenv,
please supply the path here.
@@ -908,6 +924,7 @@ case "$build_os" in
test_gtk=yes
test_cairo=yes
test_kde=yes
+ test_kde4=yes
test_cups=yes
test_randr=yes
test_freetype=yes
@@ -951,6 +968,7 @@ case "$build_os" in
test_gtk=yes
test_cairo=yes
test_kde=yes
+ test_kde4=yes
test_cups=yes
test_randr=yes
test_freetype=yes
@@ -984,6 +1002,7 @@ case "$build_os" in
test_gtk=yes
test_cairo=yes
test_kde=yes
+ test_kde4=yes
test_cups=no
test_randr=yes
test_freetype=yes
@@ -2122,6 +2141,10 @@ if test "$GXX" = "yes"; then
with_gxx_include_path=`cygpath -d "$with_gxx_include_path"`
with_gxx_include_path=`cygpath -u "$with_gxx_include_path"`
fi
+ if echo $with_gxx_include_path | grep -q linux; then
+ # workaround for Mandriva - issue 100049
+ with_gxx_include_path=`cd $with_gxx_include_path && pwd`
+ fi
fi
fi
dnl This is the original code...
@@ -2161,8 +2184,65 @@ _ACEOF
else
AC_MSG_RESULT([$_mingw_lib_include_path])
fi
-MINGW_LIB_INCLUDE_PATH="$_mingw_lib_include_path"
-AC_SUBST(MINGW_LIB_INCLUDE_PATH)
+ MINGW_LIB_INCLUDE_PATH="$_mingw_lib_include_path"
+ AC_SUBST(MINGW_LIB_INCLUDE_PATH)
+dnl mingw gcc 4.4.0 needs backward in include path to use hash_set/hash_map
+ AC_MSG_CHECKING([for mingwin c++ backward include path])
+ cat >conftest.$ac_ext <<_ACEOF
+#include <hash_set>
+_ACEOF
+ _mingw_backward_include_path=`$CXX -E -xc++ -Wno-deprecated conftest.$ac_ext 2>&5| $SED -n -e '/.*1*"\(.*\)\/hash_set".*/s//\1/p' | sort -u | xargs echo`
+ rm conftest.$ac_ext
+ if test -n "$_mingw_backward_include_path"; then
+ _mingw_backward_include_path=`cygpath -d $_mingw_backward_include_path`
+ _mingw_backward_include_path=`cygpath -u $_mingw_backward_include_path`
+ AC_MSG_RESULT([$_mingw_backward_include_path])
+ else
+ _mingw_backward_include_path="NO_BACKWARD_INCLUDE"
+ AC_MSG_RESULT([no mingwin c++ backward includes])
+ fi
+ MINGW_BACKWARD_INCLUDE_PATH="$_mingw_backward_include_path"
+ AC_SUBST(MINGW_BACKWARD_INCLUDE_PATH)
+ mingw_crtbegin=`$CC -print-file-name=crtbegin.o`
+ MINGW_CLIB_DIR=`dirname $mingw_crtbegin`
+ AC_MSG_CHECKING([whether to use dynamic libgcc])
+ if test -e "$MINGW_CLIB_DIR/libgcc_s.a"; then
+ AC_MSG_CHECKING([dynamic libgcc name])
+ MINGW_GCCDLL_pattern=`nm $MINGW_CLIB_DIR/libgcc_s.a | sed -ne 's@.* _libgcc\(.*\)_dll_iname@libgcc\1.dll@p' | uniq | sed -e 's@_@?@g'`
+ MINGW_GCCDLL=`cd $COMPATH && ls $MINGW_GCCDLL_pattern 2>/dev/null`
+ if test -n "$MINGW_GCCDLL"; then
+ MINGW_SHARED_GCCLIB=YES
+ AC_MSG_RESULT([use $MINGW_GCCDLL])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ else
+ AC_MSG_RESULT([no])
+ fi
+ if test -e "$MINGW_CLIB_DIR/libgcc_eh.a"; then
+ MINGW_GCCLIB_EH=YES
+ fi
+ AC_MSG_CHECKING([whether to use dynamic libstdc++])
+ if test -e "$MINGW_CLIB_DIR/libstdc++_s.a" ; then
+ AC_MSG_CHECKING([dynamic libstdc++ name])
+ MINGW_GXXDLL_pattern=`nm $MINGW_CLIB_DIR/libstdc++_s.a | sed -ne 's@.* _libstdc__\(.*\)_dll_iname@libstdc++\1.dll@p' | uniq | sed -e 's@_@?@g'`
+ MINGW_GXXDLL=`cd $COMPATH && ls $MINGW_GXXDLL_pattern 2>/dev/null`
+ if test -n "$MINGW_GXXDLL"; then
+ MINGW_SHARED_GXXLIB=YES
+ AC_MSG_RESULT([use $MINGW_GXXDLL])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ else
+ AC_MSG_RESULT([no])
+ fi
+ MINGW_CLIB_DIR=`cygpath $MINGW_CLIB_DIR`
+ AC_SUBST(MINGW_CLIB_DIR)
+ AC_SUBST(MINGW_SHARED_GCCLIB)
+ AC_SUBST(MINGW_GCCLIB_EH)
+ AC_SUBST(MINGW_SHARED_GXXLIB)
+ AC_SUBST(MINGW_GCCDLL)
+ AC_SUBST(MINGW_GXXDLL)
fi
dnl ===================================================================
@@ -2227,6 +2307,29 @@ if test "$_os" = "OSF1"; then
fi
fi
+dnl *************************************************************
+dnl Testing for exception handling - dwarf2 or sjlj exceptions...
+dnl *************************************************************
+AC_MSG_CHECKING([exception type])
+AC_LANG_PUSH([C++])
+if test "$WITH_MINGWIN" = "yes"; then
+ AC_TRY_LINK(
+ [#include <iostream>
+
+extern "C" void _Unwind_SjLj_RaiseException(void) __attribute__ ((__noreturn__));
+
+ ],
+ [_Unwind_SjLj_RaiseException() ],
+ [exceptions_type="sjlj"],
+ [exceptions_type="dwarf2"]
+ )
+fi
+
+AC_MSG_RESULT($exceptions_type)
+AC_LANG_POP([C++])
+EXCEPTIONS="$exceptions_type"
+AC_SUBST(EXCEPTIONS)
+
dnl **************************************************************
dnl Testing for required Solaris and SunStudio compiler patches...
dnl **************************************************************
@@ -3973,6 +4076,7 @@ AC_MSG_CHECKING([whether to enable build of Mozilla/Mozilla NSS-using components
if test "$enable_mozilla" = "no"; then
AC_MSG_RESULT([no])
WITH_MOZILLA=NO
+ ENABLE_NSS_MODULE=NO
else
AC_MSG_RESULT([yes])
WITH_MOZILLA=YES
@@ -4042,6 +4146,8 @@ AC_MSG_CHECKING([which mozilla to use])
if test -n "$with_system_mozilla" && test "$with_system_mozilla" != "no"; then
AC_MSG_RESULT([external])
SYSTEM_MOZILLA=YES
+ ENABLE_NSS_MODULE=NO
+ enable_nss_module=no
AC_MSG_CHECKING([which Mozilla flavour to use])
if test -n "$with_system_mozilla" && test "$with_system_mozilla" = "libxul"; then
MOZ_FLAVOUR=libxul
@@ -4128,6 +4234,8 @@ Please recompile $tmp with --enable-ldap or use --with-openldap.])
elif test "$enable_mozilla" = "no"; then
AC_MSG_RESULT([none])
WITH_MOZILLA=NO
+ ENABLE_NSS_MODULE=NO
+ enable_nss_module=no
else
AC_MSG_RESULT([internal])
SYSTEM_MOZILLA=NO
@@ -4183,6 +4291,37 @@ else
AC_MSG_RESULT([no])
fi
+AC_MSG_CHECKING([whether to build provided NSS module])
+if test "$enable_nss_module" != "no"; then
+ ENABLE_NSS_MODULE="YES"
+ BUILD_TYPE="$BUILD_TYPE NSS"
+ AC_MSG_RESULT([yes])
+ if test "$_os" = "WINNT"; then
+ AC_MSG_CHECKING([for Mozilla build tooling])
+ if test -z "$MOZILLABUILD" ; then
+AC_MSG_ERROR([Mozilla build tooling not found. Use --with-mozilla-build=<absolut path to mozilla build tooling (mozilla-build)>])
+ else
+ if test \( "$WITH_MINGWIN" = "yes" \) ; then
+ if test ! -d "$MOZILLABUILD" ; then
+AC_MSG_ERROR([Mozilla build tooling incomplete!])
+ else
+ AC_MSG_RESULT([ok])
+ fi
+ else
+ if test ! -d "$MOZILLABUILD/moztools" \
+ -o ! -d "$MOZILLABUILD/msys" ; then
+AC_MSG_ERROR([Mozilla build tooling incomplete!])
+ else
+ AC_MSG_RESULT([ok])
+ fi
+ fi
+ fi
+ fi
+else
+ ENABLE_NSS_MODULE="NO"
+ AC_MSG_RESULT([no])
+fi
+
if test "$BUILD_MOZAB" = "TRUE"; then
if test "$_os" = "WINNT"; then
if test "$WITH_MINGWIN" != "yes"; then
@@ -4261,6 +4400,8 @@ fi
AC_SUBST(BUILD_MOZAB)
fi
+AC_SUBST(ENABLE_NSS_MODULE)
+AC_SUBST(MOZILLABUILD)
AC_SUBST(SYSTEM_MOZILLA)
AC_SUBST(MOZ_FLAVOUR)
AC_SUBST(MOZ_INC)
@@ -4333,6 +4474,39 @@ AC_SUBST(SYSTEM_GENCCODE)
AC_SUBST(SYSTEM_GENCMN)
dnl ===================================================================
+dnl Graphite
+dnl ===================================================================
+
+AC_MSG_CHECKING([whether to enable graphite support])
+if test "$_os" = "WINNT" -o "$_os" = "Linux" && test "z$enable_graphite" == "z" -o "$enable_graphite" != "no" ; then
+ AC_MSG_RESULT([yes])
+ ENABLE_GRAPHITE="TRUE"
+ AC_MSG_CHECKING([which graphite to use])
+ if test -n "$with_system_graphite" -o -n "$with_system_libs" && \
+ test "$with_system_graphite" != "no"; then
+ AC_MSG_RESULT([external])
+ SYSTEM_GRAPHITE=YES
+ PKG_CHECK_MODULES( GRAPHITE, silgraphite )
+ AC_MSG_CHECKING([STL compatibility])
+ if test "$WITH_STLPORT" != "no"; then
+ AC_MSG_ERROR([to use system graphite you need to use --without-stlport])
+ else
+ AC_MSG_RESULT([OK])
+ fi
+ else
+ AC_MSG_RESULT([internal])
+ SYSTEM_GRAPHITE=NO
+ BUILD_TYPE="$BUILD_TYPE GRAPHITE"
+ fi
+else
+ AC_MSG_RESULT([no])
+fi
+AC_SUBST(ENABLE_GRAPHITE)
+AC_SUBST(SYSTEM_GRAPHITE)
+AC_SUBST(GRAPHITE_LIBS)
+AC_SUBST(GRAPHITE_CFLAGS)
+
+dnl ===================================================================
dnl Checks for libraries.
dnl ===================================================================
dnl Check for Mac OS X native GUI, which may is now required; the X11 build is no longer supported
@@ -5187,40 +5361,6 @@ fi
fi
dnl ===================================================================
-dnl Test for the presence of the right polygon clipping code
-dnl ===================================================================
-AC_MSG_CHECKING([which polygon clipping code to use])
-WITH_GPC=NO
-
-if test "$with_gpc" != "no" && test "$without_gpc" != "yes"; then
- WITH_GPC=YES
- AC_MSG_RESULT([GPC])
-
- AC_MSG_CHECKING([for GPC files])
- if test -f ./external/gpc/gpc.h; then
- HAVE_GPC_H="yes"
- else
- HAVE_GPC_H="no"
- fi
- if test -f ./external/gpc/gpc.c; then
- HAVE_GPC_C="yes"
- else
- HAVE_GPC_C="no"
- fi
-
- if test "$HAVE_GPC_H" = "yes" -a "$HAVE_GPC_C" = "yes"; then
- AC_MSG_RESULT([GPC files found])
- else
- AC_MSG_ERROR([GPC files not found
-ftp://ftp.cs.man.ac.uk/pub/toby/gpc/gpc231.tar.Z and untar in external/gpc,
-or use basegfx' implementation using --without-gpc])
- fi
-else
- AC_MSG_RESULT([internal])
-fi
-AC_SUBST(WITH_GPC)
-
-dnl ===================================================================
dnl Test which vclplugs have to be built.
dnl ===================================================================
AC_MSG_CHECKING([which VCLplugs shall be built])
@@ -5238,6 +5378,13 @@ if test "x$enable_kde" = "xyes"; then
fi
AC_SUBST(ENABLE_KDE)
+ENABLE_KDE4=""
+if test "x$enable_kde4" = "xyes"; then
+ ENABLE_KDE4="TRUE"
+ R="$R kde4"
+fi
+AC_SUBST(ENABLE_KDE4)
+
if test -z "$R"; then
AC_MSG_RESULT([none])
else
@@ -5776,11 +5923,11 @@ if test "$test_kde" = "yes" -a "$ENABLE_KDE" = "TRUE" ; then
fi
fi
if test "$build_cpu" != "x86_64" ; then
- kde_incdirs="/usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes"
- kde_libdirs="/usr/lib/kde/lib /usr/local/kde/lib /usr/kde/lib /usr/lib/kde /usr/lib/kde3 /usr/lib /usr/X11R6/lib /usr/local/lib /opt/kde3/lib /opt/kde/lib /usr/X11R6/kde/lib $x_libraries"
+ kde_incdirs="/usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /opt/kde3/include /opt/kde/include $x_includes"
+ kde_libdirs="/usr/lib/kde/lib /usr/local/kde/lib /usr/kde/lib /usr/lib/kde /usr/lib/kde3 /usr/X11R6/lib /usr/local/lib /opt/kde3/lib /opt/kde/lib /usr/X11R6/kde/lib /usr/lib $x_libraries"
else
- kde_incdirs="/usr/lib64/kde/include /usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes"
- kde_libdirs="/usr/lib64/kde/lib64 /usr/local/kde/lib64 /usr/kde/lib64 /usr/lib64/kde /usr/lib64/kde3 /usr/lib64 /usr/X11R6/lib64 /usr/local/lib64 /opt/kde3/lib64 /opt/kde/lib64 /usr/X11R6/kde/lib64 /usr/lib/kde/lib /usr/local/kde/lib /usr/kde/lib /usr/lib/kde /usr/lib/kde3 /usr/lib /usr/X11R6/lib /usr/local/lib /opt/kde3/lib /opt/kde/lib /usr/X11R6/kde/lib $x_libraries"
+ kde_incdirs="/usr/lib64/kde/include /usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /opt/kde3/include /opt/kde/include $x_includes"
+ kde_libdirs="/usr/lib64/kde/lib64 /usr/local/kde/lib64 /usr/kde/lib64 /usr/lib64/kde /usr/lib64/kde3 /usr/X11R6/lib64 /usr/local/lib64 /opt/kde3/lib64 /opt/kde/lib64 /usr/X11R6/kde/lib64 /usr/lib/kde/lib /usr/local/kde/lib /usr/kde/lib /usr/lib/kde /usr/lib/kde3 /usr/lib /usr/X11R6/lib /usr/local/lib /opt/kde3/lib /opt/kde/lib /usr/X11R6/kde/lib /usr/lib64 $x_libraries"
fi
if test -n "$KDEDIR" ; then
kde_incdirs="$KDEDIR/include $kde_incdirs"
@@ -5827,12 +5974,13 @@ your Qt installation by exporting QTDIR before running "configure".])
your Qt installation by exporting QTDIR before running "configure".])
fi
+ dnl Check for Meta Object Compiler
AC_PATH_PROG( MOC, moc, no, [$QTDIR/bin:$PATH] )
if test "$MOC" = "no" ; then
AC_MSG_ERROR([Qt Meta Object Compiler not found. Please specify
the root of your Qt installation by exporting QTDIR before running "configure".])
- fi
-
+ fi
+
dnl Check for KDE headers
AC_MSG_CHECKING([for KDE headers])
kde_incdir="no"
@@ -5872,6 +6020,102 @@ AC_SUBST(KDE_LIBS)
AC_SUBST(MOC)
dnl ===================================================================
+dnl KDE4 Integration
+dnl ===================================================================
+
+KDE4_CFLAGS=""
+KDE4_LIBS=""
+MOC4="moc"
+if test "$test_kde4" = "yes" -a "$ENABLE_KDE4" = "TRUE" ; then
+ qt_incdirs="$QTINC $QTDIR /usr/include/qt4 /usr/include $x_includes"
+ qt_libdirs="$QTLIB /usr/lib $x_libraries"
+
+ kde_incdirs="/usr/include $x_includes"
+ kde_libdirs="/usr/lib $x_libraries"
+
+ if test "$build_cpu" == "x86_64" ; then
+ qt_libdirs="$qt_libdirs /usr/lib64/qt4 /usr/lib64/qt /usr/lib64"
+ kde_libdirs="$kde_libdirs /usr/lib64 /usr/lib64/kde4"
+ fi
+
+ qt_test_include="Qt/qobject.h"
+ qt_test_library="libQtCore.so"
+ kde_test_include="ksharedptr.h"
+ kde_test_library="libkdeui.so"
+
+ AC_MSG_CHECKING([for Qt4 headers])
+ qt_header_dir="no"
+ for inc_dir in $qt_incdirs ; do
+ if test -r "$inc_dir/$qt_test_include" ; then
+ qt_header_dir="$inc_dir"
+ break
+ fi
+ done
+
+ AC_MSG_RESULT([$qt_header_dir])
+ if test "x$qt_header_dir" = "xno" ; then
+ AC_MSG_ERROR([Qt4 headers not found. Please specify the root of your Qt4 installation by exporting QTDIR before running "configure".])
+ fi
+
+ AC_MSG_CHECKING([for Qt4 libraries])
+ qt_lib_dir="no"
+ for lib_dir in $qt_libdirs ; do
+ if test -r "$lib_dir/$qt_test_library" ; then
+ qt_lib_dir="$lib_dir"
+ break
+ fi
+ done
+
+ AC_MSG_RESULT([$qt_lib_dir])
+
+ if test "x$qt_lib_dir" = "xno" ; then
+ AC_MSG_ERROR([Qt4 libraries not found. Please specify the root of your Qt4 installation by exporting QTDIR before running "configure".])
+ fi
+
+ dnl Check for Meta Object Compiler
+ AC_PATH_PROG( MOC4, moc, no, [$PATH:$QTDIR/bin] )
+ if test "$MOC4" = "no" ; then
+ AC_MSG_ERROR([Qt Meta Object Compiler not found. Please specify
+the root of your Qt installation by exporting QTDIR before running "configure".])
+ fi
+
+ dnl Check for KDE4 headers
+ AC_MSG_CHECKING([for KDE4 headers])
+ kde_incdir="no"
+ for kde_check in $kde_incdirs ; do
+ if test -r "$kde_check/$kde_test_include" ; then
+ kde_incdir="$kde_check"
+ break
+ fi
+ done
+ AC_MSG_RESULT([$kde_incdir])
+ if test "x$kde_incdir" = "xno" ; then
+ AC_MSG_ERROR([KDE4 headers not found. Please specify the root of your KDE4 installation by exporting KDEDIR before running "configure".])
+ fi
+
+ dnl Check for KDE4 libraries
+ AC_MSG_CHECKING([for KDE4 libraries])
+ kde_libdir="no"
+ for kde_check in $kde_libdirs ; do
+ if test -r "$kde_check/$kde_test_library" ; then
+ kde_libdir="$kde_check"
+ break
+ fi
+ done
+
+ AC_MSG_RESULT([$kde_libdir])
+ if test "x$kde_libdir" = "xno" ; then
+ AC_MSG_ERROR([KDE4 libraries not found. Please specify the root of your KDE4 installation by exporting KDEDIR before running "configure".])
+ fi
+
+ KDE4_CFLAGS="`pkg-config --cflags QtCore` `pkg-config --cflags QtGui` -I$kde_incdir -DQT_CLEAN_NAMESPACE -DQT_THREAD_SUPPORT"
+ KDE4_LIBS="-L$kde_libdir -L$qt_lib_dir -lkdeui -lkdecore -lQtCore -lQtGui"
+fi
+AC_SUBST(KDE4_CFLAGS)
+AC_SUBST(KDE4_LIBS)
+AC_SUBST(MOC4)
+
+dnl ===================================================================
dnl Test for the enabling the lockdown pieces
dnl ===================================================================
AC_MSG_CHECKING([whether to enable the lockdown pieces])
diff --git a/instsetoo_native/res/DS_Store_Langpack b/instsetoo_native/res/DS_Store_Langpack
new file mode 100644
index 000000000000..1b53eba75b74
--- /dev/null
+++ b/instsetoo_native/res/DS_Store_Langpack
Binary files differ
diff --git a/instsetoo_native/util/makefile.mk b/instsetoo_native/util/makefile.mk
index 99ca8b140d51..fa9e97e5516e 100644
--- a/instsetoo_native/util/makefile.mk
+++ b/instsetoo_native/util/makefile.mk
@@ -217,8 +217,8 @@ $(MAKETARGETS) : $(ADDDEPS)
.ENDIF # "$(BUILD_SPECIAL)"!=""
.IF "$(OS)" == "MACOSX"
-DMGDEPS=$(BIN)$/{osxdndinstall.png DS_Store}
-$(foreach,i,$(alllangiso) {openoffice openofficedev openofficewithjre broffice brofficedev brofficewithjre}_$i) : $(DMGDEPS)
+DMGDEPS=$(BIN)$/{osxdndinstall.png DS_Store DS_Store_Langpack}
+$(foreach,i,$(alllangiso) {openoffice openofficedev openofficewithjre ooolanguagepack broffice brofficedev brofficewithjre}_$i) : $(DMGDEPS)
.ENDIF # "$(OS)" == "MACOSX"
.IF "$(PKGFORMAT)"!=""
@@ -384,7 +384,7 @@ $(BIN)$/broffice$/intro.zip : $(SOLARCOMMONPCKDIR)$/broffice_nologo$/intro.zip
@-$(MKDIR) $(@:d)
$(COPY) $< $@
-$(BIN)$/{osxdndinstall.png DS_Store} : $(PRJ)$/res$/$$(@:f)
+$(BIN)$/{osxdndinstall.png DS_Store DS_Store_Langpack} : $(PRJ)$/res$/$$(@:f)
@$(COPY) $< $@
hack_msitemplates .PHONY:
diff --git a/instsetoo_native/util/pack.lst b/instsetoo_native/util/pack.lst
index 875865d8accc..200bf3708f5a 100755
--- a/instsetoo_native/util/pack.lst
+++ b/instsetoo_native/util/pack.lst
@@ -14,11 +14,11 @@ OpenOffice unxlngi6,unxmacxi,unxsoli4,unxsols4,wntmsci12
#BrOffice_wJRE pt-BR brofficewithjre
OpenOffice_Dev unxlngi6.pro,unxsoli4.pro,unxsols4.pro,wntmsci12.pro,unxmacxi.pro,unxlngx6.pro en-US openofficedev
#BrOffice_Dev pt-BR brofficedev
-OpenOffice_SDK unxlngi6.pro,unxmacxi.pro,unxsoli4.pro,unxsols4.pro,wntmsci12.pro,unxlngx6.pro,unxlngi6,unxmacxi,unxsoli4,unxsols4,wntmsci12 en-US sdkoo
+#OpenOffice_SDK unxlngi6.pro,unxmacxi.pro,unxsoli4.pro,unxsols4.pro,wntmsci12.pro,unxlngx6.pro,unxlngi6,unxmacxi,unxsoli4,unxsols4,wntmsci12 en-US sdkoo
OpenOffice_Dev_SDK unxlngi6.pro,unxmacxi.pro,unxsoli4.pro,unxsols4.pro,wntmsci12.pro,unxlngx6.pro,unxlngi6,unxmacxi,unxsoli4,unxsols4,wntmsci12 en-US sdkoodev
#URE unxlngi6.pro,unxsoli4.pro,unxsols4.pro,wntmsci12.pro,unxlngi6,unxsoli4,unxsols4,wntmsci12 en-US ure
-OpenOfficeLanguagepack unxlngi6.pro,unxsoli4.pro,unxsols4.pro,wntmsci12.pro,unxlngx6.pro de ooolanguagepack
-OpenOfficeLanguagepack unxlngi6,unxsoli4,unxsols4,wntmsci12 de ooolanguagepack
+OpenOfficeLanguagepack unxlngi6.pro,unxsoli4.pro,unxsols4.pro,wntmsci12.pro,unxlngx6.pro,unxmacxi.pro de ooolanguagepack
+OpenOfficeLanguagepack unxlngi6,unxsoli4,unxsols4,wntmsci12,unxmacxi de ooolanguagepack
OpenOfficeDevLanguagepack unxlngi6.pro,unxsoli4.pro,unxsols4.pro,wntmsci12.pro,unxlngx6.pro de|fr|ja|ar ooodevlanguagepack
#BrOfficeLanguagepack unxlngi6.pro,unxsoli4.pro,unxsols4.pro,wntmsci12.pro,unxlngx6.pro pt-BR broolanguagepack
diff --git a/scp2/inc/macros.inc b/scp2/inc/macros.inc
index cdbc6f8ce20d..7d9cdbd1d027 100644
--- a/scp2/inc/macros.inc
+++ b/scp2/inc/macros.inc
@@ -85,6 +85,12 @@
#define EXTRAFILENAME(name,lang) STRING(CONCAT3(name,lang,.zip))
#define CONFIGLANGFILENAME(name,lang,ext) STRING(CONCAT4(name,lang,.,ext))
+#if defined WNT
+#define SCP2_OOO_BIN_DIR gid_Brand_Dir_Program
+#else
+#define SCP2_OOO_BIN_DIR gid_Dir_Program
+#endif
+
#define BIN_FILE_BODY \
UnixRights = 555
@@ -121,12 +127,12 @@
#define PACKED_LIB_FILE_BODY \
TXT_FILE_BODY; \
Styles = (PACKED); \
- Dir = gid_Dir_Program
+ Dir = SCP2_OOO_BIN_DIR
#define PACKED_LIB_FILE_BODY_PATCH \
TXT_FILE_BODY; \
Styles = (PACKED,PATCH); \
- Dir = gid_Dir_Program
+ Dir = SCP2_OOO_BIN_DIR
#define PACKED_FILTER_FILE_BODY \
TXT_FILE_BODY; \
@@ -307,13 +313,13 @@
#define PACKED_UNO_LIB_FILE_BODY \
TXT_FILE_BODY; \
Styles = (PACKED,UNO_COMPONENT); \
- Dir = gid_Dir_Program; \
+ Dir = SCP2_OOO_BIN_DIR; \
RegistryID = gid_Starregistry_Services_Rdb
#define PACKED_UNO_LIB_FILE_BODY_PATCH \
TXT_FILE_BODY; \
Styles = (PACKED,UNO_COMPONENT,PATCH); \
- Dir = gid_Dir_Program; \
+ Dir = SCP2_OOO_BIN_DIR; \
RegistryID = gid_Starregistry_Services_Rdb
#define STD_UNO_LIB_FILE(id,name) \
@@ -374,7 +380,7 @@
File id \
TXT_FILE_BODY; \
Name = LIBNAME(name); \
- Dir = gid_Dir_Program; \
+ Dir = SCP2_OOO_BIN_DIR; \
Styles = (PACKED, NO_WARNING_IF_NOT_EXISTS); \
End
@@ -382,7 +388,7 @@
File id \
TXT_FILE_BODY; \
Name = LIBNAME(name); \
- Dir = gid_Dir_Program; \
+ Dir = SCP2_OOO_BIN_DIR; \
Styles = (PACKED, NO_WARNING_IF_NOT_EXISTS, UNO_COMPONENT); \
RegistryID = gid_Starregistry_Services_Rdb; \
End
diff --git a/scp2/source/activex/file_activex.scp b/scp2/source/activex/file_activex.scp
index 6dcb531a6d7f..8cc1c45e17e7 100644
--- a/scp2/source/activex/file_activex.scp
+++ b/scp2/source/activex/file_activex.scp
@@ -33,21 +33,21 @@
File gid_File_Lib_Soactivex
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = "so_activex.dll";
End
File gid_File_Lib_Regactivex_Msi
TXT_FILE_BODY;
Styles = (PACKED, BINARYTABLE, BINARYTABLE_ONLY);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = "regactivex.dll";
End
File gid_File_Lib_Regpatchactivex_Msi
TXT_FILE_BODY;
Styles = (PACKED,PATCH,PATCH_ONLY,BINARYTABLE,BINARYTABLE_ONLY,DONTRENAMEINPATCH);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = "regpatchactivex.dll";
End
diff --git a/scp2/source/canvas/cairocanvas.scp b/scp2/source/canvas/cairocanvas.scp
index 51ee7863dd9c..f3251634c53d 100644
--- a/scp2/source/canvas/cairocanvas.scp
+++ b/scp2/source/canvas/cairocanvas.scp
@@ -34,7 +34,7 @@ File gid_File_Lib_CairoCanvas
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
Name = STRING(CONCAT2(cairocanvas.uno,UNXSUFFIX));
#else
diff --git a/scp2/source/gnome/file_gnome.scp b/scp2/source/gnome/file_gnome.scp
index 0161e06545c6..a7fdf1196ac3 100644
--- a/scp2/source/gnome/file_gnome.scp
+++ b/scp2/source/gnome/file_gnome.scp
@@ -33,7 +33,7 @@
File gid_File_Lib_GIO
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = STRING(CONCAT2(ucpgio1.uno,UNXSUFFIX));
RegistryID = gid_Starregistry_Services_Rdb;
Regmergefile = "ucpgio-ucd.txt";
@@ -44,7 +44,7 @@ End
File gid_File_Lib_Gnomevfs
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = STRING(CONCAT2(ucpgvfs1.uno,UNXSUFFIX));
RegistryID = gid_Starregistry_Services_Rdb;
Regmergefile = "ucpgvfs-ucd.txt";
@@ -55,7 +55,7 @@ End
File gid_File_Lib_Gconfbe
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = STRING(CONCAT2(gconfbe1.uno,UNXSUFFIX));
RegistryID = gid_Starregistry_Services_Rdb;
Regmergefile = "gconfbe1-ucd.txt";
diff --git a/scp2/source/impress/module_ogltrans.scp b/scp2/source/impress/module_ogltrans.scp
index 17d5c31e5a12..18425e88033a 100644
--- a/scp2/source/impress/module_ogltrans.scp
+++ b/scp2/source/impress/module_ogltrans.scp
@@ -43,7 +43,7 @@ File gid_File_Lib_OpenGLTransitions
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
Name = STRING(CONCAT2(OGLTrans.uno,UNXSUFFIX));
#else
diff --git a/scp2/source/javafilter/file_javafilter.scp b/scp2/source/javafilter/file_javafilter.scp
index 2f6a67286589..294f0a577b9b 100644
--- a/scp2/source/javafilter/file_javafilter.scp
+++ b/scp2/source/javafilter/file_javafilter.scp
@@ -35,7 +35,7 @@
File gid_File_Lib_Xmergesync
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = "xmergesync.dll";
End
@@ -46,7 +46,7 @@ End
File gid_File_Lib_Jfregca
TXT_FILE_BODY;
Styles = (PACKED, BINARYTABLE, BINARYTABLE_ONLY);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = "jfregca.dll";
End
diff --git a/scp2/source/kde/file_kde.scp b/scp2/source/kde/file_kde.scp
index a6d6db425a22..4cd9de0b240c 100644
--- a/scp2/source/kde/file_kde.scp
+++ b/scp2/source/kde/file_kde.scp
@@ -29,12 +29,24 @@
************************************************************************/
#include "macros.inc"
+#ifdef ENABLE_KDE
File gid_File_Lib_Kdebe
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = STRING(CONCAT2(kdebe1.uno,UNXSUFFIX));
RegistryID = gid_Starregistry_Services_Rdb;
Regmergefile = "kdebe1-ucd.txt";
End
+#endif
+#ifdef ENABLE_KDE4
+File gid_File_Lib_Kde4be
+ TXT_FILE_BODY;
+ Styles = (PACKED);
+ Dir = gid_Dir_Program;
+ Name = STRING(CONCAT2(kde4be1.uno,UNXSUFFIX));
+ RegistryID = gid_Starregistry_Services_Rdb;
+ Regmergefile = "kde4be1-ucd.txt";
+End
+#endif
diff --git a/scp2/source/kde/makefile.mk b/scp2/source/kde/makefile.mk
index 0cbf6a47123d..6ddb30108ce6 100644
--- a/scp2/source/kde/makefile.mk
+++ b/scp2/source/kde/makefile.mk
@@ -43,7 +43,16 @@ TARGETTYPE=CUI
SCP_PRODUCT_TYPE=osl
-.IF "$(ENABLE_KDE)" == "TRUE"
+.IF "$(ENABLE_KDE)" == "TRUE" || "$(ENABLE_KDE4)" == "TRUE"
+
+.IF "$(ENABLE_KDE)" != ""
+SCPDEFS+=-DENABLE_KDE
+.ENDIF
+
+.IF "$(ENABLE_KDE4)" != ""
+SCPDEFS+=-DENABLE_KDE4
+.ENDIF
+
PARFILES = \
module_kde.par \
file_kde.par
diff --git a/scp2/source/kde/module_kde.scp b/scp2/source/kde/module_kde.scp
index 1dce456f6726..28dacbef0583 100644
--- a/scp2/source/kde/module_kde.scp
+++ b/scp2/source/kde/module_kde.scp
@@ -30,12 +30,24 @@
#include "macros.inc"
+#if defined( ENABLE_KDE ) || defined( ENABLE_KDE4 )
Module gid_Module_Optional_Kde
ParentID = gid_Module_Optional;
Default = YES;
PackageInfo = "packinfo_office.txt";
MOD_NAME_DESC(MODULE_OPTIONAL_KDE);
Styles = (DONTSHOWINUSERINSTALL);
- Files = (gid_File_Lib_Kdebe);
+ Files = (
+#ifdef ENABLE_KDE
+ gid_File_Lib_Kdebe
+#ifdef ENABLE_KDE4
+ ,
+#endif // ENABLE_KDE4
+#endif // ENABLE_KDE
+#ifdef ENABLE_KDE4
+ gid_File_Lib_Kde4be
+#endif // ENABLE_KDE4
+ );
End
+#endif
diff --git a/scp2/source/ooo/common_brand.scp b/scp2/source/ooo/common_brand.scp
index c6bbf753fd22..7fd55f47a06f 100644
--- a/scp2/source/ooo/common_brand.scp
+++ b/scp2/source/ooo/common_brand.scp
@@ -84,6 +84,8 @@ Module gid_Module_Root_Brand
gid_Brand_File_Html_Thirdpartylicensereadme,
gid_Brand_File_Images_Brand_Zip,
gid_Brand_File_Lib_Dbghelp,
+ gid_Brand_File_Lib_Mingw_GccS,
+ gid_Brand_File_Lib_Mingw_Stdcpp,
gid_Brand_File_Lib_Mingwm10,
gid_Brand_File_Lib_Msvcr80,
gid_Brand_File_Lib_Msvcp80,
@@ -461,7 +463,10 @@ File gid_Brand_File_Bin_Unopkg
Name = "unopkg.bin";
End
-#if defined WNT && defined M1310
+#if defined WNT && \
+ (defined M1310 || \
+ ((defined M1400 || defined M1500) && \
+ !(defined SYSTEM_MOZILLA || defined WITHOUT_MOZILLA)))
File gid_Brand_File_Bin_Msvcr71
TXT_FILE_BODY;
Dir = gid_Brand_Dir_Program;
@@ -645,6 +650,32 @@ End
#endif
#endif
+#if defined(WNT) && defined( _gcc3 )
+
+#if defined(MINGW_GCCDLL)
+
+File gid_Brand_File_Lib_Mingw_GccS
+ TXT_FILE_BODY;
+ Dir = gid_Brand_Dir_Program;
+ Name = MINGW_GCCDLL;
+ Styles = (PACKED);
+End
+
+#endif
+
+#if defined(MINGW_GXXDLL)
+
+File gid_Brand_File_Lib_Mingw_Stdcpp
+ TXT_FILE_BODY;
+ Dir = gid_Brand_Dir_Program;
+ Name = MINGW_GXXDLL;
+ Styles = (PACKED);
+End
+
+#endif
+
+#endif
+
#if defined(WNT)
#if defined(M1400)
#if defined(PROF_EDITION)
diff --git a/scp2/source/ooo/directory_ooo_macosx.scp b/scp2/source/ooo/directory_ooo_macosx.scp
index 409afc0797f2..6bff77e6f355 100755
--- a/scp2/source/ooo/directory_ooo_macosx.scp
+++ b/scp2/source/ooo/directory_ooo_macosx.scp
@@ -34,6 +34,8 @@
Directory gid_Dir_Bundle
ParentID = PD_PROGDIR;
HostName = "%PRODUCTNAME.app";
+ LangPackHostName = "%PRODUCTNAME %PRODUCTVERSION Language Pack.app";
+ PatchHostName = "%PRODUCTNAME %PRODUCTVERSION Patch.app";
End
#endif
diff --git a/scp2/source/ooo/file_library_ooo.scp b/scp2/source/ooo/file_library_ooo.scp
index efaf3bc67ff7..f8405ed58bb0 100644
--- a/scp2/source/ooo/file_library_ooo.scp
+++ b/scp2/source/ooo/file_library_ooo.scp
@@ -1,4 +1,4 @@
-/*************************************************************************
+*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -33,7 +33,7 @@
File gid_File_Lib_Accessbridge
BIN_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = "java_uno_accessbridge.dll";
End
#endif
@@ -44,7 +44,7 @@ File gid_File_Lib_Basprov
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
Name = STRING(CONCAT4(basprov,DLLPOSTFIX,.uno,UNXSUFFIX));
#else
@@ -58,7 +58,7 @@ File gid_File_Lib_Cached1
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
Name = STRING(CONCAT2(libcached1,UNXSUFFIX));
#else
@@ -73,7 +73,7 @@ File gid_File_Lib_Ldapbe2
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
Name = STRING(CONCAT2(ldapbe2.uno,UNXSUFFIX));
#else
@@ -150,7 +150,7 @@ File gid_File_Lib_Comphelper2
#else
Name = STRING(CONCAT3(comphelp4,COMID,.dll));
#endif
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED,UNO_COMPONENT,PATCH);
RegistryID = gid_Starregistry_Services_Rdb;
End
@@ -164,7 +164,7 @@ STD_LIB_FILE_PATCH( gid_File_Lib_Cui, cui)
File gid_File_Lib_Curl
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
#ifdef MACOSX
Name = STRING(CONCAT2(libcurl.3,UNXSUFFIX));
@@ -187,11 +187,11 @@ End
File gid_File_Lib_Db
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
- Name = STRING(CONCAT2(libdb-4.2,UNXSUFFIX));
+ Name = STRING(CONCAT2(libdb-4.7,UNXSUFFIX));
#else
- Name = "libdb42.dll";
+ Name = "libdb47.dll";
#endif
End
@@ -203,7 +203,7 @@ End
File gid_File_Lib_Egg_Tray
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = STRING(CONCAT3(libeggtray,DLLPOSTFIX,UNXSUFFIX));
End
@@ -211,7 +211,7 @@ File gid_File_Lib_QStart_Gtk
Name = LIBNAME(qstart_gtk);
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
End
#endif
#endif
@@ -235,7 +235,7 @@ File gid_File_Lib_Dbpool
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
Name = STRING(CONCAT2(libdbpool2,UNXSUFFIX));
#else
@@ -254,7 +254,7 @@ File gid_File_Lib_Dict_Ja
#else
Name = "dict_ja.dll";
#endif
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED);
End
@@ -265,7 +265,7 @@ File gid_File_Lib_Dict_Zh
#else
Name = "dict_zh.dll";
#endif
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED);
End
@@ -276,7 +276,7 @@ File gid_File_Lib_Collator_Data
#else
Name = "collator_data.dll";
#endif
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED);
End
@@ -287,7 +287,7 @@ File gid_File_Lib_Index_Data
#else
Name = "index_data.dll";
#endif
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED);
End
@@ -298,7 +298,7 @@ File gid_File_Lib_Textconv_Dict
#else
Name = "textconv_dict.dll";
#endif
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED);
End
@@ -306,7 +306,7 @@ File gid_File_Lib_Dlgprov
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT,PATCH);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
Name = STRING(CONCAT4(dlgprov,DLLPOSTFIX,.uno,UNXSUFFIX));
#else
@@ -318,7 +318,7 @@ File gid_File_Lib_Stringresource
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
Name = STRING(CONCAT4(stringresource,DLLPOSTFIX,.uno,UNXSUFFIX));
#else
@@ -333,7 +333,7 @@ File gid_File_Lib_Vbaobj
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
Name = STRING(CONCAT4(libvbaobj,DLLPOSTFIX,.uno,UNXSUFFIX));
#else
@@ -351,7 +351,7 @@ File gid_File_Lib_Dnd
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = "dnd.dll";
End
@@ -362,7 +362,7 @@ End
File gid_File_Lib_Dtrans
TXT_FILE_BODY;
Name = "dtrans.dll";
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED, UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
End
@@ -384,7 +384,7 @@ STD_UNO_LIB_FILE_PATCH( gid_File_Lib_Emser, emser )
File gid_File_Lib_Inprocserv
TXT_FILE_BODY;
Styles = (PACKED,PATCH);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = "inprocserv.dll";
End
@@ -397,14 +397,14 @@ File gid_File_Lib_Kab_1
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = STRING(CONCAT2(libkab1,UNXSUFFIX));
End
File gid_File_Lib_Kab_Drv_1
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = STRING(CONCAT2(libkabdrv1,UNXSUFFIX));
End
@@ -415,14 +415,14 @@ File gid_File_Lib_Macab_1
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = STRING(CONCAT2(libmacab1,UNXSUFFIX));
End
File gid_File_Lib_Macab_Drv_1
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = STRING(CONCAT2(libmacabdrv1,UNXSUFFIX));
End
@@ -440,7 +440,7 @@ File gid_File_Lib_Evtatt
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
Name = STRING(CONCAT2(libevtatt,UNXSUFFIX));
#else
@@ -453,7 +453,7 @@ SPECIAL_UNO_LIB_FILE(gid_File_Lib_Fileacc,fileacc)
File gid_File_Lib_Filterconfig1
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT,PATCH);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
RegistryID = gid_Starregistry_Services_Rdb;
Name = SPECIAL_NAME(filterconfig1);
End
@@ -466,7 +466,7 @@ File gid_File_Lib_Fop
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = "fop.dll";
End
@@ -476,9 +476,9 @@ End
File gid_File_Lib_Fps
TXT_FILE_BODY;
- Styles = (PACKED,UNO_COMPONENT);
+ Styles = (PACKED,PATCH,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = "fps.dll";
End
@@ -489,7 +489,7 @@ End
File gid_File_Lib_Desktopbe
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = STRING(CONCAT2(desktopbe1.uno,UNXSUFFIX));
RegistryID = gid_Starregistry_Services_Rdb;
Regmergefile = "desktopbe1-ucd.txt";
@@ -501,12 +501,24 @@ File gid_File_Lib_Fps_Gnome
TXT_FILE_BODY;
Styles = (PACKED);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = SPECIAL_COMPONENT_LIB_NAME(fps_gnome.uno);
Regmergefile = "fps-gnome-ucd.txt";
End
#endif
#endif
+#ifdef ENABLE_KDE4
+#ifndef MACOSX
+File gid_File_Lib_Fps_Kde4
+ TXT_FILE_BODY;
+ Styles = (PACKED,UNO_COMPONENT);
+ RegistryID = gid_Starregistry_Services_Rdb;
+ Dir = gid_Dir_Program;
+ Name = SPECIAL_COMPONENT_LIB_NAME(fps_kde4.uno);
+ Regmergefile = "fps-kde4-ucd.txt";
+End
+#endif
+#endif
#endif
#ifdef MACOSX
@@ -515,7 +527,7 @@ File gid_File_Lib_Fps_Aqua
TXT_FILE_BODY;
Styles = (PACKED,PATCH);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = SPECIAL_COMPONENT_LIB_NAME(fps_aqua.uno);
Regmergefile = "fps-aqua-ucd.txt";
End
@@ -525,7 +537,7 @@ File gid_File_Lib_MacOSXSpell
Styles = (PACKED,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
Name = LIBNAME(MacOSXSpell);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
End
File gid_File_Lib_avmediaQuickTime
@@ -533,7 +545,7 @@ File gid_File_Lib_avmediaQuickTime
Styles = (PACKED,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
Name = LIBNAME(avmediaQuickTime);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
End
#endif
#endif
@@ -547,7 +559,7 @@ SPECIAL_UNO_COMPONENT_LIB_FILE( gid_File_Lib_Fpicker, fpicker.uno )
File gid_File_Lib_Cairo
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
#ifdef MACOSX
Name = STRING(CONCAT3(libcairo,.2,UNXSUFFIX));
@@ -575,7 +587,7 @@ File gid_File_Lib_Ftransl
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = "ftransl.dll";
End
@@ -589,7 +601,7 @@ File gid_File_Lib_Fwk
Name = LIBNAME(fwk);
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT,PATCH);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
RegistryID = gid_Starregistry_Services_Rdb;
End
@@ -601,7 +613,7 @@ STD_UNO_LIB_FILE( gid_File_Lib_Fwm , fwm)
File gid_File_Lib_Gdiplus
BIN_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = "gdiplus.dll";
End
#endif
@@ -610,7 +622,7 @@ File gid_File_Lib_Go
Name = LIBNAME(go);
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT,PATCH);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
RegistryID = gid_Starregistry_Services_Rdb;
End
@@ -622,7 +634,7 @@ File gid_File_Lib_I18npool
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT,PATCH);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
Name = STRING(CONCAT2(i18npool.uno,UNXSUFFIX));
#else
@@ -633,7 +645,7 @@ End
File gid_File_Lib_I18nregexp
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
Name = STRING(CONCAT3(libi18nregexp,COMID,UNXSUFFIX));
#else
@@ -645,7 +657,7 @@ File gid_File_Lib_I18nsearch
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
Name = STRING(CONCAT2(i18nsearch.uno,UNXSUFFIX));
#else
@@ -669,7 +681,7 @@ File gid_File_Lib_I18nutil
#else
Name = STRING(CONCAT3(i18nutil,COMID,.dll));
#endif
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED);
End
@@ -684,7 +696,7 @@ File gid_File_Lib_Icudata
#else
Name = STRING(CONCAT4(icudt,ICU_MAJOR,ICU_MINOR,.dll));
#endif
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED);
End
@@ -695,7 +707,7 @@ File gid_File_Lib_Icui18n
#else
Name = STRING(CONCAT4(icuin,ICU_MAJOR,ICU_MINOR,.dll));
#endif
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED);
End
@@ -706,7 +718,7 @@ File gid_File_Lib_Icule
#else
Name = STRING(CONCAT4(icule,ICU_MAJOR,ICU_MINOR,.dll));
#endif
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED);
End
@@ -717,7 +729,7 @@ File gid_File_Lib_Icuuc
#else
Name = STRING(CONCAT4(icuuc,ICU_MAJOR,ICU_MINOR,.dll));
#endif
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED);
End
@@ -730,7 +742,7 @@ File gid_File_Lib_J
#else
Name = STRING(CONCAT4(j,DLLPOSTFIX,_g,.dll));
#endif
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED);
End
@@ -745,7 +757,7 @@ File gid_File_Lib_Hsqldb_2
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
Name = STRING(CONCAT2(libhsqldb,UNXSUFFIX));
#else
@@ -760,7 +772,7 @@ End
File gid_File_Lib_Lngpckinsthlp
BIN_FILE_BODY;
Styles = (PACKED, LANGUAGEPACK, BINARYTABLE, BINARYTABLE_ONLY);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = "lngpckinsthlp.dll";
End
@@ -771,7 +783,7 @@ End
File gid_File_Lib_sn_tools
BIN_FILE_BODY;
Styles = (PACKED, BINARYTABLE, BINARYTABLE_ONLY, DONTRENAMEINPATCH);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = "sn_tools.dll";
End
@@ -782,7 +794,7 @@ End
File gid_File_Lib_relnotes
BIN_FILE_BODY;
Styles = (PACKED, BINARYTABLE, BINARYTABLE_ONLY, DONTRENAMEINPATCH);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = "relnotes.dll";
End
@@ -793,7 +805,7 @@ End
File gid_File_Lib_Patchmsi
TXT_FILE_BODY;
Name = "patchmsi.dll";
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED,PATCH,PATCH_ONLY,BINARYTABLE,BINARYTABLE_ONLY,DONTRENAMEINPATCH);
End
@@ -804,7 +816,7 @@ End
File gid_File_Lib_Rebasemsi
TXT_FILE_BODY;
Name = "rebase.dll";
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED,PATCH,BINARYTABLE,BINARYTABLE_ONLY,DONTRENAMEINPATCH);
End
@@ -819,7 +831,7 @@ File gid_File_Lib_Localedata_En
#else
Name = "localedata_en.dll";
#endif
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED);
End
@@ -830,7 +842,7 @@ File gid_File_Lib_Localedata_Es
#else
Name = "localedata_es.dll";
#endif
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED);
End
@@ -841,7 +853,7 @@ File gid_File_Lib_Localedata_Euro
#else
Name = "localedata_euro.dll";
#endif
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED);
End
@@ -852,7 +864,7 @@ File gid_File_Lib_Localedata_Others
#else
Name = "localedata_others.dll";
#endif
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED);
End
@@ -860,7 +872,7 @@ File gid_File_Lib_Mcnttype
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
Name = STRING(CONCAT2(libmcnttype,UNXSUFFIX));
#else
@@ -879,7 +891,7 @@ File gid_File_Lib_Mozbootstrap
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT,PATCH);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
Name = STRING(CONCAT2(libmozbootstrap,UNXSUFFIX));
#else
@@ -959,6 +971,32 @@ End
#endif
#endif
+#if defined(WNT) && defined( _gcc3 )
+
+#if defined(MINGW_GCCDLL)
+
+File gid_File_Lib_Mingw_GccS
+ TXT_FILE_BODY;
+ Dir = gid_Dir_Program;
+ Name = MINGW_GCCDLL;
+ Styles = (PACKED, PATCH);
+End
+
+#endif
+
+#if defined(MINGW_GXXDLL)
+
+File gid_File_Lib_Mingw_Stdcpp
+ TXT_FILE_BODY;
+ Dir = gid_Dir_Program;
+ Name = MINGW_GXXDLL;
+ Styles = (PACKED, PATCH);
+End
+
+#endif
+
+#endif
+
#if defined(WNT)
#if defined(M1400)
#if defined(PROF_EDITION)
@@ -995,7 +1033,7 @@ STD_UNO_LIB_FILE( gid_File_Lib_Offacc, offacc)
File gid_File_Lib_Officebean
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
Name = STRING(CONCAT2(libofficebean,UNXSUFFIX));
#else
@@ -1012,7 +1050,7 @@ File gid_File_Lib_Ole
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = "oleautobridge.uno.dll";
End
@@ -1061,7 +1099,7 @@ File gid_File_Lib_Vclplug_Gen
Name = LIBNAME(vclplug_gen);
TXT_FILE_BODY;
Styles = (PACKED,PATCH);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
End
#endif
@@ -1071,7 +1109,7 @@ File gid_File_Lib_Vclplug_Gtk
Name = LIBNAME(vclplug_gtk);
TXT_FILE_BODY;
Styles = (PACKED,PATCH);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
End
#endif
#ifdef ENABLE_KDE
@@ -1080,6 +1118,16 @@ File gid_File_Lib_Vclplug_Kde
Name = LIBNAME(vclplug_kde);
TXT_FILE_BODY;
Styles = (PACKED,PATCH);
+ Dir = SCP2_OOO_BIN_DIR;
+End
+#endif
+#endif
+#ifdef ENABLE_KDE4
+#ifndef MACOSX
+File gid_File_Lib_Vclplug_Kde4
+ Name = LIBNAME(vclplug_kde4);
+ TXT_FILE_BODY;
+ Styles = (PACKED);
Dir = gid_Dir_Program;
End
#endif
@@ -1091,7 +1139,7 @@ File gid_File_Lib_AppleRemote
Name = LIBNAME(AppleRemote);
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
End
#endif
@@ -1100,7 +1148,7 @@ File gid_File_Lib_Basebmp
Name = LIBNAME(basebmp);
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
End
#endif
@@ -1114,7 +1162,7 @@ STD_LIB_FILE( gid_File_Lib_BaseBmp, basebmp )
File gid_File_Lib_Recentfile
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = STRING(CONCAT2(librecentfile,UNXSUFFIX));
End
@@ -1125,7 +1173,7 @@ End
File gid_File_Lib_Reg4allmsdoc
TXT_FILE_BODY;
Styles = (PACKED, BINARYTABLE, BINARYTABLE_ONLY);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = "reg4allmsdoc.dll";
End
@@ -1136,7 +1184,7 @@ End
File gid_File_Lib_Qslnkmsi
TXT_FILE_BODY;
Styles = (PACKED, BINARYTABLE, BINARYTABLE_ONLY);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = "qslnkmsi.dll";
End
@@ -1147,7 +1195,7 @@ End
File gid_File_Lib_Sdqsmsi
TXT_FILE_BODY;
Styles = (PACKED, BINARYTABLE, BINARYTABLE_ONLY);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = "sdqsmsi.dll";
End
@@ -1157,7 +1205,7 @@ File gid_File_Lib_Res
Name = LIBNAME(res);
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT,PATCH);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
RegistryID = gid_Starregistry_Services_Rdb;
End
@@ -1165,7 +1213,7 @@ File gid_File_Lib_Sax_Uno
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT,DONT_OVERWRITE);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
Name = STRING(CONCAT2(sax.uno,UNXSUFFIX));
#else
@@ -1177,7 +1225,7 @@ File gid_File_Lib_Fastsax_Uno
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT,DONT_OVERWRITE);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
Name = STRING(CONCAT2(fastsax.uno,UNXSUFFIX));
#else
@@ -1205,7 +1253,7 @@ File gid_File_Lib_Scriptframe
Name = "scriptframe.dll";
#endif
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED,PATCH,UNO_COMPONENT);
End
@@ -1216,7 +1264,7 @@ File gid_File_Lib_Slideshow
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT,PATCH);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
Name = STRING(CONCAT2(slideshow.uno,UNXSUFFIX));
#else
@@ -1228,7 +1276,7 @@ File gid_File_Lib_Sdbc_2
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
Name = STRING(CONCAT2(libsdbc2,UNXSUFFIX));
#else
@@ -1244,7 +1292,7 @@ File gid_File_Lib_Sfx
Name = LIBNAME(sfx);
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT,PATCH);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
RegistryID = gid_Starregistry_Services_Rdb;
End
@@ -1253,21 +1301,21 @@ End
File gid_File_Lib_OOoFilt
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = "ooofilt.dll";
End
File gid_File_Lib_OOoFiltProxy
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = "ooofiltproxy.dll";
End
File gid_File_Lib_Instooofiltmsi
TXT_FILE_BODY;
Styles = (PACKED, BINARYTABLE, BINARYTABLE_ONLY);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = "instooofiltmsi.dll";
End
@@ -1279,7 +1327,7 @@ File gid_File_Lib_Smplmail
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = "smplmail.uno.dll";
End
@@ -1293,7 +1341,7 @@ File gid_File_Lib_Spa
Name = LIBNAME(spa);
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
End
#endif
@@ -1303,7 +1351,7 @@ File gid_File_Lib_Spell
Styles = (PACKED,UNO_COMPONENT,PATCH);
RegistryID = gid_Starregistry_Services_Rdb;
Name = LIBNAME(spell);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
End
STD_UNO_LIB_FILE( gid_File_Lib_Spl, spl)
@@ -1316,19 +1364,21 @@ STD_LIB_FILE_PATCH( gid_File_Lib_Svl, svl )
STD_UNO_LIB_FILE_PATCH( gid_File_Lib_Svtools, svt )
SPECIAL_UNO_COMPONENT_LIB_FILE( gid_File_Lib_Svtmisc, svtmisc.uno )
+STD_LIB_FILE_PATCH( gid_File_Lib_Svx_Core, svxcore)
+STD_LIB_FILE_PATCH( gid_File_Lib_Svx_Msfilter, svxmsfilter)
STD_UNO_LIB_FILE_PATCH( gid_File_Lib_Svx, svx)
STD_UNO_LIB_FILE( gid_File_Lib_TextConversionDlgs, textconversiondlgs)
STD_UNO_LIB_FILE_PATCH( gid_File_Lib_Sw , sw)
STD_LIB_FILE_PATCH( gid_File_Lib_Swui, swui)
-STD_LIB_FILE( gid_File_Lib_Msword, msword )
+STD_LIB_FILE_PATCH( gid_File_Lib_Msword, msword )
File gid_File_Lib_Sysdtrans
TXT_FILE_BODY;
Styles = (PACKED,PATCH,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
#ifdef QUARTZ
Name = STRING(CONCAT3(libdtransaqua,DLLPOSTFIX,UNXSUFFIX));
@@ -1360,7 +1410,7 @@ File gid_File_Lib_Tvhlp1
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
Name = STRING(CONCAT2(libtvhlp1,UNXSUFFIX));
#else
@@ -1372,7 +1422,7 @@ File gid_File_Lib_Ucb1
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
Name = STRING(CONCAT2(libucb1,UNXSUFFIX));
#else
@@ -1382,7 +1432,7 @@ End
File gid_File_Lib_Ucbhelper
TXT_FILE_BODY;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED);
#ifdef UNX
Name = STRING(CONCAT3(libucbhelper4,COMID,UNXSUFFIX));
@@ -1398,7 +1448,7 @@ File gid_File_Lib_Ucpchelp1
#else
Name = "ucpchelp1.dll";
#endif
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED, UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
End
@@ -1424,7 +1474,7 @@ File gid_File_Lib_Lnth
Styles = (PACKED,UNO_COMPONENT,PATCH);
RegistryID = gid_Starregistry_Services_Rdb;
Name = LIBNAME(lnth);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
End
File gid_File_Lib_Hyph
@@ -1432,7 +1482,7 @@ File gid_File_Lib_Hyph
Styles = (PACKED,UNO_COMPONENT,PATCH);
RegistryID = gid_Starregistry_Services_Rdb;
Name = LIBNAME(hyphen);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
End
STD_UNO_LIB_FILE_PATCH( gid_File_Lib_Utl , utl)
@@ -1445,7 +1495,7 @@ File gid_File_Lib_Vcl
Name = LIBNAME(vcl);
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT,PATCH);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
RegistryID = gid_Starregistry_Services_Rdb;
End
@@ -1456,7 +1506,7 @@ File gid_File_Lib_Vos
#else
Name = STRING(CONCAT3(vos3,COMID,.dll));
#endif
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED);
End
@@ -1470,7 +1520,7 @@ File gid_File_Lib_Xo
Name = LIBNAME(xo);
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT,PATCH);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
RegistryID = gid_Starregistry_Services_Rdb;
End
@@ -1490,7 +1540,7 @@ UNO_JAR_FILE( gid_File_Jar_Xsltvalidate, XSLTValidate )
File gid_File_Lib_Xslt
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
#ifdef MACOSX
Name = STRING(CONCAT4(libxslt,.,LIBXSLT_MAJOR,UNXSUFFIX));
@@ -1531,7 +1581,7 @@ File gid_File_Lib_XSec_Framework
#else
Name = "xsec_fw.dll";
#endif
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED,UNO_COMPONENT,PATCH);
RegistryID = gid_Starregistry_Services_Rdb;
End
@@ -1543,7 +1593,7 @@ File gid_File_Lib_XSec_XmlSec
#else
Name = "xsec_xmlsec.dll";
#endif
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED,UNO_COMPONENT,PATCH);
RegistryID = gid_Starregistry_Services_Rdb;
End
@@ -1555,7 +1605,7 @@ File gid_File_Lib_XSec_XMLSecurity
#else
Name = "xmlsecurity.dll";
#endif
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
End
@@ -1568,7 +1618,7 @@ File gid_File_Lib_LibXMLSec_xmlseccore
#else
Name = "libxmlsec.dll";
#endif
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED);
End
@@ -1579,7 +1629,7 @@ File gid_File_Lib_LibXMLSec_xmlsecmscrypto
#else
Name = "libxmlsec-mscrypto.dll";
#endif
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED);
End
#endif
@@ -1591,7 +1641,7 @@ File gid_File_Lib_Migrationoo2
TXT_FILE_BODY;
Styles = (PACKED,UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
Name = STRING(CONCAT2(migrationoo2.uno,UNXSUFFIX));
#else
@@ -1602,7 +1652,7 @@ End
File gid_File_Lib_Libtextcat
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
Name = STRING(CONCAT2(libtextcat,UNXSUFFIX));
#else
@@ -1620,7 +1670,7 @@ SPECIAL_UNO_COMPONENT_LIB_FILE_PATCH( gid_File_Lib_Updatefeed , updatefeed.uno )
File gid_File_Lib_Onlinecheck
BIN_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = "onlinecheck.dll";
End
#endif
@@ -1629,7 +1679,7 @@ End
File gid_File_Lib_Openssl
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef WNT
Name = "ssleay32.dll";
#endif
@@ -1640,7 +1690,7 @@ End
File gid_File_Lib_Crypto
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef WNT
Name = "libeay32.dll";
@@ -1650,30 +1700,33 @@ End
File gid_File_Lib_Soffice
TXT_FILE_BODY;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = SCP2_URE_DL_NORMAL("sofficeapp");
Styles = (PACKED);
End
File gid_File_Lib_Unopkgapp
TXT_FILE_BODY;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = SCP2_URE_DL_NORMAL("unopkgapp");
Styles = (PACKED);
End
STD_UNO_LIB_FILE_PATCH( gid_File_Lib_Oooimprovecore , oooimprovecore)
-#if defined WNT && !defined SYSTEM_MOZILLA && !defined WITHOUT_MOZILLA
+#if defined WNT && !defined _gcc3 && !defined SYSTEM_MOZILLA && !defined WITHOUT_MOZILLA && \
+ !(defined M1400 && defined PROF_EDITION && !defined _STLP_DEBUG)
+ // see common_brand.scp gid_Brand_File_Lib_Msvcp80 and
+ // gid_Brand_File_Lib_Msvcr80
File gid_File_Moz_Msvcp80
TXT_FILE_BODY;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = SCP2_URE_DL_NORMAL("msvcp80");
Styles = (PACKED, VERSION_INDEPENDENT_COMP_ID);
End
File gid_File_Moz_Msvcr80
TXT_FILE_BODY;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = SCP2_URE_DL_NORMAL("msvcr80");
Styles = (PACKED, VERSION_INDEPENDENT_COMP_ID);
End
@@ -1683,7 +1736,7 @@ End
File gid_File_Lib_Raptor
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
#ifdef MACOSX
Name = STRING(CONCAT4(libraptor,.,RAPTOR_MAJOR,UNXSUFFIX));
@@ -1702,7 +1755,7 @@ End
File gid_File_Lib_Rasqal
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
#ifdef MACOSX
Name = STRING(CONCAT4(librasqal,.,RASQAL_MAJOR,UNXSUFFIX));
@@ -1721,7 +1774,7 @@ End
File gid_File_Lib_Rdf
TXT_FILE_BODY;
Styles = (PACKED);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
#ifdef UNX
#ifdef MACOSX
Name = STRING(CONCAT4(librdf,.,REDLAND_MAJOR,UNXSUFFIX));
diff --git a/scp2/source/ooo/file_ooo.scp b/scp2/source/ooo/file_ooo.scp
index 3c7d7006bd67..f0994fe25ca8 100644
--- a/scp2/source/ooo/file_ooo.scp
+++ b/scp2/source/ooo/file_ooo.scp
@@ -359,7 +359,7 @@ End
STD_FILTER_FILE( gid_File_Filter_Eme, eme)
-STD_FILTER_FILE_PATCH( gid_File_Filter_Emp, emp)
+STD_FILTER_FILE_PATCH( gid_File_Filter_Sdfilt, sdfilt)
STD_FILTER_FILE( gid_File_Filter_Icg, icg)
@@ -1169,7 +1169,7 @@ End
File gid_File_Mozilla_Runtime
TXT_FILE_BODY;
Styles = (ARCHIVE);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = "mozruntime.zip";
End
@@ -1707,7 +1707,11 @@ File gid_Starregistry_Services_Rdb
Name = "services.rdb";
Dir = gid_Dir_Program;
Styles = (PACKED, STARREGISTRY, PATCH);
+#if defined WNT
+ NativeServicesURLPrefix = "vnd.sun.star.expand:$BRAND_BASE_DIR/program/";
+#else
NativeServicesURLPrefix = "vnd.sun.star.expand:$OOO_BASE_DIR/program/";
+#endif
JavaServicesURLPrefix = "vnd.sun.star.expand:$OOO_BASE_DIR/program/classes/";
End
diff --git a/scp2/source/ooo/makefile.mk b/scp2/source/ooo/makefile.mk
index adb0175252c1..0d85cc529b63 100644
--- a/scp2/source/ooo/makefile.mk
+++ b/scp2/source/ooo/makefile.mk
@@ -79,6 +79,10 @@ SCPDEFS+=-DENABLE_SYSTRAY_GTK
SCPDEFS+=-DENABLE_KDE
.ENDIF
+.IF "$(ENABLE_KDE4)" != ""
+SCPDEFS+=-DENABLE_KDE4
+.ENDIF
+
.IF "$(ENABLE_KAB)" != ""
SCPDEFS+=-DENABLE_KAB
.ENDIF
@@ -237,6 +241,14 @@ SCPDEFS+=-DENABLE_SVCTAGS
SCPDEFS+=-DWITH_VC_REDIST
.ENDIF
+.IF "$(MINGW_GCCDLL)"!=""
+SCPDEFS+=-DMINGW_GCCDLL=\""$(MINGW_GCCDLL)"\"
+.ENDIF
+
+.IF "$(MINGW_GXXDLL)"!=""
+SCPDEFS+=-DMINGW_GXXDLL=\""$(MINGW_GXXDLL)"\"
+.ENDIF
+
SCP_PRODUCT_TYPE=osl
ICUVERSION_DEPENDENT_FILES= \
diff --git a/scp2/source/ooo/module_hidden_ooo.scp b/scp2/source/ooo/module_hidden_ooo.scp
index 0c7b8fe2b6dc..dbc6e2d8c6b2 100644
--- a/scp2/source/ooo/module_hidden_ooo.scp
+++ b/scp2/source/ooo/module_hidden_ooo.scp
@@ -140,7 +140,7 @@ Module gid_Module_Root_Files_4
Styles = (HIDDEN_ROOT);
Files = (gid_File_Dat_Root4,
gid_File_Filter_Eme,
- gid_File_Filter_Emp,
+ gid_File_Filter_Sdfilt,
gid_File_Filter_Icg,
gid_File_Filter_Egi,
gid_File_Filter_Epb,
@@ -240,6 +240,7 @@ Module gid_Module_Root_Files_4
gid_File_Lib_Vclplug_Gen,
gid_File_Lib_Vclplug_Gtk,
gid_File_Lib_Vclplug_Kde,
+ gid_File_Lib_Vclplug_Kde4,
gid_File_Lib_Vclplug_Svp,
gid_File_Lib_Basctl,
gid_File_Lib_CanvasTools,
@@ -386,13 +387,11 @@ Module gid_Module_Root_Files_5
gid_File_Lib_sn_tools,
gid_File_Lib_relnotes,
GID_FILE_LIB_WPD,
- gid_File_Lib_Mingwm10,
+ gid_File_Lib_Mingw_GccS,
+ gid_File_Lib_Mingw_Stdcpp,
+ gid_File_Lib_Mingwm10,
gid_File_Lib_Msvcp70,
gid_File_Lib_Msvcr70,
- gid_File_Lib_Msvcr80,
- gid_File_Lib_Msvcp80,
- gid_File_Lib_Msvcm80,
- gid_File_Msvcm80crt_Manifest,
gid_File_Lib_Ole,
gid_File_Lib_Patchmsi,
gid_File_Lib_Reg4allmsdoc,
diff --git a/scp2/source/ooo/scpaction_ooo.scp b/scp2/source/ooo/scpaction_ooo.scp
index 190fd50cf166..f88737451a5f 100644
--- a/scp2/source/ooo/scpaction_ooo.scp
+++ b/scp2/source/ooo/scpaction_ooo.scp
@@ -107,6 +107,18 @@ ScpAction SCP_COPY_MINGWM10
Copy = "mingwm10.dll";
Name = "mingwm10.dll";
End
+#if defined(MINGW_GCCDLL)
+ScpAction SCP_COPY_MINGW_GCCS
+ Copy = MINGW_GCCDLL;
+ Name = MINGW_GCCDLL;
+End
+#endif
+#if defined(MINGW_GXXDLL)
+ScpAction SCP_COPY_MINGW_STDCPP
+ Copy = MINGW_GXXDLL;
+ Name = MINGW_GXXDLL;
+End
+#endif
#endif
ScpAction scp_Copy_Xpd_Javaloader
@@ -358,8 +370,10 @@ End
ScpAction scp_Copy_Ds_Store
Copy = "DS_Store";
+ LangPackCopy = "DS_Store_Langpack";
+ PatchCopy = "DS_Store_Patch";
Name = ".DS_Store";
UnixRights = 444;
- Styles = ();
+ Styles = (FORCELANGUAGEPACK);
End
#endif
diff --git a/scp2/source/ooo/shortcut_ooo.scp b/scp2/source/ooo/shortcut_ooo.scp
index 2740fe563b69..3824fe3a0841 100644
--- a/scp2/source/ooo/shortcut_ooo.scp
+++ b/scp2/source/ooo/shortcut_ooo.scp
@@ -35,40 +35,62 @@
Shortcut gid_Shortcut_Lib_Icudata
FileID = gid_File_Lib_Icudata;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = STRING(CONCAT5(libicudata,UNXSUFFIX,.,ICU_MAJOR,ICU_MINOR));
Styles = (NETWORK,RELATIVE,FORCE_INTO_UPDATE_PACKAGE);
End
Shortcut gid_Shortcut_Lib_Icui18n
FileID = gid_File_Lib_Icui18n;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = STRING(CONCAT5(libicui18n,UNXSUFFIX,.,ICU_MAJOR,ICU_MINOR));
Styles = (NETWORK,RELATIVE,FORCE_INTO_UPDATE_PACKAGE);
End
Shortcut gid_Shortcut_Lib_Icule
FileID = gid_File_Lib_Icule;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = STRING(CONCAT5(libicule,UNXSUFFIX,.,ICU_MAJOR,ICU_MINOR));
Styles = (NETWORK,RELATIVE,FORCE_INTO_UPDATE_PACKAGE);
End
Shortcut gid_Shortcut_Lib_Icuuc
FileID = gid_File_Lib_Icuuc;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = STRING(CONCAT5(libicuuc,UNXSUFFIX,.,ICU_MAJOR,ICU_MINOR));
Styles = (NETWORK,RELATIVE,FORCE_INTO_UPDATE_PACKAGE);
End
#endif
+
+Shortcut gid_Shortcut_Lib_Graphite_0
+ FileID = gid_File_Lib_Graphite;
+ Dir = gid_Dir_Program;
+ Name = STRING(CONCAT2(libgraphite,UNXSUFFIX));
+ Styles = (NETWORK,RELATIVE);
+End
+
+Shortcut gid_Shortcut_Lib_Graphite_1
+ FileID = gid_File_Lib_Graphite;
+ Dir = gid_Dir_Program;
+ Name = STRING(CONCAT4(libgraphite,UNXSUFFIX,.,3));
+ Styles = (NETWORK,RELATIVE);
+End
+
+Shortcut gid_Shortcut_Lib_Graphite_2
+ FileID = gid_File_Lib_Graphite;
+ Dir = gid_Dir_Program;
+ Name = STRING(CONCAT4(libgraphite,UNXSUFFIX,.,3.0));
+ Styles = (NETWORK,RELATIVE);
+End
+
#endif
#ifdef MACOSX
Shortcut gid_Shortcut_Lib_Hsqldb_2
FileID = gid_File_Lib_Hsqldb_2;
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = "libhsqldb.jnilib";
Styles = (NETWORK, RELATIVE);
End
diff --git a/scp2/source/ooo/ure.scp b/scp2/source/ooo/ure.scp
index bc9629b6ee0b..1c260e2d2508 100755
--- a/scp2/source/ooo/ure.scp
+++ b/scp2/source/ooo/ure.scp
@@ -410,6 +410,13 @@ File gid_File_Dl_AffineUnoUno
// CompID = "CF542EC3-7A51-4EAA-8480-65D5E8906D05";
End
+File gid_File_Dl_LogUnoUno
+ TXT_FILE_BODY;
+ Dir = SCP2_URE_DL_DIR;
+ Name = SCP2_URE_DL_NORMAL("log_uno_uno");
+ Styles = (PACKED, VERSION_INDEPENDENT_COMP_ID);
+End
+
#if defined WNT && defined _MSC
File gid_File_Dl_Cli_Uno
TXT_FILE_BODY;
@@ -832,7 +839,7 @@ File gid_File_Dl_Libxml2
#else
Name = SCP2_URE_DL_VER("xml2", "2");
#endif
- Styles = (PACKED, VERSION_INDEPENDENT_COMP_ID);
+ Styles = (PACKED, PATCH, VERSION_INDEPENDENT_COMP_ID);
// CompID = "BE6FAD97-F84C-43E3-8392-6FE2CDA04D8E";
End
#endif
@@ -910,6 +917,32 @@ File gid_File_Lib_Mingwm10_Ure
End
#endif
+#if defined(WNT) && defined( _gcc3 )
+
+#if defined(MINGW_GCCDLL)
+
+File gid_File_Lib_Mingw_GccS_Ure
+ TXT_FILE_BODY;
+ Dir = SCP2_URE_DL_DIR;
+ Name = MINGW_GCCDLL;
+ Styles = (PACKED, VERSION_INDEPENDENT_COMP_ID);
+End
+
+#endif
+
+#if defined(MINGW_GXXDLL)
+
+File gid_File_Lib_Mingw_Stdcpp_Ure
+ TXT_FILE_BODY;
+ Dir = SCP2_URE_DL_DIR;
+ Name = MINGW_GXXDLL;
+ Styles = (PACKED, VERSION_INDEPENDENT_COMP_ID);
+End
+
+#endif
+
+#endif
+
#ifdef WNT
#if defined(M1310)
File gid_File_Dl_Msvcr71
@@ -1121,6 +1154,7 @@ Module gid_Module_Root_Ure_Hidden
gid_File_Dl_UrpUno,
gid_File_Dl_UnsafeUnoUno,
gid_File_Dl_AffineUnoUno,
+ gid_File_Dl_LogUnoUno,
gid_File_Dl_Jpipe,
gid_File_Dl_Juh,
gid_File_Dl_Juhx,
@@ -1146,6 +1180,8 @@ Module gid_Module_Root_Ure_Hidden
gid_File_Dl_Stlport,
gid_File_Dl_GccS,
gid_File_Dl_Stdcpp,
+ gid_File_Lib_Mingw_GccS_Ure,
+ gid_File_Lib_Mingw_Stdcpp_Ure,
gid_File_Lib_Mingwm10_Ure,
gid_File_Dl_Msvcr71,
gid_File_Dl_Msvcp71,
diff --git a/scp2/source/python/file_python.scp b/scp2/source/python/file_python.scp
index 4924c7ca799d..6042c062d21b 100644
--- a/scp2/source/python/file_python.scp
+++ b/scp2/source/python/file_python.scp
@@ -50,6 +50,7 @@ File gid_File_Lib_Pythonloader
Name = "pythonloader.uno.dll";
#endif
RegistryID = gid_Starregistry_Services_Rdb;
+ NativeServicesURLPrefix = "vnd.sun.star.expand:$OOO_BASE_DIR/program/";
Styles = (PACKED,UNO_COMPONENT);
End
diff --git a/scp2/source/sdkoo/sdkoo.scp b/scp2/source/sdkoo/sdkoo.scp
index f469a8178b5a..b8dd4e5faed4 100644
--- a/scp2/source/sdkoo/sdkoo.scp
+++ b/scp2/source/sdkoo/sdkoo.scp
@@ -236,3 +236,13 @@ Unixlink gid_Unixlink_Cppuhelper_Link_Sdk
Target = "../../ure-link/lib/" SCP2_URE_DL_UNO_COMID_VER("cppuhelper", "3");
End
#endif
+
+#if (!defined(WNT) && !defined( MACOSX) )
+Unixlink gid_Unixlink_Purpenvhelper_Link_Sdk
+ BIN_FILE_BODY;
+ Styles = ();
+ Name = SCP2_URE_DL_UNO_COMID_NORMAL("purpenvhelper");
+ Dir = gid_Dir_Lib_Sdk;
+ Target = "../../ure-link/lib/" SCP2_URE_DL_UNO_COMID_VER("purpenvhelper", "3");
+End
+#endif
diff --git a/scp2/source/winexplorerext/file_winexplorerext.scp b/scp2/source/winexplorerext/file_winexplorerext.scp
index 23ed3b7b2365..e7b3584b32db 100644
--- a/scp2/source/winexplorerext/file_winexplorerext.scp
+++ b/scp2/source/winexplorerext/file_winexplorerext.scp
@@ -77,6 +77,6 @@ End
File gid_File_Lib_Shlxtmsi
TXT_FILE_BODY;
Styles = (PACKED, BINARYTABLE, BINARYTABLE_ONLY);
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Name = "shlxtmsi.dll";
End
diff --git a/scp2/source/writer/file_writer.scp b/scp2/source/writer/file_writer.scp
index 000307175e8c..5c76da172576 100644
--- a/scp2/source/writer/file_writer.scp
+++ b/scp2/source/writer/file_writer.scp
@@ -39,7 +39,7 @@ File gid_File_Lib_Hwpreader
#else
Name = "hwp.dll";
#endif
- Dir = gid_Dir_Program;
+ Dir = SCP2_OOO_BIN_DIR;
Styles = (PACKED, UNO_COMPONENT);
RegistryID = gid_Starregistry_Services_Rdb;
End
diff --git a/set_soenv.in b/set_soenv.in
index 2c496efc1d73..ed9603d9f13f 100644
--- a/set_soenv.in
+++ b/set_soenv.in
@@ -86,9 +86,9 @@ my ( $oldPATH, $SRC_ROOT, $SO_HOME, $JAVA_HOME, $JDK, $JAVAFLAGS, $SHELL,
$PATH, $SOLAREXTRAINC, $SOLAREXTRALIB, $SOLARLIB,
$SOLARINC, $LOCALINI, $FRAMEWORKSHOME, $COMEX, $PERL,
$COMP_ENV, $ILIB, $JAVAHOME, $PSDK_HOME, $DIRECTXSDK_LIB, $USE_NEW_SDK, $FRAME_HOME,
- $USE_DIRECTX5, $ATL_LIB, $ATL_INCLUDE, $MFC_LIB, $MFC_INCLUDE, $NO_HIDS, $TEMP,
+ $USE_DIRECTX5, $ATL_LIB, $ATL_INCLUDE, $MFC_LIB, $MFC_INCLUDE, $NO_HIDS, $TMPDIR,
$COMMON_BUILD_TOOLS, $WIN_GREP, $WIN_FIND, $WIN_LS,
- $WIN_GNUCOPY, $WIN_TOUCH, $STLPORT4, $MOZILLA_VERSION, $MOZILLA_TOOLKIT, $PREBUILD_MOZAB,
+ $WIN_GNUCOPY, $WIN_TOUCH, $STLPORT4, $MOZILLA_VERSION, $MOZILLA_TOOLKIT, $PREBUILD_MOZAB, $MOZILLABUILD,
$PROEXT,
$SYSTEM_PYTHON, $PYTHONPATH, $SYSTEM_MOZILLA, $EPM_FLAGS);
#
@@ -1108,7 +1108,8 @@ if ($platform =~ m/cygwin|os2/)
else
{ $ILIB .= $wps.$COMPATH.$LIB;
}
- $ILIB .= $wps.$PSDK_HOME.$LIB;
+ $ILIB .= $wps.PathFormat("@MINGW_CLIB_DIR@").
+ $wps.$PSDK_HOME.$LIB;
if ( '@ENABLE_DIRETX@' )
{ $ILIB .= $wps.PathFormat("@DIRECTXSDK_LIB@");
}
@@ -1485,6 +1486,7 @@ elsif ($platform =~ m/cygwin/)
else
{ $SOLARINC .= $I.'$COMPATH'.$ds."include"; }
@mingw_lib_include_paths = split( / /, "@MINGW_LIB_INCLUDE_PATH@" );
+ $SOLARINC .= $I.PathFormat("@MINGW_BACKWARD_INCLUDE_PATH@");
foreach $mingw_lib_include_path (@mingw_lib_include_paths)
{ chomp $mingw_lib_include_path;
if ( $mingw_lib_include_path ne $COMPATH.$ds."include" && $mingw_lib_include_path ne "" )
@@ -1644,6 +1646,8 @@ ToFile( "BUILD_MOZAB", "@BUILD_MOZAB@", "e" );
ToFile( "PREBUILD_MOZAB", $PREBUILD_MOZAB, "e" );
ToFile( "MOZILLA_VERSION", $MOZILLA_VERSION, "e" );
ToFile( "DEFAULT_MOZILLA_TOOLKIT", $MOZILLA_TOOLKIT, "e" );
+ToFile( "ENABLE_NSS_MODULE", "@ENABLE_NSS_MODULE@", "e" );
+ToFile( "MOZILLABUILD", "@MOZILLABUILD@", "e" );
ToFile( "BUILD_VER_STRING", "@BUILD_VER_STRING@", "e" );
ToFile( "ENABLE_VBA", "@ENABLE_VBA@", "e" );
ToFile( "VBA_EXTENSION", "@VBA_EXTENSION@", "e" );
@@ -1689,8 +1693,12 @@ ToFile( "ENABLE_GIO", "@ENABLE_GIO@", "e" );
ToFile( "ENABLE_KDE", "@ENABLE_KDE@", "e" );
ToFile( "KDE_CFLAGS", "@KDE_CFLAGS@", "e" );
ToFile( "KDE_LIBS", "@KDE_LIBS@", "e" );
-ToFile( "ENABLE_KAB", "@ENABLE_KAB@", "e" );
ToFile( "MOC", "@MOC@", "e" );
+ToFile( "ENABLE_KDE4", "@ENABLE_KDE4@", "e" );
+ToFile( "KDE4_CFLAGS", "@KDE4_CFLAGS@", "e" );
+ToFile( "KDE4_LIBS", "@KDE4_LIBS@", "e" );
+ToFile( "MOC4", "@MOC4@", "e" );
+ToFile( "ENABLE_KAB", "@ENABLE_KAB@", "e" );
ToFile( "PSPRINT", "TRUE", "e" );
ToFile( "MKDEPENDSOLVER", "TRUE", "e" );
#
@@ -1815,8 +1823,11 @@ ToFile( "ENABLE_DIRECTX", "@ENABLE_DIRECTX@", "e" );
ToFile( "ENABLE_LAYOUT", "@ENABLE_LAYOUT@", "e" );
ToFile( "ENABLE_PCH", "@ENABLE_PCH@", "e" );
ToFile( "NO_HIDS", "@NO_HIDS@", "e" );
+ToFile( "ENABLE_GRAPHITE", "@ENABLE_GRAPHITE@", "e");
+ToFile( "SYSTEM_GRAPHITE", "@SYSTEM_GRAPHITE@", "e");
+ToFile( "GRAPHITE_LIBS", "@GRAPHITE_LIBS@", "e");
+ToFile( "GRAPHITE_CFLAGS", "@GRAPHITE_CFLAGS@", "e");
ToFile( "VC_STANDARD", "@VC_STANDARD@", "e" );
-ToFile( "WITH_GPC", "@WITH_GPC@", "e" );
ToFile( "WITH_MYSPELL_DICTS","@WITH_MYSPELL_DICTS@","e");
ToFile( "SYSTEM_DICTS", "@SYSTEM_DICTS@", "e");
ToFile( "DICT_SYSTEM_DIR", "@DICT_SYSTEM_DIR@", "e");
@@ -1942,9 +1953,12 @@ ToFile( "CRYPT_LINK", "@CRYPT_LINK@", "e" );
ToFile( "XAU_LIBS", "@XAU_LIBS@", "e" );
ToFile( "GXX_INCLUDE_PATH", PathFormat("@GXX_INCLUDE_PATH@"), "e" );
ToFile( "COMMON_BUILD_TOOLS",$COMMON_BUILD_TOOLS, "e" );
-if ($platform !~ m/cygwin|os2/)
-{ ToFile( "TEMP", $TEMP, "e" );
- ToFile( "TMP", $TEMP, "e" );
+if ($platform !~ m/cygwin|os2/) {
+ if ( $ENV{"TMPDIR"} eq "" ) {
+ ToFile( "TMPDIR", "/tmp", "e" );
+ } else {
+ ToFile( "TMPDIR", "$ENV{'TMPDIR'}", "e" );
+ }
}
ToFile( "SOLARSRC", $SOLARSRC, "e" );
if ( $platform =~ m/cygwin/ )
@@ -1952,8 +1966,15 @@ if ( $platform =~ m/cygwin/ )
ToFile( "ILIB", $ILIB, "e" );
if ( $MINGW eq "yes" )
{ ToFile( "ATL_INCLUDE", $ATL_INCLUDE, "e" );
+ ToFile( "EXCEPTIONS", "@EXCEPTIONS@", "e" );
ToFile( "DIRECTXSDK_HOME", PathFormat("@DIRECTXSDK_HOME@"), "e" );
ToFile( "USE_MINGW", $USE_MINGW, "e" );
+ ToFile( "MINGW_CLIB_DIR", PathFormat("@MINGW_CLIB_DIR@"), "e" );
+ ToFile( "MINGW_SHARED_GCCLIB", "@MINGW_SHARED_GCCLIB@", "e" );
+ ToFile( "MINGW_GCCLIB_EH", "@MINGW_GCCLIB_EH@", "e" );
+ ToFile( "MINGW_SHARED_GXXLIB", "@MINGW_SHARED_GXXLIB@", "e" );
+ ToFile( "MINGW_GCCDLL", "@MINGW_GCCDLL@", "e" );
+ ToFile( "MINGW_GXXDLL", "@MINGW_GXXDLL@", "e" );
}
ToFile( "GREP", $WIN_GREP, "e" );
ToFile( "FIND", $WIN_FIND, "e" );
diff --git a/solenv/bin/build.pl b/solenv/bin/build.pl
index af958c0181ad..c9c29bf40b72 100644
--- a/solenv/bin/build.pl
+++ b/solenv/bin/build.pl
@@ -44,6 +44,7 @@
use IO::Socket::INET;
use lib ("$ENV{SOLARENV}/bin/modules");
+ use SourceConfig;
my $in_so_env = 0;
if (defined $ENV{COMMON_ENV_TOOLS}) {
@@ -168,7 +169,7 @@
$html_last_updated = 0;
%jobs_hash = ();
$html_path = undef;
- $html_file = CorrectPath($ENV{SRC_ROOT} . '/' . $ENV{INPATH}. '.build.html');
+ $html_file = CorrectPath($ENV{SOLARSRC} . '/' . $ENV{INPATH}. '.build.html');
$build_finished = 0;
%had_error = (); # hack for misteriuos windows problems - try run dmake 2 times if first time there was an error
$mkout = CorrectPath("$ENV{SOLARENV}/bin/mkout.pl");
@@ -188,6 +189,12 @@
# the server considered as an error/client crash
my %lost_client_jobs = (); # hash containing lost jobs
my %job_jobdir = (); # hash containing job-dir pairs
+ my %module_paths = (); # hash with absolute module paths
+ my %active_modules = ();
+ my $generate_config = 0;
+ my %add_to_config = ();
+ my %remove_from_config = ();
+ my $clear_config = 0;
### main ###
get_options();
@@ -209,7 +216,12 @@
$deliver_env{'L10N_framework'}++;
};
+ if ($generate_config) {
+ generate_config_file();
+ exit 0;
+ }
$StandDir = get_stand_dir(); # This also sets $CurrentPrj
+ get_module_and_buildlist_paths();
provide_consistency() if (defined $ENV{CWS_WORK_STAMP} && defined($ENV{COMMON_ENV_TOOLS}));
$deliver_command = $ENV{DELIVER};
@@ -254,8 +266,11 @@
# } elsif (!$custom_job && $post_custom_job) {
# do_post_custom_job(CorrectPath($StandDir.$CurrentPrj));
};
- if (scalar @warnings) {
- print STDERR $_ foreach (@warnings);
+ print_warnings();
+ if (scalar keys %active_modules) {
+ foreach (keys %dead_parents) {
+ delete $dead_parents{$_} if (!defined $active_modules{$_});
+ };
};
if (scalar keys %dead_parents) {
my ($DeadPrj);
@@ -294,6 +309,119 @@
# #
#########################
+sub print_warnings {
+ if (scalar @warnings) {
+ print STDERR "\nWARNING(S):\n";
+ print STDERR $_ foreach (@warnings);
+ };
+};
+
+sub rename_file {
+ my ($old_file_name, $new_file_name, $throw_error) = @_;
+
+ if(-e $old_file_name) {
+ rename($old_file_name, $new_file_name) or system("mv", $old_file_name, $new_file_name);
+ if (-e $old_file_name) {
+ system("rm -rf $old_file_name") if (!unlink $old_file_name);
+ };
+ } elsif ($throw_error) {
+ print_error("No such file $old_file_name");
+ };
+};
+
+sub generate_config_file {
+ my $source_config = SourceConfig -> new();
+ my $source_config_file = $source_config->get_config_file_path();
+ my $temp_config_file = File::Temp::tmpnam($ENV{TMP});
+ my @config_content_new = ();
+ my $addition_message;
+ my $removal_message;
+ my %present_modules = ();
+ if ($source_config_file) {
+ open(SOURCE_CONFIG_FILE, $source_config_file);
+ my @config_content = <SOURCE_CONFIG_FILE>;
+ close SOURCE_CONFIG_FILE;
+ my ($module_section, $repository_section);
+ foreach (@config_content) {
+ $line++;
+ if ((!/^\S+/)||(/^\s*#+/)) {
+ push(@config_content_new, $_);
+ next;
+ }
+ if (/^\[repositories\]\s*(\s+#)*/) {
+ if ($module_section) {
+ $addition_message = add_modules_to_source_config(\%add_to_config, \@config_content_new);
+ };
+ $module_section = 0;
+ $repository_section = 1;
+ push(@config_content_new, $_);
+ next;
+ };
+ if (/^\[modules\]\s*(\s+#)*/) {
+ $module_section = 1;
+ $repository_section = 0;
+ push(@config_content_new, $_);
+ next;
+ };
+ if ($module_section && /\s*(\S+)=active\s*(\s+#)*/) {
+ if ($clear_config || defined $remove_from_config{$1}) {
+ delete $remove_from_config{$1};
+ $removal_message .= "$1 ";
+ } else {
+ push(@config_content_new, $_);
+ if (defined $add_to_config{$1}) {
+ push(@warnings, "Module $1 already activated in $source_config_file\n");
+ delete $add_to_config{$1};
+ }
+ };
+ } else {
+ push(@config_content_new, $_);
+ };
+ };
+ if (keys %add_to_config) {
+ if (!$module_section) {
+ push(@config_content_new, "[modules]\n");
+ };
+ $addition_message = add_modules_to_source_config(\%add_to_config, \@config_content_new);
+ };
+ } else {
+ if ($clear_config || scalar %remove_from_config) {
+ print_error('No source config file found');
+ };
+ $source_config_file = $source_config->get_config_file_default_path();
+ push(@config_content_new, "[modules]\n");
+ $addition_message = add_modules_to_source_config(\%add_to_config, \@config_content_new);
+ };
+ die("Cannot open $temp_config_file") if (!open(NEW_CONFIG, ">$temp_config_file"));
+ print NEW_CONFIG $_ foreach (@config_content_new);
+ close NEW_CONFIG;
+ rename_file($temp_config_file, $source_config_file, 1);
+ foreach (keys %remove_from_config) {
+ push(@warnings, "Module(s) $_ not found in " . $source_config_file . "\n");
+ };
+ print_warnings();
+ print $addition_message if ($addition_message);
+ print "Module(s) $removal_message removed from $source_config_file\n" if ($removal_message);
+ exit(0);
+};
+
+#
+# Add modules from the passed hash to the array of config strigns
+#
+sub add_modules_to_source_config {
+ my ($modules_hash_ref, $config_content_new) = @_;
+ my $message;
+ foreach (keys %$modules_hash_ref) {
+ push(@$config_content_new, "$_=active\n");
+ $message .= "$_ ";
+ };
+ if ($message) {
+ return 'Module(s) ' .$message . 'are added to the ' . $source_config_file . "\n\n";
+ } else {
+ return '';
+ };
+};
+
#
# procedure retrieves build list path
# (all possibilities are taken into account)
@@ -303,7 +431,7 @@ sub get_build_list_path {
my @possible_dirs = ($module, $module. '.lnk', $module. '.link');
return $build_list_paths{$module} if (defined $build_list_paths{$module});
foreach (@possible_dirs) {
- my $possible_dir_path = $StandDir.$_.'/prj/';
+ my $possible_dir_path = $module_paths{$_}.'/prj/';
if (-d $possible_dir_path) {
foreach my $build_list (@possible_build_lists) {
my $possible_build_list_path = CorrectPath($possible_dir_path . $build_list);
@@ -316,7 +444,7 @@ sub get_build_list_path {
};
};
$dead_parents{$module}++;
- $build_list_paths{$module} = CorrectPath(retrieve_build_list($module));
+ $build_list_paths{$module} = CorrectPath(retrieve_build_list($module)) if (!defined $build_list_paths{$module});
return $build_list_paths{$module};
};
@@ -355,50 +483,26 @@ sub store_weights {
};
#
-# This procedure implements complete in-depth weights search
-# it's working, but very slow, so switched off in favor of the
-# last (simplified) implementation...
-#
-#sub store_weights {
-# my $deps_hash = shift;
-# $weights_hash{$_} = {} foreach (keys %$deps_hash);
-# foreach (keys %$deps_hash) {
-# foreach my $module_deps_hash ($$deps_hash{$_}) {
-# foreach my $dependency (keys %$module_deps_hash) {
-# ${$weights_hash{$dependency}}{$_}++;
-# };
-# };
-# };
-# my $current_prj_preq = $$deps_hash{$CurrentPrj};
-# foreach (keys %$current_prj_preq) {
-# accumulate_weights($deps_hash, $_);
-# };
-#};
-
-#sub accumulate_weights {
-# my ($deps_hash, $module) = @_;
-# my @prerequisites = keys %{$$deps_hash{$module}};
-# my @is_prereq_for = keys %{$weights_hash{$module}};
-# foreach my $prereq_module (@prerequisites) {
-## next if (defined $weight_stored{$prereq_module});
-## $weight_stored{$prereq_module}++;
-# ${$weights_hash{$prereq_module}}{$_}++ foreach @is_prereq_for;
-# accumulate_weights($deps_hash, $prereq_module);
-# };
-#};
-
-#
# Build everything that should be built
#
sub BuildAll {
if ($BuildAllParents) {
my ($Prj, $PrjDir, $orig_prj);
GetParentDeps( $CurrentPrj, \%global_deps_hash);
+ if (scalar keys %active_modules) {
+ $active_modules{$CurrentPrj}++;
+ $modules_types{$CurrentPrj} = 'mod';
+ };
modules_classify(keys %global_deps_hash);
store_weights(\%global_deps_hash);
+ if (keys %active_modules && ($build_from || $incompatible)) {
+ print_error("There are active module in $source_config_file. Please remove these modules to proceed.\n");
+ };
prepare_build_from(\%global_deps_hash) if ($build_from);
prepare_incompatible_build(\%global_deps_hash) if ($incompatible);
if ($build_all_cont || $build_since) {
+ print STDERR "There are active module in $source_config_file. Inactive modules will be skipped.\n";
+ push (@warnings, "\nThere are active module in $source_config_file. Inactive modules are skipped.\n\n");
prepare_build_all_cont(\%global_deps_hash);
};
$modules_number = scalar keys %global_deps_hash;
@@ -419,7 +523,7 @@ sub BuildAll {
next;
};
- $PrjDir = CorrectPath($StandDir.$Prj);
+ $PrjDir = $module_paths{$Prj};
get_deps_hash($Prj, \%LocalDepsHash);
my $info_hash = $html_info{$Prj};
$$info_hash{DIRS} = check_deps_hash(\%LocalDepsHash, $Prj);
@@ -466,10 +570,6 @@ sub dmake_dir {
$jobs_hash{$BuildDir}->{STATUS} = 'building';
if ($BuildDir =~ /(\s)/o) {
$error_code = do_custom_job($BuildDir, \%LocalDepsHash);
-# do_pre_job($`, $pre_job) if ($' eq $pre_job);
-# $error_code = do_post_job($`, $', \%LocalDepsHash) if ($' eq $post_job);
-# RemoveFromDependencies($BuildDir, \%LocalDepsHash);
-# html_store_job_info(\%LocalDepsHash, $BuildDir, $error_code);
} else {
html_store_job_info(\%LocalDepsHash, $BuildDir);
print_error("$BuildDir not found!!\n") if (!-d $BuildDir);
@@ -495,22 +595,6 @@ sub dmake_dir {
RemoveFromDependencies($BuildDir, \%LocalDepsHash) if (!$child);
return if ($cmd_file || $show);
$error_code = run_job($dmake, $BuildDir);
-# chdir $BuildDir;
-# getcwd();
-# if ($html) {
-# my $log_file = $jobs_hash{$BuildDir}->{LONG_LOG_PATH};
-# my $log_dir = File::Basename::dirname($log_file);
-# if (!-d $log_dir) {
-# system("$perl $mkout");
-# };
-# $error_code = system ("$dmake > $log_file 2>&1");
-# if (!$grab_output && -f $log_file) {
-# system("cat $log_file");
-# };
-# } else {
-# $error_code = system ("$dmake");
-# };
-
html_store_job_info(\%LocalDepsHash, $BuildDir, $error_code) if (!$child);
};
if ($error_code && $ignore) {
@@ -618,7 +702,7 @@ sub get_deps_from_object {
my ($module, $build_list_object, $dependencies_hash) = @_;
foreach my $dir ($build_list_object->getJobDirectories("make", $ENV{GUI})) {
- $PathHash{$dir} = $StandDir . $module;
+ $PathHash{$dir} = $module_paths{$module};
$PathHash{$dir} .= $dir if ($dir ne '/');
my %deps_hash = ();
@@ -694,10 +778,11 @@ sub get_deps_hash {
$deps_hash{$_}++ foreach (GetDependenciesArray($Dependencies));
$$dependencies_hash{$DirAlias} = \%deps_hash;
$BuildQueue{$DirAlias}++;
+ my $local_dir = '';
if ($Dir =~ /(\\|\/)/o) {
- $Dir = $module_to_build . $1 . $';
- } else {$Dir = $module_to_build;};
- $PathHash{$DirAlias} = CorrectPath($StandDir . $Dir);
+ $local_dir = $';
+ };
+ $PathHash{$DirAlias} = CorrectPath($module_paths{$module_to_build} . "/$local_dir");
} elsif ($_ !~ /^\s*$/ && $_ !~ /^\w*\s/o) {
chomp;
push(@errors, $_);
@@ -851,42 +936,17 @@ sub get_commands {
while ($arg = pop(@dmake_args)) {
$dmake .= ' '.$arg;
};
-# if (($ENV{GUI} eq 'WNT') && $QuantityToBuild) {
-# print_error("There is no such executable $_4nt_exe") if (!-e $_4nt_exe);
-# $dmake_batch = generate_4nt_batch();
-# };
};
#
-# Procedure prooves if current dir is a root dir of the drive
-#
-#sub IsRootDir {
-# my ($Dir);
-# $Dir = shift;
-# if ( (($ENV{GUI} eq 'UNX') ||
-# ($ENV{GUI} eq 'MACOSX')) &&
-# ($Dir eq '/')) {
-# return 1;
-# } elsif ( (($ENV{GUI} eq 'WNT') ||
-# ($ENV{GUI} eq 'WIN') ||
-# ($ENV{GUI} eq 'OS2')) &&
-# ($Dir =~ /\S:\/$/)) {
-# return 1;
-# } else {
-# return 0;
-# };
-#};
-
-#
# Procedure retrieves list of projects to be built from build.lst
#
sub get_stand_dir {
- if (!(defined $ENV{GUI})) {
+ if (!defined $ENV{GUI}) {
$ENV{mk_tmp} = '';
die "No environment set\n";
};
my $StandDir;
-# $StandDir = getcwd();
if ( defined $ENV{PWD} ) {
$StandDir = $ENV{PWD};
} elsif (defined $ENV{_cwd}) {
@@ -898,9 +958,8 @@ sub get_stand_dir {
do {
foreach (@possible_build_lists) {# ('build.lst', 'build.xlist');
if (-e $StandDir . '/prj/'.$_) {
- $StandDir =~ /([\-\.\w]+$)/;
- $StandDir = $`;
- $CurrentPrj = $1;
+ $CurrentPrj = File::Basename::basename($StandDir);
+ $StandDir = File::Basename::dirname($StandDir);
return $StandDir;
} elsif ($StandDir eq $previous_dir) {
$ENV{mk_tmp} = '';
@@ -908,10 +967,7 @@ sub get_stand_dir {
};
};
$previous_dir = $StandDir;
-# $StandDir = Cwd::realpath($StandDir . '/..');
- my @dirlist = split(/\//,Cwd::realpath($StandDir));
- pop @dirlist; # discard last dirname;
- $StandDir = join('/', @dirlist);
+ $StandDir = File::Basename::dirname(Cwd::realpath($StandDir));
print_error('Found no project to build') if (!$StandDir);
}
# while (chdir '..');
@@ -967,7 +1023,7 @@ sub RemoveFromDependencies {
sub check_deps_hash {
my ($deps_hash_ref, $module) = @_;
my @possible_order;
- my $module_path = $StandDir . $module if (defined $module);
+ my $module_path = $module_paths{$module} if (defined $module);
return if (!scalar keys %$deps_hash_ref);
my %deps_hash = %$deps_hash_ref;
my $consistent;
@@ -978,12 +1034,11 @@ sub check_deps_hash {
my $string;
my $log_name;
my $build_number = 0;
+
do {
$consistent = '';
foreach $key (sort keys %deps_hash) {
$local_deps_ref = $deps_hash{$key};
- $little_key = $key;
- #print "Key = $key , consi = '$consistent' ";
if (!scalar keys %$local_deps_ref) {
if (defined $module) {
$build_number++;
@@ -1017,18 +1072,14 @@ sub check_deps_hash {
BUILD_NUMBER => $build_number,
STATUS => 'waiting',
LOG_PATH => $module . "/$ENV{INPATH}/misc/logs/$log_name",
- LONG_LOG_PATH => CorrectPath($StandDir . $module . "/$ENV{INPATH}/misc/logs/$log_name"),
+ LONG_LOG_PATH => CorrectPath($module_paths{$module} . "/$ENV{INPATH}/misc/logs/$log_name"),
START_TIME => 0,
FINISH_TIME => 0,
CLIENT => '-'
};
-# if (-f $jobs_hash{$key}->{LONG_LOG_PATH} && $html) {
-# print STDERR 'Warning: log file ' . $jobs_hash{$key}->{LONG_LOG_PATH} . " already exists!!\n";
-# };
};
RemoveFromDependencies($key, \%deps_hash);
delete $deps_hash{$key};
- #print " ... OK!\n";
$consistent++;
};
};
@@ -1065,21 +1116,17 @@ sub FindIndepPrj {
next if (&IsHashNative($Prj));
my $PrjDeps = $$Dependencies{$Prj};
push(@candidates, $Prj) if (!scalar keys %$PrjDeps);
- #return $Prj if (!scalar keys %$PrjDeps);
};
if (scalar @candidates) {
my $best_candidate = undef;
my $weight = 0;
foreach my $candidate (sort @candidates) {
-# if (defined $weights_hash{$candidate} && scalar keys %{$weights_hash{$candidate}} > $weight) {
if (defined $weights_hash{$candidate} && $weights_hash{$candidate} > $weight) {
$best_candidate = $candidate;
-# $weight = scalar keys %{$weights_hash{$candidate}};
$weight = $weights_hash{$candidate};
};
};
if (defined $best_candidate) {
-# delete $weights_hash{$best_candidate};
return $best_candidate;
}
my @sorted_candidates = sort(@candidates);
@@ -1150,13 +1197,14 @@ sub GetDirectoryList {
sub print_error {
my $message = shift;
my $force = shift;
-# rmtree(CorrectPath($tmp_dir), 0, 1) if ($tmp_dir);
$modules_number -= scalar keys %global_deps_hash;
$modules_number -= 1;
print STDERR "\nERROR: $message\n";
$ENV{mk_tmp} = '';
- close CMD_FILE if ($cmd_file);
- unlink ($cmd_file);
+ if ($cmd_file) {
+ close CMD_FILE;
+ unlink ($cmd_file);
+ };
if (!$child) {
$ENV{mk_tmp} = '';
close CMD_FILE if ($cmd_file);
@@ -1168,7 +1216,7 @@ sub print_error {
sub usage {
print STDERR "\nbuild\n";
- print STDERR "Syntax: build [--all|-a[:prj_name]]|[--from|-f prj_name1[:prj_name2] [prj_name3 [...]]]|[--since|-c prj_name] [--with_branches|-b]|[--prepare|-p][:platform] [--dontchekoutmissingmodules]] [--deliver|-d [--dlv_switch deliver_switch]]] [-P processes|--server [--setenvstring \"string\"] [--client_timeout MIN] [--port port1[:port2:...:portN]]] [--show|-s] [--help|-h] [--file|-F] [--ignore|-i] [--version|-V] [--mode|-m OOo[,SO[,EXT]] [--html [--html_path html_file_path] [--dontgraboutput]] [--pre_job=pre_job_sring] [--job=job_string|-j] [--post_job=post_job_sring] [--stoponerror]\n";
+ print STDERR "Syntax: build [--all|-a[:prj_name]]|[--from|-f prj_name1[:prj_name2] [prj_name3 [...]]]|[--since|-c prj_name] [--with_branches|-b]|[--prepare|-p][:platform] [--dontchekoutmissingmodules]] [--deliver|-d [--dlv_switch deliver_switch]]] [-P processes|--server [--setenvstring \"string\"] [--client_timeout MIN] [--port port1[:port2:...:portN]]] [--show|-s] [--help|-h] [--file|-F] [--ignore|-i] [--version|-V] [--mode|-m OOo[,SO[,EXT]] [--html [--html_path html_file_path] [--dontgraboutput]] [--pre_job=pre_job_sring] [--job=job_string|-j] [--post_job=post_job_sring] [--stoponerror] [--genconf [--removeall|--clear|--remove|--add module1,module2[,...,moduleN]]]\n";
print STDERR "Example1: build --from sfx2\n";
print STDERR " - build all projects dependent from sfx2, starting with sfx2, finishing with the current module\n";
print STDERR "Example2: build --all:sfx2\n";
@@ -1199,9 +1247,14 @@ sub usage {
print STDERR " --help - print help info\n";
print STDERR " --ignore - force tool to ignore errors\n";
print STDERR " --html - generate html page with build status\n";
- print STDERR " file named $ENV{INPATH}.build.html will be generated in $ENV{SRC_ROOT}\n";
+ print STDERR " file named $ENV{INPATH}.build.html will be generated in $ENV{SOLARSRC}\n";
print STDERR " --html_path - set html page path\n";
print STDERR " --dontgraboutput - do not grab console output when generating html page\n";
+ print STDERR " --genconf - generate/modify workspace configuration file\n";
+ print STDERR " --add - add active module(s) to configuration file\n";
+ print STDERR " --remove - removeactive modules(s) from configuration file\n";
+ print STDERR " --removeall|--clear - remove all active modules(s) from configuration file\n";
+
print STDERR " --stoponerror - stop build when error occurs (for mp builds)\n";
print STDERR " --dontchekoutmissingmodules - do not chekout missing modules when running prepare (links still will be broken)\n";
print STDERR " Custom jobs:\n";
@@ -1261,6 +1314,16 @@ sub get_options {
$arg =~ /^--help$/ and usage() and do_exit(0);
$arg =~ /^-h$/ and usage() and do_exit(0);
$arg =~ /^--ignore$/ and $ignore = 1 and next;
+ $arg =~ /^--genconf$/ and $generate_config = 1 and next;
+ if ($arg =~ /^--add$/) {
+ get_list_of_modules(\%add_to_config);
+ next;
+ };
+ if ($arg =~ /^--remove$/) {
+ get_list_of_modules(\%remove_from_config);
+ next;
+ };
+ ($arg =~ /^--clear$/ || $arg =~ /^--removeall$/) and $clear_config = 1 and next;
$arg =~ /^--html$/ and $html = 1 and next;
$arg =~ /^--dontgraboutput$/ and $dont_grab_output = 1 and next;
$arg =~ /^--html_path$/ and $html_path = shift @ARGV and next;
@@ -1320,7 +1383,17 @@ sub get_options {
print_error("--setenvstring switch is for server mode only!!") if ($setenv_string);
print_error("--client_timeout switch is for server mode only!!") if ($client_timeout);
};
-# $ignore++ if ($html);
+
+ if (!$generate_config) {
+ my $error_message = ' switch(es) should be used only with "--genconf"';
+ print_error('"--removeall" ("--clear")' . $error_message) if ($clear_config);
+ if ((scalar %add_to_config) || (scalar %remove_from_config)) {
+ print_error('"--add" or/and "--remove"' . $error_message);
+ };
+ } elsif ((!scalar %add_to_config) && !$clear_config && (!scalar %remove_from_config)){
+ print_error('Please supply necessary switch for "--genconf" (--add|--remove|--removeall)');
+ };
+
if ($only_platform) {
$only_common = 'common';
$only_common .= '.pro' if ($only_platform =~ /\.pro$/);
@@ -1330,6 +1403,20 @@ sub get_options {
@ARGV = @dmake_args;
};
+sub get_module_and_buildlist_paths {
+ my $source_config = SourceConfig -> new($StandDir);
+ my $source_config_file = $source_config->get_config_file_path();
+ $active_modules{$_}++ foreach ($source_config->get_active_modules());
+ my %active_modules_copy = %active_modules;
+ foreach ($source_config->get_all_modules()) {
+ delete $active_modules_copy{$_} if defined($active_modules_copy{$_});
+ $module_paths{$_} = $source_config->get_module_path($_);
+ $build_list_paths{$_} = $source_config->get_module_build_list($_)
+ }
+ $dead_parents{$_}++ foreach (keys %active_modules_copy);
+};
+
+
sub get_dmake_args {
my $arg;
my @job_args = ();
@@ -1549,22 +1636,7 @@ sub start_child {
$jobs_hash{$job_dir}->{STATUS} = 'building';
if ($job_dir =~ /(\s)/o) {
my $error_code = undef;
-# do_pre_job($`, $pre_job) if ($' eq $pre_job);
$error_code = do_custom_job($job_dir, $dependencies_hash);
-# $error_code = do_post_job($`, $', $dependencies_hash) if ($' eq $post_job);
-# html_store_job_info($dependencies_hash, $job_dir, $error_code);
-# if ($error_code) {
-# # give windows (4nt) one more chance
-# if ($ENV{GUI} eq 'WNT' && !$cygwin) {
-# $error_code = do_post_job($`, $post_job, $dependencies_hash);
-# };
-# if ($error_code) {
-# $broken_modules_hashes{$dependencies_hash}++;
-# $broken_build{$job_dir} = $error_code;
-# }
-# } else {
-# RemoveFromDependencies($job_dir, $dependencies_hash);
-# };
return;
};
html_store_job_info($dependencies_hash, $job_dir);
@@ -1613,7 +1685,6 @@ sub build_multiprocessing {
# to build
do {
while ($Prj = PickPrjToBuild(\%global_deps_hash)) {
- my $module_type = $modules_types{$Prj};
push @build_queue, $Prj;
$projects_deps_hash{$Prj} = {};
get_deps_hash($Prj, $projects_deps_hash{$Prj});
@@ -1672,7 +1743,6 @@ sub build_actual_queue {
!$running_children{$projects_deps_hash{$Prj}}) {
if (!defined $broken_modules_hashes{$projects_deps_hash{$Prj}} || $ignore)
{
-# chdir(&CorrectPath($StandDir.$Prj));
RemoveFromDependencies($Prj, \%global_deps_hash);
$build_is_finished{$Prj}++;
splice (@$build_queue, $i, 1);
@@ -1725,11 +1795,11 @@ sub do_custom_job {
# html_store_job_info($dependencies_hash, $job_dir);
RemoveFromDependencies($module_job, $dependencies_hash);
} else {
- $error_code = run_job($job, CorrectPath($StandDir.$module), $module_job);
+ $error_code = run_job($job, $module_paths{$module}, $module_job);
if ($error_code) {
# give windows (4nt) one more chance
if ($ENV{GUI} eq 'WNT' && !$cygwin) {
- $error_code = run_job($job, CorrectPath($StandDir.$module), $module_job);
+ $error_code = run_job($job, $module_paths{$module}, $module_job);
};
};
if ($error_code) {
@@ -1743,27 +1813,6 @@ sub do_custom_job {
return $error_code;
};
-#sub do_pre_job {
-# my $module = shift;
-# announce_module($module);
-# if ($pre_custom_job && defined $modules_types{$module} && ($modules_types{$module} eq 'mod')) {
-# my $module_path = CorrectPath($StandDir.$module);
-# chdir $module_path;
-# getcwd();
-# my $cj_error_code = system ("$pre_custom_job");
-# print_error("Cannot run pre job \"$pre_custom_job\"") if ($cj_error_code);
-# };
-#};
-
-
-#sub do_post_custom_job {
-# my $module_path = shift;
-# chdir $module_path;
-# getcwd();
-# my $cj_error_code = system ("$post_custom_job");
-# print_error("Cannot run post job \"$post_custom_job\"") if ($cj_error_code);
-#};
-
#
# Print announcement for module just started
#
@@ -1779,7 +1828,11 @@ sub print_announce {
$prj_type = $modules_types{$Prj} if (defined $modules_types{$Prj});
my $text;
if ($prj_type eq 'lnk') {
- $text = "Skipping link to $Prj\n";
+ if (scalar keys %active_modules && (!defined $active_modules{$Prj})) {
+ $text = "Skipping module $Prj\n";
+ } else {
+ $text = "Skipping link to $Prj\n";
+ };
$build_is_finished{$Prj}++;
} elsif ($prj_type eq 'img') {
# return if (defined $module_announced{$`});
@@ -1815,15 +1868,16 @@ sub are_all_dependent {
sub modules_classify {
my @modules = @_;
foreach my $module (sort @modules) {
- if ((-e $StandDir.$module.'.lnk') || (-e $StandDir.$module.'.link')) {
- $modules_types{$module} = 'lnk';
+ if (!defined $module_paths{$module}) {
+ $modules_types{$module} = 'img';
next;
};
- if (-d $StandDir.$module) {
- $modules_types{$module} = 'mod';
+ if (( $module_paths{$module} =~ /\.lnk$/) || ($module_paths{$module} =~ /\.link$/)
+ || (scalar keys %active_modules && (!defined $active_modules{$module}))) {
+ $modules_types{$module} = 'lnk';
next;
};
- $modules_types{$module} = 'img';
+ $modules_types{$module} = 'mod';
};
};
@@ -1834,12 +1888,10 @@ sub modules_classify {
#
sub provide_consistency {
check_dir();
- foreach $var_ref (\$build_from, \$build_all_cont, \$build_since) {
- if ($$var_ref) {
- return if (-d $StandDir.$$var_ref);
- $$var_ref .= '.lnk' and return if (-d $StandDir.$$var_ref.'.lnk');
- $$var_ref .= '.link' and return if (-d $StandDir.$$var_ref.'.link');
- print_error("Cannot find module '$$var_ref'", 9);
+ foreach my $module_ref (\$build_from, \$build_all_cont, \$build_since) {
+ if ($$module_ref) {
+ return if (defined $module_paths{$$module_ref});
+ print_error("Cannot find module '$$module_ref'", 9);
return;
};
};
@@ -1874,16 +1926,16 @@ sub get_workspace_lst
#
sub ensure_clear_module {
my $module = shift;
- my $module_type = $modules_types{$module};
- if ($module_type eq 'mod') {
+ if ($modules_types{$module} eq 'mod') {
clear_module($module);
return;
};
- if ($module_type eq 'lnk') {
- if((!rename("$StandDir$module.lnk", "$StandDir$module")) && (!rename("$StandDir$module.link", "$StandDir$module"))) {
- print_error("Cannot rename link to $module. Please rename it manually");
- } else {
+ if ($modules_types{$module} eq 'lnk' && (File::Basename::basename($module_paths{$module}) ne $module)) {
+ if(rename($module_paths{$module}, File::Basename::dirname($module_paths{$module}) ."/$module")) {
+ $module_paths{$module} = File::Basename::dirname($module_paths{$module}) ."/$module";
clear_module($module);
+ } else {
+ print_error("Cannot rename link to $module. Please rename it manually");
};
};
};
@@ -1895,12 +1947,12 @@ sub clear_module {
my $module = shift;
print "Removing module's $module output trees...\n";
print "\n" and return if ($show);
- opendir DIRHANDLE, $StandDir.$module;
+ opendir DIRHANDLE, $module_paths{$module};
my @dir_content = readdir(DIRHANDLE);
closedir(DIRHANDLE);
foreach (@dir_content) {
next if (/^\.+$/);
- my $dir = CorrectPath($StandDir.$module.'/'.$_);
+ my $dir = CorrectPath($module_paths{$module}.'/'.$_);
if ((!-d $dir.'/.svn') && is_output_tree($dir)) {
#print "I would delete $dir\n";
rmtree("$dir", 0, 1) if ($ENV{USE_SHELL} ne '4nt');
@@ -1939,16 +1991,21 @@ sub is_output_tree {
sub get_tmp_dir {
my $tmp_dir;
- if( defined($ENV{TMP}) ) {
+ if( defined($ENV{TMPDIR}) ) {
+ $tmp_dir = $ENV{TMPDIR} . '/';
+ } elsif( defined($ENV{TMP}) ) {
$tmp_dir = $ENV{TMP} . '/';
} else {
$tmp_dir = '/tmp/';
}
- $tmp_dir .= $$ while (-e $tmp_dir);
- $tmp_dir = CorrectPath($tmp_dir);
- eval {mkpath($tmp_dir)};
- print_error("Cannot create temporary directory in $tmp_dir") if ($@);
- return $tmp_dir;
+
+ return File::Temp::tempdir(DIR =>$tmp_dir);
+
+# $tmp_dir .= $$ while (-e $tmp_dir);
+# $tmp_dir = CorrectPath($tmp_dir);
+# eval {mkpath($tmp_dir)};
+# print_error("Cannot create temporary directory in $tmp_dir") if ($@);
+# return $tmp_dir;
};
@@ -1998,8 +2055,8 @@ sub prepare_incompatible_build {
foreach (keys %incompatibles) {
my $incomp_prj = $_;
if (!defined $$deps_hash{$_}) {
- $incomp_prj .= '.lnk' if (-e $StandDir.$incomp_prj . '.lnk');
- $incomp_prj .= '.link' if (-e $StandDir.$incomp_prj . '.link');
+ $incomp_prj .= '.lnk' if ($module_paths{$module} =~ /\.lnk$/);
+ $incomp_prj .= '.link' if ($module_paths{$module} =~ /\.link$/);
}
delete $incompatibles{$_};
$incompatibles{$incomp_prj} = $$deps_hash{$incomp_prj};
@@ -2026,7 +2083,7 @@ sub prepare_incompatible_build {
next if ($show);
if ($modules_types{$prj} ne 'mod') {
push(@missing_modules, $prj);
- } elsif (-d CorrectPath($StandDir.$prj.'/'. $ENV{INPATH})) {
+ } elsif (-d $module_paths{$prj}. '/'. $ENV{INPATH}) {
$old_output_tree++;
};
};
@@ -2116,6 +2173,29 @@ sub get_modes {
$build_modes{$option}++;
};
+sub get_list_of_modules {
+ my $option = '';
+ my $hash_ref = shift;
+ while ($option = shift @ARGV) {
+ if ($option =~ /^-+/) {
+ unshift(@ARGV, $option);
+ return;
+ } else {
+ if ($option =~ /,/) {
+ foreach (split /,/, $option) {
+ next if (!$_);
+ $$hash_ref{$_}++;
+ };
+ } else {
+ $$hash_ref{$option}++;
+ };
+ };
+ };
+ if (!scalar %$hash_ref) {
+ print_error('No module list supplied!!');
+ };
+};
+
sub get_incomp_projects {
my $option = '';
while ($option = shift @ARGV) {
@@ -2199,8 +2279,7 @@ sub clear_delivered {
my $undeliver = "$deliver_command $deliver_delete_switches $nul";
# my $current_dir = getcwd();
foreach my $module (sort @modules_built) {
- my $module_path = CorrectPath($StandDir.$module);
- if (!(chdir($module_path.'.lnk') or chdir($module_path.'.link') or chdir($module_path))) {
+ if (chdir($module_paths{$module})) {
push(@warnings, "Could not remove delivered files from the module $module. Your build can become inconsistent.\n");
} else {
print "Removing delivered from module $module\n";
@@ -2307,7 +2386,7 @@ sub check_dir {
my @dir_entries = split(/[\\\/]/, $start_dir);
my $current_module = $dir_entries[$#dir_entries];
$current_module = $` if (($current_module =~ /(\.lnk)$/) || ($current_module =~ /(\.link)$/));
- my $link_name = $ENV{SRC_ROOT}.'/'.$current_module.$1;
+ my $link_name = $ENV{SOLARSRC}.'/'.$current_module.$1;
if ( $^O eq 'MSWin32' ) {
$start_dir =~ s/\\/\//go;
$link_name =~ s/\\/\//go;
@@ -2316,8 +2395,8 @@ sub check_dir {
};
} elsif ((-l $link_name) && (chdir $link_name)) {
if ($start_dir eq getcwd()) {
- # we're dealing with link => fallback to SRC_ROOT under UNIX
- $StandDir = $ENV{SRC_ROOT}.'/';
+ # we're dealing with link => fallback to SOLARSRC under UNIX
+ $StandDir = $ENV{SOLARSRC}.'/';
get_current_module($current_module);
return;
} else {
@@ -2377,52 +2456,6 @@ sub do_exit {
exit($exit_code);
};
-#sub get_post_job {
-# my $job = $deliver_command;
-# $job = $custom_job if ($custom_job);
-# return $job;
-#};
-
-#sub do_post_job {
-# my $job = get_post_job();
-# if ($show) {
-# print $job . "\n";
-# return;
-# }
-# my $module = shift;
-# my $post_job_name = shift;
-# delete $build_in_progress{$module};
-# $module_path = CorrectPath($StandDir.$module);
-# my $error_code = undef;
-# if ($cmd_file) {
-# print "cd $module_path\n";
-# print "$job\n";
-# } else {
-# chdir $module_path;
-# getcwd();
-# if ($html) {
-# # tested on Linux only!!
-# my $log_file = $jobs_hash{$post_job_name}->{LONG_LOG_PATH};
-# my $log_dir = File::Basename::dirname($log_file);
-# if (!-d $log_dir) {
-# eval {mkpath($log_dir)};
-# print_error("Cannot create log directory $log_dir") if ($@);
-# };
-# $error_code = system ("$job > $log_file 2>&1");
-# if (!$grab_output && -f $log_file) {
-# system("cat $log_file");
-# };
-# } else {
-# $error_code = system ("$job");
-# }
-# };
-# $build_is_finished{$module}++ if (!defined $modules_with_errors{$module});
-# if (!$error_code && $post_custom_job) {
-# do_post_custom_job(CorrectPath($StandDir.$module));
-# };
-# return $error_code;
-#};
-
#
# Procedure sorts module in user-frendly order
#
@@ -2454,19 +2487,11 @@ sub sort_modules_appearance {
sub generate_html_file {
return if (!$html);
my $force_update = shift;
-# $force_update = 1;
-# my $html_file = CorrectPath($ENV{HOME} . '/work/' . $ENV{INPATH}. '.build.html');
-# my $write_secs = (stat($html_file))[9];
-# my @stat = stat($html_file);
-# if (defined $write_secs) {
- # Regular update no often than once in 5 sec
-# return if (!$force_update && (time - $html_last_updated < 5));
-# }
$html_last_updated = time;
my @modules_order = sort_modules_appearance();
my ($successes_percent, $errors_percent) = get_progress_percentage(scalar keys %html_info, scalar keys %build_is_finished, scalar keys %modules_with_errors);
my $build_duration = get_time_line(time - $build_time);
- my $temp_html_file = File::Temp::tmpnam($ENV{TMP}),#scalar tmpnam();
+ my $temp_html_file = File::Temp::tmpnam($tmp_dir);
my $title;
$title = $ENV{CWS_WORK_STAMP} . ': ' if (defined $ENV{CWS_WORK_STAMP});
$title .= $ENV{INPATH};
@@ -2523,6 +2548,7 @@ sub generate_html_file {
foreach (@modules_order) {
next if ($modules_types{$_} eq 'lnk');
+ next if (scalar keys %active_modules && (!defined $active_modules{$_}));
my ($errors_info_line, $dirs_info_line, $errors_number, $successes_percent, $errors_percent, $time) = get_html_info($_);
#<one module>
print HTML 'document.write(" <tr>");' . "\n";
@@ -2788,13 +2814,7 @@ sub generate_html_file {
print HTML '};' . "\n";
print HTML '</script><noscript>Your browser doesn\'t support JavaScript!</noscript></head></html>' . "\n";
close HTML;
-
- if(-e $temp_html_file) {
- rename($temp_html_file, $html_file) or system("mv", $temp_html_file, $html_file);
- if (-e $temp_html_file) {
- system("rm -rf $temp_html_file") if (!unlink $temp_html_file);
- };
- };
+ rename_file($temp_html_file, $html_file);
};
sub get_local_time_line {
@@ -2909,7 +2929,6 @@ sub html_store_job_info {
}
my $module = $module_by_hash{$deps_hash};
my $module_info_hash = $html_info{$module};
-# $$module_info_hash{BUILD_TIME} += $jobs_hash{$build_dir}->{FINISH_TIME} - $jobs_hash{$build_dir}->{START_TIME};
my $dmake_array;
if (defined $error_code) {
$jobs_hash{$build_dir}->{FINISH_TIME} = time();
@@ -2925,29 +2944,8 @@ sub html_store_job_info {
};
push (@$dmake_array, $build_dir);
};
-# generate_html_file($force_update);
};
-#sub close_server_socket {
-# # Actually, the "or warn..." part is for debugging,
-# # should be removed for release
-# if (defined $new_socket_obj) {
-# print $new_socket_obj 'No job';
-# close($new_socket_obj) or warn $! ? "Error closing connection: $!"
-# : "Exit status $? from closing connection";
-# };
-# if (defined $socket_obj) {
-# close($socket_obj) or warn $! ? "Error closing server socket: $!"
-# : "Exit status $? from closing server socket";
-# };
-#};
-
-#sub stop_server {
-# close_server_socket();
-# print "Server terminated\n";
-# exit($?);
-#};
-
sub start_server_on_port {
my $port = shift;
if ($ENV{GUI} eq 'WNT') {
@@ -3033,10 +3031,8 @@ sub run_server {
my $client_ipnum = $new_socket_obj->peerhost();
my $client_host = gethostbyaddr(inet_aton($client_ipnum), AF_INET);
# print who is connected
-# print "got a connection from: $client_host", "[$client_ipnum]\n";
# send them a message, close connection
my $client_message = <$new_socket_obj>;
-# print $client_message;
chomp $client_message;
my @client_data = split(/ /, $client_message);
my %client_hash = ();
@@ -3052,7 +3048,6 @@ sub run_server {
next;
};
} else {
-# handle_dead_children(0);
if ($client_hash{result} eq "0") {
# print "$clients_jobs{$pid} succedded on $pid\n";
} else {
@@ -3128,12 +3123,6 @@ sub get_job_string {
if ($job_dir =~ /(\s)$pre_job/o) {
do_custom_job($job_dir, $dependencies_hash);
$job_dir = '';
-# if ($' eq $pre_job) {
-# do_pre_job($`, $pre_job);
-# html_store_job_info($dependencies_hash, $job_dir, undef);
-# RemoveFromDependencies($job_dir, $dependencies_hash);
-# $job_dir = '';
-# };
};
} while (!$job_dir);
} else {
@@ -3150,24 +3139,19 @@ sub get_job_string {
if ($job_dir =~ /(\s)$pre_job/o) {
# if ($' eq $pre_job) {
do_custom_job($job_dir, $dependencies_hash);
-# do_pre_job($`, $pre_job);
-# html_store_job_info($dependencies_hash, $job_dir, undef);
-# RemoveFromDependencies($job_dir, $dependencies_hash);
$job_dir = '';
# }
};
} while (!$job_dir);
};
$running_children{$dependencies_hash}++;
-# $processes_hash{$pid} = $job_dir;
$folders_hashes{$job_dir} = $dependencies_hash;
my $log_file = $jobs_hash{$job_dir}->{LONG_LOG_PATH};
-# $jobs_hash{$job_dir}->{CLIENT} = $pid;
my $full_job_dir = $job_dir;
if ($job_dir =~ /(\s)/o) {
$job = $';
$job = $deliver_command if ($job eq $post_job);
- $full_job_dir = CorrectPath($StandDir.$`);
+ $full_job_dir = $module_paths{$`};
}
my $log_dir = File::Basename::dirname($log_file);
if (!-d $log_dir) {
@@ -3215,7 +3199,6 @@ sub fill_modules_queue {
my $build_queue = shift;
my $Prj;
while ($Prj = PickPrjToBuild(\%global_deps_hash)) {
- my $module_type = $modules_types{$Prj};
push @$build_queue, $Prj;
$projects_deps_hash{$Prj} = {};
get_deps_hash($Prj, $projects_deps_hash{$Prj});
diff --git a/solenv/bin/cws.pl b/solenv/bin/cws.pl
index 288b908ea7fe..ce6eaa015a91 100644
--- a/solenv/bin/cws.pl
+++ b/solenv/bin/cws.pl
@@ -69,22 +69,24 @@ my @valid_commands = (
'task', 't',
'integrate',
'cdiff', 'cd',
- 'eisclone'
+ 'eisclone',
+ 'setcurrent'
);
# list the valid options to each command
my %valid_options_hash = (
- 'help' => ['help'],
- 'create' => ['help', 'milestone', 'migration'],
- 'fetch' => ['help', 'switch', 'milestone', 'childworkspace','platforms','quiet',
+ 'help' => ['help'],
+ 'create' => ['help', 'milestone', 'migration', 'hg'],
+ 'fetch' => ['help', 'switch', 'milestone', 'childworkspace','platforms','quiet',
'onlysolver'],
- 'rebase' => ['help', 'milestone','commit'],
- 'analyze' => ['help'],
- 'query' => ['help', 'milestone','masterworkspace','childworkspace'],
- 'task' => ['help'],
- 'integrate' => ['help', 'childworkspace'],
- 'cdiff' => ['help', 'childworkspace', 'masterworkspace', 'files', 'modules'],
- 'eisclone' => ['help']
+ 'rebase' => ['help', 'milestone','commit'],
+ 'analyze' => ['help'],
+ 'query' => ['help', 'milestone','masterworkspace','childworkspace'],
+ 'task' => ['help'],
+ 'integrate' => ['help', 'childworkspace'],
+ 'cdiff' => ['help', 'childworkspace', 'masterworkspace', 'files', 'modules'],
+ 'setcurrent' => ['help', 'milestone'],
+ 'eisclone' => ['help']
);
my %valid_commands_hash;
@@ -115,6 +117,7 @@ sub parse_command_line
Getopt::Long::Configure ("no_auto_abbrev", "no_ignorecase");
my $success = GetOptions(\%options_hash, 'milestone|m=s',
'masterworkspace|master|M=s',
+ 'hg',
'migration',
'childworkspace|child|c=s',
'debug',
@@ -365,6 +368,7 @@ sub get_cws_by_name
sub register_child_workspace
{
my $cws = shift;
+ my $scm = shift;
my $is_promotion = shift;
my $milestone = $cws->milestone();
@@ -387,9 +391,9 @@ sub register_child_workspace
}
if ( $is_promotion ) {
- my $rc = $cws->set_subversion_flag(1);
+ my $rc = $cws->set_scm($scm);
if ( !$rc ) {
- print_error("Failed to set subversion flag on child workspace '$child'.\nContact EIS administrator!\n", 12);
+ print_error("Failed to set the SCM property '$scm' on child workspace '$child'.\nContact EIS administrator!\n", 12);
}
$rc = $cws->promote($vcsid, "");
@@ -410,9 +414,9 @@ sub register_child_workspace
print_error("Failed to register child workspace '$child' for master '$master'.", 12);
}
else {
- my $rc = $cws->set_subversion_flag(1);
+ my $rc = $cws->set_scm($scm);
if ( !$rc ) {
- print_error("Failed to set subversion flag on child workspace '$child'.\nContact EIS administrator!\n", 12);
+ print_error("Failed to set the SCM property '$scm' on child workspace '$child'.\nContact EIS administrator!\n", 12);
}
print "\n***** Successfully ***** registered child workspace '$child'\n";
print "for master workspace '$master' (milestone '$milestone').\n";
@@ -435,7 +439,7 @@ sub query_cws
print_error("Can't determine master workspace environment.\n", 30);
}
- if ( ($query_mode eq 'integratedinto' || $query_mode eq 'incompatible' || $query_mode eq 'taskids' || $query_mode eq 'state' || $query_mode eq 'current' || $query_mode eq 'owner' || $query_mode eq 'qarep' || $query_mode eq 'issubversion' || $query_mode eq 'ispublic' || $query_mode eq 'build') && !defined($childws) ) {
+ if ( ($query_mode eq 'integratedinto' || $query_mode eq 'incompatible' || $query_mode eq 'taskids' || $query_mode eq 'status' || $query_mode eq 'current' || $query_mode eq 'owner' || $query_mode eq 'qarep' || $query_mode eq 'issubversion' || $query_mode eq 'ispublic' || $query_mode eq 'build') && !defined($childws) ) {
print_error("Can't determine child workspace environment.\n", 30);
}
@@ -512,31 +516,21 @@ sub query_status
return;
}
-sub query_vcs
+sub query_scm
{
my $cws = shift;
my $masterws = $cws->master();
my $childws = $cws->child();
if ( is_valid_cws($cws) ) {
- my $issvn = $cws->get_subversion_flag();
- if ( !defined($issvn) ) {
- print_error("Internal error: can't get isSubVersion flag.", 3);
+ my $scm = $cws->get_scm();
+ if ( !defined($scm) ) {
+ print_error("Internal error: can't retrieve scm info.", 3);
} else {
- if ( $issvn==1 ) {
- print_message("Child workspace uses SubVersion");
- } else {
- print_message("Child workspace uses CVS");
- }
+ print_message("Child workspace uses '$scm'.");
}
}
- # check if we got a valid child workspace
- my $id = $cws->eis_id();
- if ( !$id ) {
- print_error("Child workspace '$childws' for master workspace '$masterws' not found in EIS database.", 2);
- }
-
return;
}
@@ -559,12 +553,6 @@ sub query_ispublic
}
}
- # check if we got a valid child workspace
- my $id = $cws->eis_id();
- if ( !$id ) {
- print_error("Child workspace '$childws' for master workspace '$masterws' not found in EIS database.", 2);
- }
-
return;
}
@@ -1248,6 +1236,7 @@ sub do_help
print STDERR "\tquery (q)\n";
print STDERR "\ttask (t)\n";
print STDERR "\tcdiff (cd)\n";
+ print STDERR "\tsetcurrent\n";
print STDERR "\tintegrate *** release engineers only ***\n";
print STDERR "\teisclone *** release engineers only ***\n";
}
@@ -1260,10 +1249,11 @@ sub do_help
}
elsif ($arg eq 'create') {
print STDERR "create: Create a new child workspace\n";
- print STDERR "usage: create [-m milestone] <master workspace> <child workspace>\n";
+ print STDERR "usage: create [--hg] [-m milestone] <master workspace> <child workspace>\n";
print STDERR "\t-m milestone: Milestone to base the child workspace on. If ommitted the\n";
print STDERR "\t last published milestone will be used.\n";
print STDERR "\t--milestone milestone: Same as -m milestone.\n";
+ print STDERR "\t--hg: Create Mercurial (hg) based CWS.\n";
print STDERR "\t--migration: Used only for the migration of an exitisting CWS from CVS to SVN.\n";
print STDERR "\t Disables existence check in EIS, creates CWS branch in SVN, sets SVN flag.\n";
}
@@ -1274,7 +1264,7 @@ sub do_help
elsif ($arg eq 'query') {
print STDERR "query: Query child workspace for miscellaneous information\n";
print STDERR "usage: query [-M master] [-c child] <current|integratedinto|incompatible|owner|qarep|status|taskids>\n";
- print STDERR " query [-M master] [-c child] <release|due|due_qa|help|ui|ispublic|vcs|build>\n";
+ print STDERR " query [-M master] [-c child] <release|due|due_qa|help|ui|ispublic|scm|build>\n";
print STDERR " query [-M master] <latest|milestones|ispublicmaster>\n";
print STDERR " query <masters>\n";
print STDERR " query [-M master] [-m milestone] <integrated|buildid>\n";
@@ -1308,7 +1298,7 @@ sub do_help
print STDERR "\tnominated\tquery nominated CWSs\n";
print STDERR "\tready\t\tquery CWSs ready for QA\n";
print STDERR "\tispublic\tquery public flag of CWS\n";
- print STDERR "\tvcs\t\tquery Version Control System used for CWS (either CVS or SubVersion)\n";
+ print STDERR "\tscm\t\tquery Source Control Management (SCM) system used for CWS\n";
print STDERR "\tmasters\t\tquery available MWS\n";
print STDERR "\tmilestones\tquery which milestones are know on the given MWS\n";
print STDERR "\tispublicmaster\tquery public flag of MWS\n";
@@ -1367,6 +1357,14 @@ sub do_help
print STDERR "\t--files: Print only file names\n";
print STDERR "\t--modules: Print only top level directories aka modules\n"
}
+ elsif ($arg eq 'setcurrent') {
+ print STDERR "setcurrent: Set the current milestone for the CWS (only hg based CWSs)\n";
+ print STDERR "usage: setcurrent [-m milestone]\n";
+ print STDERR "\t-m milestone: Set milestone to <milestone> to workspace <workspace>\n";
+ print STDERR "\t Use 'latest' for the for lastest published milestone on the current master\n";
+ print STDERR "\t For cross master change use the form <MWS>:<milestone>\n";
+ print STDERR "\t--milestone milestone: Same as -m milestone\n";
+ }
else {
print STDERR "'$arg': unknown subcommand\n";
exit(1);
@@ -1389,6 +1387,11 @@ sub do_create
$is_migration = 1;
}
+ my $is_hg = 0;
+ if ( exists $options_ref->{'hg'} ) {
+ $is_hg = 1;
+ }
+
my $master = uc $args_ref->[0];
my $cws_name = $args_ref->[1];
@@ -1449,6 +1452,11 @@ sub do_create
# set milestone
$cws->milestone($milestone);
+ # handle mercurial(hg) based CWSs
+ if ( $is_hg ) {
+ register_child_workspace($cws, 'hg', $is_promotion);
+ return;
+ }
my $config = CwsConfig->new();
my $ooo_svn_server = $config->get_ooo_svn_server();
@@ -1550,7 +1558,7 @@ sub do_create
}
}
else {
- register_child_workspace($cws, $is_promotion);
+ register_child_workspace($cws, 'svn', $is_promotion);
}
return;
}
@@ -1605,7 +1613,7 @@ sub do_rebase
print_error("Can't determine latest milestone of '$old_masterws' available for rebase.", 22);
}
$new_masterws = $old_masterws;
- $new_milestone = $cws->get_current_milestone($old_masterws);
+ $new_milestone = $latest;
}
else {
($new_masterws, $new_milestone) = verify_milestone($cws, $milestone);
@@ -1695,7 +1703,7 @@ sub do_rebase
}
- print_message("... updating EIS database\n");
+ print_message("... updating EIS database");
my $push_return = $cws->set_master_and_milestone($new_masterws, $new_milestone);
# sanity check
if ( $$push_return[1] ne $new_milestone) {
@@ -1987,7 +1995,7 @@ sub do_query
my $options_ref = shift;
# list of available query modes
- my @query_modes = qw(integratedinto incompatible taskids status latest current owner qarep build buildid integrated approved nominated ready new planned release due due_qa help ui milestones masters vcs ispublic ispublicmaster);
+ my @query_modes = qw(integratedinto incompatible taskids status latest current owner qarep build buildid integrated approved nominated ready new planned release due due_qa help ui milestones masters scm ispublic ispublicmaster);
my %query_modes_hash = ();
foreach (@query_modes) {
$query_modes_hash{$_}++;
@@ -2002,6 +2010,10 @@ sub do_query
# with CVS etc. 'state' is still an alias for 'status'
$mode = 'status' if $mode eq 'state';
+ # cwquery mode 'vcs' has been renamed to 'scm' to be more consistent
+ # with general use etc. 'vcs' is still an alias for 'scm'
+ $mode = 'scm' if $mode eq 'vcs';
+
# there will be more query modes over time
if ( !exists $query_modes_hash{$mode} ) {
do_help(['query']);
@@ -2172,6 +2184,46 @@ sub do_cdiff
}
+sub do_setcurrent
+{
+ my $args_ref = shift;
+ my $options_ref = shift;
+
+ if ( exists $options_ref->{'help'} || @{$args_ref} != 0) {
+ do_help(['setcurrent']);
+ }
+
+ if ( !exists $options_ref->{'milestone'} ) {
+ do_help(['setcurrent']);
+ }
+
+ my $cws = get_cws_from_environment();
+ my $old_masterws = $cws->master();
+ my $new_masterws;
+ my $new_milestone;
+
+ my $milestone = $options_ref->{'milestone'};
+ if ( $milestone eq 'latest' ) {
+ my $latest = $cws->get_current_milestone($old_masterws);
+
+ if ( !$latest ) {
+ print_error("Can't determine latest milestone of '$old_masterws'.", 22);
+ }
+ $new_masterws = $old_masterws;
+ $new_milestone = $latest;
+ }
+ else {
+ ($new_masterws, $new_milestone) = verify_milestone($cws, $milestone);
+ }
+
+ print_message("... updating EIS database");
+ my $push_return = $cws->set_master_and_milestone($new_masterws, $new_milestone);
+ # sanity check
+ if ( $$push_return[1] ne $new_milestone) {
+ print_error("Couldn't push new milestone '$new_milestone' to database", 0);
+ }
+}
+
sub do_eisclone
{
my $args_ref = shift;
diff --git a/solenv/bin/deliver.pl b/solenv/bin/deliver.pl
index 74ed2020184a..23fe16f2e5e6 100755
--- a/solenv/bin/deliver.pl
+++ b/solenv/bin/deliver.pl
@@ -1225,7 +1225,19 @@ sub zip_files
$work_file =~ s/\.zip$//;
$work_file .= (sprintf('.%d-%d', $$, time())) . ".zip";
die "Error: temp file $work_file already exists" if ( -e $work_file);
- copy($zip_file, $work_file) if ( -e $zip_file );
+ if ( -e $zip_file ) {
+ if ( -z $zip_file) {
+ # sometimes there are files of 0 byte size - remove them
+ unlink $zip_file or print_error("can't remove empty file '$zip_file': $!",0);
+ } else {
+ if ( ! copy($zip_file, $work_file)) {
+ # give a warning, not an error:
+ # we can zip from scratch instead of just updating the old zip file
+ print_warning("can't copy'$zip_file' into '$work_file': $!", 0);
+ unlink $work_file;
+ }
+ }
+ }
} else {
# No pre processing necessary, working directly on solver.
$work_file = $zip_file;
@@ -1267,9 +1279,21 @@ sub zip_files
} elsif ( $zip_file eq $common_zip_file) {
# rename work file back
if ( -e $work_file ) {
- if (! rename($work_file, $zip_file)) {
- print_error("can't rename temporary file to $zip_file: $!",0);
- unlink $work_file;
+ if ( -e $zip_file) {
+ # do some tricks to be fast. otherwise we may disturb other platforms
+ # by unlinking a file which just gets copied -> stale file handle.
+ my $buffer_file=$work_file . '_rm';
+ rename($zip_file, $buffer_file) or warn "Warning: can't rename old zip file '$zip_file': $!";
+ if (! rename($work_file, $zip_file)) {
+ print_error("can't rename temporary file to $zip_file: $!",0);
+ unlink $work_file;
+ }
+ unlink $buffer_file;
+ } else {
+ if (! rename($work_file, $zip_file)) {
+ print_error("can't rename temporary file to $zip_file: $!",0);
+ unlink $work_file;
+ }
}
}
}
diff --git a/solenv/bin/macosx-change-install-names.pl b/solenv/bin/macosx-change-install-names.pl
index fcda2621abc5..5e7064631ec0 100644
--- a/solenv/bin/macosx-change-install-names.pl
+++ b/solenv/bin/macosx-change-install-names.pl
@@ -61,16 +61,18 @@ if ($type eq "extshl")
{
$type = "shl";
my $change = "";
+ my %inames;
foreach $file (@ARGV)
{
- otoolD($file) =~ m'^(.*?([^/]+))\n$' or
+ my $iname = otoolD($file);
+ (defined $iname ? $iname : $file . "\n") =~ m'^(.*?([^/]+))\n$' or
die "unexpected otool -D output";
$change .= " -change $1 " . action($type, $loc, $loc) . "/$2";
- $iname{$file} = $2;
+ $inames{$file} = $2;
}
foreach $file (@ARGV)
{
- my $call = "install_name_tool$change -id \@__________________________________________________$loc/$iname{$file} $file";
+ my $call = "install_name_tool$change -id \@__________________________________________________$loc/$inames{$file} $file";
system($call) == 0 or die "cannot $call";
}
}
diff --git a/solenv/bin/make_installer.pl b/solenv/bin/make_installer.pl
index 13052fa1a116..6458fbfdc5cb 100644
--- a/solenv/bin/make_installer.pl
+++ b/solenv/bin/make_installer.pl
@@ -408,8 +408,12 @@ installer::logger::print_message( "... analyzing directories ... \n" );
my $dirsinproductarrayref = installer::setupscript::get_all_items_from_script($setupscriptref, "Directory");
if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productdirectories1.log", $dirsinproductarrayref); }
-if ( $allvariableshashref->{'SHIFT_BASIS_INTO_BRAND_LAYER'} ) { $dirsinproductarrayref = installer::scriptitems::shift_basis_directory_parents($dirsinproductarrayref); }
+if ( $installer::globals::languagepack ) { installer::scriptitems::use_langpack_hostname($dirsinproductarrayref); }
+if ( $installer::globals::patch ) { installer::scriptitems::use_patch_hostname($dirsinproductarrayref); }
if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productdirectories1a.log", $dirsinproductarrayref); }
+
+if ( $allvariableshashref->{'SHIFT_BASIS_INTO_BRAND_LAYER'} ) { $dirsinproductarrayref = installer::scriptitems::shift_basis_directory_parents($dirsinproductarrayref); }
+if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productdirectories1b.log", $dirsinproductarrayref); }
if ( $allvariableshashref->{'OFFICEDIRECTORYNAME'} ) { installer::scriptitems::set_officedirectory_name($dirsinproductarrayref, $allvariableshashref->{'OFFICEDIRECTORYNAME'}); }
if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productdirectories1b.log", $dirsinproductarrayref); }
@@ -472,6 +476,10 @@ if (( ! $allvariableshashref->{'XPDINSTALLER'} ) || ( ! $installer::globals::isx
if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productscpactions1a.log", $scpactionsinproductarrayref); }
}
+if ( $installer::globals::languagepack ) { installer::scriptitems::use_langpack_copy_scpaction($scpactionsinproductarrayref); }
+if ( $installer::globals::patch ) { installer::scriptitems::use_patch_copy_scpaction($scpactionsinproductarrayref); }
+if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productscpactions1b.log", $scpactionsinproductarrayref); }
+
# $scpactionsinproductarrayref = installer::scriptitems::remove_scpactions_without_name($scpactionsinproductarrayref);
# if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productscpactions2.log", $scpactionsinproductarrayref); }
@@ -1008,7 +1016,7 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
my $profilesinproductlanguageresolvedarrayref;
my $profileitemsinproductlanguageresolvedarrayref;
- if ((!($installer::globals::is_copy_only_project)) && (!($installer::globals::product =~ /ada/i )))
+ if ((!($installer::globals::is_copy_only_project)) && (!($installer::globals::product =~ /ada/i )) && (!($installer::globals::languagepack)))
{
installer::logger::print_message( "... creating profiles ...\n" );
@@ -1363,7 +1371,7 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
# try it again later.
####################################################
- if (( $installer::globals::patch ) || ( $installer::globals::languagepack ) || ( $installer::globals::packageformat eq "native" )) { $allvariableshashref->{'POOLPRODUCT'} = 0; }
+ if (( $installer::globals::patch ) || ( $installer::globals::languagepack ) || ( $installer::globals::packageformat eq "native" ) || ( $installer::globals::packageformat eq "osx" )) { $allvariableshashref->{'POOLPRODUCT'} = 0; }
if ( $allvariableshashref->{'POOLPRODUCT'} )
{
diff --git a/solenv/bin/mhids.pl b/solenv/bin/mhids.pl
index 73fcbb468b0a..6970ad275c3f 100644
--- a/solenv/bin/mhids.pl
+++ b/solenv/bin/mhids.pl
@@ -120,8 +120,13 @@ if ( $ENV{NO_HID_FILES} ) {
$no_hid_files = $ENV{"NO_HID_FILES"};
}
$solarincludes = $ENV{SOLARINCLUDES};
-$tmpdir = $ENV{TMP};
-die "ERROR - \"TMP\" environment variable not set\n" if ( !defined $tmpdir );
+if (defined $ENV{TMPDIR}) {
+ $tmpdir = $ENV{TMPDIR};
+} elsif (defined $ENV{TMP}) {
+ $tmpdir = $ENV{TMP};
+} else {
+ die "ERROR - \"TMPDIR\" & \"TMP\" environment variables not set\n";
+};
die "ERROR - \"$tmpdir\" doesn't exist\n" if ( ! -d $tmpdir );
setcompiler();
diff --git a/solenv/bin/modules/Cws.pm b/solenv/bin/modules/Cws.pm
index c40a2ceb673f..d5516bd79e66 100755
--- a/solenv/bin/modules/Cws.pm
+++ b/solenv/bin/modules/Cws.pm
@@ -493,6 +493,19 @@ sub set_subversion_flag {
return $self->set_subversion_flag_in_eis($value);
}
+sub get_scm {
+ my $self = shift;
+
+ return $self->get_scm_from_eis();
+}
+
+sub set_scm {
+ my $self = shift;
+ my $scm_name = shift;
+
+ return $self->set_scm_in_eis($scm_name);
+}
+
# Check if milestone exists
sub is_milestone
@@ -1790,6 +1803,46 @@ sub set_subversion_flag_in_eis
return $result;
}
+sub get_scm_from_eis
+{
+ my $self = shift;
+
+ # check if child workspace is valid
+ my $id = $self->eis_id();
+ if ( !$id ) {
+ carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
+ return undef;
+ }
+
+ my $eis = Cws::eis();
+ my $result;
+ eval { $result = $eis->getSCMName($id) };
+ if ( $@ ) {
+ carp("ERROR: get_scm_from_eis(): EIS database transaction failed. Reason:\n$@\n");
+ }
+ return $result;
+}
+
+sub set_scm_in_eis
+{
+ my $self = shift;
+ my $scm_name = shift;
+
+ # check if child workspace is valid
+ my $id = $self->eis_id();
+ if ( !$id ) {
+ carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
+ return undef;
+ }
+
+ my $eis = Cws::eis();
+ eval { $eis->setSCMName($id, $scm_name) };
+ if ( $@ ) {
+ carp("ERROR: set_scm_in_eis(): EIS database transaction failed. Reason:\n$@\n");
+ return 0;
+ }
+ return 1;
+}
sub is_uirelevant_from_eis
{
diff --git a/solenv/bin/modules/SourceConfig.pm b/solenv/bin/modules/SourceConfig.pm
new file mode 100644
index 000000000000..b1005b26d6c7
--- /dev/null
+++ b/solenv/bin/modules/SourceConfig.pm
@@ -0,0 +1,331 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2008 by Sun Microsystems, Inc.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# $RCSfile: SourceConfig.pm,v $
+#
+# $Revision: 1.0 $
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+#*************************************************************************
+#
+# SourceConfig - Perl extension for parsing general info databases
+#
+# usage: see below
+#
+#*************************************************************************
+
+package SourceConfig;
+
+use strict;
+
+use constant SOURCE_CONFIG_FILE_NAME => 'source_config';
+
+use Carp;
+
+##### profiling #####
+
+##### ctor #####
+
+sub new {
+ my $proto = shift;
+ my $class = ref($proto) || $proto;
+ my $source_root = shift;
+ if (defined $source_root) {
+ $source_root =~ s/\\|\/$//;
+ } else {
+ $source_root = $ENV{SOLARSRC};
+ };
+ my $self = {};
+ $self->{DEBUG} = 0;
+ $self->{SOURCE_ROOT} = $source_root;
+ $self->{REPOSITORIES} = {};
+ $self->{MODULE_PATHS} = {};
+ $self->{MODULE_BUILD_LIST_PATHS} = {};
+ $self->{ACTIVE_MODULES} = {};
+ $self->{MODULE_REPOSITORY} = {};
+ $self->{SOURCE_CONFIG_FILE} = get_config_file($source_root);
+ $self->{SOURCE_CONFIG_DEFAULT} = Cwd::realpath($source_root) .'/'.SOURCE_CONFIG_FILE_NAME;
+ read_config_file($self);
+ bless($self, $class);
+ return $self;
+}
+
+##### methods #####
+
+sub get_repositories
+{
+ my $self = shift;
+ return sort keys %{$self->{REPOSITORIES}};
+}
+
+sub get_config_file_default_path {
+ my $self = shift;
+ return $self->{SOURCE_CONFIG_DEFAULT};
+}
+
+sub get_config_file_path {
+ my $self = shift;
+ return $self->{SOURCE_CONFIG_FILE};
+}
+
+sub get_module_repository {
+ my $self = shift;
+ my $module = shift;
+ $self -> get_module_paths() if (!scalar keys %{$self->{MODULE_PATHS}});
+ if (defined ${$self->{MODULE_REPOSITORY}}{$module}) {
+ return ${$self->{MODULE_REPOSITORY}}{$module};
+ } else {
+ Carp::cluck("No such module $module in active repositories!!\n");
+ return undef;
+ };
+}
+
+sub get_module_path {
+ my $self = shift;
+ my $module = shift;
+ $self -> get_module_paths() if (!scalar keys %{$self->{MODULE_PATHS}});
+ if (defined ${$self->{MODULE_PATHS}}{$module}) {
+ return ${$self->{MODULE_PATHS}}{$module};
+ } else {
+ Carp::cluck("No path for module $module in active repositories!!\n");
+ return undef;
+ };
+}
+
+sub get_module_build_list {
+ my $self = shift;
+ my $module = shift;
+ $self -> get_buildlist_paths() if (!scalar keys %{$self->{MODULE_BUILD_LIST_PATHS}});
+ if (defined ${$self->{MODULE_BUILD_LIST_PATHS}}{$module}) {
+ return ${$self->{MODULE_BUILD_LIST_PATHS}}{$module};
+ } else {
+ Carp::cluck("No build list in module $module found!!\n") if ($self->{DEBUG});
+ return undef;
+ };
+}
+
+sub get_all_modules
+{
+ my $self = shift;
+ my $module = shift;
+ $self -> get_module_paths() if (!scalar keys %{$self->{MODULE_PATHS}});
+ return sort keys %{$self->{MODULE_PATHS}};
+};
+
+
+sub get_active_modules
+{
+ my $self = shift;
+ return sort keys %{$self->{ACTIVE_MODULES}};
+}
+
+
+##### private methods #####
+
+sub get_buildlist_paths {
+ my $self = shift;
+ $self -> get_module_paths() if (!scalar keys %{$self->{MODULE_PATHS}});
+ my @possible_build_lists = ('build.lst', 'build.xlist'); # build lists names
+ foreach my $module (keys %{$self->{MODULE_PATHS}}) {
+ foreach (@possible_build_lists) {
+ my $possible_path = ${$self->{MODULE_PATHS}}{$module} . "/prj/$_";
+ ${$self->{MODULE_BUILD_LIST_PATHS}}{$module} = $possible_path if (-e $possible_path);
+ };
+ };
+};
+
+sub get_module_paths {
+ my $self = shift;
+ foreach my $repository (keys %{$self->{REPOSITORIES}}) {
+ my $repository_path = ${$self->{REPOSITORIES}}{$repository};
+ if (opendir DIRHANDLE, $repository_path) {
+ foreach my $module (readdir(DIRHANDLE)) {
+ next if ($module =~ /^\.+/);
+ my $module_entry = $module;
+ $module =~ s/\.lnk$//;
+ $module =~ s/\.link$//;
+ my $possible_path = "$repository_path/$module_entry";
+ if (-d $possible_path) {
+ if (defined ${$self->{MODULE_PATHS}}{$module}) {
+ close DIRHANDLE;
+ croak("Ambiguous paths for module $module: $possible_path and " . ${$self->{MODULE_PATHS}}{$module});
+ };
+ ${$self->{MODULE_PATHS}}{$module} = $possible_path;
+ ${$self->{MODULE_REPOSITORY}}{$module} = $repository;
+ }
+ };
+ close DIRHANDLE;
+ } else {
+ croak("Cannot read $_ repository content");
+ };
+ };
+};
+
+sub get_config_file {
+ my $source_root = shift;
+ foreach ($source_root, $source_root . '/..') {
+ if (-f $_ . '/' . SOURCE_CONFIG_FILE_NAME) {
+ return Cwd::realpath($_) .'/'.SOURCE_CONFIG_FILE_NAME;
+ };
+ };
+ return '';
+};
+
+sub read_config_file {
+ my $self = shift;
+ if (!$self->{SOURCE_CONFIG_FILE}) {
+ ${$self->{REPOSITORIES}}{File::Basename::basename($self->{SOURCE_ROOT})} = $self->{SOURCE_ROOT};
+ return;
+ };
+ my $repository_section = 0;
+ my $module_section = 0;
+ my $line = 0;
+ if (open(SOURCE_CONFIG_FILE, $self->{SOURCE_CONFIG_FILE})) {
+ foreach (<SOURCE_CONFIG_FILE>) {
+ $line++;
+ chomp;
+ next if (!/^\S+/);
+ next if (/^\s*#+/);
+ s/\r\n//;
+ if (/^\[repositories\]\s*(\s+#)*/) {
+ $module_section = 0;
+ $repository_section = 1;
+ next;
+ };
+ if (/^\[modules\]\s*(\s+#)*/) {
+ $module_section = 1;
+ $repository_section = 0;
+ next;
+ };
+ next if (!$repository_section && !$module_section);
+ if (/\s*(\S+)=active\s*(\s+#)*/) {
+ if ($repository_section) {
+ ${$self->{REPOSITORIES}}{$1} = File::Basename::dirname($self->{SOURCE_ROOT}) . "/$1";
+ next;
+ }
+ if ($module_section) {
+ ${$self->{ACTIVE_MODULES}}{$1}++;
+ next;
+ };
+ };
+ croak("Line $line in " . $self->{SOURCE_CONFIG_FILE} . 'violates format. Please make your checks!!');
+ };
+ close SOURCE_CONFIG_FILE;
+ } else {
+ croak('Cannot open ' . $self->{SOURCE_CONFIG_FILE} . 'for reading');
+ };
+};
+
+##### finish #####
+
+1; # needed by use or require
+
+__END__
+
+=head1 NAME
+
+SourceConfig - Perl extension for parsing general info databases
+
+=head1 SYNOPSIS
+
+ # example that will read source_config file and return the active repositories
+
+ use SourceConfig;
+
+ # Create a new instance of the parser:
+ $a = SourceConfig->new();
+
+ # Get repositories for the actual workspace:
+ $a->get_repositories();
+
+
+=head1 DESCRIPTION
+
+SourceConfig is a perl extension to load and parse General Info Databses.
+It uses a simple object oriented interface to retrieve the information stored
+in the database.
+
+Methods:
+
+SourceConfig::new()
+
+Creates a new instance of SourceConfig. Can't fail.
+
+
+SourceConfig::get_repositories()
+
+Returns sorted list of active repositories for the actual workspace
+
+
+SourceConfig::get_active_modules()
+
+Returns a sorted list of active modules
+
+SourceConfig::get_all_modules()
+
+Returns sorted list of all modules in active repositories.
+
+SourceConfig::get_module_path($module)
+
+Returns absolute module path
+
+SourceConfig::get_module_build_list($module)
+
+Returns absolute module build list path
+
+SourceConfig::get_module_repository($module)
+
+Returns the module's repository
+
+SourceConfig::get_config_file_path()
+
+Returns absolute module to the source configuration file
+
+SourceConfig::get_config_file_default_path()
+
+Returns default path for source configuration file
+
+=head2 EXPORT
+
+SourceConfig::new()
+SourceConfig::get_repositories()
+SourceConfig::get_active_modules()
+SourceConfig::get_all_modules()
+SourceConfig::get_module_path($module)
+SourceConfig::get_module_build_list($module)
+SourceConfig::get_module_repository($module)
+SourceConfig::get_config_file_path()
+SourceConfig::get_config_file_default_path()
+
+=head1 AUTHOR
+
+Vladimir Glazunov, vg@openoffice.com
+
+=head1 SEE ALSO
+
+perl(1).
+
+=cut
diff --git a/solenv/bin/modules/installer/globals.pm b/solenv/bin/modules/installer/globals.pm
index 6782e06627b4..8b5f13c7ae5b 100644
--- a/solenv/bin/modules/installer/globals.pm
+++ b/solenv/bin/modules/installer/globals.pm
@@ -134,6 +134,7 @@ BEGIN
$issolarissparcbuild = 0;
$issolarisx86build = 0;
$isfreebsdpkgbuild = 0;
+ $ismacdmgbuild = 0;
$unpackpath = "";
$idttemplatepath = "";
$idtlanguagepath = "";
@@ -397,7 +398,7 @@ BEGIN
%usedtreeconditions = ();
%moduledestination = ();
- $unomaxservices = 25;
+ $unomaxservices = 1800; # regcomp -c argument length
$javamaxservices = 15;
$one_cab_file = 0;
@@ -448,6 +449,7 @@ BEGIN
@featurecollector =();
$msiassemblyfiles = "";
$nsisfilename = "Nsis";
+ $macinstallfilename = "macinstall.ulf";
$nsis204 = 0;
$nsis231 = 0;
$unicodensis = 0;
diff --git a/solenv/bin/modules/installer/parameter.pm b/solenv/bin/modules/installer/parameter.pm
index 9bece8a3d069..e4fb19f0c537 100644
--- a/solenv/bin/modules/installer/parameter.pm
+++ b/solenv/bin/modules/installer/parameter.pm
@@ -293,10 +293,20 @@ sub setglobalvariables
$installer::globals::isxpdplatform = 1;
}
}
+
+ if ( $installer::globals::compiler =~ /unxmacxi/ )
+ {
+ if ( $installer::globals::packageformat eq "dmg" )
+ {
+ $installer::globals::ismacdmgbuild = 1;
+ }
+ }
+
if ( $installer::globals::compiler =~ /unxfbsd/ )
{
if ( $installer::globals::packageformat eq "bsd" )
{
+ $installer::globals::epmoutpath = "freebsd";
$installer::globals::isfreebsdpkgbuild = 1;
}
}
@@ -536,7 +546,7 @@ sub control_required_parameter
# for Solaris packages and Linux
#######################################
- if (( $installer::globals::patch ) && ( ! $installer::globals::issolarispkgbuild ) && ( ! $installer::globals::islinuxrpmbuild ) && ( ! $installer::globals::islinuxdebbuild ) && ( ! $installer::globals::iswindowsbuild ))
+ if (( $installer::globals::patch ) && ( ! $installer::globals::issolarispkgbuild ) && ( ! $installer::globals::islinuxrpmbuild ) && ( ! $installer::globals::islinuxdebbuild ) && ( ! $installer::globals::iswindowsbuild ) && ( ! $installer::globals::ismacdmgbuild ))
{
installer::logger::print_error( "Sorry, Patch flag currently only available for Solaris pkg, Linux RPM and Windows builds!" );
usage();
diff --git a/solenv/bin/modules/installer/scriptitems.pm b/solenv/bin/modules/installer/scriptitems.pm
index 0ef8283705b6..204c009141c6 100644
--- a/solenv/bin/modules/installer/scriptitems.pm
+++ b/solenv/bin/modules/installer/scriptitems.pm
@@ -591,6 +591,66 @@ sub get_children
}
################################################################################
+# Using different HostName for language packs
+################################################################################
+
+sub use_langpack_hostname
+{
+ my ($dirsref) = @_;
+
+ for ( my $i = 0; $i <= $#{$dirsref}; $i++ )
+ {
+ my $onedir = ${$dirsref}[$i];
+ if (( $onedir->{'LangPackHostName'} ) && ( $onedir->{'LangPackHostName'} ne "" )) { $onedir->{'HostName'} = $onedir->{'LangPackHostName'}; }
+ }
+}
+
+################################################################################
+# Using different HostName for language packs
+################################################################################
+
+sub use_patch_hostname
+{
+ my ($dirsref) = @_;
+
+ for ( my $i = 0; $i <= $#{$dirsref}; $i++ )
+ {
+ my $onedir = ${$dirsref}[$i];
+ if (( $onedir->{'PatchHostName'} ) && ( $onedir->{'PatchHostName'} ne "" )) { $onedir->{'HostName'} = $onedir->{'PatchHostName'}; }
+ }
+}
+
+################################################################################
+# Using different HostName for language packs
+################################################################################
+
+sub use_langpack_copy_scpaction
+{
+ my ($scpactionsref) = @_;
+
+ for ( my $i = 0; $i <= $#{$scpactionsref}; $i++ )
+ {
+ my $onescpaction = ${$scpactionsref}[$i];
+ if (( $onescpaction->{'LangPackCopy'} ) && ( $onescpaction->{'LangPackCopy'} ne "" )) { $onescpaction->{'Copy'} = $onescpaction->{'LangPackCopy'}; }
+ }
+}
+
+################################################################################
+# Using different HostName for language packs
+################################################################################
+
+sub use_patch_copy_scpaction
+{
+ my ($scpactionsref) = @_;
+
+ for ( my $i = 0; $i <= $#{$scpactionsref}; $i++ )
+ {
+ my $onescpaction = ${$scpactionsref}[$i];
+ if (( $onescpaction->{'PatchCopy'} ) && ( $onescpaction->{'PatchCopy'} ne "" )) { $onescpaction->{'Copy'} = $onescpaction->{'PatchCopy'}; }
+ }
+}
+
+################################################################################
# Shifting parent directories of URE and Basis layer, so that
# these directories are located below the Brand layer.
# Style: SHIFT_BASIS_INTO_BRAND_LAYER
diff --git a/solenv/bin/modules/installer/servicesfile.pm b/solenv/bin/modules/installer/servicesfile.pm
index 1e21c39cdef3..631db68da9dd 100644
--- a/solenv/bin/modules/installer/servicesfile.pm
+++ b/solenv/bin/modules/installer/servicesfile.pm
@@ -135,50 +135,62 @@ sub register_unocomponents
my $error_occured = 0;
my $filestring = "";
- for ( my $i = 0; $i <= $#{$unocomponents}; )
+ for ( my $i = 0; $i <= $#{$unocomponents}; ++$i )
{
- my $sourcepath = ${$unocomponents}[$i++]->{'sourcepath'};
-
- $filestring = $filestring . make_file_url($sourcepath);
-
- if ( $i % $installer::globals::unomaxservices == 0 || $i > $#{$unocomponents} ) # limiting to $installer::globals::maxservices files
+ my $sourcepath = make_file_url(${$unocomponents}[$i]->{'sourcepath'});
+ my $urlprefix = ${$unocomponents}[$i]->{'NativeServicesURLPrefix'};
+ if (defined($urlprefix))
+ {
+ call_regcomp(
+ $regcompfileref, $servicesfile, $sourcepath, $urlprefix);
+ }
+ else
{
- my @regcompoutput = ();
+ $filestring .= ";" unless $filestring eq "";
+ $filestring .= $sourcepath;
+ }
+ if (length($filestring) > $installer::globals::unomaxservices ||
+ ($i == $#{$unocomponents} && $filestring ne ""))
+ {
+ call_regcomp(
+ $regcompfileref, $servicesfile, $filestring,
+ $nativeservicesurlprefix);
+ $filestring = "";
+ }
+ }
- my $systemcall = "$installer::globals::wrapcmd $$regcompfileref -register -r ".fix_cygwin_path($servicesfile)." -c " . $installer::globals::quote . $filestring . $installer::globals::quote . " -wop=" . $installer::globals::quote . $nativeservicesurlprefix . $installer::globals::quote . " 2\>\&1 |";
+ return $error_occured;
+}
- open (REG, "$systemcall");
- while (<REG>) {push(@regcompoutput, $_); }
- close (REG);
+sub call_regcomp
+{
+ my ($regcompfileref, $servicesfile, $filestring, $urlprefix) = @_;
+ my @regcompoutput = ();
- my $returnvalue = $?; # $? contains the return value of the systemcall
+ my $systemcall = "$installer::globals::wrapcmd $$regcompfileref -register -r ".fix_cygwin_path($servicesfile)." -c " . $installer::globals::quote . $filestring . $installer::globals::quote . " -wop=" . $installer::globals::quote . $urlprefix . $installer::globals::quote . " 2\>\&1 |";
- my $infoline = "Systemcall: $systemcall\n";
- push( @installer::globals::logfileinfo, $infoline);
+ open (REG, "$systemcall");
+ while (<REG>) {push(@regcompoutput, $_); }
+ close (REG);
- for ( my $j = 0; $j <= $#regcompoutput; $j++ ) { push( @installer::globals::logfileinfo, "$regcompoutput[$j]"); }
+ my $returnvalue = $?; # $? contains the return value of the systemcall
- if ($returnvalue)
- {
- $infoline = "ERROR: $systemcall\n";
- push( @installer::globals::logfileinfo, $infoline);
- $error_occured = 1;
- }
- else
- {
- $infoline = "SUCCESS: $systemcall\n";
- push( @installer::globals::logfileinfo, $infoline);
- }
+ my $infoline = "Systemcall: $systemcall\n";
+ push( @installer::globals::logfileinfo, $infoline);
- $filestring = "";
- }
- else
- {
- $filestring = $filestring . ";";
- }
- }
+ for ( my $j = 0; $j <= $#regcompoutput; $j++ ) { push( @installer::globals::logfileinfo, "$regcompoutput[$j]"); }
- return $error_occured;
+ if ($returnvalue)
+ {
+ $infoline = "ERROR: $systemcall\n";
+ push( @installer::globals::logfileinfo, $infoline);
+ $error_occured = 1;
+ }
+ else
+ {
+ $infoline = "SUCCESS: $systemcall\n";
+ push( @installer::globals::logfileinfo, $infoline);
+ }
}
################################################################
@@ -343,7 +355,6 @@ sub register_pythoncomponents
$counter++;
}
-# if ((( $counter > 0 ) && ( $counter%$installer::globals::unomaxservices == 0 )) || (( $counter > 0 ) && ( $i == $#{$pythoncomponents} ))) # limiting to $installer::globals::maxservices files
if ( $counter > 0 )
{
$filestring =~ s/\;\s*$//;
diff --git a/solenv/bin/modules/installer/simplepackage.pm b/solenv/bin/modules/installer/simplepackage.pm
index 771e0980c2f5..a543c32c048a 100644
--- a/solenv/bin/modules/installer/simplepackage.pm
+++ b/solenv/bin/modules/installer/simplepackage.pm
@@ -181,6 +181,180 @@ sub register_extensions
chdir($from);
}
+########################################################################
+# Getting the translation file for the Mac Language Pack installer
+########################################################################
+
+sub get_mac_translation_file
+{
+ my $translationfilename = $installer::globals::maclangpackfilename;
+ # my $translationfilename = $installer::globals::idtlanguagepath . $installer::globals::separator . $installer::globals::maclangpackfilename;
+ # if ( $installer::globals::unicodensis ) { $translationfilename = $translationfilename . ".uulf"; }
+ # else { $translationfilename = $translationfilename . ".mlf"; }
+ if ( ! -f $translationfilename ) { installer::exiter::exit_program("ERROR: Could not find language file $translationfilename!", "get_mac_translation_file"); }
+ my $translationfile = installer::files::read_file($translationfilename);
+
+ my $infoline = "Reading translation file: $translationfilename\n";
+ push( @installer::globals::logfileinfo, $infoline);
+
+ return $translationfile;
+}
+
+##################################################################
+# Collecting all identifier from ulf file
+##################################################################
+
+sub get_identifier
+{
+ my ( $translationfile ) = @_;
+
+ my @identifier = ();
+
+ for ( my $i = 0; $i <= $#{$translationfile}; $i++ )
+ {
+ my $oneline = ${$translationfile}[$i];
+
+ if ( $oneline =~ /^\s*\[(.+)\]\s*$/ )
+ {
+ my $identifier = $1;
+ push(@identifier, $identifier);
+ }
+ }
+
+ return \@identifier;
+}
+
+##############################################################
+# Returning the complete block in all languages
+# for a specified string
+##############################################################
+
+sub get_language_block_from_language_file
+{
+ my ($searchstring, $languagefile) = @_;
+
+ my @language_block = ();
+
+ for ( my $i = 0; $i <= $#{$languagefile}; $i++ )
+ {
+ if ( ${$languagefile}[$i] =~ /^\s*\[\s*$searchstring\s*\]\s*$/ )
+ {
+ my $counter = $i;
+
+ push(@language_block, ${$languagefile}[$counter]);
+ $counter++;
+
+ while (( $counter <= $#{$languagefile} ) && (!( ${$languagefile}[$counter] =~ /^\s*\[/ )))
+ {
+ push(@language_block, ${$languagefile}[$counter]);
+ $counter++;
+ }
+
+ last;
+ }
+ }
+
+ return \@language_block;
+}
+
+##############################################################
+# Returning a specific language string from the block
+# of all translations
+##############################################################
+
+sub get_language_string_from_language_block
+{
+ my ($language_block, $language) = @_;
+
+ my $newstring = "";
+
+ for ( my $i = 0; $i <= $#{$language_block}; $i++ )
+ {
+ if ( ${$language_block}[$i] =~ /^\s*$language\s*\=\s*\"(.*)\"\s*$/ )
+ {
+ $newstring = $1;
+ last;
+ }
+ }
+
+ if ( $newstring eq "" )
+ {
+ $language = "en-US"; # defaulting to english
+
+ for ( my $i = 0; $i <= $#{$language_block}; $i++ )
+ {
+ if ( ${$language_block}[$i] =~ /^\s*$language\s*\=\s*\"(.*)\"\s*$/ )
+ {
+ $newstring = $1;
+ last;
+ }
+ }
+ }
+
+ return $newstring;
+}
+
+########################################################################
+# Localizing the script for the Mac Language Pack installer
+########################################################################
+
+sub localize_scriptfile
+{
+ my ($scriptfile, $translationfile, $languagestringref) = @_;
+
+ # my $translationfile = get_mac_translation_file();
+
+ my $onelanguage = $$languagestringref;
+ if ( $onelanguage =~ /^\s*(.*?)_/ ) { $onelanguage = $1; }
+
+ # Analyzing the ulf file, collecting all Identifier
+ my $allidentifier = get_identifier($translationfile);
+
+ for ( my $i = 0; $i <= $#{$allidentifier}; $i++ )
+ {
+ my $identifier = ${$allidentifier}[$i];
+ my $language_block = get_language_block_from_language_file($identifier, $translationfile);
+ my $newstring = get_language_string_from_language_block($language_block, $onelanguage);
+
+ # removing mask
+ $newstring =~ s/\\\'/\'/g;
+
+ replace_one_variable_in_shellscript($scriptfile, $newstring, $identifier);
+ }
+}
+
+#################################################################################
+# Replacing one variable in Mac shell script
+#################################################################################
+
+sub replace_one_variable_in_shellscript
+{
+ my ($scriptfile, $variable, $searchstring) = @_;
+
+ for ( my $i = 0; $i <= $#{$scriptfile}; $i++ )
+ {
+ ${$scriptfile}[$i] =~ s/\[$searchstring\]/$variable/g;
+ }
+}
+
+#############################################
+# Replacing variables in Mac shell script
+#############################################
+
+sub replace_variables_in_scriptfile
+{
+ my ($scriptfile, $volume_name, $allvariables) = @_;
+
+ replace_one_variable_in_shellscript($scriptfile, $volume_name, "FULLPRODUCTNAME" );
+ replace_one_variable_in_shellscript($scriptfile, $allvariables->{'PRODUCTNAME'}, "PRODUCTNAME" );
+ replace_one_variable_in_shellscript($scriptfile, $allvariables->{'PRODUCTVERSION'}, "PRODUCTVERSION" );
+
+ my $scriptname = lc($allvariables->{'PRODUCTNAME'}) . "\.script";
+ if ( $allvariables->{'PRODUCTNAME'} eq "OpenOffice.org" ) { $scriptname = "org.openoffice.script"; }
+
+ replace_one_variable_in_shellscript($scriptfile, $scriptname, "SEARCHSCRIPTNAME" );
+}
+
#############################################
# Creating the "simple" package.
# "zip" for Windows
@@ -190,7 +364,7 @@ sub register_extensions
sub create_package
{
- my ( $installdir, $packagename, $allvariables, $includepatharrayref ) = @_;
+ my ( $installdir, $packagename, $allvariables, $includepatharrayref, $languagestringref ) = @_;
# moving dir into temporary directory
my $pid = $$; # process id
@@ -237,8 +411,116 @@ sub create_package
my $sla = 'sla.r';
my $ref = installer::scriptitems::get_sourcepath_from_filename_and_includepath( \$sla, $includepatharrayref, 0);
- $systemcall = "cd $tempdir && hdiutil makehybrid -hfs -hfs-openfolder $folder $folder -hfs-volume-name \"$volume_name\" -ov -o $installdir/tmp && hdiutil convert -ov -format UDZO $installdir/tmp.dmg -o $archive && ";
- if ($$ref ne "") {
+ my $localtempdir = $tempdir;
+
+ if (( $installer::globals::languagepack ) || ( $installer::globals::patch ))
+ {
+ $localtempdir = "$tempdir/$packagename";
+ if ( $installer::globals::languagepack ) { $volume_name = "$volume_name Language Pack"; }
+ if ( $installer::globals::patch ) { $volume_name = "$volume_name Patch"; }
+
+ # Create tar ball named tarball.tar.bz2
+ my $appfolder = $localtempdir . "/" . $volume_name . "\.app";
+ my $contentsfolder = $appfolder . "/Contents";
+ my $tarballname = "tarball.tar.bz2";
+
+ my $localfrom = cwd();
+ chdir $appfolder;
+
+ $systemcall = "tar -cjf $tarballname Contents/";
+
+ print "... $systemcall ...\n";
+ my $localreturnvalue = system($systemcall);
+ $infoline = "Systemcall: $systemcall\n";
+ push( @installer::globals::logfileinfo, $infoline);
+
+ if ($localreturnvalue)
+ {
+ $infoline = "ERROR: Could not execute \"$systemcall\"!\n";
+ push( @installer::globals::logfileinfo, $infoline);
+ }
+ else
+ {
+ $infoline = "Success: Executed \"$systemcall\" successfully!\n";
+ push( @installer::globals::logfileinfo, $infoline);
+ }
+
+ my $sourcefile = $appfolder . "/" . $tarballname;
+ my $destfile = $contentsfolder . "/" . $tarballname;
+
+ installer::systemactions::remove_complete_directory($contentsfolder);
+ installer::systemactions::create_directory($contentsfolder);
+
+ installer::systemactions::copy_one_file($sourcefile, $destfile);
+ unlink($sourcefile);
+
+ # Copy two files into installation set next to the tar ball
+ # 1. "osx_install.applescript"
+ # 2 "OpenOffice.org Languagepack"
+
+ my $scriptrealfilename = "osx_install.applescript";
+ my $scriptfilename = "";
+ if ( $installer::globals::languagepack ) { $scriptfilename = "osx_install_languagepack.applescript"; }
+ if ( $installer::globals::patch ) { $scriptfilename = "osx_install_patch.applescript"; }
+ my $scripthelpersolverfilename = "mac_install.script";
+ my $scripthelperrealfilename = $volume_name;
+ my $translationfilename = $installer::globals::macinstallfilename;
+
+ # Finding both files in solver
+
+ my $scriptref = installer::scriptitems::get_sourcepath_from_filename_and_includepath( \$scriptfilename, $includepatharrayref, 0);
+ if ($$scriptref eq "") { installer::exiter::exit_program("ERROR: Could not find Apple script $scriptfilename!", "create_package"); }
+ my $scripthelperref = installer::scriptitems::get_sourcepath_from_filename_and_includepath( \$scripthelpersolverfilename, $includepatharrayref, 0);
+ if ($$scripthelperref eq "") { installer::exiter::exit_program("ERROR: Could not find Apple script $scripthelpersolverfilename!", "create_package"); }
+ my $translationfileref = installer::scriptitems::get_sourcepath_from_filename_and_includepath( \$translationfilename, $includepatharrayref, 0);
+ if ($$translationfileref eq "") { installer::exiter::exit_program("ERROR: Could not find Apple script translation file $translationfilename!", "create_package"); }
+
+ $scriptfilename = $contentsfolder . "/" . $scriptrealfilename;
+ $scripthelperrealfilename = $contentsfolder . "/" . $scripthelperrealfilename;
+
+ installer::systemactions::copy_one_file($$scriptref, $scriptfilename);
+ installer::systemactions::copy_one_file($$scripthelperref, $scripthelperrealfilename);
+
+ # Replacing variables in script $scriptfilename
+ # Localizing script $scriptfilename
+ my $scriptfilecontent = installer::files::read_file($scriptfilename);
+ my $translationfilecontent = installer::files::read_file($$translationfileref);
+ localize_scriptfile($scriptfilecontent, $translationfilecontent, $languagestringref);
+ replace_variables_in_scriptfile($scriptfilecontent, $volume_name, $allvariables);
+ installer::files::save_file($scriptfilename, $scriptfilecontent);
+
+ $systemcall = "chmod 775 " . "\"" . $scriptfilename . "\"";
+ system($systemcall);
+ $systemcall = "chmod 775 " . "\"" . $scripthelperrealfilename . "\"";
+ system($systemcall);
+
+ # Copy also Info.plist and icon file
+ # Finding both files in solver
+ my $iconfile = "ooo3_installer.icns";
+ my $iconfileref = installer::scriptitems::get_sourcepath_from_filename_and_includepath( \$iconfile, $includepatharrayref, 0);
+ if ($$iconfileref eq "") { installer::exiter::exit_program("ERROR: Could not find Apple script icon file $iconfile!", "create_package"); }
+ my $subdir = $contentsfolder . "/" . "Resources";
+ if ( ! -d $subdir ) { installer::systemactions::create_directory($subdir); }
+ $destfile = $subdir . "/" . $iconfile;
+ installer::systemactions::copy_one_file($$iconfileref, $destfile);
+
+ my $infoplistfile = "Info.plist.langpack";
+ my $installname = "Info.plist";
+ my $infoplistfileref = installer::scriptitems::get_sourcepath_from_filename_and_includepath( \$infoplistfile, $includepatharrayref, 0);
+ if ($$infoplistfileref eq "") { installer::exiter::exit_program("ERROR: Could not find Apple script Info.plist: $infoplistfile!", "create_package"); }
+ $destfile = $contentsfolder . "/" . $installname;
+ installer::systemactions::copy_one_file($$infoplistfileref, $destfile);
+
+ # Replacing variables in Info.plist
+ $scriptfilecontent = installer::files::read_file($destfile);
+ replace_one_variable_in_shellscript($scriptfilecontent, $volume_name, "FULLPRODUCTNAME" );
+ installer::files::save_file($destfile, $scriptfilecontent);
+
+ chdir $localfrom;
+ }
+
+ $systemcall = "cd $localtempdir && hdiutil makehybrid -hfs -hfs-openfolder $folder $folder -hfs-volume-name \"$volume_name\" -ov -o $installdir/tmp && hdiutil convert -ov -format UDZO $installdir/tmp.dmg -o $archive && ";
+ if ($$ref ne "") {
$systemcall .= "hdiutil unflatten $archive && Rez -a $$ref -o $archive && hdiutil flatten $archive &&";
}
$systemcall .= "rm -f $installdir/tmp.dmg";
@@ -322,6 +604,8 @@ sub create_simple_package
else
{
$downloadname = installer::ziplist::getinfofromziplist($allsettingsarrayref, "downloadname");
+ if ( $installer::globals::languagepack ) { $downloadname = installer::ziplist::getinfofromziplist($allsettingsarrayref, "langpackdownloadname"); }
+ if ( $installer::globals::patch ) { $downloadname = installer::ziplist::getinfofromziplist($allsettingsarrayref, "patchdownloadname"); }
$packagename = installer::download::resolve_variables_in_downloadname($allvariables, $$downloadname, \$locallanguage);
}
}
@@ -374,6 +658,7 @@ sub create_simple_package
my $onefile = ${$filesref}[$i];
if (( $onefile->{'Styles'} ) && ( $onefile->{'Styles'} =~ /\bBINARYTABLE_ONLY\b/ )) { next; }
+ if (( $installer::globals::patch ) && ( $onefile->{'Styles'} ) && ( ! ( $onefile->{'Styles'} =~ /\bPATCH\b/ ))) { next; }
my $source = $onefile->{'sourcepath'};
my $destination = $onefile->{'destination'};
@@ -428,6 +713,9 @@ sub create_simple_package
for ( my $i = 0; $i <= $#{$linksref}; $i++ )
{
my $onelink = ${$linksref}[$i];
+
+ if (( $installer::globals::patch ) && ( $onelink->{'Styles'} ) && ( ! ( $onelink->{'Styles'} =~ /\bPATCH\b/ ))) { next; }
+
my $destination = $onelink->{'destination'};
$destination = $subfolderdir . $installer::globals::separator . $destination;
my $destinationfile = $onelink->{'destinationfile'};
@@ -442,6 +730,9 @@ sub create_simple_package
for ( my $i = 0; $i <= $#{$unixlinksref}; $i++ )
{
my $onelink = ${$unixlinksref}[$i];
+
+ if (( $installer::globals::patch ) && ( $onelink->{'Styles'} ) && ( ! ( $onelink->{'Styles'} =~ /\bPATCH\b/ ))) { next; }
+
my $target = $onelink->{'Target'};
my $destination = $subfolderdir . $installer::globals::separator . $onelink->{'destination'};
@@ -485,7 +776,7 @@ sub create_simple_package
# -> tar.gz for all other platforms
installer::logger::print_message( "... creating $installer::globals::packageformat file ...\n" );
installer::logger::include_header_into_logfile("Creating $installer::globals::packageformat file:");
- create_package($installdir, $packagename, $allvariables, $includepatharrayref);
+ create_package($installdir, $packagename, $allvariables, $includepatharrayref, $languagestringref);
}
# Analyzing the log file
diff --git a/solenv/bin/modules/macosxotoolhelper.pm b/solenv/bin/modules/macosxotoolhelper.pm
index 9c787f372dc0..c8d30c52e473 100644
--- a/solenv/bin/modules/macosxotoolhelper.pm
+++ b/solenv/bin/modules/macosxotoolhelper.pm
@@ -41,7 +41,7 @@ sub otoolD($) {
my $line = <IN>;
$line =~ /^$file:\n$/ or
die "unexpected otool -D output (\"$line\", expecting \"$file:\")";
- $line = <IN> or die "unexpected otool -D output";
+ $line = <IN>;
<IN> == undef or die "unexpected otool -D output";
close(IN);
return $line;
diff --git a/solenv/config/sdev300.ini b/solenv/config/sdev300.ini
index c331c2f8f7c9..a8851fd66f58 100644
--- a/solenv/config/sdev300.ini
+++ b/solenv/config/sdev300.ini
@@ -13,7 +13,7 @@ common
BMP_WRITES_FLAG TRUE
BTARGET 1
BUILD_SPECIAL TRUE
- BUILD_TYPE SO OOo EXT BINFILTER BITSTREAM_VERA_FONTS BSH CURL DICTIONARIES HSQLDB HUNSPELL JPEG LIBXML2 LIBXMLSEC LPSOLVE MOZ NEON TWAIN PYTHON ZLIB SANE UNIXODBC X11_EXTENSIONS LIBWPD EPM QADEVOOO ODK MSFONTEXTRACT MATHMLDTD BOOST EXPAT CRASHREP BERKELEYDB LIBXSLT SUN AGG GTK ICU SYSTRAY_GTK JAVAINSTALLER2 VIGRA OPENSSL JFREEREPORT APACHE_COMMONS TOMCAT REPORTBUILDER SDEXT SWEXT XPDF LUCENE REDLAND SAXON WRITER2LATEX L10N
+ BUILD_TYPE SO OOo EXT BINFILTER BITSTREAM_VERA_FONTS BSH CURL DICTIONARIES HSQLDB HUNSPELL JPEG LIBXML2 LIBXMLSEC LPSOLVE MOZ NEON TWAIN PYTHON ZLIB SANE UNIXODBC X11_EXTENSIONS LIBWPD EPM QADEVOOO ODK MSFONTEXTRACT MATHMLDTD BOOST EXPAT CRASHREP BERKELEYDB LIBXSLT SUN AGG GTK ICU SYSTRAY_GTK JAVAINSTALLER2 VIGRA OPENSSL JFREEREPORT APACHE_COMMONS TOMCAT REPORTBUILDER SDEXT SWEXT XPDF LUCENE REDLAND SAXON WRITER2LATEX NSS L10N GRAPHITE
common_build TRUE
COMMON_OUTDIR common
CONFIG_PROJECT config_office
@@ -28,6 +28,7 @@ common
ENABLE_GTK TRUE
ENABLE_MEDIAWIKI YES
ENABLE_MINIMIZER YES
+ ENABLE_NSS_MODULE YES
ENABLE_RANDR TRUE
ENABLE_REPORTBUILDER YES
ENABLE_SVCTAGS YES
@@ -695,7 +696,8 @@ unxlngi6
}
common2
{
- BUILD_TOOLS %SOLARROOT%/bt_linux_libc2.32/%WORK_STAMP%/bin
+ ENABLE_GRAPHITE TRUE
+ BUILD_TOOLS %SOLARROOT%/bt_linux_libc2.32/%WORK_STAMP%/bin
COM GCC
COMMON_BUILD_TOOLS %SOLARROOT%$/btools
COMMON_ENV_TOOLS %SOLARROOT%$/etools
@@ -1011,7 +1013,7 @@ unxlngx6
SOLARROOT %SOLAR_ENV_ROOT%
SOLARVER %SOLAR_SOURCE_ROOT%/%WORK_STAMP%
SOLARVERSION %SOLAR_SOURCE_ROOT%/%WORK_STAMP%
- SOLAR_JDK14PATH %SOLAR_ENV_ROOT%/Linux_JDK_1.4.2_11
+ SOLAR_JDK14PATH %SOLAR_ENV_ROOT%/Linux_JDK_1.4.2.32
SOLAR_JDK15PATH %SOLAR_ENV_ROOT%/Linux_JDK_1.5.0_15.x64
SOLAR_OJDK16PATH %SOLAR_ENV_ROOT%/openjdk-6-b08-linux-amd64
SO_PACK %SOLAR_ENV_ROOT%/pack/%WORK_STAMP%
@@ -1021,7 +1023,8 @@ unxlngx6
}
common2
{
- BUILD_TOOLS %SOLARROOT%/bt_linux_libc2.11/%WORK_STAMP%/bin
+ ENABLE_GRAPHITE TRUE
+ BUILD_TOOLS %SOLARROOT%/bt_linux_libc2.11/%WORK_STAMP%/bin
COM GCC
COMMON_BUILD_TOOLS %SOLARROOT%$/btools
COMMON_ENV_TOOLS %SOLARROOT%$/etools
@@ -2554,7 +2557,8 @@ unxubti8
}
common2
{
- BUILD_TOOLS %SOLARROOT%/bt_linux_libc2.11/%WORK_STAMP%/bin
+ ENABLE_GRAPHITE TRUE
+ BUILD_TOOLS %SOLARROOT%/bt_linux_libc2.11/%WORK_STAMP%/bin
COM GCC
COMMON_BUILD_TOOLS %SRC_ROOT%/external/common
COMMON_ENV_TOOLS %SOLARROOT%$/etools
@@ -2827,7 +2831,8 @@ wntgcci1
}
common2
{
- BUILD_TOOLS %SOLARROOT%$/btw$/%WORK_STAMP%
+ ENABLE_GRAPHITE TRUE
+ BUILD_TOOLS %SOLARROOT%$/btw$/%WORK_STAMP%
CALL_CDECL TRUE
CDPATHx %CDPATH%$:..$:..$/..$:..$/..$/..$:..$/source$:..$/..$/source$:o:$/%WORK_STAMP%$/src%UPDMINOREXT%
COM GCC
@@ -3169,7 +3174,8 @@ wntmsci11
}
common2
{
- BUILD_TOOLS %SOLARROOT%$/btw$/%WORK_STAMP%
+ ENABLE_GRAPHITE TRUE
+ BUILD_TOOLS %SOLARROOT%$/btw$/%WORK_STAMP%
CALL_CDECL TRUE
CDPATHx %CDPATH%$:..$:..$/..$:..$/..$/..$:..$/source$:..$/..$/source$:o:$/%WORK_STAMP%$/src%UPDMINOREXT%
COM MSC
@@ -3521,7 +3527,8 @@ wntmsci12
}
common2
{
- BUILD_TOOLS %SOLARROOT%$/btw$/%BTOOLDIR%
+ ENABLE_GRAPHITE TRUE
+ BUILD_TOOLS %SOLARROOT%$/btw$/%BTOOLDIR%
CALL_CDECL TRUE
CDPATHx %CDPATH%$:..$:..$/..$:..$/..$/..$:..$/source$:..$/..$/source$:$cp(%SOLAR_SOURCE_ROOT%$/%WORK_STAMP%$/src%UPDMINOREXT%)
COM MSC
@@ -3538,6 +3545,7 @@ wntmsci12
GUIBASE WIN
GVER NT351
INPATH wntmsci12%PROEXT%
+ MOZILLABUILD %SOLARROOT%/mozilla-build-1.3
OS WNT
OUTPATH wntmsci12
PACKMS %SO_PACK%$/wntmsci12$/MS
@@ -3730,7 +3738,7 @@ wntmsci12
sh
{
400: if [ $COPYALL ]; then
- 410: perl $SOLAR_ENV_ROOT/etools/lucopy.pl all $ZIPSOURCE $BTARGET
+ 410: perl $SOLAR_ENV_ROOT/etools/lucopy.pl all $ZIPSOURCE $BTARGET $MAXPROC
415: fi
600: umask 002
800: hash -r
@@ -3749,7 +3757,7 @@ wntmsci12
}
csh
{
- 400: if ( ${?COPYALL} ) perl $SOLAR_ENV_ROOT/etools/lucopy.pl all $ZIPSOURCE $BTARGET
+ 400: if ( ${?COPYALL} ) perl $SOLAR_ENV_ROOT/etools/lucopy.pl all $ZIPSOURCE $BTARGET $MAXPROC
600: umask 002
800: rehash
850: if ( "$?SO_GEN_ERROR" == 0 ) setenv SO_GEN_ERROR
diff --git a/solenv/config/ssolar.cmn b/solenv/config/ssolar.cmn
index aa1442cc649d..2e7e8fb12c79 100644
--- a/solenv/config/ssolar.cmn
+++ b/solenv/config/ssolar.cmn
@@ -84,6 +84,7 @@ common
ENABLE_KDE
ENABLE_MEDIAWIKI
ENABLE_MINIMIZER
+ ENABLE_NSS_MODULE
ENABLE_PASF
ENABLE_RANDR
ENABLE_REPORTBUILDER
diff --git a/solenv/inc/_tg_app.mk b/solenv/inc/_tg_app.mk
index e07999541823..318bb1e19917 100644
--- a/solenv/inc/_tg_app.mk
+++ b/solenv/inc/_tg_app.mk
@@ -144,11 +144,13 @@ $(APP1TARGETN): $(APP1OBJS) $(APP1LIBS) \
@cat $(APP1LINKRES) $(subst,$/res$/,$/res{$(subst,$(BIN), $(@:d))} $(APP1RES)) > $(MISC)$/$(@:b)_all.res
windres $(MISC)$/$(@:b)_all.res $(APP1RESO)
.ENDIF
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
+ @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
$(APP1BASEX) $(APP1STACKN) -o $@ $(APP1OBJS) \
-Wl,-Map,$(MISC)$/$(@:b).map $(STDOBJ) $(APP1RESO) \
`$(TYPE) /dev/null $(APP1LIBS) | sed s#$(ROUT)#$(OUT)#g` \
- $(APP_LINKTYPE) $(APP1LIBSALCPPRT) $(APP1STDLIBS) $(APP1STDLIB) $(STDLIB1) > $(MISC)$/$(TARGET).$(@:b)_1.cmd
+ $(APP_LINKTYPE) $(APP1LIBSALCPPRT) \
+ -Wl,--start-group $(APP1STDLIBS) -Wl,--end-group $(APP1STDLIB) \
+ $(STDLIB1) $(MINGWSSTDENDOBJ) > $(MISC)$/$(TARGET).$(@:b)_1.cmd
@$(TYPE) $(MISC)$/$(TARGET).$(@:b)_1.cmd
@+source $(MISC)$/$(TARGET).$(@:b)_1.cmd
@ls -l $@
@@ -428,11 +430,13 @@ $(APP2TARGETN): $(APP2OBJS) $(APP2LIBS) \
@cat $(APP2LINKRES) $(subst,$/res$/,$/res{$(subst,$(BIN), $(@:d))} $(APP2RES)) > $(MISC)$/$(@:b)_all.res
windres $(MISC)$/$(@:b)_all.res $(APP2RESO)
.ENDIF
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
+ @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
$(APP2BASEX) $(APP2STACKN) -o $@ $(APP2OBJS) \
-Wl,-Map,$(MISC)$/$(@:b).map $(STDOBJ) $(APP2RESO) \
`$(TYPE) /dev/null $(APP2LIBS) | sed s#$(ROUT)#$(OUT)#g` \
- $(APP_LINKTYPE) $(APP2LIBSALCPPRT) $(APP2STDLIBS) $(APP2STDLIB) $(STDLIB2) > $(MISC)$/$(TARGET).$(@:b)_2.cmd
+ $(APP_LINKTYPE) $(APP2LIBSALCPPRT) \
+ -Wl,--start-group $(APP2STDLIBS) -Wl,--end-group $(APP2STDLIB) \
+ $(STDLIB2) $(MINGWSSTDENDOBJ) > $(MISC)$/$(TARGET).$(@:b)_2.cmd
@$(TYPE) $(MISC)$/$(TARGET).$(@:b)_2.cmd
@+source $(MISC)$/$(TARGET).$(@:b)_2.cmd
@ls -l $@
@@ -712,11 +716,13 @@ $(APP3TARGETN): $(APP3OBJS) $(APP3LIBS) \
@cat $(APP3LINKRES) $(subst,$/res$/,$/res{$(subst,$(BIN), $(@:d))} $(APP3RES)) > $(MISC)$/$(@:b)_all.res
windres $(MISC)$/$(@:b)_all.res $(APP3RESO)
.ENDIF
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
+ @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
$(APP3BASEX) $(APP3STACKN) -o $@ $(APP3OBJS) \
-Wl,-Map,$(MISC)$/$(@:b).map $(STDOBJ) $(APP3RESO) \
`$(TYPE) /dev/null $(APP3LIBS) | sed s#$(ROUT)#$(OUT)#g` \
- $(APP_LINKTYPE) $(APP3LIBSALCPPRT) $(APP3STDLIBS) $(APP3STDLIB) $(STDLIB3) > $(MISC)$/$(TARGET).$(@:b)_3.cmd
+ $(APP_LINKTYPE) $(APP3LIBSALCPPRT) \
+ -Wl,--start-group $(APP3STDLIBS) -Wl,--end-group $(APP3STDLIB) \
+ $(STDLIB3) $(MINGWSSTDENDOBJ) > $(MISC)$/$(TARGET).$(@:b)_3.cmd
@$(TYPE) $(MISC)$/$(TARGET).$(@:b)_3.cmd
@+source $(MISC)$/$(TARGET).$(@:b)_3.cmd
@ls -l $@
@@ -996,11 +1002,13 @@ $(APP4TARGETN): $(APP4OBJS) $(APP4LIBS) \
@cat $(APP4LINKRES) $(subst,$/res$/,$/res{$(subst,$(BIN), $(@:d))} $(APP4RES)) > $(MISC)$/$(@:b)_all.res
windres $(MISC)$/$(@:b)_all.res $(APP4RESO)
.ENDIF
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
+ @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
$(APP4BASEX) $(APP4STACKN) -o $@ $(APP4OBJS) \
-Wl,-Map,$(MISC)$/$(@:b).map $(STDOBJ) $(APP4RESO) \
`$(TYPE) /dev/null $(APP4LIBS) | sed s#$(ROUT)#$(OUT)#g` \
- $(APP_LINKTYPE) $(APP4LIBSALCPPRT) $(APP4STDLIBS) $(APP4STDLIB) $(STDLIB4) > $(MISC)$/$(TARGET).$(@:b)_4.cmd
+ $(APP_LINKTYPE) $(APP4LIBSALCPPRT) \
+ -Wl,--start-group $(APP4STDLIBS) -Wl,--end-group $(APP4STDLIB) \
+ $(STDLIB4) $(MINGWSSTDENDOBJ) > $(MISC)$/$(TARGET).$(@:b)_4.cmd
@$(TYPE) $(MISC)$/$(TARGET).$(@:b)_4.cmd
@+source $(MISC)$/$(TARGET).$(@:b)_4.cmd
@ls -l $@
@@ -1280,11 +1288,13 @@ $(APP5TARGETN): $(APP5OBJS) $(APP5LIBS) \
@cat $(APP5LINKRES) $(subst,$/res$/,$/res{$(subst,$(BIN), $(@:d))} $(APP5RES)) > $(MISC)$/$(@:b)_all.res
windres $(MISC)$/$(@:b)_all.res $(APP5RESO)
.ENDIF
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
+ @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
$(APP5BASEX) $(APP5STACKN) -o $@ $(APP5OBJS) \
-Wl,-Map,$(MISC)$/$(@:b).map $(STDOBJ) $(APP5RESO) \
`$(TYPE) /dev/null $(APP5LIBS) | sed s#$(ROUT)#$(OUT)#g` \
- $(APP_LINKTYPE) $(APP5LIBSALCPPRT) $(APP5STDLIBS) $(APP5STDLIB) $(STDLIB5) > $(MISC)$/$(TARGET).$(@:b)_5.cmd
+ $(APP_LINKTYPE) $(APP5LIBSALCPPRT) \
+ -Wl,--start-group $(APP5STDLIBS) -Wl,--end-group $(APP5STDLIB) \
+ $(STDLIB5) $(MINGWSSTDENDOBJ) > $(MISC)$/$(TARGET).$(@:b)_5.cmd
@$(TYPE) $(MISC)$/$(TARGET).$(@:b)_5.cmd
@+source $(MISC)$/$(TARGET).$(@:b)_5.cmd
@ls -l $@
@@ -1564,11 +1574,13 @@ $(APP6TARGETN): $(APP6OBJS) $(APP6LIBS) \
@cat $(APP6LINKRES) $(subst,$/res$/,$/res{$(subst,$(BIN), $(@:d))} $(APP6RES)) > $(MISC)$/$(@:b)_all.res
windres $(MISC)$/$(@:b)_all.res $(APP6RESO)
.ENDIF
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
+ @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
$(APP6BASEX) $(APP6STACKN) -o $@ $(APP6OBJS) \
-Wl,-Map,$(MISC)$/$(@:b).map $(STDOBJ) $(APP6RESO) \
`$(TYPE) /dev/null $(APP6LIBS) | sed s#$(ROUT)#$(OUT)#g` \
- $(APP_LINKTYPE) $(APP6LIBSALCPPRT) $(APP6STDLIBS) $(APP6STDLIB) $(STDLIB6) > $(MISC)$/$(TARGET).$(@:b)_6.cmd
+ $(APP_LINKTYPE) $(APP6LIBSALCPPRT) \
+ -Wl,--start-group $(APP6STDLIBS) -Wl,--end-group $(APP6STDLIB) \
+ $(STDLIB6) $(MINGWSSTDENDOBJ) > $(MISC)$/$(TARGET).$(@:b)_6.cmd
@$(TYPE) $(MISC)$/$(TARGET).$(@:b)_6.cmd
@+source $(MISC)$/$(TARGET).$(@:b)_6.cmd
@ls -l $@
@@ -1848,11 +1860,13 @@ $(APP7TARGETN): $(APP7OBJS) $(APP7LIBS) \
@cat $(APP7LINKRES) $(subst,$/res$/,$/res{$(subst,$(BIN), $(@:d))} $(APP7RES)) > $(MISC)$/$(@:b)_all.res
windres $(MISC)$/$(@:b)_all.res $(APP7RESO)
.ENDIF
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
+ @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
$(APP7BASEX) $(APP7STACKN) -o $@ $(APP7OBJS) \
-Wl,-Map,$(MISC)$/$(@:b).map $(STDOBJ) $(APP7RESO) \
`$(TYPE) /dev/null $(APP7LIBS) | sed s#$(ROUT)#$(OUT)#g` \
- $(APP_LINKTYPE) $(APP7LIBSALCPPRT) $(APP7STDLIBS) $(APP7STDLIB) $(STDLIB7) > $(MISC)$/$(TARGET).$(@:b)_7.cmd
+ $(APP_LINKTYPE) $(APP7LIBSALCPPRT) \
+ -Wl,--start-group $(APP7STDLIBS) -Wl,--end-group $(APP7STDLIB) \
+ $(STDLIB7) $(MINGWSSTDENDOBJ) > $(MISC)$/$(TARGET).$(@:b)_7.cmd
@$(TYPE) $(MISC)$/$(TARGET).$(@:b)_7.cmd
@+source $(MISC)$/$(TARGET).$(@:b)_7.cmd
@ls -l $@
@@ -2132,11 +2146,13 @@ $(APP8TARGETN): $(APP8OBJS) $(APP8LIBS) \
@cat $(APP8LINKRES) $(subst,$/res$/,$/res{$(subst,$(BIN), $(@:d))} $(APP8RES)) > $(MISC)$/$(@:b)_all.res
windres $(MISC)$/$(@:b)_all.res $(APP8RESO)
.ENDIF
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
+ @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
$(APP8BASEX) $(APP8STACKN) -o $@ $(APP8OBJS) \
-Wl,-Map,$(MISC)$/$(@:b).map $(STDOBJ) $(APP8RESO) \
`$(TYPE) /dev/null $(APP8LIBS) | sed s#$(ROUT)#$(OUT)#g` \
- $(APP_LINKTYPE) $(APP8LIBSALCPPRT) $(APP8STDLIBS) $(APP8STDLIB) $(STDLIB8) > $(MISC)$/$(TARGET).$(@:b)_8.cmd
+ $(APP_LINKTYPE) $(APP8LIBSALCPPRT) \
+ -Wl,--start-group $(APP8STDLIBS) -Wl,--end-group $(APP8STDLIB) \
+ $(STDLIB8) $(MINGWSSTDENDOBJ) > $(MISC)$/$(TARGET).$(@:b)_8.cmd
@$(TYPE) $(MISC)$/$(TARGET).$(@:b)_8.cmd
@+source $(MISC)$/$(TARGET).$(@:b)_8.cmd
@ls -l $@
@@ -2416,11 +2432,13 @@ $(APP9TARGETN): $(APP9OBJS) $(APP9LIBS) \
@cat $(APP9LINKRES) $(subst,$/res$/,$/res{$(subst,$(BIN), $(@:d))} $(APP9RES)) > $(MISC)$/$(@:b)_all.res
windres $(MISC)$/$(@:b)_all.res $(APP9RESO)
.ENDIF
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
+ @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
$(APP9BASEX) $(APP9STACKN) -o $@ $(APP9OBJS) \
-Wl,-Map,$(MISC)$/$(@:b).map $(STDOBJ) $(APP9RESO) \
`$(TYPE) /dev/null $(APP9LIBS) | sed s#$(ROUT)#$(OUT)#g` \
- $(APP_LINKTYPE) $(APP9LIBSALCPPRT) $(APP9STDLIBS) $(APP9STDLIB) $(STDLIB9) > $(MISC)$/$(TARGET).$(@:b)_9.cmd
+ $(APP_LINKTYPE) $(APP9LIBSALCPPRT) \
+ -Wl,--start-group $(APP9STDLIBS) -Wl,--end-group $(APP9STDLIB) \
+ $(STDLIB9) $(MINGWSSTDENDOBJ) > $(MISC)$/$(TARGET).$(@:b)_9.cmd
@$(TYPE) $(MISC)$/$(TARGET).$(@:b)_9.cmd
@+source $(MISC)$/$(TARGET).$(@:b)_9.cmd
@ls -l $@
@@ -2700,11 +2718,13 @@ $(APP10TARGETN): $(APP10OBJS) $(APP10LIBS) \
@cat $(APP10LINKRES) $(subst,$/res$/,$/res{$(subst,$(BIN), $(@:d))} $(APP10RES)) > $(MISC)$/$(@:b)_all.res
windres $(MISC)$/$(@:b)_all.res $(APP10RESO)
.ENDIF
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
+ @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
$(APP10BASEX) $(APP10STACKN) -o $@ $(APP10OBJS) \
-Wl,-Map,$(MISC)$/$(@:b).map $(STDOBJ) $(APP10RESO) \
`$(TYPE) /dev/null $(APP10LIBS) | sed s#$(ROUT)#$(OUT)#g` \
- $(APP_LINKTYPE) $(APP10LIBSALCPPRT) $(APP10STDLIBS) $(APP10STDLIB) $(STDLIB10) > $(MISC)$/$(TARGET).$(@:b)_10.cmd
+ $(APP_LINKTYPE) $(APP10LIBSALCPPRT) \
+ -Wl,--start-group $(APP10STDLIBS) -Wl,--end-group $(APP10STDLIB) \
+ $(STDLIB10) $(MINGWSSTDENDOBJ) > $(MISC)$/$(TARGET).$(@:b)_10.cmd
@$(TYPE) $(MISC)$/$(TARGET).$(@:b)_10.cmd
@+source $(MISC)$/$(TARGET).$(@:b)_10.cmd
@ls -l $@
diff --git a/solenv/inc/_tg_def.mk b/solenv/inc/_tg_def.mk
index 1b293d4f252a..06d4174200ba 100644
--- a/solenv/inc/_tg_def.mk
+++ b/solenv/inc/_tg_def.mk
@@ -28,7 +28,7 @@ $(DEF1EXPORTFILE) : $(SHL1VERSIONMAP)
# Extract RTTI symbols from all the objects that will be used to build a shared library
nm -gP $(SHL1OBJS) \
`$(TYPE) /dev/null $(foreach,j,$(SHL1LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
- | $(SOLARENV)$/bin$/addsym-mingw.sh $@.symbols-regexp @.symbols-regexp.tmp >> $@.exported-symbols
+ | $(SOLARENV)$/bin$/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
# overwrite the map file generate into the local output tree with the generated
# exported symbols list
$(RENAME) $@.exported-symbols $@
@@ -311,7 +311,7 @@ $(DEF2EXPORTFILE) : $(SHL2VERSIONMAP)
# Extract RTTI symbols from all the objects that will be used to build a shared library
nm -gP $(SHL2OBJS) \
`$(TYPE) /dev/null $(foreach,j,$(SHL2LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
- | $(SOLARENV)$/bin$/addsym-mingw.sh $@.symbols-regexp @.symbols-regexp.tmp >> $@.exported-symbols
+ | $(SOLARENV)$/bin$/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
# overwrite the map file generate into the local output tree with the generated
# exported symbols list
$(RENAME) $@.exported-symbols $@
@@ -594,7 +594,7 @@ $(DEF3EXPORTFILE) : $(SHL3VERSIONMAP)
# Extract RTTI symbols from all the objects that will be used to build a shared library
nm -gP $(SHL3OBJS) \
`$(TYPE) /dev/null $(foreach,j,$(SHL3LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
- | $(SOLARENV)$/bin$/addsym-mingw.sh $@.symbols-regexp @.symbols-regexp.tmp >> $@.exported-symbols
+ | $(SOLARENV)$/bin$/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
# overwrite the map file generate into the local output tree with the generated
# exported symbols list
$(RENAME) $@.exported-symbols $@
@@ -877,7 +877,7 @@ $(DEF4EXPORTFILE) : $(SHL4VERSIONMAP)
# Extract RTTI symbols from all the objects that will be used to build a shared library
nm -gP $(SHL4OBJS) \
`$(TYPE) /dev/null $(foreach,j,$(SHL4LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
- | $(SOLARENV)$/bin$/addsym-mingw.sh $@.symbols-regexp @.symbols-regexp.tmp >> $@.exported-symbols
+ | $(SOLARENV)$/bin$/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
# overwrite the map file generate into the local output tree with the generated
# exported symbols list
$(RENAME) $@.exported-symbols $@
@@ -1160,7 +1160,7 @@ $(DEF5EXPORTFILE) : $(SHL5VERSIONMAP)
# Extract RTTI symbols from all the objects that will be used to build a shared library
nm -gP $(SHL5OBJS) \
`$(TYPE) /dev/null $(foreach,j,$(SHL5LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
- | $(SOLARENV)$/bin$/addsym-mingw.sh $@.symbols-regexp @.symbols-regexp.tmp >> $@.exported-symbols
+ | $(SOLARENV)$/bin$/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
# overwrite the map file generate into the local output tree with the generated
# exported symbols list
$(RENAME) $@.exported-symbols $@
@@ -1443,7 +1443,7 @@ $(DEF6EXPORTFILE) : $(SHL6VERSIONMAP)
# Extract RTTI symbols from all the objects that will be used to build a shared library
nm -gP $(SHL6OBJS) \
`$(TYPE) /dev/null $(foreach,j,$(SHL6LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
- | $(SOLARENV)$/bin$/addsym-mingw.sh $@.symbols-regexp @.symbols-regexp.tmp >> $@.exported-symbols
+ | $(SOLARENV)$/bin$/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
# overwrite the map file generate into the local output tree with the generated
# exported symbols list
$(RENAME) $@.exported-symbols $@
@@ -1726,7 +1726,7 @@ $(DEF7EXPORTFILE) : $(SHL7VERSIONMAP)
# Extract RTTI symbols from all the objects that will be used to build a shared library
nm -gP $(SHL7OBJS) \
`$(TYPE) /dev/null $(foreach,j,$(SHL7LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
- | $(SOLARENV)$/bin$/addsym-mingw.sh $@.symbols-regexp @.symbols-regexp.tmp >> $@.exported-symbols
+ | $(SOLARENV)$/bin$/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
# overwrite the map file generate into the local output tree with the generated
# exported symbols list
$(RENAME) $@.exported-symbols $@
@@ -2009,7 +2009,7 @@ $(DEF8EXPORTFILE) : $(SHL8VERSIONMAP)
# Extract RTTI symbols from all the objects that will be used to build a shared library
nm -gP $(SHL8OBJS) \
`$(TYPE) /dev/null $(foreach,j,$(SHL8LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
- | $(SOLARENV)$/bin$/addsym-mingw.sh $@.symbols-regexp @.symbols-regexp.tmp >> $@.exported-symbols
+ | $(SOLARENV)$/bin$/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
# overwrite the map file generate into the local output tree with the generated
# exported symbols list
$(RENAME) $@.exported-symbols $@
@@ -2292,7 +2292,7 @@ $(DEF9EXPORTFILE) : $(SHL9VERSIONMAP)
# Extract RTTI symbols from all the objects that will be used to build a shared library
nm -gP $(SHL9OBJS) \
`$(TYPE) /dev/null $(foreach,j,$(SHL9LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
- | $(SOLARENV)$/bin$/addsym-mingw.sh $@.symbols-regexp @.symbols-regexp.tmp >> $@.exported-symbols
+ | $(SOLARENV)$/bin$/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
# overwrite the map file generate into the local output tree with the generated
# exported symbols list
$(RENAME) $@.exported-symbols $@
@@ -2575,7 +2575,7 @@ $(DEF10EXPORTFILE) : $(SHL10VERSIONMAP)
# Extract RTTI symbols from all the objects that will be used to build a shared library
nm -gP $(SHL10OBJS) \
`$(TYPE) /dev/null $(foreach,j,$(SHL10LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
- | $(SOLARENV)$/bin$/addsym-mingw.sh $@.symbols-regexp @.symbols-regexp.tmp >> $@.exported-symbols
+ | $(SOLARENV)$/bin$/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
# overwrite the map file generate into the local output tree with the generated
# exported symbols list
$(RENAME) $@.exported-symbols $@
diff --git a/solenv/inc/_tg_shl.mk b/solenv/inc/_tg_shl.mk
index 596ecf8eac17..213cdbcbe414 100644
--- a/solenv/inc/_tg_shl.mk
+++ b/solenv/inc/_tg_shl.mk
@@ -296,24 +296,21 @@ $(SHL1TARGETN) : \
.ENDIF # "$(USE_SHELL)"=="4nt"
.ENDIF # "$(SHL1ALLRES)"!=""
.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
-.IF "$(DEFLIB1NAME)"!="" # do not have to include objs
@echo dlltool --input-def $(SHL1DEF) \
--dllname $(SHL1TARGET)$(DLLPOST) \
- --kill-at \
- --output-exp $(MISC)$/$(@:b)_exp.o > $(MISC)$/$(TARGET).$(@:b)_1.cmd
+ --kill-at \\ > $(MISC)$/$(TARGET).$(@:b)_1.cmd
+.IF "$(DEFLIB1NAME)"!="" # do not have to include objs
+ @echo --output-exp $(MISC)$/$(@:b)_exp.o >> $(MISC)$/$(TARGET).$(@:b)_1.cmd
.ELSE # "$(DEFLIB1NAME)"!="" # do not have to include objs
- @echo dlltool --input-def $(SHL1DEF) \
- --dllname $(SHL1TARGET)$(DLLPOST) \
- --kill-at \
- --output-exp $(MISC)$/$(@:b)_exp.o \
+ @echo --output-exp $(MISC)$/$(@:b)_exp.o \
$(STDOBJ) $(SHL1OBJS) $(SHL1LINKRESO) \
- `$(TYPE) /dev/null $(SHL1LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` > $(MISC)$/$(TARGET).$(@:b)_1.cmd
+ `$(TYPE) /dev/null $(SHL1LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` >> $(MISC)$/$(TARGET).$(@:b)_1.cmd
.ENDIF # "$(DEFLIB1NAME)"!=""
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) -o$@ \
+ @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \
$(STDOBJ) $(SHL1VERSIONOBJ) $(SHL1DESCRIPTIONOBJ) $(SHL1OBJS) $(SHL1LINKRESO) \
`$(TYPE) /dev/null $(SHL1LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
- -Wl,--exclude-libs,ALL $(SHL1STDLIBS) $(SHL1STDSHL) $(STDSHL1) \
- $(MISC)$/$(@:b)_exp.o \
+ -Wl,--exclude-libs,ALL,--start-group $(SHL1STDLIBS) -Wl,--end-group \
+ $(SHL1STDSHL) $(STDSHL1) $(MISC)$/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \
-Wl,-Map,$(MISC)$/$(@:b).map >> $(MISC)$/$(TARGET).$(@:b)_1.cmd
@$(TYPE) $(MISC)$/$(TARGET).$(@:b)_1.cmd
@+source $(MISC)$/$(TARGET).$(@:b)_1.cmd
@@ -844,24 +841,21 @@ $(SHL2TARGETN) : \
.ENDIF # "$(USE_SHELL)"=="4nt"
.ENDIF # "$(SHL2ALLRES)"!=""
.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
-.IF "$(DEFLIB2NAME)"!="" # do not have to include objs
@echo dlltool --input-def $(SHL2DEF) \
--dllname $(SHL2TARGET)$(DLLPOST) \
- --kill-at \
- --output-exp $(MISC)$/$(@:b)_exp.o > $(MISC)$/$(TARGET).$(@:b)_2.cmd
+ --kill-at \\ > $(MISC)$/$(TARGET).$(@:b)_2.cmd
+.IF "$(DEFLIB2NAME)"!="" # do not have to include objs
+ @echo --output-exp $(MISC)$/$(@:b)_exp.o >> $(MISC)$/$(TARGET).$(@:b)_2.cmd
.ELSE # "$(DEFLIB2NAME)"!="" # do not have to include objs
- @echo dlltool --input-def $(SHL2DEF) \
- --dllname $(SHL2TARGET)$(DLLPOST) \
- --kill-at \
- --output-exp $(MISC)$/$(@:b)_exp.o \
+ @echo --output-exp $(MISC)$/$(@:b)_exp.o \
$(STDOBJ) $(SHL2OBJS) $(SHL2LINKRESO) \
- `$(TYPE) /dev/null $(SHL2LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` > $(MISC)$/$(TARGET).$(@:b)_2.cmd
+ `$(TYPE) /dev/null $(SHL2LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` >> $(MISC)$/$(TARGET).$(@:b)_2.cmd
.ENDIF # "$(DEFLIB2NAME)"!=""
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) -o$@ \
+ @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \
$(STDOBJ) $(SHL2VERSIONOBJ) $(SHL2DESCRIPTIONOBJ) $(SHL2OBJS) $(SHL2LINKRESO) \
`$(TYPE) /dev/null $(SHL2LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
- -Wl,--exclude-libs,ALL $(SHL2STDLIBS) $(SHL2STDSHL) $(STDSHL2) \
- $(MISC)$/$(@:b)_exp.o \
+ -Wl,--exclude-libs,ALL,--start-group $(SHL2STDLIBS) -Wl,--end-group \
+ $(SHL2STDSHL) $(STDSHL2) $(MISC)$/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \
-Wl,-Map,$(MISC)$/$(@:b).map >> $(MISC)$/$(TARGET).$(@:b)_2.cmd
@$(TYPE) $(MISC)$/$(TARGET).$(@:b)_2.cmd
@+source $(MISC)$/$(TARGET).$(@:b)_2.cmd
@@ -1392,24 +1386,21 @@ $(SHL3TARGETN) : \
.ENDIF # "$(USE_SHELL)"=="4nt"
.ENDIF # "$(SHL3ALLRES)"!=""
.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
-.IF "$(DEFLIB3NAME)"!="" # do not have to include objs
@echo dlltool --input-def $(SHL3DEF) \
--dllname $(SHL3TARGET)$(DLLPOST) \
- --kill-at \
- --output-exp $(MISC)$/$(@:b)_exp.o > $(MISC)$/$(TARGET).$(@:b)_3.cmd
+ --kill-at \\ > $(MISC)$/$(TARGET).$(@:b)_3.cmd
+.IF "$(DEFLIB3NAME)"!="" # do not have to include objs
+ @echo --output-exp $(MISC)$/$(@:b)_exp.o >> $(MISC)$/$(TARGET).$(@:b)_3.cmd
.ELSE # "$(DEFLIB3NAME)"!="" # do not have to include objs
- @echo dlltool --input-def $(SHL3DEF) \
- --dllname $(SHL3TARGET)$(DLLPOST) \
- --kill-at \
- --output-exp $(MISC)$/$(@:b)_exp.o \
+ @echo --output-exp $(MISC)$/$(@:b)_exp.o \
$(STDOBJ) $(SHL3OBJS) $(SHL3LINKRESO) \
- `$(TYPE) /dev/null $(SHL3LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` > $(MISC)$/$(TARGET).$(@:b)_3.cmd
+ `$(TYPE) /dev/null $(SHL3LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` >> $(MISC)$/$(TARGET).$(@:b)_3.cmd
.ENDIF # "$(DEFLIB3NAME)"!=""
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) -o$@ \
+ @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \
$(STDOBJ) $(SHL3VERSIONOBJ) $(SHL3DESCRIPTIONOBJ) $(SHL3OBJS) $(SHL3LINKRESO) \
`$(TYPE) /dev/null $(SHL3LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
- -Wl,--exclude-libs,ALL $(SHL3STDLIBS) $(SHL3STDSHL) $(STDSHL3) \
- $(MISC)$/$(@:b)_exp.o \
+ -Wl,--exclude-libs,ALL,--start-group $(SHL3STDLIBS) -Wl,--end-group \
+ $(SHL3STDSHL) $(STDSHL3) $(MISC)$/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \
-Wl,-Map,$(MISC)$/$(@:b).map >> $(MISC)$/$(TARGET).$(@:b)_3.cmd
@$(TYPE) $(MISC)$/$(TARGET).$(@:b)_3.cmd
@+source $(MISC)$/$(TARGET).$(@:b)_3.cmd
@@ -1940,24 +1931,21 @@ $(SHL4TARGETN) : \
.ENDIF # "$(USE_SHELL)"=="4nt"
.ENDIF # "$(SHL4ALLRES)"!=""
.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
-.IF "$(DEFLIB4NAME)"!="" # do not have to include objs
@echo dlltool --input-def $(SHL4DEF) \
--dllname $(SHL4TARGET)$(DLLPOST) \
- --kill-at \
- --output-exp $(MISC)$/$(@:b)_exp.o > $(MISC)$/$(TARGET).$(@:b)_4.cmd
+ --kill-at \\ > $(MISC)$/$(TARGET).$(@:b)_4.cmd
+.IF "$(DEFLIB4NAME)"!="" # do not have to include objs
+ @echo --output-exp $(MISC)$/$(@:b)_exp.o >> $(MISC)$/$(TARGET).$(@:b)_4.cmd
.ELSE # "$(DEFLIB4NAME)"!="" # do not have to include objs
- @echo dlltool --input-def $(SHL4DEF) \
- --dllname $(SHL4TARGET)$(DLLPOST) \
- --kill-at \
- --output-exp $(MISC)$/$(@:b)_exp.o \
+ @echo --output-exp $(MISC)$/$(@:b)_exp.o \
$(STDOBJ) $(SHL4OBJS) $(SHL4LINKRESO) \
- `$(TYPE) /dev/null $(SHL4LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` > $(MISC)$/$(TARGET).$(@:b)_4.cmd
+ `$(TYPE) /dev/null $(SHL4LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` >> $(MISC)$/$(TARGET).$(@:b)_4.cmd
.ENDIF # "$(DEFLIB4NAME)"!=""
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) -o$@ \
+ @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \
$(STDOBJ) $(SHL4VERSIONOBJ) $(SHL4DESCRIPTIONOBJ) $(SHL4OBJS) $(SHL4LINKRESO) \
`$(TYPE) /dev/null $(SHL4LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
- -Wl,--exclude-libs,ALL $(SHL4STDLIBS) $(SHL4STDSHL) $(STDSHL4) \
- $(MISC)$/$(@:b)_exp.o \
+ -Wl,--exclude-libs,ALL,--start-group $(SHL4STDLIBS) -Wl,--end-group \
+ $(SHL4STDSHL) $(STDSHL4) $(MISC)$/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \
-Wl,-Map,$(MISC)$/$(@:b).map >> $(MISC)$/$(TARGET).$(@:b)_4.cmd
@$(TYPE) $(MISC)$/$(TARGET).$(@:b)_4.cmd
@+source $(MISC)$/$(TARGET).$(@:b)_4.cmd
@@ -2488,24 +2476,21 @@ $(SHL5TARGETN) : \
.ENDIF # "$(USE_SHELL)"=="4nt"
.ENDIF # "$(SHL5ALLRES)"!=""
.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
-.IF "$(DEFLIB5NAME)"!="" # do not have to include objs
@echo dlltool --input-def $(SHL5DEF) \
--dllname $(SHL5TARGET)$(DLLPOST) \
- --kill-at \
- --output-exp $(MISC)$/$(@:b)_exp.o > $(MISC)$/$(TARGET).$(@:b)_5.cmd
+ --kill-at \\ > $(MISC)$/$(TARGET).$(@:b)_5.cmd
+.IF "$(DEFLIB5NAME)"!="" # do not have to include objs
+ @echo --output-exp $(MISC)$/$(@:b)_exp.o >> $(MISC)$/$(TARGET).$(@:b)_5.cmd
.ELSE # "$(DEFLIB5NAME)"!="" # do not have to include objs
- @echo dlltool --input-def $(SHL5DEF) \
- --dllname $(SHL5TARGET)$(DLLPOST) \
- --kill-at \
- --output-exp $(MISC)$/$(@:b)_exp.o \
+ @echo --output-exp $(MISC)$/$(@:b)_exp.o \
$(STDOBJ) $(SHL5OBJS) $(SHL5LINKRESO) \
- `$(TYPE) /dev/null $(SHL5LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` > $(MISC)$/$(TARGET).$(@:b)_5.cmd
+ `$(TYPE) /dev/null $(SHL5LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` >> $(MISC)$/$(TARGET).$(@:b)_5.cmd
.ENDIF # "$(DEFLIB5NAME)"!=""
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) -o$@ \
+ @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \
$(STDOBJ) $(SHL5VERSIONOBJ) $(SHL5DESCRIPTIONOBJ) $(SHL5OBJS) $(SHL5LINKRESO) \
`$(TYPE) /dev/null $(SHL5LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
- -Wl,--exclude-libs,ALL $(SHL5STDLIBS) $(SHL5STDSHL) $(STDSHL5) \
- $(MISC)$/$(@:b)_exp.o \
+ -Wl,--exclude-libs,ALL,--start-group $(SHL5STDLIBS) -Wl,--end-group \
+ $(SHL5STDSHL) $(STDSHL5) $(MISC)$/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \
-Wl,-Map,$(MISC)$/$(@:b).map >> $(MISC)$/$(TARGET).$(@:b)_5.cmd
@$(TYPE) $(MISC)$/$(TARGET).$(@:b)_5.cmd
@+source $(MISC)$/$(TARGET).$(@:b)_5.cmd
@@ -3036,24 +3021,21 @@ $(SHL6TARGETN) : \
.ENDIF # "$(USE_SHELL)"=="4nt"
.ENDIF # "$(SHL6ALLRES)"!=""
.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
-.IF "$(DEFLIB6NAME)"!="" # do not have to include objs
@echo dlltool --input-def $(SHL6DEF) \
--dllname $(SHL6TARGET)$(DLLPOST) \
- --kill-at \
- --output-exp $(MISC)$/$(@:b)_exp.o > $(MISC)$/$(TARGET).$(@:b)_6.cmd
+ --kill-at \\ > $(MISC)$/$(TARGET).$(@:b)_6.cmd
+.IF "$(DEFLIB6NAME)"!="" # do not have to include objs
+ @echo --output-exp $(MISC)$/$(@:b)_exp.o >> $(MISC)$/$(TARGET).$(@:b)_6.cmd
.ELSE # "$(DEFLIB6NAME)"!="" # do not have to include objs
- @echo dlltool --input-def $(SHL6DEF) \
- --dllname $(SHL6TARGET)$(DLLPOST) \
- --kill-at \
- --output-exp $(MISC)$/$(@:b)_exp.o \
+ @echo --output-exp $(MISC)$/$(@:b)_exp.o \
$(STDOBJ) $(SHL6OBJS) $(SHL6LINKRESO) \
- `$(TYPE) /dev/null $(SHL6LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` > $(MISC)$/$(TARGET).$(@:b)_6.cmd
+ `$(TYPE) /dev/null $(SHL6LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` >> $(MISC)$/$(TARGET).$(@:b)_6.cmd
.ENDIF # "$(DEFLIB6NAME)"!=""
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) -o$@ \
+ @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \
$(STDOBJ) $(SHL6VERSIONOBJ) $(SHL6DESCRIPTIONOBJ) $(SHL6OBJS) $(SHL6LINKRESO) \
`$(TYPE) /dev/null $(SHL6LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
- -Wl,--exclude-libs,ALL $(SHL6STDLIBS) $(SHL6STDSHL) $(STDSHL6) \
- $(MISC)$/$(@:b)_exp.o \
+ -Wl,--exclude-libs,ALL,--start-group $(SHL6STDLIBS) -Wl,--end-group \
+ $(SHL6STDSHL) $(STDSHL6) $(MISC)$/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \
-Wl,-Map,$(MISC)$/$(@:b).map >> $(MISC)$/$(TARGET).$(@:b)_6.cmd
@$(TYPE) $(MISC)$/$(TARGET).$(@:b)_6.cmd
@+source $(MISC)$/$(TARGET).$(@:b)_6.cmd
@@ -3584,24 +3566,21 @@ $(SHL7TARGETN) : \
.ENDIF # "$(USE_SHELL)"=="4nt"
.ENDIF # "$(SHL7ALLRES)"!=""
.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
-.IF "$(DEFLIB7NAME)"!="" # do not have to include objs
@echo dlltool --input-def $(SHL7DEF) \
--dllname $(SHL7TARGET)$(DLLPOST) \
- --kill-at \
- --output-exp $(MISC)$/$(@:b)_exp.o > $(MISC)$/$(TARGET).$(@:b)_7.cmd
+ --kill-at \\ > $(MISC)$/$(TARGET).$(@:b)_7.cmd
+.IF "$(DEFLIB7NAME)"!="" # do not have to include objs
+ @echo --output-exp $(MISC)$/$(@:b)_exp.o >> $(MISC)$/$(TARGET).$(@:b)_7.cmd
.ELSE # "$(DEFLIB7NAME)"!="" # do not have to include objs
- @echo dlltool --input-def $(SHL7DEF) \
- --dllname $(SHL7TARGET)$(DLLPOST) \
- --kill-at \
- --output-exp $(MISC)$/$(@:b)_exp.o \
+ @echo --output-exp $(MISC)$/$(@:b)_exp.o \
$(STDOBJ) $(SHL7OBJS) $(SHL7LINKRESO) \
- `$(TYPE) /dev/null $(SHL7LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` > $(MISC)$/$(TARGET).$(@:b)_7.cmd
+ `$(TYPE) /dev/null $(SHL7LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` >> $(MISC)$/$(TARGET).$(@:b)_7.cmd
.ENDIF # "$(DEFLIB7NAME)"!=""
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) -o$@ \
+ @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \
$(STDOBJ) $(SHL7VERSIONOBJ) $(SHL7DESCRIPTIONOBJ) $(SHL7OBJS) $(SHL7LINKRESO) \
`$(TYPE) /dev/null $(SHL7LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
- -Wl,--exclude-libs,ALL $(SHL7STDLIBS) $(SHL7STDSHL) $(STDSHL7) \
- $(MISC)$/$(@:b)_exp.o \
+ -Wl,--exclude-libs,ALL,--start-group $(SHL7STDLIBS) -Wl,--end-group \
+ $(SHL7STDSHL) $(STDSHL7) $(MISC)$/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \
-Wl,-Map,$(MISC)$/$(@:b).map >> $(MISC)$/$(TARGET).$(@:b)_7.cmd
@$(TYPE) $(MISC)$/$(TARGET).$(@:b)_7.cmd
@+source $(MISC)$/$(TARGET).$(@:b)_7.cmd
@@ -4132,24 +4111,21 @@ $(SHL8TARGETN) : \
.ENDIF # "$(USE_SHELL)"=="4nt"
.ENDIF # "$(SHL8ALLRES)"!=""
.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
-.IF "$(DEFLIB8NAME)"!="" # do not have to include objs
@echo dlltool --input-def $(SHL8DEF) \
--dllname $(SHL8TARGET)$(DLLPOST) \
- --kill-at \
- --output-exp $(MISC)$/$(@:b)_exp.o > $(MISC)$/$(TARGET).$(@:b)_8.cmd
+ --kill-at \\ > $(MISC)$/$(TARGET).$(@:b)_8.cmd
+.IF "$(DEFLIB8NAME)"!="" # do not have to include objs
+ @echo --output-exp $(MISC)$/$(@:b)_exp.o >> $(MISC)$/$(TARGET).$(@:b)_8.cmd
.ELSE # "$(DEFLIB8NAME)"!="" # do not have to include objs
- @echo dlltool --input-def $(SHL8DEF) \
- --dllname $(SHL8TARGET)$(DLLPOST) \
- --kill-at \
- --output-exp $(MISC)$/$(@:b)_exp.o \
+ @echo --output-exp $(MISC)$/$(@:b)_exp.o \
$(STDOBJ) $(SHL8OBJS) $(SHL8LINKRESO) \
- `$(TYPE) /dev/null $(SHL8LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` > $(MISC)$/$(TARGET).$(@:b)_8.cmd
+ `$(TYPE) /dev/null $(SHL8LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` >> $(MISC)$/$(TARGET).$(@:b)_8.cmd
.ENDIF # "$(DEFLIB8NAME)"!=""
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) -o$@ \
+ @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \
$(STDOBJ) $(SHL8VERSIONOBJ) $(SHL8DESCRIPTIONOBJ) $(SHL8OBJS) $(SHL8LINKRESO) \
`$(TYPE) /dev/null $(SHL8LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
- -Wl,--exclude-libs,ALL $(SHL8STDLIBS) $(SHL8STDSHL) $(STDSHL8) \
- $(MISC)$/$(@:b)_exp.o \
+ -Wl,--exclude-libs,ALL,--start-group $(SHL8STDLIBS) -Wl,--end-group \
+ $(SHL8STDSHL) $(STDSHL8) $(MISC)$/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \
-Wl,-Map,$(MISC)$/$(@:b).map >> $(MISC)$/$(TARGET).$(@:b)_8.cmd
@$(TYPE) $(MISC)$/$(TARGET).$(@:b)_8.cmd
@+source $(MISC)$/$(TARGET).$(@:b)_8.cmd
@@ -4680,24 +4656,21 @@ $(SHL9TARGETN) : \
.ENDIF # "$(USE_SHELL)"=="4nt"
.ENDIF # "$(SHL9ALLRES)"!=""
.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
-.IF "$(DEFLIB9NAME)"!="" # do not have to include objs
@echo dlltool --input-def $(SHL9DEF) \
--dllname $(SHL9TARGET)$(DLLPOST) \
- --kill-at \
- --output-exp $(MISC)$/$(@:b)_exp.o > $(MISC)$/$(TARGET).$(@:b)_9.cmd
+ --kill-at \\ > $(MISC)$/$(TARGET).$(@:b)_9.cmd
+.IF "$(DEFLIB9NAME)"!="" # do not have to include objs
+ @echo --output-exp $(MISC)$/$(@:b)_exp.o >> $(MISC)$/$(TARGET).$(@:b)_9.cmd
.ELSE # "$(DEFLIB9NAME)"!="" # do not have to include objs
- @echo dlltool --input-def $(SHL9DEF) \
- --dllname $(SHL9TARGET)$(DLLPOST) \
- --kill-at \
- --output-exp $(MISC)$/$(@:b)_exp.o \
+ @echo --output-exp $(MISC)$/$(@:b)_exp.o \
$(STDOBJ) $(SHL9OBJS) $(SHL9LINKRESO) \
- `$(TYPE) /dev/null $(SHL9LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` > $(MISC)$/$(TARGET).$(@:b)_9.cmd
+ `$(TYPE) /dev/null $(SHL9LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` >> $(MISC)$/$(TARGET).$(@:b)_9.cmd
.ENDIF # "$(DEFLIB9NAME)"!=""
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) -o$@ \
+ @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \
$(STDOBJ) $(SHL9VERSIONOBJ) $(SHL9DESCRIPTIONOBJ) $(SHL9OBJS) $(SHL9LINKRESO) \
`$(TYPE) /dev/null $(SHL9LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
- -Wl,--exclude-libs,ALL $(SHL9STDLIBS) $(SHL9STDSHL) $(STDSHL9) \
- $(MISC)$/$(@:b)_exp.o \
+ -Wl,--exclude-libs,ALL,--start-group $(SHL9STDLIBS) -Wl,--end-group \
+ $(SHL9STDSHL) $(STDSHL9) $(MISC)$/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \
-Wl,-Map,$(MISC)$/$(@:b).map >> $(MISC)$/$(TARGET).$(@:b)_9.cmd
@$(TYPE) $(MISC)$/$(TARGET).$(@:b)_9.cmd
@+source $(MISC)$/$(TARGET).$(@:b)_9.cmd
@@ -5228,24 +5201,21 @@ $(SHL10TARGETN) : \
.ENDIF # "$(USE_SHELL)"=="4nt"
.ENDIF # "$(SHL10ALLRES)"!=""
.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
-.IF "$(DEFLIB10NAME)"!="" # do not have to include objs
@echo dlltool --input-def $(SHL10DEF) \
--dllname $(SHL10TARGET)$(DLLPOST) \
- --kill-at \
- --output-exp $(MISC)$/$(@:b)_exp.o > $(MISC)$/$(TARGET).$(@:b)_10.cmd
+ --kill-at \\ > $(MISC)$/$(TARGET).$(@:b)_10.cmd
+.IF "$(DEFLIB10NAME)"!="" # do not have to include objs
+ @echo --output-exp $(MISC)$/$(@:b)_exp.o >> $(MISC)$/$(TARGET).$(@:b)_10.cmd
.ELSE # "$(DEFLIB10NAME)"!="" # do not have to include objs
- @echo dlltool --input-def $(SHL10DEF) \
- --dllname $(SHL10TARGET)$(DLLPOST) \
- --kill-at \
- --output-exp $(MISC)$/$(@:b)_exp.o \
+ @echo --output-exp $(MISC)$/$(@:b)_exp.o \
$(STDOBJ) $(SHL10OBJS) $(SHL10LINKRESO) \
- `$(TYPE) /dev/null $(SHL10LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` > $(MISC)$/$(TARGET).$(@:b)_10.cmd
+ `$(TYPE) /dev/null $(SHL10LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` >> $(MISC)$/$(TARGET).$(@:b)_10.cmd
.ENDIF # "$(DEFLIB10NAME)"!=""
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) -o$@ \
+ @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \
$(STDOBJ) $(SHL10VERSIONOBJ) $(SHL10DESCRIPTIONOBJ) $(SHL10OBJS) $(SHL10LINKRESO) \
`$(TYPE) /dev/null $(SHL10LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
- -Wl,--exclude-libs,ALL $(SHL10STDLIBS) $(SHL10STDSHL) $(STDSHL10) \
- $(MISC)$/$(@:b)_exp.o \
+ -Wl,--exclude-libs,ALL,--start-group $(SHL10STDLIBS) -Wl,--end-group \
+ $(SHL10STDSHL) $(STDSHL10) $(MISC)$/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \
-Wl,-Map,$(MISC)$/$(@:b).map >> $(MISC)$/$(TARGET).$(@:b)_10.cmd
@$(TYPE) $(MISC)$/$(TARGET).$(@:b)_10.cmd
@+source $(MISC)$/$(TARGET).$(@:b)_10.cmd
diff --git a/solenv/inc/extension_post.mk b/solenv/inc/extension_post.mk
index 1888a6dddc71..dc4771420a7c 100644
--- a/solenv/inc/extension_post.mk
+++ b/solenv/inc/extension_post.mk
@@ -74,6 +74,12 @@ $(COMPONENT_LIBRARIES) : $(DLLDEST)$/$$(@:f)
.IF "$(OS)$(CPU)"=="WNTI"
.IF "$(COM)"=="GCC"
$(GNUCOPY) $(SOLARBINDIR)$/mingwm10.dll $(EXTENSIONDIR)
+ .IF "$(MINGW_GCCDLL)"!=""
+ $(GNUCOPY) $(SOLARBINDIR)$/$(MINGW_GCCDLL) $(EXTENSIONDIR)
+ .ENDIF
+ .IF "$(MINGW_GXXDLL)"!=""
+ $(GNUCOPY) $(SOLARBINDIR)$/$(MINGW_GXXDLL) $(EXTENSIONDIR)
+ .ENDIF
.ELSE
.IF "$(PACKMS)"!=""
.IF "$(CCNUMVER)" <= "001399999999"
diff --git a/solenv/inc/libs.mk b/solenv/inc/libs.mk
index 38b3c81c1468..dc63eff4ad25 100644
--- a/solenv/inc/libs.mk
+++ b/solenv/inc/libs.mk
@@ -57,9 +57,6 @@ I18NUTILLIB=-li18nutil$(COMID)
.INCLUDE .IGNORE : i18npool$/version.mk
I18NISOLANGLIB=-li18nisolang$(ISOLANG_MAJOR)$(COMID)
I18NPAPERLIB=-li18npaper$(DLLPOSTFIX)
-.IF "$(WITH_GPC)"!="NO"
-GPC3RDLIB=-lgpc
-.ENDIF
.IF "$(GUI)$(COM)"=="WNTGCC"
SALHELPERLIB=-lsalhelper$(UDK_MAJOR)$(COMID)
.ELSE # "$(GUI)$(COM)"=="WNTGCC"
@@ -233,10 +230,8 @@ NEON3RDLIB=$(STATIC) -lneon $(DYNAMIC)
.ENDIF
.IF "$(SYSTEM_DB)" == "YES"
BERKELEYLIB=-ldb
-BERKELEYCPPLIB=-ldb_cxx
.ELSE
-BERKELEYLIB=-ldb-4.2
-BERKELEYCPPLIB=-ldb_cxx-4.2
+BERKELEYLIB=-ldb-4.7
.ENDIF
CURLLIB=-lcurl
SFX2LIB=-lsfx$(DLLPOSTFIX)
@@ -245,6 +240,8 @@ EGGTRAYLIB=-leggtray$(DLLPOSTFIX)
SFXDEBUGLIB=
FWELIB=-lfwe$(DLLPOSTFIX)
FWILIB=-lfwi$(DLLPOSTFIX)
+SVXCORELIB=-lsvxcore$(DLLPOSTFIX)
+SVXMSFILTERLIB=-lsvxmsfilter$(DLLPOSTFIX)
SVXLIB=-lsvx$(DLLPOSTFIX)
BASCTLLIB=-lbasctl$(DLLPOSTFIX)
BASICIDELIB=-lybctl
@@ -358,9 +355,6 @@ ICUDATALIB=icudata.lib
I18NUTILLIB=ii18nutil.lib
I18NISOLANGLIB=ii18nisolang.lib
I18NPAPERLIB=ii18npaper.lib
-.IF "$(WITH_GPC)"!="NO"
-GPC3RDLIB=gpc.lib
-.ENDIF
SALHELPERLIB=isalhelper.lib
XMLSCRIPTLIB=ixcr.lib
COMPHELPERLIB=icomphelp.lib
@@ -429,6 +423,8 @@ DOCMGRLIB=docmgr.lib
BASICLIB=basic.lib
TKTLIB=tkt.lib
SJLIB=sj.lib
+SVXCORELIB=isvxcore.lib
+SVXMSFILTERLIB=isvxmsfilter.lib
SVXLIB=isvx.lib
BASCTLLIB=basctl.lib
BASICIDELIB=ybctl.lib
@@ -443,8 +439,7 @@ EXPATASCII3RDLIB=expat_xmltok.lib ascii_expat_xmlparse.lib
ZLIB3RDLIB=zlib.lib
JPEG3RDLIB=jpeglib.lib
NEON3RDLIB=neon.lib
-BERKELEYLIB=libdb42.lib
-BERKELEYCPPLIB=
+BERKELEYLIB=libdb47.lib
CURLLIB=libcurl.lib
CHAOSLIB=ichaos.lib
UUILIB=iuui.lib
diff --git a/solenv/inc/minor.mk b/solenv/inc/minor.mk
index 1ac537e53e0b..8ba46f8c5357 100644
--- a/solenv/inc/minor.mk
+++ b/solenv/inc/minor.mk
@@ -1,5 +1,5 @@
RSCVERSION=300
-RSCREVISION=300m54(Build:9416)
-BUILD=9416
-LAST_MINOR=m54
+RSCREVISION=300m57(Build:9422)
+BUILD=9422
+LAST_MINOR=m57
SOURCEVERSION=DEV300
diff --git a/solenv/inc/settings.mk b/solenv/inc/settings.mk
index a3c43edaaf67..ca1856fce33e 100644
--- a/solenv/inc/settings.mk
+++ b/solenv/inc/settings.mk
@@ -669,7 +669,7 @@ TRYALTSDF:=$(SOLARSRC)$/$(ALT_L10N_MODULE)$/$(COMMON_OUTDIR)$(PROEXT)$/misc/sdf$
# TODO: check performance impact...
LOCALIZESDF:=$(strip $(shell @+$(IFEXIST) $(TRYALTSDF) $(THEN) echo $(TRYALTSDF) $(FI)))
.ENDIF # "$(ALT_LOCALIZATION_FOUND)"!=""
-some_local_helper_var:=$(strip $(shell +$(IFEXIST) $(TRYSDF) $(THEN) echo $(TRYSDF) $(FI) ))
+some_local_helper_var:=$(strip $(shell @+$(IFEXIST) $(TRYSDF) $(THEN) echo $(TRYSDF) $(FI) ))
LOCALIZESDF!:=$(eq,$(LOCALIZESDF),$(NULL) $(some_local_helper_var) $(LOCALIZESDF))
LOCALIZESDF!:=$(eq,$(LOCALIZESDF),$(NULL) $(COMMONMISC)$/$(PRJNAME)$/$(PATH_IN_MODULE)$/localize.sdf $(LOCALIZESDF))
.ELSE # "$(LOCALIZATION_FOUND)"!="" || "$(ALT_LOCALIZATION_FOUND)"!=""
diff --git a/solenv/inc/tg_app.mk b/solenv/inc/tg_app.mk
index d6846a0410d8..efffc86156c3 100644
--- a/solenv/inc/tg_app.mk
+++ b/solenv/inc/tg_app.mk
@@ -177,11 +177,13 @@ $(APP$(TNR)TARGETN): $(APP$(TNR)OBJS) $(APP$(TNR)LIBS) \
@cat $(APP$(TNR)LINKRES) $(subst,$/res$/,$/res{$(subst,$(BIN), $(@:d))} $(APP$(TNR)RES)) > $(MISC)$/$(@:b)_all.res
windres $(MISC)$/$(@:b)_all.res $(APP$(TNR)RESO)
.ENDIF
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
+ @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
$(APP$(TNR)BASEX) $(APP$(TNR)STACKN) -o $@ $(APP$(TNR)OBJS) \
-Wl,-Map,$(MISC)$/$(@:b).map $(STDOBJ) $(APP$(TNR)RESO) \
`$(TYPE) /dev/null $(APP$(TNR)LIBS) | sed s#$(ROUT)#$(OUT)#g` \
- $(APP_LINKTYPE) $(APP$(TNR)LIBSALCPPRT) $(APP$(TNR)STDLIBS) $(APP$(TNR)STDLIB) $(STDLIB$(TNR)) > $(MISC)$/$(TARGET).$(@:b)_$(TNR).cmd
+ $(APP_LINKTYPE) $(APP$(TNR)LIBSALCPPRT) \
+ -Wl,--start-group $(APP$(TNR)STDLIBS) -Wl,--end-group $(APP$(TNR)STDLIB) \
+ $(STDLIB$(TNR)) $(MINGWSSTDENDOBJ) > $(MISC)$/$(TARGET).$(@:b)_$(TNR).cmd
@$(TYPE) $(MISC)$/$(TARGET).$(@:b)_$(TNR).cmd
@+source $(MISC)$/$(TARGET).$(@:b)_$(TNR).cmd
@ls -l $@
diff --git a/solenv/inc/tg_def.mk b/solenv/inc/tg_def.mk
index 602dfcbf3d22..ff26f53271b2 100644
--- a/solenv/inc/tg_def.mk
+++ b/solenv/inc/tg_def.mk
@@ -61,7 +61,7 @@ $(DEF$(TNR)EXPORTFILE) : $(SHL$(TNR)VERSIONMAP)
# Extract RTTI symbols from all the objects that will be used to build a shared library
nm -gP $(SHL$(TNR)OBJS) \
`$(TYPE) /dev/null $(foreach,j,$(SHL$(TNR)LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
- | $(SOLARENV)$/bin$/addsym-mingw.sh $@.symbols-regexp @.symbols-regexp.tmp >> $@.exported-symbols
+ | $(SOLARENV)$/bin$/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
# overwrite the map file generate into the local output tree with the generated
# exported symbols list
$(RENAME) $@.exported-symbols $@
diff --git a/solenv/inc/tg_ext.mk b/solenv/inc/tg_ext.mk
index f000775b2279..ced838d44000 100644
--- a/solenv/inc/tg_ext.mk
+++ b/solenv/inc/tg_ext.mk
@@ -34,9 +34,9 @@
# setup INCLUDE variable for use by VC++
.IF "$(GUI)$(COM)"=="WNTMSC"
.IF "$(EXT_USE_STLPORT)"==""
-INCLUDE!:=$(subst,$/stl, $(SOLARINC))
+INCLUDE!:=. $(subst,$/stl, $(SOLARINC))
.ELSE # "$(EXT_USE_STLPORT)"==""
-INCLUDE!:=$(SOLARINC)
+INCLUDE!:=. $(SOLARINC)
.ENDIF # "$(EXT_USE_STLPORT)"==""
INCLUDE!:=$(INCLUDE:s/ -I/;/)
.EXPORT : INCLUDE
@@ -134,13 +134,13 @@ $(MISC)$/%.unpack : $(PRJ)$/download$/%.tar.Z
$(MISC)$/%.unpack : $(PRJ)$/download$/%.tar.gz
@-$(RM) $@
- @noop $(assign UNPACKCMD := gzip -d -c $(BACK_PATH)$(fake_back)download$/$(TARFILE_NAME).tar.gz $(TARFILE_FILTER) | $(TAR) $(TAR_EXCLUDE_SWITCH) -x$(tar_verbose_switch)f - )
+ @noop $(assign UNPACKCMD := gzip -d -c $(subst,\,/ $(BACK_PATH)$(fake_back)download$/$(TARFILE_NAME).tar.gz) $(TARFILE_FILTER) | $(TAR) $(TAR_EXCLUDE_SWITCH) -x$(tar_verbose_switch)f - )
@$(TYPE) $(mktmp $(UNPACKCMD)) > $@.$(INPATH)
@$(RENAME) $@.$(INPATH) $@
$(MISC)$/%.unpack : $(PRJ)$/download$/%.tgz
@-$(RM) $@
- @noop $(assign UNPACKCMD := gzip -d -c $(BACK_PATH)$(fake_back)download$/$(TARFILE_NAME).tgz $(TARFILE_FILTER) | $(TAR) $(TAR_EXCLUDE_SWITCH) -x$(tar_verbose_switch)f - )
+ @noop $(assign UNPACKCMD := gzip -d -c $(subst,\,/ $(BACK_PATH)$(fake_back)download$/$(TARFILE_NAME).tgz) $(TARFILE_FILTER) | $(TAR) $(TAR_EXCLUDE_SWITCH) -x$(tar_verbose_switch)f - )
@$(TYPE) $(mktmp $(UNPACKCMD)) > $@.$(INPATH)
@$(RENAME) $@.$(INPATH) $@
@@ -171,7 +171,7 @@ $(PACKAGE_DIR)$/$(UNTAR_FLAG_FILE) : $(PRJ)$/$(ROUT)$/misc$/$(TARFILE_NAME).unpa
$(IFEXIST) $(PACKAGE_DIR)$/$(TARFILE_ROOTDIR) $(THEN) $(RENAME:s/+//) $(PACKAGE_DIR)$/$(TARFILE_ROOTDIR) $(PACKAGE_DIR)$/$(TARFILE_ROOTDIR)_removeme $(FI)
-rm -rf $(PACKAGE_DIR)$/$(TARFILE_ROOTDIR)_removeme
@-$(MKDIRHIER) $(PACKAGE_DIR)$(fake_root_dir)
- cd $(PACKAGE_DIR)$(fake_root_dir) && ( $(shell @$(TYPE) $(PRJ)$/$(ROUT)$/misc$/$(TARFILE_NAME).unpack)) && $(TOUCH) $(UNTAR_FLAG_FILE)
+ cd $(PACKAGE_DIR)$(fake_root_dir) && ( $(shell $(TYPE) $(PRJ)$/$(ROUT)$/misc$/$(TARFILE_NAME).unpack)) && $(TOUCH) $(UNTAR_FLAG_FILE)
@echo make writeable...
.IF "$(GUI)"=="UNX" || "$(USE_SHELL)"!="4nt"
@cd $(PACKAGE_DIR) && chmod -R +rw $(TARFILE_ROOTDIR) && $(TOUCH) $(UNTAR_FLAG_FILE)
@@ -293,7 +293,7 @@ $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE) : $(PACKAGE_DIR)$/$(INSTALL_FLAG_FILE)
@-$(MKDIR) $(foreach,i,$(OUTDIR2INC) $(INCCOM)$/$(i:b))
@echo copied $(foreach,i,$(OUTDIR2INC) $(shell @$(COPY) $(COPYRECURSE) $(PACKAGE_DIR)$/$(TARFILE_ROOTDIR)$/$i$/* $(INCCOM)$/$(i:b) >& $(NULLDEV) && echo $i))
.ELSE # "$(USE_SHELL)"=="4nt"
- $(COPY) $(COPYRECURSE) $(foreach,i,$(OUTDIR2INC) $(PACKAGE_DIR)$/$(TARFILE_ROOTDIR)$/$i) $(INCCOM)
+ $(COPY) $(DEREFERENCE) $(COPYRECURSE) $(foreach,i,$(OUTDIR2INC) $(PACKAGE_DIR)$/$(TARFILE_ROOTDIR)$/$i) $(INCCOM)
.ENDIF # "$(USE_SHELL)"=="4nt"
.ENDIF # "$(OUTDIR2INC)"!=""
.IF "$(OUT2BIN)"!=""
diff --git a/solenv/inc/tg_shl.mk b/solenv/inc/tg_shl.mk
index 327e205c22f8..3940f4e1311e 100644
--- a/solenv/inc/tg_shl.mk
+++ b/solenv/inc/tg_shl.mk
@@ -329,24 +329,21 @@ $(SHL$(TNR)TARGETN) : \
.ENDIF # "$(USE_SHELL)"=="4nt"
.ENDIF # "$(SHL$(TNR)ALLRES)"!=""
.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
-.IF "$(DEFLIB$(TNR)NAME)"!="" # do not have to include objs
@echo dlltool --input-def $(SHL$(TNR)DEF) \
--dllname $(SHL$(TNR)TARGET)$(DLLPOST) \
- --kill-at \
- --output-exp $(MISC)$/$(@:b)_exp.o > $(MISC)$/$(TARGET).$(@:b)_$(TNR).cmd
+ --kill-at \\ > $(MISC)$/$(TARGET).$(@:b)_$(TNR).cmd
+.IF "$(DEFLIB$(TNR)NAME)"!="" # do not have to include objs
+ @echo --output-exp $(MISC)$/$(@:b)_exp.o >> $(MISC)$/$(TARGET).$(@:b)_$(TNR).cmd
.ELSE # "$(DEFLIB$(TNR)NAME)"!="" # do not have to include objs
- @echo dlltool --input-def $(SHL$(TNR)DEF) \
- --dllname $(SHL$(TNR)TARGET)$(DLLPOST) \
- --kill-at \
- --output-exp $(MISC)$/$(@:b)_exp.o \
+ @echo --output-exp $(MISC)$/$(@:b)_exp.o \
$(STDOBJ) $(SHL$(TNR)OBJS) $(SHL$(TNR)LINKRESO) \
- `$(TYPE) /dev/null $(SHL$(TNR)LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` > $(MISC)$/$(TARGET).$(@:b)_$(TNR).cmd
+ `$(TYPE) /dev/null $(SHL$(TNR)LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` >> $(MISC)$/$(TARGET).$(@:b)_$(TNR).cmd
.ENDIF # "$(DEFLIB$(TNR)NAME)"!=""
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) -o$@ \
+ @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \
$(STDOBJ) $(SHL$(TNR)VERSIONOBJ) $(SHL$(TNR)DESCRIPTIONOBJ) $(SHL$(TNR)OBJS) $(SHL$(TNR)LINKRESO) \
`$(TYPE) /dev/null $(SHL$(TNR)LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
- -Wl,--exclude-libs,ALL $(SHL$(TNR)STDLIBS) $(SHL$(TNR)STDSHL) $(STDSHL$(TNR)) \
- $(MISC)$/$(@:b)_exp.o \
+ -Wl,--exclude-libs,ALL,--start-group $(SHL$(TNR)STDLIBS) -Wl,--end-group \
+ $(SHL$(TNR)STDSHL) $(STDSHL$(TNR)) $(MISC)$/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \
-Wl,-Map,$(MISC)$/$(@:b).map >> $(MISC)$/$(TARGET).$(@:b)_$(TNR).cmd
@$(TYPE) $(MISC)$/$(TARGET).$(@:b)_$(TNR).cmd
@+source $(MISC)$/$(TARGET).$(@:b)_$(TNR).cmd
diff --git a/solenv/inc/unitools.mk b/solenv/inc/unitools.mk
index 052e4c7d61de..1a684330aa54 100644
--- a/solenv/inc/unitools.mk
+++ b/solenv/inc/unitools.mk
@@ -128,6 +128,7 @@ CDD=cd
# expect cygwin tools to exist
COPY*=cp
COPYRECURSE=-r
+DEREFERENCE=-L
COPYUPDATE=-u
ECHON=echo -n
ECHONL=echo
@@ -179,16 +180,22 @@ PERL*=perl
TYPE=cat
CDD=cd
COPY=cp -f
+.IF "$(OS)"=="MACOSX"
+COPYRECURSE=-R
+.ELSE #"$(OS)"=="MACOSX"
COPYRECURSE=-r
+.ENDIF
.IF "$(OS)"=="SOLARIS"
AWK*=nawk
GNUCOPY*=gnucp
GNUPATCH*=gnupatch
GNUTAR*=gtar
+DEREFERENCE=
.ELSE # "$(OS)"=="SOLARIS"
AWK*=awk
GNUCOPY*=cp
GNUPATCH*=patch
+DEREFERENCE=-L
.ENDIF # "$(OS)"=="SOLARIS"
.IF "$(OS)"=="LINUX" || "$(OS)"=="MACOSX"
GNUMAKE*=make
diff --git a/solenv/inc/unxsoli4.mk b/solenv/inc/unxsoli4.mk
index 4567453f29d0..979a2c82671f 100644
--- a/solenv/inc/unxsoli4.mk
+++ b/solenv/inc/unxsoli4.mk
@@ -72,7 +72,7 @@ CFLAGSSLOCUIMT=-KPIC -mt
CFLAGSPROF=-xpg
CFLAGSDEBUG=-g
CFLAGSDBGUTIL=
-CFLAGSOPT=-xarch=generic -xO3 -xspace
+CFLAGSOPT=-xarch=generic -xO3
CFLAGSNOOPT=
CFLAGSOUTOBJ=-o
diff --git a/solenv/inc/wntgcci6.mk b/solenv/inc/wntgcci6.mk
index 28c16561d89f..9186ea9cc826 100644
--- a/solenv/inc/wntgcci6.mk
+++ b/solenv/inc/wntgcci6.mk
@@ -81,7 +81,10 @@ CFLAGSNOOPT=-O0
# Compiler flags for describing the output path
CFLAGSOUTOBJ=-o
#plattform hart setzen
-CDEFS+=-DWIN32 -DWINVER=0x500 -D_WIN32_IE=0x500 -D_DLL -D_M_IX86 -DSTLPORT_VERSION=450 -D_NATIVE_WCHAR_T_DEFINED
+CDEFS+=-DWIN32 -DWINVER=0x500 -D_WIN32_IE=0x500 -D_M_IX86 -DSTLPORT_VERSION=450 -D_NATIVE_WCHAR_T_DEFINED
+.IF "$(DYNAMIC_CRT)"!=""
+CDEFS+=-D_DLL
+.ENDIF
# -Wshadow does not work for C with nested uses of pthread_cleanup_push:
CFLAGSWARNCC=-Wall -Wextra -Wendif-labels
@@ -117,6 +120,8 @@ MINGWLIBDIR=$(COMPATH)$/lib$/mingw
.ELSE
MINGWLIBDIR=$(COMPATH)$/lib
.ENDIF
+MINGWSSTDOBJ=$(MINGW_CLIB_DIR)$/crtbegin.o
+MINGWSSTDENDOBJ=$(MINGW_CLIB_DIR)$/crtend.o
LINKFLAGSAPPGUI=-mwindows $(MINGWLIBDIR)$/crt2.o
LINKFLAGSSHLGUI=--warn-once -mwindows -shared $(MINGWLIBDIR)$/dllcrt2.o
LINKFLAGSAPPCUI=-mconsole $(MINGWLIBDIR)$/crt2.o
@@ -126,19 +131,33 @@ LINKFLAGSPROF=
LINKFLAGSDEBUG=-g
LINKFLAGSOPT=
+.IF "$(MINGW_SHARED_GXXLIB)"=="YES" && "$(DYNAMIC_CRT)"!=""
+STDLIBCPP=-lstdc++_s
+.ELSE
STDLIBCPP=-lstdc++
+.ENDIF
UWINAPILIB*=$(DYNAMIC) -luwinapi
+.IF "$(MINGW_SHARED_GCCLIB)"=="YES" && "$(DYNAMIC_CRT)"!=""
+MINGW_LIBGCC=-lgcc_s -lgcc
+LINKFLAGS+=-shared-libgcc
+.ELSE
+.IF "$(MINGW_GCCLIB_EH)"=="YES"
+MINGW_LIBGCC=-lgcc_eh -lgcc
+.ELSE
+MINGW_LIBGCC=-lgcc
+.ENDIF
+.ENDIF
STDOBJVCL=$(L)$/salmain.obj
STDOBJGUI=
STDSLOGUI=
STDOBJCUI=
STDSLOCUI=
-STDLIBGUIMT=-Wl,--start-group CPPRUNTIME -lgcc
-STDLIBCUIMT=-Wl,--start-group CPPRUNTIME -lgcc
-STDSHLGUIMT=-Wl,--start-group CPPRUNTIME -lgcc
-STDSHLCUIMT=-Wl,--start-group CPPRUNTIME -lgcc
-.IF "$(MINGW_NODLL)"==""
+STDLIBGUIMT=-Wl,--start-group CPPRUNTIME $(MINGW_LIBGCC)
+STDLIBCUIMT=-Wl,--start-group CPPRUNTIME $(MINGW_LIBGCC)
+STDSHLGUIMT=-Wl,--start-group CPPRUNTIME $(MINGW_LIBGCC)
+STDSHLCUIMT=-Wl,--start-group CPPRUNTIME $(MINGW_LIBGCC)
+.IF "$(DYNAMIC_CRT)"!=""
STDLIBGUIMT+=-lmingwthrd
STDLIBCUIMT+=-lmingwthrd
STDSHLGUIMT+=-lmingwthrd
@@ -150,7 +169,7 @@ STDSHLGUIMT+=-lmingw32 -lmoldname -lmingwex -Wl,--end-group $(UWINAPILIB) -lm -l
STDSHLCUIMT+=-lmingw32 -lmoldname -lmingwex -Wl,--end-group $(UWINAPILIB) -lm -lkernel32 -luser32 -lmsvcrt
LIBSTLPORT=-lstlport_gcc
-LIBSTLPORTST=-lstlport_gcc_static
+LIBSTLPORTST=-lstlport_gcc_static $(STDLIBCPP)
LIBMGR=ar
LIBFLAGS=-rsu
diff --git a/soltools/cpp/_tokens.c b/soltools/cpp/_tokens.c
index 77c8bb4384ec..863de2fbef02 100644
--- a/soltools/cpp/_tokens.c
+++ b/soltools/cpp/_tokens.c
@@ -473,11 +473,13 @@ void
if (wbp >= &wbuf[OBS])
{
- write(1, wbuf, OBS);
+ if ( write(1, wbuf, OBS) != -1 ) {
if (wbp > &wbuf[OBS])
memcpy(wbuf, wbuf + OBS, wbp - &wbuf[OBS]);
wbp -= OBS;
}
+ else exit(1);
+ }
}
trp->tp = tp;
if (cursource->fd == 0)
@@ -489,8 +491,10 @@ void
{
if (wbp > wbuf)
{
- write(1, wbuf, wbp - wbuf);
- wbp = wbuf;
+ if ( write(1, wbuf, wbp - wbuf) != -1)
+ wbp = wbuf;
+ else
+ exit(1);
}
}
diff --git a/soltools/cpp/cpp.h b/soltools/cpp/cpp.h
index df3070169aa6..da609dbe53c1 100644
--- a/soltools/cpp/cpp.h
+++ b/soltools/cpp/cpp.h
@@ -3,7 +3,7 @@
#define INS 32768 /* input buffer */
#define OBS 8092 /* outbut buffer */
#define NARG 32 /* Max number arguments to a macro */
-#define NINCLUDE 32 /* Max number of include directories (-I) */
+#define NINCLUDE 48 /* Max number of include directories (-I) */
#define NIF 64 /* depth of nesting of #if */
#define NINC 32 /* depth of nesting of #include */
diff --git a/stlport/STLport-4.0-sunstudio12u1.patch b/stlport/STLport-4.0-sunstudio12u1.patch
new file mode 100644
index 000000000000..49d76abbd836
--- /dev/null
+++ b/stlport/STLport-4.0-sunstudio12u1.patch
@@ -0,0 +1,21 @@
+--- misc/STLport-4.0/stlport/config/stl_sunpro.h Mon Jul 6 13:43:35 2009
++++ misc/build/STLport-4.0/stlport/config/stl_sunpro.h Mon Jul 6 13:56:56 2009
+@@ -31,7 +31,8 @@
+ # endif
+ # endif
+
+-# if (__SUNPRO_CC < 0x600)
++// support SunStudio compiler 12u1 version 5.10 (which results in 0x5100)
++# if (__SUNPRO_CC < 0x600 || ((__SUNPRO_CC | 0x0FFF) > 0x0FFF && __SUNPRO_CC < 0x6000))
+ // those are tested and proved not to work...
+ # define __STL_STATIC_ARRAY_BUG 1
+ # define __STL_STATIC_CONST_INIT_BUG 1
+@@ -57,7 +58,7 @@
+ # define __STL_NO_FRIEND_TEMPLATES 1
+ #endif
+
+-# if (__SUNPRO_CC < 0x600)
++# if (__SUNPRO_CC < 0x600 || ((__SUNPRO_CC | 0x0FFF) > 0x0FFF && __SUNPRO_CC < 0x6000))
+ # define __STL_HAS_NO_NEW_C_HEADERS 1
+ # define __STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS
+ # define __STL_NON_TYPE_TMPL_PARAM_BUG 1
diff --git a/stlport/makefile.mk b/stlport/makefile.mk
index 9689db5da3b6..ab4dfa244e72 100644
--- a/stlport/makefile.mk
+++ b/stlport/makefile.mk
@@ -77,7 +77,7 @@ $(INCCOM)$/stlport$/vector: systemstl$/$$(@:f)
.ENDIF
.ELSE
TARFILE_NAME=STLport-4.0
- PATCH_FILES=STLport-4.0.patch
+ PATCH_FILES=STLport-4.0.patch STLport-4.0-sunstudio12u1.patch
# To disable warnings from within STLport headers on unxsoli4 and
# unxsols4, STLport-4.0.patch had to be extended mechanically by
#