summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xconfigure574
-rw-r--r--configure.in189
-rw-r--r--instsetoo_native/inc_ooolangpack/windows/msi_templates/ControlE.idt1
-rw-r--r--instsetoo_native/inc_openoffice/windows/msi_languages/Control.ulf2
-rw-r--r--instsetoo_native/inc_openoffice/windows/msi_languages/RadioBut.ulf2
-rw-r--r--instsetoo_native/inc_openoffice/windows/msi_templates/ControlE.idt1
-rw-r--r--instsetoo_native/inc_sdkoo/windows/msi_templates/ControlE.idt1
-rw-r--r--instsetoo_native/inc_ure/windows/msi_templates/ControlE.idt1
-rw-r--r--instsetoo_native/util/makefile.mk2
-rw-r--r--instsetoo_native/util/openoffice.lst14
-rwxr-xr-x[-rw-r--r--]ooo.lst6
-rw-r--r--scp2/source/binfilter/module_binfilter.scp3
-rw-r--r--scp2/source/ooo/common_brand.scp20
-rw-r--r--scp2/source/ooo/file_font_ooo.scp2
-rw-r--r--scp2/source/ooo/module_ooo.scp5
-rw-r--r--scp2/source/ooo/profileitem_ooo.scp1
-rwxr-xr-xscp2/source/ooo/windowscustomaction_ooo.scp39
-rw-r--r--scp2/source/templates/module_langpack_binfilter.sct1
-rw-r--r--set_soenv.in3
-rw-r--r--[-rwxr-xr-x]solenv/bin/build.pl221
-rwxr-xr-xsolenv/bin/jpropex10
-rw-r--r--solenv/bin/make_installer.pl10
-rw-r--r--solenv/bin/modules/RepositoryHelper.pm205
-rwxr-xr-x[-rw-r--r--]solenv/bin/modules/SourceConfig.pm146
-rw-r--r--solenv/bin/modules/installer/control.pm10
-rw-r--r--solenv/bin/modules/installer/epmfile.pm103
-rw-r--r--solenv/bin/modules/installer/globals.pm3
-rw-r--r--solenv/bin/modules/installer/parameter.pm2
-rw-r--r--solenv/bin/modules/installer/scriptitems.pm2
-rw-r--r--solenv/bin/modules/installer/simplepackage.pm144
-rw-r--r--solenv/bin/modules/installer/systemactions.pm26
-rw-r--r--solenv/bin/modules/installer/windows/property.pm5
-rw-r--r--[-rwxr-xr-x]solenv/bin/subsequenttests2
-rw-r--r--[-rwxr-xr-x]solenv/config/sooo330.ini (renamed from solenv/config/sdev300.ini)5
-rw-r--r--solenv/config/ssolar.cmn1
-rw-r--r--solenv/inc/_tg_srs.mk20
-rw-r--r--solenv/inc/minor.mk10
-rw-r--r--solenv/inc/rules.mk2
-rw-r--r--[-rwxr-xr-x]solenv/inc/set_wntx64.mk13
-rw-r--r--solenv/inc/settings.mk6
-rw-r--r--solenv/inc/target.mk3
-rw-r--r--solenv/inc/tg_config.mk2
-rw-r--r--[-rwxr-xr-x]solenv/inc/tg_help.mk0
-rw-r--r--solenv/inc/tg_srs.mk2
-rwxr-xr-xsolenv/inc/tg_xmerge.mk109
-rw-r--r--solenv/inc/unxlng.mk8
-rw-r--r--solenv/inc/version.hrc6
-rw-r--r--solenv/inc/version.lst30
-rw-r--r--solenv/inc/version_so.hrc6
-rw-r--r--solenv/inc/versionlist.mk30
-rw-r--r--solenv/inc/wntmsci10.mk2
-rw-r--r--solenv/inc/wntmsci11.mk17
-rw-r--r--solenv/prj/d.lst2
53 files changed, 1527 insertions, 503 deletions
diff --git a/configure b/configure
index 997139fdc1a8..6a8de10e3376 100755
--- a/configure
+++ b/configure
@@ -309,7 +309,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS EGREP AWK SED LOCAL_SOLENV _solenv UPD SOURCEVERSION build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os GNUTAR OSVERSION PTHREAD_CFLAGS PTHREAD_LIBS ENABLE_CRASHDUMP VC_STANDARD ENABLE_WERROR ENABLE_DEBUG PRODUCT PROFULLSWITCH PROEXT ENABLE_SYMBOLS DISABLE_STRIP ENABLE_CUPS ENABLE_FONTCONFIG TARFILE_LOCATION DO_FETCH_TARBALLS WITH_BINFILTER ENABLE_DIRECTX DISABLE_ACTIVEX DISABLE_ATL ENABLE_RPATH WITH_MYSPELL_DICTS SYSTEM_DICTS DICT_SYSTEM_DIR HYPH_SYSTEM_DIR THES_SYSTEM_DIR WITH_MINGWIN SHELLPATH GCC_HOME CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT COMPATH GCCVER HAVE_LD_BSYMBOLIC_FUNCTIONS ENABLE_PCH NO_HIDS GNUMAKE _cc HAVE_LD_HASH_STYLE PERL MSPDB_PATH COMEX USE_MINGW MIDL_PATH CSC_PATH FRAME_HOME CPP CXX CXXFLAGS ac_ct_CXX CXXCPP SIZEOF_LONG WORDS_BIGENDIAN LFS_CFLAGS ENABLE_VBA VBA_EXTENSION PAM NEW_SHADOW_API PAM_LINK CRYPT_LINK GXX_INCLUDE_PATH MINGW_LIB_INCLUDE_PATH MINGW_BACKWARD_INCLUDE_PATH MINGW_CLIB_DIR MINGW_SHARED_GCCLIB MINGW_GCCLIB_EH MINGW_SHARED_GXXLIB MINGW_GCCDLL MINGW_GXXDLL EXCEPTIONS STLPORT4 STLPORT_VER USE_SYSTEM_STL USE_CCACHE CCACHE HAVE_GCC_VISIBILITY_FEATURE ALLOC BUILD_VER_STRING SOLAR_JAVA JAVAINTERPRETER JAVACOMPILER JAVACISGCJ JAVADOC AWTLIB JAVAAOTCOMPILER JAVA_HOME JDK JAVAFLAGS JAVAIFLAGS DMAKE BUILD_DMAKE EPM DPKG PKGMK BUILD_EPM PKGFORMAT RPM GPERF MINGWCXX ac_ct_MINGWCXX MINGWSTRIP ac_ct_MINGWSTRIP BUILD_UNOWINREG SYSTEM_STDLIBS SYSTEM_ZLIB SYSTEM_JPEG SYSTEM_EXPAT PKG_CONFIG LIBWPD_CFLAGS LIBWPD_LIBS SYSTEM_LIBWPD CPPUNIT_CFLAGS CPPUNIT_LIBS SYSTEM_CPPUNIT FREETYPE_CFLAGS FREETYPE_LIBS USE_FT_EMBOLDEN LIBXSLT_CFLAGS LIBXSLT_LIBS XSLTPROC SYSTEM_LIBXSLT LIBXML_CFLAGS LIBXML_LIBS SYSTEM_LIBXML PYTHON PYTHON_VERSION PYTHON_PREFIX PYTHON_EXEC_PREFIX PYTHON_PLATFORM pythondir pkgpythondir pyexecdir pkgpyexecdir BZIP2 SYSTEM_PYTHON PYTHON_CFLAGS PYTHON_LIBS HOME SYSTEM_DB DB_VERSION DB_INCLUDES DB_JAR SYSTEM_LUCENE LUCENE_CORE_JAR LUCENE_ANALYZERS_JAR ENABLE_MYSQLC MYSQLCONFIG SYSTEM_MYSQL MYSQL_INC MYSQL_LIB MYSQL_DEFINES LIBMYSQL_PATH SYSTEM_MYSQL_CPPCONN SYSTEM_HSQLDB HSQLDB_JAR SYSTEM_BSH BSH_JAR SERIALIZER_JAR SYSTEM_SAXON SAXON_JAR CURLCONFIG SYSTEM_CURL CURL_CFLAGS CURL_LIBS SYSTEM_MDDS SYSTEM_BOOST SYSTEM_VIGRA SYSTEM_ODBC_HEADERS WITH_MOZILLA WITH_LDAP WITH_OPENLDAP MOZ_NSS_CFLAGS MOZ_NSS_LIBS NSS_LIB MOZ_NSPR_CFLAGS MOZ_NSPR_LIBS NSPR_LIB MOZILLAXPCOM_CFLAGS MOZILLAXPCOM_LIBS MOZILLA_VERSION MOZILLA_TOOLKIT MOZGTK2_CFLAGS MOZGTK2_LIBS MOZLIBREQ_CFLAGS MOZLIBREQ_LIBS BUILD_MOZAB ENABLE_NSS_MODULE MOZILLABUILD SYSTEM_MOZILLA MOZ_FLAVOUR MOZ_INC MOZ_LIB MOZ_LIB_XPCOM MOZ_LDAP_CFLAGS SYSTEM_SANE_HEADER SYSTEM_GENBRK SYSTEM_GENCCODE SYSTEM_GENCMN SYSTEM_ICU GRAPHITE_CFLAGS GRAPHITE_LIBS ENABLE_GRAPHITE SYSTEM_GRAPHITE X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS XINC XLIB XAU_LIBS DISABLE_XAW SYSTEM_XRENDER_HEADERS XRENDER_LINK XRANDR_CFLAGS XRANDR_LIBS XRANDR_DLOPEN ENABLE_RANDR DISABLE_NEON NEON_CFLAGS NEON_LIBS SYSTEM_NEON NEON_VERSION OPENSSL_CFLAGS OPENSSL_LIBS SYSTEM_OPENSSL ENABLE_AGG AGG_CFLAGS AGG_LIBS SYSTEM_AGG AGG_VERSION REDLAND_CFLAGS REDLAND_LIBS SYSTEM_REDLAND HUNSPELL_CFLAGS HUNSPELL_LIBS SYSTEM_HUNSPELL SYSTEM_HYPH HYPHEN_LIB MYTHES_CFLAGS MYTHES_LIBS SYSTEM_MYTHES SYSTEM_LPSOLVE HAVE_GETOPT HAVE_READDIR_R SYSTEM_LIBC PSDK_HOME WINDOWS_VISTA_PSDK DIRECTXSDK_HOME DIRECTXSDK_LIB NSIS_PATH BISON FLEX PATCH GNUCP GNUPATCH CYGWIN_PATH ML_EXE ASM_HOME ZIP UNZIP ZIP_HOME ENABLE_GTK ENABLE_KDE ENABLE_KDE4 GCONF_CFLAGS GCONF_LIBS ENABLE_GCONF GNOMEVFS_CFLAGS GNOMEVFS_LIBS ENABLE_GNOMEVFS GTK_CFLAGS GTK_LIBS DBUS_CFLAGS DBUS_LIBS GIO_CFLAGS GIO_LIBS ENABLE_GIO ENABLE_DBUS ENABLE_SYSTRAY_GTK CAIRO_CFLAGS CAIRO_LIBS ENABLE_CAIRO BUILD_PIXMAN SYSTEM_CAIRO ENABLE_OPENGL ENABLE_PRESENTER_EXTRA_UI ENABLE_MINIMIZER ENABLE_PRESENTER_SCREEN POPPLER_CFLAGS POPPLER_LIBS ENABLE_PDFIMPORT SYSTEM_POPPLER ENABLE_MEDIAWIKI SYSTEM_SERVLETAPI SERVLETAPI_JAR ENABLE_REPORTBUILDER SYSTEM_JFREEREPORT SAC_JAR LIBXML_JAR FLUTE_JAR JFREEREPORT_JAR LIBBASE_JAR LIBLAYOUT_JAR LIBLOADER_JAR LIBFORMULA_JAR LIBREPOSITORY_JAR LIBFONTS_JAR LIBSERIALIZER_JAR SYSTEM_APACHE_COMMONS COMMONS_CODEC_JAR COMMONS_LANG_JAR COMMONS_HTTPCLIENT_JAR COMMONS_LOGGING_JAR MOC KDE_CFLAGS KDE_LIBS MOC4 KDE4_CFLAGS KDE4_LIBS ENABLE_LOCKDOWN GOBJECT_CFLAGS GOBJECT_LIBS ENABLE_EVOAB2 ENABLE_KAB WITH_FONTS WITHOUT_PPDS WITHOUT_AFMS SCPDEFS USE_XINERAMA XINERAMA_LINK ANT ANT_HOME ANT_LIB OOO_JUNIT_JAR WITH_LANG WITH_POOR_HELP_LOCALIZATIONS WITH_DICT INTRO_BITMAPS ABOUT_BITMAPS OOO_VENDOR UNIXWRAPPERNAME ENABLE_STATIC_GTK ENABLE_LAYOUT VERBOSE nodep LOCAL_SOLVER BUILD_TYPE LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS EGREP AWK SED LOCAL_SOLENV _solenv UPD SOURCEVERSION build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os GNUTAR OSVERSION PTHREAD_CFLAGS PTHREAD_LIBS ENABLE_CRASHDUMP VC_STANDARD ENABLE_WERROR ENABLE_DEBUG PRODUCT PROFULLSWITCH PROEXT ENABLE_SYMBOLS DISABLE_STRIP ENABLE_CUPS ENABLE_FONTCONFIG TARFILE_LOCATION DO_FETCH_TARBALLS WITH_BINFILTER ENABLE_DIRECTX DISABLE_ACTIVEX DISABLE_ATL ENABLE_RPATH WITH_MYSPELL_DICTS SYSTEM_DICTS DICT_SYSTEM_DIR HYPH_SYSTEM_DIR THES_SYSTEM_DIR WITH_MINGWIN SHELLPATH GCC_HOME CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT COMPATH GCCVER HAVE_LD_BSYMBOLIC_FUNCTIONS ENABLE_PCH NO_HIDS GNUMAKE _cc HAVE_LD_HASH_STYLE PERL MSPDB_PATH COMEX USE_MINGW MIDL_PATH CSC_PATH FRAME_HOME CPP CXX CXXFLAGS ac_ct_CXX CXXCPP SIZEOF_LONG WORDS_BIGENDIAN LFS_CFLAGS ENABLE_VBA VBA_EXTENSION PAM NEW_SHADOW_API PAM_LINK CRYPT_LINK GXX_INCLUDE_PATH MINGW_LIB_INCLUDE_PATH MINGW_BACKWARD_INCLUDE_PATH MINGW_CLIB_DIR MINGW_SHARED_GCCLIB MINGW_GCCLIB_EH MINGW_SHARED_GXXLIB MINGW_GCCDLL MINGW_GXXDLL EXCEPTIONS STLPORT4 STLPORT_VER USE_SYSTEM_STL USE_CCACHE CCACHE HAVE_GCC_VISIBILITY_FEATURE ALLOC BUILD_VER_STRING SOLAR_JAVA JAVAINTERPRETER JAVACOMPILER JAVACISGCJ JAVADOC AWTLIB JAVAAOTCOMPILER JAVA_HOME JDK JAVAFLAGS JAVAIFLAGS DMAKE BUILD_DMAKE EPM DPKG PKGMK BUILD_EPM RPM PKGFORMAT GPERF BUILD_STAX MINGWCXX ac_ct_MINGWCXX MINGWSTRIP ac_ct_MINGWSTRIP BUILD_UNOWINREG SYSTEM_STDLIBS SYSTEM_ZLIB SYSTEM_JPEG SYSTEM_EXPAT PKG_CONFIG LIBWPD_CFLAGS LIBWPD_LIBS SYSTEM_LIBWPD CPPUNIT_CFLAGS CPPUNIT_LIBS SYSTEM_CPPUNIT FREETYPE_CFLAGS FREETYPE_LIBS USE_FT_EMBOLDEN LIBXSLT_CFLAGS LIBXSLT_LIBS XSLTPROC SYSTEM_LIBXSLT LIBXML_CFLAGS LIBXML_LIBS SYSTEM_LIBXML PYTHON PYTHON_VERSION PYTHON_PREFIX PYTHON_EXEC_PREFIX PYTHON_PLATFORM pythondir pkgpythondir pyexecdir pkgpyexecdir BZIP2 SYSTEM_PYTHON PYTHON_CFLAGS PYTHON_LIBS HOME SYSTEM_DB DB_VERSION DB_INCLUDES DB_JAR SYSTEM_LUCENE LUCENE_CORE_JAR LUCENE_ANALYZERS_JAR ENABLE_MYSQLC MYSQLCONFIG SYSTEM_MYSQL MYSQL_INC MYSQL_LIB MYSQL_DEFINES LIBMYSQL_PATH SYSTEM_MYSQL_CPPCONN SYSTEM_HSQLDB HSQLDB_JAR SYSTEM_BSH BSH_JAR SERIALIZER_JAR SYSTEM_SAXON SAXON_JAR CURLCONFIG SYSTEM_CURL CURL_CFLAGS CURL_LIBS SYSTEM_MDDS SYSTEM_BOOST SYSTEM_VIGRA SYSTEM_ODBC_HEADERS WITH_MOZILLA WITH_LDAP WITH_OPENLDAP MOZ_NSS_CFLAGS MOZ_NSS_LIBS NSS_LIB MOZ_NSPR_CFLAGS MOZ_NSPR_LIBS NSPR_LIB MOZILLAXPCOM_CFLAGS MOZILLAXPCOM_LIBS MOZILLA_VERSION MOZILLA_TOOLKIT MOZGTK2_CFLAGS MOZGTK2_LIBS MOZLIBREQ_CFLAGS MOZLIBREQ_LIBS BUILD_MOZAB ENABLE_NSS_MODULE MOZILLABUILD SYSTEM_MOZILLA MOZ_FLAVOUR MOZ_INC MOZ_LIB MOZ_LIB_XPCOM MOZ_LDAP_CFLAGS SYSTEM_SANE_HEADER SYSTEM_GENBRK SYSTEM_GENCCODE SYSTEM_GENCMN SYSTEM_ICU GRAPHITE_CFLAGS GRAPHITE_LIBS ENABLE_GRAPHITE SYSTEM_GRAPHITE X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS XINC XLIB XAU_LIBS DISABLE_XAW SYSTEM_XRENDER_HEADERS XRENDER_LINK XRANDR_CFLAGS XRANDR_LIBS XRANDR_DLOPEN ENABLE_RANDR DISABLE_NEON NEON_CFLAGS NEON_LIBS SYSTEM_NEON NEON_VERSION OPENSSL_CFLAGS OPENSSL_LIBS SYSTEM_OPENSSL ENABLE_AGG AGG_CFLAGS AGG_LIBS SYSTEM_AGG AGG_VERSION REDLAND_CFLAGS REDLAND_LIBS SYSTEM_REDLAND HUNSPELL_CFLAGS HUNSPELL_LIBS SYSTEM_HUNSPELL SYSTEM_HYPH HYPHEN_LIB MYTHES_CFLAGS MYTHES_LIBS SYSTEM_MYTHES SYSTEM_LPSOLVE HAVE_GETOPT HAVE_READDIR_R SYSTEM_LIBC PSDK_HOME WINDOWS_VISTA_PSDK DIRECTXSDK_HOME DIRECTXSDK_LIB NSIS_PATH BISON FLEX PATCH GNUCP GNUPATCH CYGWIN_PATH ML_EXE ASM_HOME ZIP UNZIP ZIP_HOME ENABLE_GTK ENABLE_KDE ENABLE_KDE4 GCONF_CFLAGS GCONF_LIBS ENABLE_GCONF GNOMEVFS_CFLAGS GNOMEVFS_LIBS ENABLE_GNOMEVFS GTK_CFLAGS GTK_LIBS DBUS_CFLAGS DBUS_LIBS GIO_CFLAGS GIO_LIBS ENABLE_GIO ENABLE_DBUS ENABLE_SYSTRAY_GTK CAIRO_CFLAGS CAIRO_LIBS ENABLE_CAIRO BUILD_PIXMAN SYSTEM_CAIRO ENABLE_OPENGL ENABLE_PRESENTER_EXTRA_UI ENABLE_MINIMIZER ENABLE_PRESENTER_SCREEN POPPLER_CFLAGS POPPLER_LIBS ENABLE_PDFIMPORT SYSTEM_POPPLER ENABLE_MEDIAWIKI SYSTEM_SERVLETAPI SERVLETAPI_JAR ENABLE_REPORTBUILDER SYSTEM_JFREEREPORT SAC_JAR LIBXML_JAR FLUTE_JAR JFREEREPORT_JAR LIBBASE_JAR LIBLAYOUT_JAR LIBLOADER_JAR LIBFORMULA_JAR LIBREPOSITORY_JAR LIBFONTS_JAR LIBSERIALIZER_JAR SYSTEM_APACHE_COMMONS COMMONS_CODEC_JAR COMMONS_LANG_JAR COMMONS_HTTPCLIENT_JAR COMMONS_LOGGING_JAR MOC KDE_CFLAGS KDE_LIBS MOC4 KDE4_CFLAGS KDE4_LIBS ENABLE_LOCKDOWN GOBJECT_CFLAGS GOBJECT_LIBS ENABLE_EVOAB2 ENABLE_KAB WITH_FONTS WITHOUT_PPDS WITHOUT_AFMS SCPDEFS USE_XINERAMA XINERAMA_LINK ANT ANT_HOME ANT_LIB OOO_JUNIT_JAR WITH_LANG WITH_POOR_HELP_LOCALIZATIONS WITH_DICT INTRO_BITMAPS ABOUT_BITMAPS OOO_VENDOR UNIXWRAPPERNAME ENABLE_STATIC_GTK ENABLE_LAYOUT VERBOSE nodep LOCAL_SOLVER BUILD_TYPE LIBOBJS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@@ -1444,7 +1444,9 @@ Optional Packages:
Usage: --with-build-version="Built by Jim"
--with-alloc Define which allocator to build with
- (choices are oo, system, tcmalloc)
+ (choices are oo, system, tcmalloc, jemalloc)
+
+ Note that on FreeBSD/NetBSD system==jemalloc
--with-x use the X Window System
@@ -4886,7 +4888,7 @@ done
COMPATH=`echo $COMPATH | $SED "s@/[^/:]*\\\$@@"`;
fi
COMPATH=`echo $COMPATH | $SED "s@/[Bb][Ii][Nn]\\\$@@"`;
-echo $COMPATH
+
GCCVER=20995
if test \( "$_os" != "WINNT" -o "$WITH_MINGWIN" = "yes" \) -a "$GCC" = "yes"; then
echo "$as_me:$LINENO: checking the GNU gcc compiler version" >&5
@@ -10503,6 +10505,203 @@ fi
ALLOC="TCMALLOC";
fi
+if test "$with_alloc" = "jemalloc"; then
+ if test "$_os" != "FreeBSD" -o "$_os" != "NetBSD"; then
+ echo "$as_me:$LINENO: result: jemalloc" >&5
+echo "${ECHO_T}jemalloc" >&6
+ save_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS -pthread"
+
+echo "$as_me:$LINENO: checking for malloc in -ljemalloc" >&5
+echo $ECHO_N "checking for malloc in -ljemalloc... $ECHO_C" >&6
+if test "${ac_cv_lib_jemalloc_malloc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ljemalloc $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char malloc ();
+int
+main ()
+{
+malloc ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_jemalloc_malloc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_jemalloc_malloc=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_jemalloc_malloc" >&5
+echo "${ECHO_T}$ac_cv_lib_jemalloc_malloc" >&6
+if test $ac_cv_lib_jemalloc_malloc = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBJEMALLOC 1
+_ACEOF
+
+ LIBS="-ljemalloc $LIBS"
+
+else
+ { { echo "$as_me:$LINENO: error: jemalloc not found or functional. Install the jemalloc allocator." >&5
+echo "$as_me: error: jemalloc not found or functional. Install the jemalloc allocator." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+ ALLOC="JEMALLOC";
+ CFLAGS=$save_CFLAGS
+ else
+ echo "$as_me:$LINENO: result: system" >&5
+echo "${ECHO_T}system" >&6
+ ALLOC="SYS_ALLOC";
+
+
+
+
+for ac_func in malloc realloc calloc free
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+char (*f) () = $ac_func;
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+int
+main ()
+{
+return f != $ac_func;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+eval "$as_ac_var=no"
+fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+ fi
+fi
if test "$with_alloc" = "internal" -o -z "$with_alloc"; then
echo "$as_me:$LINENO: result: internal" >&5
echo "${ECHO_T}internal" >&6
@@ -10950,7 +11149,7 @@ echo "$as_me: error: $_javadoc_path not found set with_jdk_home" >&2;}
fi
if test "$SOLAR_JAVA" != ""; then
- if test "$JDK" == "gcj" -a -z "$JAVA_HOME"; then
+ if test "$JDK" = "gcj" -a -z "$JAVA_HOME"; then
if test "x$with_jdk_home" = "x" -a "$_gij_longver" -ge "40200"; then
cat > findhome.java <<_ACEOF
import java.io.File;
@@ -11051,7 +11250,7 @@ echo "$as_me: WARNING: in case JAVA_HOME is incorrectly set, some projects with
echo "JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script" >> warn
echo "attempted to find JAVA_HOME automatically, but apparently it failed" >> warn
echo "in case JAVA_HOME is incorrectly set, some projects with not be built correctly" >> warn
-# if test "$JDK" == "gcj"; then
+# if test "$JDK" = "gcj"; then
# echo "e.g. install java-1.4.2-gcj-compat-devel and use --with-jdk-home=/usr/lib/jvm/java-1.4.2-gcj" >> warn
# fi
fi
@@ -11970,10 +12169,14 @@ echo $ECHO_N "checking for rpm... $ECHO_C" >&6
{ { echo "$as_me:$LINENO: error: not found" >&5
echo "$as_me: error: not found" >&2;}
{ (exit 1); exit 1; }; }
- else
- RPM_PATH=`which $RPM`
+ elif "$RPM" --usage 2>&1 | $EGREP -- -bb >/dev/null; then
+ RPM_PATH=`which $RPM`
echo "$as_me:$LINENO: result: $RPM_PATH" >&5
echo "${ECHO_T}$RPM_PATH" >&6
+ else
+ { { echo "$as_me:$LINENO: error: cannot build packages. Try installing rpmbuild." >&5
+echo "$as_me: error: cannot build packages. Try installing rpmbuild." >&2;}
+ { (exit 1); exit 1; }; }
fi
fi
if echo "$PKGFORMAT" | $EGREP deb 2>&1 >/dev/null; then
@@ -12127,14 +12330,15 @@ echo "$as_me: error: pkgmk needed for Solaris pkg creation. Install it." >&2;}
-
else
echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6
EPM=NO
+ PKGFORMAT=native
fi
+
# Extract the first word of "gperf", so it can be a program name with args.
set dummy gperf; ac_word=$2
echo "$as_me:$LINENO: checking for $ac_word" >&5
@@ -12190,6 +12394,19 @@ echo "$as_me: error: too old, you need at least 3.0.0" >&2;}
{ (exit 1); exit 1; }; }
fi
+echo "$as_me:$LINENO: checking whether to build the stax" >&5
+echo $ECHO_N "checking whether to build the stax... $ECHO_C" >&6
+if test -f "./stax/download/jsr173_1.0_api.jar"; then
+ BUILD_STAX=NO
+ echo "$as_me:$LINENO: result: no, will use the prebuilt stax/download/jsr173_1.0_api.jar" >&5
+echo "${ECHO_T}no, will use the prebuilt stax/download/jsr173_1.0_api.jar" >&6
+else
+ BUILD_STAX=YES
+ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+fi
+
+
echo "$as_me:$LINENO: checking whether to build the ODK" >&5
echo $ECHO_N "checking whether to build the ODK... $ECHO_C" >&6
if test "z$enable_odk" = "z" -o "$enable_odk" != "no"; then
@@ -13895,7 +14112,7 @@ fi
if test -n "$with_system_libxslt" -o -n "$with_system_libs" && \
test "$with_system_libxslt" != "no"; then
if test -z "$with_system_libxml" -a -z "$with_system_libs" || \
- test "$with_system_libxml" == "no"; then
+ test "$with_system_libxml" = "no"; then
# somehow AC_MSG_WARN won't work...
echo "to prevent incompatibilities between internal libxml2 and libxslt, the office will be build with system-libxml"
echo "to prevent incompatibilities between internal libxml2 and libxslt, the office will be build with system-libxml" >> warn
@@ -13905,7 +14122,7 @@ fi
if test -n "$with_system_libxml" -o -n "$with_system_libs" && \
test "$with_system_libxml" != "no"; then
if test -z "$with_system_libxslt" -a -z "$with_system_libs" || \
- test "$with_system_libxslt" == "no"; then
+ test "$with_system_libxslt" = "no"; then
# somehow AC_MSG_WARN won't work...
echo "to prevent incompatibilities between internal libxslt and libxml2, the office will be build with system-libxslt"
echo "to prevent incompatibilities between internal libxslt and libxml2, the office will be build with system-libxslt" >> warn
@@ -14929,25 +15146,25 @@ if test $ac_cv_file__usr_share_java_lucene_core_2_3_jar = yes; then
LUCENE_CORE_JAR=/usr/share/java/lucene-core-2.3.jar
else
- echo "$as_me:$LINENO: checking for /usr/share/java/lucene.jar" >&5
-echo $ECHO_N "checking for /usr/share/java/lucene.jar... $ECHO_C" >&6
-if test "${ac_cv_file__usr_share_java_lucene_jar+set}" = set; then
+ echo "$as_me:$LINENO: checking for /usr/share/java/lucene-core.jar" >&5
+echo $ECHO_N "checking for /usr/share/java/lucene-core.jar... $ECHO_C" >&6
+if test "${ac_cv_file__usr_share_java_lucene_core_jar+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
test "$cross_compiling" = yes &&
{ { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5
echo "$as_me: error: cannot check for file existence when cross compiling" >&2;}
{ (exit 1); exit 1; }; }
-if test -r "/usr/share/java/lucene.jar"; then
- ac_cv_file__usr_share_java_lucene_jar=yes
+if test -r "/usr/share/java/lucene-core.jar"; then
+ ac_cv_file__usr_share_java_lucene_core_jar=yes
else
- ac_cv_file__usr_share_java_lucene_jar=no
+ ac_cv_file__usr_share_java_lucene_core_jar=no
fi
fi
-echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_lucene_jar" >&5
-echo "${ECHO_T}$ac_cv_file__usr_share_java_lucene_jar" >&6
-if test $ac_cv_file__usr_share_java_lucene_jar = yes; then
- LUCENE_CORE_JAR=/usr/share/java/lucene.jar
+echo "$as_me:$LINENO: result: $ac_cv_file__usr_share_java_lucene_core_jar" >&5
+echo "${ECHO_T}$ac_cv_file__usr_share_java_lucene_core_jar" >&6
+if test $ac_cv_file__usr_share_java_lucene_core_jar = yes; then
+ LUCENE_CORE_JAR=/usr/share/java/lucene-core.jar
else
{ { echo "$as_me:$LINENO: error: lucene-core.jar replacement not found" >&5
echo "$as_me: error: lucene-core.jar replacement not found" >&2;}
@@ -15068,6 +15285,26 @@ echo "$as_me: error: lucene-analyzers.jar not found." >&2;}
fi
fi
+ echo "$as_me:$LINENO: checking whether lucene is version 2.x" >&5
+echo $ECHO_N "checking whether lucene is version 2.x... $ECHO_C" >&6
+ export LUCENE_CORE_JAR
+ if $PERL -e 'use Archive::Zip;
+ my $file = "$ENV{'LUCENE_CORE_JAR'}";
+ my $zip = Archive::Zip->new( $file );
+ my $mf = $zip->contents ( "META-INF/MANIFEST.MF" );
+ if ( $mf =~ m/Specification-Version: 2.*/ ) {
+ exit 0;
+ } else {
+ exit 1;
+ }'; then
+ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+ else
+ { { echo "$as_me:$LINENO: error: no, you need lucene 2" >&5
+echo "$as_me: error: no, you need lucene 2" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
else
echo "$as_me:$LINENO: result: internal" >&5
echo "${ECHO_T}internal" >&6
@@ -15564,35 +15801,35 @@ echo "$as_me: error: hsqldb.jar not found." >&2;}
{ (exit 1); exit 1; }; }
fi
- echo "$as_me:$LINENO: checking whether hsqldb is >= 1.8.0.9" >&5
-echo $ECHO_N "checking whether hsqldb is >= 1.8.0.9... $ECHO_C" >&6
+ echo "$as_me:$LINENO: checking whether hsqldb is 1.8.0.x" >&5
+echo $ECHO_N "checking whether hsqldb is 1.8.0.x... $ECHO_C" >&6
export HSQLDB_JAR
if $PERL -e 'use Archive::Zip;
my $file = "$ENV{'HSQLDB_JAR'}";
my $zip = Archive::Zip->new( $file );
my $mf = $zip->contents ( "META-INF/MANIFEST.MF" );
- if ( $mf =~ m/Specification-Version: 1.8.*/ ) {
- push @l, split(/\n/, $mf);
- foreach my $line (@l) {
- if ($line =~ m/Specification-Version:/) {
- ($t, $version) = split (/:/,$line);
- $version =~ s/^\s//;
- ($a, $b, $c, $d) = split (/\./,$version);
- if (($c == "0" && $d > "8") || $c > 0) {
- exit 0;
- } else {
- exit 1;
- }
- }
- }
- } else {
- exit 1;
+ if ( $mf =~ m/Specification-Version: 1.8.*/ ) {
+ push @l, split(/\n/, $mf);
+ foreach my $line (@l) {
+ if ($line =~ m/Specification-Version:/) {
+ ($t, $version) = split (/:/,$line);
+ $version =~ s/^\s//;
+ ($a, $b, $c, $d) = split (/\./,$version);
+ if ($c == "0" && $d > "8") {
+ exit 0;
+ } else {
+ exit 1;
+ }
+ }
+ }
+ } else {
+ exit 1;
}'; then
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
else
- { { echo "$as_me:$LINENO: error: no, hsqldb >= 1.8.0.9 is needed" >&5
-echo "$as_me: error: no, hsqldb >= 1.8.0.9 is needed" >&2;}
+ { { echo "$as_me:$LINENO: error: no, you need hsqldb >= 1.8.0.9 but < 1.8.1" >&5
+echo "$as_me: error: no, you need hsqldb >= 1.8.0.9 but < 1.8.1" >&2;}
{ (exit 1); exit 1; }; }
fi
else
@@ -16431,8 +16668,8 @@ fi
if test $ac_cv_header_boost_spirit_include_classic_core_hpp = yes; then
:
else
- { { echo "$as_me:$LINENO: error: boost/spirit/include/classic_core.hpp not found. install boost >= 1.38" >&5
-echo "$as_me: error: boost/spirit/include/classic_core.hpp not found. install boost >= 1.38" >&2;}
+ { { echo "$as_me:$LINENO: error: boost/spirit/include/classic_core.hpp not found. install boost >= 1.36" >&5
+echo "$as_me: error: boost/spirit/include/classic_core.hpp not found. install boost >= 1.36" >&2;}
{ (exit 1); exit 1; }; }
fi
@@ -18129,7 +18366,7 @@ Please recompile $tmp with --enable-ldap or use --with-openldap." >&2;}
#e.g. http://fedoraproject.org/wiki/Releases/FeatureXULRunnerAPIChanges
#the plugin pkg-config etc. reverts to "mozilla-plugin" with libxul
- if test "$MOZ_FLAVOUR" == "libxul"; then
+ if test "$MOZ_FLAVOUR" = "libxul"; then
MOZ_FLAVOUR="mozilla"
fi
@@ -19368,7 +19605,7 @@ fi
echo "$as_me:$LINENO: checking whether to enable graphite support" >&5
echo $ECHO_N "checking whether to enable graphite support... $ECHO_C" >&6
-if test "$_os" = "WINNT" -o "$_os" = "Linux" && test "z$enable_graphite" == "z" -o "$enable_graphite" != "no" ; then
+if test "$_os" = "WINNT" -o "$_os" = "Linux" && test "z$enable_graphite" = "z" -o "$enable_graphite" != "no" ; then
echo "$as_me:$LINENO: result: yes" >&5
echo "${ECHO_T}yes" >&6
ENABLE_GRAPHITE="TRUE"
@@ -19620,7 +19857,7 @@ ac_x_header_dirs='
/usr/openwin/share/include'
if test "$ac_x_includes" = no; then
- # Guess where to find include files, by looking for Xlib.h.
+ # Guess where to find include files, by looking for Intrinsic.h.
# First, try using that file with no special directory specified.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@@ -19628,7 +19865,7 @@ _ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <X11/Xlib.h>
+#include <X11/Intrinsic.h>
_ACEOF
if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
(eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
@@ -19655,7 +19892,7 @@ else
sed 's/^/| /' conftest.$ac_ext >&5
for ac_dir in $ac_x_header_dirs; do
- if test -r "$ac_dir/X11/Xlib.h"; then
+ if test -r "$ac_dir/X11/Intrinsic.h"; then
ac_x_includes=$ac_dir
break
fi
@@ -19669,18 +19906,18 @@ if test "$ac_x_libraries" = no; then
# See if we find them without any special options.
# Don't add to $LIBS permanently.
ac_save_LIBS=$LIBS
- LIBS="-lX11 $LIBS"
+ LIBS="-lXt $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <X11/Xlib.h>
+#include <X11/Intrinsic.h>
int
main ()
{
-XrmInitialize ()
+XtMalloc (0)
;
return 0;
}
@@ -24190,6 +24427,155 @@ echo "$as_me: error: lpsolve headers not found." >&2;}
fi
+ # some systems need this. Like Ubuntu....
+
+echo "$as_me:$LINENO: checking for floor in -lm" >&5
+echo $ECHO_N "checking for floor in -lm... $ECHO_C" >&6
+if test "${ac_cv_lib_m_floor+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lm $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char floor ();
+int
+main ()
+{
+floor ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_m_floor=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_m_floor=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_m_floor" >&5
+echo "${ECHO_T}$ac_cv_lib_m_floor" >&6
+if test $ac_cv_lib_m_floor = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBM 1
+_ACEOF
+
+ LIBS="-lm $LIBS"
+
+fi
+
+
+echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char dlopen ();
+int
+main ()
+{
+dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_dl_dlopen=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_dl_dlopen=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
+if test $ac_cv_lib_dl_dlopen = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBDL 1
+_ACEOF
+
+ LIBS="-ldl $LIBS"
+
+fi
+
echo "$as_me:$LINENO: checking for make_lp in -llpsolve55" >&5
echo $ECHO_N "checking for make_lp in -llpsolve55... $ECHO_C" >&6
@@ -25154,14 +25540,12 @@ echo "$as_me: error: Configure did not find ml.exe assembler." >&2;}
with_asm_home="ASM_IN_PATH"
fi
fi
-else
- with_asm_home="NO_ASM_HOME"
-fi
-ASM_HOME="$with_asm_home"
-if test -n "$ASM_HOME"; then
echo "$as_me:$LINENO: result: $ASM_HOME" >&5
echo "${ECHO_T}$ASM_HOME" >&6
+else
+ with_asm_home="NO_ASM_HOME"
fi
+ASM_HOME="$with_asm_home"
if test -z "$with_zip_home"; then
@@ -26798,7 +27182,7 @@ echo "${ECHO_T}no" >&6
fi
-if test "$ENABLE_MEDIAWIKI" == "YES"; then
+if test "$ENABLE_MEDIAWIKI" = "YES"; then
echo "$as_me:$LINENO: checking which Servlet API Jar to use" >&5
echo $ECHO_N "checking which Servlet API Jar to use... $ECHO_C" >&6
if test -n "$with_system_servlet_api"; then
@@ -26862,9 +27246,9 @@ echo "$as_me: error: not existing. get it (did you get the -extensions tarball?)
fi
echo "$as_me:$LINENO: checking which jfreereport libs to use" >&5
echo $ECHO_N "checking which jfreereport libs to use... $ECHO_C" >&6
- if test "$with_system_jfreereport" == "yes"; then
- SYSTEM_JFREEREPORT=YES
- echo "$as_me:$LINENO: result: external" >&5
+ if test "$with_system_jfreereport" = "yes"; then
+ SYSTEM_JFREEREPORT=YES
+ echo "$as_me:$LINENO: result: external" >&5
echo "${ECHO_T}external" >&6
if test -z $SAC_JAR; then
SAC_JAR=/usr/share/java/sac.jar
@@ -28276,7 +28660,7 @@ if test "$test_kde4" = "yes" -a "$ENABLE_KDE4" = "TRUE" ; then
kde_incdirs="/usr/include $x_includes"
kde_libdirs="/usr/lib $x_libraries"
- if test "$build_cpu" == "x86_64" ; then
+ 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
@@ -29090,32 +29474,6 @@ else
export ANT_HOME
fi
- ant_minver=1.6.0
- # update for more extensions...
- if test "$ENABLE_MEDIAWIKI" = "YES"; then
- ant_minver=1.7.0
- fi
- ant_minminor1=`echo $ant_minver | cut -d"." -f2`
-
- echo "$as_me:$LINENO: checking whether ant is >= $ant_minver" >&5
-echo $ECHO_N "checking whether ant is >= $ant_minver... $ECHO_C" >&6
- ant_version=`$ANT -version | $AWK '{ print $4; }'`
- ant_version_major=`echo $ant_version | cut -d. -f1`
- ant_version_minor=`echo $ant_version | cut -d. -f2`
-echo "configure: ant_version $ant_version " >&5
-echo "configure: ant_version_major $ant_version_major " >&5
-echo "configure: ant_version_minor $ant_version_minor " >&5
- if test "$ant_version_major" -ge "2"; then
- echo "$as_me:$LINENO: result: yes, $ant_version" >&5
-echo "${ECHO_T}yes, $ant_version" >&6
- elif test "$ant_version_major" = "1" && test "$ant_version_minor" -ge "$ant_minminor1"; then
- echo "$as_me:$LINENO: result: yes, $ant_version" >&5
-echo "${ECHO_T}yes, $ant_version" >&6
- else
- { { echo "$as_me:$LINENO: error: no, you need at least ant >= $ant_minver" >&5
-echo "$as_me: error: no, you need at least ant >= $ant_minver" >&2;}
- { (exit 1); exit 1; }; }
- fi
echo "$as_me:$LINENO: checking if $ANT works" >&5
echo $ECHO_N "checking if $ANT works... $ECHO_C" >&6
cat > conftest.java << EOF
@@ -29206,6 +29564,33 @@ fi
fi
+ant_minver=1.6.0
+# update for more extensions...
+if test "$ENABLE_MEDIAWIKI" = "YES"; then
+ ant_minver=1.7.0
+fi
+ant_minminor1=`echo $ant_minver | cut -d"." -f2`
+
+echo "$as_me:$LINENO: checking whether ant is >= $ant_minver" >&5
+echo $ECHO_N "checking whether ant is >= $ant_minver... $ECHO_C" >&6
+ant_version=`$ANT -version | $AWK '{ print $4; }'`
+ant_version_major=`echo $ant_version | cut -d. -f1`
+ant_version_minor=`echo $ant_version | cut -d. -f2`
+echo "configure: ant_version $ant_version " >&5
+echo "configure: ant_version_major $ant_version_major " >&5
+echo "configure: ant_version_minor $ant_version_minor " >&5
+if test "$ant_version_major" -ge "2"; then
+ echo "$as_me:$LINENO: result: yes, $ant_version" >&5
+echo "${ECHO_T}yes, $ant_version" >&6
+elif test "$ant_version_major" = "1" && test "$ant_version_minor" -ge "$ant_minminor1"; then
+ echo "$as_me:$LINENO: result: yes, $ant_version" >&5
+echo "${ECHO_T}yes, $ant_version" >&6
+else
+ { { echo "$as_me:$LINENO: error: no, you need at least ant >= $ant_minver" >&5
+echo "$as_me: error: no, you need at least ant >= $ant_minver" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
if test "$ENABLE_MEDIAWIKI" = "YES"; then
echo "$as_me:$LINENO: checking whether ant supports mapper type=\"regexp\"" >&5
echo $ECHO_N "checking whether ant supports mapper type=\"regexp\"... $ECHO_C" >&6
@@ -29213,18 +29598,18 @@ rm -rf confdir
mkdir confdir
cat > conftest.java << EOF
public class conftest {
- int testmethod(int a, int b) {
+ int testmethod(int a, int b) {
return a + b;
- }
+ }
}
EOF
cat > conftest.xml << EOF
<project name="conftest" default="conftest">
- <target name="conftest" depends="copytest">
+ <target name="conftest" depends="copytest">
<javac srcdir="." includes="conftest.java">
- </javac>
- </target>
+ </javac>
+ </target>
<target name="copytest">
<copy todir="confdir">
<fileset dir="confdir" includes="**/*.abc" casesensitive="yes"/>
@@ -29437,12 +29822,12 @@ fi
echo "$as_me:$LINENO: checking build verbosity" >&5
echo $ECHO_N "checking build verbosity... $ECHO_C" >&6
if test -n "$enable_verbose"; then
- if test "$enable_verbose" == "yes"; then
+ if test "$enable_verbose" = "yes"; then
VERBOSE="TRUE"
echo "$as_me:$LINENO: result: high" >&5
echo "${ECHO_T}high" >&6
fi
- if test "$enable_verbose" == "no"; then
+ if test "$enable_verbose" = "no"; then
VERBOSE="FALSE"
echo "$as_me:$LINENO: result: low" >&5
echo "${ECHO_T}low" >&6
@@ -30252,9 +30637,10 @@ s,@EPM@,$EPM,;t t
s,@DPKG@,$DPKG,;t t
s,@PKGMK@,$PKGMK,;t t
s,@BUILD_EPM@,$BUILD_EPM,;t t
-s,@PKGFORMAT@,$PKGFORMAT,;t t
s,@RPM@,$RPM,;t t
+s,@PKGFORMAT@,$PKGFORMAT,;t t
s,@GPERF@,$GPERF,;t t
+s,@BUILD_STAX@,$BUILD_STAX,;t t
s,@MINGWCXX@,$MINGWCXX,;t t
s,@ac_ct_MINGWCXX@,$ac_ct_MINGWCXX,;t t
s,@MINGWSTRIP@,$MINGWSTRIP,;t t
diff --git a/configure.in b/configure.in
index 00a5d5dde8b5..2d276e9ffde8 100644
--- a/configure.in
+++ b/configure.in
@@ -810,7 +810,9 @@ AC_ARG_WITH(build-version,
],with_build_version=$withval)
AC_ARG_WITH(alloc,
[ --with-alloc Define which allocator to build with
- (choices are oo, system, tcmalloc)
+ (choices are oo, system, tcmalloc, jemalloc)
+
+ Note that on FreeBSD/NetBSD system==jemalloc
],,)
AC_ARG_ENABLE(verbose,
[ --enable-verbose Increase build verbosity.
@@ -1430,7 +1432,7 @@ if test "$COMPATH" = "." ; then
COMPATH=`echo $COMPATH | $SED "s@/[[^/:]]*\\\$@@"`;
fi
COMPATH=`echo $COMPATH | $SED "s@/[[Bb]][[Ii]][[Nn]]\\\$@@"`;
-echo $COMPATH
+
dnl ===================================================================
dnl Test the gcc version, 3 is OK
dnl ===================================================================
@@ -2683,6 +2685,21 @@ if test "$with_alloc" = "tcmalloc"; then
[AC_MSG_ERROR(tcmalloc not found or functional. Install the Google Profiling Tools)], [])
ALLOC="TCMALLOC";
fi
+if test "$with_alloc" = "jemalloc"; then
+ if test "$_os" != "FreeBSD" -o "$_os" != "NetBSD"; then
+ AC_MSG_RESULT(jemalloc)
+ save_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS -pthread"
+ AC_CHECK_LIB(jemalloc, malloc, [],
+ [AC_MSG_ERROR(jemalloc not found or functional. Install the jemalloc allocator.)], [])
+ ALLOC="JEMALLOC";
+ CFLAGS=$save_CFLAGS
+ else
+ AC_MSG_RESULT([system])
+ ALLOC="SYS_ALLOC";
+ AC_CHECK_FUNCS([malloc realloc calloc free])
+ fi
+fi
if test "$with_alloc" = "internal" -o -z "$with_alloc"; then
AC_MSG_RESULT([internal])
fi
@@ -2974,7 +2991,7 @@ fi
if test "$SOLAR_JAVA" != ""; then
dnl first check if we have been asked to autodetect JAVA_HOME with a recent gij
- if test "$JDK" == "gcj" -a -z "$JAVA_HOME"; then
+ if test "$JDK" = "gcj" -a -z "$JAVA_HOME"; then
if test "x$with_jdk_home" = "x" -a "$_gij_longver" -ge "40200"; then
cat > findhome.java <<_ACEOF
[import java.io.File;
@@ -3062,7 +3079,7 @@ _ACEOF
echo "JAVA_HOME was not explicitly informed with --with-jdk-home. the configure script" >> warn
echo "attempted to find JAVA_HOME automatically, but apparently it failed" >> warn
echo "in case JAVA_HOME is incorrectly set, some projects with not be built correctly" >> warn
-# if test "$JDK" == "gcj"; then
+# if test "$JDK" = "gcj"; then
# echo "e.g. install java-1.4.2-gcj-compat-devel and use --with-jdk-home=/usr/lib/jvm/java-1.4.2-gcj" >> warn
# fi
fi
@@ -3337,9 +3354,11 @@ msi - Windows .msi
done
if test -z "$RPM" ; then
AC_MSG_ERROR([not found])
- else
- RPM_PATH=`which $RPM`
+ elif "$RPM" --usage 2>&1 | $EGREP -- -bb >/dev/null; then
+ RPM_PATH=`which $RPM`
AC_MSG_RESULT([$RPM_PATH])
+ else
+ AC_MSG_ERROR([cannot build packages. Try installing rpmbuild.])
fi
fi
if echo "$PKGFORMAT" | $EGREP deb 2>&1 >/dev/null; then
@@ -3393,15 +3412,16 @@ msi - Windows .msi
fi
fi
AC_SUBST(BUILD_EPM)
- AC_SUBST(PKGFORMAT)
AC_SUBST(RPM)
AC_SUBST(DPKG)
AC_SUBST(PKGMK)
else
AC_MSG_RESULT([no])
EPM=NO
+ PKGFORMAT=native
fi
AC_SUBST(EPM)
+AC_SUBST(PKGFORMAT)
dnl ===================================================================
dnl Check for gperf
@@ -3418,6 +3438,19 @@ else
fi
dnl ===================================================================
+dnl Check for building stax
+dnl ===================================================================
+AC_MSG_CHECKING([whether to build the stax])
+if test -f "./stax/download/jsr173_1.0_api.jar"; then
+ BUILD_STAX=NO
+ AC_MSG_RESULT([no, will use the prebuilt stax/download/jsr173_1.0_api.jar])
+else
+ BUILD_STAX=YES
+ AC_MSG_RESULT([yes])
+fi
+AC_SUBST(BUILD_STAX)
+
+dnl ===================================================================
dnl Check for building ODK
dnl ===================================================================
AC_MSG_CHECKING([whether to build the ODK])
@@ -3652,7 +3685,7 @@ AC_SUBST(USE_FT_EMBOLDEN)
if test -n "$with_system_libxslt" -o -n "$with_system_libs" && \
test "$with_system_libxslt" != "no"; then
if test -z "$with_system_libxml" -a -z "$with_system_libs" || \
- test "$with_system_libxml" == "no"; then
+ test "$with_system_libxml" = "no"; then
# somehow AC_MSG_WARN won't work...
echo "to prevent incompatibilities between internal libxml2 and libxslt, the office will be build with system-libxml"
echo "to prevent incompatibilities between internal libxml2 and libxslt, the office will be build with system-libxml" >> warn
@@ -3662,7 +3695,7 @@ fi
if test -n "$with_system_libxml" -o -n "$with_system_libs" && \
test "$with_system_libxml" != "no"; then
if test -z "$with_system_libxslt" -a -z "$with_system_libs" || \
- test "$with_system_libxslt" == "no"; then
+ test "$with_system_libxslt" = "no"; then
# somehow AC_MSG_WARN won't work...
echo "to prevent incompatibilities between internal libxslt and libxml2, the office will be build with system-libxslt"
echo "to prevent incompatibilities between internal libxslt and libxml2, the office will be build with system-libxslt" >> warn
@@ -3817,8 +3850,8 @@ if test -n "$with_system_lucene" -o -n "$with_system_libs" && \
AC_CHECK_FILE(/usr/share/java/lucene-core-2.3.jar,
[ LUCENE_CORE_JAR=/usr/share/java/lucene-core-2.3.jar ],
[
- AC_CHECK_FILE(/usr/share/java/lucene.jar,
- [ LUCENE_CORE_JAR=/usr/share/java/lucene.jar ],
+ AC_CHECK_FILE(/usr/share/java/lucene-core.jar,
+ [ LUCENE_CORE_JAR=/usr/share/java/lucene-core.jar ],
[ AC_MSG_ERROR(lucene-core.jar replacement not found)]
)
]
@@ -3842,6 +3875,22 @@ if test -n "$with_system_lucene" -o -n "$with_system_libs" && \
AC_CHECK_FILE($LUCENE_CORE_JAR, [],
[ AC_MSG_ERROR(lucene-analyzers.jar not found.)], [])
fi
+ AC_MSG_CHECKING([whether lucene is version 2.x])
+ export LUCENE_CORE_JAR
+ if $PERL -e 'use Archive::Zip;
+ my $file = "$ENV{'LUCENE_CORE_JAR'}";
+ my $zip = Archive::Zip->new( $file );
+ my $mf = $zip->contents ( "META-INF/MANIFEST.MF" );
+ if ( $mf =~ m/Specification-Version: 2.*/ ) {
+ exit 0;
+ } else {
+ exit 1;
+ }'; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_ERROR([no, you need lucene 2])
+ fi
+
else
AC_MSG_RESULT([internal])
SYSTEM_LUCENE=NO
@@ -3979,32 +4028,32 @@ if test -n "$with_system_hsqldb" -o -n "$with_system_libs" && \
fi
AC_CHECK_FILE($HSQLDB_JAR, [],
[AC_MSG_ERROR(hsqldb.jar not found.)], [])
- AC_MSG_CHECKING([whether hsqldb is >= 1.8.0.9])
+ AC_MSG_CHECKING([whether hsqldb is 1.8.0.x])
export HSQLDB_JAR
if $PERL -e 'use Archive::Zip;
my $file = "$ENV{'HSQLDB_JAR'}";
my $zip = Archive::Zip->new( $file );
my $mf = $zip->contents ( "META-INF/MANIFEST.MF" );
- if ( $mf =~ m/Specification-Version: 1.8.*/ ) {
- push @l, split(/\n/, $mf);
- foreach my $line (@l) {
- if ($line =~ m/Specification-Version:/) {
- ($t, $version) = split (/:/,$line);
- $version =~ s/^\s//;
- ($a, $b, $c, $d) = split (/\./,$version);
- if (($c == "0" && $d > "8") || $c > 0) {
- exit 0;
- } else {
- exit 1;
- }
- }
- }
- } else {
- exit 1;
+ if ( $mf =~ m/Specification-Version: 1.8.*/ ) {
+ push @l, split(/\n/, $mf);
+ foreach my $line (@l) {
+ if ($line =~ m/Specification-Version:/) {
+ ($t, $version) = split (/:/,$line);
+ $version =~ s/^\s//;
+ ($a, $b, $c, $d) = split (/\./,$version);
+ if ($c == "0" && $d > "8") {
+ exit 0;
+ } else {
+ exit 1;
+ }
+ }
+ }
+ } else {
+ exit 1;
}'; then
AC_MSG_RESULT([yes])
else
- AC_MSG_ERROR([no, hsqldb >= 1.8.0.9 is needed])
+ AC_MSG_ERROR([no, you need hsqldb >= 1.8.0.9 but < 1.8.1])
fi
else
AC_MSG_RESULT([internal])
@@ -4211,7 +4260,7 @@ if test -n "$with_system_boost" -o -n "$with_system_headers" && \
AC_CHECK_HEADER(boost/shared_ptr.hpp, [],
[AC_MSG_ERROR(boost/shared_ptr.hpp not found. install boost)], [])
AC_CHECK_HEADER(boost/spirit/include/classic_core.hpp, [],
- [AC_MSG_ERROR(boost/spirit/include/classic_core.hpp not found. install boost >= 1.38)], [])
+ [AC_MSG_ERROR(boost/spirit/include/classic_core.hpp not found. install boost >= 1.36)], [])
AC_CHECK_HEADER(boost/function.hpp, [],
[AC_MSG_ERROR(boost/function.hpp not found. install boost)], [])
@@ -4428,7 +4477,7 @@ Please recompile $tmp with --enable-ldap or use --with-openldap.])
#e.g. http://fedoraproject.org/wiki/Releases/FeatureXULRunnerAPIChanges
#the plugin pkg-config etc. reverts to "mozilla-plugin" with libxul
- if test "$MOZ_FLAVOUR" == "libxul"; then
+ if test "$MOZ_FLAVOUR" = "libxul"; then
MOZ_FLAVOUR="mozilla"
fi
@@ -4689,7 +4738,7 @@ 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
+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])
@@ -5133,6 +5182,9 @@ if test -n "$with_system_lpsolve" -o -n "$with_system_libs" && \
SYSTEM_LPSOLVE=YES
AC_CHECK_HEADER(lpsolve/lp_lib.h, [],
[ AC_MSG_ERROR(lpsolve headers not found.)], [])
+ # some systems need this. Like Ubuntu....
+ AC_CHECK_LIB(m, floor)
+ AC_CHECK_LIB(dl, dlopen)
AC_CHECK_LIB(lpsolve55, make_lp, ,
[ AC_MSG_ERROR(lpsolve library not found or too old.)], [])
else
@@ -5446,13 +5498,11 @@ if test "$_os" = "WINNT" -a "$WITH_MINGWIN" != "yes"; then
with_asm_home="ASM_IN_PATH"
fi
fi
+ AC_MSG_RESULT([$ASM_HOME])
else
- with_asm_home="NO_ASM_HOME"
+ with_asm_home="NO_ASM_HOME"
fi
ASM_HOME="$with_asm_home"
-if test -n "$ASM_HOME"; then
- AC_MSG_RESULT([$ASM_HOME])
-fi
AC_SUBST(ASM_HOME)
dnl ===================================================================
@@ -5869,7 +5919,7 @@ else
fi
AC_SUBST(ENABLE_MEDIAWIKI)
-if test "$ENABLE_MEDIAWIKI" == "YES"; then
+if test "$ENABLE_MEDIAWIKI" = "YES"; then
AC_MSG_CHECKING([which Servlet API Jar to use])
if test -n "$with_system_servlet_api"; then
AC_MSG_RESULT([external])
@@ -5899,9 +5949,9 @@ if test -n "$enable_report_builder" -a "$enable_report_builder" != "no" && test
AC_MSG_ERROR([not existing. get it (did you get the -extensions tarball?)])
fi
AC_MSG_CHECKING([which jfreereport libs to use])
- if test "$with_system_jfreereport" == "yes"; then
- SYSTEM_JFREEREPORT=YES
- AC_MSG_RESULT([external])
+ if test "$with_system_jfreereport" = "yes"; then
+ SYSTEM_JFREEREPORT=YES
+ AC_MSG_RESULT([external])
if test -z $SAC_JAR; then
SAC_JAR=/usr/share/java/sac.jar
fi
@@ -6306,7 +6356,7 @@ if test "$test_kde4" = "yes" -a "$ENABLE_KDE4" = "TRUE" ; then
kde_incdirs="/usr/include $x_includes"
kde_libdirs="/usr/lib $x_libraries"
- if test "$build_cpu" == "x86_64" ; then
+ 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
@@ -6605,27 +6655,6 @@ else
export ANT_HOME
fi
- ant_minver=1.6.0
- # update for more extensions...
- if test "$ENABLE_MEDIAWIKI" = "YES"; then
- ant_minver=1.7.0
- fi
- ant_minminor1=`echo $ant_minver | cut -d"." -f2`
-
- AC_MSG_CHECKING([whether ant is >= $ant_minver])
- ant_version=`$ANT -version | $AWK '{ print $4; }'`
- ant_version_major=`echo $ant_version | cut -d. -f1`
- ant_version_minor=`echo $ant_version | cut -d. -f2`
-echo "configure: ant_version $ant_version " >&5
-echo "configure: ant_version_major $ant_version_major " >&5
-echo "configure: ant_version_minor $ant_version_minor " >&5
- if test "$ant_version_major" -ge "2"; then
- AC_MSG_RESULT([yes, $ant_version])
- elif test "$ant_version_major" = "1" && test "$ant_version_minor" -ge "$ant_minminor1"; then
- AC_MSG_RESULT([yes, $ant_version])
- else
- AC_MSG_ERROR([no, you need at least ant >= $ant_minver])
- fi
AC_MSG_CHECKING([if $ANT works])
cat > conftest.java << EOF
public class conftest {
@@ -6706,24 +6735,46 @@ fi
AC_SUBST(ANT_LIB)
fi
+ant_minver=1.6.0
+# update for more extensions...
+if test "$ENABLE_MEDIAWIKI" = "YES"; then
+ ant_minver=1.7.0
+fi
+ant_minminor1=`echo $ant_minver | cut -d"." -f2`
+
+AC_MSG_CHECKING([whether ant is >= $ant_minver])
+ant_version=`$ANT -version | $AWK '{ print $4; }'`
+ant_version_major=`echo $ant_version | cut -d. -f1`
+ant_version_minor=`echo $ant_version | cut -d. -f2`
+echo "configure: ant_version $ant_version " >&5
+echo "configure: ant_version_major $ant_version_major " >&5
+echo "configure: ant_version_minor $ant_version_minor " >&5
+if test "$ant_version_major" -ge "2"; then
+ AC_MSG_RESULT([yes, $ant_version])
+elif test "$ant_version_major" = "1" && test "$ant_version_minor" -ge "$ant_minminor1"; then
+ AC_MSG_RESULT([yes, $ant_version])
+else
+ AC_MSG_ERROR([no, you need at least ant >= $ant_minver])
+fi
+
if test "$ENABLE_MEDIAWIKI" = "YES"; then
AC_MSG_CHECKING([whether ant supports mapper type="regexp"])
rm -rf confdir
mkdir confdir
cat > conftest.java << EOF
public class conftest {
- int testmethod(int a, int b) {
+ int testmethod(int a, int b) {
return a + b;
- }
+ }
}
EOF
cat > conftest.xml << EOF
<project name="conftest" default="conftest">
- <target name="conftest" depends="copytest">
+ <target name="conftest" depends="copytest">
<javac srcdir="." includes="conftest.java">
- </javac>
- </target>
+ </javac>
+ </target>
<target name="copytest">
<copy todir="confdir">
<fileset dir="confdir" includes="**/*.abc" casesensitive="yes"/>
@@ -6892,11 +6943,11 @@ AC_SUBST(ENABLE_LAYOUT)
# ===================================================================
AC_MSG_CHECKING([build verbosity])
if test -n "$enable_verbose"; then
- if test "$enable_verbose" == "yes"; then
+ if test "$enable_verbose" = "yes"; then
VERBOSE="TRUE"
AC_MSG_RESULT([high])
fi
- if test "$enable_verbose" == "no"; then
+ if test "$enable_verbose" = "no"; then
VERBOSE="FALSE"
AC_MSG_RESULT([low])
fi
diff --git a/instsetoo_native/inc_ooolangpack/windows/msi_templates/ControlE.idt b/instsetoo_native/inc_ooolangpack/windows/msi_templates/ControlE.idt
index dea5e9767a6e..21f7fe7726a5 100644
--- a/instsetoo_native/inc_ooolangpack/windows/msi_templates/ControlE.idt
+++ b/instsetoo_native/inc_ooolangpack/windows/msi_templates/ControlE.idt
@@ -132,7 +132,6 @@ SetupResume Next EndDialog Return OutOfNoRbDiskSpace <> 1 0
SetupResume Next NewDialog OutOfSpace OutOfNoRbDiskSpace = 1 0
SetupType Back NewDialog CustomerInformation 1 0
SetupType Cancel SpawnDialog CancelSetup 1 0
-SetupType Next AddLocal ALL _IsSetupTypeMin = "Typical" 0
SetupType Next NewDialog CustomSetup _IsSetupTypeMin = "Custom" 0
SetupType Next NewDialog ReadyToInstall _IsSetupTypeMin <> "Custom" 0
SplashBitmap Cancel SpawnDialog CancelSetup 1 0
diff --git a/instsetoo_native/inc_openoffice/windows/msi_languages/Control.ulf b/instsetoo_native/inc_openoffice/windows/msi_languages/Control.ulf
index 7fcb566af0e3..ec904cd5e904 100644
--- a/instsetoo_native/inc_openoffice/windows/msi_languages/Control.ulf
+++ b/instsetoo_native/inc_openoffice/windows/msi_languages/Control.ulf
@@ -620,7 +620,7 @@ en-US = "< &Back"
en-US = "Cancel"
[OOO_CONTROL_255]
-en-US = "All program features will be installed. (Requires the most disk space.)"
+en-US = "The main components will be installed. Recommended for most users."
[OOO_CONTROL_256]
en-US = "Choose which program features you want installed and where they will be installed. Recommended for advanced users."
diff --git a/instsetoo_native/inc_openoffice/windows/msi_languages/RadioBut.ulf b/instsetoo_native/inc_openoffice/windows/msi_languages/RadioBut.ulf
index da2d44cdb983..24b51774bacb 100644
--- a/instsetoo_native/inc_openoffice/windows/msi_languages/RadioBut.ulf
+++ b/instsetoo_native/inc_openoffice/windows/msi_languages/RadioBut.ulf
@@ -8,7 +8,7 @@ en-US = "{&MSSansBold8}Re&pair"
en-US = "{&MSSansBold8}&Remove"
[OOO_RADIOBUTTON_4]
-en-US = "{&MSSansBold8}&Complete"
+en-US = "{&MSSansBold8}&Typical"
[OOO_RADIOBUTTON_5]
en-US = "{&MSSansBold8}Cu&stom"
diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/ControlE.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/ControlE.idt
index 2200f4d28a3a..56bf6b92d757 100644
--- a/instsetoo_native/inc_openoffice/windows/msi_templates/ControlE.idt
+++ b/instsetoo_native/inc_openoffice/windows/msi_templates/ControlE.idt
@@ -145,7 +145,6 @@ SetupResume Next EndDialog Return OutOfNoRbDiskSpace <> 1 0
SetupResume Next NewDialog OutOfSpace OutOfNoRbDiskSpace = 1 0
SetupType Back NewDialog CustomerInformation 1 0
SetupType Cancel SpawnDialog CancelSetup 1 0
-SetupType Next AddLocal ALL _IsSetupTypeMin = "Typical" 0
SetupType Next NewDialog CustomSetup _IsSetupTypeMin = "Custom" 0
SetupType Next [FILETYPEDIALOGUSED] 0 _IsSetupTypeMin <> "Custom" 5
SetupType Next NewDialog ReadyToInstall _IsSetupTypeMin <> "Custom" 6
diff --git a/instsetoo_native/inc_sdkoo/windows/msi_templates/ControlE.idt b/instsetoo_native/inc_sdkoo/windows/msi_templates/ControlE.idt
index 332945b50bdb..49407d4770da 100644
--- a/instsetoo_native/inc_sdkoo/windows/msi_templates/ControlE.idt
+++ b/instsetoo_native/inc_sdkoo/windows/msi_templates/ControlE.idt
@@ -133,7 +133,6 @@ SetupResume Next EndDialog Return OutOfNoRbDiskSpace <> 1 0
SetupResume Next NewDialog OutOfSpace OutOfNoRbDiskSpace = 1 0
SetupType Back NewDialog CustomerInformation 1 0
SetupType Cancel SpawnDialog CancelSetup 1 0
-SetupType Next AddLocal ALL _IsSetupTypeMin = "Typical" 0
SetupType Next NewDialog CustomSetup _IsSetupTypeMin = "Custom" 0
SetupType Next NewDialog ReadyToInstall _IsSetupTypeMin <> "Custom" 0
SplashBitmap Cancel SpawnDialog CancelSetup 1 0
diff --git a/instsetoo_native/inc_ure/windows/msi_templates/ControlE.idt b/instsetoo_native/inc_ure/windows/msi_templates/ControlE.idt
index 332945b50bdb..49407d4770da 100644
--- a/instsetoo_native/inc_ure/windows/msi_templates/ControlE.idt
+++ b/instsetoo_native/inc_ure/windows/msi_templates/ControlE.idt
@@ -133,7 +133,6 @@ SetupResume Next EndDialog Return OutOfNoRbDiskSpace <> 1 0
SetupResume Next NewDialog OutOfSpace OutOfNoRbDiskSpace = 1 0
SetupType Back NewDialog CustomerInformation 1 0
SetupType Cancel SpawnDialog CancelSetup 1 0
-SetupType Next AddLocal ALL _IsSetupTypeMin = "Typical" 0
SetupType Next NewDialog CustomSetup _IsSetupTypeMin = "Custom" 0
SetupType Next NewDialog ReadyToInstall _IsSetupTypeMin <> "Custom" 0
SplashBitmap Cancel SpawnDialog CancelSetup 1 0
diff --git a/instsetoo_native/util/makefile.mk b/instsetoo_native/util/makefile.mk
index 72f4262b1c4e..19a6214f8dc6 100644
--- a/instsetoo_native/util/makefile.mk
+++ b/instsetoo_native/util/makefile.mk
@@ -210,7 +210,7 @@ $(MAKETARGETS){$(PKGFORMAT:^".")} : $(ADDDEPS)
.ENDIF # "$(MAKETARGETS:e)"=="" && "$(MAKETARGETS:s/_//)"!="$(MAKETARGETS)"
.ENDIF # "$(MAKETARGETS)"!=""
openoffice_%{$(PKGFORMAT:^".") .archive} :
- $(PERL) -w $(SOLARENV)$/bin$/make_installer.pl -f $(PRJ)$/util$/openoffice.lst -l $(subst,$(@:s/_/ /:1)_, $(@:b)) -p OpenOffice -u $(OUT) -buildid $(BUILD) -msitemplate $(MSIOFFICETEMPLATEDIR) -msilanguage $(COMMONMISC)$/win_ulffiles -format $(@:e:s/.//) $(VERBOSESWITCH) -log
+ $(PERL) -w $(SOLARENV)$/bin$/make_installer.pl -f $(PRJ)$/util$/openoffice.lst -l $(subst,$(@:s/_/ /:1)_, $(@:b)) -p OpenOffice -u $(OUT) -buildid $(BUILD) -msitemplate $(MSIOFFICETEMPLATEDIR) -msilanguage $(COMMONMISC)$/win_ulffiles -format $(@:e:s/.//) $(VERBOSESWITCH)
$(PERL) -w $(SOLARENV)$/bin$/gen_update_info.pl --buildid $(BUILD) --arch "$(RTL_ARCH)" --os "$(RTL_OS)" --lstfile $(PRJ)$/util$/openoffice.lst --product OpenOffice --languages $(subst,$(@:s/_/ /:1)_, $(@:b)) $(PRJ)$/util$/update.xml > $(MISC)/$(@:b)_$(RTL_OS)_$(RTL_ARCH)$(@:e).update.xml
$(foreach,i,$(alllangiso) openofficewithjre_$i) : $$@{$(PKGFORMAT:^".")}
diff --git a/instsetoo_native/util/openoffice.lst b/instsetoo_native/util/openoffice.lst
index 221aee9868b2..a391ff38130e 100644
--- a/instsetoo_native/util/openoffice.lst
+++ b/instsetoo_native/util/openoffice.lst
@@ -66,7 +66,7 @@ OpenOffice
PCPFILENAME openoffice.pcp
UPDATEURL http://update36.services.openoffice.org/ProductUpdateService/check.Update
ODFNOTIFYURL http://odfnotify.services.openoffice.org/OOo3.0/notification.jsp?version=ODF
- ADD_INCLUDE_FILES cliureversion.mk,clioootypesversion.mk,userland.txt
+ ADD_INCLUDE_FILES cliureversion.mk,clioootypesversion.mk,userland.txt,version.lst
REMOVE_UPGRADE_CODE_FILE upgradecode_remove_ooo.txt
ADDSYSTEMINTEGRATION 1
EVAL
@@ -130,7 +130,7 @@ OpenOffice_wJRE
BASEPRODUCTVERSION 3.3
UPDATEURL http://update36.services.openoffice.org/ProductUpdateService/check.Update
ODFNOTIFYURL http://odfnotify.services.openoffice.org/OOo3.0/notification.jsp?version=ODF
- ADD_INCLUDE_FILES cliureversion.mk,clioootypesversion.mk,javaversion2.dat,userland.txt
+ ADD_INCLUDE_FILES cliureversion.mk,clioootypesversion.mk,javaversion2.dat,userland.txt,version.lst
REMOVE_UPGRADE_CODE_FILE upgradecode_remove_ooo.txt
ADDSYSTEMINTEGRATION 1
EVAL
@@ -203,7 +203,7 @@ OpenOffice_Dev
SERVICETAG_URN urn:uuid:1680b00d-e45c-11de-82d6-080020a9ed93
UPDATEURL http://update36.services.openoffice.org/ProductUpdateService/check.Update
ODFNOTIFYURL http://odfnotify.services.openoffice.org/OOo3.0/notification.jsp?version=ODF
- ADD_INCLUDE_FILES cliureversion.mk,clioootypesversion.mk,javaversion2.dat,userland.txt
+ ADD_INCLUDE_FILES cliureversion.mk,clioootypesversion.mk,javaversion2.dat,userland.txt,version.lst
EVAL
FILEFORMATNAME OpenOffice.org
FILEFORMATVERSION 1.0
@@ -280,7 +280,7 @@ URE
STARTCENTER_INFO_URL http://tools.services.openoffice.org/forward/OpenOffice.org/homepage.jsp
STARTCENTER_TEMPLREP_URL http://tools.services.openoffice.org/forward/OpenOffice.org/templates.jsp?cid=926383
STARTCENTER_LAYOUT_STYLE 0
- ADD_INCLUDE_FILES cliureversion.mk,clioootypesversion.mk
+ ADD_INCLUDE_FILES cliureversion.mk,clioootypesversion.mk,version.lst
PACKAGEMAP package_names_ext.txt
DICT_REPO_URL http://tools.services.openoffice.org/forward/OpenOffice.org/dictionaries.jsp
}
@@ -411,7 +411,7 @@ BrOffice
NATIVEPROGRESS
UPDATEURL http://update36.services.openoffice.org/ProductUpdateService/check.Update
ODFNOTIFYURL http://odfnotify.services.openoffice.org/OOo3.0/notification.jsp?version=ODF
- ADD_INCLUDE_FILES cliureversion.mk,clioootypesversion.mk,userland.txt
+ ADD_INCLUDE_FILES cliureversion.mk,clioootypesversion.mk,userland.txt,version.lst
REMOVE_UPGRADE_CODE_FILE upgradecode_remove_ooo.txt
ADDSYSTEMINTEGRATION 1
EVAL
@@ -481,7 +481,7 @@ BrOffice_wJRE
NATIVEPROGRESS
UPDATEURL http://update36.services.openoffice.org/ProductUpdateService/check.Update
ODFNOTIFYURL http://odfnotify.services.openoffice.org/OOo3.0/notification.jsp?version=ODF
- ADD_INCLUDE_FILES cliureversion.mk,clioootypesversion.mk,javaversion2.dat,userland.txt
+ ADD_INCLUDE_FILES cliureversion.mk,clioootypesversion.mk,javaversion2.dat,userland.txt,version.lst
REMOVE_UPGRADE_CODE_FILE upgradecode_remove_ooo.txt
ADDSYSTEMINTEGRATION 1
EVAL
@@ -555,7 +555,7 @@ BrOffice_Dev
SERVICETAG_URN urn:uuid:1680b00d-e45c-11de-82d6-080020a9ed93
UPDATEURL http://update36.services.openoffice.org/ProductUpdateService/check.Update
ODFNOTIFYURL http://odfnotify.services.openoffice.org/OOo3.0/notification.jsp?version=ODF
- ADD_INCLUDE_FILES cliureversion.mk,clioootypesversion.mk,javaversion2.dat,userland.txt
+ ADD_INCLUDE_FILES cliureversion.mk,clioootypesversion.mk,javaversion2.dat,userland.txt,version.lst
EVAL
FILEFORMATNAME OpenOffice.org
FILEFORMATVERSION 1.0
diff --git a/ooo.lst b/ooo.lst
index 0887e5981d4f..9f51cf668a73 100644..100755
--- a/ooo.lst
+++ b/ooo.lst
@@ -1,5 +1,5 @@
http://hg.services.openoffice.org/binaries
-05a0ece1372392a2cf310ebb96333025-openssl-0.9.8l.tar.gz
+63ddc5116488985e820075e65fbe6aa4-openssl-0.9.8o.tar.gz
09357cc74975b01714e00c5899ea1881-pixman-0.12.0.tar.gz
0b49ede71c21c0599b0cc19b353a6cb3-README_apache-commons.txt
68dd2e8253d9a7930e9fd50e2d7220d0-hunspell-1.2.9.tar.gz
@@ -15,7 +15,7 @@ http://hg.services.openoffice.org/binaries
2ae988b339daec234019a7066f96733e-commons-lang-2.3-src.tar.gz
2c9b0f83ed5890af02c0df1c1776f39b-commons-httpclient-3.1-src.tar.gz
2f6ecca935948f7db92d925d88d0d078-icu4c-4_0_1-src.tgz
-ef9ab6c1740682fbd730606d5f6922e6-liberation-fonts-ttf-1.05.3.20100427.zip
+ca4870d899fd7e943ffc310a5421ad4d-liberation-fonts-ttf-1.06.0.20100721.tar.gz
35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
35efabc239af896dfb79be7ebdd6e6b9-gentiumbasic-fonts-1.10.zip
377a60170e5185eb63d3ed2fae98e621-README_silgraphite-2.3.1.txt
@@ -28,7 +28,7 @@ ef9ab6c1740682fbd730606d5f6922e6-liberation-fonts-ttf-1.05.3.20100427.zip
4ea70ea87b47e92d318d4e7f5b940f47-cairo-1.8.0.tar.gz
599dc4cc65a07ee868cf92a667a913d2-xpdf-3.02.tar.gz
5aba06ede2daa9f2c11892fbd7bc3057-libserializer.zip
-6244eb0b6e2647ee50470951fa6efb47-nss_3_12_5.tar.gz
+b92261a5679276c400555004937af965-nss-3.12.6-with-nspr-4.8.4.tar.gz
67b42915c8432abf0a922438f00860a2-libxml.zip
7740a8ec23878a2f50120e1faa2730f2-libxml2-2.7.6.tar.gz
7376930b0d3f3d77a685d94c4a3acda8-STLport-4.5-0119.tar.gz
diff --git a/scp2/source/binfilter/module_binfilter.scp b/scp2/source/binfilter/module_binfilter.scp
index d7cba78f6101..ca3c94b759e0 100644
--- a/scp2/source/binfilter/module_binfilter.scp
+++ b/scp2/source/binfilter/module_binfilter.scp
@@ -33,7 +33,7 @@ Module gid_Module_Optional_Binfilter
Sortkey = "700";
InstallOrder = "1100";
ParentID = gid_Module_Optional;
- Default = YES;
+ Default = NO;
Files = (gid_File_Share_Registry_Binfilter_Xcd,
gid_Starregistry_Legacy_Binfilters_Rdb,
gid_File_Lib_Bf_Go,
@@ -60,6 +60,7 @@ Module gid_Module_Langpack_Binfilter_Template
ParentID = gid_Module_Optional_Binfilter;
Name = "gid_Module_Langpack_Binfilter_Template";
Description = "gid_Module_Langpack_Binfilter_Template";
+ Default = NO;
Styles = (TEMPLATEMODULE);
Files = (gid_File_Res_Bf_Sch,
gid_File_Res_Bf_Svx,
diff --git a/scp2/source/ooo/common_brand.scp b/scp2/source/ooo/common_brand.scp
index f505a886cba8..5ed8c9739f9c 100644
--- a/scp2/source/ooo/common_brand.scp
+++ b/scp2/source/ooo/common_brand.scp
@@ -43,6 +43,8 @@ Module gid_Module_Root_Brand
gid_Brand_Dir_Share_C05_Faq,
gid_Brand_Dir_Share_Config,
gid_Brand_Dir_Share_Extension,
+ gid_Brand_Dir_Share_Extensions,
+ gid_Brand_Dir_Share_Prereg,
gid_Brand_Dir_Share_Uno_Packages,
gid_Brand_Dir_Share_Uno_Packages_Cache,
gid_Brand_Dir_Share_Registry,
@@ -85,7 +87,7 @@ Module gid_Module_Root_Brand
gid_Brand_File_Lib_Npsoplugin,
gid_Brand_File_Lib_Subscrib_C05,
gid_Brand_File_Share_Registry_Brand_Xcd,
- gid_Brand_File_Share_Registry_O5oo_Xcd
+ gid_Brand_File_Share_Registry_O5oo_Xcd,
gid_Brand_File_Script_Unopkg,
gid_Brand_File_Share_Xdg_Base,
gid_Brand_File_Share_Xdg_Calc,
@@ -97,7 +99,8 @@ Module gid_Module_Root_Brand
gid_Brand_File_Share_Xdg_Printeradmin,
gid_Brand_File_Share_Xdg_QStart,
gid_Brand_File_Share_Xdg_StartCenter,
- gid_Brand_File_Share_Xdg_Writer);
+ gid_Brand_File_Share_Xdg_Writer,
+ gid_Brand_File_Txt_Package);
Unixlinks = (gid_Brand_Unixlink_BasisLink,
gid_Brand_Unixlink_Program,
gid_Brand_Unixlink_Unopkg,
@@ -221,6 +224,12 @@ Directory gid_Brand_Dir_Share_Extensions
DosName = "extensions";
End
+Directory gid_Brand_Dir_Share_Prereg
+ ParentID = gid_Brand_Dir_Share;
+ DosName = "prereg";
+ Styles = (CREATE);
+End
+
Directory gid_Brand_Dir_Share_Extensions_Install
ParentID = gid_Brand_Dir_Share_Extension;
DosName = "install";
@@ -644,6 +653,13 @@ File gid_Brand_File_Images_Brand_Zip
Styles = (PACKED);
End
+File gid_Brand_File_Txt_Package
+ TXT_FILE_BODY;
+ Dir = gid_Brand_Dir_Share_Extensions;
+ Name = "package.txt";
+ Styles = (PACKED);
+End
+
File gid_Brand_File_Share_Registry_Brand_Xcd
TXT_FILE_BODY;
Styles = (PACKED, SCPZIP_REPLACE);
diff --git a/scp2/source/ooo/file_font_ooo.scp b/scp2/source/ooo/file_font_ooo.scp
index 8ad8526d9ef6..10e2dca219fb 100644
--- a/scp2/source/ooo/file_font_ooo.scp
+++ b/scp2/source/ooo/file_font_ooo.scp
@@ -142,7 +142,7 @@ STD_FONT_FILE( gid_File_Fnt_GentiumBookBasicBoldItalic, GenBkBasBI.ttf, Gentium
File gid_File_FcLocal_Conf
Dir = gid_Dir_Fonts_Truetype;
USER_FILE_BODY;
-# Styles = ();
+// Styles = ();
Name = "fc_local.conf";
End
#endif
diff --git a/scp2/source/ooo/module_ooo.scp b/scp2/source/ooo/module_ooo.scp
index 5b1de3897f77..dcd29c2ed31d 100644
--- a/scp2/source/ooo/module_ooo.scp
+++ b/scp2/source/ooo/module_ooo.scp
@@ -51,9 +51,8 @@ Module gid_Module_Optional
End
Module gid_Module_Dictionaries
- ParentID = gid_Module_Root;
- XPDParentID = "root";
- Sortkey = "300";
+ ParentID = gid_Module_Optional;
+ Sortkey = "215";
MOD_NAME_DESC ( MODULE_DICTIONARIES );
End
diff --git a/scp2/source/ooo/profileitem_ooo.scp b/scp2/source/ooo/profileitem_ooo.scp
index 9818d5b26749..724316ba6f5e 100644
--- a/scp2/source/ooo/profileitem_ooo.scp
+++ b/scp2/source/ooo/profileitem_ooo.scp
@@ -461,4 +461,3 @@ ProfileItem gid_Basis_Profileitem_Version_Ooopackageversion
Key = "OOOPackageVersion";
Value = "${OOOPACKAGEVERSION}";
End
-
diff --git a/scp2/source/ooo/windowscustomaction_ooo.scp b/scp2/source/ooo/windowscustomaction_ooo.scp
index 568b3996a8b7..7bd6c18fae99 100755
--- a/scp2/source/ooo/windowscustomaction_ooo.scp
+++ b/scp2/source/ooo/windowscustomaction_ooo.scp
@@ -199,6 +199,25 @@ WindowsCustomAction gid_Customaction_Shellextensionsdll7
Assignment1 = ("InstallExecuteSequence", "REMOVE=\"ALL\" And Not PATCH", "InstallValidate");
End
+WindowsCustomAction gid_Customaction_Register_Extensions
+ Name = "RegisterExtensions";
+ Typ = "65";
+ Source = "shlxtmsi.dll";
+ Target = "RegisterExtensions";
+ Inbinarytable = 1;
+ Assignment1 = ("InstallExecuteSequence", "Not REMOVE=\"ALL\"", "end");
+ Assignment2 = ("AdminExecuteSequence", "Not REMOVE=\"ALL\"", "end");
+End
+
+WindowsCustomAction gid_Customaction_Remove_Extensions
+ Name = "RemoveExtensions";
+ Typ = "65";
+ Source = "shlxtmsi.dll";
+ Target = "RemoveExtensions";
+ Inbinarytable = 1;
+ Assignment1 = ("InstallExecuteSequence", "REMOVE=\"ALL\" And Not PATCH", "FileCost");
+End
+
WindowsCustomAction gid_Customaction_Set_Admininstall
Name = "SetAdminInstallProperty";
Typ = "65";
@@ -287,6 +306,16 @@ WindowsCustomAction gid_Customaction_Patch_InstallExchangeFiles
Assignment2 = ("AdminExecuteSequence", "", "behind_InstallFinalize");
End
+WindowsCustomAction gid_Customaction_Langpack_Register_Extensions
+ Name = "RegisterExtensions";
+ Typ = "65";
+ Source = "lngpckinsthlp.dll";
+ Target = "RegisterExtensions";
+ Inbinarytable = 1;
+ Assignment1 = ("InstallExecuteSequence", "", "end");
+ Assignment2 = ("AdminExecuteSequence", "", "end");
+End
+
WindowsCustomAction gid_Customaction_Patch_SetFeatureState
Name = "SetFeatureState";
Typ = "65";
@@ -401,6 +430,16 @@ WindowsCustomAction gid_Customaction_MigrateInstallPath
Assignment2 = ("InstallUISequence", "Not REMOVE=\"ALL\" And Not PATCH", "CostInitialize");
End
+WindowsCustomAction gid_Customaction_CompleteInstallPath
+ Name = "CompleteInstallPath";
+ Typ = "321";
+ Source = "shlxtmsi.dll";
+ Target = "CompleteInstallPath";
+ Inbinarytable = 1;
+ Assignment1 = ("InstallExecuteSequence", "Not REMOVE=\"ALL\" And Not PATCH", "MigrateInstallPath");
+ Assignment2 = ("InstallUISequence", "Not REMOVE=\"ALL\" And Not PATCH", "MigrateInstallPath");
+End
+
WindowsCustomAction gid_Customaction_CheckVersions
Name = "CheckVersions";
Typ = "321";
diff --git a/scp2/source/templates/module_langpack_binfilter.sct b/scp2/source/templates/module_langpack_binfilter.sct
index 76f389049580..72c209228849 100644
--- a/scp2/source/templates/module_langpack_binfilter.sct
+++ b/scp2/source/templates/module_langpack_binfilter.sct
@@ -28,6 +28,7 @@
Module gid_Module_Langpack_Binfilter_<LANGUAGE_>
ParentID = gid_Module_Langpack_Root_<LANGUAGE_>;
Sortkey = "900";
+ Default = NO;
Language = "<LANGUAGE>";
Assigns = gid_Module_Langpack_Binfilter_Template;
Name = "gid_Module_Langpack_Binfilter_<LANGUAGE_>";
diff --git a/set_soenv.in b/set_soenv.in
index e827c3cb3eef..94fab67f15c9 100644
--- a/set_soenv.in
+++ b/set_soenv.in
@@ -1384,7 +1384,7 @@ if ($platform =~ m/linux|freebsd|netbsd/)
# This simply adds an include path, so even cases that break the FHS work
$SOLARINC .= $STLPORT_inc_stlport;
}
-if ($platform =~ m/solaris/ && $CC !=~ "gcc")
+if ($platform =~ m/solaris/ && ! $CC =~ "gcc")
{
$SOLARINC .= '/SC5 ';
}
@@ -1909,6 +1909,7 @@ ToFile( "ENABLE_AGG", "@ENABLE_AGG@", "e" );
ToFile( "SYSTEM_AGG", "@SYSTEM_AGG@", "e" );
ToFile( "AGG_VERSION", "@AGG_VERSION@", "e" );
ToFile( "BUILD_DMAKE", "@BUILD_DMAKE@", "e" );
+ToFile( "BUILD_STAX", "@BUILD_STAX@", "e" );
ToFile( "BUILD_UNOWINREG", "@BUILD_UNOWINREG@", "e" );
ToFile( "USE_XINERAMA", "@USE_XINERAMA@", "e" );
ToFile( "XINERAMA_LINK", "@XINERAMA_LINK@", "e" );
diff --git a/solenv/bin/build.pl b/solenv/bin/build.pl
index 66afeec6e2c7..987d7fbb5bea 100755..100644
--- a/solenv/bin/build.pl
+++ b/solenv/bin/build.pl
@@ -45,6 +45,7 @@
use lib ("$ENV{SOLARENV}/bin/modules");
use SourceConfig;
+ use RepositoryHelper;
my $in_so_env = 0;
if (defined $ENV{COMMON_ENV_TOOLS}) {
@@ -139,6 +140,8 @@
$html = '';
@ignored_errors = ();
%incompatibles = ();
+ %skip_modules = ();
+ %exclude_branches = ();
$only_platform = ''; # the only platform to prepare
$only_common = ''; # the only common output tree to delete when preparing
%build_modes = ();
@@ -167,8 +170,8 @@
$html_last_updated = 0;
%jobs_hash = ();
$html_path = undef;
- $html_file = CorrectPath($ENV{SOLARSRC} . '/' . $ENV{INPATH}. '.build.html');
$build_finished = 0;
+ $html_file = '';
%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");
%weights_hash = (); # hash contains info about how many modules are dependent from one module
@@ -209,7 +212,6 @@
get_options();
- $html_file = CorrectPath($html_path . '/' . $ENV{INPATH}. '.build.html') if (defined $html_path);
# my $temp_html_file = CorrectPath($tmp_dir. '/' . $ENV{INPATH}. '.build.html');
get_build_modes();
%deliver_env = ();
@@ -225,12 +227,26 @@
$deliver_env{'OUTPATH'}++;
$deliver_env{'L10N_framework'}++;
};
+ $StandDir = get_stand_dir(); # This also sets $initial_module
+ $source_config = SourceConfig -> new($StandDir);
+
+ if ($html) {
+ if (defined $html_path) {
+ $html_file = CorrectPath($html_path . '/' . $ENV{INPATH}. '.build.html');
+ } else {
+ my $log_directory = Cwd::realpath(CorrectPath($StandDir . '/..')) . '/log';
+ if ((!-d $log_directory) && (!mkdir($log_directory))) {
+ print_error("Cannot create $log_directory for writing html file\n");
+ };
+ $html_file = $log_directory . '/' . $ENV{INPATH}. '.build.html';
+ print "\nPath to html status page: $html_file\n";
+ };
+ };
if ($generate_config && ($clear_config || (scalar keys %remove_from_config)||(scalar keys %add_to_config))) {
generate_config_file();
exit 0;
}
- $StandDir = get_stand_dir(); # This also sets $initial_module
get_module_and_buildlist_paths();
provide_consistency() if (defined $ENV{CWS_WORK_STAMP} && defined($ENV{COMMON_ENV_TOOLS}));
@@ -342,7 +358,6 @@ sub rename_file {
};
sub generate_config_file {
- my $source_config = SourceConfig->new();
$source_config->add_active_modules([keys %add_to_config], 1) if (scalar %add_to_config);
$source_config->remove_activated_modules([keys %remove_from_config], 1) if (scalar %remove_from_config);
$source_config->remove_all_activated_modules() if ($clear_config);
@@ -556,23 +571,36 @@ sub get_build_list_path {
# Get dependencies hash of the current and all parent projects
#
sub get_parent_deps {
- my (%parents_deps_hash, $module, $parent);
my $prj_dir = shift;
my $deps_hash = shift;
- my @unresolved_parents = get_parents_array($prj_dir);
- $parents_deps_hash{$_}++ foreach (@unresolved_parents);
- $$deps_hash{$prj_dir} = \%parents_deps_hash;
- while ($module = pop(@unresolved_parents)) {
+ my @unresolved_parents = ($prj_dir);
+ my %skipped_branches = ();
+ while (my $module = pop(@unresolved_parents)) {
+ next if (defined $$deps_hash{$module});
my %parents_deps_hash = ();
- $parents_deps_hash{$_}++ foreach (get_parents_array($module));
+ foreach (get_parents_array($module)) {
+ if (defined $exclude_branches{$_}) {
+ $skipped_branches{$_}++;
+ next;
+ };
+ $parents_deps_hash{$_}++;
+ }
$$deps_hash{$module} = \%parents_deps_hash;
foreach $Parent (keys %parents_deps_hash) {
- if (!defined($$deps_hash{$Parent})) {
+ if (!defined($$deps_hash{$Parent}) && (!defined $exclude_branches{$module})) {
push (@unresolved_parents, $Parent);
};
};
};
check_deps_hash($deps_hash);
+ foreach (keys %skipped_branches) {
+ print $echo . "Skipping module's $_ branch\n";
+ delete $exclude_branches{$_};
+ };
+ my @missing_branches = keys %exclude_branches;
+ if (scalar @missing_branches) {
+ print_error("For $prj_dir branche(s): \"@missing_branches\" not found\n");
+ };
};
sub store_weights {
@@ -605,18 +633,18 @@ sub expand_dependencies {
};
#
-# This procedure fills out the %reversed_dependencies hash,
-# the hash contaninig the info about modules "waiting" for the module
+# This procedure fills the second hash with reversed dependencies,
+# ie, with info about modules "waiting" for the module
#
sub reverse_dependensies {
- my $deps_hash = shift;
+ my ($deps_hash, $reversed) = @_;
foreach my $module (keys %$deps_hash) {
foreach (keys %{$$deps_hash{$module}}) {
- if (defined $reversed_dependencies{$_}) {
- ${$reversed_dependencies{$_}}{$module}++
+ if (defined $$reversed{$_}) {
+ ${$$reversed{$_}}{$module}++
} else {
my %single_module_dep_hash = ($module => 1);
- $reversed_dependencies{$_} = \%single_module_dep_hash;
+ $$reversed{$_} = \%single_module_dep_hash;
};
};
};
@@ -635,8 +663,12 @@ sub build_all {
};
modules_classify(keys %global_deps_hash);
expand_dependencies (\%global_deps_hash);
-# prepare_build_from(\%global_deps_hash) if (scalar keys %incompatibles);
- prepare_incompatible_build(\%global_deps_hash) if ($incompatible);
+ prepare_incompatible_build(\%global_deps_hash) if ($incompatible && (!$build_from_with_branches));
+ if ($build_from_with_branches) {
+ my %reversed_full_deps_hash = ();
+ reverse_dependensies(\%global_deps_hash, \%reversed_full_deps_hash);
+ prepare_build_from_with_branches(\%global_deps_hash, \%reversed_full_deps_hash);
+ }
if ($build_all_cont || $build_since) {
prepare_build_all_cont(\%global_deps_hash);
};
@@ -653,13 +685,13 @@ sub build_all {
print_error("There are modules:\n@missing_modules\n\nthat should be built, but they are not activated. Please, verify your $source_config_file.\n");
};
};
- foreach my $module (%dead_parents) {
+ foreach my $module (keys %dead_parents, keys %skip_modules) {
remove_from_dependencies($module, \%global_deps_hash);
delete ($global_deps_hash{$module}) if (defined $global_deps_hash{$module});
};
store_weights(\%global_deps_hash);
backup_deps_hash(\%global_deps_hash, \%global_deps_hash_backup);
- reverse_dependensies(\%global_deps_hash_backup);
+ reverse_dependensies(\%global_deps_hash_backup, \%reversed_dependencies);
$modules_number = scalar keys %global_deps_hash;
initialize_html_info($_) foreach (keys %global_deps_hash);
if ($processes_to_run) {
@@ -1100,6 +1132,7 @@ sub get_commands {
while ($arg = pop(@dmake_args)) {
$dmake .= ' '.$arg;
};
+ $dmake .= ' verbose=true' if ($html);
};
#
@@ -1110,34 +1143,44 @@ sub get_stand_dir {
$ENV{mk_tmp} = '';
die "No environment set\n";
};
- my $StandDir;
- if ( defined $ENV{PWD} ) {
- $StandDir = $ENV{PWD};
- } elsif (defined $ENV{_cwd}) {
- $StandDir = $ENV{_cwd};
- } else {
- $StandDir = cwd();
- };
- my $previous_dir = '';
- do {
- foreach (@possible_build_lists) {# ('build.lst', 'build.xlist');
- if (-e $StandDir . '/prj/'.$_) {
- $initial_module = File::Basename::basename($StandDir);
- $build_list_paths{$initial_module} =$StandDir . '/prj/'.$_;
- $StandDir = File::Basename::dirname($StandDir);
- $module_paths{$initial_module} = $StandDir . "/$initial_module";
+ my $repository_helper = RepositoryHelper->new();
+ my $StandDir = $repository_helper->get_repository_root();
+ my $initial_dir = $repository_helper->get_initial_directory();
+ if ($StandDir eq $initial_dir) {
+ print_error('Found no project to build');
+ };
+ $initial_module = substr($initial_dir, length($StandDir) + 1);
+ if ($initial_module =~ /(\\|\/)/) {
+ $initial_module = $`;
+ };
+ $module_paths{$initial_module} = $StandDir . "/$initial_module";
+# $build_list_paths{$initial_module} =$StandDir . '/prj/'.$_;
+# if ( defined $ENV{PWD} ) {
+# $StandDir = $ENV{PWD};
+# } elsif (defined $ENV{_cwd}) {
+# $StandDir = $ENV{_cwd};
+# } else {
+# $StandDir = cwd();
+# };
+# my $previous_dir = '';
+# do {
+# foreach (@possible_build_lists) {# ('build.lst', 'build.xlist');
+# if (-e $StandDir . '/prj/'.$_) {
+# $initial_module = File::Basename::basename($StandDir);
+# $build_list_paths{$initial_module} =$StandDir . '/prj/'.$_;
+# $StandDir = File::Basename::dirname($StandDir);
+# $module_paths{$initial_module} = $StandDir . "/$initial_module";
return $StandDir;
- } elsif ($StandDir eq $previous_dir) {
- $ENV{mk_tmp} = '';
- print_error('Found no project to build');
- };
- };
- $previous_dir = $StandDir;
- $StandDir = File::Basename::dirname(Cwd::realpath($StandDir));
- print_error('Found no project to build') if (!$StandDir);
- }
-# while (chdir '..');
- while (chdir "$StandDir");
+# } elsif ($StandDir eq $previous_dir) {
+# $ENV{mk_tmp} = '';
+# print_error('Found no project to build');
+# };
+# };
+# $previous_dir = $StandDir;
+# $StandDir = File::Basename::dirname(Cwd::realpath($StandDir));
+# print_error('Found no project to build') if (!$StandDir);
+# }
+# while (chdir "$StandDir");
};
#
@@ -1236,7 +1279,7 @@ sub check_deps_hash {
$jobs_hash{$key} = { SHORT_NAME => $string,
BUILD_NUMBER => $build_number,
STATUS => 'waiting',
- LOG_PATH => $module . "/$ENV{INPATH}/misc/logs/$log_name",
+ LOG_PATH => '../' . $source_config->get_module_repository($module) . "/$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,
@@ -1392,7 +1435,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] [--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]]]] [--interactive]\n";
+ print STDERR "Syntax: build [--all|-a[:prj_name]]|[--from|-f prj_name1[:prj_name2] [prj_name3 [...]]]|[--since|-c prj_name] [--with_branches prj_name1[:prj_name2] [--skip prj_name1[:prj_name2] [prj_name3 [...]] [prj_name3 [...]|-b]|[--prepare|-p][:platform] [--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]]]] [--exclude_branch_from prj_name1[:prj_name2] [prj_name3 [...]]] [--interactive]\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";
@@ -1405,9 +1448,11 @@ sub usage {
print STDERR "\nSwitches:\n";
print STDERR " --all - build all projects from very beginning till current one\n";
print STDERR " --from - build all projects dependent from the specified (including it) till current one\n";
+ print STDERR " --exclude_branch_from - exclude module(s) and its branch from the build\n";
print STDERR " --mode OOo - build only projects needed for OpenOffice.org\n";
print STDERR " --prepare - clear all projects for incompatible build from prj_name till current one [for platform] (cws version)\n";
- print STDERR " --with_branches- build all projects in neighbour branches and current branch starting from actual project\n";
+ print STDERR " --with_branches- the same as \"--from\" but with build all projects in neighbour branches\n";
+ print STDERR " --skip - do not build certain module(s)\n";
print STDERR " --since - build all projects beginning from the specified till current one (the same as \"--all:prj_name\", but skipping prj_name)\n";
print STDERR " --checkmodules - check if all required parent projects are availlable\n";
print STDERR " --show - show what is going to be built\n";
@@ -1462,19 +1507,25 @@ sub get_options {
$arg =~ /^--dlv_switch$/ and $dlv_switch = shift @ARGV and next;
$arg =~ /^--file$/ and $cmd_file = shift @ARGV and next;
$arg =~ /^-F$/ and $cmd_file = shift @ARGV and next;
+ $arg =~ /^--skip$/ and get_modules_passed(\%skip_modules) and next;
- $arg =~ /^--with_branches$/ and $build_all_parents = 1
- and $build_from_with_branches = shift @ARGV and next;
- $arg =~ /^-b$/ and $build_all_parents = 1
- and $build_from_with_branches = shift @ARGV and next;
-
+ if ($arg =~ /^--with_branches$/ || $arg =~ /^-b$/) {
+ $build_from_with_branches = 1;
+ $build_all_parents = 1;
+ get_modules_passed(\%incompatibles);
+ next;
+ };
$arg =~ /^--all:(\S+)$/ and $build_all_parents = 1
and $build_all_cont = $1 and next;
$arg =~ /^-a:(\S+)$/ and $build_all_parents = 1
and $build_all_cont = $1 and next;
if ($arg =~ /^--from$/ || $arg =~ /^-f$/) {
$build_all_parents = 1;
- get_incomp_projects();
+ get_modules_passed(\%incompatibles);
+ next;
+ };
+ if ($arg =~ /^--exclude_branch_from$/) {
+ get_modules_passed(\%exclude_branches);
next;
};
$arg =~ /^--prepare$/ and $prepare = 1 and next;
@@ -1527,8 +1578,12 @@ sub get_options {
print_error("\"--html_path\" switch is used only with \"--html\"") if ($html_path);
print_error("\"--dontgraboutput\" switch is used only with \"--html\"") if ($dont_grab_output);
};
+ if ((scalar keys %exclude_branches) && !$build_all_parents) {
+ print_error("\"--exclude_branch_from\" is not applicable for one module builds!!");
+ };
$grab_output = 0 if ($dont_grab_output);
print_error('Switches --with_branches and --all collision') if ($build_from_with_branches && $build_all_cont);
+ print_error('Switch --skip is for building multiple modules only!!') if ((scalar keys %skip_modules) && (!$build_all_parents));
# print_error('Please prepare the workspace on one of UNIX platforms') if ($prepare && ($ENV{GUI} ne 'UNX'));
print_error('Switches --with_branches and --since collision') if ($build_from_with_branches && $build_since);
if ($show) {
@@ -1593,7 +1648,6 @@ sub get_options {
sub get_module_and_buildlist_paths {
if ($build_all_parents || $checkparents) {
- my $source_config = SourceConfig -> new($StandDir);
$source_config_file = $source_config->get_config_file_path();
$active_modules{$_}++ foreach ($source_config->get_active_modules());
my %active_modules_copy = %active_modules;
@@ -1652,7 +1706,13 @@ sub cancel_build {
$message_part .= "--from @broken_modules_names\n";
};
} else {
- $message_part .= "--all:@broken_modules_names\n";
+ if ($processes_to_run) {
+ $message_part .= "--from ";
+ } else {
+ $message_part .= "--all:";
+ };
+ $message_part .= "@broken_modules_names\n";
+
};
if ($broken_modules_number && $build_all_parents) {
print "\n";
@@ -2109,12 +2169,12 @@ sub modules_classify {
#
# This procedure provides consistency for cws
-# and optimized build (ie in case of -with_branches, -all:prj_name
+# and optimized build (ie in case of --with_branches, -all:prj_name
# and -since switches)
#
sub provide_consistency {
check_dir();
- foreach $var_ref (\$build_from_with_branches, \$build_all_cont, \$build_since) {
+ foreach $var_ref (\$build_all_cont, \$build_since) {
if ($$var_ref) {
return if (defined $module_paths{$$var_ref});
print_error("Cannot find module '$$var_ref'", 9);
@@ -2257,6 +2317,20 @@ sub fix_permissions {
chmod '0664', $file;
};
+sub prepare_build_from_with_branches {
+ ($full_deps_hash, $reversed_full_deps_hash) = @_;
+ foreach my $prerequisite (keys %$full_deps_hash) {
+ foreach my $dependent_module (keys %incompatibles) {
+ if (defined ${$$reversed_full_deps_hash{$prerequisite}}{$dependent_module}) {
+ remove_from_dependencies($prerequisite, $full_deps_hash);
+ delete $$full_deps_hash{$prerequisite};
+# print "Removed $prerequisite\n";
+ last;
+ };
+ };
+ };
+};
+
#
# Removes projects which it is not necessary to build
# in incompatible build
@@ -2268,7 +2342,6 @@ sub prepare_incompatible_build {
if (!defined $$deps_hash{$module}) {
print_error("The module $initial_module is independent from $module\n");
}
- delete $incompatibles{$module};
$incompatibles{$module} = $$deps_hash{$module};
delete $$deps_hash{$module};
}
@@ -2286,8 +2359,8 @@ sub prepare_incompatible_build {
@modules_built = keys %$deps_hash;
%add_to_config = %$deps_hash;
if ($prepare) {
- if ((!defined $ENV{UPDATER}) || (defined $ENV{CWS_WORK_STAMP})) {
- SourceConfig->new()->add_active_modules([keys %add_to_config], 0);
+ if ((!(defined $ENV{UPDATER} && (!defined $ENV{CWS_WORK_STAMP}))) || (defined $ENV{CWS_WORK_STAMP})) {
+ $source_config->add_active_modules([keys %add_to_config], 0);
}
clear_delivered();
}
@@ -2332,21 +2405,6 @@ sub prepare_incompatible_build {
#
# Removes projects which it is not necessary to build
-# with -with_branches switch
-#
-#sub prepare_build_from {
-# my ($prj, $deps_hash);
-# $deps_hash = shift;
-# my %from_deps_hash = (); # hash of dependencies of the -from project
-# get_parent_deps($build_from_with_branches, \%from_deps_hash);
-# foreach $prj (keys %from_deps_hash) {
-# delete $$deps_hash{$prj};
-# remove_from_dependencies($prj, $deps_hash);
-# };
-#};
-
-#
-# Removes projects which it is not necessary to build
# with --all:prj_name or --since switch
#
sub prepare_build_all_cont {
@@ -2412,7 +2470,8 @@ sub get_list_of_modules {
# };
};
-sub get_incomp_projects {
+sub get_modules_passed {
+ my $hash_ref = shift;
my $option = '';
while ($option = shift @ARGV) {
if ($option =~ /^-+/) {
@@ -2424,7 +2483,7 @@ sub get_incomp_projects {
print_error("\'--from\' switch collision") if ($build_all_cont);
$build_all_cont = $';
};
- $incompatibles{$option}++;
+ $$hash_ref{$option}++;
};
};
};
diff --git a/solenv/bin/jpropex b/solenv/bin/jpropex
deleted file mode 100755
index 2d62d13b093e..000000000000
--- a/solenv/bin/jpropex
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-if [ x${SOLARENV}x = xx ]; then
- echo No environment found, please use 'configure' or 'setsolar'
- exit 1
-fi
-if [ x${JAVA_HOME}x = xx ]; then
- echo No Java found!
- exit 1
-fi
-exec java -DSOLARSRC=${SOLARSRC} -DWORK_STAMP=${WORK_STAMP} -DUSE_SHELL= -jar ${SOLARVER}/${INPATH}/bin${UPDMINOREXT}/jpropex.jar "$@"
diff --git a/solenv/bin/make_installer.pl b/solenv/bin/make_installer.pl
index 127f28cd7631..335ecf961253 100644
--- a/solenv/bin/make_installer.pl
+++ b/solenv/bin/make_installer.pl
@@ -655,7 +655,6 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
$installer::globals::globalinfo_copied = 1;
my $logminor = "";
- my $avoidlanginlog = 0;
if ( $installer::globals::updatepack ) { $logminor = $installer::globals::lastminor; }
else { $logminor = $installer::globals::minor; }
@@ -663,14 +662,15 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
my $loglanguagestring_orig = $loglanguagestring;
if (length($loglanguagestring) > $installer::globals::max_lang_length)
{
+ my $number_of_languages = installer::systemactions::get_number_of_langs($loglanguagestring);
chomp(my $shorter = `echo $loglanguagestring | md5sum | sed -e "s/ .*//g"`);
- $loglanguagestring = $shorter;
- $avoidlanginlog = 1;
+ my $id = substr($shorter, 0, 8); # taking only the first 8 digits
+ $loglanguagestring = "lang_" . $number_of_languages . "_id_" . $id;
}
$installer::globals::logfilename = "log_" . $installer::globals::build;
if ( $logminor ne "" ) { $installer::globals::logfilename .= "_" . $logminor; }
- if ( ! $avoidlanginlog ) { $installer::globals::logfilename .= "_" . $loglanguagestring; }
+ $installer::globals::logfilename .= "_" . $loglanguagestring;
$installer::globals::logfilename .= ".log";
$loggingdir = $loggingdir . $loglanguagestring . $installer::globals::separator;
installer::systemactions::create_directory($loggingdir);
@@ -732,7 +732,7 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
if (!($installer::globals::is_copy_only_project))
{
- if ( $installer::globals::iswindowsbuild )
+ if (( $installer::globals::iswindowsbuild ) && ( $installer::globals::packageformat ne "archive" ) && ( $installer::globals::packageformat ne "installed" ))
{
installer::windows::msiglobal::set_global_code_variables($languagesarrayref, $languagestringref, $allvariableshashref, $alloldproperties);
}
diff --git a/solenv/bin/modules/RepositoryHelper.pm b/solenv/bin/modules/RepositoryHelper.pm
new file mode 100644
index 000000000000..7677376be70e
--- /dev/null
+++ b/solenv/bin/modules/RepositoryHelper.pm
@@ -0,0 +1,205 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# 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.
+#
+#*************************************************************************
+
+#*************************************************************************
+#
+# RepositoryHelper - Perl for working with repositories and underlying SCM
+#
+# usage: see below
+#
+#*************************************************************************
+
+package RepositoryHelper;
+
+use strict;
+
+
+use Carp;
+use Cwd qw (cwd);
+use File::Basename;
+#use File::Temp qw(tmpnam);
+
+my $debug = 0;
+
+##### profiling #####
+
+##### ctor #####
+
+sub new {
+ my $proto = shift;
+ my $class = ref($proto) || $proto;
+ my $initial_directory = shift;
+ if ($initial_directory) {
+ $initial_directory = Cwd::realpath($initial_directory);
+ } else {
+ if ( defined $ENV{PWD} ) {
+ $initial_directory = $ENV{PWD};
+ } elsif (defined $ENV{_cwd}) {
+ $initial_directory = $ENV{_cwd};
+ } else {
+ $initial_directory = cwd();
+ };
+ };
+ my $self = {};
+ $self->{INITIAL_DIRECTORY} = $initial_directory;
+ $self->{REPOSITORY_ROOT} = undef;
+ $self->{REPOSITORY_NAME} = undef;
+ $self->{SCM_NAME} = undef;
+ detect_repository($self);
+ bless($self, $class);
+ return $self;
+}
+
+##### methods #####
+sub get_repository_root
+{
+ my $self = shift;
+ return $self->{REPOSITORY_ROOT};
+}
+
+sub get_initial_directory
+{
+ my $self = shift;
+ return $self->{INITIAL_DIRECTORY};
+}
+
+sub get_scm_name
+{
+ my $self = shift;
+ return$self->{SCM_NAME};
+}
+
+##### private methods #####
+sub search_for_hg {
+ my $self = shift;
+ my $hg_root;
+ my $scm_name = 'hg';
+ if (open(COMMAND, "$scm_name root 2>&1 |")) {
+ foreach (<COMMAND>) {
+ next if (/^Not trusting file/);
+ chomp;
+ $hg_root = $_;
+ last;
+ };
+ close COMMAND;
+ chomp $hg_root;
+ if ($hg_root !~ /There is no Mercurial repository here/) {
+ $self->{REPOSITORY_ROOT} = $hg_root;
+ $self->{SCM_NAME} = $scm_name;
+ return 1;
+ };
+ };
+ return 0;
+};
+
+sub search_via_build_lst {
+ my $self = shift;
+ my @possible_build_lists = ('build.lst', 'build.xlist'); # build lists names
+ my $previous_dir = '';
+ my $rep_root_candidate = $self->{INITIAL_DIRECTORY};
+ do {
+ foreach (@possible_build_lists) {# ('build.lst', 'build.xlist');
+ if (-e $rep_root_candidate . '/prj/'.$_) {
+ $self->{REPOSITORY_ROOT} = File::Basename::dirname($rep_root_candidate);
+ return 1;
+ } elsif ($rep_root_candidate eq $previous_dir) {
+ return 0;
+ };
+ };
+ $previous_dir = $rep_root_candidate;
+ $rep_root_candidate = File::Basename::dirname(Cwd::realpath($rep_root_candidate));
+ return 0 if (!$rep_root_candidate);
+ }
+ while (chdir "$rep_root_candidate");
+};
+
+sub detect_repository {
+ my $self = shift;
+ return if (search_via_build_lst($self));
+ chdir $self->{INITIAL_DIRECTORY};
+ return if (search_for_hg($self));
+ croak('Cannot determine source directory/repository for ' . $self->{INITIAL_DIRECTORY});
+};
+
+##### finish #####
+
+1; # needed by use or require
+
+__END__
+
+=head1 NAME
+
+RepositoryHelper - Perl module for working with repositories and underlying SCM
+
+=head1 SYNOPSIS
+
+ # example that will analyze sources and return the source root directory
+
+ use RepositoryHelper;
+
+ # Create a new instance:
+ $a = RepositoryHelper->new();
+
+ # Get repositories for the actual workspace:
+ $a->get_repository_root();
+
+
+=head1 DESCRIPTION
+
+RepositoryHelper is a perlPerl module for working with repositories and underlying SCM
+in the database.
+
+Methods:
+
+RepositoryHelper::new()
+
+Creates a new instance of RepositoryHelper. Can be initialized by: some path which likely to belong to a repository, default - empty, the current dir will be taken.
+
+RepositoryHelper::get_repository_root()
+
+Returns the repository root, retrieved by SCM methods or on educated guess...
+
+RepositoryHelper::get_initial_directory()
+
+Returns full path to the initialistion directory.
+
+=head2 EXPORT
+
+RepositoryHelper::new()
+RepositoryHelper::get_repository_root()
+RepositoryHelper::get_scm_name()
+RepositoryHelper::get_initial_directory()
+
+=head1 AUTHOR
+
+Vladimir Glazunov, vg@openoffice.org
+
+=head1 SEE ALSO
+
+perl(1).
+
+=cut
diff --git a/solenv/bin/modules/SourceConfig.pm b/solenv/bin/modules/SourceConfig.pm
index 9379b7764d0a..dfaa797d8f48 100644..100755
--- a/solenv/bin/modules/SourceConfig.pm
+++ b/solenv/bin/modules/SourceConfig.pm
@@ -38,10 +38,11 @@ package SourceConfig;
use strict;
use constant SOURCE_CONFIG_FILE_NAME => 'source_config';
-use constant SOURCE_CONFIG_VERSION => 2;
+use constant SOURCE_CONFIG_VERSION => 3;
use Carp;
use Cwd;
+use RepositoryHelper;
use File::Basename;
use File::Temp qw(tmpnam);
@@ -75,8 +76,9 @@ sub new {
$source_root .= '/..';
}
} else {
- $source_root = Cwd::realpath($ENV{SOURCE_ROOT_DIR});
+ $source_root = $ENV{SOURCE_ROOT_DIR};
};
+ $source_root = Cwd::realpath($source_root);
$self->{SOURCE_ROOT} = $source_root;
$self->{DEBUG} = 0;
$self->{VERBOSE} = 0;
@@ -94,14 +96,16 @@ sub new {
$self->{WARNINGS} = [];
$self->{REPORT_MESSAGES} = [];
$self->{CONFIG_FILE_CONTENT} = [];
- $self->{DEFAULT_REPOSITORY} = undef;
if (defined $self->{USER_SOURCE_ROOT}) {
${$self->{REPOSITORIES}}{File::Basename::basename($self->{USER_SOURCE_ROOT})} = $self->{USER_SOURCE_ROOT};
- $self->{DEFAULT_REPOSITORY} = File::Basename::basename($self->{USER_SOURCE_ROOT});
};
$self->{SOURCE_CONFIG_FILE} = get_config_file($self->{SOURCE_ROOT}) if (!defined $self->{SOURCE_CONFIG_FILE});
$self->{SOURCE_CONFIG_DEFAULT} = $self->{SOURCE_ROOT} .'/'.SOURCE_CONFIG_FILE_NAME;
+ if (defined $self->{USER_SOURCE_ROOT}) {
+ ${$self->{REPOSITORIES}}{File::Basename::basename($self->{USER_SOURCE_ROOT})} = $self->{USER_SOURCE_ROOT};
+ };
read_config_file($self);
+ get_module_paths($self);
bless($self, $class);
return $self;
}
@@ -118,6 +122,19 @@ sub get_repositories
return sort keys %{$self->{REPOSITORIES}};
}
+sub add_repository
+{
+ my $self = shift;
+ my $new_rep_path = shift;
+ $new_rep_path = Cwd::realpath($new_rep_path);
+ my $new_rep_name = File::Basename::basename($new_rep_path);
+ if (defined ${$self->{REPOSITORIES}}{$new_rep_name}) {
+ croak("Repository $new_rep_name is already defined!!");
+ };
+ ${$self->{REPOSITORIES}}{$new_rep_name} = $new_rep_path;
+ $self -> get_repository_module_paths($new_rep_name);
+}
+
sub get_config_file_default_path {
my $self = shift;
return $self->{SOURCE_CONFIG_DEFAULT};
@@ -131,7 +148,6 @@ sub get_config_file_path {
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 {
@@ -143,7 +159,6 @@ sub get_module_repository {
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 {
@@ -155,10 +170,17 @@ sub get_module_path {
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 {
+ my @possible_build_lists = ('build.lst', 'build.xlist'); # build lists names
+ foreach (@possible_build_lists) {
+ my $possible_path = ${$self->{MODULE_PATHS}}{$module} . "/prj/$_";
+ if (-e $possible_path) {
+ ${$self->{MODULE_BUILD_LIST_PATHS}}{$module} = $possible_path;
+ return $possible_path;
+ };
+ };
Carp::cluck("No build list in module $module found!!\n") if ($self->{DEBUG});
return undef;
};
@@ -168,7 +190,6 @@ 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}};
};
@@ -178,7 +199,6 @@ sub get_active_modules
if (scalar keys %{$self->{ACTIVATED_MODULES}}) {
return sort keys %{$self->{ACTIVATED_MODULES}};
}
- $self -> get_module_paths() if (!scalar keys %{$self->{MODULE_PATHS}});
return sort keys %{$self->{REAL_MODULES}};
}
@@ -189,49 +209,42 @@ sub is_active
if (scalar keys %{$self->{ACTIVATED_MODULES}}) {
return exists ($self->{ACTIVATED_MODULES}{$module});
}
- $self -> get_module_paths() if (!scalar keys %{$self->{MODULE_PATHS}});
return exists ($self->{REAL_MODULES}{$module});
}
##### private methods #####
-sub get_buildlist_paths {
+sub get_repository_module_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);
+ my $repository = shift;
+ my $repository_path = ${$self->{REPOSITORIES}}{$repository};
+ if (opendir DIRHANDLE, $repository_path) {
+ foreach my $module (readdir(DIRHANDLE)) {
+ next if (($module =~ /^\.+/) || (!-d "$repository_path/$module"));
+ my $module_entry = $module;
+ if (($module !~ s/\.lnk$//) && ($module !~ s/\.link$//)) {
+ $self->{REAL_MODULES}{$module}++;
+ }
+ 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_path repository content");
};
};
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 =~ /^\.+/) || (!-d "$repository_path/$module"));
- my $module_entry = $module;
- if (($module !~ s/\.lnk$//) && ($module !~ s/\.link$//)) {
- $self->{REAL_MODULES}{$module}++;
- }
- 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");
- };
+ get_repository_module_paths($self, $repository);
};
my @false_actives = ();
foreach (keys %{$self->{ACTIVATED_MODULES}}) {
@@ -248,31 +261,21 @@ sub get_config_file {
return '';
};
-sub get_hg_root {
+#
+# Fallback - fallback repository is based on RepositoryHelper educated guess
+#
+sub get_fallback_repository {
my $self = shift;
- return $self->{USER_SOURCE_ROOT} if (defined $self->{USER_SOURCE_ROOT});
- my $hg_root;
- if (open(COMMAND, "hg root 2>&1 |")) {
- foreach (<COMMAND>) {
- next if (/^Not trusting file/);
- chomp;
- $hg_root = $_;
- last;
- };
- close COMMAND;
- chomp $hg_root;
- if ($hg_root !~ /There is no Mercurial repository here/) {
- return $hg_root;
- };
- };
- croak('Cannot open find source_config and/or determine hg root directory for ' . cwd());
+ my $repository_root = RepositoryHelper->new()->get_repository_root();
+ ${$self->{REPOSITORIES}}{File::Basename::basename($repository_root)} = $repository_root;
};
sub read_config_file {
my $self = shift;
if (!$self->{SOURCE_CONFIG_FILE}) {
- my $repository_root = get_hg_root($self);
- ${$self->{REPOSITORIES}}{File::Basename::basename($repository_root)} = $repository_root;
+ if (!defined $self->{USER_SOURCE_ROOT}) {
+ get_fallback_repository($self);
+ };
return;
};
my $repository_section = 0;
@@ -304,11 +307,9 @@ sub read_config_file {
my $repository_source_path = $self->{SOURCE_ROOT} . "/$1";
if (defined $ENV{UPDMINOREXT}) {
$repository_source_path .= $ENV{UPDMINOREXT};
- };
- if ((defined $self->{DEFAULT_REPOSITORY}) && (${$self->{REPOSITORIES}}{$self->{DEFAULT_REPOSITORY}} eq $repository_source_path)) {
- delete ${$self->{REPOSITORIES}}{$self->{DEFAULT_REPOSITORY}};
- $self->{DEFAULT_REPOSITORY} = undef;
-
+ if (defined ${$self->{REPOSITORIES}}{$1.$ENV{UPDMINOREXT}}) {
+ delete ${$self->{REPOSITORIES}}{$1.$ENV{UPDMINOREXT}};
+ };
};
${$self->{REPOSITORIES}}{$1} = $repository_source_path;
${$self->{ACTIVATED_REPOSITORIES}}{$1}++;
@@ -323,9 +324,7 @@ sub read_config_file {
};
close SOURCE_CONFIG_FILE;
if (!scalar keys %{$self->{REPOSITORIES}}) {
- # Fallback - default repository is the directory where is our module...
- my $hg_root = get_hg_root($self);
- ${$self->{REPOSITORIES}}{File::Basename::basename($hg_root)} = $hg_root;
+ get_fallback_repository($self);
};
} else {
croak('Cannot open ' . $self->{SOURCE_CONFIG_FILE} . 'for reading');
@@ -379,15 +378,18 @@ sub remove_activated_modules {
sub add_active_repositories {
my $self = shift;
$self->{NEW_REPOSITORIES} = shift;
- croak('Empty module list passed for adding to source_config') if (!scalar @{$self->{NEW_REPOSITORIES}});
+ croak('Empty repository list passed for addition to source_config') if (!scalar @{$self->{NEW_REPOSITORIES}});
$self->{VERBOSE} = shift;
+ foreach (@{$self->{NEW_REPOSITORIES}}) {
+ $self->add_repository($_);
+ };
generate_config_file($self);
};
sub add_active_modules {
my $self = shift;
$self->{NEW_MODULES} = shift;
- croak('Empty module list passed for adding to source_config') if (!scalar @{$self->{NEW_MODULES}});
+ croak('Empty module list passed for addition to source_config') if (!scalar @{$self->{NEW_MODULES}});
$self->{VERBOSE} = shift;
generate_config_file($self);
};
@@ -535,6 +537,8 @@ SourceConfig - Perl extension for parsing general info databases
# Get repositories for the actual workspace:
$a->get_repositories();
+ # Add a repository new_repository for the actual workspace (via full path):
+ $a->add_repository(/DEV300/new_repository);
=head1 DESCRIPTION
@@ -559,6 +563,11 @@ SourceConfig::get_repositories()
Returns sorted list of active repositories for the actual workspace
+SourceConfig::add_repository(REPOSITORY_PATH)
+
+Adds a repository to the list of active repositories
+
+
SourceConfig::get_active_modules()
Returns a sorted list of active modules
@@ -622,6 +631,7 @@ Removes all activated repositories from the source_config file
SourceConfig::new()
SourceConfig::get_version()
SourceConfig::get_repositories()
+SourceConfig::add_repository()
SourceConfig::get_active_modules()
SourceConfig::get_all_modules()
SourceConfig::get_module_path($module)
diff --git a/solenv/bin/modules/installer/control.pm b/solenv/bin/modules/installer/control.pm
index f4edc8129255..bd700be38758 100644
--- a/solenv/bin/modules/installer/control.pm
+++ b/solenv/bin/modules/installer/control.pm
@@ -405,6 +405,16 @@ sub determine_ship_directory
my $shipdrive = $ENV{'SHIPDRIVE'};
my $languagestring = $$languagesref;
+
+ if (length($languagestring) > $installer::globals::max_lang_length )
+ {
+ my $number_of_languages = installer::systemactions::get_number_of_langs($languagestring);
+ chomp(my $shorter = `echo $languagestring | md5sum | sed -e "s/ .*//g"`);
+ # $languagestring = $shorter;
+ my $id = substr($shorter, 0, 8); # taking only the first 8 digits
+ $languagestring = "lang_" . $number_of_languages . "_id_" . $id;
+ }
+
my $productstring = $installer::globals::product;
my $productsubdir = "";
diff --git a/solenv/bin/modules/installer/epmfile.pm b/solenv/bin/modules/installer/epmfile.pm
index 136eca913dd9..8b828b85335f 100644
--- a/solenv/bin/modules/installer/epmfile.pm
+++ b/solenv/bin/modules/installer/epmfile.pm
@@ -762,33 +762,13 @@ sub replace_many_variables_in_shellscripts
foreach $key (keys %{$variableshashref})
{
my $value = $variableshashref->{$key};
- if ( ! $value =~ /.oxt/ ) { $value = lc($value); } # lowercase !
- if ( $installer::globals::issolarisbuild) { $value =~ s/\.org/org/g; } # openofficeorg instead of openoffice.org
+ # $value = lc($value); # lowercase !
+ # if ( $installer::globals::issolarisbuild) { $value =~ s/\.org/org/g; } # openofficeorg instead of openoffice.org
replace_variable_in_shellscripts($scriptref, $value, $key);
}
}
#######################################
-# Setting oxt file name variable
-#######################################
-
-sub set_oxt_filename
-{
- my ($filesinpackage, $allvariables) = @_;
-
- for ( my $i = 0; $i <= $#{$filesinpackage}; $i++ )
- {
- my $onefile = ${$filesinpackage}[$i];
- if ( $onefile->{'Name'} =~ /.oxt\s*$/ )
- {
- $allvariables->{'OXTFILENAME'} = $onefile->{'Name'};
- # $allvariables->{'FULLOXTFILENAME'} = $onefile->{'destination'};
- last; # only one oxt file for each rpm!
- }
- }
-}
-
-#######################################
# Adding shell scripts to epm file
#######################################
@@ -796,9 +776,6 @@ sub adding_shellscripts_to_epm_file
{
my ($epmfileref, $shellscriptsfilename, $localrootpath, $allvariableshashref, $filesinpackage) = @_;
- # Setting variable for ${OXTFILENAME} into $allvariableshashref, if this is a RPM with an extension
- set_oxt_filename($filesinpackage, $allvariableshashref);
-
# $installer::globals::shellscriptsfilename
push( @{$epmfileref}, "\n\n" );
@@ -1803,26 +1780,27 @@ sub is_extension_package
# share/extension/install
######################################################################
-sub get_extension_name
+sub contains_extension_dir
{
my ($prototypefile) = @_;
- my $extensionName = "";
+ my $contains_extension_dir = 0;
+
+ # d none opt/openoffice.org3/share/extensions/
for ( my $i = 0; $i <= $#{$prototypefile}; $i++ )
{
my $line = ${$prototypefile}[$i];
- if ( $line =~ /^\s*f\s+none\s+share\/extension\/install\/(\w+?\.oxt)\s*\=/ )
+ if ( $line =~ /^\s*d\s+none\s.*\/share\/extensions\// )
{
- $extensionName = $1;
+ $contains_extension_dir = 1;
last;
}
}
- return $extensionName;
+ return $contains_extension_dir;
}
-
############################################################
# A Solaris patch contains 7 specific scripts
############################################################
@@ -1839,9 +1817,9 @@ sub add_scripts_into_prototypefile
$path = $path . $installer::globals::separator;
my @newlines = ();
- my $extensionname = get_extension_name($prototypefile);
+ my $is_extension_package = contains_extension_dir($prototypefile);
- if ( $extensionname ne "" )
+ if ( $is_extension_package )
{
for ( my $i = 0; $i <= $#installer::globals::solarispatchscriptsforextensions; $i++ )
{
@@ -1865,9 +1843,7 @@ sub add_scripts_into_prototypefile
my $scriptfile = installer::files::read_file($sourcefilename);
# Replacing variables
- my $oldstring = "\$\{OXTFILENAME\}";
- replace_variables_in_shellscripts_for_patch($scriptfile, $destpath, $oldstring, $extensionname);
- $oldstring = "PRODUCTDIRECTORYNAME";
+ my $oldstring = "PRODUCTDIRECTORYNAME";
replace_variables_in_shellscripts_for_patch($scriptfile, $destpath, $oldstring, $staticpath);
# Saving file
@@ -2308,6 +2284,55 @@ sub determine_rpm_version
return $rpmversion;
}
+####################################################
+# Writing some info about rpm into the log file
+####################################################
+
+sub log_rpm_info
+{
+ my $systemcall = "";
+ my $infoline = "";
+
+ $infoline = "\nLogging rpmrc content using --showrc\n\n";
+ push( @installer::globals::logfileinfo, $infoline);
+
+ if ( $installer::globals::rpm ne "" )
+ {
+ $systemcall = "$installer::globals::rpm --showrc |";
+ }
+ else
+ {
+ $systemcall = "rpm --showrc |";
+ }
+
+ my @fullrpmout = ();
+
+ open (RPM, "$systemcall");
+ while (<RPM>) {push(@fullrpmout, $_); }
+ close (RPM);
+
+ if ( $#fullrpmout > -1 )
+ {
+ for ( my $i = 0; $i <= $#fullrpmout; $i++ )
+ {
+ my $rpmout = $fullrpmout[$i];
+ $rpmout =~ s/\s*$//g;
+
+ $infoline = "$rpmout\n";
+ $infoline =~ s/error/e_r_r_o_r/gi; # avoiding log problems
+ push( @installer::globals::logfileinfo, $infoline);
+ }
+ }
+ else
+ {
+ $infoline = "Problem in systemcall: $systemcall : No return value\n";
+ push( @installer::globals::logfileinfo, $infoline);
+ }
+
+ $infoline = "End of logging rpmrc\n\n";
+ push( @installer::globals::logfileinfo, $infoline);
+}
+
#################################################
# Systemcall to start the packaging process
#################################################
@@ -2560,6 +2585,12 @@ sub create_packages_without_epm
mkdir($buildroot = $dir . "/" . $epmdir . "BUILD/");
}
+ if ( ! $installer::globals::rpminfologged )
+ {
+ log_rpm_info();
+ $installer::globals::rpminfologged = 1;
+ }
+
my $systemcall = "$rpmcommand -bb --define \"_unpackaged_files_terminate_build 0\" $specfilename --target $target $buildrootstring 2\>\&1 |";
installer::logger::print_message( "... $systemcall ...\n" );
diff --git a/solenv/bin/modules/installer/globals.pm b/solenv/bin/modules/installer/globals.pm
index 71429e278f4e..582bd8c708b1 100644
--- a/solenv/bin/modules/installer/globals.pm
+++ b/solenv/bin/modules/installer/globals.pm
@@ -179,11 +179,12 @@ BEGIN
$rpm = "";
$rpmcommand = "";
$rpmquerycommand = "";
+ $rpminfologged = 0;
$debian = "";
$installertypedir = "";
$controlledmakecabversion = "5";
$saved_packages_path = "";
- $max_lang_length = 65;
+ $max_lang_length = 50;
$globalblock = "Globals";
$rootmodulegid = "";
%alllangmodules = ();
diff --git a/solenv/bin/modules/installer/parameter.pm b/solenv/bin/modules/installer/parameter.pm
index 0961b598902f..d3ce8a1d3a32 100644
--- a/solenv/bin/modules/installer/parameter.pm
+++ b/solenv/bin/modules/installer/parameter.pm
@@ -530,7 +530,7 @@ sub control_required_parameter
# and the UpgradeCode for the product are defined.
# The name "codes.txt" can be overwritten in Product definition with CODEFILENAME (msiglobal.pm)
- if ($installer::globals::iswindowsbuild)
+ if (( $installer::globals::iswindowsbuild ) && ( $installer::globals::packageformat ne "archive" ) && ( $installer::globals::packageformat ne "installed" ))
{
$installer::globals::codefilename = $installer::globals::idttemplatepath . $installer::globals::separator . $installer::globals::codefilename;
installer::files::check_file($installer::globals::codefilename);
diff --git a/solenv/bin/modules/installer/scriptitems.pm b/solenv/bin/modules/installer/scriptitems.pm
index a073e60a6697..7a2c4cb3f5e3 100644
--- a/solenv/bin/modules/installer/scriptitems.pm
+++ b/solenv/bin/modules/installer/scriptitems.pm
@@ -1868,7 +1868,7 @@ sub remove_Languagepacklibraries_from_Installset
}
$infoline = "\n";
- push( @installer::globals::logfileinfo, $infoline);
+ push( @installer::globals::globallogfileinfo, $infoline);
return \@newitemsarray;
}
diff --git a/solenv/bin/modules/installer/simplepackage.pm b/solenv/bin/modules/installer/simplepackage.pm
index fdf9fc6fa4c3..518edc683c3d 100644
--- a/solenv/bin/modules/installer/simplepackage.pm
+++ b/solenv/bin/modules/installer/simplepackage.pm
@@ -71,9 +71,10 @@ sub get_extensions_dir
my $extensiondir = $subfolderdir . $installer::globals::separator;
if ( $installer::globals::officedirhostname ne "" ) { $extensiondir = $extensiondir . $installer::globals::officedirhostname . $installer::globals::separator; }
- $extensiondir = $extensiondir . "share" . $installer::globals::separator . "extensions";
+ my $extensionsdir = $extensiondir . "share" . $installer::globals::separator . "extensions";
+ my $preregdir = $extensiondir . "share" . $installer::globals::separator . "prereg" . $installer::globals::separator . "bundled";
- return $extensiondir;
+ return ( $extensionsdir, $preregdir );
}
####################################################
@@ -82,21 +83,24 @@ sub get_extensions_dir
sub register_extensions
{
- my ($officedir, $languagestringref) = @_;
+ my ($officedir, $languagestringref, $preregdir) = @_;
+
+ my $infoline = "";
+
+ if ( $preregdir eq "" )
+ {
+ $infoline = "ERROR: Failed to determine directory \"prereg\" for extension registration! Please check your installation set.\n";
+ push( @installer::globals::logfileinfo, $infoline);
+ installer::exiter::exit_program($infoline, "register_extensions");
+ }
my $programdir = $officedir . $installer::globals::separator;
- # if ( $installer::globals::sundirhostname ne "" ) { $programdir = $programdir . $installer::globals::sundirhostname . $installer::globals::separator; }
if ( $installer::globals::officedirhostname ne "" ) { $programdir = $programdir . $installer::globals::officedirhostname . $installer::globals::separator; }
$programdir = $programdir . "program";
my $from = cwd();
chdir($programdir);
- my $infoline = "";
-
- # my $unopkgfile = $officedir . $installer::globals::separator . "program" .
- # $installer::globals::separator . $installer::globals::unopkgfile;
-
my $unopkgfile = $installer::globals::unopkgfile;
my $unopkgexists = 1;
@@ -107,87 +111,73 @@ sub register_extensions
push( @installer::globals::logfileinfo, $infoline);
}
- # my $extensiondir = $officedir . $installer::globals::separator . "share" .
- # $installer::globals::separator . "extension" .
- # $installer::globals::separator . "install";
-
- my $extensiondir = ".." . $installer::globals::separator . "share" . $installer::globals::separator . "extension" . $installer::globals::separator . "install";
-
- my $allextensions = installer::systemactions::find_file_with_file_extension("oxt", $extensiondir);
+ if ( ! -f $unopkgfile )
+ {
+ $unopkgexists = 0;
+ $infoline = "Info: File $unopkgfile does not exist! Extensions cannot be registered.\n";
+ push( @installer::globals::logfileinfo, $infoline);
+ }
- if (( $#{$allextensions} > -1 ) && ( $unopkgexists ))
+ if ( $unopkgexists )
{
my $currentdir = cwd();
print "... current dir: $currentdir ...\n";
$infoline = "Current dir: $currentdir\n";
push( @installer::globals::logfileinfo, $infoline);
- for ( my $i = 0; $i <= $#{$allextensions}; $i++ )
- {
- my $oneextension = $extensiondir . $installer::globals::separator . ${$allextensions}[$i];
-
- # my $systemcall = $unopkgfile . " add --shared --suppress-license " . "\"" . $oneextension . "\"";
+ if ( ! -f $unopkgfile ) { installer::exiter::exit_program("ERROR: $unopkgfile not found!", "register_extensions"); }
- if ( ! -f $unopkgfile ) { installer::exiter::exit_program("ERROR: $unopkgfile not found!", "register_extensions"); }
- if ( ! -f $oneextension ) { installer::exiter::exit_program("ERROR: $oneextension not found!", "register_extensions"); }
+ my $localtemppath = installer::systemactions::create_directories("uno", $languagestringref);
- my $localtemppath = installer::systemactions::create_directories("uno", $languagestringref);
+ my $slash = "";
- if ( $installer::globals::iswindowsbuild )
+ if ( $installer::globals::iswindowsbuild )
+ {
+ if ( $^O =~ /cygwin/i )
{
- if ( $^O =~ /cygwin/i )
- {
- $localtemppath = $installer::globals::cyg_temppath;
- }
- else
- {
- $windowsslash = "\/";
- }
- $localtemppath =~ s/\\/\//g;
- $localtemppath = "/".$localtemppath;
+ $localtemppath = $installer::globals::cyg_temppath;
+ $preregdir = qx{cygpath -m "$preregdir"};
+ chomp($preregdir);
}
- my $systemcall = $unopkgfile . " add --shared --suppress-license --verbose " . $oneextension . " -env:UserInstallation=file://" . $localtemppath . " 2\>\&1 |";
+ $localtemppath =~ s/\\/\//g;
+ $slash = "/"; # Third slash for Windows. Other OS pathes already start with "/"
+ }
- print "... $systemcall ...\n";
+ $preregdir =~ s/\/\s*$//g;
- $infoline = "Systemcall: $systemcall\n";
- push( @installer::globals::logfileinfo, $infoline);
+ my $systemcall = $unopkgfile . " sync --verbose -env:BUNDLED_EXTENSIONS_USER=\"file://" . $slash . $preregdir . "\"" . " -env:UserInstallation=file://" . $slash . $localtemppath . " 2\>\&1 |";
- my @unopkgoutput = ();
+ print "... $systemcall ...\n";
- open (UNOPKG, $systemcall);
- while (<UNOPKG>)
- {
- my $lastline = $_;
- push(@unopkgoutput, $lastline);
- }
- close (UNOPKG);
+ $infoline = "Systemcall: $systemcall\n";
+ push( @installer::globals::logfileinfo, $infoline);
- my $returnvalue = $?; # $? contains the return value of the systemcall
+ my @unopkgoutput = ();
- if ($returnvalue)
- {
- # Writing content of @unopkgoutput only in the error case into the log file. Sometimes it
- # contains strings like "Error" even in the case of success. This causes a packaging error
- # when the log file is analyzed at the end, even if there is no real error.
- for ( my $j = 0; $j <= $#unopkgoutput; $j++ ) { push( @installer::globals::logfileinfo, "$unopkgoutput[$j]"); }
+ open (UNOPKG, $systemcall);
+ while (<UNOPKG>)
+ {
+ my $lastline = $_;
+ push(@unopkgoutput, $lastline);
+ }
+ close (UNOPKG);
- $infoline = "ERROR: Could not execute \"$systemcall\"!\nExitcode: '$returnvalue'\n";
- push( @installer::globals::logfileinfo, $infoline);
- installer::exiter::exit_program("ERROR: $systemcall failed!", "register_extensions");
- }
- else
- {
- $infoline = "Success: Executed \"$systemcall\" successfully!\n";
- push( @installer::globals::logfileinfo, $infoline);
- }
+ my $returnvalue = $?; # $? contains the return value of the systemcall
+
+ if ($returnvalue)
+ {
+ # Writing content of @unopkgoutput only in the error case into the log file. Sometimes it
+ # contains strings like "Error" even in the case of success. This causes a packaging error
+ # when the log file is analyzed at the end, even if there is no real error.
+ for ( my $j = 0; $j <= $#unopkgoutput; $j++ ) { push( @installer::globals::logfileinfo, "$unopkgoutput[$j]"); }
+
+ $infoline = "ERROR: Could not execute \"$systemcall\"!\nExitcode: '$returnvalue'\n";
+ push( @installer::globals::logfileinfo, $infoline);
+ installer::exiter::exit_program("ERROR: $systemcall failed!", "register_extensions");
}
- }
- else
- {
- if ( ! ( $#{$allextensions} > -1 ))
+ else
{
- $infoline = "No extensions located in directory $extensiondir.\n";
+ $infoline = "Success: Executed \"$systemcall\" successfully!\n";
push( @installer::globals::logfileinfo, $infoline);
}
}
@@ -662,6 +652,7 @@ sub create_simple_package
if ( $onedir->{'HostName'} )
{
my $destdir = $subfolderdir . $installer::globals::separator . $onedir->{'HostName'};
+
if ( ! -d $destdir )
{
if ( $^O =~ /cygwin/i ) # Cygwin performance check
@@ -787,19 +778,18 @@ sub create_simple_package
system($localcall);
}
- # Registering the extensions
-
- # installer::logger::print_message( "... registering extensions ...\n" );
- # installer::logger::include_header_into_logfile("Registering extensions:");
- # register_extensions($subfolderdir, $languagestringref);
-
installer::logger::print_message( "... removing superfluous directories ...\n" );
installer::logger::include_header_into_logfile("Removing superfluous directories:");
- my $extensionfolder = get_extensions_dir($subfolderdir);
-
+ my ( $extensionfolder, $preregdir ) = get_extensions_dir($subfolderdir);
installer::systemactions::remove_empty_dirs_in_folder($extensionfolder);
+ # Registering the extensions
+
+ installer::logger::print_message( "... registering extensions ...\n" );
+ installer::logger::include_header_into_logfile("Registering extensions:");
+ register_extensions($subfolderdir, $languagestringref, $preregdir);
+
if ( $installer::globals::compiler =~ /^unxmacx/ )
{
installer::worker::put_scpactions_into_installset("$installdir/$packagename");
diff --git a/solenv/bin/modules/installer/systemactions.pm b/solenv/bin/modules/installer/systemactions.pm
index 981dc40f3209..24b070574189 100644
--- a/solenv/bin/modules/installer/systemactions.pm
+++ b/solenv/bin/modules/installer/systemactions.pm
@@ -292,6 +292,27 @@ sub remove_empty_directory
}
#######################################################################
+# Calculating the number of languages in the string
+#######################################################################
+
+sub get_number_of_langs
+{
+ my ($languagestring) = @_;
+
+ my $number = 1;
+
+ my $workstring = $languagestring;
+
+ while ( $workstring =~ /^\s*(.*)_(.*?)\s*$/ )
+ {
+ $workstring = $1;
+ $number++;
+ }
+
+ return $number;
+}
+
+#######################################################################
# Creating the directories, in which files are generated or unzipped
#######################################################################
@@ -380,8 +401,11 @@ sub create_directories
if (length($languagestring) > $installer::globals::max_lang_length )
{
+ my $number_of_languages = get_number_of_langs($languagestring);
chomp(my $shorter = `echo $languagestring | md5sum | sed -e "s/ .*//g"`);
- $languagestring = $shorter;
+ # $languagestring = $shorter;
+ my $id = substr($shorter, 0, 8); # taking only the first 8 digits
+ $languagestring = "lang_" . $number_of_languages . "_id_" . $id;
}
$path = $path . $languagestring . $installer::globals::separator;
diff --git a/solenv/bin/modules/installer/windows/property.pm b/solenv/bin/modules/installer/windows/property.pm
index e9f122a54d86..35866103d9fa 100644
--- a/solenv/bin/modules/installer/windows/property.pm
+++ b/solenv/bin/modules/installer/windows/property.pm
@@ -316,6 +316,11 @@ sub set_important_properties
{
my $onepropertyline = "OFFICEDIRHOSTNAME" . "\t" . $installer::globals::officedirhostname . "\n";
push(@{$propertyfile}, $onepropertyline);
+
+ my $localofficedirhostname = $installer::globals::officedirhostname;
+ $localofficedirhostname =~ s/\//\\/g;
+ $onepropertyline = "OFFICEDIRHOSTNAME_" . "\t" . $localofficedirhostname . "\n";
+ push(@{$propertyfile}, $onepropertyline);
}
if ( $installer::globals::sundirhostname )
diff --git a/solenv/bin/subsequenttests b/solenv/bin/subsequenttests
index 34e6b8034c70..3caa84293f3e 100755..100644
--- a/solenv/bin/subsequenttests
+++ b/solenv/bin/subsequenttests
@@ -47,7 +47,7 @@ while (@ARGV) {
}
my @testpaths = ();
-my $sc = SourceConfig->new();
+my $sc = SourceConfig->new($ENV{'SOLARSRC'});
my $module;
foreach $module ($sc->get_active_modules()) {
my $buildlst = $sc->get_module_build_list($module);
diff --git a/solenv/config/sdev300.ini b/solenv/config/sooo330.ini
index 3e80e1460885..ab42c2359aaa 100755..100644
--- a/solenv/config/sdev300.ini
+++ b/solenv/config/sooo330.ini
@@ -8,6 +8,7 @@ common
BIG_SVX TRUE
BMP_WRITES_FLAG TRUE
BUILD_SPECIAL TRUE
+ BUILD_STAX YES
BUILD_TYPE SO OOo EXT BINFILTER MORE_FONTS BSH CURL DICTIONARIES HSQLDB HUNSPELL HYPHEN MYTHES JPEG LIBXML2 LIBXMLSEC LPSOLVE MOZ NEON TWAIN PYTHON ZLIB SANE UNIXODBC X11_EXTENSIONS LIBWPD EPM ODK MSFONTEXTRACT MATHMLDTD BOOST MDDS 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 MYSQLCPPCONN MYSQLC CPPUNIT
common_build TRUE
COMMON_OUTDIR common
@@ -66,6 +67,7 @@ common
}
common:3 IF %UPDATER% != YES
{
+ ENABLE_CRASHDUMP DUMMY
}
crashdump
{
@@ -90,10 +92,11 @@ common
pro:0 IF %UPDATER% == YES
{
DELIVER_TO_ZIP TRUE
+ ENABLE_CRASHDUMP TRUE
product full
PROEXT .pro
PROFULLSWITCH product=full
- WITH_LANG en-US de es fr hu it ja ko nl pl pt pt-BR ru sv th tr zh-CN zh-TW ar
+ WITH_LANG af ar as ast be-BY bg bn bo br brx bs ca ca-XV cs cy da de dgo dz el en-GB en-ZA eo es et eu fa fi fr ga gl gu he hi hr hu id is it ja ka kid kk km kn ko kok ks ku lt lv mai mk ml mn mni mr my nb ne nl nn nr ns oc om or pa-IN pap pl pt pt-BR ro ru rw sa-IN sat sd sh si sk sl sr ss st sv sw-TZ ta te tg th tn tr ts ug uk ur uz ve vi xh zh-CN zh-TW zu
}
pro:1 IF %UPDATER% != YES
{
diff --git a/solenv/config/ssolar.cmn b/solenv/config/ssolar.cmn
index 937c345e2de8..de332146a1f0 100644
--- a/solenv/config/ssolar.cmn
+++ b/solenv/config/ssolar.cmn
@@ -44,6 +44,7 @@ common
BUILD_TOOLS
BUILD_TYPE
BUILD_SPECIAL
+ BUILD_STAX
BUILD_X64
CLASSPATH
CALL_CDECL
diff --git a/solenv/inc/_tg_srs.mk b/solenv/inc/_tg_srs.mk
index 063f98f2f322..a71216f0a7e9 100644
--- a/solenv/inc/_tg_srs.mk
+++ b/solenv/inc/_tg_srs.mk
@@ -28,7 +28,7 @@ $(foreach,i,$(SRC1FILES) $(COMMONMISC)/$(TARGET)/$i) : $$(@:f) $(LOCALIZESDF)
$(COMMAND_ECHO)-$(MKDIR) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
$(COMMAND_ECHO)-$(MKDIRHIER) $(COMMONMISC)$/$(PRJNAME)
- $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) $(TRANSEX_VERBOSITY) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $@.$(INPATH) $@
$(COMMAND_ECHO)-$(RM) $@.$(INPATH)
@@ -81,7 +81,7 @@ $(foreach,i,$(SRC2FILES) $(COMMONMISC)/$(TARGET)/$i) : $$(@:f) $(LOCALIZESDF)
$(COMMAND_ECHO)-$(MKDIR) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
$(COMMAND_ECHO)-$(MKDIRHIER) $(COMMONMISC)$/$(PRJNAME)
- $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) $(TRANSEX_VERBOSITY) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $@.$(INPATH) $@
$(COMMAND_ECHO)-$(RM) $@.$(INPATH)
@@ -134,7 +134,7 @@ $(foreach,i,$(SRC3FILES) $(COMMONMISC)/$(TARGET)/$i) : $$(@:f) $(LOCALIZESDF)
$(COMMAND_ECHO)-$(MKDIR) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
$(COMMAND_ECHO)-$(MKDIRHIER) $(COMMONMISC)$/$(PRJNAME)
- $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) $(TRANSEX_VERBOSITY) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $@.$(INPATH) $@
$(COMMAND_ECHO)-$(RM) $@.$(INPATH)
@@ -187,7 +187,7 @@ $(foreach,i,$(SRC4FILES) $(COMMONMISC)/$(TARGET)/$i) : $$(@:f) $(LOCALIZESDF)
$(COMMAND_ECHO)-$(MKDIR) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
$(COMMAND_ECHO)-$(MKDIRHIER) $(COMMONMISC)$/$(PRJNAME)
- $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) $(TRANSEX_VERBOSITY) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $@.$(INPATH) $@
$(COMMAND_ECHO)-$(RM) $@.$(INPATH)
@@ -240,7 +240,7 @@ $(foreach,i,$(SRC5FILES) $(COMMONMISC)/$(TARGET)/$i) : $$(@:f) $(LOCALIZESDF)
$(COMMAND_ECHO)-$(MKDIR) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
$(COMMAND_ECHO)-$(MKDIRHIER) $(COMMONMISC)$/$(PRJNAME)
- $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) $(TRANSEX_VERBOSITY) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $@.$(INPATH) $@
$(COMMAND_ECHO)-$(RM) $@.$(INPATH)
@@ -293,7 +293,7 @@ $(foreach,i,$(SRC6FILES) $(COMMONMISC)/$(TARGET)/$i) : $$(@:f) $(LOCALIZESDF)
$(COMMAND_ECHO)-$(MKDIR) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
$(COMMAND_ECHO)-$(MKDIRHIER) $(COMMONMISC)$/$(PRJNAME)
- $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) $(TRANSEX_VERBOSITY) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $@.$(INPATH) $@
$(COMMAND_ECHO)-$(RM) $@.$(INPATH)
@@ -346,7 +346,7 @@ $(foreach,i,$(SRC7FILES) $(COMMONMISC)/$(TARGET)/$i) : $$(@:f) $(LOCALIZESDF)
$(COMMAND_ECHO)-$(MKDIR) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
$(COMMAND_ECHO)-$(MKDIRHIER) $(COMMONMISC)$/$(PRJNAME)
- $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) $(TRANSEX_VERBOSITY) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $@.$(INPATH) $@
$(COMMAND_ECHO)-$(RM) $@.$(INPATH)
@@ -399,7 +399,7 @@ $(foreach,i,$(SRC8FILES) $(COMMONMISC)/$(TARGET)/$i) : $$(@:f) $(LOCALIZESDF)
$(COMMAND_ECHO)-$(MKDIR) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
$(COMMAND_ECHO)-$(MKDIRHIER) $(COMMONMISC)$/$(PRJNAME)
- $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) $(TRANSEX_VERBOSITY) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $@.$(INPATH) $@
$(COMMAND_ECHO)-$(RM) $@.$(INPATH)
@@ -452,7 +452,7 @@ $(foreach,i,$(SRC9FILES) $(COMMONMISC)/$(TARGET)/$i) : $$(@:f) $(LOCALIZESDF)
$(COMMAND_ECHO)-$(MKDIR) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
$(COMMAND_ECHO)-$(MKDIRHIER) $(COMMONMISC)$/$(PRJNAME)
- $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) $(TRANSEX_VERBOSITY) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $@.$(INPATH) $@
$(COMMAND_ECHO)-$(RM) $@.$(INPATH)
@@ -505,7 +505,7 @@ $(foreach,i,$(SRC10FILES) $(COMMONMISC)/$(TARGET)/$i) : $$(@:f) $(LOCALIZESDF)
$(COMMAND_ECHO)-$(MKDIR) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
$(COMMAND_ECHO)-$(MKDIRHIER) $(COMMONMISC)$/$(PRJNAME)
- $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) $(TRANSEX_VERBOSITY) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $@.$(INPATH) $@
$(COMMAND_ECHO)-$(RM) $@.$(INPATH)
diff --git a/solenv/inc/minor.mk b/solenv/inc/minor.mk
index 42eb91b48474..a6e3941d89af 100644
--- a/solenv/inc/minor.mk
+++ b/solenv/inc/minor.mk
@@ -1,5 +1,5 @@
-RSCVERSION=300
-RSCREVISION=300m84(Build:9512)
-BUILD=9512
-LAST_MINOR=m84
-SOURCEVERSION=DEV300
+RSCVERSION=330
+RSCREVISION=330m5(Build:9521)
+BUILD=9521
+LAST_MINOR=m5
+SOURCEVERSION=OOO330
diff --git a/solenv/inc/rules.mk b/solenv/inc/rules.mk
index 63c4d0cef28c..7ad8fd19f33f 100644
--- a/solenv/inc/rules.mk
+++ b/solenv/inc/rules.mk
@@ -722,7 +722,7 @@ $(COMMONMISC)/$(TARGET)/%.ulf : %.ulf
@echo "Making: " $(@:f)
$(COMMAND_ECHO)-$(MKDIR) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
- $(COMMAND_ECHO)$(ULFEX) $(ULFEX_VERBOSITY) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(ULFEX) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $@.$(INPATH) $@
$(COMMAND_ECHO)-$(RM) $@.$(INPATH)
diff --git a/solenv/inc/set_wntx64.mk b/solenv/inc/set_wntx64.mk
index bf2ca9314f33..412fb3bd2821 100755..100644
--- a/solenv/inc/set_wntx64.mk
+++ b/solenv/inc/set_wntx64.mk
@@ -42,6 +42,10 @@ LIBMGR_X64=$(WRAPCMD) $(LIBMGR_X64_BINARY) $(NOLOGO)
IMPLIB_X64=$(WRAPCMD) $(LIBMGR_X64_BINARY)
USE_CFLAGS_X64=-c -nologo -Gs $(NOLOGO) -Zm500 -Zc:forScope,wchar_t- -GR
+
+# Stack buffer overrun detection.
+CFLAGS+=-GS
+
USE_CDEFS_X64+= -DWIN32 -D_AMD64_=1 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NON_CONFORMING_SWPRINTFS
.IF "$(debug)"!=""
USE_CFLAGS_X64+=-Zi -Fd$(MISC_X64)/$(@:b).pdb
@@ -78,6 +82,15 @@ CDEFSOBJMT_X64+=-D_MT
LINKFLAGS_X64=/MAP /OPT:NOREF
.ENDIF
+# excetion handling protection
+LINKFLAGS+=-safeseh
+
+# enable DEP
+LINKFLAGS+=-nxcompat
+
+# enable ASLR
+LINKFLAGS+=-dynamicbase
+
.IF "$(PRODUCT)"!="full"
LINKFLAGS_X64+= -NODEFAULTLIB -DEBUG
.ELSE # "$(PRODUCT)"!="full"
diff --git a/solenv/inc/settings.mk b/solenv/inc/settings.mk
index c5283fb1b59e..68bbc797d8af 100644
--- a/solenv/inc/settings.mk
+++ b/solenv/inc/settings.mk
@@ -827,6 +827,9 @@ LOCALIZESDF:=$(strip $(shell @+$(IFEXIST) $(TRYSDF) $(THEN) echo $(TRYSDF) $(FI)
.IF "$(LOCALIZESDF)"==""
LOCALSDFFILE:=$(COMMONMISC)$/$(PRJNAME)$/$(PATH_IN_MODULE)$/localize.sdf
LOCALIZESDF:=$(strip $(shell @+$(IFEXIST) $(SOLARCOMMONSDFDIR)$/$(PRJNAME).zip $(THEN) echo $(LOCALSDFFILE) $(FI)))
+.IF "$(LOCALIZESDF)"==""
+LOCALSDFFILE!:=
+.ENDIF # "$(LOCALIZESDF)"==""
.ENDIF # "$(LOCALIZESDF)"==""
# dummy target to keep the build happy.
.IF "$(LOCALIZESDF)"==""
@@ -964,9 +967,6 @@ RSC=$(AUGMENT_LIBRARY_PATH) $(FLIPCMD) $(SOLARBINDIR)/rsc
.IF "$(VERBOSE)" == "FALSE"
VERBOSITY=-quiet
ZIP_VERBOSITY=-q
- TRANSEX_VERBOSITY=-QQ
- CFGEX_VERBOSITY=-QQ
- ULFEX_VERBOSITY=-QQ
.ENDIF
.ENDIF # "$(VERBOSE)" == "TRUE"
COMPILE_ECHO_SWITCH=
diff --git a/solenv/inc/target.mk b/solenv/inc/target.mk
index 1a4ad6e182a0..0fe06145879d 100644
--- a/solenv/inc/target.mk
+++ b/solenv/inc/target.mk
@@ -1518,7 +1518,7 @@ $(LOCALIZE_ME_DEST) .PHONY : $(LOCALIZE_ME) $(LOCALIZESDF)
.ENDIF # "$(LASTRUN_MERGED)"=="TRUE"
$(COMMAND_ECHO)-$(MKDIR) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
- $(COMMAND_ECHO)$(TRANSEX) $(TRANSEX_VERBOSITY) -p $(PRJNAME) -i $(@:b:+"_tmpl")$(@:e) -o $(@:d)/$(@:b:+"_tmpl")$(@:e).$(INPATH) -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(TRANSEX) -p $(PRJNAME) -i $(@:b:+"_tmpl")$(@:e) -o $(@:d)/$(@:b:+"_tmpl")$(@:e).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $(@:d)$(@:b:+"_tmpl")$(@:e).$(INPATH) $@
.ENDIF # "$(WITH_LANG)"==""
@@ -2043,6 +2043,7 @@ $(subst,$(OUTPATH),$(COMMON_OUTDIR) $(BIN))/hid.lst .PHONY :
.INCLUDE : tg_merge.mk
.INCLUDE : tg_propmerge.mk
+.INCLUDE : tg_xmerge.mk
wordcount:
wc *.* >> $(TMP)/wc.lst
diff --git a/solenv/inc/tg_config.mk b/solenv/inc/tg_config.mk
index bbc720ed600e..cfe2fe147ebe 100644
--- a/solenv/inc/tg_config.mk
+++ b/solenv/inc/tg_config.mk
@@ -137,7 +137,7 @@ $(XCU_LANG) : $(LOCALIZESDF)
$(PROCESSOUT)/merge/$(PACKAGEDIR)/%.xcu : %.xcu
@-$(MKDIRHIER) $(@:d)
- $(COMMAND_ECHO)$(CFGEX) $(CFGEX_VERBOSITY) -p $(PRJNAME) -i $(@:f) -o $@ -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(CFGEX) -p $(PRJNAME) -i $(@:f) -o $@ -m $(LOCALIZESDF) -l all
.IF "$(XCU_LANG)" != ""
$(XCU_LANG) : $(XSLDIR)/alllang.xsl
diff --git a/solenv/inc/tg_help.mk b/solenv/inc/tg_help.mk
index b98e0c6de3cc..b98e0c6de3cc 100755..100644
--- a/solenv/inc/tg_help.mk
+++ b/solenv/inc/tg_help.mk
diff --git a/solenv/inc/tg_srs.mk b/solenv/inc/tg_srs.mk
index 347dd25569de..4e70eb06b1b4 100644
--- a/solenv/inc/tg_srs.mk
+++ b/solenv/inc/tg_srs.mk
@@ -56,7 +56,7 @@ $(foreach,i,$(SRC$(TNR)FILES) $(COMMONMISC)/$(TARGET)/$i) : $$(@:f) $(LOCALIZESD
$(COMMAND_ECHO)-$(MKDIR) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
$(COMMAND_ECHO)-$(MKDIRHIER) $(COMMONMISC)$/$(PRJNAME)
- $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) $(TRANSEX_VERBOSITY) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
+ $(COMMAND_ECHO)$(WRAPCMD) $(TRANSEX) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $@.$(INPATH) $@
$(COMMAND_ECHO)-$(RM) $@.$(INPATH)
diff --git a/solenv/inc/tg_xmerge.mk b/solenv/inc/tg_xmerge.mk
new file mode 100755
index 000000000000..fa3e2297184f
--- /dev/null
+++ b/solenv/inc/tg_xmerge.mk
@@ -0,0 +1,109 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# 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.
+#
+#*************************************************************************
+
+.IF "$(XTXFILES)"!=""
+
+ALLTAR : $(MISC)/$(TARGET).xtx.pmerge.mk $(XTXFILES)
+
+.IF "$(L10NEXT)"==""
+L10NEXT:=.txt
+.ENDIF
+
+$(MISC)/$(TARGET).xtx.pmerge.mk : $(XTXFILES)
+
+$(XTXFILES) : $(LOCALIZESDF)
+
+.INCLUDE .IGNORE : $(MISC)/$(TARGET).xtx.pmerge.mk
+
+.IF "$(alllangiso)"!="$(last_merge)"
+XTXMERGEPHONY:=.PHONY
+.ENDIF # "$(alllangiso)" != "$(last_merge)"
+
+$(MISC)/$(TARGET)/%$(L10NEXT) $(XTXMERGEPHONY) : %.xtx
+ @@-$(MKDIRHIER) $(@:d)
+.IF "$(WITH_LANG)"==""
+ $(COMMAND_ECHO)$(COPY) $< $@
+.ELSE # "$(WITH_LANG)"==""
+ @@-$(RM) $@
+ $(COMMAND_ECHO)@noop $(assign XTXMERGELIST+:=$(<:f))
+ $(COMMAND_ECHO)@noop $(assign XTXDESTDIR:=$(@:d))
+.ENDIF # "$(WITH_LANG)"==""
+
+$(MISC)/$(TARGET).xtx.pmerge.mk : $(XTXMERGELIST)
+.IF "$(WITH_LANG)"!=""
+# xtxex command file requirements:
+# - one file per line
+# - no spaces
+# - no empty lines
+# $(uniq ...) to workaround $assign adding the value twice...
+ @noop $(assign XTXMERGEFILELIST:=$(uniq $(XTXMERGELIST)))
+ $(COMMAND_ECHO) $(SOLARBINDIR)/xtxex -p $(PRJNAME) -r $(PRJ) -o $(XTXDESTDIR) -i @$(mktmp $(XTXMERGEFILELIST:t"\n":s/ //)) -l $(alllangiso:s/ /,/) -f $(alllangiso:s/ /,/) -m $(LOCALIZESDF) -s"[path]/[fileNoExt]_[language]$(L10NEXT)"
+.ENDIF # "$(WITH_LANG)"!=""
+
+ @-$(RM) $@
+ $(COMMAND_ECHO)echo last_merge=$(alllangiso) > $@
+.ENDIF # "$(XTXFILES)"!=""
+
+.IF "$(TREEFILE)"!=""
+ALLTAR : $(MISC)/$(TARGET).tree.pmerge.mk $(TREEFILE)
+
+$(MISC)/$(TARGET).tree.pmerge.mk : $(TREEFILE)
+
+$(TREEFILE) : $(LOCALIZESDF)
+
+.INCLUDE .IGNORE : $(MISC)/$(TARGET).tree.pmerge.mk
+
+.IF "$(alllangiso)"!="$(last_merge)"
+TREEMERGEPHONY:=.PHONY
+.ENDIF # "$(alllangiso)" != "$(last_merge)"
+
+$(OUT_HELP)/en-US/help.tree $(TREEMERGEPHONY) : help.tree
+ @@-$(MKDIRHIER) $(@:d)
+.IF "$(WITH_LANG)"==""
+ $(COMMAND_ECHO)$(COPY) $< $@
+.ELSE # "$(WITH_LANG)"==""
+ @@-$(RM) $@
+ $(COMMAND_ECHO)@noop $(assign TREEMERGELIST+:=$(<:f))
+ $(COMMAND_ECHO)@noop $(assign TREEDESTDIR:=$(@:d:d:d))
+.ENDIF # "$(WITH_LANG)"==""
+
+$(MISC)/$(TARGET).tree.pmerge.mk : $(TREEMERGELIST)
+.IF "$(WITH_LANG)"!=""
+# xtxex command file requirements:
+# - one file per line
+# - no spaces
+# - no empty lines
+# $(uniq ...) to workaround $assign adding the value twice...
+ @noop $(assign TREEMERGEFILELIST:=$(uniq $(TREEMERGELIST)))
+# Variables for the pattern filename,fileNoExt,language,extension,pathPrefix,pathPostFix,path
+ $(COMMAND_ECHO) $(SOLARBINDIR)/xhtex -p $(PRJNAME) -r $(PRJ) -o $(TREEDESTDIR) -i @$(mktmp $(TREEMERGEFILELIST:t"\n":s/ //)) -l $(alllangiso:s/ /,/) -f $(alllangiso:s/ /,/) -m $(LOCALIZESDF) -s"[path]/[language]/[fileNoExt].tree"
+.ENDIF # "$(WITH_LANG)"!=""
+ @-$(RM) $@
+ $(COMMAND_ECHO)echo last_merge=$(alllangiso) > $@
+.ENDIF # "$(TREEFILE)"!=""
+
+
diff --git a/solenv/inc/unxlng.mk b/solenv/inc/unxlng.mk
index be8c5d01b714..aff552dde89c 100644
--- a/solenv/inc/unxlng.mk
+++ b/solenv/inc/unxlng.mk
@@ -198,6 +198,14 @@ STDLIBCUIMT+=-ltcmalloc
STDSHLGUIMT+=-ltcmalloc
STDSHLCUIMT+=-ltcmalloc
.ENDIF
+
+.IF "$(ALLOC)" == "JEMALLOC"
+STDLIBGUIMT+=-ljemalloc
+STDLIBCUIMT+=-ljemalloc
+STDSHLGUIMT+=-ljemalloc
+STDSHLCUIMT+=-ljemalloc
+.ENDIF
+
.IF "$(HAVE_LD_HASH_STYLE)" == "TRUE"
LINKFLAGS += -Wl,--hash-style=both
.ELSE
diff --git a/solenv/inc/version.hrc b/solenv/inc/version.hrc
index d4c205f942b9..9c2b9be4189a 100644
--- a/solenv/inc/version.hrc
+++ b/solenv/inc/version.hrc
@@ -26,14 +26,14 @@
*************************************************************************/
#define VERSION 3
-#define SUBVERSION 2
+#define SUBVERSION 3
//#define VERVARIANT 0 // never define this one, will be provided by build environment (BUILD_ID)
// .0 + VER_CONCEPT
// .100 + VER_ALPHA
// .200 + VER_BETA
// .300 + VER_GAMMA
// .500 + VER_FINAL
-//#define VER_CONCEPT 0
+//#define VER_CONCEPT 0
//#define VER_BETA 6
#define VER_FINAL 0
@@ -54,7 +54,7 @@
#endif
// -----------------------------------------------------------------------
-// language/character set specification table
+// language/character set specification table
// -----------------------------------------------------------------------
RCD_LANGUAGE rcdata
diff --git a/solenv/inc/version.lst b/solenv/inc/version.lst
new file mode 100644
index 000000000000..ac49f6c6fcf6
--- /dev/null
+++ b/solenv/inc/version.lst
@@ -0,0 +1,30 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# 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.
+#
+#*************************************************************************
+
+OOOBASEVERSIONMAJOR=3
+OOOBASEVERSIONMINOR=3
+OOOBASEVERSIONMICRO=0
diff --git a/solenv/inc/version_so.hrc b/solenv/inc/version_so.hrc
index 70ea1c193ee6..9773f10fdddf 100644
--- a/solenv/inc/version_so.hrc
+++ b/solenv/inc/version_so.hrc
@@ -26,14 +26,14 @@
*************************************************************************/
#define VERSION 9
-#define SUBVERSION 2
+#define SUBVERSION 3
//#define VERVARIANT 0 // never define this one, will be provided by build environment (BUILD_ID)
// .0 + VER_CONCEPT
// .100 + VER_ALPHA
// .200 + VER_BETA
// .300 + VER_GAMMA
// .500 + VER_FINAL
-//#define VER_CONCEPT 0
+//#define VER_CONCEPT 0
//#define VER_BETA 6
#define VER_FINAL 0
@@ -54,7 +54,7 @@
#endif
// -----------------------------------------------------------------------
-// language/character set specification table
+// language/character set specification table
// -----------------------------------------------------------------------
RCD_LANGUAGE rcdata
diff --git a/solenv/inc/versionlist.mk b/solenv/inc/versionlist.mk
new file mode 100644
index 000000000000..31a255e48be1
--- /dev/null
+++ b/solenv/inc/versionlist.mk
@@ -0,0 +1,30 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# 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.
+#
+#*************************************************************************
+
+.INCLUDE: version.lst
+
+.EXPORT : OOOBASEVERSIONMAJOR OOOBASEVERSIONMINOR OOOBASEVERSIONMICRO
diff --git a/solenv/inc/wntmsci10.mk b/solenv/inc/wntmsci10.mk
index 6ed8327c8506..5c959f7d0e3c 100644
--- a/solenv/inc/wntmsci10.mk
+++ b/solenv/inc/wntmsci10.mk
@@ -34,7 +34,7 @@ JAVAFLAGSDEBUG=-g
# SOLAR JAva Unterstuetzung nur fuer wntmsci
ASM=ml
-AFLAGS=/c /Cp /coff
+AFLAGS=/c /Cp /coff /safeseh
# architecture dependent flags for the C and C++ compiler that can be changed by
# exporting the variable ARCH_FLAGS="..." in the shell, which is used to start build
diff --git a/solenv/inc/wntmsci11.mk b/solenv/inc/wntmsci11.mk
index b270a6a25cfe..972feb0a8fdc 100644
--- a/solenv/inc/wntmsci11.mk
+++ b/solenv/inc/wntmsci11.mk
@@ -34,7 +34,7 @@ JAVAFLAGSDEBUG=-g
# SOLAR JAva Unterstuetzung nur fuer wntmsci
ASM=ml
-AFLAGS=/c /Cp /coff
+AFLAGS=/c /Cp /coff /safeseh
# architecture dependent flags for the C and C++ compiler that can be changed by
# exporting the variable ARCH_FLAGS="..." in the shell, which is used to start build
@@ -82,6 +82,10 @@ COMPILE_ECHO_FILE=
# lookup":
# -wd4251 -wd4275 -wd4290 -wd4675 -wd4786 -wd4800
CFLAGS+=-Zm500 -Zc:forScope,wchar_t- -GR
+
+# Stack buffer overrun detection.
+CFLAGS+=-GS
+
CFLAGS+=-c -nologo -Gs $(NOLOGO)
CDEFS+= -D_X86_=1 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NON_CONFORMING_SWPRINTFS
@@ -235,8 +239,17 @@ LINKOUTPUTFILTER= $(PIPEERROR) $(GREP) -v "LNK4197:"
LINKFLAGS=/MAP /OPT:NOREF
.ENDIF
+# excetion handling protection
+LINKFLAGS+=-safeseh
+
+# enable DEP
+LINKFLAGS+=-nxcompat
+
+# enable ASLR
+LINKFLAGS+=-dynamicbase
+
.IF "$(linkinc)" != ""
-LINKFLAGS=-NODEFAULTLIB -INCREMENTAL:YES -DEBUG
+LINKFLAGS+=-NODEFAULTLIB -INCREMENTAL:YES -DEBUG
MAPFILE=
_VC_MANIFEST_INC=1
.ELSE # "$(linkinc)" != ""
diff --git a/solenv/prj/d.lst b/solenv/prj/d.lst
index e69de29bb2d1..edbfc190c808 100644
--- a/solenv/prj/d.lst
+++ b/solenv/prj/d.lst
@@ -0,0 +1,2 @@
+mkdir: %_DEST%\bin%_EXT%
+..\inc\version.lst %_DEST%\bin%_EXT%\version.lst