summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
Diffstat (limited to 'solenv')
-rwxr-xr-xsolenv/bin/add-modelines174
-rwxr-xr-x[-rw-r--r--]solenv/bin/addsym-mingw.sh0
-rw-r--r--solenv/bin/addsym.awk4
-rwxr-xr-xsolenv/bin/build.pl452
-rwxr-xr-xsolenv/bin/build_client.pl9
-rwxr-xr-xsolenv/bin/checkdll.sh15
-rwxr-xr-xsolenv/bin/cleanzip.pl5
-rw-r--r--solenv/bin/clipatchconfig.pl2
-rw-r--r--solenv/bin/converttags.pl94
-rwxr-xr-xsolenv/bin/create-ids8
-rwxr-xr-xsolenv/bin/create-tags9
-rwxr-xr-x[-rw-r--r--]solenv/bin/createpdbrelocators.pl15
-rwxr-xr-xsolenv/bin/cws6
-rw-r--r--solenv/bin/cws.btm11
-rw-r--r--solenv/bin/cws.pl2116
-rwxr-xr-xsolenv/bin/cwsattach7
-rw-r--r--solenv/bin/cwsattach.btm11
-rw-r--r--solenv/bin/cwsattach.pl220
-rwxr-xr-xsolenv/bin/cwscreate6
-rwxr-xr-xsolenv/bin/cwstestresult7
-rw-r--r--solenv/bin/cwstestresult.btm11
-rw-r--r--solenv/bin/cwstestresult.pl192
-rwxr-xr-xsolenv/bin/cwstouched6
-rwxr-xr-xsolenv/bin/cwstouched.btm11
-rwxr-xr-xsolenv/bin/cwstouched.pl151
-rwxr-xr-xsolenv/bin/cwstouched.py111
-rwxr-xr-xsolenv/bin/deliver.pl85
-rw-r--r--solenv/bin/fix_def_file.cmd52
-rw-r--r--solenv/bin/fix_def_ord.cmd19
-rw-r--r--solenv/bin/fix_dxp_file.cmd30
-rw-r--r--solenv/bin/fix_exp_file.cmd54
-rw-r--r--solenv/bin/fix_lin_file.cmd13
-rw-r--r--solenv/bin/fix_shl.cmd11
-rwxr-xr-xsolenv/bin/gccinstlib.pl16
-rw-r--r--solenv/bin/gdb_cxa-atexit_trace-stdout8
-rw-r--r--solenv/bin/gdbtrycatchtrace21
-rw-r--r--solenv/bin/gdbtrycatchtrace-stdout14
-rwxr-xr-xsolenv/bin/gen_userfeedback_VCL_names.pl5
-rwxr-xr-xsolenv/bin/gsicheck11
-rwxr-xr-xsolenv/bin/guw.pl8
-rw-r--r--solenv/bin/hicontrast-to-theme.pl125
-rw-r--r--solenv/bin/id-lang.map105
-rwxr-xr-xsolenv/bin/image-sort.pl2
-rwxr-xr-xsolenv/bin/linkoo186
-rwxr-xr-xsolenv/bin/localize11
-rwxr-xr-xsolenv/bin/localize_sl11
-rw-r--r--solenv/bin/macosx-change-install-names.pl3
-rw-r--r--solenv/bin/macosx-dylib-link-list.pl1
-rw-r--r--solenv/bin/make_download.pl3
-rw-r--r--solenv/bin/make_installer.pl117
-rw-r--r--solenv/bin/makemani.pl1
-rw-r--r--solenv/bin/mapgen.pl5
-rwxr-xr-xsolenv/bin/mkdocs.sh130
-rwxr-xr-xsolenv/bin/mkout.pl6
-rw-r--r--solenv/bin/modules/CreatePDBRelocators.pm5
-rwxr-xr-xsolenv/bin/modules/Cws.pm2153
-rw-r--r--solenv/bin/modules/CwsConfig.pm541
-rw-r--r--solenv/bin/modules/GenInfoParser.pm3
-rw-r--r--solenv/bin/modules/RepositoryHelper.pm5
-rw-r--r--[-rwxr-xr-x]solenv/bin/modules/SourceConfig.pm26
-rw-r--r--solenv/bin/modules/installer/archivefiles.pm42
-rw-r--r--solenv/bin/modules/installer/configuration.pm9
-rw-r--r--solenv/bin/modules/installer/control.pm60
-rw-r--r--solenv/bin/modules/installer/converter.pm263
-rw-r--r--solenv/bin/modules/installer/copyproject.pm25
-rw-r--r--solenv/bin/modules/installer/download.pm267
-rw-r--r--solenv/bin/modules/installer/downloadsigner.pm8
-rw-r--r--solenv/bin/modules/installer/environment.pm3
-rw-r--r--solenv/bin/modules/installer/epmfile.pm291
-rw-r--r--solenv/bin/modules/installer/followme.pm10
-rw-r--r--solenv/bin/modules/installer/globals.pm16
-rw-r--r--solenv/bin/modules/installer/helppack.pm537
-rw-r--r--solenv/bin/modules/installer/javainstaller.pm1885
-rw-r--r--solenv/bin/modules/installer/languagepack.pm59
-rw-r--r--solenv/bin/modules/installer/languages.pm39
-rw-r--r--solenv/bin/modules/installer/mail.pm136
-rw-r--r--solenv/bin/modules/installer/packagelist.pm16
-rw-r--r--solenv/bin/modules/installer/packagepool.pm8
-rw-r--r--solenv/bin/modules/installer/parameter.pm35
-rw-r--r--solenv/bin/modules/installer/pathanalyzer.pm2
-rw-r--r--solenv/bin/modules/installer/remover.pm4
-rw-r--r--solenv/bin/modules/installer/scppatchsoname.pm5
-rw-r--r--solenv/bin/modules/installer/scpzipfiles.pm8
-rw-r--r--solenv/bin/modules/installer/scriptitems.pm167
-rw-r--r--solenv/bin/modules/installer/setupscript.pm128
-rwxr-xr-xsolenv/bin/modules/installer/simplepackage.pm36
-rw-r--r--solenv/bin/modules/installer/substfilenamefiles.pm1
-rw-r--r--solenv/bin/modules/installer/systemactions.pm164
-rw-r--r--solenv/bin/modules/installer/windows/admin.pm17
-rw-r--r--solenv/bin/modules/installer/windows/assembly.pm8
-rw-r--r--solenv/bin/modules/installer/windows/component.pm10
-rw-r--r--solenv/bin/modules/installer/windows/createfolder.pm7
-rw-r--r--solenv/bin/modules/installer/windows/directory.pm45
-rw-r--r--solenv/bin/modules/installer/windows/feature.pm8
-rw-r--r--solenv/bin/modules/installer/windows/featurecomponent.pm71
-rw-r--r--solenv/bin/modules/installer/windows/file.pm3
-rw-r--r--solenv/bin/modules/installer/windows/font.pm1
-rw-r--r--solenv/bin/modules/installer/windows/idtglobal.pm47
-rw-r--r--solenv/bin/modules/installer/windows/language.pm3
-rw-r--r--solenv/bin/modules/installer/windows/media.pm3
-rwxr-xr-xsolenv/bin/modules/installer/windows/mergemodule.pm70
-rw-r--r--solenv/bin/modules/installer/windows/msiglobal.pm94
-rw-r--r--solenv/bin/modules/installer/windows/msp.pm12
-rw-r--r--solenv/bin/modules/installer/windows/property.pm38
-rw-r--r--solenv/bin/modules/installer/windows/registry.pm1
-rw-r--r--solenv/bin/modules/installer/windows/shortcut.pm5
-rw-r--r--solenv/bin/modules/installer/windows/sign.pm11
-rw-r--r--solenv/bin/modules/installer/windows/update.pm4
-rw-r--r--solenv/bin/modules/installer/windows/upgrade.pm17
-rw-r--r--solenv/bin/modules/installer/worker.pm199
-rw-r--r--solenv/bin/modules/installer/xpdinstaller.pm32
-rw-r--r--solenv/bin/modules/installer/ziplist.pm19
-rwxr-xr-xsolenv/bin/modules/osarch.pm195
-rw-r--r--solenv/bin/modules/packager/work.pm2
-rw-r--r--solenv/bin/modules/par2script/systemactions.pm2
-rw-r--r--solenv/bin/modules/par2script/work.pm99
-rw-r--r--solenv/bin/modules/pre2par/language.pm89
-rw-r--r--solenv/bin/modules/pre2par/systemactions.pm2
-rwxr-xr-xsolenv/bin/ooinstall138
-rwxr-xr-xsolenv/bin/packimages.pl10
-rwxr-xr-xsolenv/bin/receditor2
-rwxr-xr-xsolenv/bin/relocate119
-rw-r--r--solenv/bin/remangle32to64.pl327
-rwxr-xr-xsolenv/bin/striplanguagetags.sh54
-rwxr-xr-xsolenv/bin/subsequenttests200
-rw-r--r--solenv/bin/transform_description.pl2
-rw-r--r--solenv/bin/update_module_ignore_lists.pl255
-rwxr-xr-xsolenv/bin/zipdep.pl11
-rw-r--r--solenv/config/sdev300.ini3483
-rw-r--r--solenv/config/ssolar.cmn336
-rw-r--r--solenv/doc/gbuild/solenv/gbuild/gbuild.mk1
-rw-r--r--solenv/gbuild/AllLangResTarget.mk258
-rw-r--r--solenv/gbuild/BuildDirs.mk6
-rw-r--r--solenv/gbuild/ComponentTarget.mk20
-rw-r--r--solenv/gbuild/CppunitTest.mk140
-rw-r--r--solenv/gbuild/CustomTarget.mk14
-rw-r--r--solenv/gbuild/Deliver.mk22
-rw-r--r--solenv/gbuild/Executable.mk64
-rw-r--r--solenv/gbuild/Helper.mk26
-rw-r--r--solenv/gbuild/JavaClassSet.mk14
-rw-r--r--solenv/gbuild/JunitTest.mk53
-rw-r--r--solenv/gbuild/Library.mk84
-rw-r--r--solenv/gbuild/LinkTarget.mk254
-rw-r--r--solenv/gbuild/Module.mk88
-rw-r--r--solenv/gbuild/Output.mk6
-rw-r--r--solenv/gbuild/Package.mk16
-rw-r--r--solenv/gbuild/PrecompiledHeaders.mk42
-rw-r--r--solenv/gbuild/RdbTarget.mk83
-rw-r--r--solenv/gbuild/SdiTarget.mk40
-rw-r--r--solenv/gbuild/StaticLibrary.mk66
-rwxr-xr-xsolenv/gbuild/TargetLocations.mk70
-rw-r--r--solenv/gbuild/Tempfile.mk16
-rw-r--r--solenv/gbuild/WinResTarget.mk18
-rw-r--r--solenv/gbuild/extensions/final_ObjectOwner.mk47
-rw-r--r--solenv/gbuild/extensions/post_PackModule.mk10
-rw-r--r--solenv/gbuild/extensions/post_SetupLocal.mk42
-rwxr-xr-xsolenv/gbuild/filter-showIncludes.pl62
-rw-r--r--solenv/gbuild/gbuild.mk244
-rw-r--r--solenv/gbuild/platform/android.mk38
-rw-r--r--solenv/gbuild/platform/dragonfly.mk44
-rw-r--r--solenv/gbuild/platform/freebsd.mk42
-rw-r--r--solenv/gbuild/platform/ios.mk411
-rw-r--r--solenv/gbuild/platform/linux-ARM.mk38
-rw-r--r--solenv/gbuild/platform/linux-AXP.mk39
-rw-r--r--solenv/gbuild/platform/linux-GODSON.mk36
-rw-r--r--solenv/gbuild/platform/linux-HPPA.mk36
-rw-r--r--solenv/gbuild/platform/linux-IA64.mk36
-rw-r--r--solenv/gbuild/platform/linux-INTEL.mk36
-rw-r--r--solenv/gbuild/platform/linux-M68K.mk38
-rw-r--r--solenv/gbuild/platform/linux-POWERPC.mk38
-rw-r--r--solenv/gbuild/platform/linux-POWERPC64.mk37
-rw-r--r--solenv/gbuild/platform/linux-S390.mk38
-rw-r--r--solenv/gbuild/platform/linux-S390X.mk35
-rw-r--r--solenv/gbuild/platform/linux-SPARC.mk36
-rw-r--r--solenv/gbuild/platform/linux-X86_64.mk36
-rw-r--r--solenv/gbuild/platform/linux.mk395
-rw-r--r--solenv/gbuild/platform/macosx.mk325
-rw-r--r--solenv/gbuild/platform/netbsd.mk44
-rw-r--r--solenv/gbuild/platform/openbsd.mk60
-rw-r--r--solenv/gbuild/platform/solaris.mk276
-rw-r--r--solenv/gbuild/platform/unxgcc.mk441
-rw-r--r--solenv/gbuild/platform/windows.mk667
-rw-r--r--solenv/gbuild/platform/winmingw.mk552
-rw-r--r--solenv/gbuild/templates/AllLangResTarget.mk4
-rw-r--r--solenv/gbuild/templates/CppunitTest.mk6
-rw-r--r--solenv/gbuild/templates/Executable.mk6
-rw-r--r--solenv/gbuild/templates/JunitTest.mk16
-rw-r--r--solenv/gbuild/templates/Library.mk12
-rw-r--r--solenv/gbuild/templates/Module.mk2
-rw-r--r--solenv/gbuild/templates/Package.mk2
-rw-r--r--solenv/gbuild/templates/StaticLibrary.mk2
-rw-r--r--solenv/gbuild/templates/makefile.mk2
-rw-r--r--solenv/inc/_tg_app.mk780
-rw-r--r--solenv/inc/_tg_def.mk1140
-rw-r--r--solenv/inc/_tg_lib.mk188
-rwxr-xr-xsolenv/inc/_tg_rslb.mk180
-rw-r--r--solenv/inc/_tg_shl.mk1890
-rw-r--r--solenv/inc/_tg_zip.mk120
-rw-r--r--solenv/inc/ant.mk22
-rw-r--r--solenv/inc/antsettings.mk38
-rw-r--r--solenv/inc/doxygen.cfg1314
-rw-r--r--solenv/inc/extension_helplink.mk7
-rw-r--r--solenv/inc/extension_post.mk17
-rw-r--r--solenv/inc/extension_pre.mk8
-rw-r--r--solenv/inc/installationtest.mk18
-rw-r--r--solenv/inc/langlist.mk39
-rw-r--r--solenv/inc/layout.mk2
-rw-r--r--solenv/inc/libs.mk69
-rw-r--r--solenv/inc/minor.mk10
-rw-r--r--solenv/inc/os2.mk333
-rw-r--r--solenv/inc/os2gcci.mk288
-rw-r--r--solenv/inc/postmac.h4
-rw-r--r--solenv/inc/postset.mk2
-rw-r--r--solenv/inc/postwin.h252
-rw-r--r--solenv/inc/preinclude.h3
-rw-r--r--solenv/inc/premac.h4
-rw-r--r--solenv/inc/prewin.h74
-rw-r--r--solenv/inc/productversion.mk (renamed from solenv/inc/sc.mk)8
-rw-r--r--solenv/inc/pstrules.mk3
-rw-r--r--solenv/inc/rules.mk8
-rw-r--r--[-rwxr-xr-x]solenv/inc/set_wntx64.mk18
-rw-r--r--solenv/inc/settings.mk219
-rw-r--r--solenv/inc/shlinfo.rc72
-rw-r--r--solenv/inc/startup/startup.mk8
-rw-r--r--solenv/inc/startup/wnt/macros.mk12
-rw-r--r--solenv/inc/target.mk55
-rw-r--r--solenv/inc/tg_app.mk78
-rw-r--r--solenv/inc/tg_compv.mk4
-rw-r--r--solenv/inc/tg_config.mk4
-rw-r--r--solenv/inc/tg_def.mk114
-rw-r--r--solenv/inc/tg_ext.mk45
-rw-r--r--solenv/inc/tg_jar.mk12
-rw-r--r--solenv/inc/tg_java.mk10
-rw-r--r--solenv/inc/tg_lib.mk19
-rw-r--r--solenv/inc/tg_merge.mk25
-rw-r--r--solenv/inc/tg_obj.mk19
-rw-r--r--solenv/inc/tg_res.mk9
-rw-r--r--solenv/inc/tg_rslb.mk18
-rw-r--r--solenv/inc/tg_shl.mk189
-rw-r--r--solenv/inc/tg_slo.mk14
-rw-r--r--solenv/inc/tg_wntx64.mk49
-rw-r--r--solenv/inc/tg_zip.mk12
-rw-r--r--solenv/inc/unitools.mk38
-rw-r--r--solenv/inc/unx.mk72
-rw-r--r--solenv/inc/unxaigppc.mk68
-rw-r--r--solenv/inc/unxaixp.mk4
-rw-r--r--solenv/inc/unxandr.mk (renamed from solenv/inc/scpre.mk)27
-rw-r--r--solenv/inc/unxbsda.mk99
-rw-r--r--solenv/inc/unxbsdi.mk179
-rw-r--r--solenv/inc/unxbsdi2.mk198
-rw-r--r--solenv/inc/unxbsds.mk179
-rw-r--r--solenv/inc/unxdfly.mk45
-rw-r--r--solenv/inc/unxfbsd.mk35
-rw-r--r--solenv/inc/unxfbsdi.mk3
-rw-r--r--solenv/inc/unxfbsdx.mk2
-rw-r--r--solenv/inc/unxgcc.mk266
-rw-r--r--solenv/inc/unxhpgr.mk133
-rw-r--r--solenv/inc/unxhpxr.mk131
-rw-r--r--solenv/inc/unxiosr.mk76
-rw-r--r--solenv/inc/unxlng.mk244
-rw-r--r--solenv/inc/unxlnga.mk1
-rw-r--r--solenv/inc/unxlngaxp.mk2
-rw-r--r--solenv/inc/unxlnghppa.mk1
-rw-r--r--solenv/inc/unxlngi.mk5
-rw-r--r--solenv/inc/unxlngm68k.mk1
-rw-r--r--solenv/inc/unxlngmips.mk1
-rw-r--r--solenv/inc/unxlngppc.mk1
-rw-r--r--solenv/inc/unxlngr.mk1
-rw-r--r--solenv/inc/unxlngs.mk1
-rw-r--r--solenv/inc/unxlngs390.mk1
-rw-r--r--solenv/inc/unxlngx.mk1
-rw-r--r--solenv/inc/unxmacx.mk28
-rw-r--r--solenv/inc/unxmacxi.mk8
-rw-r--r--solenv/inc/unxmacxp.mk2
-rw-r--r--solenv/inc/unxnbsd.mk25
-rw-r--r--solenv/inc/unxobsd.mk85
-rw-r--r--solenv/inc/unxscoi.mk140
-rw-r--r--solenv/inc/unxsogi.mk11
-rw-r--r--solenv/inc/unxsogs.mk11
-rw-r--r--solenv/inc/unxsoli4.mk17
-rw-r--r--solenv/inc/unxsols4.mk17
-rw-r--r--solenv/inc/unxsolu4.mk19
-rw-r--r--solenv/inc/verinfo.hrc40
-rwxr-xr-xsolenv/inc/version.hrc10
-rwxr-xr-xsolenv/inc/version_so.hrc7
-rw-r--r--solenv/inc/win32/jni_md.h42
-rw-r--r--solenv/inc/wnt.mk13
-rw-r--r--[-rwxr-xr-x]solenv/inc/wntgcci.mk81
-rw-r--r--[-rwxr-xr-x]solenv/inc/wntmsc.mk (renamed from solenv/inc/wntmsci11.mk)98
-rw-r--r--solenv/inc/wntmsci10.mk343
-rwxr-xr-xsolenv/prj/d.lst8
-rw-r--r--solenv/src/version.c20
-rw-r--r--solenv/unxmacxp/inc/poll.h3
293 files changed, 10507 insertions, 23508 deletions
diff --git a/solenv/bin/add-modelines b/solenv/bin/add-modelines
new file mode 100755
index 000000000000..71d42090121d
--- /dev/null
+++ b/solenv/bin/add-modelines
@@ -0,0 +1,174 @@
+#!/bin/bash
+
+# add-modelines, a simple script to add comments to
+# the beginning and end of source files for LibreOffice devs
+
+# Blame goes to Jesse Adelman (at least at first)
+# someone AT boldandbusted dotty-dot com
+# http://www.boldandbusted.com/
+# (c) 2010 Bold and Busted LLC
+# Licensed under the MPL/LGPLv3 or later
+# First edit 2010-10-08
+# Updated on 2010-10-09
+# Version 0.7
+
+# NOTE: At present, this script only works for files with C-like comments.
+# NOTE: If you don't specify -p, the script will act on the current working directory.
+# NOTE: If no arguments are specified, the defitions below are in effect.
+
+# TO DO
+# - Deuglifiy?
+# - Make source file type agnostic modelines?
+# - Too many/too few comments?
+# - Handle top level source directories with whitespace names? (Do they exist?)
+
+# Turn off globbing, helps with SourceFiles
+set -f
+
+# POSIX
+set -o posix
+
+# Change these to taste
+FirstLine='/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */'
+LastLine='/* vim:set shiftwidth=4 softtabstop=4 expandtab: */'
+SourceFiles='*.cxx *.cpp *.hxx *.hpp *.c *.h'
+
+# Set defaults (don't change these)
+ModelineReplace="false"
+
+# Functions
+
+function SetEnvironment()
+{
+ if [ -n "$(which tail)" -a -n "$(which head)" ]; then
+ {
+ headCMD=`which head`
+ tailCMD=`which tail`
+ }
+ else
+ {
+ echo "Missing head or tail, exiting..."
+ exit 1
+ }
+ fi
+ if [ -n "$(which find)" ]; then
+ findCMD=`which find`
+ else
+ {
+ echo "Missing find, exiting..."
+ exit 1
+ }
+ fi
+ if [ -n "$(which awk)" ]; then
+ awkCMD=`which awk`
+ else
+ {
+ echo "Missing awk, exiting..."
+ exit 1
+ }
+ fi
+}
+
+function EditFile()
+{
+ local FileToEdit
+ local currentFirstLine
+ local currentLastLine
+
+ FileToEdit="$1"
+
+ currentFirstLine=`$headCMD -1 "$FileToEdit"`
+ currentLastLine=`$tailCMD -1 "$FileToEdit"`
+
+ case "$ModelineReplace" in
+ "true" )
+ if [ "${currentFirstLIne:0:6}" = "${FirstLine:0:6}" ]; then
+ {
+ echo "$FirstLine" > "$FileToEdit".new
+ $tailCMD -n +2 "$FileToEdit" >> "$FileToEdit".new
+ }
+ fi
+ if [ -e "$FileToEdit.new" ]; then
+ {
+ echo "$LastLine" >> "$FileToEdit".new
+ }
+ fi
+ if [ "${currentLastLine:0:6}" = "${LastLine:0:6}" ]; then
+ {
+ $headCMD -n -1 "$FileToEdit" > "$FileToEdit".new
+ echo "$LastLine" >> "$FileToEdit".new
+ }
+ fi
+ mv "$FileToEdit".new "$FileToEdit"
+ echo "$FileToEdit updated" ;;
+ "false" )
+ if [ "${currentFirstLine:0:6}" != "${FirstLine:0:6}" ]; then
+ if [ "${currentLastLine:0:6}" != "${LastLine:0:6}" ]; then
+ {
+ echo "$FirstLine" > "$FileToEdit".new
+ cat "$FileToEdit" >> "$FileToEdit".new
+ if [ "x${currentLastLine}" != "x" ] ; then
+ echo "" >> "$FileToEdit".new
+ fi
+ echo "$LastLine" >> "$FileToEdit".new
+ mv "$FileToEdit".new "$FileToEdit"
+ echo "$FileToEdit updated"
+ }
+ fi
+ fi ;;
+ esac
+}
+
+function PrintUsage()
+{
+ echo "Usage: $0 [-z] [-s \"<sourcefile glob>\"] [-p <path to source>]"
+}
+
+# Main
+
+SetEnvironment
+
+# Get command line options
+
+while getopts "zs:p:" opt; do
+ case $opt in
+ z) ModelineReplace="true" ;;
+ s) SourceFiles="$OPTARG" ;;
+ p) findPath="$OPTARG" ;;
+ *) PrintUsage
+ exit 1 ;;
+ esac
+done
+
+if [ $OPTIND -gt 1 ]; then
+ shift $(($OPTIND - 1))
+fi
+
+if [ $# -gt 1 ]; then
+{
+ PrintUsage
+ echo "Remember to quote the source file globs after -s"
+ exit 1
+}
+fi
+
+# Create GNU find expressions that traverse the filesystem once and only once
+if [ -z "$findPath" ]; then
+ findArgs='.'
+ else
+ findArgs="$findPath"
+fi
+
+for FileType in ${SourceFiles}; do
+ findArgs="$findArgs"' ( -iname '"$FileType"' -print ) , '
+done
+
+# This gets rid of the final " , " in the find argument list
+findArgs="${findArgs:0:(${#findArgs}-2)}"
+
+for file in $($findCMD $findArgs); do
+ EditFile "$file"
+ echo "Completed: " "$file"
+done
+
+# vim:set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/solenv/bin/addsym-mingw.sh b/solenv/bin/addsym-mingw.sh
index f59dbf5e64b7..f59dbf5e64b7 100644..100755
--- a/solenv/bin/addsym-mingw.sh
+++ b/solenv/bin/addsym-mingw.sh
diff --git a/solenv/bin/addsym.awk b/solenv/bin/addsym.awk
index 621ca2e4bc42..de0b57934f7f 100644
--- a/solenv/bin/addsym.awk
+++ b/solenv/bin/addsym.awk
@@ -37,15 +37,11 @@ END {
print "UDK_3_0_0 {"
print "global:"
print "_ZTI*; _ZTS*; # weak RTTI symbols for C++ exceptions"
- if (ENVIRON["USE_SYSTEM_STL"] != "YES")
- print "_ZN4_STL7num_put*; # for STLport"
print "};"
}
}
state == 2 {
print "_ZTI*; _ZTS*; # weak RTTI symbols for C++ exceptions"
- if (ENVIRON["USE_SYSTEM_STL"] != "YES")
- print "_ZN4_STL7num_put*; # for STLport"
state = 3
}
# #i66636# - ???
diff --git a/solenv/bin/build.pl b/solenv/bin/build.pl
index d7e4ecb781ff..896d0095e4ac 100755
--- a/solenv/bin/build.pl
+++ b/solenv/bin/build.pl
@@ -43,6 +43,7 @@
use Fcntl;
use POSIX qw(:errno_h);
use Sys::Hostname;
+ use IPC::Open3;
use lib ("$ENV{SOLARENV}/bin/modules");
use SourceConfig;
@@ -54,15 +55,12 @@
unshift(@INC, "$ENV{COMMON_ENV_TOOLS}/modules");
$in_so_env++;
};
- if (defined $ENV{CWS_WORK_STAMP}) {
- require GenInfoParser; import GenInfoParser;
- require IO::Handle; import IO::Handle;
- };
my $verbose_mode = 0;
if (defined $ENV{verbose} || defined $ENV{VERBOSE}) {
$verbose_mode = ($ENV{verbose} =~ /^t\S*$/i);
}
my $enable_multiprocessing = 1;
+
### for XML file format
eval { require XMLBuildListParser; import XMLBuildListParser; };
my $enable_xml = 0;
@@ -73,17 +71,9 @@
};
#### script id #####
- ( my $script_name = $0 ) =~ s/^.*\b(\w+)\.pl$/$1/;
- my $id_str = ' $Revision: 275224 $ ';
- my $script_rev = 0;
- $id_str =~ /Revision:\s+(\S+)\s+\$/
- ? ($script_rev = $1) : ($script_rev = "-");
-
- print "$script_name -- version: $script_rev\n";
-
#########################
# #
-# Globale Variablen #
+# Global Variables #
# #
#########################
@@ -116,7 +106,7 @@
my %global_deps_hash = (); # hash of dependencies of the all modules
my %global_deps_hash_backup = (); # backup hash of external dependencies of the all modules
my %module_deps_hash_backup = (); # backup hash of internal dependencies for aech module
- my @broken_module_names = (); # array of modules, which cannot be built further
+ my @broken_modules_names = (); # array of modules, which cannot be built further
my @dmake_args = ();
my %dead_parents = ();
my $initial_module = '';
@@ -143,8 +133,7 @@
my %platforms = (); # platforms available or being working with
my %platforms_to_copy = (); # copy output trees for the platforms when --prepare
my $tmp_dir = get_tmp_dir(); # temp directory for checkout and other actions
-# $dmake_batch = undef; #
- my @possible_build_lists = ('build.lst', 'build.xlist'); # build lists names
+ my @possible_build_lists = ('gbuild.lst', 'build.lst', 'build.xlist'); # build lists names
my %build_list_paths = (); # build lists names
my %build_lists_hash = (); # hash of arrays $build_lists_hash{$module} = \($path, $xml_list_object)
my $pre_job = 'announce'; # job to add for not-single module build
@@ -159,15 +148,13 @@
my %build_in_progress_shown = (); # hash of modules being built,
# and shown last time (to keep order)
my $build_time = time;
- my $html_last_updated = 0;
my %jobs_hash = ();
my $html_path = undef;
my $build_finished = 0;
my $html_file = '';
- my %had_error = (); # hack for misteriuos windows problems - try run dmake 2 times if first time there was an error
+ my %had_error = (); # hack for mysterious windows problems - try run dmake 2 times if first time there was an error
my $mkout = correct_path("$ENV{SOLARENV}/bin/mkout.pl");
my %weights_hash = (); # hash contains info about how many modules are dependent from one module
-# %weight_stored = ();
my $grab_output = 1;
my $stop_build_on_error = 0; # for multiprocessing mode: do not build further module if there is an error
my $interactive = 0; # for interactive mode... (for testing purpose enabled by default)
@@ -195,11 +182,19 @@
my %add_to_config = ();
my %remove_from_config = ();
my $clear_config = 0;
- my $finisched_children = 0;
+ my $finished_children = 0;
my $debug = 0;
my %module_deps_hash_pids = ();
my @argv = @ARGV;
my $source_config_file;
+ my $zenity_pid = 0;
+ my $zenity_in = '';
+ my $zenity_out = '';
+ my $zenity_err = '';
+ my $allow_gbuild = 0;
+ my %is_gbuild = ();
+ my $verbose = 0;
+
my @modules_built = ();
my $deliver_command = $ENV{DELIVER};
my %prj_platform = ();
@@ -214,13 +209,14 @@
get_options();
-# my $temp_html_file = correct_path($tmp_dir. '/' . $ENV{INPATH}. '.build.html');
+ zenity_open();
+ zenity_tooltip("Starting build.");
+
get_build_modes();
my %deliver_env = ();
if ($prepare) {
get_platforms(\%platforms);
- $deliver_env{'BUILD_SOSL'}++;
$deliver_env{'COMMON_OUTDIR'}++;
$deliver_env{'GUI'}++;
$deliver_env{'INPATH'}++;
@@ -229,9 +225,11 @@
$deliver_env{'L10N_framework'}++;
};
my $workspace_path = get_workspace_path(); # This also sets $initial_module
+ my $build_error_log = Cwd::realpath(correct_path($workspace_path)) ."/build_error.log";
my $source_config = SourceConfig -> new($workspace_path);
check_partial_gnumake_build($initial_module);
+ system("rm -f $build_error_log");
if ($html) {
if (defined $html_path) {
$html_file = correct_path($html_path . '/' . $ENV{INPATH}. '.build.html');
@@ -252,7 +250,7 @@
get_module_and_buildlist_paths();
provide_consistency() if (defined $ENV{CWS_WORK_STAMP} && defined($ENV{COMMON_ENV_TOOLS}));
- $deliver_command .= ' -verbose' if ($html);
+ $deliver_command .= ' -verbose' if ($html || $verbose);
$deliver_command .= ' '. $dlv_switch if ($dlv_switch);
$ENV{mk_tmp}++;
@@ -262,7 +260,7 @@
if (open (CMD_FILE, ">>$cmd_file")) {
select CMD_FILE;
$echo = 'echo ';
- if ($ENV{GUI} ne 'UNX') {
+ if ($ENV{GUI_FOR_BUILD} ne 'UNX') {
$new_line = "echo.\n";
print "\@$echo off\npushd\n";
} else {
@@ -271,8 +269,6 @@
} else {
print_error ("Cannot open file $cmd_file");
};
-# } elsif ($show) {
-# select STDOUT;
};
print $new_line;
@@ -286,8 +282,6 @@
}
if (scalar keys %broken_build) {
cancel_build();
-# } elsif (!$custom_job && $post_custom_job) {
-# do_post_custom_job(correct_path($workspace_path.$initial_module));
};
print_warnings();
if (scalar keys %active_modules) {
@@ -306,7 +300,7 @@
print $new_line;
do_exit(1) if ($checkparents);
};
- if (($ENV{GUI} ne 'UNX') && $cmd_file) {
+ if (($ENV{GUI_FOR_BUILD} ne 'UNX') && $cmd_file) {
print "popd\n";
};
$ENV{mk_tmp} = '';
@@ -406,7 +400,6 @@ sub start_html_message_trigger {
if ($child_id) {
# parent
-# print "started listener trigger\n";
} else {
my $buffer_size = 1024;
my $buffer;
@@ -423,7 +416,6 @@ sub start_html_message_trigger {
if (connect(SOCKET, $paddr)) {
$full_buffer .= "\n";
syswrite SOCKET, $full_buffer, length $full_buffer;
-# close SOCKET or die "Child close socket: $!";
} else {
die "Child connect: $!";
};
@@ -440,10 +432,9 @@ sub get_html_orders {
my $full_buffer = '';
my %modules_to_rebuild = ();
my %modules_to_delete = ();
- while ($rv = sysread(HTML_PIPE, $buffer, $buffer_size)) {
- $full_buffer .= $buffer;
- };
-# };
+ while ($rv = sysread(HTML_PIPE, $buffer, $buffer_size)) {
+ $full_buffer .= $buffer;
+ };
my @html_messages = split(/\n/, $full_buffer);
foreach (@html_messages) {
if (/^html_port:(\d+)/) {
@@ -531,7 +522,6 @@ sub schedule_rebuild {
};
};
-
#
# procedure retrieves build list path
# (all possibilities are taken into account)
@@ -545,10 +535,17 @@ sub get_build_list_path {
my $possible_dir_path = $module_paths{$_}.'/prj/';
if (-d $possible_dir_path) {
foreach my $build_list (@possible_build_lists) {
- my $possible_build_list_path = correct_path($possible_dir_path . $build_list);
- if (-f $possible_build_list_path) {
- $build_list_paths{$module} = $possible_build_list_path;
- return $possible_build_list_path;
+ # if gbuild are allow we favor gbuild.lst as the build instruction
+ if($build_list ne "gbuild.lst" || $allow_gbuild) {
+ my $possible_build_list_path = correct_path($possible_dir_path . $build_list);
+ if (-f $possible_build_list_path) {
+ $build_list_paths{$module} = $possible_build_list_path;
+ if ($build_list eq "gbuild.lst") {
+# print "Using gmake for module $module\n";
+ $is_gbuild{$module} = 1;
+ };
+ return $possible_build_list_path;
+ };
};
}
print_error("There's no build list for $module");
@@ -628,7 +625,7 @@ sub expand_dependencies {
# This procedure fills the second hash with reversed dependencies,
# ie, with info about modules "waiting" for the module
#
-sub reverse_dependensies {
+sub reverse_dependencies {
my ($deps_hash, $reversed) = @_;
foreach my $module (keys %$deps_hash) {
foreach (keys %{$$deps_hash{$module}}) {
@@ -658,7 +655,7 @@ sub build_all {
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);
+ reverse_dependencies(\%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) {
@@ -685,7 +682,7 @@ sub build_all {
};
store_weights(\%global_deps_hash);
backup_deps_hash(\%global_deps_hash, \%global_deps_hash_backup);
- reverse_dependensies(\%global_deps_hash_backup, \%reversed_dependencies);
+ reverse_dependencies(\%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) {
@@ -757,6 +754,7 @@ sub dmake_dir {
my $job_name = shift;
$jobs_hash{$job_name}->{START_TIME} = time();
$jobs_hash{$job_name}->{STATUS} = 'building';
+
if ($job_name =~ /(\s)/o && (!-d $job_name)) {
$error_code = do_custom_job($job_name, \%local_deps_hash);
} else {
@@ -779,12 +777,20 @@ sub dmake_dir {
print "$dmake\n";
print $check_error_string;
} else {
- print "\n" if ( ! $show );
print "Entering $job_name\n";
};
remove_from_dependencies($job_name, \%local_deps_hash) if (!$child);
return if ($cmd_file || $show);
$error_code = run_job($dmake, $job_name);
+
+ #if dmake fails, have a go at regenerating the dependencies
+ #and try again. dmakes normal failure is 255, while death on signal is 254
+ my $real_exit_code = $error_code >> 8;
+ if (($ENV{GUI_FOR_BUILD} eq 'WNT') && ($real_exit_code == 255) && ($ENV{nodep} eq '') && ($ENV{depend} eq '')) {
+ print "Retrying $job_name\n";
+ $error_code = run_job($dmake, $job_name);
+ }
+
html_store_job_info(\%local_deps_hash, $job_name, $error_code) if (!$child);
};
@@ -873,7 +879,7 @@ sub get_prj_platform {
s/\r\n//;
$line++;
if ($_ =~ /\snmake\s/) {
- if ($' =~ /\s*-\s+(\w+)[,\S+]*\s+(\S+)/ ) {
+ if ($' =~ /\s*-\s+(\w+)[,\S+]*\s+(\S+)/ ) { #'
my $platform = $1;
my $alias = $2;
print_error ("There is no correct alias set in the line $line!") if ($alias eq 'NULL');
@@ -944,7 +950,6 @@ sub get_deps_hash {
};
my $build_list_ref = $build_lists_hash{$module_to_build};
-# delete $build_lists_hash{$module_to_build};
if (ref($build_list_ref) eq 'XMLBuildListParser') {
get_deps_from_object($module_to_build, $build_list_ref, $dependencies_hash);
} else {
@@ -966,7 +971,7 @@ sub get_deps_hash {
$platform = $1;
$dependencies = $';
while ($dependencies =~ /,(\w+)/o) {
- $dependencies = $';
+ $dependencies = $'; #'
};
$dependencies =~ /\s+(\S+)\s+/o;
$dir_alias = $1;
@@ -978,7 +983,7 @@ sub get_deps_hash {
delete $dead_dependencies{$dir_alias} if (defined $dead_dependencies{$dir_alias});
print_error("Directory alias $dir_alias is defined at least twice!! Please, correct build.lst in module $module_to_build") if (defined $$dependencies_hash{$dir_alias});
$platform_hash{$dir_alias}++;
- $dependencies = $';
+ $dependencies = $'; #'
print_error("$module_to_build/prj/build.lst has wrongly written dependencies string:\n$_\n") if (!$dependencies);
$deps_hash{$_}++ foreach (get_dependency_array($dependencies));
$$dependencies_hash{$dir_alias} = \%deps_hash;
@@ -1088,14 +1093,9 @@ sub correct_path {
sub check_dmake {
-#print "Checking dmake...";
if (open(DMAKEVERSION, "dmake -V |")) {
-# if (open(DMAKEVERSION, "dmake -V |")) {
my @dmake_version = <DMAKEVERSION>;
close DMAKEVERSION;
-# if ($dmake_version[0] =~ /^dmake\s\-\sCopyright\s\(c\)/) {
-# print " Using version $1\n" if ($dmake_version[0] =~ /Version\s(\d+\.*\d*)/);
-# };
return;
};
my $error_message = 'dmake: Command not found.';
@@ -1113,7 +1113,7 @@ sub get_commands {
check_dmake();
if ($cmd_file) {
- if ($ENV{GUI} eq 'UNX') {
+ if ($ENV{GUI_FOR_BUILD} eq 'UNX') {
$check_error_string = "if \"\$?\" != \"0\" exit\n";
} else {
$check_error_string = "if \"\%?\" != \"0\" quit\n";
@@ -1125,7 +1125,7 @@ sub get_commands {
while ($arg = pop(@dmake_args)) {
$dmake .= ' '.$arg;
};
- $dmake .= ' verbose=true' if ($html);
+ $dmake .= ' verbose=true' if ($html || $verbose);
};
#
@@ -1172,7 +1172,6 @@ sub check_platform {
return 1 if ($platform eq 'all');
return 1 if (($ENV{GUI} eq 'WIN') && ($platform eq 'w'));
return 1 if (($ENV{GUI} eq 'UNX') && ($platform eq 'u'));
- return 1 if (($ENV{GUI} eq 'OS2') && ($platform eq 'p'));
return 1 if (($ENV{GUI} eq 'WNT') &&
(($platform eq 'w') || ($platform eq 'n')));
return 0;
@@ -1350,7 +1349,7 @@ sub get_dependency_array {
print_error("Project $prj has wrongly written dependencies string:\n $string") if (!$dep_string);
$dep_string =~ /(\S+)\s*/o;
$parent_prj = $1;
- $dep_string = $';
+ $dep_string = $'; #'
if ($parent_prj =~ /\.(\w+)$/o) {
$parent_prj = $`;
if (($prj_platform{$parent_prj} ne $1) &&
@@ -1404,7 +1403,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 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 "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] [--verbose]\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";
@@ -1447,6 +1446,7 @@ sub usage {
print STDERR " --stoponerror - stop build when error occurs (for mp builds)\n";
print STDERR " --interactive - start interactive build process (process can be managed via html page)\n";
+ print STDERR " --verbose - generates a detailed output of the build process\n";
print STDERR " Custom jobs:\n";
print STDERR " --job=job_string - execute custom job in (each) module. job_string is a shell script/command to be executed instead of regular dmake jobs\n";
print STDERR " --pre_job=pre_job_string - execute preliminary job in (each) module. pre_job_string is a shell script/command to be executed before regular job in the module\n";
@@ -1469,9 +1469,10 @@ sub get_options {
$arg =~ /^--checkmodules$/ and $checkparents = 1 and $ignore = 1 and next;
$arg =~ /^-s$/ and $show = 1 and next;
$arg =~ /^--deliver$/ and $deliver = 1 and next;
+ $arg =~ /^--gmake$/ and $allow_gbuild = 1 and print "ALLOW GBUILD" and next;
$arg =~ /^(--job=)/ and $custom_job = $' and next;
$arg =~ /^(--pre_job=)/ and $pre_custom_job = $' and next;
- $arg =~ /^(--post_job=)/ and $post_custom_job = $' and next;
+ $arg =~ /^(--post_job=)/ and $post_custom_job = $' and next; #'
$arg =~ /^-d$/ and $deliver = 1 and next;
$arg =~ /^--dlv_switch$/ and $dlv_switch = shift @ARGV and next;
$arg =~ /^--file$/ and $cmd_file = shift @ARGV and next;
@@ -1537,6 +1538,7 @@ sub get_options {
$arg =~ /^--mode$/ and get_modes() and next;
$arg =~ /^--stoponerror$/ and $stop_build_on_error = 1 and next;
$arg =~ /^--interactive$/ and $interactive = 1 and next;
+ $arg =~ /^--verbose$/ and $verbose = 1 and next;
if ($arg =~ /^--$/) {
push (@dmake_args, get_dmake_args()) if (!$custom_job);
next;
@@ -1553,7 +1555,6 @@ sub get_options {
$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) {
$processes_to_run = 0;
@@ -1620,11 +1621,12 @@ sub get_module_and_buildlist_paths {
$source_config_file = $source_config->get_config_file_path();
$active_modules{$_}++ foreach ($source_config->get_active_modules());
my %active_modules_copy = %active_modules;
- foreach ($source_config->get_all_modules()) {
- delete $active_modules_copy{$_} if defined($active_modules_copy{$_});
- next if ($_ eq $initial_module);
- $module_paths{$_} = $source_config->get_module_path($_);
- $build_list_paths{$_} = $source_config->get_module_build_list($_)
+ foreach my $module ($source_config->get_all_modules()) {
+ delete $active_modules_copy{$module} if defined($active_modules_copy{$module});
+ next if ($module eq $initial_module);
+ $module_paths{$module} = $source_config->get_module_path($module);
+ $build_list_paths{$module} = $source_config->get_module_build_list($module);
+ $is_gbuild{$module} = $source_config->{GBUILD};
}
$dead_parents{$_}++ foreach (keys %active_modules_copy);
};
@@ -1664,46 +1666,60 @@ sub get_switch_options {
# cancel build when one of children has error exit code
#
sub cancel_build {
-# close_server_socket();
- my $broken_modules_number = scalar @broken_module_names;
- my $message_part = 'build ';
- if (scalar keys %incompatibles) {
- my @incompatible_modules = keys %incompatibles;
- if ($stop_build_on_error) {
- $message_part .= "--from @incompatible_modules:@broken_module_names\n";
- } else {
- $message_part .= "--from @broken_module_names\n";
- };
- } else {
- if ($processes_to_run) {
- $message_part .= "--from ";
- } else {
- $message_part .= "--all:";
- };
- $message_part .= "@broken_module_names\n";
+ my $broken_modules_number = scalar @broken_modules_names;
- };
- if ($broken_modules_number && $build_all_parents) {
- print STDERR "\n";
- print STDERR $broken_modules_number;
- print STDERR " module(s): ";
- foreach (@broken_module_names) {
- print STDERR "\n\t$_";
- };
- print STDERR "\nneed(s) to be rebuilt\n\nReason(s):\n\n";
- foreach (keys %broken_build) {
- print STDERR "ERROR: error " . $broken_build{$_} . " occurred while making $_\n";
- };
- print STDERR "\nAttention: if you fix the errors in above module(s) you may prolongue your the build issuing command:\n\n\t" . $message_part;
- } else {
+ print STDERR "\n";
+ print STDERR "-----------------------------------------------------------------------\n";
+ print STDERR " Oh dear - something failed during the build - sorry !\n";
+ print STDERR " For more help with debugging build errors, please see the section in:\n";
+ print STDERR " http://wiki.documentfoundation.org/Development\n";
+ print STDERR "\n";
+
+ if (!$broken_modules_number || !$build_all_parents) {
while (children_number()) {
handle_dead_children(1);
}
+ }
+
+ if (keys %broken_build) {
+ print STDERR " internal build errors:\n\n";
foreach (keys %broken_build) {
print STDERR "ERROR: error " . $broken_build{$_} . " occurred while making $_\n";
};
- };
- print "\n";
+ print STDERR "\n";
+ }
+
+ my $module = shift @broken_modules_names;
+ if ($broken_modules_number > 1) {
+ print STDERR " it seems you are using a threaded build, which means that the\n";
+ print STDERR " actual compile error is probably hidden far above, and could be\n";
+ print STDERR " inside any of these other modules:\n";
+ print STDERR " @broken_modules_names\n";
+ print STDERR " please re-run build inside each one to isolate the problem.\n";
+ } else {
+ print STDERR " it seems that the error is inside '$module', please re-run build\n";
+ print STDERR " inside this module to isolate the error and/or test your fix:\n";
+ }
+ print STDERR "-----------------------------------------------------------------------\n";
+ print STDERR "\n";
+ print STDERR "rm -Rf " . $ENV{'SRC_ROOT'} . "/$module/" . $ENV{'INPATH'} . " # optional module 'clean'\n";
+ print STDERR "" . $ENV{'OOO_SHELL'} . "\n";
+ print STDERR "cd " . $ENV{'SRC_ROOT'} . "\n";
+ print STDERR "source ./" . $ENV{'ENV_SCRIPT'} . "\n";
+ print STDERR "cd $module\n";
+ if (is_gnumake_module($module))
+ {
+ print STDERR "$ENV{GNUMAKE} -r\n"
+ }
+ else
+ {
+ print STDERR "build\n";
+ }
+ print STDERR "\n";
+ print STDERR "when the problem is isolated and fixed exit and re-run 'make' from the top-level\n";
+ zenity_message("LibreOffice Build Failed!");
+ zenity_close();
+
do_exit(1);
};
@@ -1713,8 +1729,15 @@ sub cancel_build {
sub store_error {
my ($pid, $error_code) = @_;
return 0 if (!$error_code);
+
+ #we don't care if zenity itself crashes, e.g. rhbz#670895
+ if (zenity_enabled()) {
+ return 0 if ($zenity_pid == $pid);
+ }
+
my $child_nick = $processes_hash{$pid};
- if ($ENV{GUI} eq 'WNT') {
+
+ if ($ENV{GUI_FOR_BUILD} eq 'WNT') {
if (!defined $had_error{$child_nick}) {
$had_error{$child_nick}++;
return 1;
@@ -1756,14 +1779,14 @@ sub handle_dead_children {
} else {
clear_from_child($pid);
};
- $finisched_children++;
+ $finished_children++;
};
} while(children_number() >= $processes_to_run);
};
sub give_second_chance {
my $pid = shift;
- # A malicious hack for misterious windows problems - try 2 times
+ # A malicious hack for mysterious windows problems - try 2 times
# to run dmake in the same directory if errors occurs
my $child_nick = $processes_hash{$pid};
$running_children{$folders_hashes{$child_nick}}--;
@@ -1829,7 +1852,7 @@ sub build_dependent {
mp_success_exit();
} else {
if (dmake_dir($child_nick)) {
- push(@broken_module_names, $module_by_hash{$dependencies_hash});
+ push(@broken_modules_names, $module_by_hash{$dependencies_hash});
cancel_build();
};
};
@@ -1891,7 +1914,7 @@ sub build_multiprocessing {
my $prj;
do {
my $got_module = 0;
- $finisched_children = 0;
+ $finished_children = 0;
while ($prj = pick_prj_to_build(\%global_deps_hash)) {
if (!defined $projects_deps_hash{$prj}) {
$projects_deps_hash{$prj} = {};
@@ -1905,8 +1928,7 @@ sub build_multiprocessing {
};
if (!$got_module) {
cancel_build() if ((!scalar keys %module_build_queue) && !children_number());
- if (!$finisched_children) {
-# print "#### 1979: Starting waiting for dead child\n";
+ if (!$finished_children) {
handle_dead_children(1);
};
};
@@ -1915,7 +1937,6 @@ sub build_multiprocessing {
# Let the last module be built till the end
while (scalar keys %module_build_queue) {
build_actual_queue(\%module_build_queue);
-# print "#### 1988: Starting waiting for dead child\n";
handle_dead_children(1);
};
# Let all children finish their work
@@ -1927,12 +1948,10 @@ sub build_multiprocessing {
};
sub mp_success_exit {
-# close_server_socket();
-# if (!$custom_job && $post_custom_job) {
-# do_post_custom_job(correct_path($workspace_path.$initial_module));
-# };
print "\nMultiprocessing build is finished\n";
print "Maximal number of processes run: $maximal_processes\n";
+ zenity_message("LibreOffice Build Success!");
+ zenity_close();
do_exit(0);
};
@@ -1959,7 +1978,7 @@ sub build_actual_queue {
return;
};
if (defined $modules_with_errors{$projects_deps_hash{$prj}} && !$ignore) {
- push (@broken_module_names, $prj);
+ push (@broken_modules_names, $prj);
delete $$build_queue{$prj};
next;
};
@@ -1997,19 +2016,23 @@ sub run_job {
chdir $path;
getcwd();
- if ($html) {
- my $log_file = $jobs_hash{$registered_name}->{LONG_LOG_PATH};
- my $log_dir = File::Basename::dirname($log_file);
- if (!-d $log_dir) {
- system("$perl $mkout");
- };
- $error_code = system ("$job_to_do > $log_file 2>&1");
- if (!$grab_output && -f $log_file) {
- system("cat $log_file");
- };
- } else {
- $error_code = system ("$job_to_do");
+ my $log_file = $jobs_hash{$registered_name}->{LONG_LOG_PATH};
+ my $log_dir = File::Basename::dirname($log_file);
+ if (!-d $log_dir) {
+ system("$perl $mkout");
};
+ open (MAKE, "$job_to_do 2>&1 |") or return 8;
+ open (LOGFILE, "> $log_file") or return 8;
+ while (<MAKE>) { print LOGFILE $_; print $_ }
+ close MAKE;
+ $error_code = $?;
+ close LOGFILE;
+ if ( $error_code != 0)
+ {
+ system("echo \"log for $path\" >> $build_error_log");
+ system("cat $log_file >> $build_error_log");
+ }
+
return $error_code;
};
@@ -2017,18 +2040,17 @@ sub do_custom_job {
my ($module_job, $dependencies_hash) = @_;
$module_job =~ /(\s)/o;
my $module = $`;
- my $job = $';
+ my $job = $'; #'
html_store_job_info($dependencies_hash, $module_job);
my $error_code = 0;
if ($job eq $pre_job) {
announce_module($module);
-# html_store_job_info($dependencies_hash, $job_dir);
remove_from_dependencies($module_job, $dependencies_hash);
} else {
$error_code = run_job($job, $module_paths{$module}, $module_job);
if ($error_code) {
# give windows one more chance
- if ($ENV{GUI} eq 'WNT') {
+ if ($ENV{GUI_FOR_BUILD} eq 'WNT') {
$error_code = run_job($job, $module_paths{$module}, $module_job);
};
};
@@ -2082,9 +2104,55 @@ sub print_announce {
$announce_string .= $echo . $text;
$announce_string .= $echo . "=============\n";
print $announce_string;
+ my $total_modules = scalar(keys %build_lists_hash);
+ my $modules_started = scalar(keys %module_announced) + 1;
+ zenity_tooltip("($modules_started/$total_modules) $text");
$module_announced{$prj}++;
};
+sub zenity_enabled {
+ return 0 if ($ENV{ENABLE_ZENITY} ne "TRUE");
+ return 0 if (!defined $ENV{DISPLAY});
+ return 1 if ($ENV{DISPLAY} =~ m/^:/); # local displays only
+ return 0;
+}
+
+sub zenity_open {
+ if (zenity_enabled()) {
+ $SIG{PIPE} = 'IGNORE';
+ $zenity_pid = open3($zenity_in, $zenity_out, $zenity_err,
+ "zenity --notification --listen");
+ };
+};
+
+sub zenity_close {
+ if (zenity_enabled()) {
+ sleep(1); # Give Zenity a chance to show the message.
+ close($zenity_in);
+ };
+};
+
+sub zenity_icon {
+ if (zenity_enabled()) {
+ my $filename = shift;
+ print $zenity_in "icon: $filename\n";
+ };
+};
+
+sub zenity_tooltip {
+ if (zenity_enabled()) {
+ my $text = shift;
+ print $zenity_in "tooltip: LibreOffice Build: $text\n";
+ };
+};
+
+sub zenity_message {
+ if (zenity_enabled()) {
+ my $text = shift;
+ print $zenity_in "message: $text\n";
+ };
+};
+
sub are_all_dependent {
my $build_queue = shift;
my $folder = '';
@@ -2139,21 +2207,6 @@ sub provide_consistency {
};
#
-# Get the workspace list ('stand.lst'), either from 'localini'
-# or, if this is not possible, from 'globalini.
-# (Heiner's proprietary :)
-#
-sub get_workspace_lst
-{
- my $home = $ENV{HOME};
- my $inifile = $ENV{HOME}. '/localini/stand.lst';
- if (-f $inifile) {
- return $inifile;
- };
- return '';
-}
-
-#
# Procedure clears up module for incompatible build
#
sub ensure_clear_module {
@@ -2186,13 +2239,11 @@ sub clear_module {
next if (/^\.+$/);
my $dir = correct_path($module_paths{$module}.'/'.$_);
if ((!-d $dir.'/.svn') && is_output_tree($dir)) {
- #print "I would delete $dir\n";
rmtree("$dir", 0, 1);
if (-d $dir) {
system("$remove_command $dir");
if (-d $dir) {
push(@warnings, "Cannot delete $dir");
-#print_error("Cannot delete $dir");
} else {
print STDERR (">>> Removed $dir by force\n");
};
@@ -2244,7 +2295,6 @@ sub retrieve_build_list {
my $solver_inc_dir = "$ENV{SOLARVER}/$ENV{OUTPATH}";
$solver_inc_dir .= $ENV{PROEXT} if (defined $ENV{PROEXT});
$solver_inc_dir .= '/inc';
- $solver_inc_dir .= $ENV{UPDMINOREXT} if (defined $ENV{UPDMINOREXT});
$solver_inc_dir .= "/$module";
$solver_inc_dir = correct_path($solver_inc_dir);
$dead_parents{$module}++;
@@ -2275,7 +2325,6 @@ sub prepare_build_from_with_branches {
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;
};
};
@@ -2343,7 +2392,7 @@ sub prepare_incompatible_build {
print "WARNING(S):\n";
print STDERR "$_\n" foreach (@warnings);
print "\nATTENTION: If you are performing an incompatible build, please break the build with Ctrl+C and prepare the workspace with \"--prepare\" switch!\n\n" if (!$prepare);
- sleep(10);
+ sleep(5);
};
if ($prepare) {
print "\nPreparation finished";
@@ -2416,9 +2465,6 @@ sub get_list_of_modules {
};
};
};
-# if (!scalar %$hash_ref) {
-# print_error('No module list supplied!!');
-# };
};
sub get_modules_passed {
@@ -2432,34 +2478,13 @@ sub get_modules_passed {
if ($option =~ /(:)/) {
$option = $`;
print_error("\'--from\' switch collision") if ($build_all_cont);
- $build_all_cont = $';
+ $build_all_cont = $'; #'
};
$$hash_ref{$option}++;
};
};
};
-sub get_workspace_platforms {
- my $workspace_patforms = shift;
- my $solver_path = $ENV{SOLARVERSION};
- opendir(SOLVERDIR, $solver_path);
- my @dir_list = readdir(SOLVERDIR);
- close SOLVERDIR;
- foreach (@dir_list) {
- next if /^common/;
- next if /^\./;
- if (open(LS, "ls $solver_path/$_/inc/*minor.mk 2>$nul |")) {
- foreach my $string (<LS>) {
- chomp $string;
- if ($string =~ /minor.mk$/) {
- $$workspace_patforms{$_}++
- };
- };
- close LS;
- };
- };
-};
-
sub get_platforms {
my $platforms_ref = shift;
if ($only_platform) {
@@ -2469,27 +2494,6 @@ sub get_platforms {
$platforms_ref = \%platforms_to_copy;
};
- my $workspace_lst = get_workspace_lst();
- if ($workspace_lst) {
- my $workspace_db;
- eval { $workspace_db = GenInfoParser->new(); };
- if (!$@) {
- my $success = $workspace_db->load_list($workspace_lst);
- if ( !$success ) {
- print_error("Can't load workspace list '$workspace_lst'.", 4);
- }
- my $access_path = $ENV{WORK_STAMP} . '/Environments';
- my @platforms_available = $workspace_db->get_keys($access_path);
- my $solver = $ENV{SOLARVERSION};
- foreach (@platforms_available) {
- my $s_path = $solver . '/' . $_;
- $$platforms_ref{$_}++ if (-d $s_path);
- };
- } else {
- get_workspace_platforms(\%platforms);
- };
- };
-
if (!scalar keys %platforms) {
# An Auses wish - fallback to INPATH for new platforms
if (defined $ENV{INPATH}) {
@@ -2528,7 +2532,6 @@ sub clear_delivered {
};
};
my $undeliver = "$deliver_command $deliver_delete_switches $nul";
-# my $current_dir = getcwd();
foreach my $module (sort @modules_built) {
if (chdir($module_paths{$module})) {
print "Removing delivered from module $module\n";
@@ -2541,8 +2544,6 @@ sub clear_delivered {
push(@warnings, "Could not remove delivered files from the module $module. Your build can become inconsistent.\n");
};
};
-# chdir $current_dir;
-# getcwd();
};
$ENV{$_} = $backup_vars{$_} foreach (keys %backup_vars);
};
@@ -2567,12 +2568,11 @@ sub read_ssolar_vars {
$platform = $`;
};
- my ($verswitch, $source_root, $cwsname);
- $verswitch = "-ver $ENV{UPDMINOR}" if (defined $ENV{UPDMINOR});
+ my ($source_root, $cwsname);
$source_root = '-sourceroot' if (defined $ENV{SOURCE_ROOT_USED});
my $cws_name = "-cwsname $ENV{CWS_WORK_STAMP}" if (defined $ENV{CWS_WORK_STAMP});
- my $param = "-$ENV{WORK_STAMP} $verswitch $source_root $cws_name $pro $platform";
+ my $param = "-$ENV{WORK_STAMP} $source_root $cws_name $pro $platform";
my $ss_command = "$perl $setsolar -file $tmp_file $param $nul";
if (system($ss_command)) {
unlink $tmp_file;
@@ -2587,7 +2587,7 @@ sub read_ssolar_vars {
sub get_solar_vars {
my ($solar_vars, $file) = @_;
my ($var, $value);
- open SOLARTABLE, "<$file" or die "can´t open solarfile $file";
+ open SOLARTABLE, "<$file" or die "can't open solarfile $file";
while(<SOLARTABLE>) {
s/\r\n//o;
next if(!/^\w+\s+(\w+)/o);
@@ -2675,15 +2675,9 @@ sub pick_for_build_type {
};
sub do_exit {
-# close_server_socket();
my $exit_code = shift;
$build_finished++;
generate_html_file(1);
- if ( $^O eq 'os2' )
- {
- # perl 5.10 returns 'resource busy' for rmtree
- rmdir(correct_path($tmp_dir)) if ($tmp_dir);
- }
rmtree(correct_path($tmp_dir), 0, 0) if ($tmp_dir);
print STDERR "Cannot delete $tmp_dir. Please remove it manually\n" if (-d $tmp_dir);
exit($exit_code);
@@ -2721,7 +2715,6 @@ sub generate_html_file {
return if (!$html);
my $force_update = shift;
$force_update++ if ($debug);
- $html_last_updated = time;
my @modules_order = sort_modules_appearance();
my ($successes_percent, $errors_percent) = get_progress_percentage(scalar keys %html_info, scalar keys %build_is_finished, scalar keys %modules_with_errors);
my $build_duration = get_time_line(time - $build_time);
@@ -2807,9 +2800,6 @@ sub generate_html_file {
print HTML $errors_number;
print HTML ' error(s)\">', $_, '</a>");' . "\n";
} else {
-# print HTML 'document.write("<em style=color:gray>' . $_ . '</em>");';
-#### print HTML 'document.write("<em style=color:gray>' . $_ ."href=\'http://$local_host_ip:$html_port/delete=\'$_". '</em>");';
-
print HTML 'document.write(" <a target=\'infoframe\' id=';
print HTML $_;
print HTML ' href=\"javascript:void(0)\"; title=\"Remove module\">' . $_ . '</a>");' . "\n";
@@ -3168,7 +3158,6 @@ sub get_html_info {
}
} else {
return(undef, undef, 0, 0, 0, '-');
-# $dirs_info_line .= 'No information available yet';
};
$dirs_info_line =~ s/(<br>)*$//o;
$dirs_info_line .= '\'';
@@ -3183,13 +3172,9 @@ sub get_html_info {
$errors_info_line .= 'No errors';
};
$errors_info_line .= '\'';
-# if (defined $full_info) {
my $time_line = get_time_line($$module_info_hash{BUILD_TIME});
- my ($successes_percent, $errors_percent) = get_progress_percentage($dirs_number - 1, $successful_number - 1, $errorful_number);
- return($errors_info_line, $dirs_info_line, $errorful_number, $successes_percent, $errors_percent, $time_line);
-# } else {
-# return($errors_info_line, $dirs_info_line, $errorful_number);
-# };
+ my ($successes_percent, $errors_percent) = get_progress_percentage($dirs_number - 1, $successful_number - 1, $errorful_number);
+ return($errors_info_line, $dirs_info_line, $errorful_number, $successes_percent, $errors_percent, $time_line);
};
sub get_time_line {
@@ -3252,7 +3237,7 @@ sub start_server_on_port {
my $port = shift;
my $socket_obj = shift;
$client_timeout = 1 if (!$parent_process);
- if ($ENV{GUI} eq 'WNT') {
+ if ($ENV{GUI_FOR_BUILD} eq 'WNT') {
$$socket_obj = new IO::Socket::INET (#LocalAddr => hostname(),
LocalPort => $port,
Proto => 'tcp',
@@ -3303,8 +3288,6 @@ sub check_client_jobs {
delete $processes_hash{$_};
delete $clients_jobs{$_};
delete $clients_times{$_};
-# } else {
-# print time - $clients_times{$_} . "\n";
};
};
};
@@ -3329,10 +3312,6 @@ sub run_server {
if ($error) {
print STDERR "port $_: $error\n";
} else {
-# $SIG{KILL} = \&stop_server;
-# $SIG{INT} = \&stop_server;
-# $SIG{TERM} = \&stop_server;
-# $SIG{QUIT} = \&stop_server;
last;
};
};
@@ -3357,7 +3336,7 @@ sub run_server {
my %client_hash = ();
foreach (@client_data) {
/(=)/;
- $client_hash{$`} = $';
+ $client_hash{$`} = $'; #'
}
my $pid = $client_hash{pid} . '@' . $client_host;
if (defined $client_hash{platform}) {
@@ -3368,7 +3347,6 @@ sub run_server {
};
} else {
if ($client_hash{result} eq "0") {
-# print "$clients_jobs{$pid} succedded on $pid\n";
} else {
print "Error $client_hash{result}\n";
if (store_error($pid, $client_hash{result})) {
@@ -3394,7 +3372,6 @@ sub run_server {
$job_string = $lost_jobs[0];
delete $lost_client_jobs{$lost_jobs[0]};
} else {
-# $job_string = get_job_string(\@build_queue, $pid);
$job_string = get_job_string(\@build_queue);
};
if ($job_string) {
@@ -3456,10 +3433,8 @@ sub get_job_string {
$jobs_hash{$job_dir}->{START_TIME} = time();
$jobs_hash{$job_dir}->{STATUS} = 'building';
if ($job_dir =~ /(\s)$pre_job/o) {
-# if ($' eq $pre_job) {
- do_custom_job($job_dir, $dependencies_hash);
- $job_dir = '';
-# }
+ do_custom_job($job_dir, $dependencies_hash);
+ $job_dir = '';
};
} while (!$job_dir);
};
@@ -3468,8 +3443,15 @@ sub get_job_string {
my $log_file = $jobs_hash{$job_dir}->{LONG_LOG_PATH};
my $full_job_dir = $job_dir;
if ($job_dir =~ /(\s)/o) {
- $job = $';
- $job = $deliver_command if ($job eq $post_job);
+ $job = $'; #'
+ print $echo . "determine if we need to deliver $job_dir\n";
+ if ($job eq $post_job) {
+ if( $is_gbuild{$job_dir} ) {
+ print "Skip deliver for gmake-built module $job_dir\n";
+ return'';
+ };
+ $job = $deliver_command
+ };
$full_job_dir = $module_paths{$`};
}
my $log_dir = File::Basename::dirname($log_file);
@@ -3490,7 +3472,7 @@ sub pick_jobdir {
my $prj = $$build_queue[$i];
my $prj_deps_hash = $projects_deps_hash{$prj};
if (defined $modules_with_errors{$prj_deps_hash} && !$ignore) {
- push (@broken_module_names, $prj);
+ push (@broken_modules_names, $prj);
splice (@$build_queue, $i, 1);
next;
};
@@ -3540,8 +3522,8 @@ sub check_partial_gnumake_build {
print "This module has been migrated to GNU make.\n";
print "You can only use build --all/--since here with build.pl.\n";
print "To do the equivalent of 'build && deliver' call:\n";
- print "\tmake -sr\n";
- print "in the module root (This will modify the solver).\n";
+ print "\t$ENV{GNUMAKE} -r\n";
+ print "in the module root.\n";
exit 1;
}
}
diff --git a/solenv/bin/build_client.pl b/solenv/bin/build_client.pl
index 54a5c4f84de2..f518f8198dcc 100755
--- a/solenv/bin/build_client.pl
+++ b/solenv/bin/build_client.pl
@@ -59,7 +59,6 @@ my $processes_to_run = 1;
my %hosts_ports = ();
my $default_port = 7890;
my @ARGV_COPY = @ARGV; # @ARGV BACKUP
-#$ARGV_COPY{$_}++ foreach (@ARGV);
print "arguments: @ARGV\n";
get_options();
@@ -149,7 +148,6 @@ sub run_client {
# "active" cycle
foreach my $active_server (keys %active_servers) {
foreach my $active_port (keys %{$active_servers{$active_server}}) {
-# print "Active: $active_server:$active_port\n";
my $iaddr = inet_aton($active_server);
$paddr = sockaddr_in($active_port, $iaddr);
do {
@@ -172,7 +170,6 @@ sub run_client {
};
# "inactive" cycle
-# print "Inactive: $current_server:$current_port\n";
my $iaddr = inet_aton($current_server);
$paddr = sockaddr_in($current_port, $iaddr);
do {
@@ -275,7 +272,7 @@ sub request_job {
$message = "platform=$ENV_BACKUP{OUTPATH} pid=$$ osname=$^O" if (!$message);
# create the socket, connect to the port
socket(SOCKET, PF_INET, SOCK_STREAM, $proto) or die "socket: $!";
- connect(SOCKET, $paddr) or return '';#die "connect: $!";
+ connect(SOCKET, $paddr) or return '';
my $error_code = 1;
$message .= "\n";
syswrite SOCKET, $message, length $message;
@@ -373,8 +370,6 @@ sub do_job {
getcwd();
my $job_string = $job_hash{job} . ' > ' . $tmp_log_file . ' 2>&1';
$error_code = system($job_string);
-# rename($tmp_log_file, $job_hash{log}) or system("mv", $tmp_log_file, $job_hash{log});
-# delete $job_temp_files{$tmp_log_file};# = $job_hash{log};
};
rename($tmp_log_file, $job_hash{log}) or system("mv", $tmp_log_file, $job_hash{log});
delete $job_temp_files{$tmp_log_file};
@@ -417,7 +412,7 @@ sub print_error {
exit(1);
};
sub store_env_hash {
- my $ss_setenv_file = shift;#($$job_hash{server_pid}.$$job_hash{setsolar_cmd}, $cmd_file);
+ my $ss_setenv_file = shift;
my %solar_vars = ();
my $cmd_file = File::Temp::tmpnam($ENV_BACKUP{TMP});
my $env_vars_file = File::Temp::tmpnam($ENV_BACKUP{TMP});
diff --git a/solenv/bin/checkdll.sh b/solenv/bin/checkdll.sh
index efafb6b8ef60..538a9c5fb513 100755
--- a/solenv/bin/checkdll.sh
+++ b/solenv/bin/checkdll.sh
@@ -33,7 +33,7 @@ set -- `getopt "L:" "$@"` || {
exit 1
}
-checkdll="$SOLARVERSION/$INPATH/bin$UPDMINOREXT/checkdll"
+checkdll="$SOLARVERSION/$INPATH/bin/checkdll"
if [ -x $checkdll ]; then
while :
@@ -56,6 +56,11 @@ if [ -x $checkdll ]; then
*) DYLD_LIBRARY_PATH=$libpath;;
esac
export DYLD_LIBRARY_PATH;;
+ AIX) case "${LIBPATH:+X}" in
+ X) LIBPATH=$libpath:$LIBPATH;;
+ *) LIBPATH=$libpath;;
+ esac
+ export LIBPATH;;
*) case "${LD_LIBRARY_PATH:+X}" in
X) LD_LIBRARY_PATH=$libpath:$LD_LIBRARY_PATH;;
*) LD_LIBRARY_PATH=$libpath;;
@@ -77,6 +82,14 @@ if [ -x $checkdll ]; then
fi
else
echo "WARNING: checkdll not found!" 1>&2
+
+ for parameter in $*; do
+ library=$parameter;
+ done
+ realname=`echo $library | sed "s/check_//"`
+ if [ $library != $realname ]; then
+ mv $library $realname
+ fi
fi
exit 0
diff --git a/solenv/bin/cleanzip.pl b/solenv/bin/cleanzip.pl
index 8103a13945b1..5e1502b76611 100755
--- a/solenv/bin/cleanzip.pl
+++ b/solenv/bin/cleanzip.pl
@@ -46,16 +46,11 @@ unless ( $zip->read( $filename ) == AZ_OK ) {
my @members = $zip ->members();
foreach my $member ( @members ) {
-# printf ( "%o\n",$member->unixFileAttributes());
-# printf ( "%o\n",$member->unixFileAttributes() & 0b111111111111);
my $attribs = $member->unixFileAttributes();
if ( $member->isDirectory ) {
$attribs = $attribs & 0b101111111111;
$member->unixFileAttributes($attribs)
}
-# printf ( "%o\n",$member->unixFileAttributes());
-# printf ( "%o\n",$member->unixFileAttributes() & 0b111111111111);
-# print ( $member->fileName()."\n");
}
unless ( $zip->writeToFileNamed( ${filename}."_new" ) == AZ_OK ) {
die "$0: ERROR reading ${filename}_new\n";
diff --git a/solenv/bin/clipatchconfig.pl b/solenv/bin/clipatchconfig.pl
index 365e0bb14950..49fecd9e8b41 100644
--- a/solenv/bin/clipatchconfig.pl
+++ b/solenv/bin/clipatchconfig.pl
@@ -27,7 +27,6 @@
use warnings;
use strict;
-# use diagnostics;
sub trim;
sub readRedirectionValues($);
@@ -52,7 +51,6 @@ if (scalar @ARGV < 3) {
my %redirectionValue = readRedirectionValues($ARGV[1]);
-#print "|$_| |$redirectionValue{$_}|\n", for keys %redirectionValue;
#Read config file in which we will replace the versions
diff --git a/solenv/bin/converttags.pl b/solenv/bin/converttags.pl
deleted file mode 100644
index aa2fe63c6ce8..000000000000
--- a/solenv/bin/converttags.pl
+++ /dev/null
@@ -1,94 +0,0 @@
-#
-# converttags - a perl script to coonvert some predefined tags
-# to user specified values
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-
-if($#ARGV == -1)
-{
- die "No parameters were specified.\nperl converttags.pl <mode> <title> <productname> [<color1>] [<color2>] file_1 [... file_n]\n";
-}
-if($#ARGV < 2)
-{
- die "No file were specified -> no file must be converted!\n";
-}
-
-# mode = 1 -> convert
-# = 2 -> exit without conversion
-$mode = shift @ARGV;
-
-$title = shift @ARGV;
-$productname = shift @ARGV;
-
-$color1 = "";
-$color2 = "";
-
-if( $mode =~ s/2/$1/go )
-{
- exit 0;
-}
-
-if( $ARGV[0] =~ s/(#[\w]{6})/$1/go )
-{
- $color1 = shift @ARGV;
-}
-if( $ARGV[0] =~ s/(#[\w]{6})/$1/go )
-{
- $color2 = shift @ARGV;
-}
-
-print "$title\n";
-print "$productname\n";
-print "$color1\n";
-print "$color2\n";
-
-$return = 0;
-
-while (@ARGV)
-{
- my $lineCount = 0;
- $ARGV = shift @ARGV;
- print "convert tags: $ARGV ";
-
- open ( FILEIN, $ARGV ) || die "could not open $ARGV for reading";
- @lines = <FILEIN>;
- close( FILEIN );
- open( FILEOUT, ">$ARGV.tmp" ) || die "could not open $ARGV.tmp for writing";
-
-
- foreach $_ (@lines)
- {
- $lineCount++;
- if ( $lineCount == 10 )
- {
- $lineCount = 0;
- print ".";
- }
- # change [TITLE] tag
- s#\[TITLE\]#$title#go;
-
- # change [PRODUCTNAME] tag
- s#\[PRODUCTNAME\]#$productname#go;
-
- # change color #003399 to #$color1 if color1 was specified!
- if ( ! "$color1" eq "" )
- {
- s/#003399/$color1/go;
- }
-
- # change color #99CCFF to #$color2 if color2 was specified!
- if ( ! "$color2" eq "" )
- {
- s/#99CCFF/$color2/go;
- }
- print FILEOUT $_;
- }
- print " OK\n";
-
- close FILEOUT;
- chmod 0666, $ARGV;
- rename "$ARGV.tmp", $ARGV || die "could not rename $ARGV.tmp to $ARGV";
-}
-
-exit $return;
diff --git a/solenv/bin/create-ids b/solenv/bin/create-ids
new file mode 100755
index 000000000000..868d88526c76
--- /dev/null
+++ b/solenv/bin/create-ids
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+# create ID file for the whole LibO tree. run it in toplevel dir
+
+. ./*.Set.sh
+
+dirs="*/$INPATH/inc */$INPATH/misc/build `ls -d */* | sed -e '/\(clone\/\|\/\(common\|unxlng\|unxsol\|unxmac\|wntmsc\|Jamfile\|cscope\.\|tags\|ID\)\)\|^solver\//d'`"
+mkid --lang-map=`dirname $0`/id-lang.map --include='C C++ asm perl make' --statistics $dirs
diff --git a/solenv/bin/create-tags b/solenv/bin/create-tags
new file mode 100755
index 000000000000..12280f62101c
--- /dev/null
+++ b/solenv/bin/create-tags
@@ -0,0 +1,9 @@
+#!/usr/bin/env sh
+
+. ./*.Set.sh
+
+omnicppoptions="--c++-kinds=+p --fields=+iaS --extra=+q"
+ctags -h "+.hdl.hrc" --langmap=c:+.hdl.hrc.src $omnicppoptions \
+ --languages=-HTML,Java \
+ -R --exclude=`echo ${INPATH} | sed 's/\./\\\./g'` --exclude=binfilter --exclude=solver \
+ --exclude=clone --exclude=install --totals=yes --sort=foldcase *
diff --git a/solenv/bin/createpdbrelocators.pl b/solenv/bin/createpdbrelocators.pl
index 75047f3952f5..d32dd7d84508 100644..100755
--- a/solenv/bin/createpdbrelocators.pl
+++ b/solenv/bin/createpdbrelocators.pl
@@ -57,22 +57,13 @@ $id_str =~ /Revision:\s+(\S+)\s+\$/
print "$script_name -- version: $script_rev\n";
my $inpath = $ENV{INPATH};
-my $milestone = $ENV{UPDMINOR};
-my $milestoneext = $ENV{UPDMINOREXT};
-if ( $ARGV[0] ) {
- if ( $milestone && ( $milestone ne $ARGV[0] ) ) {
- die "Error: specified milestone $ARGV[0] does not match your environment";
- }
- $milestone = $ARGV[0];
-}
-
-if ( !$inpath || !$milestone ) {
- print STDERR "$script_name: INAPTH or UPDMINOR not set!\n";
+if ( !$inpath ) {
+ print STDERR "$script_name: INAPTH not set!\n";
exit(1);
}
my $relocators = CreatePDBRelocators->new();
-my $rc = $relocators->create_pdb_relocators($inpath, $milestoneext, "");
+my $rc = $relocators->create_pdb_relocators($inpath, "", "");
if ( !$rc ) {
print STDERR "$script_name: creating PDB relocators failed!\n";
diff --git a/solenv/bin/cws b/solenv/bin/cws
deleted file mode 100755
index e8bcf5060f39..000000000000
--- a/solenv/bin/cws
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-if [ x${SOLARENV}x = xx ]; then
- echo No environment found, please use 'configure'
- exit 1
-fi
-exec perl -w $SOLARENV/bin/cws.pl "$@"
diff --git a/solenv/bin/cws.btm b/solenv/bin/cws.btm
deleted file mode 100644
index 31bff3ab2d0f..000000000000
--- a/solenv/bin/cws.btm
+++ /dev/null
@@ -1,11 +0,0 @@
-@echo off
-iff "%SOLARENV%" == "" then
- echo No environment found, please use 'configure' or 'setsolar'
- goto end
-endiff
-iff "%PERL%" == "" then
- call perl5 -I%SOLARENV%\bin\modules %SOLARENV%\bin\cws.pl %1&
-else
- call %PERL% -I%SOLARENV%\bin\modules %SOLARENV%\bin\cws.pl %1&
-endiff
-:end
diff --git a/solenv/bin/cws.pl b/solenv/bin/cws.pl
deleted file mode 100644
index 62a6b2763761..000000000000
--- a/solenv/bin/cws.pl
+++ /dev/null
@@ -1,2116 +0,0 @@
-#!/usr/bin/perl -w
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-#*************************************************************************
-#
-# cws.pl - wrap common childworkspace operations
-#
-use strict;
-use Getopt::Long;
-use File::Basename;
-use File::Path;
-use File::Copy;
-use Cwd;
-use Benchmark;
-
-#### module lookup
-my @lib_dirs;
-BEGIN {
- if ( !defined($ENV{SOLARENV}) ) {
- die "No environment found (environment variable SOLARENV is undefined)";
- }
- push(@lib_dirs, "$ENV{SOLARENV}/bin/modules");
-}
-use lib (@lib_dirs);
-
-use Cws;
-
-#### script id #####
-
-( my $script_name = $0 ) =~ s/^.*\b(\w+)\.pl$/$1/;
-
-#### globals ####
-
-# TODO: replace dummy vales with actual source_config migration milestone
-my $ooo320_source_config_milestone = 'm999';
-
-# valid command with possible abbreviations
-my @valid_commands = (
- 'help', 'h', '?',
- 'create',
- 'fetch', 'f',
- 'query', 'q',
- 'task', 't',
- 'eisclone',
- 'setcurrent'
- );
-
-# list the valid options to each command
-my %valid_options_hash = (
- 'help' => ['help'],
- 'create' => ['help', 'milestone', 'migration', 'hg'],
- 'fetch' => ['help', 'milestone', 'childworkspace','platforms','noautocommon',
- 'quiet', 'onlysolver', 'additionalrepositories'],
- 'query' => ['help', 'milestone','masterworkspace','childworkspace'],
- 'task' => ['help'],
- 'setcurrent' => ['help', 'milestone'],
- 'eisclone' => ['help']
- );
-
-my %valid_commands_hash;
-for (@valid_commands) {
- $valid_commands_hash{$_}++;
-}
-
-# set by --debug switch
-my $debug = 0;
-# set by --profile switch
-my $profile = 0;
-
-
-#### main ####
-
-my ($command, $args_ref, $options_ref) = parse_command_line();
-dispatch_command($command, $args_ref, $options_ref);
-exit(0);
-
-#### subroutines ####
-
-# Parses the command line. does prelimiary argument and option verification
-sub parse_command_line
-{
- if (@ARGV == 0) {
- usage();
- exit(1);
- }
-
- my %options_hash;
- Getopt::Long::Configure ("no_auto_abbrev", "no_ignorecase");
- my $success = GetOptions(\%options_hash, 'milestone|m=s',
- 'masterworkspace|master|M=s',
- 'hg',
- 'migration',
- 'childworkspace|child|c=s',
- 'debug',
- 'profile',
- 'commit|C',
- 'platforms|p=s',
- 'additionalrepositories|r=s',
- 'noautocommon|x=s',
- 'onlysolver|o',
- 'quiet|q',
- 'help|h'
- );
-
- my $command = shift @ARGV;
-
- if (!exists $valid_commands_hash{$command}) {
- print_error("Unkown command: '$command'\n");
- usage();
- exit(1);
- }
-
- if ($command eq 'h' || $command eq '?') {
- $command = 'help';
- }
- elsif ($command eq 'f') {
- $command = 'fetch';
- }
- elsif ($command eq 'q') {
- $command = 'query';
- }
- elsif ($command eq 't') {
- $command = 'task';
- }
-
- # An unkown option might be accompanied with a valid command.
- # Show the command specific help
- if ( !$success ) {
- do_help([$command])
- }
-
- verify_options($command, \%options_hash);
- return ($command, \@ARGV, \%options_hash);
-}
-
-# Verify options against the valid options list.
-sub verify_options
-{
- my $command = shift;
- my $options_ref = shift;
-
- my $valid_command_options_ref = $valid_options_hash{$command};
-
- my %valid_command_options_hash;
- foreach (@{$valid_command_options_ref}) {
- $valid_command_options_hash{$_}++;
- }
-
- # check all specified options against the valid options for the sub command
- foreach (keys %{$options_ref}) {
- if ( /debug/ ) {
- $debug = 1;
- next;
- }
- if ( /profile/ ) {
- $profile = 1;
- next;
- }
- if (!exists $valid_command_options_hash{$_}) {
- print_error("can't use option '--$_' with subcommand '$command'.", 1);
- }
- }
-
-}
-
-# Dispatches to the do_xxx() routines depending on command.
-sub dispatch_command
-{
- my $command = shift;
- my $args_ref = shift;
- my $options_ref = shift;
-
- no strict 'refs';
- &{"do_".$command}($args_ref, $options_ref);
-}
-
-# Returns the global cws object.
-BEGIN {
-my $the_cws;
-
- sub get_this_cws {
- if (!defined($the_cws)) {
- $the_cws = Cws->new();
- return $the_cws;
- }
- else {
- return $the_cws;
- }
- }
-}
-
-# Returns a list of the master workspaces.
-sub get_master_workspaces
-{
- my $cws = get_this_cws();
- my @masters = $cws->get_masters();
-
- return wantarray ? @masters : \@masters;
-}
-
-# Checks if master argument is a valid MWS name.
-BEGIN {
- my %master_hash;
-
- sub is_master
- {
- my $master_name = shift;
-
- if (!%master_hash) {
- my @masters = get_master_workspaces();
- foreach (@masters) {
- $master_hash{$_}++;
- }
- }
- return exists $master_hash{$master_name} ? 1 : 0;
- }
-}
-
-# Fetches the current CWS from environment, returns a Cws object
-sub get_cws_from_environment
-{
- my $child = $ENV{CWS_WORK_STAMP};
- my $master = $ENV{WORK_STAMP};
-
- if ( !$child ) {
- print_error("Environment variable CWS_WORK_STAMP is not set. Please set it to your CWS name.", 2);
- }
-
- if ( !$master ) {
- print_error("Environment variable WORK_STAMP is not set. Please set it to the MWS name.", 2);
- }
-
- my $cws = get_this_cws();
- $cws->child($child);
- $cws->master($master);
-
- # Check if we got a valid child workspace.
- my $id = $cws->eis_id();
- if ( $debug ) {
- print STDERR "CWS-DEBUG: ... master: $master, child: $child, $id\n";
- }
- if ( !$id ) {
- print_error("Child workspace $child for master workspace $master not found in EIS database.", 2);
- }
- return ($cws);
-}
-
-# Fetches the CWS by name, returns a Cws object
-sub get_cws_by_name
-{
- my $child = shift;
-
- my $cws = get_this_cws();
- $cws->child($child);
-
- # Check if we got a valid child workspace.
- my $id = $cws->eis_id();
- if ( $debug ) {
- print STDERR "CWS-DEBUG: child: $child, $id\n";
- }
- if ( !$id ) {
- print_error("Child workspace $child not found in EIS database.", 2);
- }
-
- # Update masterws part of Cws object.
- my $masterws = $cws->get_mws();
- if ( $cws->master() ne $masterws ) {
- # can this still happen?
- if ( $debug ) {
- print STDERR "CWS-DEBUG: get_cws_by_name(): fixup of masterws in cws object detected\n";
- }
- $cws->master($masterws);
- }
- return ($cws);
-}
-
-# Register child workspace with eis.
-sub register_child_workspace
-{
- my $cws = shift;
- my $scm = shift;
- my $is_promotion = shift;
-
- my $milestone = $cws->milestone();
- my $child = $cws->child();
- my $master = $cws->master();
-
- # TODO: introduce a EIS_USER in the configuration, which should be used here
- my $config = CwsConfig->new();
- my $vcsid = $config->vcsid();
- # TODO: there is no real need for socustom anymore, should go ASAP
- my $socustom = $config->sointernal();
-
- if ( !$vcsid ) {
- if ( $socustom ) {
- print_error("Can't determine owner for CWS '$child'. Please set VCSID environment variable.", 11);
- }
- else {
- print_error("Can't determine owner for CWS '$child'. Please set CVS_ID entry in \$HOME/.cwsrc.", 11);
- }
- }
-
- if ( $is_promotion ) {
- my $rc = $cws->set_scm($scm);
- if ( !$rc ) {
- print_error("Failed to set the SCM property '$scm' on child workspace '$child'.\nContact EIS administrator!\n", 12);
- }
-
- $rc = $cws->promote($vcsid, "");
-
- if ( !$rc ) {
- print_error("Failed to promote child workspace '$child' to status 'new'.\n", 12);
- }
- else {
- print "\n***** Successfully ***** promoted child workspace '$child' to status 'new'.\n";
- print "Milestone: '$milestone'.\n";
- }
- }
- else {
-
- my $eis_id = $cws->register($vcsid, "");
-
- if ( !defined($eis_id) ) {
- print_error("Failed to register child workspace '$child' for master '$master'.", 12);
- }
- else {
- my $rc = $cws->set_scm($scm);
- if ( !$rc ) {
- print_error("Failed to set the SCM property '$scm' on child workspace '$child'.\nContact EIS administrator!\n", 12);
- }
- print "\n***** Successfully ***** registered child workspace '$child'\n";
- print "for master workspace '$master' (milestone '$milestone').\n";
- print "Child workspace Id: $eis_id.\n";
- }
- }
- return 0;
-}
-
-sub print_time_elapsed
-{
- my $t_start = shift;
- my $t_stop = shift;
-
- my $time_diff = timediff($t_stop, $t_start);
- print_message("... finished in " . timestr($time_diff));
-}
-
-sub hgrc_append_push_path_and_hooks
-{
- my $target = shift;
- my $cws_source = shift;
-
- $cws_source =~ s/http:\/\//ssh:\/\/hg@/;
- if ( $debug ) {
- print STDERR "CWS-DEBUG: hgrc_append_push_path_and_hooks(): default-push path: '$cws_source'\n";
- }
- if ( !open(HGRC, ">>$target/.hg/hgrc") ) {
- print_error("Can't append to hgrc file of repository '$target'.\n", 88);
- }
- print HGRC "default-push = " . "$cws_source\n";
- print HGRC "[extensions]\n";
- print HGRC "hgext.win32text=\n";
- print HGRC "[hooks]\n";
- print HGRC "# Reject commits which would introduce windows-style CR/LF files\n";
- print HGRC "pretxncommit.crlf = python:hgext.win32text.forbidcrlf\n";
- close(HGRC);
-}
-
-sub hg_clone_cws_or_milestone
-{
- my $rep_type = shift;
- my $cws = shift;
- my $target = shift;
- my $clone_milestone_only = shift;
-
- my ($hg_local_source, $hg_lan_source, $hg_remote_source);
- my $config = CwsConfig->new();
-
- $hg_local_source = $config->get_hg_source(uc $rep_type, 'LOCAL');
- $hg_lan_source = $config->get_hg_source(uc $rep_type, 'LAN');
- $hg_remote_source = $config->get_hg_source(uc $rep_type, 'REMOTE');
-
- my $masterws = $cws->master();
- my ($master_local_source, $master_lan_source);
-
- $master_local_source = "$hg_local_source/" . $masterws;
- $master_lan_source = "$hg_lan_source/" . $masterws;
-
- my $milestone_tag;
- if ( $clone_milestone_only ) {
- $milestone_tag = uc($masterws) . '_' . $clone_milestone_only;
- }
- else {
- my @tags = $cws->get_tags();
- $milestone_tag = $tags[3];
- }
-
- if ( $debug ) {
- print STDERR "CWS-DEBUG: master_local_source: '$master_local_source'\n";
- print STDERR "CWS-DEBUG: master_lan_source: '$master_lan_source'\n";
- if ( !-d $master_local_source ) {
- print STDERR "CWS-DEBUG: not a directory '$master_local_source'\n";
- }
- }
-
- my $pull_from_remote = 0;
- my $cws_remote_source;
- if ( !$clone_milestone_only ) {
- if ($rep_type eq "ooo" || $rep_type eq "so")
- {
- $cws_remote_source = "$hg_remote_source/cws/" . $cws->child();
- }
- # e.g. cws_l10n
- else
- {
- $cws_remote_source = "$hg_remote_source/cws_".$rep_type."/" . $cws->child();
- }
-
- # The outgoing repository might not yet be available. Which is not
- # an error. Since pulling from the cws outgoing URL results in an ugly
- # and hardly understandable error message, we check for availibility
- # first. TODO: incorporate configured proxy instead of env_proxy. Use
- # a dedicated request and content-type to find out if the repo is there
- # instead of parsing the content of the page
- print_message("... check availibility of 'outgoing' repository '$cws_remote_source'.");
- require LWP::Simple;
- my $content = LWP::Simple::get($cws_remote_source);
- my $pattern = "<title>cws/". $cws->child();
- my $pattern2 = "<title>cws_".$rep_type."/". $cws->child();
- if ( $content && ($content =~ /$pattern/ || $content =~ /$pattern2/) ) {
- $pull_from_remote = 1;
- }
- else {
- print_message("... 'outgoing' repository '$cws_remote_source' is not accessible/available yet.");
- }
- }
-
- # clone repository (without working tree if we still need to pull from remote)
- my $clone_with_update = !$pull_from_remote;
- hg_clone_repository($master_local_source, $master_lan_source, $target, $milestone_tag, $clone_with_update);
-
- # now pull from the remote cws outgoing repository if its already available
- if ( $pull_from_remote ) {
- hg_remote_pull_repository($cws_remote_source, $target);
- }
-
- # if we fetched a CWS adorn the result with push-path and hooks
- if ( $cws_remote_source ) {
- hgrc_append_push_path_and_hooks($target, $cws_remote_source);
- }
-
- # update the result if necessary
- if ( !$clone_with_update ) {
- hg_update_repository($target);
- }
-
-}
-
-sub hg_clone_repository
-{
- my $local_source = shift;
- my $lan_source = shift;
- my $dest = shift;
- my $milestone_tag = shift;
- my $update = shift;
-
- my $t1 = Benchmark->new();
- my $source;
- my $clone_option = $update ? '' : '-U ';
- if ( -d $local_source && can_use_hardlinks($local_source, $dest) ) {
- $source = $local_source;
- if ( !hg_milestone_is_latest_in_repository($local_source, $milestone_tag) ) {
- $clone_option .= "-r $milestone_tag";
- }
- print_message("... clone LOCAL repository '$local_source' to '$dest'");
- }
- else {
- $source = $lan_source;
- $clone_option .= "-r $milestone_tag";
- print_message("... clone LAN repository '$lan_source' to '$dest'");
- }
- hg_clone($source, $dest, $clone_option);
-
- my $t2 = Benchmark->new();
- print_time_elapsed($t1, $t2) if $profile;
-}
-
-sub hg_remote_pull_repository
-{
- my $remote_source = shift;
- my $dest = shift;
-
- my $t1 = Benchmark->new();
- print_message("... pull from REMOTE repository '$remote_source' to '$dest'");
- hg_pull($dest, $remote_source);
- my $t2 = Benchmark->new();
- print_time_elapsed($t1, $t2) if $profile;
-}
-
-sub hg_update_repository
-{
- my $dest = shift;
-
- my $t1 = Benchmark->new();
- print_message("... update repository '$dest'");
- hg_update($dest);
- my $t2 = Benchmark->new();
- print_time_elapsed($t1, $t2) if $profile;
-}
-
-sub hg_milestone_is_latest_in_repository
-{
- my $repository = shift;
- my $milestone_tag = shift;
-
- # Our milestone is the lastest thing in the repository
- # if the parent of the repository tip is adorned
- # with the milestone tag.
- my $tags_of_parent_of_tip = hg_parent($repository, 'tip', "--template='{tags}\\n'");
- if ( $tags_of_parent_of_tip =~ /\b$milestone_tag\b/ ) {
- return 1;
- }
- return 0;
-}
-
-# Check if clone source and destination are on the same filesystem,
-# in that case hg clone can employ hard links.
-sub can_use_hardlinks
-{
- my $source = shift;
- my $dest = shift;
-
- if ( $^O eq 'cygwin' ) {
- # no hard links on windows
- return 0;
- }
- # st_dev is the first field return by stat()
- my @stat_source = stat($source);
- my @stat_dest = stat(dirname($dest));
-
- if ( $debug ) {
- my $source_result = defined($stat_source[0]) ? $stat_source[0] : 'stat failed';
- my $dest_result = defined($stat_dest[0]) ? $stat_dest[0] : 'stat failed';
- print STDERR "CWS-DEBUG: can_use_hardlinks(): source device: '$stat_source[0]', destination device: '$stat_dest[0]'\n";
- }
- if ( defined($stat_source[0]) && defined($stat_dest[0]) && $stat_source[0] == $stat_dest[0] ) {
- return 1;
- }
- return 0;
-}
-
-sub query_cws
-{
- my $query_mode = shift;
- my $options_ref = shift;
- # get master and child workspace
- my $masterws = exists $options_ref->{'masterworkspace'} ? uc($options_ref->{'masterworkspace'}) : $ENV{WORK_STAMP};
- my $childws = exists $options_ref->{'childworkspace'} ? $options_ref->{'childworkspace'} : $ENV{CWS_WORK_STAMP};
- my $milestone = exists $options_ref->{'milestone'} ? $options_ref->{'milestone'} : 'latest';
-
- if ( !defined($masterws) && $query_mode ne 'masters') {
- print_error("Can't determine master workspace environment.\n", 30);
- }
-
- if ( ($query_mode eq 'integratedinto' || $query_mode eq 'incompatible' || $query_mode eq 'taskids' || $query_mode eq 'status' || $query_mode eq 'current' || $query_mode eq 'owner' || $query_mode eq 'qarep' || $query_mode eq 'issubversion' || $query_mode eq 'ispublic' || $query_mode eq 'build') && !defined($childws) ) {
- print_error("Can't determine child workspace environment.\n", 30);
- }
-
- my $cws = Cws->new();
- if ( defined($childws) ) {
- $cws->child($childws);
- }
- if ( defined($masterws) ) {
- $cws->master($masterws);
- }
-
- no strict;
- &{"query_".$query_mode}($cws, $milestone);
- return;
-}
-
-sub query_integratedinto
-{
- my $cws = shift;
-
- if ( is_valid_cws($cws) ) {
- my $milestone = $cws->get_milestone_integrated();
- print_message("Integrated into:");
- print defined($milestone) ? "$milestone\n" : "unkown\n";
- }
- return;
-}
-
-sub query_incompatible
-{
- my $cws = shift;
-
- if ( is_valid_cws($cws) ) {
- my @modules = $cws->incompatible_modules();
- print_message("Incompatible Modules:");
- foreach (@modules) {
- if ( defined($_) ) {
- print "$_\n";
- }
- }
- }
- return;
-}
-
-sub query_taskids
-{
- my $cws = shift;
-
- if ( is_valid_cws($cws) ) {
- my @taskids = $cws->taskids();
- print_message("Task ID(s):");
- foreach (@taskids) {
- if ( defined($_) ) {
- print "$_\n";
- }
- }
- }
- return;
-}
-
-sub query_status
-{
- my $cws = shift;
-
- if ( is_valid_cws($cws) ) {
- my $status = $cws->get_approval();
- if ( !$status ) {
- print_error("Internal error: can't get approval status.", 3);
- } else {
- print_message("Approval status:");
- print "$status\n";
- }
- }
- return;
-}
-
-sub query_scm
-{
- my $cws = shift;
- my $masterws = $cws->master();
- my $childws = $cws->child();
-
- if ( is_valid_cws($cws) ) {
- my $scm = $cws->get_scm();
- if ( !defined($scm) ) {
- print_error("Internal error: can't retrieve scm info.", 3);
- } else {
- print_message("Child workspace uses '$scm'.");
- }
- }
- return;
-}
-
-sub query_ispublic
-{
- my $cws = shift;
- my $masterws = $cws->master();
- my $childws = $cws->child();
-
- if ( is_valid_cws($cws) ) {
- my $ispublic = $cws->get_public_flag();
- if ( !defined($ispublic) ) {
- print_error("Internal error: can't get isPublic flag.", 3);
- } else {
- if ( $ispublic==1 ) {
- print_message("Child workspace is public");
- } else {
- print_message("Child workspace is internal");
- }
- }
- }
-
- return;
-}
-
-sub query_current
-{
- my $cws = shift;
-
- if ( is_valid_cws($cws) ) {
- my $milestone = $cws->milestone();
- if ( !$milestone ) {
- print_error("Internal error: can't get current milestone.", 3);
- } else {
- print_message("Current milestone:");
- print "$milestone\n";
- }
- }
- return;
-}
-
-sub query_owner
-{
- my $cws = shift;
-
- if ( is_valid_cws($cws) ) {
- my $owner = $cws->get_owner();
- print_message("Owner:");
- if ( !$owner ) {
- print "not set\n" ;
- } else {
- print "$owner\n";
- }
- }
- return;
-}
-
-sub query_qarep
-{
- my $cws = shift;
-
- if ( is_valid_cws($cws) ) {
- my $qarep = $cws->get_qarep();
- print_message("QA Representative:");
- if ( !$qarep ) {
- print "not set\n" ;
- } else {
- print "$qarep\n";
- }
- }
- return;
-}
-
-
-sub query_build
-{
- my $cws = shift;
-
- if ( is_valid_cws($cws) ) {
- my $build = $cws->get_build();
- print_message("Build:");
- if ( $build ) {
- print "$build\n";
- }
- }
- return;
-}
-
-sub query_latest
-{
- my $cws = shift;
-
- my $masterws = $cws->master();
- my $latest = $cws->get_current_milestone($masterws);
-
-
- if ( $latest ) {
- print_message("Master workspace '$masterws':");
- print_message("Latest milestone available for update:");
- print "$masterws $latest\n";
- }
- else {
- print_error("Can't determine latest milestone of '$masterws' available for update.", 3);
- }
-
- return;
-}
-
-sub query_masters
-{
- my $cws = shift;
-
- my @mws = $cws->get_masters();
- my $list="";
-
- if ( @mws ) {
- foreach (@mws) {
- if ( $list ne "" ) {
- $list .= ", ";
- }
- $list .= $_;
- }
- print_message("Master workspaces available: $list");
- }
- else {
- print_error("Can't determine masterworkspaces.", 3);
- }
-
- return;
-}
-
-sub query_milestones
-{
- my $cws = shift;
- my $masterws = $cws->master();
-
- my @milestones = $cws->get_milestones($masterws);
- my $list="";
-
- if ( @milestones ) {
- foreach (@milestones) {
- if ( $list ne "" ) {
- $list .= ", ";
- }
- $list .= $_;
- }
- print_message("Master workspace '$masterws':");
- print_message("Milestones known on Master: $list");
- }
- else {
- print_error("Can't determine milestones of '$masterws'.", 3);
- }
-
- return;
-}
-
-sub query_ispublicmaster
-{
- my $cws = shift;
- my $masterws = $cws->master();
-
- my $ispublic = $cws->get_publicmaster_flag();
- my $list="";
-
- if ( defined($ispublic) ) {
- print_message("Master workspace '$masterws':");
- if ( !defined($ispublic) ) {
- print_error("Internal error: can't get isPublicMaster flag.", 3);
- } else {
- if ( $ispublic==1 ) {
- print_message("Master workspace is public");
- } else {
- print_message("Master workspace is internal");
- }
- }
- }
- else {
- print_error("Can't determine isPublicMaster flag of '$masterws'.", 3);
- }
-
- return;
-}
-
-sub query_buildid
-{
- my $cws = shift;
- my $milestone = shift;
-
- my $masterws = $cws->master();
- if ( $milestone eq 'latest' ) {
- $milestone = $cws->get_current_milestone($masterws);
- }
-
- if ( !$milestone ) {
- print_error("Can't determine latest milestone of '$masterws'.", 3);
- }
-
- if ( !$cws->is_milestone($masterws, $milestone) ) {
- print_error("Milestone '$milestone' is no a valid milestone of '$masterws'.", 3);
- }
-
- my $buildid = $cws->get_buildid($masterws, $milestone);
-
-
- if ( $buildid ) {
- print_message("Master workspace '$masterws':");
- print_message("BuildId for milestone '$milestone':");
- print("$buildid\n");
- }
-
- return;
-}
-
-sub query_integrated
-{
- my $cws = shift;
- my $milestone = shift;
-
- my $masterws = $cws->master();
- if ( $milestone eq 'latest' ) {
- $milestone = $cws->get_current_milestone($masterws);
- }
-
- if ( !$milestone ) {
- print_error("Can't determine latest milestone of '$masterws'.", 3);
- }
-
- if ( !$cws->is_milestone($masterws, $milestone) ) {
- print_error("Milestone '$milestone' is no a valid milestone of '$masterws'.", 3);
- }
-
- my @integrated_cws = $cws->get_integrated_cws($masterws, $milestone);
-
-
- if ( @integrated_cws ) {
- print_message("Master workspace '$masterws':");
- print_message("Integrated CWSs for milestone '$milestone':");
- foreach (@integrated_cws) {
- print "$_\n";
- }
- }
-
- return;
-}
-
-sub query_approved
-{
- my $cws = shift;
-
- my $masterws = $cws->master();
-
- my @approved_cws = $cws->get_cws_with_state($masterws, 'approved by QA');
-
- if ( @approved_cws ) {
- print_message("Master workspace '$masterws':");
- print_message("CWSs approved by QA:");
- foreach (@approved_cws) {
- print "$_\n";
- }
- }
-
- return;
-}
-
-sub query_nominated
-{
- my $cws = shift;
-
- my $masterws = $cws->master();
-
- my @nominated_cws = $cws->get_cws_with_state($masterws, 'nominated');
-
- if ( @nominated_cws ) {
- print_message("Master workspace '$masterws':");
- print_message("Nominated CWSs:");
- foreach (@nominated_cws) {
- print "$_\n";
- }
- }
-
- return;
-}
-
-sub query_ready
-{
- my $cws = shift;
-
- my $masterws = $cws->master();
-
- my @ready_cws = $cws->get_cws_with_state($masterws, 'ready for QA');
-
- if ( @ready_cws ) {
- print_message("Master workspace '$masterws':");
- print_message("CWSs ready for QA:");
- foreach (@ready_cws) {
- print "$_\n";
- }
- }
-
- return;
-}
-
-sub query_new
-{
- my $cws = shift;
-
- my $masterws = $cws->master();
-
- my @ready_cws = $cws->get_cws_with_state($masterws, 'new');
-
- if ( @ready_cws ) {
- print_message("Master workspace '$masterws':");
- print_message("CWSs with state 'new':");
- foreach (@ready_cws) {
- print "$_\n";
- }
- }
-
- return;
-}
-
-sub query_planned
-{
- my $cws = shift;
-
- my $masterws = $cws->master();
-
- my @ready_cws = $cws->get_cws_with_state($masterws, 'planned');
-
- if ( @ready_cws ) {
- print_message("Master workspace '$masterws':");
- print_message("CWSs with state 'planned':");
- foreach (@ready_cws) {
- print "$_\n";
- }
- }
-
- return;
-}
-
-sub is_valid_cws
-{
- my $cws = shift;
-
- my $masterws = $cws->master();
- my $childws = $cws->child();
- # check if we got a valid child workspace
- my $id = $cws->eis_id();
- if ( !$id ) {
- print_error("Child workspace '$childws' for master workspace '$masterws' not found in EIS database.", 2);
- }
- print STDERR "Master workspace '$masterws', child workspace '$childws'\n";
- return 1;
-}
-
-sub query_release
-{
- my $cws = shift;
-
- if ( is_valid_cws($cws) ) {
- my $release = $cws->get_release();
- print_message("Release target:");
- if ( !$release ) {
- print "not set\n";
- } else {
- print "$release\n";
- }
- }
- return;
-}
-
-sub query_due
-{
- my $cws = shift;
-
- if ( is_valid_cws($cws) ) {
- my $due = $cws->get_due_date();
- print_message("Due date:");
- if ( !$due ) {
- print "not set\n";
- } else {
- print "$due\n";
- }
- }
- return;
-}
-
-sub query_due_qa
-{
- my $cws = shift;
-
- if ( is_valid_cws($cws) ) {
- my $due_qa = $cws->get_due_date_qa();
- print_message("Due date (QA):");
- if ( !$due_qa ) {
- print "not set\n";
- } else {
- print "$due_qa\n";
- }
- }
- return;
-}
-
-sub query_help
-{
- my $cws = shift;
-
- if ( is_valid_cws($cws) ) {
- my $help = $cws->is_helprelevant();
- print_message("Help relevant:");
- if ( !$help ) {
- print "false\n";
- } else {
- print "true\n";
- }
- }
- return;
-}
-
-sub query_ui
-{
- my $cws = shift;
-
- if ( is_valid_cws($cws) ) {
- my $help = $cws->is_uirelevant();
- print_message("UI relevant:");
- if ( !$help ) {
- print "false\n";
- } else {
- print "true\n";
- }
- }
- return;
-}
-
-sub verify_milestone
-{
- my $cws = shift;
- my $qualified_milestone = shift;
-
- my $invalid = 0;
- my ($master, $milestone);
- $invalid++ if $qualified_milestone =~ /-/;
-
- if ( $qualified_milestone =~ /:/ ) {
- ($master, $milestone) = split(/:/, $qualified_milestone);
- $invalid++ unless ( $master && $milestone );
- }
- else {
- $milestone = $qualified_milestone;
- }
-
- if ( $invalid ) {
- print_error("Invalid milestone", 0);
- usage();
- exit(1);
- }
-
- $master = $cws->master() if !$master;
- if ( !$cws->is_milestone($master, $milestone) ) {
- print_error("Milestone '$milestone' is not registered with master workspace '$master'.", 21);
- }
- return ($master, $milestone);
-}
-
-sub relink_workspace {
- my $linkdir = shift;
- my $restore = shift;
-
- # The list of obligatorily added modules, build will not work
- # if these are not present.
- my %added_modules_hash;
- if (defined $ENV{ADDED_MODULES}) {
- for ( split(/\s/, $ENV{ADDED_MODULES}) ) {
- $added_modules_hash{$_}++;
- }
- }
-
- # clean out pre-existing linkdir
- my $bd = dirname($linkdir);
- if ( !opendir(DIR, $bd) ) {
- print_error("Can't open directory '$bd': $!.", 44);
- }
- my @old_link_dirs = grep { /^src.m\d+/ } readdir(DIR);
- close(DIR);
-
- if ( @old_link_dirs > 1 ) {
- print_error("Found more than one old link directories:", 0);
- foreach (@old_link_dirs) {
- print STDERR "@old_link_dirs\n";
- }
- if ( $restore ) {
- print_error("Please remove all old link directories but the last one", 67);
- }
- }
-
- # Originally the extension .lnk indicated a linked module. This turned out to be
- # not an overly smart choice. Cygwin has some heuristics which regards .lnk
- # files as Windows shortcuts, breaking the build. Use .link instead.
- # When in restoring mode still consider .lnk as link to modules (for old CWSs)
- my $old_link_dir = "$bd/" . $old_link_dirs[0];
- if ( $restore ) {
- if ( !opendir(DIR, $old_link_dir) ) {
- print_error("Can't open directory '$old_link_dir': $!.", 44);
- }
- my @links = grep { !(/\.lnk/ || /\.link/) } readdir(DIR);
- close(DIR);
- # everything which is not a link to a directory can't be an "added" module
- foreach (@links) {
- next if /^\./;
- my $link = "$old_link_dir/$_";
- if ( -s $link && -d $link ) {
- $added_modules_hash{$_} = 1;
- }
- }
- }
- print_message("... removing '$old_link_dir'");
- rmtree([$old_link_dir], 0);
-
- print_message("... (re)create '$linkdir'");
- if ( !mkdir("$linkdir") ) {
- print_error("Can't create directory '$linkdir': $!.", 44);
- }
- if ( !opendir(DIR, "$bd/ooo") ) {
- print_error("Can't open directory '$bd/sun': $!.", 44);
- }
- my @ooo_top_level_dirs = grep { !/^\./ } readdir(DIR);
- close(DIR);
- if ( !opendir(DIR, "$bd/sun") ) {
- print_error("Can't open directory '$bd/sun': $!.", 44);
- }
- my @so_top_level_dirs = grep { !/^\./ } readdir(DIR);
- close(DIR);
- my $savedir = getcwd();
- if ( !chdir($linkdir) ) {
- print_error("Can't chdir() to directory '$linkdir': $!.", 44);
- }
- my $suffix = '.link';
- foreach(@ooo_top_level_dirs) {
- if ( $_ eq 'REBASE.LOG' || $_ eq 'REBASE.CONFIG_DONT_DELETE' ) {
- next;
- }
- my $target = $_;
- if ( -d "../ooo/$_" && !exists $added_modules_hash{$_} ) {
- $target .= $suffix;
- }
- if ( !symlink("../ooo/$_", $target) ) {
- print_error("Can't symlink directory '../ooo/$_ -> $target': $!.", 44);
- }
- }
- foreach(@so_top_level_dirs) {
- if ( $_ eq 'REBASE.LOG' || $_ eq 'REBASE.CONFIG_DONT_DELETE' ) {
- next;
- }
- my $target = $_;
- if ( -d "../sun/$_" && !exists $added_modules_hash{$_} ) {
- $target .= $suffix;
- }
- if ( !symlink("../sun/$_", $target) ) {
- print_error("Can't symlink directory '../sun/$_ -> $target': $!.", 44);
- }
- }
- if ( !chdir($savedir) ) {
- print_error("Can't chdir() to directory '$linkdir': $!.", 44);
- }
-}
-
-sub fetch_external_tarballs
-{
- my $source_root_dir = shift;
- my $external_tarballs_source = shift;
-
- my $ooo_external_file = "$source_root_dir/ooo/ooo.lst";
- my $sun_external_file = "$source_root_dir/sun/sun.lst";
- my $sun_path = "$source_root_dir/sun";
-
- my @external_sources_list;
- push(@external_sources_list, read_external_file($ooo_external_file));
- if ( -d $sun_path ) {
- if ( -e $sun_external_file ) {
- push(@external_sources_list, read_external_file($sun_external_file));
- }
- else {
- print_error("Can't find external file list '$sun_external_file'.", 8);
- }
- }
-
- my $ext_sources_dir = "$source_root_dir/ext_sources";
- print_message("Copy external tarballs to '$ext_sources_dir'");
- if ( ! -d $ext_sources_dir) {
- if ( !mkdir($ext_sources_dir) ) {
- print_error("Can't create directory '$ext_sources_dir': $!.", 44);
- }
- }
- foreach (@external_sources_list) {
- if ( ! copy("$external_tarballs_source/$_", $ext_sources_dir) ) {
- print_error("Can't copy file '$external_tarballs_source' -> '$ext_sources_dir': $!", 0);
- }
- }
- return;
-}
-
-sub read_external_file
-{
- my $external_file = shift;
-
- my @external_sources;
- open(EXT, "<$external_file") or print_error("Can't open file '$external_file' for reading: $!", 98);
- while(<EXT>) {
- if ( !/^http:/ ) {
- chomp;
- push(@external_sources, $_);
- }
- }
- close(EXT);
- return @external_sources;
-}
-
-sub update_solver
-{
- my $platform = shift;
- my $source = shift;
- my $solver = shift;
- my $milestone = shift;
- my $source_config = shift;
-
- my @zip_sub_dirs = ('bin', 'doc', 'idl', 'inc', 'lib', 'par', 'pck', 'pdb', 'pus', 'rdb', 'res', 'xml', 'sdf');
-
- use Archive::Zip qw( :ERROR_CODES :CONSTANTS );
-
- my $platform_solver = "$solver/$platform";
-
- if ( -d $platform_solver ) {
- print_message("... removing old solver for platform '$platform'");
- if ( !rmtree([$platform_solver]) ) {
- print_error("Can't remove directory '$platform_solver': $!.", 44);
- }
- }
-
- if ( !mkdir("$platform_solver") ) {
- print_error("Can't create directory '$platform_solver': $!.", 44);
- }
-
- my $platform_source = "$source/$platform/zip.$milestone";
- if ( !opendir(DIR, "$platform_source") ) {
- print_error("Can't open directory '$platform_source': $!.", 44);
- }
- my @zips = grep { /\.zip$/ } readdir(DIR);
- close(DIR);
-
- my $nzips = @zips;
- print_message("... unzipping $nzips zip archives for platform '$platform'");
-
-
- foreach(@zips) {
- my $zip = Archive::Zip->new();
- unless ( $zip->read( "$platform_source/$_" ) == AZ_OK ) {
- print_error("Can't read zip file '$platform_source/$_': $!.", 44);
- }
- # TODO: check for erorrs
- foreach (@zip_sub_dirs) {
- my $extract_destination = $source_config ? "$platform_solver/$_" : "$platform_solver/$_.$milestone";
- unless ( $zip->extractTree($_, $extract_destination) == AZ_OK ) {
- print_error("Can't extract stream from zip file '$platform_source/$_': $!.", 44);
- }
- }
- }
-}
-
-# TODO: special provisions for "source_config" migration, remove this
-# some time after migration
-sub get_source_config_for_milestone
-{
- my $masterws = shift;
- my $milestone = shift;
-
- my $milestone_sequence_number = extract_milestone_sequence_number($milestone);
- my $ooo320_migration_sequence_number = extract_milestone_sequence_number($ooo320_source_config_milestone);
-
- my $source_config = 1;
- if ( $masterws eq 'OOO320' ) {
- if ( $milestone_sequence_number < $ooo320_migration_sequence_number ) {
- $source_config = 0;
- }
- }
- return $source_config;
-}
-
-sub extract_milestone_sequence_number
-{
- my $milestone = shift;
-
- my $milestone_sequence_number;
- if ( $milestone =~ /m(\d+)/ ) {
- $milestone_sequence_number = $1;
- }
- else {
- print_error("can't extract milestone sequence number from milestone '$milestone'", 99);
- }
- return $milestone_sequence_number;
-}
-
-# Executes the help command.
-sub do_help
-{
- my $args_ref = shift;
- my $options_ref = shift;
-
- if (@{$args_ref} == 0) {
- print STDERR "usage: cws <subcommand> [options] [args]\n";
- print STDERR "Type 'cws help <subcommand>' for help on a specific subcommand.\n";
- print STDERR "\n";
- print STDERR "Available subcommands:\n";
- print STDERR "\thelp (h,?)\n";
- print STDERR "\tcreate\n";
- print STDERR "\tfetch (f)\n";
- print STDERR "\tquery (q)\n";
- print STDERR "\ttask (t)\n";
- print STDERR "\tsetcurrent\n";
- print STDERR "\teisclone *** release engineers only ***\n";
- }
-
- my $arg = $args_ref->[0];
-
- if (!defined($arg) || $arg eq 'help') {
- print STDERR "help (h, ?): Describe the usage of this script or its subcommands\n";
- print STDERR "usage: help [subcommand]\n";
- }
- elsif ($arg eq 'create') {
- print STDERR "create: Create a new child workspace\n";
- print STDERR "usage: create [-m milestone] <master workspace> <child workspace>\n";
- print STDERR "\t-m milestone: Milestone to base the child workspace on. If ommitted the\n";
- print STDERR "\t last published milestone will be used.\n";
- print STDERR "\t--milestone milestone: Same as -m milestone.\n";
- }
- elsif ($arg eq 'task') {
- print STDERR "task: Add a task to a child workspace\n";
- print STDERR "usage: task <task id> [task id ...]\n";
- }
- elsif ($arg eq 'query') {
- print STDERR "query: Query child workspace for miscellaneous information\n";
- print STDERR "usage: query [-M master] [-c child] <current|integratedinto|incompatible|owner|qarep|status|taskids>\n";
- print STDERR " query [-M master] [-c child] <release|due|due_qa|help|ui|ispublic|scm|build>\n";
- print STDERR " query [-M master] <latest|milestones|ispublicmaster>\n";
- print STDERR " query <masters>\n";
- print STDERR " query [-M master] [-m milestone] <integrated|buildid>\n";
- print STDERR " query [-M master] <planned|new|approved|nominated|ready>\n";
- print STDERR "\t-M master:\t\toverride MWS specified in environment\n";
- print STDERR "\t-c child:\t\toverride CWS specified in environment\n";
- print STDERR "\t-m milestone:\t\toverride latest milestone with specified one\n";
- print STDERR "\t--master master:\tSame as -M master\t\n";
- print STDERR "\t--child child:\t\tSame -c child\n";
- print STDERR "\t--milestone milestone:\tSame as -m milestone\n";
- print STDERR "Modes:\n";
- print STDERR "\tcurrent\t\tquery current milestone of CWS\n";
- print STDERR "\tincompatible\tquery modules which should be build incompatible\n";
- print STDERR "\towner\t\tquery CWS owner\n";
- print STDERR "\tqarep\t\tquery CWS QA Representative\n";
- print STDERR "\tstatus\t\tquery approval status of CWS\n";
- print STDERR "\ttaskids\t\tquery taskids to be handled on the CWS\n";
- print STDERR "\trelease\t\tquery for target release of CWS\n";
- print STDERR "\tdue\t\tquery for due date of CWS\n";
- print STDERR "\tdue_qa\t\tquery for due date (QA) of CWS\n";
- print STDERR "\thelp\t\tquery if the CWS is help relevant\n";
- print STDERR "\tui\t\tquery if the CWS is UI relevant\n";
- print STDERR "\tbuild\t\tquery build String for CWS\n";
- print STDERR "\tlatest\t\tquery the latest milestone available for resync\n";
- print STDERR "\tbuildid\t\tquery build ID for milestone\n";
- print STDERR "\tintegrated\tquery integrated CWSs for milestone\n";
- print STDERR "\tintegratedinto\tquery milestone which CWS was integrated into\n";
- print STDERR "\tplanned\t\tquery for planned CWSs\n";
- print STDERR "\tnew\t\tquery for new CWSs\n";
- print STDERR "\tapproved\tquery CWSs approved by QA\n";
- print STDERR "\tnominated\tquery nominated CWSs\n";
- print STDERR "\tready\t\tquery CWSs ready for QA\n";
- print STDERR "\tispublic\tquery public flag of CWS\n";
- print STDERR "\tscm\t\tquery Source Control Management (SCM) system used for CWS\n";
- print STDERR "\tmasters\t\tquery available MWS\n";
- print STDERR "\tmilestones\tquery which milestones are know on the given MWS\n";
- print STDERR "\tispublicmaster\tquery public flag of MWS\n";
-
- }
- elsif ($arg eq 'fetch') {
- print STDERR "fetch: fetch a milestone or CWS\n";
- print STDERR "usage: fetch [-q] [-p platforms] [-r additionalrepositories] [-o] <-m milestone> <workspace>\n";
- print STDERR "usage: fetch [-q] [-p platforms] [-r additionalrepositories] [-o] <-c cws> <workspace>\n";
- print STDERR "usage: fetch [-q] [-x platforms] [-r additionalrepositories] [-o] <-m milestone> <workspace>\n";
- print STDERR "usage: fetch [-q] [-x platforms] [-r additionalrepositories] [-o] <-c cws> <workspace>\n";
- print STDERR "usage: fetch [-q] <-m milestone> <workspace>\n";
- print STDERR "usage: fetch [-q] <-c cws> <workspace>\n";
- print STDERR "\t-m milestone: Checkout milestone <milestone> to workspace <workspace>\n";
- print STDERR "\t Use 'latest' for the for lastest published milestone on the current master\n";
- print STDERR "\t For cross master checkouts use the form <MWS>:<milestone>\n";
- print STDERR "\t--milestone milestone: Same as -m milestone\n";
- print STDERR "\t-c childworkspace: Checkout CWS <childworkspace> to workspace <workspace>\n";
- print STDERR "\t--child childworkspace: Same as -c childworkspace\n";
- print STDERR "\t-p platform: Copy one or more prebuilt platforms 'platform'. \n";
- print STDERR "\t Separate multiple platforms with commas.\n";
- print STDERR "\t Automatically adds 'common[.pro]' as required.\n";
- print STDERR "\t--platforms platform: Same as -p\n";
- print STDERR "\t-x platform: Copy one or more prebuilt platforms 'platform'. \n";
- print STDERR "\t Separate multiple platforms with commas.\n";
- print STDERR "\t Does not automatically adds 'common[.pro]'.\n";
- print STDERR "\t-r additionalrepositories Checkout additional repositories. \n";
- print STDERR "\t Separate multiple repositories with commas.\n";
- print STDERR "\t--noautocommon platform: Same as -x\n";
- print STDERR "\t-o: Omit checkout of sources, copy only solver. \n";
- print STDERR "\t--onlysolver: Same as -o\n";
- print STDERR "\t-q: Silence some of the output of the command.\n";
- print STDERR "\t--quiet: Same as -q\n";
- }
- elsif ($arg eq 'setcurrent') {
- print STDERR "setcurrent: Set the current milestone for the CWS (only hg based CWSs)\n";
- print STDERR "usage: setcurrent [-m milestone]\n";
- print STDERR "\t-m milestone: Set milestone to <milestone> to workspace <workspace>\n";
- print STDERR "\t Use 'latest' for the for lastest published milestone on the current master\n";
- print STDERR "\t For cross master change use the form <MWS>:<milestone>\n";
- print STDERR "\t--milestone milestone: Same as -m milestone\n";
- }
- else {
- print STDERR "'$arg': unknown subcommand\n";
- exit(1);
- }
- exit(0);
-}
-
-# Executes the create command.
-sub do_create
-{
- my $args_ref = shift;
- my $options_ref = shift;
-
- if ( exists $options_ref->{'help'} || @{$args_ref} != 2) {
- do_help(['create']);
- }
-
- if ( exists $options_ref->{'hg'} ) {
- print_warning("All childworkspaces are now hosted on Mercurial. The switch --hg is obsolete.");
- }
-
- my $master = uc $args_ref->[0];
- my $cws_name = $args_ref->[1];
-
- if (!is_master($master)) {
- print_error("'$master' is not a valid master workspace.", 7);
- }
-
- # check if cws name fits the convention
- if ( $cws_name !~ /^\w[\w\.\#]*$/ ) {
- print_error("Invalid child workspace name '$cws_name'.\nCws names should consist of alphanumeric characters, preferable all lowercase and starting with a letter.\nThe characters . and # are allowed if they are not the first character.", 7);
- }
-
- my $cws = get_this_cws();
- $cws->master($master);
- $cws->child($cws_name);
-
- # check if child workspace already exists
- my $eis_id = $cws->eis_id();
- if ( !defined($eis_id) ) {
- print_error("Connection with EIS database failed.", 8);
- }
-
- my $is_promotion = 0;
- if ( $eis_id > 0 ) {
- if ( $cws->get_approval() eq 'planned' ) {
- print "Promote child workspace '$cws_name' from 'planned' to 'new'.\n";
- $is_promotion++;
- }
- else {
- print_error("Child workspace '$cws_name' already exists.", 7);
- }
- }
- else {
- # check if child workspace name is still available
- if ( !$cws->is_cws_name_available()) {
- print_error("Child workspace name '$cws_name' is already in use.", 7);
- }
- }
-
- my $milestone;
- # verify milestone or query latest milestone
- if ( exists $options_ref->{'milestone'} ) {
- $milestone=$options_ref->{'milestone'};
- # check if milestone exists
- if ( !$cws->is_milestone($master, $milestone) ) {
- print_error("Milestone '$milestone' is not registered with master workspace '$master'.", 8);
- }
- }
- else {
- $milestone=$cws->get_current_milestone($cws->master());
- }
-
- # set milestone
- $cws->milestone($milestone);
-
- register_child_workspace($cws, 'hg', $is_promotion);
-
- return;
-}
-
-# Executes the fetch command.
-sub do_fetch
-{
- my $args_ref = shift;
- my $options_ref = shift;
-
- my $time_fetch_start = Benchmark->new();
- if ( exists $options_ref->{'help'} || @{$args_ref} != 1) {
- do_help(['fetch']);
- }
-
- my $milestone_opt = $options_ref->{'milestone'};
- my $additional_repositories_opt = $options_ref->{'additionalrepositories'};
- $additional_repositories_opt = "", if ( !defined $additional_repositories_opt );
- my $child = $options_ref->{'childworkspace'};
- my $platforms = $options_ref->{'platforms'};
- my $noautocommon = $options_ref->{'noautocommon'};
- my $quiet = $options_ref->{'quiet'} ? 1 : 0 ;
- my $switch = $options_ref->{'switch'} ? 1 : 0 ;
- my $onlysolver = $options_ref->{'onlysolver'} ? 1 : 0 ;
-
- if ( !defined($milestone_opt) && !defined($child) ) {
- print_error("Specify one of these options: -m or -c", 0);
- do_help(['fetch']);
- }
-
- if ( defined($milestone_opt) && defined($child) ) {
- print_error("Options -m and -c are mutally exclusive", 0);
- do_help(['fetch']);
- }
-
- if ( defined($platforms) && defined($noautocommon) ) {
- print_error("Options -p and -x are mutally exclusive", 0);
- do_help(['fetch']);
- }
-
- if ( $onlysolver && !(defined($platforms) || defined($noautocommon)) ) {
- print_error("Option '-o' is Only usuable combination with option '-p' or '-x'.", 0);
- do_help(['fetch']);
- }
-
- my $cws = get_this_cws();
- my $masterws = $ENV{WORK_STAMP};
- if ( !defined($masterws) ) {
- print_error("Can't determine current master workspace: check environment variable WORK_STAMP", 21);
- }
- $cws->master($masterws);
- my $milestone;
- if( defined($milestone_opt) ) {
- if ( $milestone_opt eq 'latest' ) {
- $cws->master($masterws);
- my $latest = $cws->get_current_milestone($masterws);
-
- if ( !$latest ) {
- print_error("Can't determine latest milestone of master workspace '$masterws'.", 22);
- }
- $milestone = $cws->get_current_milestone($masterws);
- }
- else {
- ($masterws, $milestone) = verify_milestone($cws, $milestone_opt);
- }
- }
- elsif ( defined($child) ) {
- $cws = get_cws_by_name($child);
- $masterws = $cws->master(); # CWS can have another master than specified in ENV
- $milestone = $cws->milestone();
- }
- else {
- do_help(['fetch']);
- }
-
- my $config = CwsConfig->new();
- # $so_svn_server is still required to determine if we are in SO environment
- # TODO: change this configuration setting to something more meaningful
- my $so_svn_server = $config->get_so_svn_server();
- my $prebuild_dir = $config->get_prebuild_binaries_location();
- my $external_tarball_source = $prebuild_dir;
- # Check early for platforms so we can bail out before anything time consuming is done
- # in case of a missing platform
- my @platforms;
- if ( defined($platforms) || defined($noautocommon) ) {
- use Archive::Zip; # warn early if module is missing
- if ( !defined($prebuild_dir ) ) {
- print_error("PREBUILD_BINARIES not configured, can't find platform solvers", 99);
- }
- $prebuild_dir = "$prebuild_dir/$masterws";
-
- if ( defined($platforms) ) {
- @platforms = split(/,/, $platforms);
-
- my $added_product = 0;
- my $added_nonproduct = 0;
- foreach(@platforms) {
- if ( $_ eq 'common.pro' ) {
- $added_product = 1;
- print_warning("'$_' is added automatically to the platform list, don't specify it explicit");
- }
- if ( $_ eq 'common' ) {
- $added_nonproduct = 1;
- print_warning("'$_' is added automatically to the platform list, don't specify it explicit");
- }
- }
-
- # add common.pro/common to platform list
- if ( $so_svn_server ) {
- my $product = 0;
- my $nonproduct = 0;
- foreach(@platforms) {
- if ( /\.pro$/ ) {
- $product = 1;
- }
- else {
- $nonproduct = 1;
- }
- }
- unshift(@platforms, 'common.pro') if ($product && !$added_product);
- unshift(@platforms, 'common') if ($nonproduct && !$added_nonproduct);
- }
- }
- else {
- @platforms = split(/,/, $noautocommon);
- }
-
- foreach(@platforms) {
- if ( ! -d "$prebuild_dir/$_") {
- print_error("Can't find prebuild binaries for platform '$_'.", 22);
- }
- }
-
- }
-
- my $cwsname = $cws->child();
- my $linkdir = $milestone_opt ? "src.$milestone" : "src." . $cws->milestone;
-
- my $workspace = $args_ref->[0];
-
- if ( !$onlysolver ) {
- if ( -e $workspace ) {
- print_error("File or directory '$workspace' already exists.", 8);
- }
-
- my $clone_milestone_only = $milestone_opt ? $milestone : 0;
- if ( defined($so_svn_server) ) {
- if ( !mkdir($workspace) ) {
- print_error("Can't create directory '$workspace': $!.", 8);
- }
- my $work_master = "$workspace/$masterws";
- if ( !mkdir($work_master) ) {
- print_error("Can't create directory '$work_master': $!.", 8);
- }
-
- my %unique = map { $_ => 1 } split( /,/ , $additional_repositories_opt);
- my @unique_repo_list = keys %unique;
-
- if (defined($additional_repositories_opt))
- {
- foreach my $repo(@unique_repo_list)
- {
- # do not double clone ooo and sun
- hg_clone_cws_or_milestone($repo, $cws, "$work_master/".$repo, $clone_milestone_only), if $repo ne "ooo" && $repo ne "sun";
- }
-
- }
-
- hg_clone_cws_or_milestone('ooo', $cws, "$work_master/ooo", $clone_milestone_only);
- hg_clone_cws_or_milestone('so', $cws, "$work_master/sun", $clone_milestone_only);
-
- if ( get_source_config_for_milestone($masterws, $milestone) ) {
- # write source_config file
- my $source_config_file = "$work_master/source_config";
- if ( !open(SOURCE_CONFIG, ">$source_config_file") ) {
- print_error("Can't create source_config file '$source_config_file': $!.", 8);
- }
- print SOURCE_CONFIG "[repositories]\n";
- print SOURCE_CONFIG "ooo=active\n";
- print SOURCE_CONFIG "sun=active\n";
- foreach my $repo(@unique_repo_list)
- {
- print SOURCE_CONFIG $repo."=active\n", if $repo ne "ooo" || $repo ne "sun";
- }
- close(SOURCE_CONFIG);
- }
- else {
- my $linkdir = "$work_master/src.$milestone";
- if ( !mkdir($linkdir) ) {
- print_error("Can't create directory '$linkdir': $!.", 8);
- }
- relink_workspace($linkdir);
- }
- }
- else {
- hg_clone_cws_or_milestone('ooo', $cws, $workspace, $clone_milestone_only);
- }
- }
-
- if ( !$onlysolver && defined($external_tarball_source) ) {
- my $source_root_dir = "$workspace/$masterws";
- $external_tarball_source .= "/$masterws/ext_sources";
- if ( -e "$source_root_dir/ooo/ooo.lst" && -d $external_tarball_source ) {
- fetch_external_tarballs($source_root_dir, $external_tarball_source);
- }
- }
-
- if ( defined($platforms) || defined($noautocommon) ) {
- if ( !-d $workspace ) {
- if ( !mkdir($workspace) ) {
- print_error("Can't create directory '$workspace': $!.", 8);
- }
- }
- my $solver = defined($so_svn_server) ? "$workspace/$masterws" : "$workspace/solver";
- if ( !-d $solver ) {
- if ( !mkdir($solver) ) {
- print_error("Can't create directory '$solver': $!.", 8);
- }
- }
- my $source_config = get_source_config_for_milestone($masterws, $milestone);
- foreach(@platforms) {
- my $time_solver_start = Benchmark->new();
- print_message("... copying platform solver '$_'.");
- update_solver($_, $prebuild_dir, $solver, $milestone, $source_config);
- my $time_solver_stop = Benchmark->new();
- print_time_elapsed($time_solver_start, $time_solver_stop) if $profile;
- }
- }
- my $time_fetch_stop = Benchmark->new();
- my $time_fetch = timediff($time_fetch_stop, $time_fetch_start);
- print_message("cws fetch: total time required " . timestr($time_fetch));
-}
-
-sub do_query
-{
- my $args_ref = shift;
- my $options_ref = shift;
-
- # list of available query modes
- my @query_modes = qw(integratedinto incompatible taskids status latest current owner qarep build buildid integrated approved nominated ready new planned release due due_qa help ui milestones masters scm ispublic ispublicmaster);
- my %query_modes_hash = ();
- foreach (@query_modes) {
- $query_modes_hash{$_}++;
- }
-
- if ( exists $options_ref->{'help'} || @{$args_ref} != 1) {
- do_help(['query']);
- }
- my $mode = lc($args_ref->[0]);
-
- # cwquery mode 'state' has been renamed to 'status' to be more consistent
- # with CVS etc. 'state' is still an alias for 'status'
- $mode = 'status' if $mode eq 'state';
-
- # cwquery mode 'vcs' has been renamed to 'scm' to be more consistent
- # with general use etc. 'vcs' is still an alias for 'scm'
- $mode = 'scm' if $mode eq 'vcs';
-
- # there will be more query modes over time
- if ( !exists $query_modes_hash{$mode} ) {
- do_help(['query']);
- }
- query_cws($mode, $options_ref);
-}
-
-sub do_task
-{
- my $args_ref = shift;
- my $options_ref = shift;
-
- if ( exists $options_ref->{'help'} ) {
- do_help(['task']);
- }
-
- # CWS states for which adding tasks are blocked.
- my @states_blocked_for_adding = (
- "integrated",
- "nominated",
- "approved by QA",
- "cancelled",
- "finished"
- );
- my $cws = get_cws_from_environment();
-
- # register taskids with EIS database;
- # checks taksids for sanity, will notify user
- # if taskid is already registered.
- my $status = $cws->get_approval();
-
- my $child = $cws->child();
- my $master = $cws->master();
-
- my @registered_taskids = $cws->taskids();
-
- # if called without ids to register just query for tasks
- if ( @{$args_ref} == 0 ) {
- print_message("Task ID(s):");
- foreach (@registered_taskids) {
- if ( defined($_) ) {
- print "$_\n";
- }
- }
- }
-
- if ( !defined($status) ) {
- print_error("Can't determine status of child workspace `$child`.", 20);
- }
-
- if ( grep($status eq $_, @states_blocked_for_adding) ) {
- print_error("Can't add tasks to child workspace '$child' with state '$status'.", 21);
- }
-
- # Create hash for easier searching.
- my %registered_taskids_hash = ();
- for (@registered_taskids) {
- $registered_taskids_hash{$_}++;
- }
-
- my @new_taskids = ();
- foreach (@{$args_ref}) {
- if ( $_ !~ /^([ib]?\d+)$/ ) {
- print_error("'$_' is an invalid task ID.", 22);
- }
- if ( exists $registered_taskids_hash{$1} ) {
- print_warning("Task ID '$_' already registered, skipping.");
- next;
- }
- push(@new_taskids, $_);
- }
-
- # TODO: introduce a EIS_USER in the configuration, which should be used here
- my $config = CwsConfig->new();
- my $vcsid = $config->vcsid();
- my $added_taskids_ref = $cws->add_taskids($vcsid, @new_taskids);
- if ( !$added_taskids_ref ) {
- my $taskids_str = join(" ", @new_taskids);
- print_error("Couldn't register taskID(s) '$taskids_str' with child workspace '$child'.", 23);
- }
- my @added_taskids = @{$added_taskids_ref};
- if ( @added_taskids ) {
- my $taskids_str = join(" ", @added_taskids);
- print_message("Registered taskID(s) '$taskids_str' with child workspace '$child'.");
- }
- return;
-}
-
-sub do_setcurrent
-{
- my $args_ref = shift;
- my $options_ref = shift;
-
- if ( exists $options_ref->{'help'} || @{$args_ref} != 0) {
- do_help(['setcurrent']);
- }
-
- if ( !exists $options_ref->{'milestone'} ) {
- do_help(['setcurrent']);
- }
-
- my $cws = get_cws_from_environment();
- my $old_masterws = $cws->master();
- my $new_masterws;
- my $new_milestone;
-
- my $milestone = $options_ref->{'milestone'};
- if ( $milestone eq 'latest' ) {
- my $latest = $cws->get_current_milestone($old_masterws);
-
- if ( !$latest ) {
- print_error("Can't determine latest milestone of '$old_masterws'.", 22);
- }
- $new_masterws = $old_masterws;
- $new_milestone = $latest;
- }
- else {
- ($new_masterws, $new_milestone) = verify_milestone($cws, $milestone);
- }
-
- print_message("... updating EIS database");
- my $push_return = $cws->set_master_and_milestone($new_masterws, $new_milestone);
- # sanity check
- if ( $$push_return[1] ne $new_milestone) {
- print_error("Couldn't push new milestone '$new_milestone' to database", 0);
- }
-}
-
-sub do_eisclone
-{
- my $args_ref = shift;
- my $options_ref = shift;
-
- print_error("not yet implemented.", 2);
-}
-
-sub print_message
-{
- my $message = shift;
-
- print "$message\n";
- return;
-}
-
-sub print_warning
-{
- my $message = shift;
- print STDERR "$script_name: ";
- print STDERR "WARNING: $message\n";
- return;
-}
-
-sub print_error
-{
- my $message = shift;
- my $error_code = shift;
-
- print STDERR "$script_name: ";
- print STDERR "ERROR: $message\n";
-
- if ( $error_code ) {
- print STDERR "\nFAILURE: $script_name aborted.\n";
- exit($error_code);
- }
- return;
-}
-
-sub usage
-{
- print STDERR "Type 'cws help' for usage.\n";
-}
-
-### HG glue ###
-
-sub hg_clone
-{
- my $source = shift;
- my $dest = shift;
- my $options = shift;
-
- if ( $debug ) {
- print STDERR "CWS-DEBUG: ... hg clone: '$source -> $dest', options: '$options'\n";
- }
-
- # The to be cloned revision might not yet be avaliable. In this case clone
- # the available tip.
- my @result = execute_hg_command(0, 'clone', $options, $source, $dest);
- if ( defined($result[0]) && $result[0] =~ /abort: unknown revision/ ) {
- $options =~ s/-r \w+//;
- @result = execute_hg_command(1, 'clone', $options, $source, $dest);
- }
- return @result;
-}
-
-sub hg_parent
-{
- my $repository = shift;
- my $rev_id = shift;
- my $options = shift;
-
- if ( $debug ) {
- print STDERR "CWS-DEBUG: ... hg parent: 'repository', revision: '$rev_id', options: $options\n";
- }
-
- my @result = execute_hg_command(0, 'parent', "--cwd $repository", "-r $rev_id", $options);
- my $line = $result[0];
- chomp($line);
- return $line;
-}
-
-sub hg_pull
-{
- my $repository = shift;
- my $remote = shift;
-
- if ( $debug ) {
- print STDERR "CWS-DEBUG: ... hg pull: 'repository', remote: '$remote'\n";
- }
-
- my @result = execute_hg_command(0, 'pull', "--cwd $repository", $remote);
- my $line = $result[0];
- if ($line =~ /abort: /) {
- return undef;
- }
-}
-
-sub hg_update
-{
- my $repository = shift;
-
- if ( $debug ) {
- print STDERR "CWS-DEBUG: ... hg update: 'repository'\n";
- }
-
- my @result = execute_hg_command(1, 'update', "--cwd $repository");
- return @result;
-}
-
-sub hg_show
-{
- if ( $debug ) {
- print STDERR "CWS-DEBUG: ... hg show\n";
- }
- my $result = execute_hg_command(0, 'show', '');
- return $result;
-}
-
-sub execute_hg_command
-{
- my $terminate_on_rc = shift;
- my $command = shift;
- my $options = shift;
- my @args = @_;
-
- my $args_str = join(" ", @args);
-
- # we can only parse english strings, hopefully a C locale is available everywhere
- $ENV{LC_ALL}='C';
- $command = "hg $command $options $args_str";
-
- if ( $debug ) {
- print STDERR "CWS-DEBUG: ... execute command line: '$command'\n";
- }
-
- my @result;
- open(OUTPUT, "$command 2>&1 |") or print_error("Can't execute mercurial command line client", 98);
- while (<OUTPUT>) {
- push(@result, $_);
- }
- close(OUTPUT);
-
- my $rc = $? >> 8;
-
- if ( $rc > 0 && $terminate_on_rc) {
- print STDERR @result;
- print_error("The mercurial command line client failed with exit status '$rc'", 99);
- }
- return wantarray ? @result : \@result;
-}
-
-
-# vim: set ts=4 shiftwidth=4 expandtab syntax=perl:
diff --git a/solenv/bin/cwsattach b/solenv/bin/cwsattach
deleted file mode 100755
index 99bcde52977a..000000000000
--- a/solenv/bin/cwsattach
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-if [ x${SOLARENV}x = xx ]; then
- echo No environment found, please use 'configure' or 'setsolar'
- exit 1
-fi
-exec perl -w $SOLARENV/bin/cwsattach.pl "$@"
-
diff --git a/solenv/bin/cwsattach.btm b/solenv/bin/cwsattach.btm
deleted file mode 100644
index 94a0f28c7ab8..000000000000
--- a/solenv/bin/cwsattach.btm
+++ /dev/null
@@ -1,11 +0,0 @@
-@echo off
-iff "%SOLARENV%" == "" then
- echo No environment found, please use 'configure' or 'setsolar'
- goto end
-endiff
-iff "%PERL%" == "" then
- call perl5 -I%SOLARENV%\bin\modules %SOLARENV%\bin\cwsattach.pl %1&
-else
- call %PERL% -I%SOLARENV%\bin\modules %SOLARENV%\bin\cwsattach.pl %1&
-endiff
-:end
diff --git a/solenv/bin/cwsattach.pl b/solenv/bin/cwsattach.pl
deleted file mode 100644
index 05e1b8df3cb4..000000000000
--- a/solenv/bin/cwsattach.pl
+++ /dev/null
@@ -1,220 +0,0 @@
-:
-eval 'exec perl -wS $0 ${1+"$@"}'
- if 0;
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-#
-# cwsattach.pl - attach files to CWS
-#
-
-use strict;
-use Getopt::Long;
-use Cwd;
-
-#### module lookup
-my @lib_dirs;
-BEGIN {
- if ( !defined($ENV{SOLARENV}) ) {
- die "No environment found (environment variable SOLARENV is undefined)";
- }
- push(@lib_dirs, "$ENV{SOLARENV}/bin/modules");
- push(@lib_dirs, "$ENV{COMMON_ENV_TOOLS}/modules") if defined($ENV{COMMON_ENV_TOOLS});
-}
-use lib (@lib_dirs);
-
-use Cws;
-
-#### script id #####
-
-( my $script_name = $0 ) =~ s/^.*\b(\w+)\.pl$/$1/;
-
-my $script_rev;
-my $id_str = ' $Revision: 1.3 $ ';
-$id_str =~ /Revision:\s+(\S+)\s+\$/
- ? ($script_rev = $1) : ($script_rev = "-");
-
-print STDERR "$script_name -- version: $script_rev\n";
-
-#### global #####
-
-my $is_debug = 1; # enable debug
-my $opt_master = ''; # option: master workspace
-my $opt_child = ''; # option: child workspace
-my $opt_mime_type = ''; # option: mime type
-
-
-#### main #####
-
-my $arg_file = parse_options();
-attach_cws($arg_file);
-exit(0);
-
-#### subroutines ####
-
-sub attach_cws
-{
- my $filename = shift;
- # get master and child workspace
- my $masterws = $opt_master ? uc($opt_master) : $ENV{WORK_STAMP};
- my $childws = $opt_child ? $opt_child : $ENV{CWS_WORK_STAMP};
-
- if ( !defined($masterws) ) {
- print_error("Can't determine master workspace environment.\n"
- . "Please initialize environment with setsolar ...", 1);
- }
-
- if ( !defined($childws) ) {
- print_error("Can't determine child workspace environment.\n"
- . "Please initialize environment with setsolar ...", 1);
- }
-
- my $cws = Cws->new();
- $cws->child($childws);
- $cws->master($masterws);
-
- my $mime_type = $opt_mime_type ? $opt_mime_type : find_mime_type($filename);
-
- no strict;
-
- if ( is_valid_cws($cws) ) {
- #print "CWS is valid filename=" . $filename . " mime_type=" . $mime_type . "\n";
- open(DATA,"<$filename") || die "can't open filename";
- $data="";
- while(<DATA>) {
- $data.=$_;
- }
- my $result=$cws->save_attachment($filename,$mime_type,$data);
- } else {
- print STDERR "cws is not valid";
- }
- exit(0)
-}
-
-
-sub find_mime_type
-{
- my $filename = shift;
- $filename=~/(.*)\.(.*$)/;
- my $ext=$2;
- my $fmime='';
-
- if ( defined($ext) ) {
- open(MIME,"< $ENV{SOLARENV}/inc/mime.types")|| die "can not open mimetype file";
- while (<MIME>) {
- my @a=split();
- my $iscomment=0;
- if ( /(\s*\#).*/ ) {
- $iscomment=1;
- } else {
- $iscomment=0;
- }
- if ( $iscomment eq 0 && $#a >= 1 && $fmime eq '' ) {
- my $i=1;
- for ($i=1; $i<=$#a; $i++) {
- if ( $a[$i] eq $ext ) {
- $fmime=$a[0];
- }
- }
- }
- }
-
- }
- if ( $fmime eq '' ) {
- $fmime="application/octet-stream";
- }
- return $fmime;
-}
-
-
-sub is_valid_cws
-{
- my $cws = shift;
-
- my $masterws = $cws->master();
- my $childws = $cws->child();
- # check if we got a valid child workspace
- my $id = $cws->eis_id();
- if ( !$id ) {
- print_error("Child workspace '$childws' for master workspace '$masterws' not found in EIS database.", 2);
- }
- print_message("Master workspace '$masterws', child workspace '$childws':");
- return 1;
-}
-
-sub parse_options
-{
- # parse options and do some sanity checks
- my $help = 0;
- my $success = GetOptions('h' => \$help, 'm=s' => \$opt_master, 'c=s'=> \$opt_child, 't=s'=> \$opt_mime_type);
- if ( $help || !$success || $#ARGV < 0 ) {
- usage();
- exit(1);
- }
-
- return $ARGV[0];
-}
-
-sub print_message
-{
- my $message = shift;
-
- print STDERR "$script_name: ";
- print STDERR "$message\n";
- return;
-}
-
-sub print_error
-{
- my $message = shift;
- my $error_code = shift;
-
- print STDERR "$script_name: ";
- print STDERR "ERROR: $message\n";
-
- if ( $error_code ) {
- print STDERR "\nFAILURE: $script_name aborted.\n";
- exit($error_code);
- }
- return;
-}
-
-sub usage
-{
- print STDERR "Usage: cwsattach [-h] [-m master] [-c child] [-t mimetype] filename\n";
- print STDERR "\n";
- print STDERR "Attach files to CWS in EIS database\n";
- print STDERR "\n";
- print STDERR "Options:\n";
- print STDERR "\t-h\t\thelp\n";
- print STDERR "\t-m master\toverride MWS specified in environment\n";
- print STDERR "\t-c child\toverride CWS specified in environment\n";
- print STDERR "\t-t mimetype\texplicitly set mime type\n";
- print STDERR "Examples:\n";
- print STDERR "\tcwsattach barfoo.html\n";
- print STDERR "\tcwsattach -t text bar.cxx\n";
- print STDERR "\tcwsattach -t text/rtf foo.rtf\n";
-}
diff --git a/solenv/bin/cwscreate b/solenv/bin/cwscreate
deleted file mode 100755
index c3260f746e39..000000000000
--- a/solenv/bin/cwscreate
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-if [ x${SOLARENV}x = xx ]; then
- echo No environment found, please use 'configure' or 'setsolar'
- exit 1
-fi
-echo "Please use the 'cws create' command for creating new child workspaces!"
diff --git a/solenv/bin/cwstestresult b/solenv/bin/cwstestresult
deleted file mode 100755
index 29b1c0c8e99d..000000000000
--- a/solenv/bin/cwstestresult
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-if [ x${SOLARENV}x = xx ]; then
- echo No environment found, please use 'configure' or 'setsolar'
- exit 1
-fi
-exec perl -w $SOLARENV/bin/cwstestresult.pl "$@"
-
diff --git a/solenv/bin/cwstestresult.btm b/solenv/bin/cwstestresult.btm
deleted file mode 100644
index 38a012996500..000000000000
--- a/solenv/bin/cwstestresult.btm
+++ /dev/null
@@ -1,11 +0,0 @@
-@echo off
-iff "%SOLARENV%" == "" then
- echo No environment found, please use 'configure' or 'setsolar'
- goto end
-endiff
-iff "%PERL%" == "" then
- call perl5 -I%SOLARENV%\bin\modules %SOLARENV%\bin\cwstestresult.pl %1&
-else
- call %PERL% -I%SOLARENV%\bin\modules %SOLARENV%\bin\cwstestresult.pl %1&
-endiff
-:end
diff --git a/solenv/bin/cwstestresult.pl b/solenv/bin/cwstestresult.pl
deleted file mode 100644
index 43b41ff7b5e8..000000000000
--- a/solenv/bin/cwstestresult.pl
+++ /dev/null
@@ -1,192 +0,0 @@
-:
-eval 'exec perl -wS $0 ${1+"$@"}'
- if 0;
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-#
-# cwstestresult.pl - publish results of CWS tests to EIS
-#
-
-use strict;
-use Getopt::Long;
-use Cwd;
-
-#### module lookup
-my @lib_dirs;
-BEGIN {
- if ( !defined($ENV{SOLARENV}) ) {
- die "No environment found (environment variable SOLARENV is undefined)";
- }
- push(@lib_dirs, "$ENV{SOLARENV}/bin/modules");
- push(@lib_dirs, "$ENV{COMMON_ENV_TOOLS}/modules") if defined($ENV{COMMON_ENV_TOOLS});
-}
-use lib (@lib_dirs);
-
-use Cws;
-
-#### global #####
-( my $script_name = $0 ) =~ s/^.*\b(\w+)\.pl$/$1/;
-
-my $is_debug = 1; # enable debug
-my $opt_master; # option: master workspace
-my $opt_child; # option: child workspace
-my $opt_milestone; # option: milestone
-my $opt_testrunName; # option: testrunName
-my $opt_testrunPlatform; # option: testrunPlatfrom
-my $opt_resultPage; # option: resultPage
-
-
-#### main #####
-
-my $arg_status= parse_options();
-testresult($arg_status);
-exit(0);
-
-#### subroutines ####
-
-sub testresult
-{
- my $status = shift;
- # get master and child workspace
- my $masterws = $opt_master ? uc($opt_master) : $ENV{WORK_STAMP};
- my $milestone = $opt_milestone ? $opt_milestone : $ENV{UPDMINOR};
- my $childws = $opt_milestone ? undef : ( $opt_child ? $opt_child : $ENV{CWS_WORK_STAMP} );
-
- if ( !defined($masterws) ) {
- print_error("Can't determine master workspace environment.\n"
- . "Please initialize environment with setsolar ...", 1);
- }
-
- if ( !defined($childws) && !defined($milestone) ) {
- print_error("Can't determine child workspace environment or milestone.\n"
- . "Please initialize environment with setsolar ...", 1);
- }
- if ( !defined($opt_resultPage) ) {
- $opt_resultPage="";
- }
- my $cws = Cws->new();
- if ( defined($childws) ) {
- $cws->child($childws);
- }
- $cws->master($masterws);
- my $eis = $cws->eis();
-
- no strict;
- my $result='';
-
- if ( defined($childws) ) {
- $opt_resultPage=SOAP::Data->type(string => $opt_resultPage);
- my $id = $cws->eis_id();
- if ( is_valid_cws($cws) ) {
- $result=$eis->submitTestResult($id,$opt_testrunName,$opt_testrunPlatform, $opt_resultPage, $status);
- } else {
- print STDERR "cws is not valid";
- }
- } else {
- $opt_resultPage=SOAP::Data->type(string => $opt_resultPage);
- $result=$eis->submitTestResultMWS($masterws,$milestone,$opt_testrunName,$opt_testrunPlatform, $opt_resultPage, $status);
- }
-
- exit(0)
-}
-
-
-sub is_valid_cws
-{
- my $cws = shift;
-
- my $masterws = $cws->master();
- my $childws = $cws->child();
- # check if we got a valid child workspace
- my $id = $cws->eis_id();
- if ( !$id ) {
- print_error("Child workspace '$childws' for master workspace '$masterws' not found in EIS database.", 2);
- }
- return 1;
-}
-
-sub parse_options
-{
- # parse options and do some sanity checks
- Getopt::Long::Configure("no_ignore_case");
- my $help = 0;
- my $success = GetOptions('h' => \$help, 'M=s' => \$opt_master, 'm=s' => \$opt_milestone, 'c=s' => \$opt_child, 'n=s' => \$opt_testrunName, 'p=s' => \$opt_testrunPlatform , 'r=s' => \$opt_resultPage );
- if ( $help || !$success || $#ARGV < 0 || (!defined($opt_testrunName)) || ( !defined($opt_testrunPlatform)) ) {
- usage();
- exit(1);
- }
- if ( defined($opt_milestone) && defined($opt_child) ) {
- print_error("-m and -c are mutually exclusive options",1);
- }
-
- return $ARGV[0];
-}
-
-sub print_message
-{
- my $message = shift;
-
- print STDERR "$script_name: ";
- print STDERR "$message\n";
- return;
-}
-
-sub print_error
-{
- my $message = shift;
- my $error_code = shift;
-
- print STDERR "$script_name: ";
- print STDERR "ERROR: $message\n";
-
- if ( $error_code ) {
- print STDERR "\nFAILURE: $script_name aborted.\n";
- exit($error_code);
- }
- return;
-}
-
-sub usage
-{
- print STDERR "Usage: cwstestresult[-h] [-m masterws] [-m milestone|-c childws] <-n testrunName> <-p testrunPlatform> <-r resultPage> statusName\n";
- print STDERR "\n";
- print STDERR "Publish result of CWS- or milestone-test to EIS\n";
- print STDERR "\n";
- print STDERR "Options:\n";
- print STDERR "\t-h\t\t\thelp\n";
- print STDERR "\t-M master\t\toverride MWS specified in environment\n";
- print STDERR "\t-m milestone\t\toverride milestone specified in environment\n";
- print STDERR "\t-c child\t\toverride CWS specified in environment\n";
- print STDERR "\t-n testrunName\t\tspecifiy name of the test\n";
- print STDERR "\t-p testrunPlatform\tspecify platform where the test ran on\n";
- print STDERR "\t-r resultPage\t\tspecify name of attachment or hyperlink\n";
- print STDERR "\t\t\t\tfor resultPage\n";
-
-
- print STDERR "\nExample:\n";
- print STDERR "\tcwstestresult -c mycws -n Performance -p Windows -r PerfomanceTestWindows.html ok\n";
-}
diff --git a/solenv/bin/cwstouched b/solenv/bin/cwstouched
deleted file mode 100755
index dac08c07f9a7..000000000000
--- a/solenv/bin/cwstouched
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-if [ x${SOLARENV}x = xx ]; then
- echo No environment found, please use 'configure' or 'setsolar'
- exit 1
-fi
-exec perl -w $SOLARENV/bin/cwstouched.pl
diff --git a/solenv/bin/cwstouched.btm b/solenv/bin/cwstouched.btm
deleted file mode 100755
index 33e442dbb51c..000000000000
--- a/solenv/bin/cwstouched.btm
+++ /dev/null
@@ -1,11 +0,0 @@
-@echo off
-iff "%SOLARENV%" == "" then
- echo No environment found, please use 'configure' or 'setsolar'
- goto end
-endiff
-iff "%PERL%" == "" then
- call perl5 -I%SOLARENV%\bin\modules %SOLARENV%\bin\cwstouched.pl %1&
-else
- call %PERL% -I%SOLARENV%\bin\modules %SOLARENV%\bin\cwstouched.pl %1&
-endiff
-:end
diff --git a/solenv/bin/cwstouched.pl b/solenv/bin/cwstouched.pl
deleted file mode 100755
index eb306277580c..000000000000
--- a/solenv/bin/cwstouched.pl
+++ /dev/null
@@ -1,151 +0,0 @@
-:
-eval 'exec perl -wS $0 ${1+"$@"}'
- if 0;
-
-#*************************************************************************
-# 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.
-#
-#***********************************************************************/
-
-use strict;
-use Cwd;
-
-#### module lookup
-my @lib_dirs;
-BEGIN {
- if ( !defined($ENV{SOLARENV}) ) {
- die "No environment found (environment variable SOLARENV is undefined)";
- }
- push(@lib_dirs, "$ENV{SOLARENV}/bin/modules");
-}
-use lib (@lib_dirs);
-
-use Cws;
-
-# Prototypes
-sub getMinor($);
-sub getCwsWorkStamp();
-
-my $workstamp = $ENV{'WORK_STAMP'};
-my $solenv= $ENV{'SOLARENV'};
-my $cwsWorkStamp = getCwsWorkStamp();
-my $minor = getMinor($cwsWorkStamp);
-
-my $oldWorkStamp = $workstamp."_".$minor;
-my $svndiff="svn diff --summarize --old=svn://svn.services.openoffice.org/ooo/tags/".$oldWorkStamp." --new=svn://svn.services.openoffice.org/ooo/cws/".$cwsWorkStamp;
-
-my @diff = `$svndiff`;
-
-my @modules;
-foreach(@diff)
-{
- if (/.*svn:\/\/svn.services.openoffice.org.*/)
- {
- $_ =~ /.*$oldWorkStamp\/(\w*)/;
- my $newModule=$1;
- if (defined($newModule))
- {
- if ( ! grep(/$newModule/,@modules))
- {
- push(@modules, $newModule);
- }
-
- }
- }
-}
-
-foreach(@modules)
-{
- print "$_\n";
-}
-
-exit(0);
-
-sub getMinor($)
-{
- my $workst = shift;
- my $min="";
-
- if ( ! defined($ENV{'UPDMINOR'}))
- {
- my $cws = Cws->new();
- $cws->child($workst);
- $cws->master($ENV{'WORK_STAMP'});
- my $masterws = $cws->master();
- my $childws = $cws->child();
-
- # check if we got a valid child workspace
- my $id = $cws->eis_id();
- if ( !$id )
- {
- print("Child workspace '$childws' for master workspace '$masterws' not found in EIS database.\n");
- exit(1);
- }
-
- my @milestones = $cws->milestone();
- foreach (@milestones) {
- if ( defined($_) )
- {
- $min=$_;
- }
- }
- }
- else
- {
- $min = $ENV{'UPDMINOR'};
- }
-
- chomp($min);
- return $min;
-}
-
-sub getCwsWorkStamp()
-{
- my $cwsWorkSt="";
-
- if ( ! defined($ENV{'CWS_WORK_STAMP'}))
- {
- my $currPath= cwd;
-
- chdir($ENV{'SOLARENV'});
-
- my @info = `svn info`;
-
- foreach(@info)
- {
- if ( /URL:.*/ )
- {
- # URL: svn+ssh://svn@svn.services.openoffice.org/ooo/cws/qadev37/solenv
- $_ = ~ /.*svn.services.openoffice.org(.*\/(.*))\/\w*/;
- $cwsWorkSt=$2; #qadev37
- }
- }
-
- }
- else
- {
- $cwsWorkSt = $ENV{'CWS_WORK_STAMP'};
- }
- return $cwsWorkSt
-}
diff --git a/solenv/bin/cwstouched.py b/solenv/bin/cwstouched.py
deleted file mode 100755
index 87dfe4b03595..000000000000
--- a/solenv/bin/cwstouched.py
+++ /dev/null
@@ -1,111 +0,0 @@
-#!/usr/bin/python
-
-#*************************************************************************
-# 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.
-#
-#***********************************************************************/
-
-import os
-import sys
-import string
-from os import path
-
-def getCurrPath():
- currPath = sys.path[0] or os.getcwd()
- currPath = path.abspath(currPath)
- return currPath
-
-def getCwsWorkStamp():
- cwsWorkStamp=os.getenv('CWS_WORK_STAMP')
-
- if not cwsWorkStamp:
- currPath=getCurrPath()
-
- os.chdir(os.getenv('SOLARENV'))
-
- (input, output) = os.popen4("svn info")
-
- for outline in output.readlines():
- if outline.startswith("URL:"):
- cwsWorkStamp = outline[outline.index("svn.services"):outline.index("solenv")-1]
- cwsWorkStamp = cwsWorkStamp[cwsWorkStamp.rfind("/")+1:len(cwsWorkStamp)]
- break
-
- os.putenv("CWS_WORK_STAMP",cwsWorkStamp);
- os.chdir(currPath)
-
- return string.strip(cwsWorkStamp)
-
-def getMinor(cwsWorkStamp):
- minor = os.getenv('UPDMINOR')
-
- if not minor:
- if (os.getenv('OSTYPE') == "cygwin"):
- bash=os.getenv("SHELL")
- (input, output) = os.popen4("cygpath -w "+bash)
- winbash=string.strip(output.readlines()[0])
- cws=winbash+" -c 'cws query -c "+cwsWorkStamp+" current'"
- else:
- cws="cws query -c "+cwsWorkStamp+" current"
-
- (input, output) = os.popen4(cws)
-
- found=0
- for outline in output.readlines():
- if found:
- minor=outline
- break
- elif outline.find("Current milestone:") != -1:
- found=1
-
- return string.strip(minor)
-
-
-workstamp = os.getenv('WORK_STAMP')
-solenv= os.getenv('SOLARENV')
-cwsWorkStamp=getCwsWorkStamp()
-minor = getMinor(cwsWorkStamp)
-
-oldWorkStamp = workstamp + "_" + minor
-diff="svn diff --summarize --old=svn://svn.services.openoffice.org/ooo/tags/"+oldWorkStamp+" --new=svn://svn.services.openoffice.org/ooo/cws/"+cwsWorkStamp
-
-modules=[]
-(input, output) = os.popen4(diff)
-
-for outline in output.readlines():
- if outline.find("svn://svn.services.openoffice.org"):
- index = outline.index(oldWorkStamp)+len(oldWorkStamp)+1
- newModule=""
- if outline.find("/",index) != -1:
- # seems to be a file
- newModule=string.strip(outline[index:outline.index("/",index)])
- else:
- #seems to be a folder
- if len(outline[index:]) > 0:
- newModule=string.strip(outline[index:])
- if newModule != "" and not modules.count(newModule):
- modules.append(newModule)
-
-for module in modules:
- print module \ No newline at end of file
diff --git a/solenv/bin/deliver.pl b/solenv/bin/deliver.pl
index b87665c6b011..1d1c53618105 100755
--- a/solenv/bin/deliver.pl
+++ b/solenv/bin/deliver.pl
@@ -43,11 +43,6 @@ use File::Spec;
( $script_name = $0 ) =~ s/^.*\b(\w+)\.pl$/$1/;
-$id_str = ' $Revision: 275594 $ ';
-$id_str =~ /Revision:\s+(\S+)\s+\$/
- ? ($script_rev = $1) : ($script_rev = "-");
-
-
#### globals ####
### valid actions ###
@@ -141,8 +136,6 @@ use sigtrap 'handler' => \&cleanup_and_die, 'normal-signals';
parse_options();
-print "$script_name -- version: $script_rev\n" if !$opt_silent;
-
if ( ! $opt_delete ) {
if ( $ENV{GUI} eq 'WNT' ) {
if ($ENV{COM} eq 'GCC') {
@@ -238,7 +231,7 @@ sub do_linklib
return unless $has_symlinks;
$from_dir = expand_macros('../%__SRC%/lib');
- $to_dir = expand_macros('%_DEST%/lib%_EXT%');
+ $to_dir = expand_macros('%_DEST%/lib');
@globbed_files = glob("$from_dir/$lib");
@@ -268,7 +261,6 @@ sub do_linklib
}
else
{
- # $lib =~ /^(lib[\w-]+(\.so|\.dylib))\.(\d+)$/;
$long = 0;
}
@@ -368,13 +360,13 @@ sub do_symlink
}
}
else {
+ return unless -e $fullfrom;
print "REMOVE: $to\n" if $opt_verbose;
unlink $to;
if ( $opt_delete ) {
push_on_ziplist($to) if $opt_zip;
return;
}
- return unless -e $fullfrom;
print "SYMLIB: $from -> $to\n" if $opt_verbose;
if ( !symlink("$from", "$to") ) {
print_error("can't symlink $from -> $to: $!",0);
@@ -446,7 +438,6 @@ sub parse_options
sub init_globals
{
- my $ext;
($module, $repository, $base_dir, $dlst_file) = get_base();
# for CWS:
@@ -459,38 +450,18 @@ sub init_globals
$umask = 22;
}
- my $build_sosl = $ENV{'BUILD_SOSL'};
my $common_outdir = $ENV{'COMMON_OUTDIR'};
my $inpath = $ENV{'INPATH'};
my $solarversion = $ENV{'SOLARVERSION'};
my $updater = $ENV{'UPDATER'};
- my $updminor = $ENV{'UPDMINOR'};
- my $updminorext = $ENV{'UPDMINOREXT'};
my $work_stamp = $ENV{'WORK_STAMP'};
- # special security check for release engineers
- if ( defined($updater) && !defined($build_sosl) && !$opt_force) {
- my $path = getcwd();
- if ( $path !~ /$work_stamp/io ) {
- print_error("can't deliver from local directory to SOLARVERSION");
- print STDERR "\nDANGER! Release Engineer:\n";
- print STDERR "do you really want to deliver from $path to SOLARVERSION?\n";
- print STDERR "If so, please use the -force switch\n\n";
- exit(7);
- }
- }
-
# do we have a valid environment?
if ( !defined($inpath) ) {
print_error("no environment", 0);
exit(3);
}
- $ext = "";
- if ( ($updminor) && !$dest ) {
- $ext = "$updminorext";
- }
-
# Do we have common trees?
if ( defined($ENV{'common_build'}) && $ENV{'common_build'} eq 'TRUE' ) {
$common_build = 1;
@@ -530,7 +501,6 @@ sub init_globals
[ '%__PRJROOT%', $base_dir ],
[ '%__SRC%', $inpath ],
[ '%_DEST%', $dest ],
- [ '%_EXT%', $ext ],
[ '%COMMON_OUTDIR%', $common_outdir ],
[ '%COMMON_DEST%', $common_dest ],
[ '%GUI%', $gui ]
@@ -601,7 +571,7 @@ sub parse_dlst
if ( /\.res\s/ ) {
my $imagelist = $_;
$imagelist =~ s/\.res/\.$ilst_ext/g;
- $imagelist =~ s/\\bin%_EXT%\\/\\res%_EXT%\\img\\/;
+ $imagelist =~ s/DEST%\\bin\\/DEST%\\res\\img\\/;
push(@action_data, ['copy', $imagelist]);
}
}
@@ -829,10 +799,6 @@ sub copy_if_newer
}
}
fix_file_permissions($$from_stat_ref[2], $temp_file);
- if ( $^O eq 'os2' )
- {
- $rc = unlink($to); # YD OS/2 can't rename if $to exists!
- }
# Ugly hack: on windows file locking(?) sometimes prevents renaming.
# Until we've found and fixed the real reason try it repeatedly :-(
my $try = 0;
@@ -1021,33 +987,33 @@ sub push_default_actions
if ( ! $opt_delete ) {
# create all the subdirectories on solver
foreach $subdir (@subdirs) {
- push(@action_data, ['mkdir', "%_DEST%/$subdir%_EXT%"]);
+ push(@action_data, ['mkdir', "%_DEST%/$subdir"]);
}
if ( $common_build ) {
foreach $subdir (@common_subdirs) {
- push(@action_data, ['mkdir', "%COMMON_DEST%/$subdir%_EXT%"]);
+ push(@action_data, ['mkdir', "%COMMON_DEST%/$subdir"]);
}
}
}
- push(@action_data, ['mkdir', "%_DEST%/inc%_EXT%/$module"]);
+ push(@action_data, ['mkdir', "%_DEST%/inc/$module"]);
if ( $common_build ) {
- push(@action_data, ['mkdir', "%COMMON_DEST%/inc%_EXT%/$module"]);
- push(@action_data, ['mkdir', "%COMMON_DEST%/res%_EXT%/img"]);
+ push(@action_data, ['mkdir', "%COMMON_DEST%/inc/$module"]);
+ push(@action_data, ['mkdir', "%COMMON_DEST%/res/img"]);
} else {
- push(@action_data, ['mkdir', "%_DEST%/res%_EXT%/img"]);
+ push(@action_data, ['mkdir', "%_DEST%/res/img"]);
}
# deliver build.lst to $dest/inc/$module
- push(@action_data, ['copy', "build.lst %_DEST%/inc%_EXT%/$module/build.lst"]);
+ push(@action_data, ['copy', "build.lst %_DEST%/inc/$module/build.lst"]);
if ( $common_build ) {
# ... and to $common_dest/inc/$module
- push(@action_data, ['copy', "build.lst %COMMON_DEST%/inc%_EXT%/$module/build.lst"]);
+ push(@action_data, ['copy', "build.lst %COMMON_DEST%/inc/$module/build.lst"]);
}
# need to copy libstaticmxp.dylib for Mac OS X
if ( $^O eq 'darwin' )
{
- push(@action_data, ['copy', "../%__SRC%/lib/lib*static*.dylib %_DEST%/lib%_EXT%/lib*static*.dylib"]);
+ push(@action_data, ['copy', "../%__SRC%/lib/lib*static*.dylib %_DEST%/lib/lib*static*.dylib"]);
}
}
@@ -1120,20 +1086,8 @@ sub push_on_ziplist
return if ( $opt_check );
# strip $dest from path since we don't want to record it in zip file
if ( $file =~ s#^\Q$dest\E/##o ) {
- if ( $updminor ){
- # strip minor from path
- my $ext = "%_EXT%";
- $ext = expand_macros($ext);
- $file =~ s#^$ext##o;
- }
push(@zip_list, $file);
} elsif ( $file =~ s#^\Q$common_dest\E/##o ) {
- if ( $updminor ){
- # strip minor from path
- my $ext = "%_EXT%";
- $ext = expand_macros($ext);
- $file =~ s#^$ext##o;
- }
push(@common_zip_list, $file);
}
}
@@ -1163,10 +1117,6 @@ sub push_on_loglist
my $solarversion = $ENV{'SOLARVERSION'};
$solarversion =~ s#\\#/#g;
$entry[2] =~ s/^\Q$solarversion\E\///;
- # strip minor from 'to'
- my $ext = "%_EXT%";
- $ext = expand_macros($ext);
- $entry[2] =~ s#$ext([\\\/])#$1#o;
if ( $common ) {
push @common_log_list, [@entry];
@@ -1182,21 +1132,18 @@ sub zip_files
$zipexe .= ' -y' unless $^O eq 'MSWin32';
my ($platform_zip_file, $common_zip_file);
- $platform_zip_file = "%_DEST%/zip%_EXT%/$module.zip";
+ $platform_zip_file = "%_DEST%/zip/$module.zip";
$platform_zip_file = expand_macros($platform_zip_file);
my (%dest_dir, %list_ref);
$dest_dir{$platform_zip_file} = $dest;
$list_ref{$platform_zip_file} = \@zip_list;
if ( $common_build ) {
- $common_zip_file = "%COMMON_DEST%/zip%_EXT%/$module.zip";
+ $common_zip_file = "%COMMON_DEST%/zip/$module.zip";
$common_zip_file = expand_macros($common_zip_file);
$dest_dir{$common_zip_file} = $common_dest;
$list_ref{$common_zip_file} = \@common_zip_list;
}
- my $ext = "%_EXT%";
- $ext = expand_macros($ext);
-
my @zipfiles;
$zipfiles[0] = $platform_zip_file;
if ( $common_build ) {
@@ -1314,8 +1261,8 @@ sub get_tempfilename
sub write_log
{
my (%log_file, %file_date);
- $log_file{\@log_list} = "%_DEST%/inc%_EXT%/$module/deliver.log";
- $log_file{\@common_log_list} = "%COMMON_DEST%/inc%_EXT%/$module/deliver.log";
+ $log_file{\@log_list} = "%_DEST%/inc/$module/deliver.log";
+ $log_file{\@common_log_list} = "%COMMON_DEST%/inc/$module/deliver.log";
$file_date{\@log_list} = $logfiledate;
$file_date{\@common_log_list} = $commonlogfiledate;
diff --git a/solenv/bin/fix_def_file.cmd b/solenv/bin/fix_def_file.cmd
deleted file mode 100644
index 4db97f8ce435..000000000000
--- a/solenv/bin/fix_def_file.cmd
+++ /dev/null
@@ -1,52 +0,0 @@
-/* os2 build scripts
-
-this script is used to process def results
-
-*/
-
-lmax = 0
-smax = ''
-ordinal = 1
-
-do while( lines())
-
- l = strip(linein())
- l = strip(l,,X2C(9))
- l = strip(l,,";")
- if LEFT( l,4) \= 'Java' THEN l = '_'l
-
- /* remove comments */
- if POS(';', l) > 0 then l = LEFT( l, POS(';', l)-1)
- if POS('#', l) > 0 then l = LEFT( l, POS('#', l)-1)
- /* remove wildcards */
- if POS('*', l) > 0 then l = ''
-
- /* remove empty lines */
- if l = '_' then l = ''
-
- /* remove component_getDescriptionFunc, since it is already added by tg_def */
- if l = '_component_getDescriptionFunc' then l = ''
- if l = '_GetVersionInfo' then l = ''
-
- /* remove GLOBAL symbols */
-/*
- if POS('_GLOBAL_', l) > 0 then l = ';'l
- if POS('_ZN4_STL', l) > 0 then l = ';'l
- if POS('_ZNK4_STL', l) > 0 then l = ';'l
-*/
- /* if LENGTH(l) > 254 then l = ';(>254)'left(l,100)*/
-
- IF LENGTH(l)>0 THEN DO
- say l
- ordinal = ordinal + 1
- END
-
- if LENGTH(l)>lmax then do
- lmax = LENGTH(l)
- smax = l
- end
-
-end
-
-say ';lmax='lmax
-say ';smax='smax
diff --git a/solenv/bin/fix_def_ord.cmd b/solenv/bin/fix_def_ord.cmd
deleted file mode 100644
index eaeb666626db..000000000000
--- a/solenv/bin/fix_def_ord.cmd
+++ /dev/null
@@ -1,19 +0,0 @@
-/* os2 build scripts
-
-this script is used to process def results.
-Adds ordinal number to every line.
-
-*/
-
-lmax = 0
-smax = ''
-
-ord = 1
-do while( lines())
-
- l = linein()
- IF LENGTH(l)>0 THEN DO
- say l /* ' @'ord ' RESIDENTNAME' */
- ord = ord + 1
- END
-end
diff --git a/solenv/bin/fix_dxp_file.cmd b/solenv/bin/fix_dxp_file.cmd
deleted file mode 100644
index 66149c1207ea..000000000000
--- a/solenv/bin/fix_dxp_file.cmd
+++ /dev/null
@@ -1,30 +0,0 @@
-/* os2 build scripts
-
-this script is used to process dxp files produced from .map
-
-*/
-
-do while( lines())
-
- l = linein()
-
- l = strip(l)
- l = strip(l,,X2C(9))
- l = strip(l,,";")
- if LEFT( l,4) \= 'Java' THEN l = '_'l
-
- /* remove empty lines */
- if l = '_' then l = ''
-
- /* remove component_getDescriptionFunc, since it is already added by tg_def */
- if l = '_component_getDescriptionFunc' then l = ''
- if l = '_GetVersionInfo' then l = ''
-
- /* remove GLOBAL symbols */
-/*
- if WORDPOS( l, '_GLOBAL_') > 0 then l = ''
-*/
-
- say l
-
-end
diff --git a/solenv/bin/fix_exp_file.cmd b/solenv/bin/fix_exp_file.cmd
deleted file mode 100644
index bec416c06e05..000000000000
--- a/solenv/bin/fix_exp_file.cmd
+++ /dev/null
@@ -1,54 +0,0 @@
-/* os2 build scripts
-
-this script is used to process emxexp results
-
-*/
-
-lmax = 0
-ordinal = 1
-
-do while( lines())
-
- l = strip(linein())
- if POS(';', l) > 0 then l = LEFT(l,POS(';', l)-1)
-
- l = strip(translate(l,'','"'))
- l = strip(l,,X2C(9))
-
- /* remove empty lines */
- if l = '_' then l = ''
-
- /* remove component_getDescriptionFunc, since it is already added by tg_def */
- if l = '_component_getDescriptionFunc' then l = ''
- if l = '_GetVersionInfo' then l = ''
-
-
- /* remove GLOBAL symbols */
- if POS('_GLOBAL_', l) > 0 then l = ';'l
-/*
- if POS('!', l) > 0 then l = ';'l
- if POS('_ZN4_STL', l) > 0 then l = ';'l
- if POS('_ZNK4_STL', l) > 0 then l = ';'l
- if POS('ImplClass', l) > 0 then l = ';'l
- if POS('ImplHelper', l) > 0 then l = ';'l
- if POS('UsageHelper', l) > 0 then l = ';'l
- if POS('com3sun4star3', l) > 0 then l = ';'l
-*/
- /* if LENGTH(l) > 254 then l = ';(>254)'left(l,100) */
-
- if POS(';', l) > 0 then l = LEFT(l,POS(';', l)-1)
-
- IF LENGTH(l)>0 THEN DO
- say l
- ordinal = ordinal + 1
- END
-
- if LENGTH(l)>lmax then do
- lmax = LENGTH(l)
- smax = l
- end
-
-end
-
-say ';lmax='lmax
-say ';smax='smax
diff --git a/solenv/bin/fix_lin_file.cmd b/solenv/bin/fix_lin_file.cmd
deleted file mode 100644
index 0d074ce9f706..000000000000
--- a/solenv/bin/fix_lin_file.cmd
+++ /dev/null
@@ -1,13 +0,0 @@
-/* os2 build scripts
-*/
-
-parse arg dir
-
-do while( lines())
-
- l = linein()
-
- /* skip empty lines */
- if l \= '' then say dir || '\' || l
-
-end
diff --git a/solenv/bin/fix_shl.cmd b/solenv/bin/fix_shl.cmd
deleted file mode 100644
index ca13abb2074e..000000000000
--- a/solenv/bin/fix_shl.cmd
+++ /dev/null
@@ -1,11 +0,0 @@
-/* os2 build scripts
-
-will return a 8.3 conformant name for modname.
-
-21/02/2006 Actually this is a simple truncation, seems nothing more needed.
-
-*/
-
-parse arg modname
-if pos('.',modname)>0 then modname = left(modname, pos('.',modname)-1)
-say strip(left(modname,8))
diff --git a/solenv/bin/gccinstlib.pl b/solenv/bin/gccinstlib.pl
index 90c8f02a3e06..654c95b7290a 100755
--- a/solenv/bin/gccinstlib.pl
+++ b/solenv/bin/gccinstlib.pl
@@ -38,19 +38,23 @@ if ($Dest =~ /--help/ || @ARGV < 1) {
print "Syntax:\n gcc-instlib <library-in-libpath ...> <destination-dir>\n";
exit (0);
}
+
+%SrcAndDest = ();
+
foreach $File (@ARGV) {
my $string;
-
- open (GCCOut, "LANGUAGE=C LC_ALL=C $cc -print-file-name=$File|") || die "Failed to exec $cc -print-file-name=$File $!";
+ my $normalized_file = $File;
+ $normalized_file =~ s/\.so\.\d+/.so/;
+ open (GCCOut, "LANGUAGE=C LC_ALL=C $cc -print-file-name=$normalized_file|") || die "Failed to exec $cc -print-file-name=$normalized_file $!";
$string=<GCCOut>;
chomp ($string);
- push (@CopySrc, $string);
+ $SrcAndDest{$string} = "$Dest/$File";
close (GCCOut);
}
-foreach $Src (@CopySrc) {
- printf "copy $Src to $Dest\n";
- system ("/bin/cp $Src $Dest") && die "copy failed: $!";
+while (($Src, $FullDest) = each %SrcAndDest) {
+ printf "copy $Src to $FullDest\n";
+ system ("/bin/cp $Src $FullDest") && die "copy failed: $!";
}
diff --git a/solenv/bin/gdb_cxa-atexit_trace-stdout b/solenv/bin/gdb_cxa-atexit_trace-stdout
new file mode 100644
index 000000000000..25cfe98974ce
--- /dev/null
+++ b/solenv/bin/gdb_cxa-atexit_trace-stdout
@@ -0,0 +1,8 @@
+set pagination off
+break __cxa_atexit
+commands
+ bt
+ cont
+end
+run
+quit
diff --git a/solenv/bin/gdbtrycatchtrace b/solenv/bin/gdbtrycatchtrace
new file mode 100644
index 000000000000..636985a14d45
--- /dev/null
+++ b/solenv/bin/gdbtrycatchtrace
@@ -0,0 +1,21 @@
+set pagination off
+catch throw
+commands
+ bt
+ cont
+end
+catch catch
+commands
+ bt
+ cont
+end
+echo log will be saved as gdbtrace.log, this will take some time, patience...\n
+set logging redirect on
+set logging file gdbtrace.log
+set logging on
+set logging overwrite on
+run
+bt
+quit
+set logging off
+echo log is saved as gdbtrace.log\n
diff --git a/solenv/bin/gdbtrycatchtrace-stdout b/solenv/bin/gdbtrycatchtrace-stdout
new file mode 100644
index 000000000000..e606a4f12f86
--- /dev/null
+++ b/solenv/bin/gdbtrycatchtrace-stdout
@@ -0,0 +1,14 @@
+set pagination off
+catch throw
+commands
+ bt
+ cont
+end
+catch catch
+commands
+ bt
+ cont
+end
+run
+bt
+quit
diff --git a/solenv/bin/gen_userfeedback_VCL_names.pl b/solenv/bin/gen_userfeedback_VCL_names.pl
index e65968e6b6c2..5cfb5d4c7f9d 100755
--- a/solenv/bin/gen_userfeedback_VCL_names.pl
+++ b/solenv/bin/gen_userfeedback_VCL_names.pl
@@ -59,7 +59,7 @@ for (<HID>) {
if ( exists $hids{$upperlongname} && ( $hids{$upperlongname} != $ID ) )
{
- print STDERR "errror: unclear definition of longname: $longname = $hids{$upperlongname} or $ID\n";
+ print STDERR "warn: unclear definition of longname: $longname = $hids{$upperlongname} or $ID\n";
}
$hids{$upperlongname} = $ID;
@@ -121,7 +121,7 @@ foreach ( glob("$winpath/*win") ) {
$upperlongname =~ tr/a-z/A-Z/;
if ( $shortname !~ /^[\+\*]/ && !exists $hids{$upperlongname} )
{
- print STDERR "errror: Longname not in hid.lst: $filename $longname\n";
+ print STDERR "warn: Longname not in hid.lst: $filename $longname\n";
}
if ( exists $hids{$upperlongname} )
{
@@ -131,7 +131,6 @@ foreach ( glob("$winpath/*win") ) {
}
$iteminfo = "$shortname $longname $ID";
-# print "$iteminfo\n" if ( ! ( $shortname && $longname && $ID ));
$iteminfo =~ s/^\*//;
$iteminfo =~ s/^\+//;
diff --git a/solenv/bin/gsicheck b/solenv/bin/gsicheck
index fb2f65cbe01d..5a09880b9014 100755
--- a/solenv/bin/gsicheck
+++ b/solenv/bin/gsicheck
@@ -5,14 +5,9 @@ exit 1
fi
if [ "${OS?}" = MACOSX ]; then
- export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH:+${DYLD_LIBRARY_PATH}:}${SOLARVERSION?}/${INPATH?}/lib${UPDMINOREXT}
+ export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH:+${DYLD_LIBRARY_PATH}:}${SOLARVERSION?}/${INPATH?}/lib
else
- export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}${SOLARVERSION?}/${INPATH?}/lib${UPDMINOREXT}
-fi
-
-if [ x${SOLARVER}x = xx -o x${UPDMINOREXT}x = xx ]; then
- exec $SOLARVERSION/$INPATH/bin/gsicheck "$@"
-else
- exec $SOLARVERSION/$INPATH/bin$UPDMINOREXT/gsicheck "$@"
+ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}${SOLARVERSION?}/${INPATH?}/lib
fi
+exec $SOLARVERSION/$INPATH/bin/gsicheck "$@"
diff --git a/solenv/bin/guw.pl b/solenv/bin/guw.pl
index c5326204eb49..0e1e0e6654b4 100755
--- a/solenv/bin/guw.pl
+++ b/solenv/bin/guw.pl
@@ -301,15 +301,7 @@ sub replace_cyg_env {
'SOLARVERSION',
'SOLARVER',
'SRC_ROOT',
- 'LOCALINI',
- 'GLOBALINI',
'SOLARENV',
- 'STAR_INSTPATH',
- 'STAR_SOLARPATH',
- 'STAR_PACKMISC',
- 'STAR_SOLARENVPATH',
- 'STAR_INITROOT',
- 'STAR_STANDLST',
'CLASSPATH',
'JAVA_HOME'
);
diff --git a/solenv/bin/hicontrast-to-theme.pl b/solenv/bin/hicontrast-to-theme.pl
deleted file mode 100644
index 027d7405dab2..000000000000
--- a/solenv/bin/hicontrast-to-theme.pl
+++ /dev/null
@@ -1,125 +0,0 @@
-:
- eval 'exec perl -S $0 ${1+"$@"}'
- if 0;
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-#
-# Create ordinary theme from HiContrast images.
-#
-
-use File::Copy;
-use File::Find;
-use File::Path;
-use File::Spec;
-
-( $src, $dst ) = @ARGV;
-
-if ( $src eq "" || $dst eq "" ) {
- print STDERR "Usage: hicontrast-to-theme.pl src dest\n\n";
- print STDERR "Create ordinary theme from HiContrast images.\n";
- exit 1;
-}
-
-$dst = File::Spec->rel2abs( $dst );
-
-@hc_table = (
- [ ".*_h.png", "_h.png", ".png" ],
- [ ".*_sch.png", "_sch.png", ".png" ],
- [ ".*_hc.png", "_hc.png", ".png" ],
- [ "lch_.*.png", "lch_", "lc_" ],
- [ "sch_.*.png", "sch_", "sc_" ],
- [ "lch[0-9].*.png", "lch", "lc" ],
- [ "sch[0-9].*.png", "sch", "sc" ],
- [ "loh[0-9].*.png", "loh", "lo" ],
- [ "lxh[0-9].*.png", "lxh", "lx" ],
- [ "sxh[0-9].*.png", "sxh", "sx" ],
- [ "avh[0-9].*.png", "avh", "av" ],
- [ "avlh[0-9].*.png", "avlh", "avl" ],
- [ "idh[0-9].*.png", "idh", "id" ],
- [ "imh[0-9].*.png", "imh", "im" ],
- [ "mih[0-9].*.png", "mih", "mi" ],
- [ "tbh[0-9].*.png", "tbh", "tb" ],
- [ "nah[0-9].*.png", "nah", "na" ],
- [ "nch[0-9].*.png", "nch", "nc" ],
- [ "nvh[0-9].*.png", "nvh", "nv" ],
- [ "ouh[0-9].*.png", "ouh", "ou" ],
- [ "ddh[0-9].*.png", "ddh", "dd" ],
- [ "sfh[0-9].*.png", "sfh", "sf" ],
- [ "srh[0-9].*.png", "srh", "sr" ],
- [ "wrh[0-9].*.png", "wrh", "wr" ],
- [ "alh[0-9].*.png", "alh", "al" ],
- [ "ath[0-9].*.png", "ath", "at" ],
- [ "bih[0-9].*.png", "bih", "bi" ],
- [ "coh[0-9].*.png", "coh", "co" ],
- [ "foh[0-9].*.png", "foh", "fo" ],
- [ "fuh[0-9].*.png", "fuh", "fu" ],
- [ "oph[0-9].*.png", "oph", "op" ],
- [ "unh[0-9].*.png", "unh", "un" ],
- [ "edh[0-9].*.png", "edh", "ed" ],
- [ "cdh[0-9].*.png", "cdh", "cd" ],
- [ "frh[0-9].*.png", "frh", "fr" ],
- [ "fwh[0-9].*.png", "fwh", "fw" ],
- [ "nuh[0-9].*.png", "nuh", "nu" ],
- [ "prh[0-9].*.png", "prh", "pr" ],
- [ "shh[0-9].*.png", "shh", "sh" ],
- [ "trh[0-9].*.png", "trh", "tr" ],
- [ "reh[0-9].*.png", "reh", "re" ],
- [ "joh[0-9].*.png", "joh", "jo" ],
- [ "fph[0-9].*.png", "fph", "fp" ],
- [ "dah[0-9].*.png", "dah", "da" ]
-);
-
-my (@from_stat, @to_stat);
-
-sub copy_normalized {
- $file = $_;
- for $hc ( @hc_table ) {
- ( $what, $from, $to ) = @$hc;
- if ( $file =~ /$what/&&!($file=~/\.svn/) ) {
- my $dir = File::Spec->catdir( $dst, $File::Find::dir );
-
- if ( ! -d $dir ) {
- mkpath( $dir );
- }
-
- ( my $copy = $file ) =~ s/$from/$to/;
- $copy = File::Spec->catfile( $dir, $copy );
-
- @from_stat = stat($file);
- @to_stat = stat($copy);
- if ( $from_stat[9] > $to_stat[9] ) {
- copy( $file, $copy ) || die $!;
- utime( $from_stat[9], $from_stat[9], $copy );
- }
-
- last;
- }
- }
-}
-
-chdir( $src );
-find( \&copy_normalized, '.' );
diff --git a/solenv/bin/id-lang.map b/solenv/bin/id-lang.map
new file mode 100644
index 000000000000..acc5afc0cba6
--- /dev/null
+++ b/solenv/bin/id-lang.map
@@ -0,0 +1,105 @@
+# Welcome to the mkid language mapper.
+#
+# The format of each line is:
+#
+# <pattern> <language> [options]
+#
+# Filenames are matched top-to-bottom against the patterns, and the
+# first match is chosen. The special language `IGNORE' means that
+# this file should be ignored by mkid. The options are
+# language-specific command-line options to mkid.
+#
+# If a file name doesn't match any pattern, it is assigned the default
+# language. The default language may be specified here with the
+# special pattern `**', or overridden from the mkid command-line with
+# the `--default-lang=LANG' option.
+#
+# The special pattern `***' means to include the named file that
+# immediately follows. If no file is named, then the default system
+# language mapper file (i.e., this file) is included.
+
+# Default language
+** IGNORE # Although this is listed first,
+ # the default language pattern is
+ # logically matched last.
+
+# Backup files
+*~ IGNORE
+*.bak IGNORE
+*.bk[0-9] IGNORE
+
+# SCCS files
+[sp].* IGNORE
+
+# C dependencies created by automake
+*/.deps/* IGNORE
+
+*.h C
+*.h.in C
+*.H C++
+*.hh C++
+*.hpp C++
+*.hxx C++
+
+*.l C
+*.lex C
+*.y C
+*.yacc C
+
+*.c C
+*.C C++
+*.cc C++
+*.cpp C++
+*.cxx C++
+
+*.java Java
+
+ChangeLog* Cdoc
+
+*.[sS] asm --comment=;
+*.asm asm --comment=;
+
+# [nt]roff
+*.[0-9] roff
+*.ms roff
+*.me roff
+*.mm roff
+
+*.tex TeX
+*.ltx TeX
+*.texi texinfo
+*.texinfo texinfo
+
+# portable object (i18n)
+*.po po
+
+*.el lisp
+*.elc lisp
+*.lisp lisp
+*.scm lisp
+
+*.am make
+Makefile make
+Makefile.* make
+
+*.doc text
+*.txt text
+
+*.m4 m4
+
+*.pl perl
+*.pm perl
+
+*.gz FILTER gzip -d <%s
+*.Z FILTER gzip -d <%s
+
+######### OOo-specific stuff #######################################
+
+# Treat OOo resource header files as C files
+*.hrc C
+# Treat OOo header files generated from *.idl as C++ files
+*.hdl C++
+# Treat OOo resource files as C files
+*.src C
+# Treat OOo *.mk files as makefiles
+*.mk make
diff --git a/solenv/bin/image-sort.pl b/solenv/bin/image-sort.pl
index 16c792608c66..e4fd8491baf2 100755
--- a/solenv/bin/image-sort.pl
+++ b/solenv/bin/image-sort.pl
@@ -28,7 +28,7 @@ sub read_new_icons($$)
my @new_icons;
my %new_icons;
for my $icon (@images) {
- my $iname = "res/commandimagelist/" . $prefix . $icon . ".png";
+ my $iname = "cmd/" . $prefix . $icon . ".png";
if (!defined $global_hash{$iname} &&
!defined $new_icons{$iname}) {
push @new_icons, $iname;
diff --git a/solenv/bin/linkoo b/solenv/bin/linkoo
index fe75d0d562d4..b1fdc6e271d0 100755
--- a/solenv/bin/linkoo
+++ b/solenv/bin/linkoo
@@ -2,6 +2,8 @@
eval 'exec perl -S $0 ${1+"$@"}'
if 0;
+use strict;
+
#*************************************************************************
#
# This app makes it easy to link a live build
@@ -33,53 +35,71 @@
# <http://www.openoffice.org/license.html>
# for a copy of the LGPLv3 License.
#
+# This file substantially, if not wholely written by volunteers, not Oracle
+#
#*************************************************************************
# ends up in program/ooenv
-( $moz_lib = `pkg-config --variable=libdir mozilla-nss` ) =~ tr/\n/:/;
-$env_script = '
-java_path=`./javaldx`
-export LD_LIBRARY_PATH=".:$java_path:' . $moz_lib . '$LD_LIBRARY_PATH"
+( my $moz_lib = `pkg-config --variable=libdir mozilla-nss` ) =~ tr/\n/:/;
+my $env_script = '
+java_path=`$thisdir/../basis-link/ure-link/bin/javaldx 2>/dev/null`
+export LD_LIBRARY_PATH="$thisdir:$java_path:' . $moz_lib . '$LD_LIBRARY_PATH"
ulimit -c unlimited
-export PATH=".:$PATH"
+export PATH="$thisdir/:$thisdir/../basis-link/program:$thisdir/../basis-link/ure-link/bin:$PATH"
export GNOME_DISABLE_CRASH_DIALOG=1
-export STAR_RESOURCEPATH=`pwd`/resource
+export STAR_RESOURCEPATH=$thisdir/../basis-link/program/resource
# debugging assistance
-export OOO_FORCE_SYSALLOC=1
+export SAL_DISABLE_FLOATGRAB=1
+export G_SLICE=always-malloc
export MALLOC_CHECK_=2
export OOO_DISABLE_RECOVERY=1
+export SAL_ALLOW_LINKOO_SYMLINKS=1
';
-$program_dir = 'program';
-$program_dir = 'MacOS' if ($ENV{OS} eq 'MACOSX');
+my $dry_run = 0;
+my $usage = 0;
+my $LANG;
+my $TARGET;
+my $LIBVER;
+my $OOO_BUILD;
+my $OOO_INSTALL;
+
+my $program_dir = 'basis-link/program';
+my $brand_program_dir = 'program';
+my $ure_misc_dir = 'basis-link/ure-link/share/misc';
+my $ure_java_dir = 'basis-link/ure-link/share/java';
+my $ure_lib_dir = 'basis-link/ure-link/lib';
+
+$program_dir = 'openoffice.org/basis-link/MacOS' if ($ENV{OS} eq 'MACOSX'); # FIXME probably wrong
my @exceptions = ( 'cppuhelper', 'sunjavaplugin', 'libjvmfwk' );
-%replaceable = (
- $program_dir => '\.so',
+my %replaceable = (
+ $program_dir => '\.so',
$program_dir . '/resource' => '\.res$',
$program_dir . '/classes' => '\.jar$',
- 'share/config' => '\.zip$',
+ 'basis-link/share/config' => '\.zip$',
# 'share/uno_packages' => '\.zip$'
);
# strangely enough, OSX has those small differences...
$replaceable{$program_dir} = '\.dylib$' if ($ENV{OS} eq 'MACOSX');
+$replaceable{$ure_lib_dir} = '\.dylib$' if ($ENV{OS} eq 'MACOSX');
-@search_dirs = ( 'lib', 'bin', 'class' );
+my @search_dirs = ( 'lib', 'bin', 'class' );
-@known_duplicates = ( 'db.jar', 'libi18n' );
+my @known_duplicates = ( 'db.jar', 'libi18n' );
sub sniff_target($)
{
my $build_dir = shift;
my ($dirhandle, $fname);
- my ($target, $libver, $lang) = ( 'unxlngi4.pro', '680', 'en-US' ); # defaults
-
+ my ($target, $libver, $lang) = ( 'unxlngi6.pro', '680', 'en-US' ); # defaults
+
opendir ($dirhandle, $build_dir) || die "Can't open $build_dir";
while ($fname = readdir ($dirhandle)) {
$fname =~ /Set.sh$/ || next;
-
+
my $file;
open ($file, "$build_dir/$fname") || die "Can't open $build_dir/$fname";
while (<$file>) {
@@ -175,12 +195,45 @@ sub do_link($$$$@)
}
}
+sub scan_one_dir($$$$)
+{
+ my ($installed_files, $build_files, $path, $solver) = @_;
+
+ for my $elem (@search_dirs) {
+ my $dirh_module;
+ my $module_path = "$path/$elem";
+ if (opendir ($dirh_module, $module_path)) {
+ while (my $file = readdir ($dirh_module)) {
+ if (defined $installed_files->{$file}) {
+ if (defined $build_files->{$file}) {
+ my $known = 0;
+ for my $regexp (@known_duplicates) {
+ if ($file =~ m/$regexp/) {
+ $known = 1;
+ }
+ }
+ if (!$known && !$solver) {
+ print STDERR "\nlinkoo:: Unknown duplicate file '$file' in: '" .
+ $build_files->{$file} . "' vs '" .
+ $module_path . "' in module $path\n";
+ exit (1);
+ }
+ } else {
+ $build_files->{$file} = $module_path;
+ }
+ }
+ }
+ }
+ closedir ($dirh_module);
+ }
+}
+
sub scan_and_link_files($$$)
{
my $build_path = shift;
my $installed_files = shift;
my $target = shift;
-
+
my @modules = ();
my $dirh_toplevel;
opendir ($dirh_toplevel, $build_path) || die "Can't open '$build_path': $!";
@@ -192,42 +245,21 @@ sub scan_and_link_files($$$)
}
closedir ($dirh_toplevel);
-# FIXME: re-implement the $product functionality
- my $module;
+ # Scan the old-style module/$target/lib directories ...
my %build_files;
- for $module (@modules) {
- for $elem (@search_dirs) {
- my $dirh_module;
- my $module_path = "$module/$elem";
- if (opendir ($dirh_module, $module_path)) {
- while (my $file = readdir($dirh_module)) {
- if (defined $installed_files->{$file}) {
- if (defined $build_files{$file}) {
- my $known = 0;
- for my $regexp (@known_duplicates) {
- if ($file =~ m/$regexp/) {
- $known = 1;
- }
- }
- if (!$known) {
- print "Unknown duplicate file '$file' in: '" .
- $build_files{$file} . "' vs '" .
- $module_path . "' in module $module\n";
- exit (1);
- }
- }
- $build_files{$file} = $module_path;
- }
- }
- }
- closedir ($dirh_module);
- }
+ for my $module (@modules) {
+ scan_one_dir ($installed_files, \%build_files, $module, 0);
}
+ # Now scan the solver
+ my $upd = 300;
+ $upd = $ENV{UPD} if (defined $ENV{UPD});
+ scan_one_dir ($installed_files, \%build_files, "$build_path/solver/$upd/$target", 1);
+
for my $file (keys %build_files) {
my $src = $build_files{$file};
my $dest = $installed_files->{$file};
-
+
do_link ($src, $dest, $file, $file);
}
print "\n";
@@ -257,8 +289,8 @@ sub evilness($)
sub link_iso_res()
{
print "Special iso.res case: ";
- my $ooo_res="$OOO_INSTALL/" . $program_dir . "/resource/ooo".$LIBVER.$LANG.".res";
- my $star_res="$OOO_INSTALL/" . $program_dir . "/resource/iso".$LIBVER.$LANG.".res";
+ my $ooo_res="$OOO_INSTALL/" . $brand_program_dir . "/resource/ooo".$LIBVER.$LANG.".res";
+ my $star_res="$OOO_INSTALL/" . $brand_program_dir . "/resource/iso".$LIBVER.$LANG.".res";
if (-l $ooo_res && -l $star_res) {
if ($dry_run) {
print "link $ooo_res to $star_res";
@@ -272,39 +304,39 @@ sub link_iso_res()
}
# Hack for (renamed) types.rdb (types.db)
+sub link_oovbaapi_rdb()
+{
+ print "oovbaapi.rdb case:";
+ my $src = "$OOO_BUILD/oovbaapi/$TARGET/ucr";
+ my $dest = "$OOO_INSTALL/" . $program_dir;
+ do_link ($src, $dest, 'oovbaapi.db', 'oovbaapi.rdb');
+ print "\n";
+}
+
sub link_types_rdb()
{
print "Types.rdb case:";
my $src = "$OOO_BUILD/offapi/$TARGET/ucr";
- my $dest = "$OOO_INSTALL/" . $program_dir;
+ my $dest = "$OOO_INSTALL/" . $ure_misc_dir;
do_link ($src, $dest, 'types.db', 'types.rdb');
print "\n";
}
-# link installed files back into src tree:
-sub link_soffice_bin_files()
+sub link_pagein_files()
{
- my $dest;
- my $src = "$OOO_INSTALL/" . $program_dir;
-
- print "soffice files";
- $dest = "$OOO_BUILD/desktop/$TARGET/bin";
- do_link ($src, $dest, 'soffice', 'soffice.bin', 1);
- do_link ($src, $dest, 'bootstraprc', 'bootstraprc', 1);
- do_link ($src, $dest, 'intro.bmp', 'intro.bmp', 1);
- do_link ("$OOO_INSTALL", "$OOO_BUILD/desktop/$TARGET", 'share', 'share', 1);
-
+ print "pagein case:";
+ my $src = "$OOO_BUILD/desktop/$TARGET/misc";
+ my $dest = "$OOO_INSTALL/" . $program_dir;
+ for my $c ('calc', 'draw', 'impress', 'writer', 'common') {
+ do_link ($src, $dest, "pagein-$c", "pagein-$c");
+ }
print "\n";
}
-my $a;
-my $usage = 0;
-for $a (@ARGV) {
+for my $a (@ARGV) {
# options
- if ($a =~ /--product/) {
- $product = 1;
- } elsif ($a =~ /--dry-run/) {
+ if ($a =~ /--dry-run/) {
$dry_run = 1;
} elsif (($a eq '--help') || ($a eq '-h')) {
$usage = 1;
@@ -325,7 +357,7 @@ if (!defined $OOO_BUILD && defined $ENV{SRC_ROOT}) {
}
if ($usage || !defined $OOO_INSTALL || !defined $OOO_BUILD) {
- printf "Usage: linkoo </path/to/ooo/install> [</path/to/ooo/build/tree>] [--product] [--dry-run]\n";
+ printf "Usage: linkoo </path/to/ooo/install> [</path/to/ooo/build/tree>] [--dry-run]\n";
exit (1);
}
@@ -346,12 +378,16 @@ my $installed_files = build_installed_list ($OOO_INSTALL);
scan_and_link_files ($OOO_BUILD, $installed_files, $TARGET);
link_iso_res();
link_types_rdb();
-link_soffice_bin_files();
-
-if (!-f "$OOO_INSTALL/" . $program_dir . "/ooenv") {
- print "Creating '$OOO_INSTALL/", $program_dir, "/ooenv'\n";
- open ($ooenv, ">$OOO_INSTALL/" . $program_dir . "/ooenv") || die "Can't open $OOO_INSTALL/" . $program_dir . "/ooenv: $!";
+link_oovbaapi_rdb();
+link_pagein_files();
+
+if (!-f "$OOO_INSTALL/" . $brand_program_dir . "/ooenv") {
+ my $ooenv;
+ print "Creating '$OOO_INSTALL/", $brand_program_dir, "/ooenv'\n";
+ open ($ooenv, ">$OOO_INSTALL/" . $brand_program_dir . "/ooenv") || die "Can't open $OOO_INSTALL/" . $brand_program_dir . "/ooenv: $!";
+ print $ooenv "thisdir=$OOO_INSTALL/" . $brand_program_dir . "/\n";
print $ooenv $env_script;
+ print $ooenv "# testtool\nexport SRC_ROOT=$OOO_BUILD\n";
close ($ooenv);
}
diff --git a/solenv/bin/localize b/solenv/bin/localize
index ef5550e72e67..9504e8ee37ed 100755
--- a/solenv/bin/localize
+++ b/solenv/bin/localize
@@ -7,14 +7,9 @@ fi
# localize.pl calls localize_sl in solver bin directory which depends on dynamic
# libraries in solver lib directory but has no correct RPATH (or equivalent):
if [ "${OS?}" = MACOSX ]; then
- export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH:+${DYLD_LIBRARY_PATH}:}${SOLARVERSION?}/${INPATH?}/lib${UPDMINOREXT}
+ export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH:+${DYLD_LIBRARY_PATH}:}${SOLARVERSION?}/${INPATH?}/lib
else
- export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}${SOLARVERSION?}/${INPATH?}/lib${UPDMINOREXT}
-fi
-
-if [ x${SOLARVER}x = xx -o x${UPDMINOREXT}x = xx ]; then
- exec perl -w $SOLARVERSION/$INPATH/bin/localize.pl "$@"
-else
- exec perl -w $SOLARVERSION/$INPATH/bin$UPDMINOREXT/localize.pl "$@"
+ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}${SOLARVERSION?}/${INPATH?}/lib
fi
+exec perl -w $SOLARVERSION/$INPATH/bin/localize.pl "$@"
diff --git a/solenv/bin/localize_sl b/solenv/bin/localize_sl
index af7f8351406c..d0db56084a19 100755
--- a/solenv/bin/localize_sl
+++ b/solenv/bin/localize_sl
@@ -5,14 +5,9 @@ exit 1
fi
if [ "${OS?}" = MACOSX ]; then
- export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH:+${DYLD_LIBRARY_PATH}:}${SOLARVERSION?}/${INPATH?}/lib${UPDMINOREXT}
+ export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH:+${DYLD_LIBRARY_PATH}:}${SOLARVERSION?}/${INPATH?}/lib
else
- export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}${SOLARVERSION?}/${INPATH?}/lib${UPDMINOREXT}
-fi
-
-if [ x${SOLARVER}x = xx -o x${UPDMINOREXT}x = xx ]; then
- exec $SOLARVERSION/$INPATH/bin/localize_sl "$@"
-else
- exec $SOLARVERSION/$INPATH/bin$UPDMINOREXT/localize_sl "$@"
+ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}${SOLARVERSION?}/${INPATH?}/lib
fi
+exec $SOLARVERSION/$INPATH/bin/localize_sl "$@"
diff --git a/solenv/bin/macosx-change-install-names.pl b/solenv/bin/macosx-change-install-names.pl
index d6eb83ff99ef..29bf64de2b6b 100644
--- a/solenv/bin/macosx-change-install-names.pl
+++ b/solenv/bin/macosx-change-install-names.pl
@@ -48,6 +48,7 @@ sub action($$$)
'shl/BOXT/URELIB' => '@executable_path/urelibs',
'shl/BOXT/OOO' => '@loader_path/../../../basis-link/program',
'shl/NONE/URELIB' => '@__VIA_LIBRARY_PATH__',
+ 'shl/OOO/NONE' => '@__VIA_LIBRARY_PATH__',
'shl/NONE/OOO' => '@__VIA_LIBRARY_PATH__',
'shl/NONE/NONE' => '@__VIA_LIBRARY_PATH__');
my ($type, $loc1, $loc2) = @_;
@@ -111,6 +112,8 @@ foreach $file (@ARGV)
{
$change .= " -change $1 " . action($type, $loc, $2) . "$3"
if m'^\s*(@_{50}([^/]+)(/.+)) \(compatibility version \d+\.\d+\.\d+, current version \d+\.\d+\.\d+\)\n$';
+ $change .= ' -change '.$1.' @loader_path/'.$2
+ if m'^\s*(/python-inst/(OOoPython.framework/Versions/[^/]+/OOoPython))';
}
close(IN);
if ($change ne "")
diff --git a/solenv/bin/macosx-dylib-link-list.pl b/solenv/bin/macosx-dylib-link-list.pl
index 1554bbe56016..ab2279f62cd8 100644
--- a/solenv/bin/macosx-dylib-link-list.pl
+++ b/solenv/bin/macosx-dylib-link-list.pl
@@ -76,6 +76,7 @@ foreach $file (@todo)
{
my $full = $1;
my $loc = locate($2);
+ $loc = locate($1) if $full =~ m'^\s*@loader_path/(OOoPython.framework/Versions/[^/]+/OOoPython)';
if (defined $loc)
{
handle($full, $loc) unless defined $done{$full};
diff --git a/solenv/bin/make_download.pl b/solenv/bin/make_download.pl
index dd492ea3bfa1..62d8888bc383 100644
--- a/solenv/bin/make_download.pl
+++ b/solenv/bin/make_download.pl
@@ -68,9 +68,6 @@ foreach my $infofilename ( @{$infofilelist} )
installer::logger::print_message( "... WARNING: Signing only for Windows platforms active ...\n" );
}
- # installer::logger::include_header_into_logfile("Reading include pathes");
- # installer::worker::collect_all_files_from_includepathes($followmeinfohash->{'includepatharray'});
-
if (( $installer::globals::iswindowsbuild ) && ( $installer::globals::dosign ))
{
$followmeinfohash->{'finalinstalldir'} = installer::windows::sign::sign_install_set($followmeinfohash, $do_copy, $temppath);
diff --git a/solenv/bin/make_installer.pl b/solenv/bin/make_installer.pl
index c85aaffcde07..561dcef6d16c 100644
--- a/solenv/bin/make_installer.pl
+++ b/solenv/bin/make_installer.pl
@@ -44,11 +44,10 @@ use installer::exiter;
use installer::files;
use installer::followme;
use installer::globals;
-use installer::javainstaller;
+use installer::helppack;
use installer::languagepack;
use installer::languages;
use installer::logger;
-use installer::mail;
use installer::packagelist;
use installer::packagepool;
use installer::parameter;
@@ -270,7 +269,6 @@ installer::simplepackage::check_simple_packager_project($allvariableshashref);
####################################################################
installer::control::set_addchildprojects($allvariableshashref);
-installer::control::set_addjavainstaller($allvariableshashref);
installer::control::set_addsystemintegration($allvariableshashref);
########################################################
@@ -435,8 +433,8 @@ $filesinproductarrayref = installer::scriptitems::remove_delete_only_files_from_
if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productfiles2.log", $filesinproductarrayref); }
if (( ! $installer::globals::iswindowsbuild ) &&
- ( ! $installer::globals::islinuxrpmbuild ) &&
- ( ! $installer::globals::islinuxdebbuild ) &&
+ ( ! $installer::globals::isrpmbuild ) &&
+ ( ! $installer::globals::isdebbuild ) &&
( ! $installer::globals::issolarispkgbuild ) &&
( $installer::globals::packageformat ne "installed" ) &&
( $installer::globals::packageformat ne "dmg" ) &&
@@ -452,6 +450,12 @@ if (! $installer::globals::languagepack)
if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productfiles2b.log", $filesinproductarrayref); }
}
+if (! $installer::globals::helppack)
+{
+ $filesinproductarrayref = installer::scriptitems::remove_Helppacklibraries_from_Installset($filesinproductarrayref);
+ if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productfiles2b2.log", $filesinproductarrayref); }
+}
+
if (! $installer::globals::patch)
{
$filesinproductarrayref = installer::scriptitems::remove_patchonlyfiles_from_Installset($filesinproductarrayref);
@@ -482,6 +486,7 @@ if (( ! $allvariableshashref->{'XPDINSTALLER'} ) || ( ! $installer::globals::isx
}
if ( $installer::globals::languagepack ) { installer::scriptitems::use_langpack_copy_scpaction($scpactionsinproductarrayref); }
+if ( $installer::globals::helppack ) { installer::scriptitems::use_langpack_copy_scpaction($scpactionsinproductarrayref); }
if ( $installer::globals::patch ) { installer::scriptitems::use_patch_copy_scpaction($scpactionsinproductarrayref); }
if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productscpactions1b.log", $scpactionsinproductarrayref); }
@@ -501,9 +506,6 @@ installer::logger::print_message( "... analyzing unix links ... \n" );
my $unixlinksinproductarrayref = installer::setupscript::get_all_items_from_script($setupscriptref, "Unixlink");
if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "unixlinks1.log", $unixlinksinproductarrayref); }
-# $unixlinksinproductarrayref = installer::scriptitems::filter_layerlinks_from_unixlinks($unixlinksinproductarrayref);
-# if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "unixlinks1b.log", $unixlinksinproductarrayref); }
-
installer::logger::print_message( "... analyzing profile ... \n" );
my $profilesinproductarrayref = installer::setupscript::get_all_items_from_script($setupscriptref, "Profile");
@@ -643,6 +645,17 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
else { $installer::globals::makedownload = 0; }
}
+ if ( $installer::globals::helppack )
+ {
+ $installer::globals::addchildprojects = 0;
+ $installer::globals::addsystemintegration = 0;
+ $installer::globals::makejds = 0;
+ $installer::globals::addlicensefile = 0;
+
+ if ( $allvariableshashref->{'OPENSOURCE'} ) { $installer::globals::makedownload = 1; }
+ else { $installer::globals::makedownload = 0; }
+ }
+
############################################################
# Beginning of language specific logging mechanism
# Until now only global logging into default: logfile.txt
@@ -810,7 +823,6 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productfiles10c.log", $filesinproductlanguageresolvedarrayref); }
}
-
if ( ! $allvariableshashref->{'NO_README_IN_ROOTDIR'} )
{
$filesinproductlanguageresolvedarrayref = installer::scriptitems::add_License_Files_into_Installdir($filesinproductlanguageresolvedarrayref, $dirsinproductlanguageresolvedarrayref, $languagesarrayref);
@@ -909,9 +921,6 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
($directoriesforepmarrayref, $alldirectoryhash) = installer::scriptitems::collect_directories_with_create_flag_from_directoryarray($dirsinproductlanguageresolvedarrayref, $alldirectoryhash);
if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "directoriesforepmlist2.log", $directoriesforepmarrayref); }
- # installer::sorter::sorting_array_of_hashes($directoriesforepmarrayref, "HostName");
- # if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "directoriesforepmlist3.log", $directoriesforepmarrayref); }
-
#########################################################
# language dependent scpactions part
#########################################################
@@ -984,7 +993,7 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
my $profilesinproductlanguageresolvedarrayref;
my $profileitemsinproductlanguageresolvedarrayref;
- if ((!($installer::globals::is_copy_only_project)) && (!($installer::globals::product =~ /ada/i )) && (!($installer::globals::languagepack)))
+ if ((!($installer::globals::is_copy_only_project)) && (!($installer::globals::product =~ /ada/i )) && (!($installer::globals::languagepack)) && (!($installer::globals::helppack)))
{
installer::logger::print_message( "... creating profiles ...\n" );
@@ -1089,7 +1098,6 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
installer::scriptitems::changing_name_of_language_dependent_keys($modulesinproductlanguageresolvedarrayref);
if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes_modules($loggingdir . "modules3a.log", $modulesinproductlanguageresolvedarrayref); }
- # installer::scriptitems::collect_language_specific_names($modulesinproductlanguageresolvedarrayref);
installer::scriptitems::select_required_language_strings($modulesinproductlanguageresolvedarrayref); # using english strings
}
@@ -1126,6 +1134,35 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
}
+ # Help pack projects can now start to select the required information
+ if ( $installer::globals::helppack )
+ {
+ $filesinproductlanguageresolvedarrayref = installer::helppack::select_help_items($filesinproductlanguageresolvedarrayref, $languagesarrayref, "File");
+ if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productfiles16b2.log", $filesinproductlanguageresolvedarrayref); }
+ $scpactionsinproductlanguageresolvedarrayref = installer::helppack::select_help_items($scpactionsinproductlanguageresolvedarrayref, $languagesarrayref, "ScpAction");
+ if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productscpactions6b2.log", $scpactionsinproductlanguageresolvedarrayref); }
+ $linksinproductlanguageresolvedarrayref = installer::helppack::select_help_items($linksinproductlanguageresolvedarrayref, $languagesarrayref, "Shortcut");
+ if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productlinks8b2.log", $linksinproductlanguageresolvedarrayref); }
+ $unixlinksinproductlanguageresolvedarrayref = installer::helppack::select_help_items($unixlinksinproductlanguageresolvedarrayref, $languagesarrayref, "Unixlink");
+ if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "unixlinks5b2.log", $unixlinksinproductlanguageresolvedarrayref); }
+ @{$folderitemsinproductlanguageresolvedarrayref} = (); # no folderitems in helppacks
+
+ # Collecting the directories again, to include only the language specific directories
+ ($directoriesforepmarrayref, $alldirectoryhash) = installer::scriptitems::collect_directories_from_filesarray($filesinproductlanguageresolvedarrayref);
+ if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "directoriesforepmlist3ahelppack.log", $directoriesforepmarrayref); }
+ ($directoriesforepmarrayref, $alldirectoryhash) = installer::scriptitems::collect_directories_with_create_flag_from_directoryarray($dirsinproductlanguageresolvedarrayref, $alldirectoryhash);
+ if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "directoriesforepmlist3bhelppack.log", $directoriesforepmarrayref); }
+ installer::sorter::sorting_array_of_hashes($directoriesforepmarrayref, "HostName");
+ if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "directoriesforepmlist3chelppack.log", $directoriesforepmarrayref); }
+
+ if ( $installer::globals::iswindowsbuild )
+ {
+ $registryitemsinproductlanguageresolvedarrayref = installer::worker::select_helppack_items($registryitemsinproductlanguageresolvedarrayref, "RegistryItem");
+ if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "registryitems3aa2.log", $registryitemsinproductlanguageresolvedarrayref); }
+ }
+
+ }
+
# Collecting all files without flag PATCH (for maintenance reasons)
if ( $installer::globals::patch ) { installer::worker::collect_all_files_without_patch_flag($filesinproductlanguageresolvedarrayref); }
@@ -1253,12 +1290,13 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
# Creating directories
####################################################
+ if ( $allvariableshashref->{'OOODOWNLOADNAME'} ) { installer::download::set_download_filename($languagestringref, $allvariableshashref); }
+ else { installer::download::resolve_variables_in_downloadname($allvariableshashref, "", $languagestringref); }
+
$installdir = installer::worker::create_installation_directory($shipinstalldir, $languagestringref, \$current_install_number);
my $listfiledir = installer::systemactions::create_directories("listfile", $languagestringref);
my $installlogdir = installer::systemactions::create_directory_next_to_directory($installdir, "log");
- # installer::packagelist::add_defaultpathes_into_filescollector($filesinproductlanguageresolvedarrayref);
- # my $installchecksumdir = installer::systemactions::create_directory_next_to_directory($installdir, "checksum");
####################################################
# Reading for Solaris all package descriptions
@@ -1283,6 +1321,11 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
if ( $installer::globals::languagepack ) { installer::languagepack::replace_languagestring_variable($onepackage, $languagestringref); }
+ # checking, if this is a help pack
+ # Creating help packs only, if $installer::globals::helppack is set. Parameter: -helppack
+
+ if ( $installer::globals::helppack ) { installer::helppack::replace_languagestring_variable($onepackage, $languagestringref); }
+
my $onepackagename = $onepackage->{'module'}; # name of the top module (required)
my $shellscriptsfilename = "";
@@ -1326,6 +1369,7 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
my $oldpackagename = $packagename;
$installer::globals::add_required_package = $oldpackagename; # the link rpm requires the non-linked version
if ( $installer::globals::languagepack ) { $packagename = $packagename . "_u"; }
+ elsif ( $installer::globals::helppack ) { $packagename = $packagename . "_v"; } # wtf...
else { $packagename = $packagename . "u"; }
my $savestring = $oldpackagename . "\t" . $packagename;
push(@installer::globals::linkrpms, $savestring);
@@ -1347,6 +1391,7 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
if (( $installer::globals::patch ) ||
( $installer::globals::languagepack ) ||
+ ( $installer::globals::helppack ) ||
( $installer::globals::packageformat eq "native" ) ||
( $installer::globals::packageformat eq "portable" ) ||
( $installer::globals::packageformat eq "osx" )) { $allvariableshashref->{'POOLPRODUCT'} = 0; }
@@ -1382,6 +1427,8 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
{
$packagerootpath = $onepackage->{'destpath'};
installer::packagelist::resolve_packagevariables(\$packagerootpath, $allvariableshashref, 1);
+ # we put branding and common stuff into the same prefix on unixes => $packagerootpath must be the whole prefix, including the product name
+ if ($installer::globals::isunix) { $packagerootpath .= "/$allvariableshashref->{'UNIXBASISROOTNAME'}"; }
if ( $^O =~ /darwin/i ) { $packagerootpath =~ s/\/opt\//\/Applications\//; }
}
else
@@ -1445,7 +1492,7 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
#################################################################
# Linux Patch: The complete RPM has to be built, if one file in the RPM has the flag PATCH (also for DEBs)
- if (( $installer::globals::patch ) && (( $installer::globals::islinuxrpmbuild ) || ( $installer::globals::islinuxdebbuild )))
+ if (( $installer::globals::patch ) && (( $installer::globals::isrpmbuild ) || ( $installer::globals::isdebbuild )))
{
my $patchfiles = installer::worker::collect_all_items_with_special_flag($filesinpackage ,"PATCH");
if ( ! ( $#{$patchfiles} > -1 ))
@@ -1478,7 +1525,6 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
{
# special handling for all RPMs in $installer::globals::linuxlinkrpms
- # if (( $installer::globals::linuxlinkrpms =~ /\b$onepackagename\b/ ) || ( $installer::globals::languagepack ))
if ( $installer::globals::linuxlinkrpms =~ /\b$onepackagename\b/ )
{
my $run = 0;
@@ -1593,7 +1639,6 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
installer::epmfile::resolve_path_in_epm_list_before_packaging(\@epmfile, $completeepmfilename, "PRODUCTDIRECTORYNAME", $staticpath);
installer::epmfile::resolve_path_in_epm_list_before_packaging(\@epmfile, $completeepmfilename, "SOLSUREPACKAGEPREFIX", $allvariableshashref->{'SOLSUREPACKAGEPREFIX'});
installer::epmfile::resolve_path_in_epm_list_before_packaging(\@epmfile, $completeepmfilename, "UREPACKAGEPREFIX", $allvariableshashref->{'UREPACKAGEPREFIX'});
- # installer::epmfile::resolve_path_in_epm_list_before_packaging(\@epmfile, $completeepmfilename, "BASISDIRECTORYVERSION", $allvariableshashref->{'OOOBASEVERSION'});
installer::files::save_file($completeepmfilename ,\@epmfile);
#######################################################
@@ -1651,7 +1696,7 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
# Solaris: Adding into the pkginfo file: BASEDIR=/opt
# Attention: Changing of the path can influence the shell scripts
- if (( $installer::globals::is_special_epm ) && ( ($installer::globals::islinuxrpmbuild) || ($installer::globals::issolarispkgbuild) )) # special handling only for Linux RPMs and Solaris Packages
+ if (( $installer::globals::is_special_epm ) && ( ($installer::globals::isrpmbuild) || ($installer::globals::issolarispkgbuild) )) # special handling only for Linux RPMs and Solaris Packages
{
if ( $installer::globals::call_epm ) # only do something, if epm is really executed
{
@@ -1677,7 +1722,6 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
$installer::globals::postprocess_specialepm = 1;
# solaris patch not needed anymore
- # if (( $installer::globals::patch ) && ( $installer::globals::issolarisx86build )) { installer::worker::fix2_solaris_x86_patch($packagename, $installer::globals::epmoutpath); }
}
}
else # this is the standard epm (not relocatable) or ( nonlinux and nonsolaris )
@@ -1693,7 +1737,7 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
if ( $installer::globals::call_epm ) { installer::epmfile::call_epm($epmexecutable, $completeepmfilename, $packagename, $includepatharrayref); }
- if (($installer::globals::islinuxrpmbuild) || ($installer::globals::issolarispkgbuild) || ($installer::globals::debian))
+ if (($installer::globals::isrpmbuild) || ($installer::globals::issolarispkgbuild) || ($installer::globals::debian))
{
$installer::globals::postprocess_standardepm = 1;
}
@@ -1716,7 +1760,7 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
if ( $installer::globals::isxpdplatform )
{
- if (( ! $installer::globals::languagepack ) && ( ! $installer::globals::patch ))
+ if (( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack ) && ( ! $installer::globals::patch ))
{
if (( $allvariableshashref->{'XPDINSTALLER'} ) && ( $installer::globals::call_epm != 0 ))
{
@@ -1747,7 +1791,6 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
if ( $installer::globals::addsystemintegration ) { installer::epmfile::put_systemintegration_into_installset($installer::globals::epmoutpath, $includepatharrayref, $allvariableshashref, $modulesinproductarrayref); }
# Adding license and readme into installation set
- # if ($installer::globals::addlicensefile) { installer::epmfile::put_installsetfiles_into_installset($installer::globals::epmoutpath); }
if ($installer::globals::addlicensefile) { installer::worker::put_scpactions_into_installset("."); }
# Adding child projects to installation dynamically
@@ -1759,20 +1802,20 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
# Creating installation set for Unix language packs, that are not part of multi lingual installation sets
if ( ( $installer::globals::languagepack ) && ( ! $installer::globals::debian ) && ( ! $installer::globals::makedownload ) ) { installer::languagepack::build_installer_for_languagepack($installer::globals::epmoutpath, $allvariableshashref, $includepatharrayref, $languagesarrayref, $languagestringref); }
+ # Creating installation set for Unix help packs, that are not part of multi lingual installation sets
+ if ( ( $installer::globals::helppack ) && ( ! $installer::globals::debian ) && ( ! $installer::globals::makedownload ) ) { installer::helppack::build_installer_for_helppack($installer::globals::epmoutpath, $allvariableshashref, $includepatharrayref, $languagesarrayref, $languagestringref); }
+
# Finalizing patch installation sets
if (( $installer::globals::patch ) && ( $installer::globals::issolarispkgbuild )) { installer::epmfile::finalize_patch($installer::globals::epmoutpath, $allvariableshashref); }
- if (( $installer::globals::patch ) && ( $installer::globals::islinuxrpmbuild )) { installer::epmfile::finalize_linux_patch($installer::globals::epmoutpath, $allvariableshashref, $includepatharrayref); }
+ if (( $installer::globals::patch ) && ( $installer::globals::isrpmbuild )) { installer::epmfile::finalize_linux_patch($installer::globals::epmoutpath, $allvariableshashref, $includepatharrayref); }
# Copying the xpd installer into the installation set
if (( $allvariableshashref->{'XPDINSTALLER'} ) && ( $installer::globals::isxpdplatform ) && ( $installer::globals::xpd_files_prepared ))
{
installer::xpdinstaller::create_xpd_installer($installdir, $allvariableshashref, $languagestringref);
- $installer::globals::addjavainstaller = 0; # only one java installer possible
}
- # Copying the java installer into the installation set
chdir($currentdir); # changing back into start directory
- if ( $installer::globals::addjavainstaller ) { installer::javainstaller::create_java_installer($installdir, $installer::globals::epmoutpath, $languagestringref, $languagesarrayref, $allvariableshashref, $includepatharrayref, $modulesinproductarrayref); }
}
if ( $installer::globals::postprocess_standardepm )
@@ -1788,7 +1831,6 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
if ( $installer::globals::addsystemintegration ) { installer::epmfile::put_systemintegration_into_installset($newepmdir, $includepatharrayref, $allvariableshashref, $modulesinproductarrayref); }
# Adding license and readme into installation set
- # if ($installer::globals::addlicensefile) { installer::epmfile::put_installsetfiles_into_installset($newepmdir); }
if ($installer::globals::addlicensefile) { installer::worker::put_scpactions_into_installset("."); }
# Adding license file into setup
@@ -1797,6 +1839,9 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
# Creating installation set for Unix language packs, that are not part of multi lingual installation sets
if ( ( $installer::globals::languagepack ) && ( ! $installer::globals::debian ) && ( ! $installer::globals::makedownload ) ) { installer::languagepack::build_installer_for_languagepack($newepmdir, $allvariableshashref, $includepatharrayref, $languagesarrayref, $languagestringref); }
+ # Creating installation set for Unix help packs, that are not part of multi lingual installation sets
+ if ( ( $installer::globals::helppack ) && ( ! $installer::globals::debian ) && ( ! $installer::globals::makedownload ) ) { installer::helppack::build_installer_for_helpepack($newepmdir, $allvariableshashref, $includepatharrayref, $languagesarrayref, $languagestringref); }
+
chdir($currentdir); # changing back into start directory
}
@@ -1894,13 +1939,11 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
my $idtdirbase = installer::systemactions::create_directories("idt_files", $languagestringref);
$installer::globals::infodirectory = installer::systemactions::create_directories("info_files", $languagestringref);
my $installlogdir = installer::systemactions::create_directory_next_to_directory($installdir, "log");
- # my $installchecksumdir = installer::systemactions::create_directory_next_to_directory($installdir, "checksum");
#################################################################################
# Preparing cabinet files from package definitions
#################################################################################
- # installer::packagelist::prepare_cabinet_files($packages, $allvariableshashref, $$languagestringref);
installer::packagelist::prepare_cabinet_files($packages, $allvariableshashref);
# printing packages content:
installer::packagelist::log_cabinet_assignments();
@@ -1947,7 +1990,8 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productfiles17c.log", $filesinproductlanguageresolvedarrayref); }
if ( $installer::globals::updatedatabase ) { installer::windows::file::check_file_sequences($allupdatefileorder, $allupdatecomponentorder); }
- installer::windows::directory::create_directory_table($directoriesforepmarrayref, $newidtdir, $allvariableshashref, $shortdirname, $loggingdir);
+ # Attention: The table "Director.idt" contains language specific strings -> parameter: $languagesarrayref !
+ installer::windows::directory::create_directory_table($directoriesforepmarrayref, $languagesarrayref, $newidtdir, $allvariableshashref, $shortdirname, $loggingdir);
if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productfiles18.log", $filesinproductlanguageresolvedarrayref); }
if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "directoriesforidt1.log", $directoriesforepmarrayref); }
@@ -1989,7 +2033,7 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
installer::windows::upgrade::create_upgrade_table($newidtdir, $allvariableshashref);
- if ( ! $installer::globals::languagepack ) # the following tables not for language packs
+ if (( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack )) # the following tables not for language packs or help packs
{
installer::windows::removefile::create_removefile_table($folderitemsinproductlanguageresolvedarrayref, $newidtdir);
@@ -2028,7 +2072,7 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
installer::windows::idtglobal::prepare_language_idt_directory($languageidtdir, $newidtdir, $onelanguage, $filesinproductlanguageresolvedarrayref, \@iconfilecollector, $binarytablefiles, $allvariableshashref);
- if ( ! $installer::globals::languagepack )
+ if ( ! $installer::globals::languagepack && ! $installer::globals::helppack )
{
# For multilingual installation sets, the dialog for the language selection can now be prepared, with
# a checkbox for each available language. This has to happen before the following translation.
@@ -2140,7 +2184,7 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
# setting patch codes to detect installed products
- if (( $installer::globals::patch ) || ( $installer::globals::languagepack ) || ( $allvariableshashref->{'PDFCONVERTER'} )) { installer::windows::patch::update_patch_tables($languageidtdir, $allvariableshashref); }
+ if (( $installer::globals::patch ) || ( $installer::globals::languagepack ) || ( $installer::globals::helppack ) || ( $allvariableshashref->{'PDFCONVERTER'} )) { installer::windows::patch::update_patch_tables($languageidtdir, $allvariableshashref); }
# Adding Windows Installer CustomActions
@@ -2172,7 +2216,6 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
# validating the database # ToDo
my $languagefile = installer::files::read_file($installer::globals::idtlanguagepath . $installer::globals::separator . "SIS.mlf");
- # my $languagefile = installer::files::read_file($installer::globals::idtlanguagepath . $installer::globals::separator . "SIS.ulf");
installer::windows::msiglobal::write_summary_into_msi_database($msifilename, $onelanguage, $languagefile, $allvariableshashref);
@@ -2215,7 +2258,6 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
installer::logger::print_message( "... copying files into installation set ...\n" );
- # installer::windows::msiglobal::copy_scpactions_into_installset($defaultlanguage, $installdir, $scpactionsinproductlanguageresolvedarrayref);
installer::worker::put_scpactions_into_installset($installdir);
# ... copying the setup.exe
@@ -2308,6 +2350,7 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ )
my $create_download = 0;
my $downloadname = installer::ziplist::getinfofromziplist($allsettingsarrayref, "downloadname");
if ( $installer::globals::languagepack ) { $downloadname = installer::ziplist::getinfofromziplist($allsettingsarrayref, "langpackdownloadname"); }
+ if ( $installer::globals::helppack ) { $downloadname = installer::ziplist::getinfofromziplist($allsettingsarrayref, "helppackdownloadname"); }
if ( $installer::globals::patch ) { $downloadname = installer::ziplist::getinfofromziplist($allsettingsarrayref, "patchdownloadname"); }
if ( $is_success ) { installer::followme::save_followme_info($finalinstalldir, $includepatharrayref, $allvariableshashref, $$downloadname, $languagestringref, $languagesarrayref, $current_install_number, $loggingdir, $installlogdir); }
diff --git a/solenv/bin/makemani.pl b/solenv/bin/makemani.pl
index cdebaab77617..7575d07e688b 100644
--- a/solenv/bin/makemani.pl
+++ b/solenv/bin/makemani.pl
@@ -50,7 +50,6 @@ sub wanted;
sub wanted {
/^.*\.xc(s|u)\z/s
&& ( push @findlist, $name );
-# && ( push @findlist, $name ) && print("$name\n");
}
sub usage
diff --git a/solenv/bin/mapgen.pl b/solenv/bin/mapgen.pl
index 48c335c2adba..8a8677f12c7b 100644
--- a/solenv/bin/mapgen.pl
+++ b/solenv/bin/mapgen.pl
@@ -135,7 +135,10 @@ sub filter_symbols {
$env_section = '1' and next if ((/^# SOLARIS #$/) && ($ENV{OS} eq 'SOLARIS'));
$env_section = '1' and next if ((/^# LINUX #$/) && ($ENV{OS} eq 'LINUX'));
$env_section = '1' and next if ((/^# FREEBSD #$/) && ($ENV{OS} eq 'FREEBSD'));
- last if ($env_section && ((/^# SOLARIS #$/) || (/^# FREEBSD #$/) || (/^# LINUX #$/)));
+ $env_section = '1' and next if ((/^# NETBSD #$/) && ($ENV{OS} eq 'NETBSD'));
+ $env_section = '1' and next if ((/^# OPENBSD #$/) && ($ENV{OS} eq 'OPENBSD'));
+ $env_section = '1' and next if ((/^# DRAGONFLY #$/) && ($ENV{OS} eq 'DRAGONFLY'));
+ last if ($env_section && ((/^# SOLARIS #$/) || (/^# FREEBSD #$/) || (/^# LINUX #$/) || (/^# NETBSD #$/) || (/^# OPENBSD #$/) (/^# DRAGONFLY #$/)));
next if (!$_ || /^#/);
push(@filters, $_);
};
diff --git a/solenv/bin/mkdocs.sh b/solenv/bin/mkdocs.sh
new file mode 100755
index 000000000000..3d6ba295c893
--- /dev/null
+++ b/solenv/bin/mkdocs.sh
@@ -0,0 +1,130 @@
+#!/bin/bash
+#
+# Doxygen Doc generation
+#
+
+# binaries that we need
+which doxygen > /dev/null 2>&1 || {
+ echo "You need doxygen for doc generation"
+ exit 1
+}
+which dot > /dev/null 2>&1 || {
+ echo "You need the graphviz tools to create the nice inheritance graphs"
+ exit 1
+}
+
+# otherwise, aliases are not expanded below
+shopt -s expand_aliases
+
+# Title of the documentation
+DOXYGEN_PROJECT_PREFIX="LibreOffice"
+
+# suck setup
+BINDIR=`dirname $0`
+. $BINDIR/setup
+
+. ./*.Set.sh
+
+# get list of modules in build order - bah, blows RAM & disk, static list below
+INPUT_PROJECTS="o3tl basegfx basebmp comphelper svl vcl canvas cppcanvas oox svtools goodies drawinglayer xmloff slideshow sfx2 editeng svx cui chart2 dbaccess sd starmath sc sw"
+
+# output directory for generated documentation
+BASE_OUTPUT="$1"
+mkdir -p "$BASE_OUTPUT" || {
+ echo "Cannot create $BASE_OUTPUT"
+ exit 1
+}
+
+# paths for binary and configuration file
+BASE_PATH=`pwd`
+DOXYGEN_CFG="$2"
+if test ! -f "$DOXYGEN_CFG"; then
+ echo "doxygen.cfg not found"
+ exit 1
+fi
+
+# strip -I. and bin -I prefix; exlude system headers
+DOXYGEN_INCLUDE_PATH=`echo $SOLARINC | sed -e ' s/-I\.//'g | sed -e ' s/ -I/ /'g | sed -e ' s|/usr/[^ ]*| |g'`
+
+# setup version string
+DOXYGEN_VERSION="$GITTAG"
+
+
+###################################################
+#
+# Generate docs
+#
+###################################################
+
+# cleanup
+rm -rf $BASE_OUTPUT/*
+
+# make the stuff world-readable
+umask 022
+
+# generate docs
+DOXYGEN_REF_TAGFILES=""
+for PROJECT in $INPUT_PROJECTS;
+do
+ # avoid processing of full project subdirs, only add source and inc
+ DOXYGEN_INPUT=`printf "%s" "$PROJECT/source $PROJECT/inc "`
+
+ DOXYGEN_OUTPUT="$BASE_OUTPUT/$PROJECT"
+ DOXYGEN_OUR_TAGFILE="$DOXYGEN_OUTPUT/$PROJECT.tags"
+ DOXYGEN_PROJECTNAME="$DOXYGEN_PROJECT_PREFIX Module $PROJECT"
+
+ # export variables referenced in doxygen config file
+ export DOXYGEN_INPUT
+ export DOXYGEN_OUTPUT
+ export DOXYGEN_INCLUDE_PATH
+ export DOXYGEN_VERSION
+ export DOXYGEN_OUR_TAGFILE
+ export DOXYGEN_REF_TAGFILES
+ export DOXYGEN_PROJECTNAME
+
+ # debug
+ echo "Calling $DOXYGEN_PATH/doxygen $DOXYGEN_CFG with"
+ echo "Input: $DOXYGEN_INPUT"
+ echo "Output: $DOXYGEN_OUTPUT"
+ echo "Include: $DOXYGEN_INCLUDE_PATH"
+ echo "Version: $DOXYGEN_VERSION"
+ echo "Tagfile: $DOXYGEN_OUR_TAGFILE"
+ echo "Ref-Tags: $DOXYGEN_REF_TAGFILES"
+ echo "Title: $DOXYGEN_PROJECTNAME"
+
+ nice -15 doxygen "$DOXYGEN_CFG"
+
+ # setup referenced tagfiles for next round
+ DOXYGEN_REF_TAGFILES="$DOXYGEN_REF_TAGFILES $DOXYGEN_OUR_TAGFILE=$BASE_URL/$PROJECT/html"
+done
+
+# generate entry page
+cat - > $BASE_OUTPUT/index.html <<EOF
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+ <head>
+ <title>LibreOffice Source Code Documentation (fragmentary)</title>
+ </head>
+ <body>
+ <h1>LibreOffice Source Code Documentation (fragmentary)</h1>
+ <ul>
+EOF
+
+for PROJECT in $INPUT_PROJECTS;
+do
+ echo "<li><a href=\"$PROJECT/html/classes.html\">$PROJECT</a></li>" >> $BASE_OUTPUT/index.html
+done
+
+cat - >> $BASE_OUTPUT/index.html <<EOF
+ </ul>
+ <p>Last updated:
+EOF
+LANG= date >> $BASE_OUTPUT/index.html
+
+cat - >> $BASE_OUTPUT/index.html <<EOF
+ </p>
+ </body>
+</html>
+EOF
+
+## done
diff --git a/solenv/bin/mkout.pl b/solenv/bin/mkout.pl
index 4839b8525bb9..9df626b63568 100755
--- a/solenv/bin/mkout.pl
+++ b/solenv/bin/mkout.pl
@@ -40,12 +40,6 @@ use File::Path;
( $script_name = $0 ) =~ s/^.*\b(\w+)\.pl$/$1/;
-$id_str = ' $Revision: 1.8 $ ';
-$id_str =~ /Revision:\s+(\S+)\s+\$/
- ? ($script_rev = $1) : ($script_rev = "-");
-
-print "$script_name -- version: $script_rev\n";
-
#### globals ####
$is_debug = 0;
diff --git a/solenv/bin/modules/CreatePDBRelocators.pm b/solenv/bin/modules/CreatePDBRelocators.pm
index 753075a2bfea..fc488ca3b037 100644
--- a/solenv/bin/modules/CreatePDBRelocators.pm
+++ b/solenv/bin/modules/CreatePDBRelocators.pm
@@ -76,11 +76,6 @@ sub new
}
my $SourceConfigObj = SourceConfig->new();
@repos = $SourceConfigObj->get_repositories();
- if ( defined $ENV{UPDMINOREXT} ) {
- foreach my $onedir ( @repos ) {
- push( @basedirs, $onedir.$ENV{UPDMINOREXT} );
- }
- }
# basdirs is repositories (dmake) + workdir (gnu make)
push(@basedirs, $relworkdir);
if (!scalar @basedirs) {
diff --git a/solenv/bin/modules/Cws.pm b/solenv/bin/modules/Cws.pm
deleted file mode 100755
index 6948c21d554e..000000000000
--- a/solenv/bin/modules/Cws.pm
+++ /dev/null
@@ -1,2153 +0,0 @@
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-
-#
-# Cws.pm - package for accessing/manipulating child workspaces
-#
-
-# TODO: needs some cleanup
-
-package Cws;
-use strict;
-
-use Eis;
-use CwsConfig;
-use Carp;
-use URI::Escape;
-
-my $config = CwsConfig::get_config();
-
-##### class data #####
-
-my %CwsClassData = (
- # EIS database connectivity
- EIS_URI => 'urn:ChildWorkspaceDataService',
- EIS_PROXY_LIST => $config->cws_db_url_list_ref(),
- NET_PROXY => $config->net_proxy(),
- EIS => undef
-);
-
-##### ctor #####
-
-sub new
-{
- my $invocant = shift;
- my $class = ref($invocant) || $invocant;
- my $self = {};
- # instance data
- # initialize CWS name from environment
- $self->{CHILD} = undef; # name of child workspace
- $self->{MASTER} = undef; # name of master workspace
- $self->{EIS_ID} = undef; # id of child workspace in EIS
- $self->{FILES} = undef; # list of files registered with child
- # any file can be registered multiple times
- $self->{PATCH_FILES} = undef # list of product patch files registered with
- # child, each file can be added only once
- $self->{MILESTONE} = undef; # master milestone to which child is related
- $self->{MODULES} = undef; # list of modules belonging to child
- $self->{INCOMPATIBLE_MODULES} = undef; # list of modules belonging to child
- $self->{NEW_MODULES} = undef; # list of public new modules belonging to child
- $self->{NEW_MODULES_PRIV} = undef; # list of private new modules belonging to child
- $self->{TASKIDS} = undef; # list of tasks registered with child
- $self->{_CACHED_TAGS} = undef; # list of cached tags (tags are looked up frequently)
- bless($self, $class);
- return $self;
-}
-
-#### methods to access instance data ####
-
-# Get the EIS ID for child workspace,
-# return value: undef => not yet asked EIS for ID
-# or connection failed
-# 0 => queried EIS but didn't find such
-# a child workspace for this master
-# silently ignore any parameter, only the EIS database,
-# hands out EIS IDs.
-sub eis_id
-{
- my $self = shift;
- if ( !defined($self->{EIS_ID} ) ) {
- $self->{EIS_ID} = $self->get_eis_id();
- }
- return $self->{EIS_ID};
-}
-
-# Generate remaining instance data accessor methods;
-# if this looks strange see 'perldoc perltootc'
-
-# Accessor methods for single value instance data
-for my $datum (qw(master milestone)) {
- no strict "refs";
- *$datum = sub {
- my $self = shift;
- my $ucdatum = uc($datum);
- if ( @_ ) {
- # set item in database
- my $item = shift;
- # if we already have a valid EIS registered CWS then reset EIS value
- # otherwise just set member to the given value
- if ( !$self->{uc($datum)} # keep order of evaluation
- || !$self->eis_id()
- || $self->set_item_in_eis($datum, $item) )
- {
- $self->{uc($datum)} = $item;
-
- }
- }
- else {
- if ( !defined($self->{$ucdatum} ) ) {
- # fetch item from database
- $self->{$ucdatum} = $self->fetch_item_from_eis($datum);
- }
- }
- return $self->{uc($datum)};
- }
-}
-
-# Accessor methods for instance data consisting of item lists
-# like modules and taskids
-for my $datum (qw(files patch_files modules incompatible_modules new_modules new_modules_priv taskids)) {
- no strict "refs";
- *$datum = sub {
- # get current item list
- # fetch list from EIS database if called the first time
- my $self = shift;
- my $ucdatum = uc($datum);
- if ( !defined($self->{$ucdatum}) ) {
- # fetch item list from databse
- $self->{$ucdatum} = $self->fetch_items_from_eis($datum);
- return undef if !defined($self->{$ucdatum});
- }
- return wantarray ? @{$self->{$ucdatum}} : $self->{$ucdatum}
- }
-}
-
-for my $datum (qw(child)) {
- no strict "refs";
- *$datum = sub {
- my $self = shift;
- $self->{uc($datum)} = shift if @_;
- return $self->{uc($datum)};
- }
-}
-
-
-#### additional public methods ####
-
-# For resync: Sets master and milestone simultaneously
-# In case of a cross master resync it does not make sense to
-# change both items separately
-sub set_master_and_milestone
-{
- my $self = shift;
- my $master = shift or return undef;
- my $milestone = shift or return undef;
-
- # if we do not yet have a valid EIS registered CWS use the above more basic methods
- if ( !$self->master()
- || !$self->milestone()
- || !$self->eis_id() )
- {
- $self->master($master);
- $self->milestone($milestone);
- } else {
- if ( $self->set_master_and_milestone_in_eis($master, $milestone) ) {
- $self->{'MASTER'} = $self->fetch_item_from_eis('master');
- $self->{'MILESTONE'} = $self->fetch_item_from_eis('milestone');
- }
- }
- my @retarray = ($self->{'MASTER'}, $self->{'MILESTONE'});
- return wantarray ? @retarray : \@retarray;
-}
-
-# Query if CWS name is still available. Does not yet register
-# anything with EIS.
-sub is_cws_name_available
-{
- my $self = shift;
-
- my $is_available = $self->is_cws_name_available_in_eis();
- return $is_available;
-}
-
-# Register new child workspace with the EIS database.
-sub register
-{
- my $self = shift;
- my $vcsid = shift;
- my $location = shift;
-
- my $child_id = $self->register_child_with_eis($vcsid, $location);
- return $child_id;
-}
-
-# Promote a child workspace with status 'planned' to a full CWS
-sub promote
-{
- my $self = shift;
- my $vcsid = shift;
- my $location = shift;
-
- my $rc = $self->promote_child_in_eis($vcsid, $location);
- return $rc;
-}
-
-# New style add_module method. Takes an additional bool indicating if
-# a module is public or private. Obsoletes add_modules()
-sub add_module
-{
- my $self = shift;
- my $module = shift;
- my $public = shift;
-
- my $items_ref = $self->add_items('modules', $public, $module);
- if (defined ($items_ref->[0]) && ($items_ref->[0] eq $module)) {
- return 1; # module has been added
- }
- elsif ( defined($items_ref) ) {
- return 0; # module was already add
- }
- return undef; # something went wrong
-}
-
-# Add module to modules list.
-sub add_modules
-{
- my $self = shift;
-
- my $items_ref = $self->add_items('modules', undef, @_);
- return undef unless defined($items_ref);
- return wantarray ? @{$items_ref} : $items_ref;
-}
-
-# Add tasksids to taskids list.
-sub add_taskids
-{
- my $self = shift;
- my $vcsid = shift;
-
- my $items_ref = $self->add_items('taskids', $vcsid, @_);
- return undef unless defined($items_ref);
- return wantarray ? @{$items_ref} : $items_ref;
-}
-
-# Add a file to the files list.
-sub add_file
-{
- my $self = shift;
- my $module = shift;
- my $file = shift;
- my $revision = shift;
- my $authors_ref = shift;
- my $taskids_ref = shift;
- my $archive_path = shift;
-
- my $files_ref = $self->files();
-
- if ( $self->add_file_to_eis($module, $file, $revision,
- $authors_ref, $taskids_ref, $archive_path) )
- {
- push(@{$files_ref}, $file);
- return 1;
- }
- return 0;
-}
-
-# Add a file to the patch file list.
-sub add_patch_file
-{
- my $self = shift;
- my $file = shift;
-
- my $patch_files_ref = $self->patch_files();
-
- foreach (@{$patch_files_ref}) {
- return 0 if $file eq $_;
- }
-
- if ( $self->add_patch_file_to_eis($file) )
- {
- push(@{$patch_files_ref}, $file);
- return 1;
- }
- return 0;
-}
-
-#
-# Procedure retrieves the workspace which
-# is based on cvs head (not branch)
-#
-sub get_cvs_head {
- my $eis = Cws::eis();
- my $result;
- eval { $result = $eis->getCVSHead() };
- if ( $@ ) {
- carp("ERROR: get_eis_id(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-};
-
-#### public class methods ####
-
-sub get_master_tag {
- my ($self, $master, $milestone) = @_;
- $master = $self->master() if (!defined $master);
- $milestone = $self->milestone() if (!defined $milestone);
- return uc($master) . '_' . lc($milestone);
-};
-
-sub get_master_branch_tag {
- my ($self, $master) = @_;
- $master = $self->master() if (!defined $master);
- # check in environment if master is on the the HEAD branch
- my $cvs_head = get_cvs_head();
- if ( $master eq $cvs_head ) {
- return undef;
- }
- else {
- return 'mws_' . lc($master);
- }
-};
-
-sub get_mws {
- my $self = shift;
- my $eis = Cws::eis();
- my $masters;
- my $child = Eis::to_string($self->child());
- eval { $masters = $eis->getMastersForCWS($child) };
- if ( $@ ) {
- carp("ERROR: get_eis_id(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $$masters[0];
-};
-
-# Returns the branch and root tags for child workspace.
-sub get_tags
-{
- my $self = shift;
-
- # look up if tags have already been retrieved
- if ( defined($self->{_CACHED_TAGS}) ) {
- return @{$self->{_CACHED_TAGS}};
- }
-
- # check if child workspace is valid
- my $id = $self->eis_id();
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- my $childws = $self->child();
- # check if child workspace is a clone,
- if ( $childws =~ /(\w+)_[[:upper:]]{3}\d{3}/ ) {
- $childws = $1;
- }
-
- # check in environment if master is on the the HEAD branch
- my $cvs_head = get_cvs_head();
- my $current_master = $self->master();
- my $creation_master = $self->get_creation_master();
- if ( !$creation_master ) {
- carp("ERROR: Can't determine creation MWS.\n");
- return undef;
- }
- my $milestone = $self->milestone();
-
- my $master_branch_tag
- = (lc($current_master) eq lc($cvs_head)) ? '' : 'mws_' . lc($current_master);
- my $cws_branch_tag = 'cws_' . lc($creation_master) . '_' . lc($childws);
- my $cws_root_tag = uc($cws_branch_tag) . "_ANCHOR";
- my $master_milestone_tag = uc($current_master) . "_" . $milestone;
-
- $self->{_CACHED_TAGS} = [$master_branch_tag, $cws_branch_tag, $cws_root_tag, $master_milestone_tag];
- return @{$self->{_CACHED_TAGS}};
-}
-
-# Get childworkspace owner
-sub get_owner
-{
- my $self = shift;
-
- return $self->get_owner_from_eis();
-}
-
-# get childworkspace qarep
-sub get_qarep
-{
- my $self = shift;
-
- return $self->get_qarep_from_eis();
-}
-
-# store an Attachment to a given CWS
-sub save_attachment
-{
- my $self = shift;
- my $name = shift;
- my $mediatype = shift;
- my $data = shift;
-
- return $self->save_attachment_in_eis($name, $mediatype, $data);
-}
-
-# Get child workspace approval status,
-# return values can be:
-# 'planned', 'new', 'nominated', 'integrated'
-# and undef in case of error.
-sub get_approval
-{
- my $self = shift;
-
- return $self->get_status_from_eis();
-}
-
-# Set child workspace approval status
-# to 'integrated'. Return true if successful
-# or undef in case of error
-sub set_integrated
-{
- my $self = shift;
-
- return $self->set_status_in_eis();
-}
-
-# Set child workspace integration milestone
-# Return true if successful or undef in case of error
-sub set_integration_milestone
-{
- my $self = shift;
- my $milestone = shift;
- my $buildid = shift;
-
- return $self->set_integration_milestone_in_eis($milestone, $buildid);
-}
-
-# Get the MWS on which a CWS was created
-sub get_creation_master
-{
- my $self = shift;
-
- return $self->get_creation_master_from_eis();
-}
-
-# Get the 'public' flag indicating whether a CWS is visible on OOo
-sub get_public_flag
-{
- my $self = shift;
-
- return $self->get_public_flag_from_eis();
-}
-
-
-# Get the 'publicmaster' flag indicating whether a MWS is visible on OOo
-sub get_publicmaster_flag
-{
- my $self = shift;
-
- return $self->get_publicmaster_flag_from_eis();
-}
-
-
-sub get_subversion_flag {
-
- my $self = shift;
-
- return $self->get_subversion_flag_from_eis();
-}
-
-sub set_subversion_flag {
-
- my $self = shift;
- my $value = shift;
-
- return $self->set_subversion_flag_in_eis($value);
-}
-
-sub get_scm {
- my $self = shift;
-
- return $self->get_scm_from_eis();
-}
-
-sub set_scm {
- my $self = shift;
- my $scm_name = shift;
-
- return $self->set_scm_in_eis($scm_name);
-}
-
-
-# Check if milestone exists
-sub is_milestone
-{
- my $self = shift;
- my $master = shift;
- my $milestone = shift;
-
- return $self->is_milestone_registered_with_eis($master, $milestone);
-}
-
-# Check if this cws contains new ui
-sub is_uirelevant
-{
- my $self = shift;
-
- return $self->is_uirelevant_from_eis();
-}
-
-# Check if this cws contains new online help
-sub is_helprelevant
-{
- my $self = shift;
-
- return $self->is_helprelevant_from_eis();
-}
-
-# Set the l10n status
-sub set_l10n_status
-{
- my $self = shift;
- my $status = shift;
-
- return $self->set_l10n_status_in_eis( $status );
-}
-
-# Get the l10n status
-sub get_l10n_status
-{
- my $self = shift;
-
- return $self->get_l10n_status_from_eis();
-}
-sub set_word_count
-{
- my $self = shift;
- my $language = shift;
- my $wordcount = shift;
-
- return $self->set_word_count_in_eis( $language , $wordcount );
-}
-
-
-# Get target release for CWS
-sub get_release
-{
- my $self = shift;
-
- return $self->get_release_from_eis();
-}
-
-# Get due date
-sub get_due_date
-{
- my $self = shift;
-
- return $self->get_due_date_from_eis();
-}
-
-# Get due date QA
-sub get_due_date_qa
-{
- my $self = shift;
-
- return $self->get_due_date_qa_from_eis();
-}
-
-# Query master milestone combination for being used by an
-# active CWS
-sub is_milestone_used
-{
- my $self = shift;
- my $master = shift;
- my $milestone = shift;
-
- return $self->get_is_milestone_used_from_eis($master, $milestone);
-}
-
-# Set current milestone for MWS.
-sub set_current_milestone
-{
- my $self = shift;
- my $master = shift;
- my $milestone = shift;
-
- return $self->set_current_milestone_in_eis($master, $milestone);
-}
-
-# Get current milestone for MWS.
-sub get_current_milestone
-{
- my $self = shift;
- my $master = shift;
-
- return $self->get_current_milestone_from_eis($master);
-}
-
-sub get_milestone_integrated
-{
- my $self = shift;
-
- return $self->get_milestone_integrated_from_eis();
-}
-
-# Get masters
-sub get_masters
-{
-
- my $self = shift;
-
- return $self->get_masters_from_eis();
-}
-
-# Get milestones for MWS.
-sub get_milestones
-{
- my $self = shift;
- my $master = shift;
-
- return $self->get_milestones_from_eis($master);
-}
-# get build string for CWS
-
-sub get_build
-{
- my $self = shift;
- my $master = $self->master();
- my $milestone = $self->milestone();
- if ( ! defined($milestone) ) {
- return undef;
- }
- my $bid=$self->get_buildid($master,$milestone);
- if ( ! defined($bid) ) {
- return undef;
- }
- return $self->expand_buildid($bid);
-}
-
-
-
-# expand build for given cwsname
-sub expand_buildid
-{
- my $self = shift;
- my $bid = shift;
- return $self->expand_buildid_in_eis($bid);
-}
-
-
-# Set BuildID of milestone
-sub set_milestone_buildid
-{
- my $self = shift;
- my $master = shift;
- my $milestone = shift;
- my $buildid = shift;
-
- return $self->set_milestone_buildid_in_eis($master, $milestone, $buildid);
-}
-
-# Declare milestone 'removed'
-# This triggers EIS to send emails to all (SO-internal) CWS owners
-# with living CWSs based on that milestone.
-sub milestone_removed
-{
- my $self = shift;
- my $master = shift;
- my $milestone = shift;
-
- return $self->set_milestone_removed_in_eis($master, $milestone);
-}
-
-
-# Get all child workspaces which have been integrated on a
-# given master and milestone.
-sub get_integrated_cws
-{
- my $self = shift;
- my $master = shift;
- my $milestone = shift;
-
- my $childworkspaces_arrref = $self->get_childworkspaces_for_milestone($master, $milestone);
- if ( !$childworkspaces_arrref ) {
- $childworkspaces_arrref = [];
- }
- return wantarray ? @$childworkspaces_arrref : $childworkspaces_arrref;
-}
-
-
-# Get builid for given master and milestone.
-sub get_buildid
-{
- my $self = shift;
- my $master = shift;
- my $milestone = shift;
-
- return $self->get_buildid_for_milestone($master, $milestone);
-}
-
-#
-# Get all cws' with a status passed
-#
-sub get_cws_with_state
-{
- my $self = shift;
- my $mws = shift;
- my $status = shift;
-
- return wantarray ? @{$self->get_cws_with_state_from_eis($mws, $status)}
- : $self->get_cws_with_state_from_eis($mws, $status);
-}
-
-sub get_task_prio_cws
-{
- my $self = shift;
- my $ref_taskids = shift;
- return @{$self->get_task_prios_of_tasks($ref_taskids)};
-}
-
-# Check is CWS is cloneable for specified master
-sub is_cws_cloneable
-{
- my $self = shift;
- my $master = shift;
-
- return $self->get_is_cws_cloneable_from_eis($master);
-}
-
-# Clone CWS for specified master
-sub clone_cws
-{
- my $self = shift;
- my $master = shift;
-
- return $self->clone_cws_in_eis($master);
-}
-
-sub set_log_entry
-{
- my $self = shift;
- my $commandline = shift;
- my $vcsid = shift;
- my $start = shift;
- my $stop = shift;
- my $comment = shift;
- return $self->set_log_entry_in_eis($commandline, $vcsid, $start, $stop, $comment);
-}
-
-sub set_log_entry_extended
-{
- my $self = shift;
- my $commandname = shift;
- my $parameter = shift;
- my $vcsid = shift;
- my $start = shift;
- my $stop = shift;
- my $comment = shift;
- my $mastername = shift;
- my $childname = shift;
-#set_log_entry_extended_in_eis($commandname, $parameter, $vcsid, $start, $stop, $comment, $mastername, $childname);
- return $self->set_log_entry_extended_in_eis($commandname, $parameter, $vcsid, $start, $stop, $comment, $mastername, $childname);
-}
-
-
-#### private ####
-
-# class data accessor methods
-sub eis
-{
- shift; # ignore calling class/object
- $CwsClassData{EIS} = shift if @_;
- if ( !defined($CwsClassData{EIS}) ) {
- $CwsClassData{EIS} = init_eis_connector();
- }
- return $CwsClassData{EIS};
-}
-
-# generate remaining class data accessor methods
-# if this looks strange see 'perldoc perltootc'
-for my $datum (qw(eis_uri eis_proxy_list net_proxy)) {
- no strict "refs";
- *$datum = sub {
- shift; # ignore calling class/object
- return $CwsClassData{uc($datum)};
- }
-}
-
-#### helper methods ####
-
-# instance methods
-
-# Add item to items list,
-# update eis database,
-# returns a list of newly added items,
-# specifying an existing item is not an
-# error, but it want appear in the return list.
-sub add_items
-{
- my $self = shift;
- my $type = shift;
- my $optional_data = shift;
-
- my $items_ref;
- if ( $type eq 'modules' ) {
- $items_ref = $self->modules();
- }
- elsif ( $type eq 'taskids' ) {
- $items_ref = $self->taskids();
- }
- else {
- # fall through, can't happen
- carp("ERROR: wrong item type\n");
- return undef;
- }
-
- my $item;
- my @new_items = ();
- return undef if !defined($items_ref);
- # find which items which are not already in items list
- ITEM: while ( $item = shift ) {
- foreach ( @{$items_ref} ) {
- next ITEM if $_ eq $item;
- }
- push(@new_items, $item);
- }
- if ( $#new_items > -1 ) {
- # add items to database
- if ( $self->add_items_to_eis($type, $optional_data, \@new_items) ) {
- push(@{$items_ref}, @new_items);
- }
- else {
- # something went wrong
- return undef;
- }
- }
- return \@new_items;
-}
-
-# Get EIS id for workspace from EIS database
-sub get_eis_id
-{
- my $self = shift;
- my $eis = Cws::eis();
-
- # It's not an error if one of these is unset, so don't carp().
- if ( !$self->master() || !$self->child() ) {
- return undef;
- }
-
- my $master = Eis::to_string($self->master());
- my $child = Eis::to_string($self->child());
-
- my $result;
- eval { $result = int($eis->getChildWorkspaceId($master, $child)) };
- if ( $@ ) {
- carp("ERROR: get_eis_id(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-}
-
-sub fetch_item_from_eis
-{
- my $self = shift;
- my $type = shift;
-
- my $eis = Cws::eis();
- my $id = $self->eis_id();
-
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- my $result;
- if ( $type eq 'milestone' ) {
- eval { $result = $eis->getMilestone($id) };
- }
- elsif ( $type eq 'master' ) {
- # master can't be queried from the EIS database,
- # just return what already in member
- return $self->{MASTER}
- }
- else {
- # fall through, can't happen
- carp("ERROR: wrong item type\n");
- return undef;
- }
- if ( $@ ) {
- carp("ERROR: fetch_item(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-}
-
-sub set_item_in_eis
-{
- my $self = shift;
- my $type = shift;
- my $item = shift;
-
- my $eis = Cws::eis();
- my $id = $self->eis_id();
-
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- # make certain that the item is a string, otherwise
- # autotyping will occasionally choose the wrong type
- $item = Eis::to_string($item);
-
- my $result;
- if ( $type eq 'milestone' ) {
- # this operation invalidates the cached tags list
- $self->{_CACHED_TAGS} = undef;
- eval { $result = $eis->setMilestone($id, $item) };
- }
- elsif ( $type eq 'master' ) {
- # this operation invalidates the cached tags list
- $self->{_CACHED_TAGS} = undef;
- eval { $result = $eis->setMasterWorkspace($id, $item) };
- }
- else {
- # fall through, can't happen
- carp("ERROR: wrong item type\n");
- return 0;
- }
-
- if ( $@ ) {
- carp("ERROR: set_item(): EIS database transaction failed. Reason:\n$@\n");
- return undef;
- }
- return 1 if $result;
- return 0;
-}
-
-sub set_master_and_milestone_in_eis
-{
- my $self = shift;
- my $master = shift;
- my $milestone = shift;
-
- my $eis = Cws::eis();
- my $id = $self->eis_id();
-
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- # make certain that the item is a string, otherwise
- # autotyping will occasionally choose the wrong type
- $master = Eis::to_string($master);
- $milestone = Eis::to_string($milestone);
-
- my $result;
- # this operation invalidates the cached tags list
- $self->{_CACHED_TAGS} = undef;
- eval { $result = $eis->setMasterWorkspaceAndMilestone($id, $master, $milestone) };
-
- if ( $@ ) {
- carp("ERROR: set_master_and_milestone(): EIS database transaction failed. Reason:\n$@\n");
- return undef;
- }
- return 1 if $result;
- return 0;
-}
-
-sub fetch_items_from_eis
-{
- my $self = shift;
- my $type = shift;
-
- my $eis = Cws::eis();
- my $id = $self->eis_id();
-
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- my $result;
- if ( $type eq 'modules' ) {
- eval { $result = $eis->getModules($id) };
- }
- elsif ( $type eq 'incompatible_modules' ) {
- eval { $result = $eis->getIncompatibleModules($id) };
- }
- elsif ( $type eq 'new_modules' ) {
- eval { $result = $eis->getNewModules($id) };
- }
- elsif ( $type eq 'new_modules_priv' ) {
- eval { $result = $eis->getNewModulesPriv($id) };
- }
- elsif ( $type eq 'taskids' ) {
- eval { $result = $eis->getTaskIds($id) };
- }
- elsif ( $type eq 'files' ) {
- eval { $result = $eis->getFiles($id) };
- }
- elsif ( $type eq 'patch_files' ) {
- eval { $result = $eis->getOutputFiles($id) };
- }
- else {
- # fall through, can't happen
- carp("ERROR: wrong item type\n");
- return undef;
- }
- if ( $@ ) {
- carp("ERROR: fetch_item(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-}
-
-sub add_items_to_eis
-{
- my $self = shift;
- my $type = shift;
- my $optional_data = shift;
- my $item_ref = shift;
-
- my $eis = Cws::eis();
- my $id = $self->eis_id();
-
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- # make certain that all items are strings, otherwise
- # autotyping will occasionally choose the wrong type
- my @items = ();
- foreach ( @{$item_ref} ) {
- push(@items, Eis::to_string($_));
- }
-
- my $result;
- if ( $type eq 'modules' ) {
- if ( defined($optional_data) ) {
- # add a module new style, with public attribute
- eval { $result = $eis->addModule($id, $items[0], $optional_data) };
- }
- else {
- # old style, add a list of modules
- eval { $result = $eis->addModules($id, \@items) };
- }
- }
- elsif ( $type eq 'taskids' ) {
- eval { $result = $eis->addTaskIds($id, \@items, $optional_data) };
- }
- else {
- # fall through, can't happen
- carp("ERROR: wrong item type\n");
- return 0;
- }
-
- if ( $@ ) {
- carp("ERROR: add_item(): EIS database transaction failed. Reason:\n$@\n");
- return undef;
- }
- return 1 if $result;
- return 0;
-}
-
-sub add_file_to_eis
-{
- my $self = shift;
- my $module = shift;
- my $file = shift;
- my $revision = shift;
- my $authors_ref = shift;
- my $taskids_ref = shift;
- my $archive_path = shift;
-
-
- my $eis = Cws::eis();
- my $id = $self->eis_id();
-
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- # make certain that all task_ids are strings, otherwise
- # autotyping will choose the wrong type
- # Note: I think typing just the first element should suffice, but ...
- my @taskids = ();
- foreach ( @{$taskids_ref} ) {
- push(@taskids, Eis::to_string($_));
- }
- # HACK Its possible that we get no valid taskid.
- # Autotyping will fail for a list without elements;
- if ( !@taskids ) {
- push(@taskids, Eis::to_string(''));
- }
-
- # same for revision
- $revision = Eis::to_string($revision);
-
- if ( !$archive_path ) {
- $archive_path = Eis::to_string('');
- }
-
- my $result;
- eval {
- $result = $eis->addFile($id, $module, $file, $archive_path,
- $revision, $authors_ref, \@taskids)
- };
- if ( $@ ) {
- carp("ERROR: add_file(): EIS database transaction failed. Reason:\n$@\n");
- return undef;
- }
- return 1 if $result;
- return 0;
-}
-
-sub add_patch_file_to_eis
-{
- my $self = shift;
- my $file = shift;
-
- my $eis = Cws::eis();
- my $id = $self->eis_id();
-
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- my $result;
- eval { $result = $eis->addOutputFile($id, $file) };
- if ( $@ ) {
- carp("ERROR: add_patch_file(): EIS database transaction failed. Reason:\n$@\n");
- return undef;
- }
- return $1;# appOutputFile has void as return value ...
-}
-
-sub is_cws_name_available_in_eis
-{
- my $self = shift;
-
- if ( !$self->master() ) {
- carp("ERROR: master workspace name not set\n");
- return undef;
- }
-
- if ( !$self->child() ) {
- carp("ERROR: child workspace name not set\n");
- return undef;
- }
-
- my $eis = Cws::eis();
- my $master = Eis::to_string($self->master());
- my $child = Eis::to_string($self->child());
-
- my $result;
- eval { $result = $eis->isChildWorkspaceUnique($master, $child) };
- if ( $@ ) {
- carp("ERROR: is_cws_name_available(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-}
-
-sub register_child_with_eis
-{
- my $self = shift;
- my $vcsid = shift;
- my $location = shift;
-
- if ( !$self->master() ) {
- carp("ERROR: master workspace name not set\n");
- return undef;
- }
-
- if ( !$self->milestone() ) {
- carp("ERROR: master milestone not set\n");
- return undef;
- }
-
- if ( !$self->child() ) {
- carp("ERROR: child workspace name not set\n");
- return undef;
- }
-
- $vcsid = '' unless $vcsid;
- $location = '' unless $location;
-
- my $eis = Cws::eis();
- my $master = Eis::to_string($self->master());
- my $milestone = Eis::to_string($self->milestone());
- my $child = Eis::to_string($self->child());
-
- $vcsid = Eis::to_string($vcsid);
- $location = Eis::to_string($location);
-
- my $result;
- eval {
- $result = $eis->createChildWorkspace($master, $milestone, $child,
- $vcsid, $location)
- };
-
- if ( $@ ) {
- carp("ERROR: create_child_workspace(): EIS database transaction failed. Reason:\n$@\n");
- return undef;
- }
- # set EIS_ID directly, since $self->eis_id() is not
- # supposed to take parameters.
- $self->{EIS_ID} = $result;
- return $result;
-}
-
-sub promote_child_in_eis
-{
- my $self = shift;
- my $vcsid = shift;
- my $location = shift;
-
- my $eis = Cws::eis();
- my $id = $self->eis_id();
-
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- if ( !$self->milestone() ) {
- carp("ERROR: master milestone not set\n");
- return undef;
- }
-
- my $milestone = Eis::to_string($self->milestone());
-
- $vcsid = '' unless $vcsid;
- $location = '' unless $location;
-
- $vcsid = Eis::to_string($vcsid);
- $location = Eis::to_string($location);
-
- my $result;
- eval {
- $result = $eis->initializeChildWorkspace($id, $milestone, $vcsid, $location)
- };
-
- eval { $result = $eis->getStatus($id) };
- if ( $@ ) {
- carp("ERROR: promote(): EIS database transaction failed. Reason:\n$@\n");
- return 0;
- }
- return 1;
-}
-
-# Get child workspace owner from EIS,
-# return undef in case of error.
-sub get_owner_from_eis
-{
- my $self = shift;
-
- # check if child workspace is valid
- my $id = $self->eis_id();
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- my $eis = Cws::eis();
- my $result;
- eval { $result = $eis->getOwnerEmail($id) };
- if ( $@ ) {
- carp("ERROR: get_OwnerEmail(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-}
-
-# Get child workspace qarep from EIS,
-# return undef in case of error.
-sub get_qarep_from_eis
-{
- my $self = shift;
-
- # check if child workspace is valid
- my $id = $self->eis_id();
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- my $eis = Cws::eis();
- my $result;
- eval { $result = $eis->getQARepresentativeEmail($id) };
- if ( $@ ) {
- carp("ERROR: get_qarep(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-}
-
-# store an attachment to a given CWS
-# return undef in case of error.
-sub save_attachment_in_eis
-{
- my $self = shift;
- my $name = shift;
- my $mediatype = shift;
- my $text = shift;
-
- # check if child workspace is valid
- my $eisid = $self->eis_id();
- if ( !$eisid )
- {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- my $eisname = Eis::to_string($name);
- my $eismediatype = Eis::to_string($mediatype);
- my $eistextstring = Eis::to_string($text);
-
- my $eis = Cws::eis();
- my $result;
-
- eval { $result = $eis->saveAttachment($eisid, $eisname, $eismediatype, $eistextstring ) };
- if ( $@ ) {
- carp("ERROR: save_attachment_in_eis(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-}
-
-# Get child workspace approval status from EIS,
-# return undef in case of error.
-sub get_status_from_eis
-{
- my $self = shift;
-
- # check if child workspace is valid
- my $id = $self->eis_id();
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- my $eis = Cws::eis();
- my $result;
- eval { $result = $eis->getStatus($id) };
- if ( $@ ) {
- carp("ERROR: get_status(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-}
-
-# Get child workspace approval status from EIS,
-# return undef in case of error.
-sub set_status_in_eis
-{
- my $self = shift;
- my $status = shift;
- my $method = 'set';
- $method .= (defined $status) ? $status : 'Integrated';
-
- # check if child workspace is valid
- my $id = $self->eis_id();
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
- my $eis = Cws::eis();
- my $result;
- if (defined $status) {
- eval { $result = $eis->setFixedOnMaster($id) };
- } else {
- eval { $result = $eis->setIntegrated($id) };
- }
- if ( $@ ) {
- carp("ERROR: $method(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-}
-
-# Get child workspace approval status from EIS,
-# return undef in case of error.
-sub set_integration_milestone_in_eis
-{
- my $self = shift;
- my $milestone = shift;
- my $buildid = shift;
-
- # check if child workspace is valid
- my $id = $self->eis_id();
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- my $eis = Cws::eis();
-
- # just in case ...
- if ( !defined($milestone) ) {
- $milestone = Eis::to_string('');
- }
- # $buildid must be transfered as string
- if ( !defined($buildid) ) {
- $buildid = Eis::to_string('');
- }
- else {
- $buildid = Eis::to_string($buildid);
- }
-
- my $result;
- eval { $result = $eis->setIntegrationMilestone($id, $milestone, $buildid) };
- if ( $@ ) {
- carp("ERROR: set_integration_milestone(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-}
-
-sub set_milestone_buildid_in_eis
-{
- my $self = shift;
- my $master = shift;
- my $milestone = shift;
- my $buildid = shift;
-
- $master = Eis::to_string($master);
- $milestone = Eis::to_string($milestone);
- $buildid = Eis::to_string($buildid);
-
- my $eis = Cws::eis();
- my $result;
- eval { $result = $eis->setMilestoneBuild( $master, $milestone, $buildid ) };
- if ( $@ ) {
- carp("ERROR: set_milestone_buildid(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-}
-
-sub set_current_milestone_in_eis
-{
- my $self = shift;
- my $master = shift;
- my $milestone = shift;
-
- $master = Eis::to_string($master);
- $milestone = Eis::to_string($milestone);
-
- my $eis = Cws::eis();
- my $result;
- eval { $result = $eis->setCurrentMilestone( $master, $milestone ) };
- if ( $@ ) {
- carp("ERROR: set_current_milestone(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-}
-
-sub get_current_milestone_from_eis
-{
- my $self = shift;
- my $master = shift;
-
- $master = Eis::to_string($master);
-
- my $eis = Cws::eis();
- my $result;
- eval { $result = $eis->getCurrentMilestone( $master ) };
- if ( $@ ) {
- carp("ERROR: get_current_milestone(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-}
-
-sub get_masters_from_eis
-{
- my $self = shift;
-
- my $eis = Cws::eis();
- my @result;
- eval { @result = $eis->getMasterWorkspaces() };
- if ( $@ ) {
- carp("ERROR: get_masters(): EIS database transaction failed. Reason:\n$@\n");
- }
-
- my @result2=();
- my $i=0;
- while ( defined($result[0][$i]) ) {
- push @result2,$result[0][$i];
- $i++;
- }
- return @result2;
-}
-
-
-sub get_milestones_from_eis
-{
- my $self = shift;
- my $master = shift;
-
- $master = Eis::to_string($master);
-
- my $eis = Cws::eis();
- my @result;
- eval { @result = $eis->getMilestones( $master ) };
- if ( $@ ) {
- carp("ERROR: get_milestones(): EIS database transaction failed. Reason:\n$@\n");
- }
- my @result2=();
- my $i=0;
- while ( defined($result[0][$i]) ) {
- push @result2,$result[0][$i];
- $i++;
- }
- return @result2;
-}
-
-# Get child workspace owner from EIS,
-# return undef in case of error.
-sub expand_buildid_in_eis
-{
- my $self = shift;
- my $bid = shift;
-
- # check if child workspace is valid
- my $id = $self->eis_id();
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- my $name = $self->child();
-
- my $eis = Cws::eis();
- my $result;
- eval { $result = $eis->expandBuildId($bid, $name) };
- if ( $@ ) {
- carp("ERROR: expand_builid(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-}
-
-sub set_milestone_removed_in_eis
-{
- my $self = shift;
- my $master = shift;
- my $milestone = shift;
-
- $master = Eis::to_string($master);
- $milestone = Eis::to_string($milestone);
-
- my $eis = Cws::eis();
- eval { $eis->minorRemoved( $master, $milestone ) };
- if ( $@ ) {
- carp("ERROR: set_current_milestone(): EIS database transaction failed. Reason:\n$@\n");
- }
- return;
-}
-
-sub is_milestone_registered_with_eis
-{
- my $self = shift;
- my $master = shift;
- my $milestone = shift;
-
- $master = Eis::to_string($master);
- $milestone = Eis::to_string($milestone);
-
- my $eis = Cws::eis();
- my $result;
- eval { $result = $eis->isMilestoneValid($master, $milestone) };
- if ( $@ ) {
- carp("ERROR: is_milestone(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-}
-
-sub get_is_milestone_used_from_eis
-{
- my $self = shift;
- my $master = shift;
- my $milestone = shift;
-
- $master = Eis::to_string($master);
- $milestone = Eis::to_string($milestone);
-
- my $eis = Cws::eis();
- my $result;
- eval { $result = $eis->isMilestoneInUse($master, $milestone) };
- if ( $@ ) {
- carp("ERROR: is_milestone_used(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-}
-
-sub get_buildid_for_milestone
-{
- my $self = shift;
- my $master = shift;
- my $milestone = shift;
-
- $master = Eis::to_string($master);
- $milestone = Eis::to_string($milestone);
-
- my $eis = Cws::eis();
- my $result;
- eval { $result = $eis->getMilestoneBuild($master, $milestone) };
- if ( $@ ) {
- carp("ERROR: get_buildid_for_milestone(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-}
-
-sub get_childworkspaces_for_milestone
-{
- my $self = shift;
- my $master = shift;
- my $milestone = shift;
-
- $master = Eis::to_string($master);
- $milestone = Eis::to_string($milestone);
-
- my $eis = Cws::eis();
- my $result;
- eval { $result = $eis->searchChildWorkspacesForMilestone($master, $milestone) };
- if ( $@ ) {
- carp("ERROR: get_childworkspaces_for_milestone(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-}
-
-sub get_cws_with_state_from_eis {
- my $self = shift;
- my $mws = shift;
- my $status = shift;
-
- my $eis = Cws::eis();
- my $result;
- eval { $result = $eis->getCWSWithState($mws, $status) };
- if ( $@ ) {
- carp("ERROR: get_cws_with_state_from_eis(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-}
-
-sub get_task_prios_of_tasks
-{
- my $self = shift;
- my $ref_taskids = shift;
-
- my $eis = Cws::eis();
- my $result;
- my @items = ();
- foreach ( @{$ref_taskids} ) {
- push(@items, Eis::to_string($_));
- }
-
- eval { $result = $eis->getTasksPriorities( \@items ) };
- if ( $@ ) {
- carp("ERROR: get_task_prios_of_tasks(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-}
-
-sub get_creation_master_from_eis
-{
- my $self = shift;
-
- # check if child workspace is valid
- my $id = $self->eis_id();
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- my $eis = Cws::eis();
- my $result;
- eval { $result = $eis->getCreationMasterWorkspace($id) };
- if ( $@ ) {
- carp("ERROR: get_creation_master(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-
-}
-
-sub get_milestone_integrated_from_eis
-{
- my $self = shift;
-
- # check if child workspace is valid
- my $id = $self->eis_id();
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- my $eis = Cws::eis();
- my $result;
- eval { $result = $eis->getMilestoneIntegrated($id) };
- if ( $@ ) {
- carp("ERROR: get_milestone_integrated(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-
-}
-
-# get isPublic flag from eis
-sub get_public_flag_from_eis
-{
- my $self = shift;
-
- # check if child workspace is valid
- my $id = $self->eis_id();
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- my $eis = Cws::eis();
- my $result;
- eval { $result = $eis->isPublic($id) };
- if ( $@ ) {
- carp("ERROR: get_public_flag(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-}
-
-# get isPublicMaster flag from eis
-sub get_publicmaster_flag_from_eis
-{
- my $self = shift;
-
- # check if child workspace is valid
- my $master = $self->master();
- if ( !$master ) {
- carp("ERROR: MasterWorkspace not defined.\n");
- return undef;
- }
-
- my $eis = Cws::eis();
- my $result;
- eval { $result = $eis->isPublicMaster($master) };
- if ( $@ ) {
- carp("ERROR: get_publicmaster_flag(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-}
-
-# get isSubVersion flag from eis
-sub get_subversion_flag_from_eis
-{
- my $self = shift;
-
- # check if child workspace is valid
- my $id = $self->eis_id();
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- my $eis = Cws::eis();
- my $result;
- eval { $result = $eis->isSubVersion($id) };
- if ( $@ ) {
- carp("ERROR: get_subversion_flag(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-}
-
-# set isSubVersion flag in eis
-sub set_subversion_flag_in_eis
-{
- my $self=shift;
- my $status=shift;
-
- my $bool_status=SOAP::Data->type(boolean => $status);
-
- # check if child workspace is valid
- my $id = $self->eis_id();
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- my $eis = Cws::eis();
- my $result;
- eval { $result = $eis->setSubVersion($id,$bool_status) };
- if ( $@ ) {
- carp("ERROR: get_subversion_flag(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-}
-
-sub get_scm_from_eis
-{
- my $self = shift;
-
- # check if child workspace is valid
- my $id = $self->eis_id();
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- my $eis = Cws::eis();
- my $result;
- eval { $result = $eis->getSCMName($id) };
- if ( $@ ) {
- carp("ERROR: get_scm_from_eis(): EIS database transaction failed. Reason:\n$@\n");
- }
- return $result;
-}
-
-sub set_scm_in_eis
-{
- my $self = shift;
- my $scm_name = shift;
-
- $scm_name = Eis::to_string($scm_name);
- # check if child workspace is valid
- my $id = $self->eis_id();
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- my $eis = Cws::eis();
- eval { $eis->setSCMName($id, $scm_name) };
- if ( $@ ) {
- carp("ERROR: set_scm_in_eis(): EIS database transaction failed. Reason:\n$@\n");
- return 0;
- }
- return 1;
-}
-
-sub is_uirelevant_from_eis
-{
- my $self = shift;
-
- # check if child workspace is valid
- my $id = $self->eis_id();
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- my $eis = Cws::eis();
- my $result;
- eval { $result = $eis->isUIRelevant($id) };
- if ( $@ ) {
- carp("ERROR: is_uirelevant_from_eis(): EIS database transaction failed. Reason:\n$@\n");
- }
-
- return $result;
-}
-
-sub is_helprelevant_from_eis
-{
- my $self = shift;
-
- # check if child workspace is valid
- my $id = $self->eis_id();
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- my $eis = Cws::eis();
- my $result;
- eval { $result = $eis->isHelpRelevant( $id ) };
- if ( $@ ) {
- carp("ERROR: is_helprelevant_from_eis(): EIS database transaction failed. Reason:\n$@\n");
- }
-
- return $result;
-}
-sub set_word_count_in_eis
-{
- my $self = shift;
- my $language = shift;
- my $wordcount = shift;
-
- # check if child workspace is valid
- my $id = $self->eis_id();
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- my $eis = Cws::eis();
- my $result;
- eval { $result = $eis->setWordCount( $id , $language , $wordcount ) };
- if ( $@ ) {
- carp("ERROR: set_word_count_from_eis(): EIS database transaction failed. Reason:\n$@\n");
- }
-
- return $result;
-}
-
-
-sub get_l10n_status_from_eis
-{
- my $self = shift;
-
- # check if child workspace is valid
- my $id = $self->eis_id();
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- my $eis = Cws::eis();
- my $result;
- eval { $result = $eis->getL10n( $id ) };
- if ( $@ ) {
- carp("ERROR: get_l10n_status_from_eis(): EIS database transaction failed. Reason:\n$@\n");
- }
-
- return $result;
-}
-
-sub set_l10n_status_in_eis
-{
- my $self = shift;
- my $status = Eis::to_string( shift );
-
- # check if child workspace is valid
- my $id = $self->eis_id();
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- my $eis = Cws::eis();
- my $result;
-
- eval { $result = $eis->setL10n( $id , $status ) };
- if ( $@ ) {
- carp("ERROR: set_l10n_status_in_eis(): EIS database transaction failed. Reason:\n$@\n");
- }
-
- return $result;
-}
-
-sub get_is_cws_cloneable_from_eis
-{
- my $self = shift;
- my $master = Eis::to_string( shift );
-
- # check if child workspace is valid
- my $id = $self->eis_id();
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- my $eis = Cws::eis();
- my $result;
-
- eval { $result = $eis->isClonableForMaster($id, $master) };
- if ( $@ ) {
- carp("ERROR: get_is_cws_cloneable_from_eis(): EIS database transaction failed. Reason:\n$@\n");
- }
-
- return $result;
-}
-
-sub clone_cws_in_eis
-{
- my $self = shift;
- my $master = Eis::to_string( shift );
-
- # check if child workspace is valid
- my $id = $self->eis_id();
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- my $eis = Cws::eis();
- my $result;
-
- eval { $eis->cloneForMaster($id, $master) };
- if ( $@ ) {
- carp("ERROR: clone_cws_in_eis(): EIS database transaction failed. Reason:\n$@\n");
- return 0;
- }
-
- return 1;
-}
-
-sub get_release_from_eis
-{
- my $self = shift;
- my $master = Eis::to_string( shift );
-
- # check if child workspace is valid
- my $id = $self->eis_id();
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- my $eis = Cws::eis();
- my $result;
-
- eval { $result = $eis->getRelease($id) };
- if ( $@ ) {
- carp("ERROR: get_release_from_eis(): EIS database transaction failed. Reason:\n$@\n");
- }
-
- return $result;
-}
-
-sub get_due_date_from_eis
-{
- my $self = shift;
- my $master = Eis::to_string( shift );
-
- # check if child workspace is valid
- my $id = $self->eis_id();
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- my $eis = Cws::eis();
- my $result;
-
- eval { $result = $eis->getDueDate($id) };
- if ( $@ ) {
- carp("ERROR: get_due_date_from_eis(): EIS database transaction failed. Reason:\n$@\n");
- }
-
- return $result;
-}
-
-sub get_due_date_qa_from_eis
-{
- my $self = shift;
- my $master = Eis::to_string( shift );
-
- # check if child workspace is valid
- my $id = $self->eis_id();
- if ( !$id ) {
- carp("ERROR: Childworkspace not (yet) registered with EIS.\n");
- return undef;
- }
-
- my $eis = Cws::eis();
- my $result;
-
- eval { $result = $eis->getDueDateQA($id) };
- if ( $@ ) {
- carp("ERROR: get_due_date_qa_from_eis(): EIS database transaction failed. Reason:\n$@\n");
- }
-
- return $result;
-}
-
-
-#logging
-sub set_log_entry_in_eis
-{
- my $self = shift;
- my $commandline = shift;
- my $vcsid = shift;
- my $start = shift;
- my $end = shift;
- my $comment = shift;
-
- $commandline = SOAP::Data->type(string => $commandline);
- $comment = SOAP::Data->type(string => $comment);
-
- # *format* for $start and $end = "2003-05-28 12:34:59";
-
-#=====================================================
- #TO DO:
- #experimenell für saubere schnittstelle
- #$start = SOAP::Data->type(dateTime => $start);
- #$end = SOAP::Data->type(dateTime => $end);
-#=====================================================
-
- my $eis = Cws::eis();
- my $result;
- eval { $result = $eis->storeCommandLogEntry( $commandline, $vcsid, $start, $end, $comment ) };
- if ( $@ ) {
- carp("ERROR: set_log_entry(): Logging failed. Reason:\n$@\n");
- }
- return $result;
-}
-
-#set_log_entry_extended_in_eis($commandname, $parameter, $vcsid, $start, $stop, $comment, $mastername, $childname);
-sub set_log_entry_extended_in_eis
-{
- my $self = shift;
- my $commandname = shift;
- my $parameter = shift;
- my $vcsid = shift;
- my $start = shift;
- my $end = shift;
- my $comment = shift;
- my $mastername = shift;
- my $childname = shift;
-
- $commandname = SOAP::Data->type(string => $commandname);
- $parameter = SOAP::Data->type(string => $parameter);
- $comment = SOAP::Data->type(string => $comment);
- $mastername = SOAP::Data->type(string => $mastername);
- $childname = SOAP::Data->type(string => $childname);
-
- # *format* for $start and $end = "2003-05-28 12:34:59";
-
-#=====================================================
- #TO DO:
- #experimenell für saubere schnittstelle
- #$start = SOAP::Data->type(dateTime => $start);
- #$end = SOAP::Data->type(dateTime => $end);
-#=====================================================
-
- my $eis = Cws::eis();
- my $result;
- eval { $result = $eis->storeCommandLogEntry($commandname, $parameter, $vcsid, $start, $end, $comment, $mastername, $childname) };
- if ( $@ ) {
- carp("ERROR: set_log_entry_extended(): Logging failed. Reason:\n$@\n");
- }
- return $result;
-}
-
-
-#### class methods ####
-
-sub init_eis_connector
-{
- my $eis = Eis->new( uri => Cws::eis_uri(),
- proxy_list => Cws::eis_proxy_list(),
- net_proxy => Cws::net_proxy()
- );
- return $eis;
-}
-
-####
-
-1; # needed by "use" or "require"
-# vim: set ts=4 shiftwidth=4 expandtab syntax=perl:
diff --git a/solenv/bin/modules/CwsConfig.pm b/solenv/bin/modules/CwsConfig.pm
deleted file mode 100644
index 1ba12fecac1d..000000000000
--- a/solenv/bin/modules/CwsConfig.pm
+++ /dev/null
@@ -1,541 +0,0 @@
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-
-#
-# CwsConfig.pm - package for read CWS config data
-#
-
-package CwsConfig;
-use strict;
-
-use Carp;
-use URI::Escape;
-
-##### ctor ####
-
-sub new
-{
- my $invocant = shift;
- my $class = ref($invocant) || $invocant;
- my $self = {};
- $self->{_CONFIG_FILE} = undef; # config file
- $self->{_GLOBAL} = undef; # is it a global config file?
- $self->{VCSID} = undef; # VCSID
- $self->{CWS_DB_URL_LIST_REF} = undef; # list of CWS DB servers
- $self->{NET_PROXY} = undef; # network proxy
- $self->{CWS_SERVER_ROOT} = undef; # cvs server
- $self->{CWS_MIRROR_ROOT} = undef; # mirror of cvs server
- $self->{CWS_LOCAL_ROOT} = undef; # local cvs server
- $self->{PUBLIC_SVN_SERVER} = undef; # public svn server
- $self->{PRIVATE_SVN_SERVER} = undef; # private svn server
- bless ($self, $class);
- return $self;
-}
-
-sub vcsid
-{
- my $self = shift;
-
- if ( !defined($self->{VCSID}) ) {
- # environment overrides config file
- my $vcsid = $ENV{VCSID};
- if ( !defined($vcsid) ) {
- # check config file
- my $config_file = $self->get_config_file();
- $vcsid = $config_file->{CWS_CONFIG}->{'CVS_ID'};
- if ( !defined($vcsid) ) {
- # give up
- croak("ERROR: no CVS_ID entry found in '\$HOME/.cwsrc'.\n" );
- }
- }
- $self->{VCSID} = $vcsid;
- }
- return $self->{VCSID};
-}
-
-sub cws_db_url_list_ref
-{
- my $self = shift;
-
- if ( !defined($self->{CWS_DB_URL_LIST_REF}) ) {
- my $config_file = $self->get_config_file();
-
- my $i = 1;
- my @cws_db_servers;
-
- while ( 1 ) {
- my $val = $config_file->{CWS_CONFIG}->{"CWS_DB_SERVER_$i"};
- last if !defined($val);
- push(@cws_db_servers, $val);
- $i++;
- }
-
- if ( !@cws_db_servers) {
- croak("ERROR: no CWS_DB_SERVER_* entry found in '\$HOME/.cwsrc'.\n" );
- }
-
- if ( $cws_db_servers[0] =~ /^https:\/\// ) {
- my $id = $self->vcsid();
- my $password = $config_file->{CWS_CONFIG}->{'CVS_PASSWORD'};
-
- if ( !defined($password) ) {
- croak("ERROR: no CVS_PASSWORD entry found in '\$HOME/.cwsrc'.\n" );
- }
-
- # *i49473* - do not accept scrambled passwords ending with a space
- if ( $password =~ / $/) {
- croak("ERROR: The (scrambled) CVS_PASSWORD ends with a space. This is known to cause problems when connecting to the OpenOffice.org EIS database. Please change your OOo account's password" );
- }
-
- # We are going to stuff $id and $password in an URL, do proper escaping.
- $id = uri_escape($id);
- $password = uri_escape($password);
-
- foreach ( @cws_db_servers ) {
- s/^https:\/\//https:\/\/$id:$password@/;
- }
- }
-
- $self->{CWS_DB_URL_LIST_REF} = \@cws_db_servers;
- }
- return $self->{CWS_DB_URL_LIST_REF};
-}
-
-sub net_proxy
-{
- my $self = shift;
-
- if ( !defined($self->{NET_PROXY}) ) {
- my $config_file = $self->get_config_file();
- my $net_proxy = $config_file->{CWS_CONFIG}->{'PROXY'};
- if ( !defined($net_proxy) ) {
- $net_proxy = "";
- }
- $self->{NET_PROXY} = $net_proxy;
- }
- return $self->{NET_PROXY} ? $self->{NET_PROXY} : undef;
-}
-
-sub cvs_binary
-{
- my $self = shift;
-
- if ( !defined($self->{CVS_BINARY}) ) {
- my $config_file = $self->get_config_file();
- my $cvs_binary = $config_file->{CWS_CONFIG}->{'CVS_BINARY'};
- if ( !defined($cvs_binary) ) {
- # defaults
- $cvs_binary = ($^O eq 'MSWin32') ? 'cvs.exe' : 'cvs';
- }
- # special case, don't ask
- if ( $self->{_GLOBAL} && $cvs_binary =~ /cvs.clt2/ && $^O eq 'MSWin32' ) {
- $cvs_binary = 'cvsclt2.exe';
- }
- $self->{CVS_BINARY} = $cvs_binary;
- }
- return $self->{CVS_BINARY};
-}
-
-sub cvs_server_root
-{
- my $self = shift;
-
- if ( !defined($self->{CVS_SERVER_ROOT}) ) {
- my $config_file = $self->get_config_file();
- my $cvs_server_root = $config_file->{CWS_CONFIG}->{'CVS_SERVER_ROOT'};
- if ( !defined($cvs_server_root) ) {
- # give up, this is a mandatory entry
- croak("ERROR: can't parse CVS_SERVER_ROOT entry in '\$HOME/.cwsrc'.\n");
- }
- if ( $self->{_GLOBAL} ) {
- # a global config file will almost always have the wrong vcsid in
- # the cvsroot -> substitute vcsid
- my $id = $self->vcsid();
- $cvs_server_root =~ s/:pserver:\w+@/:pserver:$id@/;
- }
- $self->{CVS_SERVER_ROOT} = $cvs_server_root;
- }
- return $self->{CVS_SERVER_ROOT};
-}
-
-sub cvs_mirror_root
-{
- my $self = shift;
-
- if ( !defined($self->{CVS_MIRROR_ROOT}) ) {
- my $config_file = $self->get_config_file();
- my $cvs_mirror_root = $config_file->{CWS_CONFIG}->{'CVS_MIRROR_ROOT'};
- if ( !defined($cvs_mirror_root) ) {
- $cvs_mirror_root = "";
- }
- $self->{CVS_MIRROR_ROOT} = $cvs_mirror_root;
- }
- return $self->{CVS_MIRROR_ROOT} ? $self->{CVS_MIRROR_ROOT} : undef;
-}
-
-sub cvs_local_root
-{
- my $self = shift;
-
- if ( !defined($self->{CVS_LOCAL_ROOT}) ) {
- my $config_file = $self->get_config_file();
- my $cvs_local_root = $config_file->{CWS_CONFIG}->{'CVS_LOCAL_ROOT'};
- if ( !defined($cvs_local_root) ) {
- $cvs_local_root = "";
- }
- $self->{CVS_LOCAL_ROOT} = $cvs_local_root;
- }
- return $self->{CVS_LOCAL_ROOT} ? $self->{CVS_LOCAL_ROOT} : undef;
-}
-
-sub get_cvs_server
-{
- my $self = shift;
-
- my ($method, $id, $server, $repository) = CwsConfig::split_root($self->cvs_server_root(), 'SERVER');
- return $server;
-}
-
-sub get_cvs_mirror
-{
- my $self = shift;
-
- my ($method, $id, $server, $repository) = CwsConfig::split_root($self->cvs_mirror_root(), 'MIRROR');
- return $server;
-}
-
-sub get_cvs_local
-{
- my $self = shift;
-
- my ($method, $id, $server, $repository) = CwsConfig::split_root($self->cvs_local_root(), 'LOCAL');
- return $server;
-}
-
-sub get_cvs_server_method
-{
- my $self = shift;
-
- my ($method, $id, $server, $repository) = CwsConfig::split_root($self->cvs_server_root(), 'SERVER');
- return $method;
-}
-
-sub get_cvs_mirror_method
-{
- my $self = shift;
-
- my ($method, $id, $server, $repository) = CwsConfig::split_root($self->cvs_mirror_root(), 'MIRROR');
- return $method;
-}
-
-sub get_cvs_local_method
-{
- my $self = shift;
-
- my ($method, $id, $server, $repository) = CwsConfig::split_root($self->cvs_local_root(), 'LOCAL');
- return $method;
-}
-
-sub get_cvs_server_repository
-{
- my $self = shift;
-
- my ($method, $id, $server, $repository) = CwsConfig::split_root($self->cvs_server_root(), 'SERVER');
- return $repository;
-}
-
-sub get_cvs_mirror_repository
-{
- my $self = shift;
-
- my ($method, $id, $server, $repository) = CwsConfig::split_root($self->cvs_mirror_root(), 'MIRROR');
- return $repository;
-}
-
-sub get_cvs_local_repository
-{
- my $self = shift;
-
- my ($method, $id, $server, $repository) = CwsConfig::split_root($self->cvs_local_root(), 'LOCAL');
- return $repository;
-}
-
-sub get_cvs_server_id
-{
- my $self = shift;
-
- my ($method, $id, $server, $repository) = CwsConfig::split_root($self->cvs_server_root(), 'SERVER');
- return $id;
-}
-
-sub get_cvs_mirror_id
-{
- my $self = shift;
-
- my ($method, $id, $server, $repository) = CwsConfig::split_root($self->cvs_mirror_root(), 'MIRROR');
- return $id;
-}
-
-sub get_cvs_local_id
-{
- my $self = shift;
-
- my ($method, $id, $server, $repository) = CwsConfig::split_root($self->cvs_local_root(), 'LOCAL');
- return $id;
-}
-
-#### SVN methods ####
-
-sub get_ooo_svn_server
-{
- my $self = shift;
-
- if ( !defined($self->{SVN_SERVER}) ) {
- my $config_file = $self->get_config_file();
- my $ooo_svn_server = $config_file->{CWS_CONFIG}->{'SVN_SERVER'};
- if ( !defined($ooo_svn_server) ) {
- $ooo_svn_server = "";
- }
- $self->{SVN_SERVER} = $ooo_svn_server;
- }
- return $self->{SVN_SERVER} ? $self->{SVN_SERVER} : undef;
-}
-
-sub get_so_svn_server
-{
- my $self = shift;
-
- if ( !defined($self->{SO_SVN_SERVER}) ) {
- my $config_file = $self->get_config_file();
- my $so_svn_server = $config_file->{CWS_CONFIG}->{'SO_SVN_SERVER'};
- if ( !defined($so_svn_server) ) {
- $so_svn_server = "";
- }
- $self->{SO_SVN_SERVER} = $so_svn_server;
- }
- return $self->{SO_SVN_SERVER} ? $self->{SO_SVN_SERVER} : undef;
-}
-
-#### HG methods ####
-
-sub _get_hg_source
-{
- my $self = shift;
- my $repository_source = shift;
- if ( !defined($self->{$repository_source}) ) {
- my $config_file = $self->get_config_file();
- my $source = $config_file->{CWS_CONFIG}->{$repository_source};
- if ( !defined($source) ) {
- $source = "";
- }
- $self->{$repository_source} = $source;
- }
- return $self->{$repository_source} ? $self->{$repository_source} : undef;
-
-}
-
-sub get_hg_source
-{
- my $self = shift;
- my $repository = shift;
- my $location = shift;
-
- #Special prefix handling, see cwsrc
- if ($repository eq "OOO")
- {
- if ($location eq "LOCAL")
- {
- return $self->_get_hg_source('HG_LOCAL_SOURCE');
- }
- elsif ($location eq "LAN")
- {
- return $self->_get_hg_source('HG_LAN_SOURCE');
- }
- elsif ($location eq "REMOTE")
- {
- return $self->_get_hg_source('HG_REMOTE_SOURCE');
- }
- }
- else
- {
- if ($location eq "LOCAL")
- {
- return $self->_get_hg_source($repository.'_HG_LOCAL_SOURCE');
- }
- elsif ($location eq "LAN")
- {
- return $self->_get_hg_source($repository.'_HG_LAN_SOURCE');
- }
- elsif ($location eq "REMOTE")
- {
- return $self->_get_hg_source($repository.'_HG_REMOTE_SOURCE');
- }
- }
-}
-
-#### Prebuild binaries configuration ####
-
-sub get_prebuild_binaries_location
-{
- my $self = shift;
-
- if ( !defined($self->{PREBUILD_BINARIES}) ) {
- my $config_file = $self->get_config_file();
- my $pre_build_binaries = $config_file->{CWS_CONFIG}->{'PREBUILD_BINARIES'};
- if ( !defined($pre_build_binaries) ) {
- $pre_build_binaries = "";
- }
- $self->{PREBUILD_BINARIES} = $pre_build_binaries;
- }
- return $self->{PREBUILD_BINARIES} ? $self->{PREBUILD_BINARIES} : undef;
-}
-
-
-
-#### class methods #####
-sub get_config
-{
- my $config = CwsConfig->new();
- return $config;
-}
-
-sub split_root
-{
- my $root = shift;
- my $type = shift;
-
- if ( !defined($root) ) {
- return (undef, undef, undef, undef);
- }
-
- my ($dummy, $method, $id_at_host, $repository) = split(/:/, $root);
- $repository =~ s/^\d*//;
- my ($id, $server);
- if ( $id_at_host ) {
- ($id, $server) = split(/@/, $id_at_host);
- }
- if ( !defined($method) || !defined($id) || !defined($server) || !defined($repository) ) {
- # give up
- print "$method, $id, $server, $repository\n";
- croak("ERROR: can't parse CVS_".$type."_ROOT entry in '\$HOME/.cwsrc'.\n");
- }
- return ($method, $id, $server, $repository);
-}
-
-#### private helper methods ####
-
-sub get_config_file
-{
- my $self = shift;
-
- if ( !defined $self->{_CONFIG_FILE} ) {
- $self->parse_config_file();
- }
- return $self->{_CONFIG_FILE};
-}
-
-sub read_config
-{
- my $self = shift;
- my $fname = shift;
- my $fhandle;
- my $section = '';
- my %config;
-
- open ($fhandle, $fname) || croak("ERROR: Can't open '$fname': $!");
- while ( <$fhandle> ) {
- tr/\r\n//d; # win32 pain
- # Issue #i62815#: Scrambled CVS passwords may contain one or more '#'.
- # Ugly special case needed: still allow in-line (perl style) comments
- # elsewhere because existing configuration files may depend on them.
- if ( !/^\s*CVS_PASSWORD/ ) {
- s/\#.*//; # kill comments
- }
- /^\s*$/ && next;
-
- if (/\[\s*(\S+)\s*\]/) {
- $section = $1;
- if (!defined $config{$section}) {
- $config{$section} = {};
- }
- }
- defined $config{$section} || croak("ERROR: unknown / no section '$section'\n");
- if ( m/(\w[\w\d]*)=(.*)/ ) {
- my $var = $1;
- my $val = $2;
- # New style value strings may be surrounded by quotes
- if ( $val =~ s/\s*(['"])(.*)\1\s*$/$2/ ) {
- my $quote = $1;
- # If and only if the value string is surrounded by quotes we
- # can expect that \" or \' are escaped characters. In an unquoted
- # old style value string they could mean exactly what is standing there
- #
- # Actually the RE above works without quoting the quote character
- # (either " or ') inside the value string but users will probably
- # expect that they need to be escaped if quotes are used.
- #
- # This is still not completly correct for all thinkable situations but
- # should be good enough for all practical use cases.
- $val =~ s/\\($quote)/$1/g;
- }
- $config{$section}->{$var} = $val;
- # print "Set '$var' to '$val'\n";
- }
- }
- close ($fhandle) || croak("ERROR: Failed to close: $!");
-
- $self->{_CONFIG_FILE} = \%config;
-}
-
-sub parse_config_file
-{
- my $self = shift;
-
- my $config_file;
- # check for config files
- if ( -e "$ENV{HOME}/.cwsrc" ) {
- $self->read_config("$ENV{HOME}/.cwsrc");
- $self->{_GLOBAL} = 0;
- }
- elsif ( -e "$ENV{COMMON_ENV_TOOLS}/cwsrc" ) {
- $self->read_config("$ENV{COMMON_ENV_TOOLS}/cwsrc");
- $self->{_GLOBAL} = 1;
- }
- else {
- croak("ERROR: can't find CWS config file '\$HOME/.cwsrc'.\n");
- }
-}
-
-sub sointernal
-{
- my $self = shift;
- my $config_file = $self->get_config_file();
- my $val = ($config_file->{CWS_CONFIG}->{"SO_INTERNAL"}) ? 1 : 0;
- return $val;
-}
-1; # needed by "use" or "require"
diff --git a/solenv/bin/modules/GenInfoParser.pm b/solenv/bin/modules/GenInfoParser.pm
index 2671da13a69d..fdab7e44ff17 100644
--- a/solenv/bin/modules/GenInfoParser.pm
+++ b/solenv/bin/modules/GenInfoParser.pm
@@ -128,10 +128,7 @@ sub parse_list
return 0 if ! -r $list_file;
open(FILE, "<$list_file") or croak("can't open $list_file: $!");
- # my $t0 = new Benchmark;
$self->parse_block(\*FILE, $self->{'DATA'});
- # my $t1 = new Benchmark;
- # print STDERR "parsing $list_file took: ", timestr(timediff($t1, $t0)), "\n";
close(FILE);
}
diff --git a/solenv/bin/modules/RepositoryHelper.pm b/solenv/bin/modules/RepositoryHelper.pm
index 8ea7996f6bc6..a3459c2bb575 100644
--- a/solenv/bin/modules/RepositoryHelper.pm
+++ b/solenv/bin/modules/RepositoryHelper.pm
@@ -118,8 +118,7 @@ sub search_for_hg {
sub search_via_build_lst {
my $self = shift;
-# my @possible_build_lists = ('build.lst', 'build.xlist'); # build lists names
- my @possible_build_lists = ('build.lst'); # build lists names
+ my @possible_build_lists = ('gbuild.lst', 'build.lst'); # build lists names
my $previous_dir = '';
my $rep_root_candidate = $self->{INITIAL_DIRECTORY};
do {
@@ -136,7 +135,7 @@ sub search_via_build_lst {
};
};
$previous_dir = $rep_root_candidate;
- $rep_root_candidate = File::Basename::dirname(Cwd::realpath($rep_root_candidate));
+ $rep_root_candidate = File::Basename::dirname($rep_root_candidate);
return 0 if ((!$rep_root_candidate) || ($rep_root_candidate eq $previous_dir));
}
while (chdir "$rep_root_candidate");
diff --git a/solenv/bin/modules/SourceConfig.pm b/solenv/bin/modules/SourceConfig.pm
index e7b526e2cfca..5ca61b5c2c9f 100755..100644
--- a/solenv/bin/modules/SourceConfig.pm
+++ b/solenv/bin/modules/SourceConfig.pm
@@ -76,8 +76,16 @@ sub new {
$source_root .= '/..';
}
} else {
- $source_root = $ENV{SOURCE_ROOT_DIR};
+ $source_root = $ENV{SRC_ROOT};
};
+ if ( defined $ENV{USE_GBUILD} and "$ENV{USE_GBUILD}" ne "" )
+ {
+ $self->{POSSIBLE_BUILD_LIST} = ('gbuild.lst', 'build.lst', 'build.xlist'); # build lists names
+ }
+ else
+ {
+ $self->{POSSIBLE_BUILD_LIST} = ('build.lst', 'build.xlist'); # build lists names
+ }
$source_root = Cwd::realpath($source_root);
$self->{SOURCE_ROOT} = $source_root;
$self->{DEBUG} = 0;
@@ -94,6 +102,7 @@ sub new {
$self->{REMOVE_REPOSITORIES} = {};
$self->{NEW_REPOSITORIES} = [];
$self->{WARNINGS} = [];
+ $self->{GBUILD} = 0;
$self->{REPORT_MESSAGES} = [];
$self->{CONFIG_FILE_CONTENT} = [];
if (defined $self->{USER_SOURCE_ROOT}) {
@@ -173,11 +182,14 @@ sub get_module_build_list {
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/$_";
+ my @possible_build_lists = $self->{POSSIBLE_BUILD_LIST}; # build lists names
+ foreach my $build_list (@possible_build_lists) {
+ my $possible_path = ${$self->{MODULE_PATHS}}{$module} . "/prj/$build_list";
if (-e $possible_path) {
${$self->{MODULE_BUILD_LIST_PATHS}}{$module} = $possible_path;
+ if ( $build_list eq "gbuild.lst" ) {
+ $self->{GBUILD} = 1;
+ };
return $possible_path;
};
};
@@ -305,12 +317,6 @@ sub read_config_file {
if (/\s*(\S+)=active\s*(\s+#)*/) {
if ($repository_section) {
my $repository_source_path = $self->{SOURCE_ROOT} . "/$1";
- if (defined $ENV{UPDMINOREXT}) {
- $repository_source_path .= $ENV{UPDMINOREXT};
- if (defined ${$self->{REPOSITORIES}}{$1.$ENV{UPDMINOREXT}}) {
- delete ${$self->{REPOSITORIES}}{$1.$ENV{UPDMINOREXT}};
- };
- };
${$self->{REPOSITORIES}}{$1} = $repository_source_path;
${$self->{ACTIVATED_REPOSITORIES}}{$1}++;
next;
diff --git a/solenv/bin/modules/installer/archivefiles.pm b/solenv/bin/modules/installer/archivefiles.pm
index e85903c699aa..af23ed21e3a6 100644
--- a/solenv/bin/modules/installer/archivefiles.pm
+++ b/solenv/bin/modules/installer/archivefiles.pm
@@ -36,6 +36,7 @@ use installer::globals;
use installer::logger;
use installer::pathanalyzer;
use installer::systemactions;
+use Cwd;
#################################################################
# Changing the name for files with flag RENAME_TO_LANGUAGE
@@ -87,7 +88,7 @@ sub get_patch_file_list
$patchfilestring =~ s/^\s*\///;
$patchfilestring =~ s/^\s*\\//;
- my $patchfilesarray = installer::converter::convert_stringlist_into_array_without_linebreak_and_quotes(\$patchfilestring, ",");
+ my $patchfilesarray = installer::converter::convert_stringlist_into_array_without_newline(\$patchfilestring, ",");
return $patchfilesarray;
}
@@ -241,9 +242,6 @@ sub resolving_archive_flag
my $unzipdir;
- # if ($iscommonfile) { $unzipdir = $commonunzipdirbase . $installer::globals::separator . $onelanguage . $installer::globals::separator; }
- # else { $unzipdir = $platformunzipdirbase . $installer::globals::separator . $onelanguage . $installer::globals::separator; }
-
$unzipdir = $platformunzipdirbase . $installer::globals::separator . $onelanguage . $installer::globals::separator;
installer::systemactions::create_directory($unzipdir); # creating language specific subdirectories
@@ -264,10 +262,13 @@ sub resolving_archive_flag
my $counter = 0;
my $contains_dll = 0;
+ my @dllList = ();
+ my @dirs = ();
foreach my $member ( $zip->memberNames() )
{
$counter++;
- if ( $member =~ /.dll\s*$/ ) { $contains_dll = 1; }
+ if ( $member =~ /.dll\s*$/i ) { $contains_dll = 1; push(@dllList, $member); }
+ if ( $member =~ m/\/$/ ) { push(@dirs, $member); }
}
if (! ( $counter > 0 )) # the zipfile is empty
@@ -284,31 +285,34 @@ sub resolving_archive_flag
if (( $^O =~ /cygwin/i ) && ( $contains_dll ))
{
- # Make dll's executable
- $systemcall = "cd $unzipdir; find . -name \\*.dll -exec chmod 775 \{\} \\\;";
- $returnvalue = system($systemcall);
- $infoline = "Systemcall: $systemcall\n";
+ my $dir = getcwd();
+ chdir($unzipdir);
+ my $changed = chmod(0775, @dllList);
+ $infoline = "Changed mode of $changed files (of ".scalar(@dllList).")\n";
push( @installer::globals::logfileinfo, $infoline);
+ chdir($dir);
- if ($returnvalue)
+ if ($changed != scalar(@dllList))
{
- $infoline = "ERROR: Could not execute \"$systemcall\"!\n";
+ $infoline = "ERROR: Could not chmod all files!\n";
push( @installer::globals::logfileinfo, $infoline);
}
}
- if ( ! $installer::globals::iswindowsbuild )
+ if ( ! $installer::globals::iswindowsbuild && scalar(@dirs) > 0 )
{
+ my $dir = getcwd();
+ chdir($unzipdir);
# Setting unix rights to "775" for all created directories inside the package
+ my $changed = chmod(0775, @dirs);
+ $infoline = "Changed mode of : $changed; should be: ".scalar(@dirs)."\n";
+ chdir($dir);
- $systemcall = "cd $unzipdir; find . -type d -exec chmod 775 \{\} \\\;";
- $returnvalue = system($systemcall);
- $infoline = "Systemcall: $systemcall\n";
push( @installer::globals::logfileinfo, $infoline);
- if ($returnvalue)
+ if ($changed != scalar(@dirs))
{
- $infoline = "ERROR: Could not execute \"$systemcall\"!\n";
+ $infoline = "ERROR: Could not chmod all files!\n";
push( @installer::globals::logfileinfo, $infoline);
}
}
@@ -411,13 +415,9 @@ sub resolving_archive_flag
$newfile{'Styles'} =~ s/\,\s*\,/\,/;
$newfile{'Styles'} =~ s/\(\s*\,/\(/;
$newfile{'Styles'} =~ s/\,\s*\)/\)/;
- # $infoline = "Removing PATCH flag from: $zipname\n";
- # push( @installer::globals::logfileinfo, $infoline);
}
else
{
- # $infoline = "Keeping PATCH flag at: $zipname\n";
- # push( @installer::globals::logfileinfo, $infoline);
push( @keptpatchflags, $zipname); # collecting all PATCH flags
}
}
diff --git a/solenv/bin/modules/installer/configuration.pm b/solenv/bin/modules/installer/configuration.pm
index 4aa82d25b5b2..0fb587f68bb6 100644
--- a/solenv/bin/modules/installer/configuration.pm
+++ b/solenv/bin/modules/installer/configuration.pm
@@ -482,7 +482,6 @@ sub insert_into_config_file
elsif ( $styles =~ /CFG_NUMERIC/ ) { $valuetype = "int"; }
elsif ( $styles =~ /CFG_BOOLEAN/ ) { $valuetype = "boolean"; }
elsif ( $styles =~ /CFG_STRINGLIST/ ) { $valuetype = "string-list"; }
-# elsif ( $styles =~ /CFG_STRINGLIST/ ) { $valuetype = "string-list oor:separator=\"\|\""; }
else
{
installer::exiter::exit_program("ERROR: Unknown configuration value type: $styles", "insert_into_config_file");
@@ -525,8 +524,8 @@ sub insert_into_config_file
if (( $styles =~ /\bCREATE\b/ ) && (!($isbracketnode)))
{
- # my $typepart = 'oor:type="xs:VALUETYPE"'; # VALUETYPE can be "string", "boolean", ...
-
+ # $typepart is 'oor:type="xs:VALUETYPE"';
+ # VALUETYPE can be "string", "boolean", ...
my $localtypepart = $typepart;
$localtypepart =~ s/VALUETYPE/$valuetype/;
@@ -552,8 +551,6 @@ sub insert_into_config_file
# ToDo: Substituting the setup replace variables
- # replace_setting_variables();
-
$value =~ s/^\s*\<//;
$value =~ s/\>\s*$//;
@@ -577,14 +574,12 @@ sub insert_into_config_file
if (!($oneconfig->{'isisocode'} )) # this is the simpe case
{
- # my $valueline = '<value SEPARATORPART>VALUECONTENT</value>' . "\n";
$newvalueline = $valueline;
$newvalueline =~ s/VALUECONTENT/$value/g;
$newvalueline =~ s/SEPARATORPART/$separatorpart/;
}
else
{
- # my $langvalueline = '<value xml:lang="SAVEDLANGUAGE">VALUECONTENT</value>' . "\n";
$newvalueline = $langvalueline;
$newvalueline =~ s/VALUECONTENT/$value/;
my $savedlanguage = $oneconfig->{'Key'};
diff --git a/solenv/bin/modules/installer/control.pm b/solenv/bin/modules/installer/control.pm
index 20bc2efdcf4f..3f6b43f563fb 100644
--- a/solenv/bin/modules/installer/control.pm
+++ b/solenv/bin/modules/installer/control.pm
@@ -77,7 +77,6 @@ sub check_system_path
{
# The following files have to be found in the environment variable PATH
# All platforms: zip
- # Windows only: msvcp70.dll, msvcr70.dll for regcomp.exe
# Windows only: "msiinfo.exe", "msidb.exe", "uuidgen.exe", "makecab.exe", "msitran.exe", "expand.exe" for msi database and packaging
my $onefile;
@@ -87,9 +86,14 @@ sub check_system_path
if( $^O =~ /cygwin/i )
{ # When using cygwin's perl the PATH variable is POSIX style and ...
- $pathvariable = qx{cygpath -mp "$pathvariable"} ;
+ my $temparrayref = installer::converter::convert_stringlist_into_array_without_newline(\$pathvariable, $local_pathseparator);
+ foreach $i (0..$#$temparrayref) {
+ $$temparrayref[$i] = qx{cygpath -m "$$temparrayref[$i]"};
+ chomp($$temparrayref[$i]);
+ }
# has to be converted to DOS style for further use.
$local_pathseparator = ';';
+ $pathvariable = join($local_pathseparator, @$temparrayref);
}
my $patharrayref = installer::converter::convert_stringlist_into_array(\$pathvariable, $local_pathseparator);
@@ -100,19 +104,6 @@ sub check_system_path
if (($installer::globals::iswin) && ($installer::globals::iswindowsbuild))
{
@needed_files_in_path = ("zip.exe", "msiinfo.exe", "msidb.exe", "uuidgen.exe", "makecab.exe", "msitran.exe", "expand.exe");
-
- if ( $installer::globals::compiler eq "wntmsci8" )
- {
- push(@needed_files_in_path, "msvcp70.dll");
- push(@needed_files_in_path, "msvcr70.dll");
- }
-
- if ( $installer::globals::compiler eq "wntmsci10" )
- {
- push(@needed_files_in_path, "msvcp71.dll");
- push(@needed_files_in_path, "msvcr71.dll");
- }
-
}
elsif ($installer::globals::iswin)
{
@@ -341,11 +332,11 @@ sub check_logfile
# Errors are all errors, but not the Windows installer table "Error.idt"
my $compareline = $line;
- $compareline =~ s/Error\.idt//g; # removing all occurences of "Error.idt"
- $compareline =~ s/Error\.mlf//g; # removing all occurences of "Error.mlf"
- $compareline =~ s/Error\.ulf//g; # removing all occurences of "Error.ulf"
- $compareline =~ s/Error\.idl//g; # removing all occurences of "Error.idl"
- $compareline =~ s/Error\.html//g; # removing all occurences of "Error.html"
+ $compareline =~ s/Error\.idt//g; # removing all occurrences of "Error.idt"
+ $compareline =~ s/Error\.mlf//g; # removing all occurrences of "Error.mlf"
+ $compareline =~ s/Error\.ulf//g; # removing all occurrences of "Error.ulf"
+ $compareline =~ s/Error\.idl//g; # removing all occurrences of "Error.idl"
+ $compareline =~ s/Error\.html//g; # removing all occurrences of "Error.html"
if ( $compareline =~ /\bError\b/i )
{
@@ -364,7 +355,7 @@ sub check_logfile
{
my $line = "\n*********************************************************************\n";
push(@output, $line);
- $line = "ERROR: The following errors occured in packaging process:\n\n";
+ $line = "ERROR: The following errors occurred in packaging process:\n\n";
push(@output, $line);
for ( my $i = 0; $i <= $#errors; $i++ )
@@ -375,7 +366,6 @@ sub check_logfile
$line = "*********************************************************************\n";
push(@output, $line);
-# exit(-1);
}
else
{
@@ -440,7 +430,6 @@ sub determine_ship_directory
{
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;
}
@@ -455,6 +444,7 @@ sub determine_ship_directory
}
if ( $installer::globals::languagepack ) { $productstring = $productstring . "_languagepack"; }
+ if ( $installer::globals::helppack ) { $productstring = $productstring . "_helppack"; }
if ( $installer::globals::patch ) { $productstring = $productstring . "_patch"; }
my $destdir = $shipdrive . $installer::globals::separator . $installer::globals::compiler .
@@ -654,11 +644,6 @@ sub read_encodinglist
$installer::globals::msiencoding = \%msiencoding;
$installer::globals::msilanguage = \%msilanguage;
-
- # my $key;
- # foreach $key (keys %{$installer::globals::msiencoding}) { print "A Key: $key : Value: $installer::globals::msiencoding->{$key}\n"; }
- # foreach $key (keys %{$installer::globals::msilanguage}) { print "B Key: $key : Value: $installer::globals::msilanguage->{$key}\n"; }
-
}
#############################################################
@@ -720,24 +705,6 @@ sub set_addchildprojects
push( @installer::globals::globallogfileinfo, $infoline);
}
-####################################################################
-# Setting global variable "$installer::globals::addjavainstaller"
-####################################################################
-
-sub set_addjavainstaller
-{
- my ($allvariables) = @_;
-
- if ( $allvariables->{'JAVAINSTALLER'} ) { $installer::globals::addjavainstaller = 1; }
-
- if ( $installer::globals::patch ) { $installer::globals::addjavainstaller = 0; }
- if ( $installer::globals::languagepack ) { $installer::globals::addjavainstaller = 0; }
- if ( $allvariableshashref->{'XPDINSTALLER'} ) { $installer::globals::addjavainstaller = 0; }
-
- my $infoline = "Value of \$installer::globals::addjavainstaller: $installer::globals::addjavainstaller\n";
- push( @installer::globals::globallogfileinfo, $infoline);
-}
-
#######################################################################
# Setting global variable "$installer::globals::addsystemintegration"
#######################################################################
@@ -750,6 +717,7 @@ sub set_addsystemintegration
if ( $installer::globals::patch ) { $installer::globals::addsystemintegration = 0; }
if ( $installer::globals::languagepack ) { $installer::globals::addsystemintegration = 0; }
+ if ( $installer::globals::helppack ) { $installer::globals::addsystemintegration = 0; }
if (( $installer::globals::packageformat eq "native" ) || ( $installer::globals::packageformat eq "portable" )) { $installer::globals::addsystemintegration = 0; }
my $infoline = "Value of \$installer::globals::addsystemintegration: $installer::globals::addsystemintegration\n";
diff --git a/solenv/bin/modules/installer/converter.pm b/solenv/bin/modules/installer/converter.pm
index beeec52b71ac..53eb1081aa06 100644
--- a/solenv/bin/modules/installer/converter.pm
+++ b/solenv/bin/modules/installer/converter.pm
@@ -39,16 +39,10 @@ sub convert_array_to_hash
my %newhash = ();
- for ( my $i = 0; $i <= $#{$arrayref}; $i++ )
+ for (@{$arrayref})
{
- my $line = ${$arrayref}[$i];
-
- if ( $line =~ /^\s*([\w-]+?)\s+(.*?)\s*$/ )
- {
- my $key = $1;
- my $value = $2;
- $newhash{$key} = $value;
- }
+ next unless /^\s*([\w-]+?)\s+(.*?)\s*$/;
+ $newhash{$1} = $2;
}
return \%newhash;
@@ -58,44 +52,7 @@ sub convert_hash_into_array
{
my ($hashref) = @_;
- my @array = ();
- my $key;
-
- foreach $key (keys %{$hashref})
- {
- my $value = $hashref->{$key};
- my $input = "$key = $value\n";
- push(@array ,$input);
- }
-
- return \@array
-}
-
-#############################################################################
-# Converting a string list with separator $listseparator
-# into an array
-#############################################################################
-
-sub convert_stringlist_into_array_without_linebreak_and_quotes
-{
- my ( $includestringref, $listseparator ) = @_;
-
- my @newarray = ();
- my $first;
- my $last = ${$includestringref};
-
- while ( $last =~ /^\s*(.+?)\Q$listseparator\E(.+)\s*$/) # "$" for minimal matching
- {
- $first = $1;
- $last = $2;
- $first =~ s/\"//g;
- push(@newarray, $first);
- }
-
- $last =~ s/\"//g;
- push(@newarray, $last);
-
- return \@newarray;
+ return [map { "$_ = $hashref->{$_}\n" } keys %{$hashref}];
}
#############################################################################
@@ -107,22 +64,7 @@ sub convert_stringlist_into_array
{
my ( $includestringref, $listseparator ) = @_;
- my @newarray = ();
- my $first;
- my $last = ${$includestringref};
-
- while ( $last =~ /^\s*(.+?)\Q$listseparator\E(.+)\s*$/) # "$" for minimal matching
- {
- $first = $1;
- $last = $2;
- # Problem with two directly following listseparators. For example a path with two ";;" directly behind each other
- $first =~ s/^$listseparator//;
- push(@newarray, "$first\n");
- }
-
- push(@newarray, "$last\n");
-
- return \@newarray;
+ return [map "$_\n", split /\Q$listseparator\E\s*/, ${$includestringref}];
}
#############################################################################
@@ -134,20 +76,7 @@ sub convert_stringlist_into_array_without_newline
{
my ( $includestringref, $listseparator ) = @_;
- my @newarray = ();
- my $first;
- my $last = ${$includestringref};
-
- while ( $last =~ /^\s*(.+?)\Q$listseparator\E(.+)\s*$/) # "$" for minimal matching
- {
- $first = $1;
- $last = $2;
- push(@newarray, "$first");
- }
-
- push(@newarray, "$last");
-
- return \@newarray;
+ return [split /\Q$listseparator\E\s*/, ${$includestringref}];
}
#############################################################################
@@ -159,20 +88,7 @@ sub convert_stringlist_into_hash
{
my ( $includestringref, $listseparator ) = @_;
- my %newhash = ();
- my $first;
- my $last = ${$includestringref};
-
- while ( $last =~ /^\s*(.+?)\Q$listseparator\E(.+)\s*$/) # "$" for minimal matching
- {
- $first = $1;
- $last = $2;
- $newhash{$first} = 1;
- }
-
- $newhash{$last} = 1;
-
- return \%newhash;
+ return {map {$_, 1} split /\Q$listseparator\E\s*/, ${$includestringref}};
}
#############################################################################
@@ -184,20 +100,11 @@ sub convert_whitespace_stringlist_into_array
{
my ( $includestringref ) = @_;
- my @newarray = ();
- my $first;
- my $last = ${$includestringref};
+ my $tmp = ${$includestringref};
+ $tmp = s/^\s+//;
+ $tmp = s/\s+$//;
- while ( $last =~ /^\s*(\S+?)\s+(\S+)\s*$/) # "$" for minimal matching
- {
- $first = $1;
- $last = $2;
- push(@newarray, "$first\n");
- }
-
- push(@newarray, "$last\n");
-
- return \@newarray;
+ return [map "$_\n", split /\s+/, $tmp];
}
#############################################################################
@@ -208,16 +115,13 @@ sub convert_array_to_comma_separated_string
{
my ( $arrayref ) = @_;
- my $newstring = "";
-
- for ( my $i = 0; $i <= $#{$arrayref}; $i++ )
- {
- my $arrayentry = ${$arrayref}[$i];
- $arrayentry =~ s/\s*$//;
- $newstring = $newstring . $arrayentry . ",";
+ my $newstring;
+ for (@{$arrayref}) {
+ my $tmp = $_;
+ $tmp =~ s/\s+$//;
+ $newstring .= "$tmp,";
}
-
- $newstring =~ s/\,\s*$//;
+ $newstring =~ s/\,$//;
return $newstring;
}
@@ -230,16 +134,13 @@ sub convert_array_to_space_separated_string
{
my ( $arrayref ) = @_;
- my $newstring = "";
-
- for ( my $i = 0; $i <= $#{$arrayref}; $i++ )
- {
- my $arrayentry = ${$arrayref}[$i];
- $arrayentry =~ s/\s*$//;
- $newstring = $newstring . $arrayentry . " ";
+ my $newstring;
+ for (@{$arrayref}) {
+ my $tmp = $_;
+ $tmp =~ s/\s+$//;
+ $newstring .= "$tmp ";
}
-
- $newstring =~ s/\s*$//;
+ $newstring =~ s/ $//;
return $newstring;
}
@@ -253,9 +154,8 @@ sub convert_slash_to_backslash
{
my ($filesarrayref) = @_;
- for ( my $i = 0; $i <= $#{$filesarrayref}; $i++ )
+ for my $onefile (@{$filesarrayref})
{
- my $onefile = ${$filesarrayref}[$i];
if ( $onefile->{'Name'} ) { $onefile->{'Name'} =~ s/\//\\/g; }
}
}
@@ -269,11 +169,7 @@ sub copy_item_object
{
my ($olditemhashref, $newitemhashref) = @_;
- foreach $key (keys %{$olditemhashref})
- {
- my $value = $olditemhashref->{$key};
- $newitemhashref->{$key} = $value;
- }
+ $newitemhashref = {%{$olditemhashref}};
}
#################################################################
@@ -286,18 +182,9 @@ sub copy_item_object
sub make_path_conform
{
my ( $path ) = @_;
+ my $s = $installer::globals::separator;
- my $oldpath = $path;
-
- while ( $path =~ /(^.*)(\Q$installer::globals::separator\E.*?[^\.])(\Q$installer::globals::separator\E\.\.)(\Q$installer::globals::separator\E.*$)/ )
- {
- my $part1 = $1;
- my $part2 = $4;
-
- # $2 must not end with a "." ! Problem with "..\.."
-
- $path = $part1 . $part2;
- }
+ while ($path =~ s/[^\.\Q$s\E]+?\Q$s\E\.\.(?:\Q$s\E|$)//g) {}
return $path;
}
@@ -309,61 +196,7 @@ sub make_path_conform
sub copy_collector
{
- my ( $oldcollector ) = @_;
-
- my @newcollector = ();
-
- for ( my $i = 0; $i <= $#{$oldcollector}; $i++ )
- {
- my %newhash = ();
- my $key;
-
- foreach $key (keys %{${$oldcollector}[$i]})
- {
- $newhash{$key} = ${$oldcollector}[$i]->{$key};
- }
-
- push(@newcollector, \%newhash);
- }
-
- return \@newcollector;
-}
-
-#################################################################
-# Copying an array
-#################################################################
-
-sub copy_array_from_references
-{
- my ( $arrayref ) = @_;
-
- my @newarray = ();
-
- for ( my $i = 0; $i <= $#{$arrayref}; $i++ )
- {
- push(@newarray, ${$arrayref}[$i]);
- }
-
- return \@newarray;
-}
-
-###########################################################
-# Copying a hash
-###########################################################
-
-sub copy_hash_from_references
-{
- my ($hashref) = @_;
-
- my %newhash = ();
- my $key;
-
- foreach $key (keys %{$hashref})
- {
- $newhash{$key} = $hashref->{$key};
- }
-
- return \%newhash;
+ return [map { {%{$_}} } @{$_[0]}];
}
#################################################################
@@ -376,41 +209,11 @@ sub combine_arrays_from_references_first_win
my $hashref1 = convert_array_to_hash($arrayref1);
my $hashref2 = convert_array_to_hash($arrayref2);
- my %commonhash = ();
- my @newarray = ();
-
- # starting with second hash
- foreach my $key ( keys %{$hashref2} ) { $commonhash{$key} = $hashref2->{$key}; }
- # overwriting with first hash
- foreach my $key ( keys %{$hashref1} ) { $commonhash{$key} = $hashref1->{$key}; }
-
- # Creating the new array
- foreach my $key ( keys %commonhash ) { push(@newarray, "$key $commonhash{$key}\n"); }
-
- return \@newarray;
-}
-#################################################################
-# Combining two arrays
-#################################################################
-
-sub combine_arrays_from_references
-{
- my ( $arrayref1, $arrayref2 ) = @_;
-
- my @newarray = ();
-
- for ( my $i = 0; $i <= $#{$arrayref1}; $i++ )
- {
- push(@newarray, ${$arrayref1}[$i]);
- }
-
- for ( my $i = 0; $i <= $#{$arrayref2}; $i++ )
- {
- push(@newarray, ${$arrayref2}[$i]);
- }
+ # add key-value pairs from hash1 to hash2 (overwrites existing keys)
+ @{$hashref2}{keys %{$hashref1}} = values %{$hashref1};
- return \@newarray;
+ return [map { "$_ $hashref2->{$_}\n" } keys %{$hashref2}];
}
#################################################################
@@ -453,9 +256,9 @@ sub resolve_masked_separator
{
my ($arrayref, $separator, $replacementstring) = @_;
- for ( my $i = 0; $i <= $#{$arrayref}; $i++ )
+ for (@{$arrayref})
{
- ${$arrayref}[$i] =~ s/$replacementstring/$separator/g
+ s/$replacementstring/$separator/g;
}
}
diff --git a/solenv/bin/modules/installer/copyproject.pm b/solenv/bin/modules/installer/copyproject.pm
index 5db9cf7f8b04..8157db4983f8 100644
--- a/solenv/bin/modules/installer/copyproject.pm
+++ b/solenv/bin/modules/installer/copyproject.pm
@@ -32,7 +32,6 @@ use installer::converter;
use installer::files;
use installer::globals;
use installer::logger;
-use installer::mail;
use installer::systemactions;
use installer::worker;
@@ -69,17 +68,14 @@ sub copy_project
installer::systemactions::copy_one_file($source, $destination);
- if ( $destination =~ /install\s*$/ )
+ if ( $onefile->{'UnixRights'} )
{
- my $localcall = "chmod 775 $destination \>\/dev\/null 2\>\&1";
- system($localcall);
+ chmod oct($onefile->{'UnixRights'}), $destination;
}
-
- if ( $onefile->{'UnixRights'} )
+ elsif ( $destination =~ /install\s*$/ )
{
- my $localcall = "chmod $onefile->{'UnixRights'} $destination \>\/dev\/null 2\>\&1";
- system($localcall);
- }
+ chmod 0775, $destination;
+ }
}
# copy ScpActions
@@ -93,16 +89,13 @@ sub copy_project
installer::systemactions::copy_one_file($source, $destination);
- if ( $destination =~ /install\s*$/ )
+ if ( $onefile->{'UnixRights'} )
{
- my $localcall = "chmod 775 $destination \>\/dev\/null 2\>\&1";
- system($localcall);
+ chmod oct($onefile->{'UnixRights'}), $destination;
}
-
- if ( $onefile->{'UnixRights'} )
+ elsif ( $destination =~ /install\s*$/ )
{
- my $localcall = "chmod $onefile->{'UnixRights'} $destination \>\/dev\/null 2\>\&1";
- system($localcall);
+ chmod 0775, $destination;
}
}
diff --git a/solenv/bin/modules/installer/download.pm b/solenv/bin/modules/installer/download.pm
index 34f228c791f7..604f7574cc95 100644
--- a/solenv/bin/modules/installer/download.pm
+++ b/solenv/bin/modules/installer/download.pm
@@ -118,8 +118,7 @@ sub save_script_file
if ( ! $installer::globals::iswindowsbuild )
{
- my $localcall = "chmod 775 $newscriptfilename \>\/dev\/null 2\>\&1";
- system($localcall);
+ chmod 0775, $newscriptfilename;
}
return $newscriptfilename;
@@ -339,8 +338,7 @@ sub tar_package
push( @installer::globals::logfileinfo, $infoline);
}
- my $localcall = "chmod 775 $tarfilename \>\/dev\/null 2\>\&1";
- $returnvalue = system($localcall);
+ chmod 0775, $tarfilename;
return ( -s $tarfilename );
}
@@ -422,6 +420,7 @@ sub get_installation_type
my $type = "";
if ( $installer::globals::languagepack ) { $type = "langpack"; }
+ elsif ( $installer::globals::helppack ) { $type = "helppack"; }
else { $type = "install"; }
return $type;
@@ -443,14 +442,6 @@ sub get_downloadname_language
$languages =~ s/_en-US//;
}
- # en-US is default language and can be removed therefore
- # for one-language installation sets
-
- # if ( $languages =~ /^\s*en-US\s*$/ )
- # {
- # $languages = "";
- # }
-
if ( length ($languages) > $installer::globals::max_lang_length )
{
$languages = 'multi';
@@ -467,25 +458,21 @@ sub get_downloadname_productname
{
my ($allvariables) = @_;
- my $start = "OOo";
+ my $start = "LibO";
- if ( $allvariables->{'PRODUCTNAME'} eq "OpenOffice.org" ) { $start = "OOo"; }
+ if ( $allvariables->{'PRODUCTNAME'} eq "LibreOffice" ) { $start = "LibO"; }
- if ( $allvariables->{'PRODUCTNAME'} eq "OOo-dev" ) { $start = "OOo-Dev"; }
+ if ( $allvariables->{'PRODUCTNAME'} eq "LibO-dev" ) { $start = "LibO-Dev"; }
- if (( $allvariables->{'PRODUCTNAME'} eq "OpenOffice.org" ) && ( $allvariables->{'POSTVERSIONEXTENSION'} eq "SDK" )) { $start = "OOo-SDK"; }
+ if (( $allvariables->{'PRODUCTNAME'} eq "LibreOffice" ) && ( $allvariables->{'POSTVERSIONEXTENSION'} eq "SDK" )) { $start = "LibO-SDK"; }
- if (( $allvariables->{'PRODUCTNAME'} eq "OOo-dev" ) && ( $allvariables->{'POSTVERSIONEXTENSION'} eq "SDK" )) { $start = "OOo-Dev-SDK"; }
+ if (( $allvariables->{'PRODUCTNAME'} eq "LibO-dev" ) && ( $allvariables->{'POSTVERSIONEXTENSION'} eq "SDK" )) { $start = "LibO-Dev-SDK"; }
- if ( $allvariables->{'PRODUCTNAME'} eq "URE" ) { $start = "OOo-URE"; }
+ if ( $allvariables->{'PRODUCTNAME'} eq "URE" ) { $start = "LibO-URE"; }
- if ( $allvariables->{'PRODUCTNAME'} eq "BrOffice.org" ) { $start = "BrOo"; }
+ if ( $allvariables->{'PRODUCTNAME'} eq "OxygenOffice" ) { $start = "OOOP"; }
- if ( $allvariables->{'PRODUCTNAME'} eq "BrOo-dev" ) { $start = "BrOo-Dev"; }
- if (( $allvariables->{'PRODUCTNAME'} eq "BrOffice.org" ) && ( $allvariables->{'POSTVERSIONEXTENSION'} eq "SDK" )) { $start = "BrOo-SDK"; }
-
- if (( $allvariables->{'PRODUCTNAME'} eq "BrOo-dev" ) && ( $allvariables->{'POSTVERSIONEXTENSION'} eq "SDK" )) { $start = "BrOo-Dev-SDK"; }
return $start;
}
@@ -592,7 +579,6 @@ sub get_download_platformname
}
else
{
- # $platformname = $installer::globals::packageformat;
$platformname = $installer::globals::compiler;
}
@@ -657,12 +643,31 @@ sub get_install_type
{
$type = "langpack";
- if ( $installer::globals::islinuxrpmbuild )
+ if ( $installer::globals::isrpmbuild )
{
$type = $type . "-rpm";
}
- if ( $installer::globals::islinuxdebbuild )
+ if ( $installer::globals::isdebbuild )
+ {
+ $type = $type . "-deb";
+ }
+
+ if ( $installer::globals::packageformat eq "archive" )
+ {
+ $type = $type . "-arc";
+ }
+ }
+ elsif ( $installer::globals::helppack )
+ {
+ $type = "helppack";
+
+ if ( $installer::globals::isrpmbuild )
+ {
+ $type = $type . "-rpm";
+ }
+
+ if ( $installer::globals::isdebbuild )
{
$type = $type . "-deb";
}
@@ -676,12 +681,12 @@ sub get_install_type
{
$type = "install";
- if ( $installer::globals::islinuxrpmbuild )
+ if ( $installer::globals::isrpmbuild )
{
$type = $type . "-rpm";
}
- if ( $installer::globals::islinuxdebbuild )
+ if ( $installer::globals::isdebbuild )
{
$type = $type . "-deb";
}
@@ -709,7 +714,7 @@ sub get_downloadname_addon
{
my $addon = "";
- if ( $installer::globals::islinuxdebbuild ) { $addon = $addon . "_deb"; }
+ if ( $installer::globals::isdebbuild ) { $addon = $addon . "_deb"; }
if ( $installer::globals::product =~ /_wJRE\s*$/ ) { $addon = "_wJRE"; }
@@ -753,7 +758,6 @@ sub get_current_version
my $infoline = "";
my $versionstring = "";
my $filename = "version.info";
- # $filename = $installer::globals::ooouploaddir . $installer::globals::separator . $filename;
if ( -f $filename )
{
@@ -778,9 +782,7 @@ sub get_current_version
###############################################################################################
# Setting the download file name
# Syntax:
-# (PRODUCTNAME)_(VERSION)_(TIMESTAMP)_(OS)_(ARCH)_(INSTALLTYPE)_(LANGUAGE).(FILEEXTENSION)
-# Rules:
-# Timestamp only for Beta and Release Candidate
+# (PRODUCTNAME)_(VERSION)_(OS)_(ARCH)_(INSTALLTYPE)_(LANGUAGE).(FILEEXTENSION)
###############################################################################################
sub set_download_filename
@@ -789,7 +791,6 @@ sub set_download_filename
my $start = get_downloadname_productname($allvariables);
my $versionstring = get_download_version($allvariables);
- my $date = set_date_string($allvariables);
my $platform = get_download_platformname();
my $architecture = get_download_architecture();
my $type = get_install_type($allvariables);
@@ -797,7 +798,7 @@ sub set_download_filename
# Setting the extension happens automatically
- my $filename = $start . "_" . $versionstring . "_" . $date . "_" . $platform . "_" . $architecture . "_" . $type . "_" . $language;
+ my $filename = $start . "_" . $versionstring . "_" . "_" . $platform . "_" . $architecture . "_" . $type . "_" . $language;
$filename =~ s/\_\_/\_/g; # necessary, if $versionstring or $platform or $language are empty
$filename =~ s/\_\s*$//; # necessary, if $language and $addon are empty
@@ -986,16 +987,16 @@ sub put_windows_productname_into_template
}
##################################################################
-# Windows: Including the path to the banner.bmp into nsi template
+# Windows: Substituting the path to a file into the nsi template
##################################################################
-sub put_banner_bmp_into_template
+sub substitute_path_into_template
{
- my ($templatefile, $includepatharrayref, $allvariables) = @_;
+ my ($templatefile, $includepatharrayref, $allvariables, $var, $subst) = @_;
- # my $filename = "downloadbanner.bmp";
- if ( ! $allvariables->{'DOWNLOADBANNER'} ) { installer::exiter::exit_program("ERROR: DOWNLOADBANNER not defined in product definition!", "put_banner_bmp_into_template"); }
- my $filename = $allvariables->{'DOWNLOADBANNER'};
+ if ( ! $allvariables->{$var} ) { $var =~ s/_.*$//; } # _BR suffix ?
+ if ( ! $allvariables->{$var} ) { installer::exiter::exit_program("ERROR: $var not defined in product definition!", "substitute_path_into_template"); }
+ my $filename = $allvariables->{$var};
my $completefilenameref = "";
@@ -1008,125 +1009,24 @@ sub put_banner_bmp_into_template
$completefilenameref = installer::scriptitems::get_sourcepath_from_filename_and_includepath_classic(\$filename, $includepatharrayref, 0);
}
- if ($$completefilenameref eq "") { installer::exiter::exit_program("ERROR: Could not find download file $filename!", "put_banner_bmp_into_template"); }
+ if ($$completefilenameref eq "") { installer::exiter::exit_program("ERROR: Could not find download file $filename!", "substitute_path_into_template"); }
if ( $^O =~ /cygwin/i ) { $$completefilenameref =~ s/\//\\/g; }
- replace_one_variable($templatefile, "BANNERBMPPLACEHOLDER", $$completefilenameref);
+ replace_one_variable($templatefile, $subst, $$completefilenameref);
}
##################################################################
-# Windows: Including the path to the welcome.bmp into nsi template
+# Windows: substitute a variable into the nsi template
##################################################################
-
-sub put_welcome_bmp_into_template
+sub substitute_variable_into_template($$$$)
{
- my ($templatefile, $includepatharrayref, $allvariables) = @_;
-
- # my $filename = "downloadbitmap.bmp";
- if ( ! $allvariables->{'DOWNLOADBITMAP'} ) { installer::exiter::exit_program("ERROR: DOWNLOADBITMAP not defined in product definition!", "put_welcome_bmp_into_template"); }
- my $filename = $allvariables->{'DOWNLOADBITMAP'};
-
- my $completefilenameref = "";
-
- if ( $installer::globals::include_pathes_read )
- {
- $completefilenameref = installer::scriptitems::get_sourcepath_from_filename_and_includepath(\$filename, $includepatharrayref, 0);
- }
- else
- {
- $completefilenameref = installer::scriptitems::get_sourcepath_from_filename_and_includepath_classic(\$filename, $includepatharrayref, 0);
- }
+ my ($templatefile, $variableshashref, $varname, $subst) = @_;
- if ($$completefilenameref eq "") { installer::exiter::exit_program("ERROR: Could not find download file $filename!", "put_welcome_bmp_into_template"); }
+ my $var = "";
+ if ( $variableshashref->{$varname} ) { $var = $variableshashref->{$varname}; }
- if ( $^O =~ /cygwin/i ) { $$completefilenameref =~ s/\//\\/g; }
-
- replace_one_variable($templatefile, "WELCOMEBMPPLACEHOLDER", $$completefilenameref);
-}
-
-##################################################################
-# Windows: Including the path to the setup.ico into nsi template
-##################################################################
-
-sub put_setup_ico_into_template
-{
- my ($templatefile, $includepatharrayref, $allvariables) = @_;
-
- # my $filename = "downloadsetup.ico";
- if ( ! $allvariables->{'DOWNLOADSETUPICO'} ) { installer::exiter::exit_program("ERROR: DOWNLOADSETUPICO not defined in product definition!", "put_setup_ico_into_template"); }
- my $filename = $allvariables->{'DOWNLOADSETUPICO'};
-
- my $completefilenameref = "";
-
- if ( $installer::globals::include_pathes_read )
- {
- $completefilenameref = installer::scriptitems::get_sourcepath_from_filename_and_includepath(\$filename, $includepatharrayref, 0);
- }
- else
- {
- $completefilenameref = installer::scriptitems::get_sourcepath_from_filename_and_includepath_classic(\$filename, $includepatharrayref, 0);
- }
-
- if ($$completefilenameref eq "") { installer::exiter::exit_program("ERROR: Could not find download file $filename!", "put_setup_ico_into_template"); }
-
- if ( $^O =~ /cygwin/i ) { $$completefilenameref =~ s/\//\\/g; }
-
- replace_one_variable($templatefile, "SETUPICOPLACEHOLDER", $$completefilenameref);
-}
-
-##################################################################
-# Windows: Including the publisher into nsi template
-##################################################################
-
-sub put_publisher_into_template
-{
- my ($templatefile) = @_;
-
- my $publisher = "Sun Microsystems, Inc.";
-
- replace_one_variable($templatefile, "PUBLISHERPLACEHOLDER", $publisher);
-}
-
-##################################################################
-# Windows: Including the web site into nsi template
-##################################################################
-
-sub put_website_into_template
-{
- my ($templatefile) = @_;
-
- my $website = "http\:\/\/www\.sun\.com\/staroffice";
-
- replace_one_variable($templatefile, "WEBSITEPLACEHOLDER", $website);
-}
-
-##################################################################
-# Windows: Including the Java file name into nsi template
-##################################################################
-
-sub put_javafilename_into_template
-{
- my ($templatefile, $variableshashref) = @_;
-
- my $javaversion = "";
-
- if ( $variableshashref->{'WINDOWSJAVAFILENAME'} ) { $javaversion = $variableshashref->{'WINDOWSJAVAFILENAME'}; }
-
- replace_one_variable($templatefile, "WINDOWSJAVAFILENAMEPLACEHOLDER", $javaversion);
-}
-
-##################################################################
-# Windows: Including the product version into nsi template
-##################################################################
-
-sub put_windows_productversion_into_template
-{
- my ($templatefile, $variableshashref) = @_;
-
- my $productversion = $variableshashref->{'PRODUCTVERSION'};
-
- replace_one_variable($templatefile, "PRODUCTVERSIONPLACEHOLDER", $productversion);
+ replace_one_variable($templatefile, $subst, $var);
}
##################################################################
@@ -1139,13 +1039,9 @@ sub put_windows_productpath_into_template
my $productpath = $variableshashref->{'PROPERTYTABLEPRODUCTNAME'};
- my $locallangs = $$languagestringref;
- $locallangs =~ s/_/ /g;
if (length($locallangs) > $installer::globals::max_lang_length) { $locallangs = "multi lingual"; }
- if ( ! $installer::globals::languagepack ) { $productpath = $productpath . " (" . $locallangs . ")"; }
-
- # if (( $installer::globals::languagepack ) && ( $installer::globals::unicodensis )) { $productpath = convert_textstring_to_utf16($productpath, $localnsisdir, "stringhelper.txt"); }
+ if ( ! $installer::globals::languagepack || ! $installer::globals::helppack ) { $productpath = $productpath . " (" . sprintf('%x', time()) . ")"; }
replace_one_variable($templatefile, "PRODUCTPATHPLACEHOLDER", $productpath);
}
@@ -1295,14 +1191,12 @@ sub nsis_language_converter
elsif ( $language eq "ja" ) { $nsislanguage = "Japanese"; }
elsif ( $language eq "ko" ) { $nsislanguage = "Korean"; }
elsif ( $language eq "th" ) { $nsislanguage = "Thai"; }
- elsif ( $language eq "vi" ) { $nsislanguage = "Vietnamese"; }
elsif ( $language eq "zh-CN" ) { $nsislanguage = "SimpChinese"; }
elsif ( $language eq "zh-TW" ) { $nsislanguage = "TradChinese"; }
else {
my $infoline = "NSIS language_converter : Could not find nsis language for $language!\n";
push( @installer::globals::logfileinfo, $infoline);
$nsislanguage = "English";
- # installer::exiter::exit_program("ERROR: Could not find nsis language for $language!", "nsis_language_converter");
}
return $nsislanguage;
@@ -1442,7 +1336,7 @@ sub get_language_string_from_language_block
##################################################################
# Windows: Replacing strings in NSIS nsh file
# nsh file syntax:
-# !define MUI_TEXT_DIRECTORY_TITLE "Zielverzeichnis auswählen"
+# !define MUI_TEXT_DIRECTORY_TITLE "Zielverzeichnis ausw�hlen"
##################################################################
sub replace_identifier_in_nshfile
@@ -1531,8 +1425,6 @@ sub convert_utf16_to_utf8
my $savfilename = $filename . "_before.utf16";
installer::systemactions::copy_one_file($filename, $savfilename);
-# open( IN, "<:utf16", $filename ) || installer::exiter::exit_program("ERROR: Cannot open file $filename for reading", "convert_utf16_to_utf8");
-# open( IN, "<:para:crlf:uni", $filename ) || installer::exiter::exit_program("ERROR: Cannot open file $filename for reading", "convert_utf16_to_utf8");
open( IN, "<:encoding(UTF16-LE)", $filename ) || installer::exiter::exit_program("ERROR: Cannot open file $filename for reading", "convert_utf16_to_utf8");
while ( $line = <IN> ) {
push @localfile, $line;
@@ -1757,12 +1649,6 @@ sub get_path_to_nsis_sdk
$nsispath = $ENV{'NSISSDK_SOURCE'}; # overriding the NSIS SDK with NSISSDK_SOURCE
}
-# if( ($^O =~ /cygwin/i) and $nsispath =~ /\\/ ) {
-# # We need a POSIX path for W32-4nt-cygwin-perl
-# $nsispath =~ s/\\/\\\\/g;
-# chomp( $nsispath = qx{cygpath -u "$nsispath"} );
-# }
-
if ( $nsispath eq "" )
{
installer::logger::print_message( "... no Environment variable \"SOLARROOT\", \"NSIS_PATH\" or \"NSISSDK_SOURCE\" found and NSIS not found in path!", "get_path_to_nsis_sdk");
@@ -1788,7 +1674,7 @@ sub call_nsis
if( $^O =~ /cygwin/i ) { $nsifile =~ s/\\/\//g; }
- my $systemcall = "$makensisexe $nsifile |";
+ my $systemcall = "$makensisexe /V4 /DMUI_VERBOSE=4 $nsifile |";
my $infoline = "Systemcall: $systemcall\n";
push( @installer::globals::logfileinfo, $infoline);
@@ -1838,7 +1724,8 @@ sub replace_variables
{
my ($translationfile, $variableshashref) = @_;
- foreach $key (keys %{$variableshashref})
+ # we want to substitute FOO_BR before FOO to avoid floating _BR suffixes
+ foreach $key (sort { length ($b) <=> length ($a) } keys %{$variableshashref})
{
my $value = $variableshashref->{$key};
@@ -1877,9 +1764,6 @@ sub remove_english_for_nsis_installer
{
my ($languagestringref, $languagesarrayref) = @_;
- # $$languagestringref =~ s/en-US_//;
- # shift(@{$languagesarrayref});
-
@{$languagesarrayref} = ("en-US"); # only english for NSIS installer!
}
@@ -1891,7 +1775,7 @@ sub create_link_tree
{
my ($sourcedownloadfile, $destfilename, $versionstring) = @_;
- if ( ! $installer::globals::ooouploaddir ) { installer::exiter::exit_program("ERROR: Directory for OOo upload not defined!", "create_link_tree"); }
+ if ( ! $installer::globals::ooouploaddir ) { installer::exiter::exit_program("ERROR: Directory for LO upload not defined!", "create_link_tree"); }
my $versiondir = $installer::globals::ooouploaddir . $installer::globals::separator . $versionstring;
my $infoline = "Directory for the link: $versiondir\n";
push(@installer::globals::logfileinfo, $infoline);
@@ -1910,7 +1794,7 @@ sub create_link_tree
}
#######################################################
-# Setting supported platform for Sun OpenOffice.org
+# Setting supported platform for LibreOffice
# builds
#######################################################
@@ -1918,7 +1802,7 @@ sub is_supported_platform
{
my $is_supported = 0;
- if (( $installer::globals::islinuxrpmbuild ) ||
+ if (( $installer::globals::isrpmbuild ) ||
( $installer::globals::issolarissparcbuild ) ||
( $installer::globals::issolarisx86build ) ||
( $installer::globals::iswindowsbuild ))
@@ -1955,7 +1839,7 @@ sub create_download_sets
my $lastdir = $installationdir;
installer::pathanalyzer::make_absolute_filename_to_relative_filename(\$lastdir);
- if ( $lastdir =~ /\./ ) { $lastdir =~ s/\./_download_inprogress\./ }
+ if ( $installer::globals::iswindowsbuild && $lastdir =~ /\./ ) { $lastdir =~ s/\./_download_inprogress\./ }
else { $lastdir = $lastdir . "_download_inprogress"; }
# removing existing directory "_native_packed_inprogress" and "_native_packed_witherror" and "_native_packed"
@@ -2081,13 +1965,27 @@ sub create_download_sets
# add product name into script template
put_windows_productname_into_template($templatefile, $allvariableshashref);
- put_banner_bmp_into_template($templatefile, $includepatharrayref, $allvariableshashref);
- put_welcome_bmp_into_template($templatefile, $includepatharrayref, $allvariableshashref);
- put_setup_ico_into_template($templatefile, $includepatharrayref, $allvariableshashref);
- put_publisher_into_template($templatefile);
- put_website_into_template($templatefile);
- put_javafilename_into_template($templatefile, $allvariableshashref);
- put_windows_productversion_into_template($templatefile, $allvariableshashref);
+ @path_substs = (
+ 'DOWNLOADBANNER' => 'BANNERBMPPLACEHOLDER',
+ 'DOWNLOADBITMAP' => 'WELCOMEBMPPLACEHOLDER',
+ 'DOWNLOADSETUPICO' => 'SETUPICOPLACEHOLDER'
+ );
+ while (@path_substs) {
+ my $var= shift @path_substs;
+ my $val = shift @path_substs;
+ substitute_path_into_template($templatefile, $includepatharrayref,
+ $allvariableshashref, $var, $val);
+ }
+ %var_substs = (
+ 'OOOVENDOR' => 'PUBLISHERPLACEHOLDER',
+ 'STARTCENTER_INFO_URL' => 'WEBSITEPLACEHOLDER',
+ 'WINDOWSJAVAFILENAME' => 'WINDOWSJAVAFILENAMEPLACEHOLDER',
+ 'PRODUCTVERSION' => 'PRODUCTVERSIONPLACEHOLDER'
+ );
+ for $var (keys %var_substs) {
+ substitute_variable_into_template($templatefile, $allvariableshashref,
+ $var, $var_substs{$var});
+ }
put_windows_productpath_into_template($templatefile, $allvariableshashref, $languagestringref, $localnsisdir);
put_outputfilename_into_template($templatefile, $downloadname);
put_filelist_into_template($templatefile, $installationdir);
@@ -2108,7 +2006,7 @@ sub create_download_sets
}
####################################################
-# Creating OOo upload tree
+# Creating LO upload tree
####################################################
sub create_download_link_tree
@@ -2157,9 +2055,6 @@ sub create_download_link_tree
push( @installer::globals::logfileinfo, $infoline);
create_link_tree($sourcedownloadfile, $destdownloadfilename, $versionstring);
- # my $md5sumoutput = call_md5sum($downloadfile);
- # my $md5sum = get_md5sum($md5sumoutput);
-
}
}
else
diff --git a/solenv/bin/modules/installer/downloadsigner.pm b/solenv/bin/modules/installer/downloadsigner.pm
index aa3bbb25a484..8a63242e0685 100644
--- a/solenv/bin/modules/installer/downloadsigner.pm
+++ b/solenv/bin/modules/installer/downloadsigner.pm
@@ -91,8 +91,6 @@ Ende
sub getparameter
{
- # installer::logger::print_message("Checking parameter");
-
while ( $#ARGV >= 0 )
{
my $param = shift(@ARGV);
@@ -347,7 +345,6 @@ sub check_cws_build
my $iscws = 1;
if ( $filename =~ /follow_me_\d+_/ ) { $iscws = 0; }
- # if ( $filename =~ /log_\d+_/ ) { $iscws = 0; }
return $iscws;
}
@@ -414,6 +411,11 @@ sub filter_all_files_with_correct_settings
my $workstamp = "";
if ( $ENV{'WORK_STAMP'} ) { $workstamp = $ENV{'WORK_STAMP'}; }
+
+ # This is broken, we don't want to support any UPDMINOR
+ # complexities in LibreOffice. (Or do we?) This needs updating if
+ # we want to actually use this file for signing.
+
if ( $ENV{'UPDMINOR'} ) { $minor = $ENV{'UPDMINOR'}; }
if ( $minor eq "" ) { installer::exiter::exit_program("ERROR: Environment variable \"UPDMINOR\" not set!", "filter_all_files_with_correct_settings"); }
diff --git a/solenv/bin/modules/installer/environment.pm b/solenv/bin/modules/installer/environment.pm
index c0d166081032..c80d8375f3c2 100644
--- a/solenv/bin/modules/installer/environment.pm
+++ b/solenv/bin/modules/installer/environment.pm
@@ -47,7 +47,6 @@ sub create_pathvariables
$variables{'solarpath'} = $solarpath;
my $solarcommonpath = $environment->{'SOLARVERSION'} . $installer::globals::separator . "common" . $installer::globals::productextension;
- # my $solarcommonpath = $environment->{'SOLARVERSION'} . $installer::globals::separator . $environment->{'COMMON_OUTDIR'} . $installer::globals::productextension;
$variables{'solarcommonpath'} = $solarcommonpath;
my $osdef = lc($environment->{'GUI'});
@@ -110,10 +109,8 @@ sub set_global_environment_variables
my ( $environment ) = @_;
$installer::globals::build = $environment->{'WORK_STAMP'};
- # $installer::globals::minor = $environment->{'UPDMINOR'};
$installer::globals::compiler = $environment->{'OUTPATH'};
- if ( $ENV{'UPDMINOR'} ) { $installer::globals::minor = $ENV{'UPDMINOR'}; }
if ( $ENV{'LAST_MINOR'} ) { $installer::globals::lastminor = $ENV{'LAST_MINOR'}; }
if ( $ENV{'PROEXT'} ) { $installer::globals::pro = 1; }
diff --git a/solenv/bin/modules/installer/epmfile.pm b/solenv/bin/modules/installer/epmfile.pm
index 119eb95e0b7c..682967ed0647 100644
--- a/solenv/bin/modules/installer/epmfile.pm
+++ b/solenv/bin/modules/installer/epmfile.pm
@@ -228,14 +228,10 @@ sub put_directories_into_epmfile
if ( $onedir->{'Dir'} ) { $dir = $onedir->{'Dir'}; }
- # if (!($dir =~ /\bPREDEFINED_/ ))
if ((!($dir =~ /\bPREDEFINED_/ )) || ( $dir =~ /\bPREDEFINED_PROGDIR\b/ ))
{
my $hostname = $onedir->{'HostName'};
- # not including simple directory "/opt"
- # if (( $allvariables->{'SETSTATICPATH'} ) && ( $hostname eq $packagerootpath )) { next; }
-
my $line = "d 755 root $group $hostname -\n";
push(@{$epmfileref}, $line)
@@ -322,7 +318,7 @@ sub create_epm_header
my @epmheader = ();
- my ($licensefilename, $readmefilename);
+ my ($licensefilename, $readmefilename, $readmefilenameen);
my $foundlicensefile = 0;
my $foundreadmefile = 0;
@@ -330,11 +326,11 @@ sub create_epm_header
my $line = "";
my $infoline = "";
- # %product OpenOffice.org Software
+ # %product LibreOffice Software
# %version 2.0
# %description A really great software
# %copyright 1999-2003 by OOo
- # %vendor OpenOffice.org
+ # %vendor LibreOffice
# %license /test/replace/01/LICENSE01
# %readme /test/replace/01/README01
# %requires foo
@@ -356,7 +352,6 @@ sub create_epm_header
# Determining the release version
# This release version has to be listed in the line %version : %version versionnumber releasenumber
- # if ( $variableshashref->{'PACKAGEVERSION'} ) { $installer::globals::packageversion = $variableshashref->{'PACKAGEVERSION'}; }
if ( ! $onepackage->{'packageversion'} ) { installer::exiter::exit_program("ERROR: No packageversion defined for package: $onepackage->{'module'}!", "create_epm_header"); }
$installer::globals::packageversion = $onepackage->{'packageversion'};
installer::packagelist::resolve_packagevariables(\$installer::globals::packageversion, $variableshashref, 0);
@@ -366,7 +361,7 @@ sub create_epm_header
push(@epmheader, $line);
$line = "%release" . " " . $installer::globals::packagerevision . "\n";
- if ( $installer::globals::islinuxrpmbuild ) { $line = "%release" . " " . $installer::globals::buildid . "\n"; }
+ if ( $installer::globals::isrpmbuild ) { $line = "%release" . " " . $installer::globals::buildid . "\n"; }
push(@epmheader, $line);
# Description, Copyright and Vendor are multilingual and are defined in
@@ -393,24 +388,27 @@ sub create_epm_header
{
$licensefilename = "license.txt";
$readmefilename = "readme.txt";
+ $readmefilenameen = "readme_en-US.txt";
}
else
{
$licensefilename = "LICENSE";
$readmefilename = "README";
+ $readmefilenameen = "README_en-US";
}
- if (( $installer::globals::languagepack ) # in language packs the files LICENSE and README are removed, because they are not language specific
+ if (( $installer::globals::languagepack ) # in language packs and help packs the files LICENSE and README are removed, because they are not language specific
+ || ( $installer::globals::helppack )
|| ( $variableshashref->{'NO_README_IN_ROOTDIR'} ))
{
if ( $installer::globals::iswindowsbuild )
{
- $licensefilename = "license_$searchlanguage.txt";
+ $licensefilename = "license.txt"; # _$searchlanguage.txt";
$readmefilename = "readme_$searchlanguage.txt";
}
else
{
- $licensefilename = "LICENSE_$searchlanguage";
+ $licensefilename = "LICENSE"; # _$searchlanguage";
$readmefilename = "README_$searchlanguage";
}
}
@@ -437,18 +435,41 @@ sub create_epm_header
$license_in_package_defined = 1;
}
}
- # searching for and readme file
- for ( my $i = 0; $i <= $#{$filesinproduct}; $i++ )
+ # searching for and readme file;
+ # URE uses special README; others use README_en-US
+ # it does not matter which one is passed for epm if both are packaged
+ foreach my $possiblereadmefilename ($readmefilenameen, $readmefilename)
+ {
+ last if ($foundreadmefile);
+ for ( my $i = 0; $i <= $#{$filesinproduct}; $i++ )
+ {
+ my $onefile = ${$filesinproduct}[$i];
+ my $filename = $onefile->{'Name'};
+ if ( $filename eq $possiblereadmefilename )
+ {
+ $foundreadmefile = 1;
+ $line = "%readme" . " " . $onefile->{'sourcepath'} . "\n";
+ push(@epmheader, $line);
+ last;
+ }
+ }
+ }
+
+ # the readme file need not be packaged more times in the help content
+ # it needs to be installed in parallel with the main package anyway
+ # try to find the README file between all available files (not only between the packaged)
+ if (!($foundreadmefile) && $installer::globals::helppack)
{
- my $onefile = ${$filesinproduct}[$i];
- my $filename = $onefile->{'Name'};
- if ( $filename eq $readmefilename )
+ my $fileref = installer::scriptitems::get_sourcepath_from_filename_and_includepath(\$readmefilenameen, "" , 0);
+ if($$fileref ne "" )
{
+ $infoline = "Fallback to readme file: \"$$fileref\"!\n";
+ push(@installer::globals::logfileinfo, $infoline);
+
$foundreadmefile = 1;
- $line = "%readme" . " " . $onefile->{'sourcepath'} . "\n";
+ $line = "%readme" . " " . $$fileref . "\n";
push(@epmheader, $line);
- last;
}
}
@@ -507,6 +528,23 @@ sub create_epm_header
last;
}
}
+
+ # the license file need not be packaged more times in the langpacks
+ # they need to be installed in parallel with the main package anyway
+ # try to find the LICENSE file between all available files (not only between the packaged)
+ if (!($foundlicensefile) && ($installer::globals::languagepack || $installer::globals::helppack))
+ {
+ my $fileref = installer::scriptitems::get_sourcepath_from_filename_and_includepath(\$licensefilename, "" , 0);
+ if($$fileref ne "" )
+ {
+ $infoline = "Fallback to license file: \"$$fileref\"!\n";
+ push(@installer::globals::logfileinfo, $infoline);
+
+ $foundlicensefile = 1;
+ $line = "%license" . " " . $$fileref . "\n";
+ push(@epmheader, $line);
+ }
+ }
}
if (!($foundlicensefile))
@@ -560,11 +598,11 @@ sub create_epm_header
}
}
- if ( $installer::globals::debian && $variableshashref->{'UNIXPRODUCTNAME'} eq 'openoffice.org' )
+ if ( $installer::globals::debian && $variableshashref->{'UNIXPRODUCTNAME'} eq 'libreoffice' )
{
- $line = "%provides" . " openoffice.org-unbundled\n";
+ $line = "%provides" . " libreoffice-unbundled\n";
push(@epmheader, $line);
- $line = "%incompat" . " openoffice.org-bundled\n";
+ $line = "%incompat" . " libreoffice-bundled\n";
push(@epmheader, $line);
}
}
@@ -585,7 +623,7 @@ sub create_epm_header
$provides = "freebsdprovides"; # the name in the packagelist
$requires = "freebsdrequires"; # the name in the packagelist
}
- elsif (( $installer::globals::islinuxrpmbuild ) &&
+ elsif (( $installer::globals::isrpmbuild ) &&
( $installer::globals::patch ) &&
( exists($onepackage->{'linuxpatchrequires'}) ))
{
@@ -598,15 +636,9 @@ sub create_epm_header
$requires = "requires"; # the name in the packagelist
}
- # if ( $installer::globals::patch )
- # {
- # $onepackage->{$provides} = "";
my $isdict = 0;
if ( $onepackage->{'packagename'} =~ /-dict-/ ) { $isdict = 1; }
- # $onepackage->{$requires} = "";
- # }
-
if ( $onepackage->{$provides} )
{
my $providesstring = $onepackage->{$provides};
@@ -649,19 +681,6 @@ sub create_epm_header
$onerequires =~ s/\s*$//;
installer::packagelist::resolve_packagevariables2(\$onerequires, $variableshashref, 0, $isdict);
- # Special handling for Solaris. In depend files, the names of the packages are required, not
- # only the abbreviation. Therefore there is a special syntax for names in packagelist:
- # solarisrequires = "SUNWcar (Name="Package name of SUNWcar"),SUNWkvm (Name="Package name of SUNWcar"), ...
- # if ( $installer::globals::issolarispkgbuild )
- # {
- # if ( $onerequires =~ /^\s*(.*?)\s+\(\s*Name\s*=\s*\"(.*?)\"\s*\)\s*$/ )
- # {
- # $onerequires = $1;
- # $packagename = $2;
- # $installer::globals::dependfilenames{$onerequires} = $packagename;
- # }
- # }
-
$line = "%requires" . " " . $onerequires . "\n";
push(@epmheader, $line);
}
@@ -683,19 +702,6 @@ sub create_epm_header
$onerequires =~ s/\s*$//;
installer::packagelist::resolve_packagevariables(\$onerequires, $variableshashref, 0);
- # Special handling for Solaris. In depend files, the names of the packages are required, not
- # only the abbreviation. Therefore there is a special syntax for names in packagelist:
- # solarisrequires = "SUNWcar (Name="Package name of SUNWcar"),SUNWkvm (Name="Package name of SUNWcar"), ...
- # if ( $installer::globals::issolarispkgbuild )
- # {
- # if ( $onerequires =~ /^\s*(.*?)\s+\(\s*Name\s*=\s*\"(.*?)\"\s*\)\s*$/ )
- # {
- # $onerequires = $1;
- # $packagename = $2;
- # $installer::globals::dependfilenames{$onerequires} = $packagename;
- # }
- # }
-
$line = "%requires" . " " . $onerequires . "\n";
push(@epmheader, $line);
}
@@ -762,8 +768,6 @@ sub replace_many_variables_in_shellscripts
foreach $key (keys %{$variableshashref})
{
my $value = $variableshashref->{$key};
- # $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);
}
}
@@ -776,8 +780,6 @@ sub adding_shellscripts_to_epm_file
{
my ($epmfileref, $shellscriptsfilename, $localrootpath, $allvariableshashref, $filesinpackage) = @_;
- # $installer::globals::shellscriptsfilename
-
push( @{$epmfileref}, "\n\n" );
my $shellscriptsfileref = installer::files::read_file($shellscriptsfilename);
@@ -880,7 +882,7 @@ sub set_patch_state
push( @installer::globals::logfileinfo, $infoline);
}
- if ( ( $installer::globals::is_special_epm ) && (($installer::globals::islinuxrpmbuild) || ($installer::globals::issolarispkgbuild)) )
+ if ( ( $installer::globals::is_special_epm ) && (($installer::globals::isrpmbuild) || ($installer::globals::issolarispkgbuild)) )
{
# Special postprocess handling only for Linux RPM and Solaris packages
$installer::globals::postprocess_specialepm = 1;
@@ -994,7 +996,7 @@ sub add_one_line_into_file
push(@{$file}, $insertline); # simply adding at the end of pkginfo file
}
- if ( $installer::globals::islinuxrpmbuild )
+ if ( $installer::globals::isrpmbuild )
{
# Adding behind the line beginning with: Group:
@@ -1080,8 +1082,6 @@ sub set_revision_in_pkginfo
my $finalminor = $minor;
my $finalmicro = 0;
- # if (( $packagename =~ /-ure\s*$/ ) && ( $finalmajor == 1 )) { $finalminor = 4; }
-
$version = "$finalmajor.$finalminor.$finalmicro";
}
@@ -1326,7 +1326,6 @@ sub set_topdir_in_specfile
{
my ($changefile, $filename, $newepmdir) = @_;
- # $newepmdir =~ s/^\s*\.//; # removing leading "."
$newepmdir = cwd() . $installer::globals::separator . $newepmdir; # only absolute path allowed
# removing "%define _topdir", if existing
@@ -1695,7 +1694,7 @@ sub set_tab_into_datafile
$newclassesstring = installer::converter::convert_array_to_space_separated_string(\@newclasses);
}
- if ( $installer::globals::islinuxrpmbuild )
+ if ( $installer::globals::isrpmbuild )
{
for ( my $i = 0; $i <= $#{$filesref}; $i++ )
{
@@ -1927,11 +1926,6 @@ sub include_patchinfos_into_pkginfo
}
$newline = "SUNW_PATCH_PROPERTIES=\n";
add_one_line_into_file($changefile, $newline, $filename);
- # $newline = "SUNW_PKGTYPE=usr\n";
- # add_one_line_into_file($changefile, $newline, $filename);
-
- # $newline = "SUNW_PKGVERS=1.0\n";
- # add_one_line_into_file($changefile, $newline, $filename);
}
############################################################
@@ -2019,7 +2013,7 @@ sub collect_patch_files
{
my $line = ${$file}[$i];
- if ( $installer::globals::islinuxrpmbuild )
+ if ( $installer::globals::isrpmbuild )
{
# %attr(0444,root,root) "/opt/openofficeorg20/program/about.bmp"
@@ -2109,9 +2103,8 @@ sub prepare_packages
$newline = "BASEDIR\=" . $localrelocatablepath . "\n";
}
- if ( $installer::globals::islinuxrpmbuild )
+ if ( $installer::globals::isrpmbuild )
{
- # if ( $localrelocatablepath =~ /^\s*$/ ) { $localrelocatablepath = "/"; }; # at least the "/"
$filename = $packagename . ".spec";
$newline = "Prefix\:\ " . $localrelocatablepath . "\n";
}
@@ -2126,12 +2119,9 @@ sub prepare_packages
installer::files::save_file($completefilename, $changefile);
}
- # my $newepmdir = $completefilename;
- # installer::pathanalyzer::get_path_from_fullqualifiedname(\$newepmdir);
-
# adding new "topdir" and removing old "topdir" in specfile
- if ( $installer::globals::islinuxrpmbuild )
+ if ( $installer::globals::isrpmbuild )
{
set_topdir_in_specfile($changefile, $filename, $newepmdir);
set_autoprovreq_in_specfile($changefile, $onepackage->{'findrequires'}, "$installer::globals::unpackpath" . "/bin");
@@ -2139,7 +2129,6 @@ sub prepare_packages
if ( is_extension_package($changefile) ) { set_prereq_in_specfile($changefile); }
set_license_in_specfile($changefile, $variableshashref);
set_tab_into_datafile($changefile, $filesref);
- # check_requirements_in_specfile($changefile);
installer::files::save_file($completefilename, $changefile);
if ( $installer::globals::patch ) { collect_patch_files($changefile, $packagename, $localrelocatablepath); }
}
@@ -2253,7 +2242,6 @@ sub determine_rpm_version
my $rpmout = "";
my $systemcall = "";
- # my $systemcall = "rpm --version |";
# "rpm --version" has problems since LD_LIBRARY_PATH was removed. Therefore the content of $RPM has to be called.
# "rpm --version" and "rpmbuild --version" have the same output. Therefore $RPM can be used. Its value
# is saved in $installer::globals::rpm
@@ -2362,7 +2350,6 @@ sub create_packages_without_epm
installer::pathanalyzer::get_path_from_fullqualifiedname(\$destinationdir);
$destinationdir =~ s/\/\s*$//; # removing ending slashes
- # my $systemcall = "pkgmk -o -f $prototypefile -d $destinationdir \> /dev/null 2\>\&1";
my $systemcall = "pkgmk -l 1073741824 -o -f $prototypefile -d $destinationdir 2\>\&1 |";
installer::logger::print_message( "... $systemcall ...\n" );
@@ -2429,7 +2416,7 @@ sub create_packages_without_epm
# Setting unix rights to "775" for all created directories inside the package,
# that is saved in temp directory
- $systemcall = "cd $packagestempdir; find $packagename -type d -exec chmod 775 \{\} \\\;";
+ $systemcall = "cd $packagestempdir; find $packagename -type d | xargs -i chmod 775 \{\} \;";
installer::logger::print_message( "... $systemcall ...\n" );
$returnvalue = system($systemcall);
@@ -2492,7 +2479,7 @@ sub create_packages_without_epm
# Setting unix rights to "775" for all created directories inside the package
- $systemcall = "cd $destinationdir; find $packagename -type d -exec chmod 775 \{\} \\\;";
+ $systemcall = "cd $destinationdir; find $packagename -type d | xargs -i chmod 775 \{\} \;";
installer::logger::print_message( "... $systemcall ...\n" );
$returnvalue = system($systemcall);
@@ -2511,6 +2498,7 @@ sub create_packages_without_epm
push( @installer::globals::logfileinfo, $infoline);
}
+
######################
# making pkg files
######################
@@ -2526,13 +2514,13 @@ sub create_packages_without_epm
# if ($returnvalue)
# {
- # $infoline = "ERROR: Could not execute \"$systemcall\"!\n";
- # push( @installer::globals::logfileinfo, $infoline);
+ # $infoline = "ERROR: Could not execute \"$systemcall\"!\n";
+ # push( @installer::globals::logfileinfo, $infoline);
# }
# else
# {
- # $infoline = "Success: Executed \"$systemcall\" successfully!\n";
- # push( @installer::globals::logfileinfo, $infoline);
+ # $infoline = "Success: Executed \"$systemcall\" successfully!\n";
+ # push( @installer::globals::logfileinfo, $infoline);
# }
#########################
@@ -2550,35 +2538,34 @@ sub create_packages_without_epm
# if ($returnvalue)
# {
- # $infoline = "ERROR: Could not execute \"$systemcall\"!\n";
- # push( @installer::globals::logfileinfo, $infoline);
+ # $infoline = "ERROR: Could not execute \"$systemcall\"!\n";
+ # push( @installer::globals::logfileinfo, $infoline);
# }
# else
# {
- # $infoline = "Success: Executed \"$systemcall\" successfully!\n";
- # push( @installer::globals::logfileinfo, $infoline);
+ # $infoline = "Success: Executed \"$systemcall\" successfully!\n";
+ # push( @installer::globals::logfileinfo, $infoline);
# }
+
}
# Linux: rpm -bb so8m35.spec ( -> dependency check abklemmen? )
- if ( $installer::globals::islinuxrpmbuild )
+ if ( $installer::globals::isrpmbuild )
{
my $specfilename = $epmdir . $packagename . ".spec";
if (! -f $specfilename) { installer::exiter::exit_program("ERROR: Did not find file: $specfilename", "create_packages_without_epm"); }
- # my $rpmcommand = "rpm";
my $rpmcommand = $installer::globals::rpm;
my $rpmversion = determine_rpm_version();
- # if ( $rpmversion >= 4 ) { $rpmcommand = "rpmbuild"; }
-
# saving globally for later usage
$installer::globals::rpmcommand = $rpmcommand;
$installer::globals::rpmquerycommand = "rpm";
my $target = "";
if ( $installer::globals::compiler =~ /unxlngi/) { $target = "i586"; }
+ elsif ( $installer::globals::compiler =~ /unxaigppc/) { $target = "ppc"; }
elsif ( $installer::globals::compiler =~ /unxlng/) {$target = (POSIX::uname())[4]; }
# rpm 4.6 ignores buildroot tag in spec file
@@ -2621,7 +2608,6 @@ sub create_packages_without_epm
for ( my $j = 0; $j <= $#rpmoutput; $j++ )
{
- # if ( $i < $maxrpmcalls ) { $rpmoutput[$j] =~ s/\bERROR\b/PROBLEM/ig; }
$rpmoutput[$j] =~ s/\bERROR\b/PROBLEM/ig;
push( @installer::globals::logfileinfo, "$rpmoutput[$j]");
}
@@ -2724,39 +2710,13 @@ sub remove_temporary_epm_files
$infoline = "Systemcall: $systemcall\n";
push( @installer::globals::logfileinfo, $infoline);
}
-
- # removing the package
-
-# my $removedir = $epmdir . $packagename;
-#
-# my $systemcall = "rm -rf $removedir";
-#
-# print "... $systemcall ...\n";
-#
-# my $returnvalue = system($systemcall);
-#
-# my $infoline = "Systemcall: $systemcall\n";
-# push( @installer::globals::logfileinfo, $infoline);
-#
-# if ($returnvalue)
-# {
-# $infoline = "ERROR: Could not execute \"$systemcall\"!\n";
-# push( @installer::globals::logfileinfo, $infoline);
-# }
-# else
-# {
-# $infoline = "Success: Executed \"$systemcall\" successfully!\n";
-# push( @installer::globals::logfileinfo, $infoline);
-# }
}
- if ( $installer::globals::islinuxrpmbuild )
+ if ( $installer::globals::isrpmbuild )
{
my $removefile = $epmdir . $packagename . ".spec";
my $destfile = $loggingdir . $packagename . ".spec.log";
- # if (! -f $removefile) { next; }
-
my $systemcall = "mv -f $removefile $destfile";
system($systemcall); # ignoring the return value
$infoline = "Systemcall: $systemcall\n";
@@ -2832,13 +2792,17 @@ sub create_new_directory_structure
my $newdir = $installer::globals::epmoutpath;
- if ( $installer::globals::islinuxrpmbuild )
+ if ( $installer::globals::isrpmbuild )
{
my $rpmdir;
my $machine = "";
if ( $installer::globals::compiler =~ /unxlngi/) {
$rpmdir = "$installer::globals::epmoutpath/RPMS/i586";
}
+ elsif ( $installer::globals::compiler =~ /unxaigppc/) {
+ $machine = "ppc";
+ $rpmdir = "$installer::globals::epmoutpath/RPMS/$machine";
+ }
elsif ( $installer::globals::compiler =~ /unxlng/) {
$machine = (POSIX::uname())[4];
$rpmdir = "$installer::globals::epmoutpath/RPMS/$machine";
@@ -2869,6 +2833,7 @@ sub create_new_directory_structure
{
installer::systemactions::remove_empty_directory("$installer::globals::epmoutpath/RPMS/$machine");
}
+ installer::systemactions::remove_empty_directory("$installer::globals::epmoutpath/RPMS/powerpc");
installer::systemactions::remove_empty_directory("$installer::globals::epmoutpath/RPMS/x86_64");
installer::systemactions::remove_empty_directory("$installer::globals::epmoutpath/RPMS/i586");
installer::systemactions::remove_empty_directory("$installer::globals::epmoutpath/RPMS/i386");
@@ -2877,23 +2842,7 @@ sub create_new_directory_structure
}
# Setting unix rights to "775" for $newdir ("RPMS" or "packages")
-
- my $localcall = "chmod 775 $newdir \>\/dev\/null 2\>\&1";
- my $callreturnvalue = system($localcall);
-
- my $callinfoline = "Systemcall: $localcall\n";
- push( @installer::globals::logfileinfo, $callinfoline);
-
- if ($callreturnvalue)
- {
- $callinfoline = "ERROR: Could not execute \"$localcall\"!\n";
- push( @installer::globals::logfileinfo, $callinfoline);
- }
- else
- {
- $callinfoline = "Success: Executed \"$localcall\" successfully!\n";
- push( @installer::globals::logfileinfo, $callinfoline);
- }
+ chmod 0775, $newdir;
}
######################################################
@@ -3195,40 +3144,6 @@ sub analyze_rootpath
$rootpath =~ s/\/\s*$//; # removing ending slash
##############################################################
- # Version 1: "/opt" is variable and "openofficeorg20" fixed
- ##############################################################
-
- # my $staticpath = $rootpath;
- # installer::pathanalyzer::make_absolute_filename_to_relative_filename(\$staticpath);
- # $$staticpathref = $staticpath; # will be "openofficeorg20"
-
- # my $relocatablepath = $rootpath;
- # installer::pathanalyzer::get_path_from_fullqualifiedname(\$relocatablepath);
- # $$relocatablepathref = $relocatablepath; # will be "/opt/"
-
- ##############################################################
- # Version 2: "/opt/openofficeorg20" is variable and "" fixed
- ##############################################################
-
- # if ( $$relocatablepathref eq "" ) # relocatablepath is not defined in package list
- # {
- # $$staticpathref = ""; # will be ""
- # $$relocatablepathref = $rootpath . "\/"; # relocatable path must end with "/", will be "/opt/openofficeorg20/"
- # # setting the static path to the hostname of the directory with style OFFICEDIRECTORY
- # if ( $allvariables->{'SETSTATICPATH'} ) { $$staticpathref = $installer::globals::officedirhostname; }
- #
- # }
- # else # relocatablepath is defined in package list
- # {
- # $$relocatablepathref =~ s/\/\s*$//; # removing ending slash
- # $$relocatablepathref = $$relocatablepathref . "\/"; # relocatable path must end with "/"
- # my $staticpath = $rootpath;
- # $staticpath =~ s/\Q$$relocatablepathref\E//;
- # $staticpath =~ s/\/\s*$//;
- # $$staticpathref = $staticpath;
- # }
-
- ##############################################################
# Version 3: "/" is variable and "/opt/openofficeorg20" fixed
##############################################################
@@ -3238,17 +3153,16 @@ sub analyze_rootpath
# For RPM version 3.x it is required, that Prefix is not "/" in spec file. In this case --relocate will not work,
# because RPM 3.x says, that the package is not relocatable. Therefore we have to use Prefix=/opt and for
# all usages of --relocate this path has to be on both sides of the "=": --relocate /opt=<myselectdir>/opt .
- if ( $installer::globals::islinuxrpmbuild )
+ if ( $installer::globals::isrpmbuild )
{
$$relocatablepathref = $rootpath . "\/"; # relocatable path must end with "/", will be "/opt/"
$$staticpathref = $installer::globals::officedirhostname; # to be used as replacement in shell scripts
}
- if ( $installer::globals::islinuxdebbuild )
+ if ( $installer::globals::isdebbuild )
{
$$relocatablepathref = "";
# $$staticpathref is already "/opt/openoffice.org3", no additional $rootpath required.
- # $$staticpathref = $rootpath . $installer::globals::separator . $$staticpathref; # no relocatibility for Debian
}
}
@@ -3270,8 +3184,7 @@ sub put_installsetfiles_into_installset
my $onefile = $installer::globals::installsetfiles[$i];
my $sourcefile = $onefile->{'sourcepath'};
my $destfile = "";
- if ( $installer::globals::addjavainstaller ) { $destfile = $onefile->{'Name'}; }
- else { $destfile = $destdir . $installer::globals::separator . $onefile->{'Name'}; }
+ $destfile = $destdir . $installer::globals::separator . $onefile->{'Name'};
installer::systemactions::copy_one_file($sourcefile, $destfile);
my $infoline = "Adding to installation set \"$destfile\" from source \"$sourcefile\".\n";
@@ -3399,20 +3312,6 @@ sub finalize_linux_patch
if ( ! ( $#{$rpmfiles} > -1 )) { installer::exiter::exit_program("ERROR: Could not find rpm in directory $newepmdir!", "finalize_linux_patch"); }
for ( my $i = 0; $i <= $#{$rpmfiles}; $i++ ) { installer::pathanalyzer::make_absolute_filename_to_relative_filename(\${$rpmfiles}[$i]); }
-# my $installline = "";
-#
-# for ( my $i = 0; $i <= $#{$rpmfiles}; $i++ )
-# {
-# $installline = $installline . " rpm --prefix \$PRODUCTINSTALLLOCATION -U $newepmdir/${$rpmfiles}[$i]\n";
-# }
-#
-# $installline =~ s/\s*$//;
-#
-# for ( my $j = 0; $j <= $#{$scriptfile}; $j++ )
-# {
-# ${$scriptfile}[$j] =~ s/INSTALLLINES/$installline/;
-# }
-
# Searching packagename containing -core01
my $found_package = 0;
my $searchpackagename = "";
@@ -3439,7 +3338,6 @@ sub finalize_linux_patch
my $productname = $allvariables->{'PRODUCTNAME'};
$productname = lc($productname);
$productname =~ s/ /_/g; # abc office -> abc_office
-# $productname =~ s/\.//g; # openoffice.org -> openofficeorg
$infoline = "Adding productname $productname into Linux patch script\n";
push( @installer::globals::logfileinfo, $infoline);
@@ -3448,15 +3346,14 @@ sub finalize_linux_patch
# Saving the file
- my $newscriptfilename = "setup"; # $newepmdir . $installer::globals::separator . "setup";
+ my $newscriptfilename = "setup";
installer::files::save_file($newscriptfilename, $scriptfile);
$infoline = "Saved Linux patch setup $newscriptfilename \n";
push( @installer::globals::logfileinfo, $infoline);
# Setting unix rights 755
- my $localcall = "chmod 775 $newscriptfilename \>\/dev\/null 2\>\&1";
- system($localcall);
+ chmod 0755, $newscriptfilename;
}
1;
diff --git a/solenv/bin/modules/installer/followme.pm b/solenv/bin/modules/installer/followme.pm
index 1abc035d5615..535ac31588ff 100644
--- a/solenv/bin/modules/installer/followme.pm
+++ b/solenv/bin/modules/installer/followme.pm
@@ -70,11 +70,11 @@ sub save_followme_info
push(@filecontent, "globals:issolarisx86build: $installer::globals::issolarisx86build\n");
push(@filecontent, "globals:isfreebsdpkgbuild: $installer::globals::isfreebsdpkgbuild\n");
push(@filecontent, "globals:islinuxbuild: $installer::globals::islinuxbuild\n");
- push(@filecontent, "globals:islinuxrpmbuild: $installer::globals::islinuxrpmbuild\n");
+ push(@filecontent, "globals:isrpmbuild: $installer::globals::isrpmbuild\n");
push(@filecontent, "globals:islinuxintelrpmbuild: $installer::globals::islinuxintelrpmbuild\n");
push(@filecontent, "globals:islinuxppcrpmbuild: $installer::globals::islinuxppcrpmbuild\n");
push(@filecontent, "globals:islinuxx86_64rpmbuild: $installer::globals::islinuxx86_64rpmbuild\n");
- push(@filecontent, "globals:islinuxdebbuild: $installer::globals::islinuxdebbuild\n");
+ push(@filecontent, "globals:isdebbuild: $installer::globals::isdebbuild\n");
push(@filecontent, "globals:islinuxinteldebbuild: $installer::globals::islinuxinteldebbuild\n");
push(@filecontent, "globals:islinuxppcdebbuild: $installer::globals::islinuxppcdebbuild\n");
push(@filecontent, "globals:islinuxx86_64debbuild: $installer::globals::islinuxx86_64debbuild\n");
@@ -87,6 +87,7 @@ sub save_followme_info
push(@filecontent, "globals:product: $installer::globals::product\n");
push(@filecontent, "globals:patch: $installer::globals::patch\n");
push(@filecontent, "globals:languagepack: $installer::globals::languagepack\n");
+ push(@filecontent, "globals:helppack: $installer::globals::helppack\n");
push(@filecontent, "globals:installertypedir: $installer::globals::installertypedir\n");
push(@filecontent, "globals:max_lang_length: $installer::globals::max_lang_length\n");
push(@filecontent, "globals:compiler: $installer::globals::compiler\n");
@@ -169,11 +170,11 @@ sub read_followme_info
if ( $name eq "issolarisx86build" ) { $installer::globals::issolarisx86build = $value; }
if ( $name eq "isfreebsdpkgbuild" ) { $installer::globals::isfreebsdpkgbuild = $value; }
if ( $name eq "islinuxbuild" ) { $installer::globals::islinuxbuild = $value; }
- if ( $name eq "islinuxrpmbuild" ) { $installer::globals::islinuxrpmbuild = $value; }
+ if ( $name eq "isrpmbuild" ) { $installer::globals::isrpmbuild = $value; }
if ( $name eq "islinuxintelrpmbuild" ) { $installer::globals::islinuxintelrpmbuild = $value; }
if ( $name eq "islinuxppcrpmbuild" ) { $installer::globals::islinuxppcrpmbuild = $value; }
if ( $name eq "islinuxx86_64rpmbuild" ) { $installer::globals::islinuxx86_64rpmbuild = $value; }
- if ( $name eq "islinuxdebbuild" ) { $installer::globals::islinuxdebbuild = $value; }
+ if ( $name eq "isdebbuild" ) { $installer::globals::isdebbuild = $value; }
if ( $name eq "islinuxinteldebbuild" ) { $installer::globals::islinuxinteldebbuild = $value; }
if ( $name eq "islinuxppcdebbuild" ) { $installer::globals::islinuxppcdebbuild = $value; }
if ( $name eq "islinuxx86_64debbuild" ) { $installer::globals::islinuxx86_64debbuild = $value; }
@@ -189,6 +190,7 @@ sub read_followme_info
if ( $name eq "product" ) { $installer::globals::product = $value; }
if ( $name eq "patch" ) { $installer::globals::patch = $value; }
if ( $name eq "languagepack" ) { $installer::globals::languagepack = $value; }
+ if ( $name eq "helppack" ) { $installer::globals::helppack = $value; }
if ( $name eq "installertypedir" ) { $installer::globals::installertypedir = $value; }
if ( $name eq "max_lang_length" ) { $installer::globals::max_lang_length = $value; }
if ( $name eq "compiler" ) { $installer::globals::compiler = $value; }
diff --git a/solenv/bin/modules/installer/globals.pm b/solenv/bin/modules/installer/globals.pm
index 066e13dcf6d4..ace634a3ac5e 100644
--- a/solenv/bin/modules/installer/globals.pm
+++ b/solenv/bin/modules/installer/globals.pm
@@ -131,8 +131,8 @@ BEGIN
$ismacosx = 0;
$iswindowsbuild = 0;
$islinuxbuild = 0;
- $islinuxrpmbuild = 0;
- $islinuxdebbuild = 0;
+ $isrpmbuild = 0;
+ $isdebbuild = 0;
$islinuxintelrpmbuild = 0;
$islinuxppcrpmbuild = 0;
$islinuxinteldebbuild = 0;
@@ -196,7 +196,7 @@ BEGIN
%alllangmodules = ();
$englishlicenseset = 0;
$englishlicense = "";
- $englishsolarislicensename = "LICENSE_en-US";
+ $englishsolarislicensename = "LICENSE"; # _en-US";
$solarisdontcompress = 0;
$patharray = "";
@@ -310,7 +310,6 @@ BEGIN
$productxpdfile = "setup.xpd";
$xpd_files_prepared = 0;
$defaultlanguage = "";
- # @emptyxpdparents = ();
@createdxpdfiles = ();
@allxpdfiles = ();
$isxpdplatform = 0;
@@ -318,7 +317,6 @@ BEGIN
$javasettozero = 0;
$addlicensefile = 1;
$addsystemintegration = 0;
- $addjavainstaller = 0;
$added_directories = 0;
$makedownload = 1;
$makejds = 1;
@@ -329,6 +327,7 @@ BEGIN
@binarytableonlyfiles = ();
@allscpactions = ();
$languagepackaddon = "LanguagePack";
+ $helppackaddon = "HelpPack";
$patchaddon = "Patch";
$ooodownloadfilename = "";
$downloadfilename = "";
@@ -346,6 +345,7 @@ BEGIN
$patch_user_dir = 0;
$addchildprojects = 0;
$languagepack = 0;
+ $helppack = 0;
$tab = 0;
$patch = 0;
$patchincludepath = "";
@@ -424,7 +424,7 @@ BEGIN
$one_cab_file = 0;
$fix_number_of_cab_files = 1;
$cab_file_per_component = 0;
- $cabfilecompressionlevel = 2;
+ $cabfilecompressionlevel = 21; # Using LZX compression, possible values are: 15 | 16 | ... | 21 (best compression)
$number_of_cabfiles = 1; # only for $fix_number_of_cab_files = 1
$include_cab_in_msi = 0;
$use_packages_for_cabs = 0;
@@ -464,6 +464,7 @@ BEGIN
@environmentvariables = ( "SOLARVERSION", "GUI", "WORK_STAMP", "OUTPATH", "LOCAL_OUT", "LOCAL_COMMON_OUT" );
@packagelistitems = ("module", "solarispackagename", "packagename", "copyright", "vendor", "description" );
@languagepackfeature =();
+ @helppackfeature =();
@featurecollector =();
$msiassemblyfiles = "";
$nsisfilename = "Nsis";
@@ -536,9 +537,6 @@ BEGIN
$isunix = 1;
$iswin = 0;
}
- # WRAPCMD is gone - remove this and all related
- # $installer::globals::wrapcmd entries
- $wrapcmd = "";
if ( $plat =~ /linux/i ) { $islinux = 1; }
if ( $plat =~ /kfreebsd/i ) { $islinux = 1; }
diff --git a/solenv/bin/modules/installer/helppack.pm b/solenv/bin/modules/installer/helppack.pm
new file mode 100644
index 000000000000..e5b674c93f8c
--- /dev/null
+++ b/solenv/bin/modules/installer/helppack.pm
@@ -0,0 +1,537 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+
+package installer::helppack;
+
+use installer::converter;
+use installer::existence;
+use installer::files;
+use installer::globals;
+use installer::logger;
+use installer::pathanalyzer;
+use installer::scpzipfiles;
+use installer::scriptitems;
+use installer::systemactions;
+use installer::worker;
+
+sub select_help_items
+{
+ my ( $itemsref, $languagesarrayref, $itemname ) = @_;
+
+ installer::logger::include_header_into_logfile("Selecting items for help pack. Item: $itemname");
+
+ my @itemsarray = ();
+
+ for ( my $i = 0; $i <= $#{$itemsref}; $i++ )
+ {
+ my $oneitem = ${$itemsref}[$i];
+
+ my $styles = "";
+ if ( $oneitem->{'Styles'} ) { $styles = $oneitem->{'Styles'}; }
+
+ if (( $styles =~ /\bHELPPACK\b/ ) || ( $styles =~ /\bFORCEHELPPACK\b/ ))
+ {
+ # Files with style "HELPPACK" and "FORCEHELPPACK" also have to be included into the help pack.
+ # Files with style "HELPPACK" are only included into help packs.
+ # Files with style "FORCEHELPPACK" are included into help packs and non help packs. They are
+ # forced, because otherwise they not not be included into helppacks.
+
+ my $ismultilingual = $oneitem->{'ismultilingual'};
+
+ if ($ismultilingual)
+ {
+ my $specificlanguage = "";
+ if ( $oneitem->{'specificlanguage'} ) { $specificlanguage = $oneitem->{'specificlanguage'}; }
+
+ for ( my $j = 0; $j <= $#{$languagesarrayref}; $j++ ) # iterating over all languages
+ {
+ my $onelanguage = ${$languagesarrayref}[$j];
+ my $locallang = $onelanguage;
+ $locallang =~ s/-/_/;
+
+ if ( $specificlanguage eq $onelanguage )
+ {
+ push(@itemsarray, $oneitem);
+ }
+ }
+ }
+ else
+ {
+ push(@itemsarray, $oneitem);
+ }
+ }
+ }
+
+ return \@itemsarray;
+}
+
+sub replace_languagestring_variable
+{
+ my ($onepackageref, $languagestringref) = @_;
+
+ my $key;
+
+ foreach $key (keys %{$onepackageref})
+ {
+ my $value = $onepackageref->{$key};
+ $value =~ s/\%LANGUAGESTRING/$$languagestringref/g;
+ $onepackageref->{$key} = $value;
+ }
+}
+
+#########################################################
+# Including the license text into the script template
+#########################################################
+
+sub put_license_file_into_script
+{
+ my ($scriptfile, $licensefile) = @_;
+
+ my $infoline = "Adding licensefile into help pack script\n";
+ push( @installer::globals::logfileinfo, $infoline);
+
+ my $includestring = "";
+
+ for ( my $i = 0; $i <= $#{$licensefile}; $i++ )
+ {
+ $includestring = $includestring . ${$licensefile}[$i];
+ }
+
+ for ( my $i = 0; $i <= $#{$scriptfile}; $i++ )
+ {
+ ${$scriptfile}[$i] =~ s/LICENSEFILEPLACEHOLDER/$includestring/;
+ }
+}
+
+#########################################################
+# Creating a tar.gz file from a Solaris package
+#########################################################
+
+sub create_tar_gz_file
+{
+ my ($installdir, $packagename, $packagestring) = @_;
+
+ $packagename =~ s/\.rpm\s*$//;
+ my $targzname = $packagename . ".tar.gz";
+ $systemcall = "cd $installdir; tar -cf - $packagestring | gzip > $targzname";
+ installer::logger::print_message( "... $systemcall ...\n" );
+
+ my $returnvalue = system($systemcall);
+
+ my $infoline = "Systemcall: $systemcall\n";
+ push( @installer::globals::logfileinfo, $infoline);
+
+ if ($returnvalue)
+ {
+ $infoline = "ERROR: Could not execute \"$systemcall\"!\n";
+ push( @installer::globals::logfileinfo, $infoline);
+ }
+ else
+ {
+ $infoline = "Success: Executed \"$systemcall\" successfully!\n";
+ push( @installer::globals::logfileinfo, $infoline);
+ }
+
+ return $targzname;
+}
+
+#########################################################
+# Determining the name of the package file
+#########################################################
+
+sub get_packagename_from_packagelist
+{
+ my ( $alldirs, $allvariables, $languagestringref ) = @_;
+
+ # my $packagename = "";
+
+ # for ( my $i = 0; $i <= $#{$alldirs}; $i++ )
+ # {
+ # if ( ${$alldirs}[$i] =~ /-fonts/ ) { next; }
+ # if ( ${$alldirs}[$i] =~ /-help/ ) { next; }
+ # if ( ${$alldirs}[$i] =~ /-res/ ) { next; }
+ #
+ # $packagename = ${$alldirs}[$i];
+ # last;
+ # }
+
+ # if ( $packagename eq "" ) { installer::exiter::exit_program("ERROR: Could not find base package in directory $installdir!", "get_packagename_from_packagelist"); }
+
+ my $localproductname = $allvariables->{'PRODUCTNAME'};
+ $localproductname = lc($localproductname);
+ $localproductname =~ s/ //g;
+ $localproductname =~ s/-/_/g;
+
+ my $packagename = $localproductname . "_" . $$languagestringref;
+
+ return $packagename;
+}
+
+#########################################################
+# Determining the name of the package file or the rpm
+# in the installation directory. For help packs
+# there is only one file in this directory
+#########################################################
+
+sub determine_packagename
+{
+ my ( $installdir, $allvariables, $languagestringref ) = @_;
+
+ my $packagename = "";
+ my $allnames = "";
+
+ if ( $installer::globals::isrpmbuild )
+ {
+ # determining the rpm file in directory $installdir
+
+ my $fileextension = "rpm";
+ my $rpmfiles = installer::systemactions::find_file_with_file_extension($fileextension, $installdir);
+ if ( ! ( $#{$rpmfiles} > -1 )) { installer::exiter::exit_program("ERROR: Could not find package in directory $installdir!", "determine_packagename"); }
+ my $rpmsav = [@{$rpmfiles}];
+ for ( my $i = 0; $i <= $#{$rpmfiles}; $i++ ) { installer::pathanalyzer::make_absolute_filename_to_relative_filename(\${$rpmfiles}[$i]); }
+
+ $packagename = get_packagename_from_packagelist($rpmfiles, $allvariables, $languagestringref);
+
+ my $packagestring = installer::converter::convert_array_to_space_separated_string($rpmfiles);
+ $packagename = create_tar_gz_file($installdir, $packagename, $packagestring); # only one file
+ for ( my $i = 0; $i <= $#{$rpmsav}; $i++ )
+ {
+ my $onefile = $installdir . $installer::globals::separator . ${$rpmsav}[$i];
+ unlink($onefile);
+ }
+
+ $allnames = $rpmfiles;
+ }
+
+ if ( $installer::globals::issolarisbuild )
+ {
+ # determining the Solaris package file in directory $installdir
+ my $alldirs = installer::systemactions::get_all_directories($installdir);
+
+ if ( ! ( $#{$alldirs} > -1 )) { installer::exiter::exit_program("ERROR: Could not find package in directory $installdir!", "determine_packagename"); }
+ my $alldirssav = [@{$alldirs}];
+ for ( my $i = 0; $i <= $#{$alldirs}; $i++ ) { installer::pathanalyzer::make_absolute_filename_to_relative_filename(\${$alldirs}[$i]); }
+
+ $packagename = get_packagename_from_packagelist($alldirs, $allvariables, $languagestringref);
+ my $packagestring = installer::converter::convert_array_to_space_separated_string($alldirs);
+ $packagename = create_tar_gz_file($installdir, $packagename, $packagestring); # only a file (not a directory) can be included into the shell script
+ for ( my $i = 0; $i <= $#{$alldirssav}; $i++ ) { installer::systemactions::remove_complete_directory(${$alldirssav}[$i], 1); }
+ $allnames = $alldirs;
+ }
+
+ my $infoline = "Found package in installation directory $installdir : $packagename\n";
+ push( @installer::globals::logfileinfo, $infoline);
+
+ return ( $packagename, $allnames);
+}
+
+#########################################################
+# Including the name of the package file or the rpm
+# into the script template
+#########################################################
+
+sub put_packagename_into_script
+{
+ my ($scriptfile, $packagename, $allnames) = @_;
+
+ my $localpackagename = $packagename;
+ $localpackagename =~ s/\.tar\.gz//; # making "OOOopenoffice-it-ea.tar.gz" to "OOOopenoffice-it-ea"
+ my $infoline = "Adding packagename $localpackagename into help pack script\n";
+ push( @installer::globals::logfileinfo, $infoline);
+
+ my $installline = "";
+
+ if ( $installer::globals::issolarisbuild ) { $installline = " /usr/sbin/pkgadd -d \$outdir -a \$adminfile"; }
+
+ if ( $installer::globals::isrpmbuild ) { $installline = " rpm --prefix \$PRODUCTINSTALLLOCATION --replacepkgs -i"; }
+
+ for ( my $i = 0; $i <= $#{$allnames}; $i++ )
+ {
+ if ( $installer::globals::issolarisbuild ) { $installline = $installline . " ${$allnames}[$i]"; }
+
+ if ( $installer::globals::isrpmbuild ) { $installline = $installline . " \$outdir/${$allnames}[$i]"; }
+ }
+
+ for ( my $j = 0; $j <= $#{$scriptfile}; $j++ )
+ {
+ ${$scriptfile}[$j] =~ s/INSTALLLINES/$installline/;
+ }
+}
+
+##################################################################
+# Including the lowercase product name into the script template
+##################################################################
+
+sub put_productname_into_script
+{
+ my ($scriptfile, $variableshashref) = @_;
+
+ my $productname = $variableshashref->{'PRODUCTNAME'};
+ $productname = lc($productname);
+ $productname =~ s/\.//g; # openoffice.org -> openofficeorg
+
+ my $infoline = "Adding productname $productname into help pack script\n";
+ push( @installer::globals::logfileinfo, $infoline);
+
+ for ( my $i = 0; $i <= $#{$scriptfile}; $i++ )
+ {
+ ${$scriptfile}[$i] =~ s/PRODUCTNAMEPLACEHOLDER/$productname/;
+ }
+}
+
+##################################################################
+# Including the full product name into the script template
+# (name and version)
+##################################################################
+
+sub put_fullproductname_into_script
+{
+ my ($scriptfile, $variableshashref) = @_;
+
+ my $productname = $variableshashref->{'PRODUCTNAME'};
+ my $productversion = "";
+ if ( $variableshashref->{'PRODUCTVERSION'} ) { $productversion = $variableshashref->{'PRODUCTVERSION'}; };
+ my $fullproductname = $productname . " " . $productversion;
+
+ my $infoline = "Adding full productname \"$fullproductname\" into help pack script\n";
+ push( @installer::globals::logfileinfo, $infoline);
+
+ for ( my $i = 0; $i <= $#{$scriptfile}; $i++ )
+ {
+ ${$scriptfile}[$i] =~ s/FULLPRODUCTNAMELONGPLACEHOLDER/$fullproductname/;
+ }
+}
+
+##################################################################
+# Including the name of the search package (-core01)
+# into the script template
+##################################################################
+
+sub put_searchpackage_into_script
+{
+ my ($scriptfile, $variableshashref) = @_;
+
+ my $basispackageprefix = $variableshashref->{'BASISPACKAGEPREFIX'};
+ my $basispackageversion = $variableshashref->{'OOOBASEVERSION'};
+
+ if ( $installer::globals::issolarisbuild ) { $basispackageversion =~ s/\.//g; } # "3.0" -> "30"
+
+ my $infoline = "Adding basis package prefix $basispackageprefix into help pack script\n";
+ push( @installer::globals::logfileinfo, $infoline);
+
+ $infoline = "Adding basis package version $basispackageversion into help pack script\n";
+ push( @installer::globals::logfileinfo, $infoline);
+
+ for ( my $i = 0; $i <= $#{$scriptfile}; $i++ )
+ {
+ ${$scriptfile}[$i] =~ s/BASISPACKAGEPREFIXPLACEHOLDER/$basispackageprefix/;
+ ${$scriptfile}[$i] =~ s/OOOBASEVERSIONPLACEHOLDER/$basispackageversion/;
+ }
+
+}
+
+#########################################################
+# Including the linenumber into the script template
+#########################################################
+
+sub put_linenumber_into_script
+{
+ my ( $scriptfile, $licensefile, $allnames ) = @_;
+
+ my $linenumber = $#{$scriptfile} + $#{$licensefile} + 3; # also adding the content of the license file!
+
+ my $infoline = "Adding linenumber $linenumber into help pack script\n";
+ push( @installer::globals::logfileinfo, $infoline);
+
+ for ( my $i = 0; $i <= $#{$scriptfile}; $i++ )
+ {
+ ${$scriptfile}[$i] =~ s/LINENUMBERPLACEHOLDER/$linenumber/;
+ }
+}
+
+#########################################################
+# Determining the name of the new scriptfile
+#########################################################
+
+sub determine_scriptfile_name
+{
+ my ( $packagename ) = @_;
+
+ my $scriptfilename = $packagename;
+
+# if ( $installer::globals::isrpmbuild ) { $scriptfilename =~ s/\.rpm\s*$/\.sh/; }
+# if ( $installer::globals::issolarisbuild ) { $scriptfilename =~ s/\.tar\.gz\s*$/\.sh/; }
+
+ $scriptfilename =~ s/\.tar\.gz\s*$/\.sh/;
+
+ my $infoline = "Setting help pack script file name to $scriptfilename\n";
+ push( @installer::globals::logfileinfo, $infoline);
+
+ return $scriptfilename;
+}
+
+#########################################################
+# Saving the script file in the installation directory
+#########################################################
+
+sub save_script_file
+{
+ my ($installdir, $newscriptfilename, $scriptfile) = @_;
+
+ $newscriptfilename = $installdir . $installer::globals::separator . $newscriptfilename;
+ installer::files::save_file($newscriptfilename, $scriptfile);
+
+ my $infoline = "Saving script file $newscriptfilename\n";
+ push( @installer::globals::logfileinfo, $infoline);
+
+ return $newscriptfilename;
+}
+
+#########################################################
+# Including the binary package into the script
+#########################################################
+
+sub include_package_into_script
+{
+ my ( $scriptfilename, $installdir, $packagename ) = @_;
+
+ my $longpackagename = $installdir . $installer::globals::separator . $packagename;
+ my $systemcall = "cat $longpackagename >>$scriptfilename";
+
+ my $returnvalue = system($systemcall);
+
+ my $infoline = "Systemcall: $systemcall\n";
+ push( @installer::globals::logfileinfo, $infoline);
+
+ if ($returnvalue)
+ {
+ $infoline = "ERROR: Could not execute \"$systemcall\"!\n";
+ push( @installer::globals::logfileinfo, $infoline);
+ }
+ else
+ {
+ $infoline = "Success: Executed \"$systemcall\" successfully!\n";
+ push( @installer::globals::logfileinfo, $infoline);
+ }
+
+ my $localcall = "chmod 775 $scriptfilename \>\/dev\/null 2\>\&1";
+ system($localcall);
+
+}
+
+#########################################################
+# Removing the binary package
+#########################################################
+
+sub remove_package
+{
+ my ( $installdir, $packagename ) = @_;
+
+ my $remove_package = 1;
+
+ if ( $ENV{'DONT_REMOVE_PACKAGE'} ) { $remove_package = 0; }
+
+ if ( $remove_package )
+ {
+ my $longpackagename = $installdir . $installer::globals::separator . $packagename;
+ unlink $longpackagename;
+
+ my $infoline = "Removing package: $longpackagename \n";
+ push( @installer::globals::logfileinfo, $infoline);
+ }
+}
+
+####################################################
+# Unix help packs, that are not part of
+# multilingual installation sets, need a
+# shell script installer
+####################################################
+
+sub build_installer_for_helppack
+{
+ my ($installdir, $allvariableshashref, $includepatharrayref, $languagesarrayref, $languagestringref) = @_;
+
+ installer::logger::print_message( "... creating shell script installer ...\n" );
+
+ installer::logger::include_header_into_logfile("Creating shell script installer:");
+
+ # find and read setup script template
+
+ my $scriptfilename = "langpackscript.sh";
+ my $scriptref = installer::scriptitems::get_sourcepath_from_filename_and_includepath(\$scriptfilename, $includepatharrayref, 0);
+ if ($$scriptref eq "") { installer::exiter::exit_program("ERROR: Could not find script file $scriptfilename!", "build_installer_for_helppack"); }
+ my $scriptfile = installer::files::read_file($$scriptref);
+
+ my $infoline = "Found script file $scriptfilename: $$scriptref \n";
+ push( @installer::globals::logfileinfo, $infoline);
+
+ # find and read english license file
+ my $licenselanguage = "en-US"; # always english !
+ my $licensefilename = "LICENSE"; # _" . $licenselanguage;
+ my $licenseincludepatharrayref = installer::worker::get_language_specific_include_pathes($includepatharrayref, $licenselanguage);
+
+ my $licenseref = installer::scriptitems::get_sourcepath_from_filename_and_includepath(\$licensefilename, $licenseincludepatharrayref, 0);
+ if ($$licenseref eq "") { installer::exiter::exit_program("ERROR: Could not find License file $licensefilename!", "build_installer_for_helppack"); }
+ my $licensefile = installer::files::read_file($$licenseref);
+
+ $infoline = "Found licensefile $licensefilename: $$licenseref \n";
+ push( @installer::globals::logfileinfo, $infoline);
+
+ # including variables into license file
+ installer::scpzipfiles::replace_all_ziplistvariables_in_file($licensefile, $allvariableshashref);
+
+ # add license text into script template
+ put_license_file_into_script($scriptfile, $licensefile);
+
+ # add rpm or package file name into script template
+ my ( $packagename, $allnames) = determine_packagename($installdir, $allvariableshashref, $languagestringref);
+ put_packagename_into_script($scriptfile, $packagename, $allnames);
+
+ # add product name into script template
+ put_productname_into_script($scriptfile, $allvariableshashref);
+
+ # add product name into script template
+ put_fullproductname_into_script($scriptfile, $allvariableshashref);
+
+ # add product name into script template
+ put_searchpackage_into_script($scriptfile, $allvariableshashref);
+
+ # replace linenumber in script template
+ put_linenumber_into_script($scriptfile, $licensefile, $allnames);
+
+ # saving the script file
+ my $newscriptfilename = determine_scriptfile_name($packagename);
+ $newscriptfilename = save_script_file($installdir, $newscriptfilename, $scriptfile);
+
+ # include rpm or package into script
+ include_package_into_script($newscriptfilename, $installdir, $packagename);
+
+ # remove rpm or package
+ remove_package($installdir, $packagename);
+}
+
+1;
diff --git a/solenv/bin/modules/installer/javainstaller.pm b/solenv/bin/modules/installer/javainstaller.pm
deleted file mode 100644
index f68346bdcce2..000000000000
--- a/solenv/bin/modules/installer/javainstaller.pm
+++ /dev/null
@@ -1,1885 +0,0 @@
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-package installer::javainstaller;
-
-use Cwd;
-use installer::exiter;
-use installer::files;
-use installer::globals;
-use installer::languages;
-use installer::pathanalyzer;
-use installer::scriptitems;
-use installer::systemactions;
-use installer::worker;
-use installer::logger;
-
-##############################################################
-# Returning a specific language string from the block
-# of all translations
-##############################################################
-
-sub get_language_string_from_language_block
-{
- my ($language_block, $language, $oldstring) = @_;
-
- my $newstring = "";
-
- for ( my $i = 0; $i <= $#{$language_block}; $i++ )
- {
- if ( ${$language_block}[$i] =~ /^\s*$language\s*\=\s*\"(.*)\"\s*$/ )
- {
- $newstring = $1;
- last;
- }
- }
-
- if ( $newstring eq "" )
- {
- $language = "en-US"; # defaulting to english
-
- for ( my $i = 0; $i <= $#{$language_block}; $i++ )
- {
- if ( ${$language_block}[$i] =~ /^\s*$language\s*\=\s*\"(.*)\"\s*$/ )
- {
- $newstring = $1;
- last;
- }
- }
- }
-
- return $newstring;
-}
-
-##############################################################
-# Returning the complete block in all languages
-# for a specified string
-##############################################################
-
-sub get_language_block_from_language_file
-{
- my ($searchstring, $languagefile) = @_;
-
- my @language_block = ();
-
- for ( my $i = 0; $i <= $#{$languagefile}; $i++ )
- {
- if ( ${$languagefile}[$i] =~ /^\s*\[\s*$searchstring\s*\]\s*$/ )
- {
- my $counter = $i;
-
- push(@language_block, ${$languagefile}[$counter]);
- $counter++;
-
- while (( $counter <= $#{$languagefile} ) && (!( ${$languagefile}[$counter] =~ /^\s*\[/ )))
- {
- push(@language_block, ${$languagefile}[$counter]);
- $counter++;
- }
-
- last;
- }
- }
-
- return \@language_block;
-}
-
-#######################################################
-# Searching for the module name and description in the
-# modules collector
-#######################################################
-
-sub get_module_name_description
-{
- my ($modulesarrayref, $onelanguage, $gid, $type) = @_;
-
- my $found = 0;
-
- my $newstring = "";
-
- for ( my $i = 0; $i <= $#{$modulesarrayref}; $i++ )
- {
- my $onemodule = ${$modulesarrayref}[$i];
-
- if ( $onemodule->{'gid'} eq $gid )
- {
- my $typestring = $type . " " . "(" . $onelanguage . ")";
- if ( $onemodule->{$typestring} ) { $newstring = $onemodule->{$typestring}; }
- $found = 1;
- }
-
- if ( $found ) { last; }
- }
-
- # defaulting to english
-
- if ( ! $found )
- {
- my $defaultlanguage = "en-US";
-
- for ( my $i = 0; $i <= $#{$modulesarrayref}; $i++ )
- {
- my $onemodule = ${$modulesarrayref}[$i];
-
- if ( $onemodule->{'gid'} eq $gid )
- {
- my $typestring = $type . " " . "(" . $defaultlanguage . ")";
- if ( $onemodule->{$typestring} ) { $newstring = $onemodule->{$typestring}; }
- $found = 1;
- }
-
- if ( $found ) { last; }
- }
- }
-
- return $newstring;
-}
-
-#######################################################
-# Setting the productname and productversion
-#######################################################
-
-sub set_productname_and_productversion
-{
- my ($templatefile, $variableshashref) = @_;
-
- my $infoline = "\nSetting product name and product version in Java template file\n";
- push( @installer::globals::logfileinfo, $infoline);
-
- my $productname = $variableshashref->{'PRODUCTNAME'};
- my $productversion = $variableshashref->{'PRODUCTVERSION'};
-
- for ( my $i = 0; $i <= $#{$templatefile}; $i++ )
- {
- ${$templatefile}[$i] =~ s/\{PRODUCTNAME\}/$productname/g;
- ${$templatefile}[$i] =~ s/\{PRODUCTVERSION\}/$productversion/g;
- }
-
- $infoline = "End of: Setting product name and product version in Java template file\n\n";
- push( @installer::globals::logfileinfo, $infoline);
-}
-
-#######################################################
-# Setting the localized Module name and description
-#######################################################
-
-sub set_component_name_and_description
-{
- my ($templatefile, $modulesarrayref, $onelanguage) = @_;
-
- my $infoline = "\nSetting component names and description in Java template file\n";
- push( @installer::globals::logfileinfo, $infoline);
-
- for ( my $i = 0; $i <= $#{$templatefile}; $i++ )
- {
- # OOO_gid_Module_Prg_Wrt_Name
- # OOO_gid_Module_Prg_Wrt_Description
-
- my $oneline = ${$templatefile}[$i];
- my $oldstring = "";
- my $gid = "";
- my $type = "";
-
- if ( $oneline =~ /\b(OOO_gid_\w+)\b/ )
- {
- $oldstring = $1;
-
- $infoline = "Found: $oldstring\n";
- push( @installer::globals::logfileinfo, $infoline);
-
- if ( $oldstring =~ /^\s*OOO_(gid_\w+)_(\w+?)\s*$/ )
- {
- $gid = $1;
- $type = $2;
- }
-
- my $newstring = get_module_name_description($modulesarrayref, $onelanguage, $gid, $type);
-
- $infoline = "\tReplacing (language $onelanguage): OLDSTRING: $oldstring NEWSTRING $newstring\n";
- push( @installer::globals::logfileinfo, $infoline);
-
- ${$templatefile}[$i] =~ s/$oldstring/$newstring/; # always substitute, even if $newstring eq ""
- }
- }
-
- $infoline = "End of: Setting component names and description in Java template file\n\n";
- push( @installer::globals::logfileinfo, $infoline);
-}
-
-#######################################################
-# Translating the Java file
-#######################################################
-
-sub translate_javafile
-{
- my ($templatefile, $languagefile, $onelanguage) = @_;
-
- for ( my $i = 0; $i <= $#{$templatefile}; $i++ )
- {
- my @allstrings = ();
-
- my $oneline = ${$templatefile}[$i];
-
- while ( $oneline =~ /\b(OOO_\w+)\b/ )
- {
- my $replacestring = $1;
- push(@allstrings, $replacestring);
- $oneline =~ s/$replacestring//;
- }
-
- my $oldstring;
-
- foreach $oldstring (@allstrings)
- {
- my $language_block = get_language_block_from_language_file($oldstring, $languagefile);
- my $newstring = get_language_string_from_language_block($language_block, $onelanguage, $oldstring);
-
- $newstring =~ s/\"/\\\"/g; # masquerading the "
- $newstring =~ s/\\\\\"/\\\"/g; # unmasquerading if \" was converted to \\" (because " was already masked)
-
- # if (!( $newstring eq "" )) { ${$idtfile}[$i] =~ s/$oldstring/$newstring/; }
- ${$templatefile}[$i] =~ s/$oldstring/$newstring/; # always substitute, even if $newstring eq ""
- }
- }
-}
-
-###########################################################
-# Returning the license file name for a defined language
-###########################################################
-
-sub get_licensefilesource
-{
- my ($language, $includepatharrayref) = @_;
-
- my $licensefilename = "LICENSE_" . $language;
-
- my $licenseref = installer::scriptitems::get_sourcepath_from_filename_and_includepath(\$licensefilename, $includepatharrayref, 0);
- if ($$licenseref eq "") { installer::exiter::exit_program("ERROR: Could not find License file $licensefilename!", "get_licensefilesource"); }
-
- my $infoline = "Found licensefile $licensefilename: $$licenseref \n";
- push( @installer::globals::logfileinfo, $infoline);
-
- return $$licenseref;
-}
-
-#######################################################
-# Converting the license string into the
-# Java specific encoding.
-#######################################################
-
-sub convert_licenstring
-{
- my ($licensefile, $includepatharrayref, $javadir, $onelanguage) = @_;
-
- my $licensedir = $javadir . $installer::globals::separator . "license";
- installer::systemactions::create_directory($licensedir);
-
- # saving the original license file
-
- my $licensefilename = $licensedir . $installer::globals::separator . "licensefile.txt";
- installer::files::save_file($licensefilename, $licensefile);
-
- # creating the ulf file from the license file
-
- $licensefilename = $licensedir . $installer::globals::separator . "licensefile.ulf";
- my @licensearray = ();
-
- my $section = "\[TRANSLATE\]\n";
- push(@licensearray, $section);
-
- for ( my $i = 0; $i <= $#{$licensefile}; $i++ )
- {
- my $oneline = ${$licensefile}[$i];
-
- if ($i == 0) { $oneline =~ s/^\s*\ï\»\¿//; }
-
- $oneline =~ s/\s*$//;
- $oneline =~ s/\"/\\\"/g; # masquerading the "
- $oneline =~ s/\'/\\\'/g; # masquerading the '
-
- $oneline =~ s/\$\{/\{/g; # replacement of variables, only {PRODUCTNAME}, not ${PRODUCTNAME}
-
- my $ulfstring = $onelanguage . " = " . "\"" . $oneline . "\"\n";
- push(@licensearray, $ulfstring);
- }
-
- installer::files::save_file($licensefilename, \@licensearray);
-
- # converting the ulf file to the jlf file with ulfconv
-
- @licensearray = ();
-
- my $converter = "ulfconv";
-
- my $converterref = installer::scriptitems::get_sourcepath_from_filename_and_includepath(\$converter, $includepatharrayref, 0);
- if ($$converterref eq "") { installer::exiter::exit_program("ERROR: Could not find converter $converter!", "convert_licenstring"); }
-
- my $infoline = "Found converter file $converter: $$converterref \n";
- push( @installer::globals::logfileinfo, $infoline);
-
- my $systemcall = "$$converterref $licensefilename |";
- open (CONV, "$systemcall");
- @licensearray = <CONV>;
- close (CONV);
-
- $licensefilename = $licensedir . $installer::globals::separator . "licensefile.jlf";
- installer::files::save_file($licensefilename, \@licensearray);
-
- # creating the license string from the jlf file
-
- $licensestring = "";
-
- for ( my $i = 1; $i <= $#licensearray; $i++ ) # not the first line!
- {
- my $oneline = $licensearray[$i];
- $oneline =~ s/^\s*$onelanguage\s*\=\s*\"//;
- $oneline =~ s/\"\s*$//;
- $licensestring = $licensestring . $oneline . "\\n";
- }
-
- $infoline = "Systemcall: $systemcall\n";
- push( @installer::globals::logfileinfo, $infoline);
-
- if ( $licensestring eq "" )
- {
- $infoline = "ERROR: Could not convert $licensefilename !\n";
- push( @installer::globals::logfileinfo, $infoline);
- }
-
- return $licensestring;
-}
-
-#######################################################
-# Adding the license file into the java file
-# In the template java file there are two
-# occurences of INSTALLSDK_GUI_LICENSE
-# and INSTALLSDK_CONSOLE_LICENSE
-#######################################################
-
-sub add_license_file_into_javafile
-{
- my ( $templatefile, $licensefile, $includepatharrayref, $javadir, $onelanguage ) = @_;
-
- my $licensestring = convert_licenstring($licensefile, $includepatharrayref, $javadir, $onelanguage);
-
- # saving the licensestring in an ulf file
- # converting the file using "ulfconv license.ulf"
- # including the new string into the java file
-
- for ( my $i = 0; $i <= $#{$templatefile}; $i++ )
- {
- ${$templatefile}[$i] =~ s/INSTALLSDK_GUI_LICENSE/$licensestring/;
- ${$templatefile}[$i] =~ s/INSTALLSDK_CONSOLE_LICENSE/$licensestring/;
- }
-}
-
-#######################################################
-# Executing one system call
-#######################################################
-
-sub make_systemcall
-{
- my ( $systemcall, $logreturn ) = @_;
-
- my @returns = ();
-
- installer::logger::print_message( "... $systemcall ...\n" );
-
- open (REG, "$systemcall");
- while (<REG>) {push(@returns, $_); }
- close (REG);
-
- my $returnvalue = $?; # $? contains the return value of the systemcall
-
- my $infoline = "Systemcall: $systemcall\n";
- push( @installer::globals::logfileinfo, $infoline);
-
- if ( $logreturn )
- {
- for ( my $j = 0; $j <= $#returns; $j++ ) { push( @installer::globals::logfileinfo, "$returns[$j]"); }
- }
-
- if ($returnvalue)
- {
- $infoline = "ERROR: $systemcall\n";
- push( @installer::globals::logfileinfo, $infoline);
- $error_occured = 1;
- }
- else
- {
- $infoline = "SUCCESS: $systemcall\n";
- push( @installer::globals::logfileinfo, $infoline);
- }
-
- return \@returns;
-}
-
-#######################################################
-# Setting the class path for the Installer SDK
-#######################################################
-
-sub set_classpath_for_install_sdk
-{
- my ( $directory ) = @_;
-
- my $installsdk = "";
- my $solarVersion = "";
- my $inPath = "";
- my $updMinorExt = "";
-
- if ( defined( $ENV{ 'SOLARVERSION' } ) ) { $solarVersion = $ENV{'SOLARVERSION'}; }
- else { installer::exiter::exit_program("ERROR: Environment variable \"SOLARVERSION\" not set!", "set_classpath_for_install_sdk"); }
-
- if ( defined( $ENV{ 'INPATH' } ) ) { $inPath = $ENV{'INPATH'}; }
- else { installer::exiter::exit_program("ERROR: Environment variable \"INPATH\" not set!", "set_classpath_for_install_sdk"); }
-
- if ( defined( $ENV{ 'UPDMINOREXT' } ) ) { $updMinorExt = $ENV{'UPDMINOREXT'}; }
-
- $installsdk = $solarVersion . $installer::globals::separator . $inPath . $installer::globals::separator . "bin" . $updMinorExt;
- $installsdk = $installsdk . $installer::globals::separator . "javainstaller";
-
- if ( $ENV{'INSTALLSDK_SOURCE'} ) { $installsdk = $ENV{'INSTALLSDK_SOURCE'}; } # overriding the Install SDK with INSTALLSDK_SOURCE
-
- # The variable CLASSPATH has to contain:
- # $installsdk/classes:$installsdk/classes/setupsdk.jar:
- # $installsdk/classes/parser.jar:$installsdk/classes/jaxp.jar:
- # $installsdk/classes/ldapjdk.jar:$directory
-
- my @additional_classpath = ();
- push(@additional_classpath, "$installsdk\/classes");
- push(@additional_classpath, "$installsdk\/installsdk.jar");
- push(@additional_classpath, "$installsdk\/classes\/parser.jar");
- push(@additional_classpath, "$installsdk\/classes\/jaxp.jar");
- push(@additional_classpath, "$directory");
-
- my $newclasspathstring = "";
- my $oldclasspathstring = "";
- if ( $ENV{'CLASSPATH'} ) { $oldclasspathstring = $ENV{'CLASSPATH'}; }
- else { $oldclasspathstring = "\."; }
-
- for ( my $i = 0; $i <= $#additional_classpath; $i++ )
- {
- $newclasspathstring = $newclasspathstring . $additional_classpath[$i] . ":";
- }
-
- $newclasspathstring = $newclasspathstring . $oldclasspathstring;
-
- $ENV{'CLASSPATH'} = $newclasspathstring;
-
- my $infoline = "Setting CLASSPATH to $ENV{'CLASSPATH'}\n";
- push( @installer::globals::logfileinfo, $infoline);
-}
-
-#######################################################
-# Setting the class file name in the Java locale file
-#######################################################
-
-sub set_classfilename
-{
- my ($templatefile, $classfilename, $searchstring) = @_;
-
- for ( my $j = 0; $j <= $#{$templatefile}; $j++ )
- {
- if ( ${$templatefile}[$j] =~ /\Q$searchstring\E/ )
- {
- ${$templatefile}[$j] =~ s/$searchstring/$classfilename/;
- last;
- }
- }
-}
-
-#######################################################
-# Substituting one variable in the xml file
-#######################################################
-
-sub replace_one_variable
-{
- my ($xmlfile, $variable, $searchstring) = @_;
-
- for ( my $i = 0; $i <= $#{$xmlfile}; $i++ )
- {
- ${$xmlfile}[$i] =~ s/\$\{$searchstring\}/$variable/g;
- }
-}
-
-#######################################################
-# Substituting the variables in the xml file
-#######################################################
-
-sub substitute_variables
-{
- my ($xmlfile, $variableshashref) = @_;
-
- my $key;
-
- foreach $key (keys %{$variableshashref})
- {
- my $value = $variableshashref->{$key};
- replace_one_variable($xmlfile, $value, $key);
- }
-}
-
-##########################################################
-# Finding the line number in xml file of a special
-# component
-##########################################################
-
-sub find_component_line
-{
- my ($xmlfile, $componentname) = @_;
-
- my $linenumber = 0;
-
- for ( my $i = 0; $i <= $#{$xmlfile}; $i++ )
- {
- if ( ${$xmlfile}[$i] =~ /name\s*\=\'\s*$componentname/ )
- {
- $linenumber = $i;
- last;
- }
- }
-
- return $linenumber;
-}
-
-##########################################################
-# Removing one package from the xml file
-##########################################################
-
-sub remove_package
-{
- my ($xmlfile, $packagename) = @_;
-
- my $searchstring = $packagename;
- if ( $searchstring =~ /\-(\S+?)\s*$/ ) { $searchstring = $1; } # "SUNW%PRODUCTNAME-mailcap" -> "mailcap"
-
- my $packagestring = "";
- my $namestring = "";
- my $infoline = "";
-
- if ( $installer::globals::issolarispkgbuild )
- {
- $packagestring = "\<pkgunit";
- $namestring = "pkgName";
- }
- elsif ( $installer::globals::islinuxrpmbuild )
- {
- $packagestring = "\<rpmunit";
- $namestring = "rpmUniqueName";
- }
-
- my $removed_packge = 0;
-
- for ( my $i = 0; $i <= $#{$xmlfile}; $i++ )
- {
- if ( ${$xmlfile}[$i] =~ /^\s*\Q$packagestring\E/ )
- {
- # this is a package, but is it the correct one?
-
- my $do_delete = 0;
- my $linecounter = 1;
- my $startline = $i+1;
- my $line = ${$xmlfile}[$startline];
- if (($line =~ /^\s*\Q$namestring\E\s*\=/) && ($line =~ /\-\Q$searchstring\E/)) { $do_delete = 1; }
-
- # but not deleting fonts package in language packs
- if ( $line =~ /-ONELANGUAGE-/ ) { $do_delete = 0; }
-
- my $endcounter = 0;
-
- while ((!( $line =~ /\/\>/ )) && ( $startline <= $#{$xmlfile} ))
- {
- $linecounter++;
- $startline++;
- $line = ${$xmlfile}[$startline];
- if (($line =~ /^\s*\Q$namestring\E\s*\=/) && ($line =~ /\-\Q$searchstring\E/)) { $do_delete = 1; }
- }
-
- $linecounter = $linecounter + 1;
-
- if ( $do_delete )
- {
- my $infoline = "\tReally removing package $packagename from xml file.\n";
- push( @installer::globals::logfileinfo, $infoline);
- splice(@{$xmlfile},$i, $linecounter); # removing $linecounter lines, beginning in line $i
- $removed_packge = 1;
- last;
- }
- }
- }
-
- if ( $removed_packge )
- {
- $infoline = "Package $packagename successfully removed from xml file.\n";
- push( @installer::globals::logfileinfo, $infoline);
- }
- else
- {
- $infoline = "Did not find package $packagename in xml file.\n";
- push( @installer::globals::logfileinfo, $infoline);
- }
-
-}
-
-##########################################################
-# Removing one component from the xml file
-##########################################################
-
-sub remove_component
-{
- my ($xmlfile, $componentname) = @_;
-
- my @removed_lines = ();
-
- push(@removed_lines, "\n");
-
- for ( my $i = 0; $i <= $#{$xmlfile}; $i++ )
- {
- if ( ${$xmlfile}[$i] =~ /name\s*\=\'\s*$componentname/ )
- {
- # Counting the lines till the second "</component>"
-
- push(@removed_lines, ${$xmlfile}[$i]);
- my $linecounter = 1;
- my $startline = $i+1;
- my $line = ${$xmlfile}[$startline];
- push(@removed_lines, $line);
- my $endcounter = 0;
-
- while ((!( $line =~ /^\s*\<\/component\>\s*$/ )) && ( $startline <= $#{$xmlfile} ))
- {
- $linecounter++;
- $startline++;
- $line = ${$xmlfile}[$startline];
- push(@removed_lines, $line);
- }
-
- $linecounter = $linecounter + 2; # last line and following empty line
-
- splice(@{$xmlfile},$i, $linecounter); # removing $linecounter lines, beginning in line $i
- last;
- }
- }
-
- return \@removed_lines;
-}
-
-##########################################################
-# If this is an installation set without language packs
-# the language pack module can be removed
-##########################################################
-
-sub remove_languagepack_from_xmlfile
-{
- my ($xmlfile) = @_;
-
- # Component begins with "<component selected="true" name='module_languagepacks' componentVersion="${PRODUCTVERSION}">"
- # and ends with "</component>" (the second "</component>" !)
-
- remove_component($xmlfile, "languagepack_DEFAULT");
- remove_component($xmlfile, "languagepack_ONELANGUAGE");
- remove_component($xmlfile, "module_languagepacks");
-}
-
-##########################################################
-# Duplicating a component
-##########################################################
-
-sub duplicate_component
-{
- my ( $arrayref ) = @_;
-
- @newarray = ();
-
- for ( my $i = 0; $i <= $#{$arrayref}; $i++ )
- {
- push(@newarray, ${$arrayref}[$i]);
- }
-
- return \@newarray;
-}
-
-##########################################################
-# Including a component into the xml file
-# at a specified line
-##########################################################
-
-sub include_component_at_specific_line
-{
- my ($xmlfile, $unit, $line) = @_;
-
- splice(@{$xmlfile},$line, 0, @{$unit});
-}
-
-##########################################################
-# Font packages do not exist for all languages.
-##########################################################
-
-sub remove_font_package_from_unit
-{
- my ( $unitcopy, $onelanguage ) = @_;
-
- my $searchstring = "-fonts";
-
- my $packagestring = "";
- my $namestring = "";
-
- if ( $installer::globals::issolarispkgbuild )
- {
- $packagestring = "\<pkgunit";
- $namestring = "pkgName";
- }
- elsif ( $installer::globals::islinuxrpmbuild )
- {
- $packagestring = "\<rpmunit";
- $namestring = "rpmUniqueName";
- }
-
- for ( my $i = 0; $i <= $#{$unitcopy}; $i++ )
- {
- if ( ${$unitcopy}[$i] =~ /^\s*\Q$packagestring\E/ )
- {
- # this is a package, but is it the correct one?
-
- my $do_delete = 0;
- my $linecounter = 1;
- my $startline = $i+1;
- my $line = ${$unitcopy}[$startline];
- if (($line =~ /^\s*\Q$namestring\E\s*\=/) && ($line =~ /\Q$searchstring\E/)) { $do_delete = 1; }
-
- my $endcounter = 0;
-
- while ((!( $line =~ /\/\>/ )) && ( $startline <= $#{$unitcopy} ))
- {
- $linecounter++;
- $startline++;
- $line = ${$unitcopy}[$startline];
- if (($line =~ /^\s*\Q$namestring\E\s*\=/) && ($line =~ /\Q$searchstring\E/)) { $do_delete = 1; }
- }
-
- $linecounter = $linecounter + 1;
-
- if ( $do_delete )
- {
- splice(@{$unitcopy},$i, $linecounter); # removing $linecounter lines, beginning in line $i
- last;
- }
- }
- }
-}
-
-##########################################################
-# If this is an installation set with language packs,
-# modules for each language pack have to be created
-# dynamically
-##########################################################
-
-sub duplicate_languagepack_in_xmlfile
-{
- my ($xmlfile, $languagesarrayref) = @_;
-
- my $unit = remove_component($xmlfile, "languagepack_ONELANGUAGE");
- my $startline = find_component_line($xmlfile, "module_languagepacks");
- my $infoline = "";
- $startline = $startline + 1;
-
- for ( my $i = 0; $i <= $#{$languagesarrayref}; $i++ )
- {
- my $onelanguage = ${$languagesarrayref}[$i];
- my $unitcopy = duplicate_component($unit);
-
- # replacing string ONELANGUAGE in the unit copy
- for ( my $j = 0; $j <= $#{$unitcopy}; $j++ ) { ${$unitcopy}[$j] =~ s/ONELANGUAGE/$onelanguage/g; }
-
- # including the unitcopy into the xml file
- include_component_at_specific_line($xmlfile, $unitcopy, $startline);
- $startline = $startline + $#{$unitcopy} + 1;
- }
-
- # adding the default language as language pack, too
- $unit = remove_component($xmlfile, "languagepack_DEFAULT");
- $startline = find_component_line($xmlfile, "module_languagepacks");
- $startline = $startline + 1;
-
- $onelanguage = ${$languagesarrayref}[0];
- $unitcopy = duplicate_component($unit);
-
- # replacing string DEFAULT in the unit copy
- for ( my $j = 0; $j <= $#{$unitcopy}; $j++ ) { ${$unitcopy}[$j] =~ s/DEFAULT/$onelanguage/g; }
-
- # including the unitcopy into the xml file
- include_component_at_specific_line($xmlfile, $unitcopy, $startline);
- $startline = $startline + $#{$unitcopy} + 1;
-}
-
-#######################################################
-# Removing empty packages from xml file. The names
-# are stored in @installer::globals::emptypackages
-#######################################################
-
-sub remove_empty_packages_in_xmlfile
-{
- my ($xmlfile) = @_;
-
- for ( my $i = 0; $i <= $#installer::globals::emptypackages; $i++ )
- {
- my $packagename = $installer::globals::emptypackages[$i];
- my $infoline = "Try to remove package $packagename from xml file.\n";
- push( @installer::globals::logfileinfo, $infoline);
- remove_package($xmlfile, $packagename);
- }
-}
-
-#######################################################
-# Preparing the language packs in the xml file
-#######################################################
-
-sub prepare_language_pack_in_xmlfile
-{
- my ($xmlfile, $languagesarrayref) = @_;
-
- # if ( ! $installer::globals::is_unix_multi )
- # {
- # remove_languagepack_from_xmlfile($xmlfile);
- # }
- # else
- # {
- duplicate_languagepack_in_xmlfile($xmlfile, $languagesarrayref);
- # }
-
-}
-
-#######################################################
-# Returning a rpm unit from a xml file
-#######################################################
-
-sub get_rpm_unit_from_xmlfile
-{
- my ($rpmname, $xmlfile) = @_;
-
- my $infoline = "Searching for $rpmname in xml file.\n";
- push( @installer::globals::logfileinfo, $infoline);
-
- my @rpmunit = ();
- my $includeline = 0;
- my $record = 0;
- my $foundrpm = 0;
-
- for ( my $i = 0; $i <= $#{$xmlfile}; $i++ )
- {
- my $oneline = ${$xmlfile}[$i];
-
- if ( $oneline =~ /^\s*\<rpmunit/ ) { $record = 1; }
-
- if ( $record ) { push(@rpmunit, $oneline); }
-
- if ( $oneline =~ /^\s*rpmUniqueName\s*=\s*\"\Q$rpmname\E\"\s*$/ ) { $foundrpm = 1; }
-
- if (( $record ) && ( $oneline =~ /\/\>\s*$/ )) { $record = 0; }
-
- if (( ! $foundrpm ) && ( ! $record )) { @rpmunit = (); }
-
- if (( $foundrpm ) && ( ! $record )) { $includeline = $i + 1; }
-
- if (( $foundrpm ) && ( ! $record )) { last; }
- }
-
- if ( ! $foundrpm ) { installer::exiter::exit_program("ERROR: Did not find rpmunit $rpmname in xml file!", "get_rpm_unit_from_xmlfile"); }
-
- $infoline = "Found $rpmname in xml file. Returning block lines: $#rpmunit + 1. Includeline: $includeline \n";
- push( @installer::globals::logfileinfo, $infoline);
-
- return (\@rpmunit, $includeline);
-}
-
-#######################################################
-# Exchanging package names in xml file
-#######################################################
-
-sub exchange_name_in_rpmunit
-{
- my ($rpmunit, $oldpackagename, $newpackagename) = @_;
-
- for ( my $i = 0; $i <= $#{$rpmunit}; $i++ )
- {
- ${$rpmunit}[$i] =~ s/$oldpackagename/$newpackagename/;
- }
-}
-
-#######################################################
-# Preparing link RPMs in the xml file
-#######################################################
-
-sub prepare_linkrpm_in_xmlfile
-{
- my ($xmlfile, $rpmlist) = @_;
-
- for ( my $i = 0; $i <= $#{$rpmlist}; $i++ )
- {
- my $oldpackagename = "";
- my $newpackagename = "";
-
- my $rpmline = ${$rpmlist}[$i];
-
- my $infoline = "Preparing link/patch RPM: $rpmline\n";
- push( @installer::globals::logfileinfo, $infoline);
-
- if ( $rpmline =~ /^\s*(\S.*?\S)\s+(\S.*?\S)\s*$/ )
- {
- $oldpackagename = $1;
- $newpackagename = $2;
- }
-
- my ($rpmunit, $includeline) = get_rpm_unit_from_xmlfile($oldpackagename, $xmlfile);
- exchange_name_in_rpmunit($rpmunit, $oldpackagename, $newpackagename);
- include_component_at_specific_line($xmlfile, $rpmunit, $includeline);
- }
-}
-
-#######################################################################
-# Removing w4w filter module from xml file for Solaris x86 and Linux
-#######################################################################
-
-sub remove_w4w_from_xmlfile
-{
- my ($xmlfile) = @_;
-
- # Component begins with "<component selected='true' name='gid_Module_Prg_Wrt_Flt_W4w' componentVersion="8">"
- # and ends with "</component>"
-
- for ( my $i = 0; $i <= $#{$xmlfile}; $i++ )
- {
- if ( ${$xmlfile}[$i] =~ /name\s*\=\'\s*gid_Module_Prg_Wrt_Flt_W4w/ )
- {
- # Counting the lines till "</component>"
-
- my $linecounter = 1;
- my $startline = $i+1;
- my $line = ${$xmlfile}[$startline];
-
- while ((!( $line =~ /^\s*\<\/component\>\s*$/ )) && ( $startline <= $#{$xmlfile} ))
- {
- $linecounter++;
- $startline++;
- $line = ${$xmlfile}[$startline];
- }
-
- $linecounter = $linecounter + 2; # last line and following empty line
-
- splice(@{$xmlfile},$i, $linecounter); # removing $linecounter lines, beginning in line $i
- last;
- }
- }
-}
-
-#######################################################################
-# Removing module from xml file, if not defined in scp
-#######################################################################
-
-sub remove_scpgid_from_xmlfile
-{
- my ($xmlfile, $scpgid) = @_;
-
- # Component begins with "<component selected='true' name='$scpgid' componentVersion="8">"
- # and ends with "</component>"
-
- my $successfully_removed = 0;
-
- for ( my $i = 0; $i <= $#{$xmlfile}; $i++ )
- {
- if ( ${$xmlfile}[$i] =~ /name\s*\=\'\s*\Q$scpgid\E/ )
- {
- # Counting the lines till "</component>"
-
- my $linecounter = 1;
- my $startline = $i+1;
- my $line = ${$xmlfile}[$startline];
-
- while ((!( $line =~ /^\s*\<\/component\>\s*$/ )) && ( $startline <= $#{$xmlfile} ))
- {
- $linecounter++;
- $startline++;
- $line = ${$xmlfile}[$startline];
- }
-
- $linecounter = $linecounter + 2; # last line and following empty line
-
- splice(@{$xmlfile},$i, $linecounter); # removing $linecounter lines, beginning in line $i
- $successfully_removed = 1;
- last;
- }
- }
-
- my $infoline = "";
- if ($successfully_removed)
- {
- $infoline = "Module $scpgid successfully removed from xml file.\n";
- push( @installer::globals::logfileinfo, $infoline);
- }
- else
- {
- $infoline = "Module $scpgid not found in xml file (no problem).\n";
- push( @installer::globals::logfileinfo, $infoline);
- }
-}
-
-#######################################################################
-# Special mechanism for removing modules for xml file, if they are
-# not defined in scp (introduced for onlineupdate module).
-#######################################################################
-
-sub remove_module_if_not_defined
-{
- my ($xmlfile, $modulesarrayref, $scpgid) = @_;
-
- my $infoline = "Checking existence of $scpgid in scp definition\n";
- push( @installer::globals::logfileinfo, $infoline);
-
- my $found = 0;
-
- for ( my $i = 0; $i <= $#{$modulesarrayref}; $i++ )
- {
- my $onemodule = ${$modulesarrayref}[$i];
- if ( $onemodule->{'gid'} eq $scpgid ) { $found = 1; }
- if ( $found ) { last; }
- }
-
- if ( ! $found )
- {
- $infoline = "Module $scpgid not found -> Removing from xml file.\n";
- push( @installer::globals::logfileinfo, $infoline);
- remove_scpgid_from_xmlfile($xmlfile, $scpgid);
- }
-}
-
-###########################################################
-# Preparing the package subdirectory
-###########################################################
-
-sub create_empty_packages
-{
- my ( $xmlfile ) = @_;
-
- if ( $installer::globals::issolarispkgbuild )
- {
- my $path = "";
-
- for ( my $i = 0; $i <= $#{$xmlfile}; $i++ )
- {
- if ( ${$xmlfile}[$i] =~ /pkgRelativePath\s*\=\s*\'(.*?)\'\s*$/ )
- {
- $path = $1;
- installer::systemactions::create_directory_structure($path);
- last; # only creating one path
- }
- }
-
- for ( my $i = 0; $i <= $#{$xmlfile}; $i++ )
- {
- if ( ${$xmlfile}[$i] =~ /pkgName\s*\=\s*\'(.*?)\'\s*$/ )
- {
- my $pkgname = $1;
- if ( $path ne "" ) { $pkgname = $path . $installer::globals::separator . $pkgname; }
- installer::systemactions::create_directory_structure($pkgname);
- }
- }
- }
-
- # "-novalidate" does not work for Linux RPMs
-
- if ( $installer::globals::islinuxrpmbuild )
- {
- for ( my $i = 0; $i <= $#{$xmlfile}; $i++ )
- {
- if ( ${$xmlfile}[$i] =~ /rpmPath\s*\=\s*\"(.*?)\"\s*$/ )
- {
- my $rpmpath = $1;
- my $path = "";
-
- if ( $rpmpath =~ /^\s*(.*)\/(.*?)\s*$/ )
- {
- $path = $1;
- }
-
- if ( $path ne "" ) { installer::systemactions::create_directory_structure($path); }
-
- my $systemcall = "touch $rpmpath"; # creating empty rpm
- system($systemcall);
- }
- }
- }
-}
-
-###########################################################
-# Reading the archive file name from the xml file
-###########################################################
-
-sub get_archivefilename
-{
- my ( $xmlfile ) = @_;
-
- my $archivefilename = "";
-
- for ( my $j = 0; $j <= $#{$xmlfile}; $j++ )
- {
- if ( ${$xmlfile}[$j] =~ /archiveFileName\s*=\s*\'(.*?)\'/ )
- {
- $archivefilename = $1;
- last;
- }
- }
-
- return $archivefilename;
-}
-
-#######################################################
-# Copying the loader locally
-#######################################################
-
-sub copy_setup_locally
-{
- my ($includepatharrayref, $loadername, $newname) = @_;
-
- my $loadernameref = installer::scriptitems::get_sourcepath_from_filename_and_includepath(\$loadername, $includepatharrayref, 0);
-
- if ($$loadernameref eq "") { installer::exiter::exit_program("ERROR: Could not find Java loader $loadername!", "copy_setup_locally"); }
-
- installer::systemactions::copy_one_file($$loadernameref, $newname);
- my $localcall = "chmod 775 $newname \>\/dev\/null 2\>\&1";
- system($localcall);
-}
-
-
-#######################################################
-# Copying the loader into the installation set
-#######################################################
-
-sub put_loader_into_installset
-{
- my ($installdir, $filename) = @_;
-
- my $installname = $installdir . $installer::globals::separator . $filename;
-
- installer::systemactions::copy_one_file($filename, $installname);
-
- my $localcall = "chmod 775 $installname \>\/dev\/null 2\>\&1";
- system($localcall);
-}
-
-#################################################################
-# Setting for Solaris the package names in the Java translation
-# file. The name is used for the
-# This name is displayed tools like prodreg.
-# Unfortunately this name in the component is also used
-# in the translation template file for the module name
-# and module description translations.
-#################################################################
-
-sub replace_component_name_in_java_file
-{
- my ($alljavafiles, $oldname, $newname) = @_;
-
- # The new name must not contain white spaces
-
- $newname =~ s/ /\_/g;
-
- for ( my $i = 0; $i <= $#{$alljavafiles}; $i++ )
- {
- my $javafilename = ${$alljavafiles}[$i];
- my $javafile = installer::files::read_file($javafilename);
-
- my $oldstring = "ComponentDescription-" . $oldname;
- my $newstring = "ComponentDescription-" . $newname;
-
- for ( my $j = 0; $j <= $#{$javafile}; $j++ ) { ${$javafile}[$j] =~ s/\b$oldstring\b/$newstring/; }
-
- $oldstring = $oldname . "-install-DisplayName";
- $newstring = $newname . "-install-DisplayName";
-
- for ( my $j = 0; $j <= $#{$javafile}; $j++ ) { ${$javafile}[$j] =~ s/\b$oldstring\b/$newstring/; }
-
- $oldstring = $oldname . "-uninstall-DisplayName";
- $newstring = $newname . "-uninstall-DisplayName";
-
- for ( my $j = 0; $j <= $#{$javafile}; $j++ ) { ${$javafile}[$j] =~ s/\b$oldstring\b/$newstring/; }
-
- installer::files::save_file($javafilename, $javafile);
- $infoline = "Changes in Java file: $javafilename : $oldname \-\> $newname\n";
- push( @installer::globals::logfileinfo, $infoline);
- }
-}
-
-#################################################################
-# Some module names are not defined in the scp project.
-# The names for this modules are searched in the base Java
-# translation file.
-#################################################################
-
-sub get_module_name_from_basejavafile
-{
- my ($componentname, $javatemplateorigfile, $ulffile) = @_;
-
- my $searchname = $componentname . "-install-DisplayName";
- my $modulename = "";
- my $replacename = "";
-
- # line content: { "coremodule-install-DisplayName", "OOO_INSTALLSDK_117" },
-
- for ( my $i = 0; $i <= $#{$javatemplateorigfile}; $i++ )
- {
- if ( ${$javatemplateorigfile}[$i] =~ /\"\s*\Q$searchname\E\s*\"\s*\,\s*\"\s*(.*?)\s*\"\s*\}\s*\,\s*$/ )
- {
- $replacename = $1;
- last;
- }
- }
-
- if ( $replacename ne "" )
- {
- my $language_block = get_language_block_from_language_file($replacename, $ulffile);
- $modulename = get_language_string_from_language_block($language_block, "en-US", $replacename);
- }
-
- return $modulename;
-}
-
-#################################################################
-# Setting for Solaris the package names in the xml file.
-# This name is displayed tools like prodreg.
-# Unfortunately this name in the component is also used
-# in the translation template file for the module name
-# and module description translations.
-#################################################################
-
-sub replace_component_names
-{
- my ($xmlfile, $templatefilename, $modulesarrayref, $javatemplateorigfile, $ulffile) = @_;
-
- # path in which all java languages files are located
-
- my $javafilesdir = $templatefilename;
- installer::pathanalyzer::get_path_from_fullqualifiedname(\$javafilesdir);
- my $alljavafiles = installer::systemactions::find_file_with_file_extension("java", $javafilesdir);
- for ( my $i = 0; $i <= $#{$alljavafiles}; $i++ ) { ${$alljavafiles}[$i] = $javafilesdir . ${$alljavafiles}[$i]; }
-
- # analyzing the xml file
-
- for ( my $i = 0; $i <= $#{$xmlfile}; $i++ )
- {
- my $newstring = "";
- my $componentname = "";
-
- if ( ${$xmlfile}[$i] =~ /\bcomponent\b.*\bname\s*\=\'\s*(.*?)\s*\'/ )
- {
- $componentname = $1;
-
- # Getting module name from the scp files in $modulesarrayref
-
- my $onelanguage = "en-US";
- my $gid = $componentname;
- my $type = "Name";
-
- my $modulename = "";
- $modulename = get_module_name_description($modulesarrayref, $onelanguage, $gid, $type);
-
- if ( $modulename eq "" )
- {
- $infoline = "Info: Modulename for $gid not defined in modules collector. Looking in Java ulf file.\n";
- push( @installer::globals::logfileinfo, $infoline);
- }
-
- if ( $modulename eq "" ) # the modulename can also be set in the Java ulf file
- {
- $modulename = get_module_name_from_basejavafile($componentname, $javatemplateorigfile, $ulffile);
- }
-
- if ( $modulename ne "" ) # only do something, if the modulename was found
- {
- ${$xmlfile}[$i] =~ s/$componentname/$modulename/;
-
- $infoline = "Replacement in xml file (Solaris): $componentname \-\> $modulename\n";
- push( @installer::globals::logfileinfo, $infoline);
-
- # Replacement has to be done in all Java language files
- replace_component_name_in_java_file($alljavafiles, $componentname, $modulename);
- }
-
- if ( $modulename eq "" ) # the modulename can also be set in the Java ulf file
- {
- $infoline = "WARNING: No replacement in xml file for component: $componentname\n";
- push( @installer::globals::logfileinfo, $infoline);
- }
- }
- }
-}
-
-#############################################################################
-# Collecting all packages or rpms located in the installation directory
-#############################################################################
-
-sub get_all_packages_in_installdir
-{
- my ($installdir, $subdir) = @_;
-
- my $infoline = "";
-
- my @allrpms = (); # not needed for Solaris at the moment
- my $allrpms = \@allrpms;
-
- $installdir =~ s/\Q$installer::globals::separator\E\s*$//;
- my $directory = $installdir . $installer::globals::separator . $subdir;
- $directory =~ s/\Q$installer::globals::separator\E\s*$//;
-
- if ( $installer::globals::islinuxrpmbuild )
- {
- $allrpms = installer::systemactions::find_file_with_file_extension("rpm", $directory);
-
- # collecting rpms with the complete path
-
- for ( my $i = 0; $i <= $#{$allrpms}; $i++ )
- {
- ${$allrpms}[$i] = $directory . $installer::globals::separator . ${$allrpms}[$i];
- $infoline = "Found RPM: ${$allrpms}[$i]\n";
- push( @installer::globals::logfileinfo, $infoline);
- }
- }
-
- return $allrpms;
-}
-
-#######################################################
-# Adding the values of the array
-#######################################################
-
-sub do_sum
-{
- my ( $allnumbers ) = @_;
-
- my $sum = 0;
-
- for ( my $i = 0; $i <= $#{$allnumbers}; $i++ )
- {
- $sum = $sum + ${$allnumbers}[$i];
- }
-
- return $sum;
-}
-
-#######################################################
-# Setting the filesize for the RPMs in the xml file
-#######################################################
-
-sub set_filesize_in_xmlfile
-{
- my ($filesize, $rpmname, $xmlfile) = @_;
-
- my $infoline = "";
- my $foundrpm = 0;
- my $filesizeset = 0;
-
- for ( my $i = 0; $i <= $#{$xmlfile}; $i++ )
- {
- my $line = ${$xmlfile}[$i];
-
- # searching for "rpmPath="RPMS/${UNIXPRODUCTNAME}-core01-${PACKAGEVERSION}-${PACKAGEREVISION}.i586.rpm""
-
- if (( $line =~ /rpmPath\s*=/ ) && ( $line =~ /\Q$rpmname\E\"\s*$/ ))
- {
- $foundrpm = 1;
-
- my $number = $i;
- $number++;
-
- while ( ! ( ${$xmlfile}[$number] =~ /\/\>\s*$/ ))
- {
- if ( ${$xmlfile}[$number] =~ /FILESIZEPLACEHOLDER/ )
- {
- ${$xmlfile}[$number] =~ s/FILESIZEPLACEHOLDER/$filesize/;
- $filesizeset = 1;
- $infoline = "Setting filesize for $rpmname : $filesize\n";
- push( @installer::globals::logfileinfo, $infoline);
- last;
- }
-
- $number++;
- }
-
- last;
- }
- }
-
- if ( ! $foundrpm )
- {
- $infoline = "ERROR: Did not find $rpmname in xml file !\n";
- push( @installer::globals::logfileinfo, $infoline);
- }
-
- if ( ! $filesizeset )
- {
- $infoline = "ERROR: Did not set filesize for $rpmname in xml file !\n";
- push( @installer::globals::logfileinfo, $infoline);
- }
-}
-
-############################################################
-# Collecting all rpmUniqueName in xml file.
-############################################################
-
-sub collect_uniquenames_in_xmlfile
-{
- my ($xmlfile) = @_;
-
- my @rpmuniquenames = ();
-
- for ( my $i = 0; $i <= $#{$xmlfile}; $i++ )
- {
- my $oneline = ${$xmlfile}[$i];
-
- if ( $oneline =~ /^\s*rpmUniqueName\s*\=\s*\"(.*)\"\s*$/ )
- {
- my $rpmuniquename = $1;
- push(@rpmuniquenames, $rpmuniquename)
- }
- }
-
- return \@rpmuniquenames;
-}
-
-############################################################
-# Searching for the corresponding rpm, that fits to
-# the unique rpm name.
-# Simple mechanism: The name of the rpm starts with the
-# unique rpm name followed by a "-".
-############################################################
-
-sub find_rpmname_to_uniquename
-{
- my ($uniquename, $listofpackages) = @_;
-
- my @all_correct_rpms = ();
- my $infoline = "";
-
- # special handling for java RPMs, which have a very strange naming schema
- my $localuniquename = $uniquename;
- if ( $uniquename =~ /^\s*jre\-/ ) { $localuniquename = "jre"; }
-
- for ( my $i = 0; $i <= $#{$listofpackages}; $i++ )
- {
- my $completerpmname = ${$listofpackages}[$i];
- my $rpmname = $completerpmname;
- installer::pathanalyzer::make_absolute_filename_to_relative_filename(\$rpmname);
-
- if ( $rpmname =~ /^\s*\Q$localuniquename\E\-\d/ ) { push(@all_correct_rpms, $rpmname); }
- }
-
- # @all_correct_rpms has to contain exactly one value
-
- if ( $#all_correct_rpms > 0 )
- {
- my $number = $#all_correct_rpms + 1;
- $infoline = "There are $number RPMs for the unique name \"$uniquename\" :\n";
- push( @installer::globals::logfileinfo, $infoline);
- my $allrpmstring = "";
- for ( my $i = 0; $i <= $#all_correct_rpms; $i++ ) { $allrpmstring = $allrpmstring . $all_correct_rpms[$i] . "\n"; }
- push( @installer::globals::logfileinfo, $allrpmstring);
- installer::exiter::exit_program("ERROR: Found $number RPMs that start with unique name \"$uniquename\". Only one allowed!", "find_rpmname_to_uniquename");
- }
-
- if ( $#all_correct_rpms < 0 )
- {
- $infoline = "There is no rpm for the unique name \"$uniquename\"\n";
- push( @installer::globals::logfileinfo, $infoline);
- installer::exiter::exit_program("ERROR: There is no RPM that start with unique name \"$uniquename\"!", "find_rpmname_to_uniquename");
- }
-
- if ( $#all_correct_rpms == 0 )
- {
- $infoline = "Found one rpm for the unique name \"$uniquename\" : $all_correct_rpms[0]\n";
- push( @installer::globals::logfileinfo, $infoline);
- }
-
- return $all_correct_rpms[0];
-}
-
-#######################################################
-# Including the complete RPM name into the xml file
-#######################################################
-
-sub set_rpmname_into_xmlfile
-{
- my ($rpmname, $uniquename, $xmlfile) = @_;
-
- my $foundrpm = 0;
- my $rpmnameset = 0;
-
- for ( my $i = 0; $i <= $#{$xmlfile}; $i++ )
- {
- my $oneline = ${$xmlfile}[$i];
-
- if ( $oneline =~ /^\s*rpmUniqueName\s*\=\s*\"\Q$uniquename\E\"\s*$/ )
- {
- $foundrpm = 1;
-
- my $number = $i;
- $number++;
-
- while ( ! ( ${$xmlfile}[$number] =~ /\/\>\s*$/ ))
- {
- if ( ${$xmlfile}[$number] =~ /RPMFILENAMEPLACEHOLDER/ )
- {
- ${$xmlfile}[$number] =~ s/RPMFILENAMEPLACEHOLDER/$rpmname/;
- $rpmnameset = 1;
- $infoline = "Setting RPM name for $uniquename : $rpmname\n";
- push( @installer::globals::logfileinfo, $infoline);
- last;
- }
-
- $number++;
- }
-
- last;
- }
- }
-
- if ( ! $foundrpm )
- {
- $infoline = "ERROR: Did not find $rpmname in xml file !\n";
- push( @installer::globals::logfileinfo, $infoline);
- }
-
- if ( ! $rpmnameset )
- {
- $infoline = "ERROR: Did not set rpm name for $uniquename in xml file !\n";
- push( @installer::globals::logfileinfo, $infoline);
- }
-
-}
-
-############################################################
-# Including the rpm path dynamically into the xml file.
-# This is introduced, because system integration has
-# variable PackageVersion and PackageRevision in xml file.
-############################################################
-
-sub put_rpmpath_into_xmlfile
-{
- my ($xmlfile, $listofpackages) = @_;
-
- my $infoline = "";
-
- my $alluniquenames = collect_uniquenames_in_xmlfile($xmlfile);
-
- my $number = $#{$listofpackages} + 1;
- $infoline = "Number of packages in installation set: $number\n";
- push( @installer::globals::logfileinfo, $infoline);
- $number = $#{$alluniquenames} + 1;
- $infoline = "Number of unique RPM names in xml file: $number\n";
- push( @installer::globals::logfileinfo, $infoline);
-
- $infoline = "\nPackages in installation set:\n";
- push( @installer::globals::logfileinfo, $infoline);
- for ( my $i = 0; $i <= $#{$listofpackages}; $i++ )
- {
- $infoline = "${$listofpackages}[$i]\n";
- push( @installer::globals::logfileinfo, $infoline);
- }
-
- $infoline = "\nUnique RPM names in xml file:\n";
- push( @installer::globals::logfileinfo, $infoline);
- for ( my $i = 0; $i <= $#{$alluniquenames}; $i++ )
- {
- $infoline = "${$alluniquenames}[$i]\n";
- push( @installer::globals::logfileinfo, $infoline);
- }
-
- if ( $#{$alluniquenames} != $#{$listofpackages} ) { installer::exiter::exit_program("ERROR: xml file contains $#{$alluniquenames} unique names, but there are $#{$listofpackages} packages in installation set!", "put_rpmpath_into_xmlfile"); }
-
- for ( my $i = 0; $i <= $#{$alluniquenames}; $i++ )
- {
- my $uniquename = ${$alluniquenames}[$i];
- my $rpmname = find_rpmname_to_uniquename($uniquename, $listofpackages);
- set_rpmname_into_xmlfile($rpmname, $uniquename, $xmlfile);
- }
-}
-
-#######################################################
-# Including the file size of the rpms into the
-# xml file
-#######################################################
-
-sub put_filesize_into_xmlfile
-{
- my ($xmlfile, $listofpackages) = @_;
-
- my $infoline = "";
-
- for ( my $i = 0; $i <= $#{$listofpackages}; $i++ )
- {
- my $completerpmname = ${$listofpackages}[$i];
- my $rpmname = $completerpmname;
- installer::pathanalyzer::make_absolute_filename_to_relative_filename(\$rpmname);
-
- if ( ! $installer::globals::rpmquerycommand ) { installer::exiter::exit_program("ERROR: rpm not found for querying packages!", "put_filesize_into_xmlfile"); }
- my $systemcall = "$installer::globals::rpmquerycommand -qp --queryformat \"\[\%\{FILESIZES\}\\n\]\" $completerpmname 2\>\&1 |";
- my $rpmout = make_systemcall($systemcall, 0);
- my $filesize = do_sum($rpmout);
-
- $infoline = "Filesize $rpmname : $filesize\n";
- push( @installer::globals::logfileinfo, $infoline);
-
- set_filesize_in_xmlfile($filesize, $rpmname, $xmlfile);
- }
-}
-
-#######################################################
-# Creating the java installer class file dynamically
-#######################################################
-
-sub create_java_installer
-{
- my ( $installdir, $newdir, $languagestringref, $languagesarrayref, $allvariableshashref, $includepatharrayref, $modulesarrayref ) = @_;
-
- installer::logger::include_header_into_logfile("Creating Java installer:");
-
- my $infoline = "";
-
- # collecting all packages or rpms located in the installation directory
- my $listofpackages = get_all_packages_in_installdir($installdir, $newdir);
-
- # creating the directory
- my $javadir = installer::systemactions::create_directories("javainstaller", $languagestringref);
- $javadir =~ s/\/\s*$//;
-# push(@installer::globals::removedirs, $javadir);
-
- # copying the content from directory install_sdk into the java directory
-
- my $projectroot = "";
- if ( $ENV{'PRJ'} ) { $projectroot = $ENV{'PRJ'}; }
- else { installer::exiter::exit_program("ERROR: Environment variable PRJ not set", "create_java_installer"); }
-
- $projectroot =~ s/\/\s*$//;
- my $sourcedir = "$projectroot/inc_global/unix/install_sdk";
- installer::systemactions::copy_complete_directory_without_cvs($sourcedir, $javadir);
-
- # determining the java template file
-
- my $templatefilename = $javadir . $installer::globals::separator . "locale/resources/MyResources_template.java";
-
- # Saving the content of the template file. It is used in the xml files
-
- my $javatemplateorigfile = installer::files::read_file($templatefilename);
-
- # determining the ulf language file
-
- # my $ulffilename = "installsdk.ulf";
- my $ulffilename = "installsdk.jlf";
- $ulffilename = $installer::globals::javalanguagepath . $installer::globals::separator . $ulffilename;
- my $ulffile = installer::files::read_file($ulffilename);
-
- $infoline = "\nReading ulf file: $ulffilename\n";
- push( @installer::globals::logfileinfo, $infoline);
-
- $infoline = "Translating the Java template file\n";
- push( @installer::globals::logfileinfo, $infoline);
-
- for ( my $i = 0; $i <= $#{$languagesarrayref}; $i++ )
- {
- my $onelanguage = ${$languagesarrayref}[$i];
-
- # replacing all strings in the Java file with content of ulf files
-
- my $templatefile = installer::files::read_file($templatefilename);
-
- set_component_name_and_description($templatefile, $modulesarrayref, $onelanguage);
- translate_javafile($templatefile, $ulffile, $onelanguage);
-
- # adding the license file into the Java file
-
- my $licensefilesource = get_licensefilesource($onelanguage, $includepatharrayref);
- my $licensefile = installer::files::read_file($licensefilesource);
- add_license_file_into_javafile($templatefile, $licensefile, $includepatharrayref, $javadir, $onelanguage);
-
- # setting productname and productversion
-
- set_productname_and_productversion($templatefile, $allvariableshashref);
-
- # setting the class name in the java file ( "MyResources_TEMPLATE" -> "MyResources_en" )
-
- # if ( $onelanguage =~ /^\s*(\w+)\-(\w+)\s*$/ ) { $onelanguage = $1; }
- $onelanguage =~ s/en-US/en/; # java file name and class name contain only "_en"
- $onelanguage =~ s/\-/\_/; # "pt-BR" -> "pt_BR"
- my $classfilename = "MyResources_" . $onelanguage;
- set_classfilename($templatefile, $classfilename, "MyResources_TEMPLATE");
-
- # saving the new file
-
- my $newfilename = $templatefilename;
- $newfilename =~ s/_template\.java\s*$/_$onelanguage\.java/;
-
- installer::files::save_file($newfilename, $templatefile);
-
- $infoline = "Saving Java file: $newfilename\n";
- push( @installer::globals::logfileinfo, $infoline);
- }
-
- # renaming one language java file to "MyResources.java"
-
- my $baselanguage = installer::languages::get_default_language($languagesarrayref);
- $baselanguage =~ s/\-/\_/; # "pt-BR" -> "pt_BR"
- $baselanguage =~ s/en_US/en/; # java file name and class name contain only "_en"
- # if ( $baselanguage =~ /^\s*(\w+)\-(\w+)\s*$/ ) { $baselanguage = $1; } # java file name and class name contain only "_en"
- # $baselanguage =~ s/en-US/en/; # java file name and class name contain only "_en"
- my $baselanguagefilename = $javadir . $installer::globals::separator . "locale/resources/MyResources_" . $baselanguage . "\.java";
- my $basedestfilename = $javadir . $installer::globals::separator . "locale/resources/MyResources.java";
- installer::systemactions::copy_one_file($baselanguagefilename, $basedestfilename);
-
- # setting the class file name also for the base class
-
- my $basetemplatefile = installer::files::read_file($basedestfilename);
- my $oldclassfilename = $baselanguagefilename;
- installer::pathanalyzer::make_absolute_filename_to_relative_filename(\$oldclassfilename);
- $oldclassfilename =~ s/\.java//;
- my $newclassfilename = $basedestfilename;
- installer::pathanalyzer::make_absolute_filename_to_relative_filename(\$newclassfilename);
- $newclassfilename =~ s/\.java//;
-
- set_classfilename($basetemplatefile, $newclassfilename, $oldclassfilename);
-
- installer::files::save_file($basedestfilename, $basetemplatefile);
-
- $infoline = "Created base Java file: $basedestfilename\n";
- push( @installer::globals::logfileinfo, $infoline);
-
- # deleting the template file
-
- unlink($templatefilename);
-
- $infoline = "Deleted template Java resource file: $templatefilename\n";
- push( @installer::globals::logfileinfo, $infoline);
-
- # changing into Java directory
-
- my $from = cwd();
-
- chdir($javadir);
-
- $infoline = "Changing into directory: $javadir\n";
- push( @installer::globals::logfileinfo, $infoline);
-
- # preparing the xml file
-
- my $xmlfilename = "";
- my $subdir = "";
-
- if ( $installer::globals::issolarispkgbuild )
- {
- $xmlfilename = "pkgUnit.xml";
- }
- elsif ( $installer::globals::islinuxrpmbuild )
- {
- $xmlfilename = "rpmUnit.xml";
- }
- else
- {
- installer::exiter::exit_program("ERROR: No platform for Install SDK", "create_java_installer");
- }
-
- # reading, editing and saving the xmlfile
-
- my $xmlfile = installer::files::read_file($xmlfilename);
- prepare_language_pack_in_xmlfile($xmlfile, $languagesarrayref);
- my $xmlfilename2 = $xmlfilename . ".test2";
- installer::files::save_file($xmlfilename2, $xmlfile);
- remove_empty_packages_in_xmlfile($xmlfile);
- my $xmlfilename3 = $xmlfilename . ".test3";
- installer::files::save_file($xmlfilename3, $xmlfile);
- substitute_variables($xmlfile, $allvariableshashref);
- if (( $installer::globals::islinuxrpmbuild ) && ( $#installer::globals::linkrpms > -1 )) { prepare_linkrpm_in_xmlfile($xmlfile,\@installer::globals::linkrpms); }
- if ( $installer::globals::issolarisx86build || $installer::globals::islinuxbuild ) { remove_w4w_from_xmlfile($xmlfile); }
- remove_module_if_not_defined($xmlfile, $modulesarrayref, "gid_Module_Optional_Onlineupdate");
- replace_component_names($xmlfile, $templatefilename, $modulesarrayref, $javatemplateorigfile, $ulffile);
- my $xmlfilename4 = $xmlfilename . ".test4";
- installer::files::save_file($xmlfilename4, $xmlfile);
- if ( $installer::globals::islinuxrpmbuild ) { put_rpmpath_into_xmlfile($xmlfile, $listofpackages); }
- if ( $installer::globals::islinuxrpmbuild ) { put_filesize_into_xmlfile($xmlfile, $listofpackages); }
- installer::files::save_file($xmlfilename, $xmlfile);
- $infoline = "Saving xml file: $xmlfilename\n";
- push( @installer::globals::logfileinfo, $infoline);
-
- # Setting the classpath and starting compiler
-
- set_classpath_for_install_sdk($javadir);
-
- # creating class files:
- # language class file, dialog class files, installer class file
-
- my $jdkpath = "";
- if ( $ENV{'JDKPATH'} ) { $jdkpath = $ENV{'JDKPATH'}; }
-
- my $javac = "javac";
- if ( $jdkpath ) { $javac = $jdkpath . $installer::globals::separator . $javac; }
-
- my $systemcall = "$javac locale\/resources\/\*\.java 2\>\&1 |";
- make_systemcall($systemcall, 1);
-
- $systemcall = "$javac com\/sun\/staroffice\/install\/\*\.java 2\>\&1 |";
- make_systemcall($systemcall, 1);
-
- # making subdirectory creating empty packages
- create_empty_packages($xmlfile);
-
- # Copy "jresetup" from solver locally to include it into the classfile
- # Copy "jresetup" from solver to installdir
-
- my $setupname = "jresetup";
- my $newname = "setup";
- copy_setup_locally($includepatharrayref, $setupname, $newname);
-
- my $java = "java";
- if ( $jdkpath ) { $java = $jdkpath . $installer::globals::separator . $java; }
-
- $systemcall = "$java com.sun.setup.builder.InstallBuilder $xmlfilename -novalidate 2\>\&1 |";
- make_systemcall($systemcall, 1);
-
- # copying the newly created classfile into the installation set
-
- my $archivefilename = get_archivefilename($xmlfile);
- $archivefilename = $archivefilename . ".class";
-
- if ( ! -f $archivefilename ) { installer::exiter::exit_program("ERROR: Could not find Java class file $archivefilename!", "create_java_installer"); }
-
- installer::systemactions::copy_one_file($archivefilename, $installdir);
-
- # Adding the loader into the installation set. The name of the loader is setup.
- put_loader_into_installset($installdir, $newname);
-
- chdir($from);
-
- $infoline = "Changing into directory: $from\n";
- push( @installer::globals::logfileinfo, $infoline);
-}
-
-1;
diff --git a/solenv/bin/modules/installer/languagepack.pm b/solenv/bin/modules/installer/languagepack.pm
index ded5bc3d2e21..2108c17ae724 100644
--- a/solenv/bin/modules/installer/languagepack.pm
+++ b/solenv/bin/modules/installer/languagepack.pm
@@ -82,33 +82,6 @@ sub select_language_items
if ( $specificlanguage eq $onelanguage )
{
- # $oneitem->{'modules'} = $installer::globals::rootmodulegid; # all files in a language pack are root files
- # Using $installer::globals::languagemodulesbase (?)
-
-# # no more automatic change of module assignments
-# $oneitem->{'modules'} = $installer::globals::rootmodulegid . "_$locallang"; # all files in a language pack are root files
-#
-# if (( $installer::globals::islinuxbuild ) || ( $installer::globals::issolarispkgbuild ))
-# {
-# if ( $oneitem->{'Dir'} )
-# {
-# if ( $oneitem->{'Dir'} eq "gid_Dir_Fonts_Truetype" ) { $oneitem->{'modules'} = "gid_Module_Langpack_Fonts_$locallang"; }
-# if ( $oneitem->{'Dir'} eq "gid_Dir_Resource" ) { $oneitem->{'modules'} = "gid_Module_Langpack_Resource_$locallang"; }
-# if ( $oneitem->{'Dir'} eq "gid_Dir_Help_Isolanguage" ) { $oneitem->{'modules'} = "gid_Module_Langpack_Help_$locallang"; }
-# }
-# }
-
- # preparing different modules for Windows Installer language packs
- # my $underlinelanguage = $specificlanguage;
- # $underlinelanguage =~ s/-/_/;
- # if ( $installer::globals::iswindowsbuild ) { $oneitem->{'modules'} = $installer::globals::languagemodulesbase . $underlinelanguage; }
-
-# # no more collecting of language pack feature
-# if (! installer::existence::exists_in_array($oneitem->{'modules'}, \@installer::globals::languagepackfeature))
-# {
-# push(@installer::globals::languagepackfeature, $oneitem->{'modules'}); # Collecting all language pack feature
-# }
-
push(@itemsarray, $oneitem);
}
}
@@ -195,20 +168,6 @@ sub get_packagename_from_packagelist
{
my ( $alldirs, $allvariables, $languagestringref ) = @_;
- # my $packagename = "";
-
- # for ( my $i = 0; $i <= $#{$alldirs}; $i++ )
- # {
- # if ( ${$alldirs}[$i] =~ /-fonts/ ) { next; }
- # if ( ${$alldirs}[$i] =~ /-help/ ) { next; }
- # if ( ${$alldirs}[$i] =~ /-res/ ) { next; }
- #
- # $packagename = ${$alldirs}[$i];
- # last;
- # }
-
- # if ( $packagename eq "" ) { installer::exiter::exit_program("ERROR: Could not find base package in directory $installdir!", "get_packagename_from_packagelist"); }
-
my $localproductname = $allvariables->{'PRODUCTNAME'};
$localproductname = lc($localproductname);
$localproductname =~ s/ //g;
@@ -232,14 +191,14 @@ sub determine_packagename
my $packagename = "";
my $allnames = "";
- if ( $installer::globals::islinuxrpmbuild )
+ if ( $installer::globals::isrpmbuild )
{
# determining the rpm file in directory $installdir
my $fileextension = "rpm";
my $rpmfiles = installer::systemactions::find_file_with_file_extension($fileextension, $installdir);
if ( ! ( $#{$rpmfiles} > -1 )) { installer::exiter::exit_program("ERROR: Could not find package in directory $installdir!", "determine_packagename"); }
- my $rpmsav = installer::converter::copy_array_from_references($rpmfiles);
+ my $rpmsav = [@{$rpmfiles}];
for ( my $i = 0; $i <= $#{$rpmfiles}; $i++ ) { installer::pathanalyzer::make_absolute_filename_to_relative_filename(\${$rpmfiles}[$i]); }
$packagename = get_packagename_from_packagelist($rpmfiles, $allvariables, $languagestringref);
@@ -261,7 +220,7 @@ sub determine_packagename
my $alldirs = installer::systemactions::get_all_directories($installdir);
if ( ! ( $#{$alldirs} > -1 )) { installer::exiter::exit_program("ERROR: Could not find package in directory $installdir!", "determine_packagename"); }
- my $alldirssav = installer::converter::copy_array_from_references($alldirs);
+ my $alldirssav = [@{$alldirs}];
for ( my $i = 0; $i <= $#{$alldirs}; $i++ ) { installer::pathanalyzer::make_absolute_filename_to_relative_filename(\${$alldirs}[$i]); }
$packagename = get_packagename_from_packagelist($alldirs, $allvariables, $languagestringref);
@@ -295,13 +254,13 @@ sub put_packagename_into_script
if ( $installer::globals::issolarisbuild ) { $installline = " /usr/sbin/pkgadd -d \$outdir -a \$adminfile"; }
- if ( $installer::globals::islinuxrpmbuild ) { $installline = " rpm --prefix \$PRODUCTINSTALLLOCATION --replacepkgs -i"; }
+ if ( $installer::globals::isrpmbuild ) { $installline = " rpm --prefix \$PRODUCTINSTALLLOCATION --replacepkgs -i"; }
for ( my $i = 0; $i <= $#{$allnames}; $i++ )
{
if ( $installer::globals::issolarisbuild ) { $installline = $installline . " ${$allnames}[$i]"; }
- if ( $installer::globals::islinuxrpmbuild ) { $installline = $installline . " \$outdir/${$allnames}[$i]"; }
+ if ( $installer::globals::isrpmbuild ) { $installline = $installline . " \$outdir/${$allnames}[$i]"; }
}
for ( my $j = 0; $j <= $#{$scriptfile}; $j++ )
@@ -411,9 +370,6 @@ sub determine_scriptfile_name
my $scriptfilename = $packagename;
-# if ( $installer::globals::islinuxrpmbuild ) { $scriptfilename =~ s/\.rpm\s*$/\.sh/; }
-# if ( $installer::globals::issolarisbuild ) { $scriptfilename =~ s/\.tar\.gz\s*$/\.sh/; }
-
$scriptfilename =~ s/\.tar\.gz\s*$/\.sh/;
my $infoline = "Setting language pack script file name to $scriptfilename\n";
@@ -466,8 +422,7 @@ sub include_package_into_script
push( @installer::globals::logfileinfo, $infoline);
}
- my $localcall = "chmod 775 $scriptfilename \>\/dev\/null 2\>\&1";
- system($localcall);
+ chmod 0775, $scriptfilename;
}
@@ -519,7 +474,7 @@ sub build_installer_for_languagepack
# find and read english license file
my $licenselanguage = "en-US"; # always english !
- my $licensefilename = "LICENSE_" . $licenselanguage;
+ my $licensefilename = "LICENSE"; # _" . $licenselanguage;
my $licenseincludepatharrayref = installer::worker::get_language_specific_include_pathes($includepatharrayref, $licenselanguage);
my $licenseref = installer::scriptitems::get_sourcepath_from_filename_and_includepath(\$licensefilename, $licenseincludepatharrayref, 0);
diff --git a/solenv/bin/modules/installer/languages.pm b/solenv/bin/modules/installer/languages.pm
index 7070b09f80b8..8f0b6e929356 100644
--- a/solenv/bin/modules/installer/languages.pm
+++ b/solenv/bin/modules/installer/languages.pm
@@ -331,45 +331,6 @@ sub get_java_language
{
my ( $language ) = @_;
- # my $javalanguage = "";
-
- # if ( $language eq "en-US" ) { $javalanguage = "en_US"; }
- # elsif ( $language eq "ar" ) { $javalanguage = "ar_AR"; }
- # elsif ( $language eq "bg" ) { $javalanguage = "bg_BG"; }
- # elsif ( $language eq "ca" ) { $javalanguage = "ca_CA"; }
- # elsif ( $language eq "cs" ) { $javalanguage = "cs_CS"; }
- # elsif ( $language eq "da" ) { $javalanguage = "da_DA"; }
- # elsif ( $language eq "de" ) { $javalanguage = "de"; }
- # elsif ( $language eq "de" ) { $javalanguage = "de_DE"; }
- # elsif ( $language eq "et" ) { $javalanguage = "et_ET"; }
- # elsif ( $language eq "el" ) { $javalanguage = "el_EL"; }
- # elsif ( $language eq "fi" ) { $javalanguage = "fi_FI"; }
- # elsif ( $language eq "fr" ) { $javalanguage = "fr_FR"; }
- # elsif ( $language eq "hu" ) { $javalanguage = "hu_HU"; }
- # elsif ( $language eq "he" ) { $javalanguage = "he_HE"; }
- # elsif ( $language eq "it" ) { $javalanguage = "it_IT"; }
- # elsif ( $language eq "nl" ) { $javalanguage = "nl_NL"; }
- # elsif ( $language eq "es" ) { $javalanguage = "es_ES"; }
- # elsif ( $language eq "sv" ) { $javalanguage = "sv_SV"; }
- # elsif ( $language eq "sk" ) { $javalanguage = "sk_SK"; }
- # elsif ( $language eq "pl" ) { $javalanguage = "pl_PL"; }
- # elsif ( $language eq "pt-BR" ) { $javalanguage = "pt_BR"; }
- # elsif ( $language eq "ru" ) { $javalanguage = "ru_RU"; }
- # elsif ( $language eq "tr" ) { $javalanguage = "tr_TR"; }
- # elsif ( $language eq "ja" ) { $javalanguage = "ja"; }
- # elsif ( $language eq "ja" ) { $javalanguage = "ja_JP"; }
- # elsif ( $language eq "ko" ) { $javalanguage = "ko_KR"; }
- # elsif ( $language eq "th" ) { $javalanguage = "th_TH"; }
- # elsif ( $language eq "zh-CN" ) { $javalanguage = "zh_CN"; }
- # elsif ( $language eq "zh-TW" ) { $javalanguage = "zh_TW"; }
-
- # languages not defined yet
- # if ( $javalanguage eq "" )
- # {
- # $javalanguage = $language;
- # $javalanguage =~ s/\-/\_/;
- # }
-
$javalanguage = $language;
$javalanguage =~ s/\-/\_/;
diff --git a/solenv/bin/modules/installer/mail.pm b/solenv/bin/modules/installer/mail.pm
deleted file mode 100644
index 3580b3f3b6ab..000000000000
--- a/solenv/bin/modules/installer/mail.pm
+++ /dev/null
@@ -1,136 +0,0 @@
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-package installer::mail;
-
-use Net::SMTP;
-use installer::converter;
-use installer::exiter;
-use installer::ziplist;
-
-#########################################
-# Sending a mail
-#########################################
-
-sub send_mail
-{
- my ($message, $listenerstring, $mailinfostring, $languagesref, $destdir) = @_;
-
- my $listener = installer::converter::convert_stringlist_into_array($listenerstring, ",");
- my $mailinfo = installer::converter::convert_stringlist_into_array($mailinfostring, ",");
-
- my @listener = ();
-
- for ( my $i = 0; $i <= $#{$listener}; $i++ ) { push(@listener, ${$listener}[$i]); }
- for ( my $i = 0; $i <= $#{$mailinfo}; $i++ ) { ${$mailinfo}[$i] =~ s/\s*$//g; }
-
- my $smtphost = ${$mailinfo}[0];
- my $account = ${$mailinfo}[1];
- my $sender = ${$mailinfo}[2];
-
- if ( ! $smtphost ) { installer::exiter::exit_program("ERROR: Could not read SMTP Host in list file!", "send_mail"); }
- if ( ! $account ) { installer::exiter::exit_program("ERROR: Could not read Account in list file!", "send_mail"); }
- if ( ! $sender ) { installer::exiter::exit_program("ERROR: Could not read Sender in list file!", "send_mail"); }
-
- my $subject = "";
- my $basestring = $installer::globals::product . " " . $installer::globals::compiler . $installer::globals::productextension . " " . $installer::globals::build. " " . $installer::globals::buildid . " " . $$languagesref . "\n";
- if ( $message eq "ERROR" ) { $subject = "ERROR: $basestring" }
- if ( $message eq "SUCCESS" ) { $subject = "SUCCESS: $basestring" }
-
- my @message = ();
-
- my $recipient_string = join ',', @listener;
- push(@message, "Subject: $subject");
- push(@message, "To: $recipient_string");
- push(@message, "\n");
- push(@message, "Located at $destdir");
-
- if ( $message eq "ERROR" )
- {
- for ( my $j = 0; $j <= $#installer::globals::errorlogfileinfo; $j++ )
- {
- my $line = $installer::globals::errorlogfileinfo[$j];
- $line =~ s/\s*$//g;
- push(@message, $line);
- }
- }
-
- for ( my $i = 0; $i <= $#message; $i++ ) { $message[$i] = $message[$i] . "\015\012"; }
-
- my $smtp = Net::SMTP->new( $smtphost, Hello => $account, Debug => 0 );
-
- # set sender
- $smtp->mail($sender);
-
- # listener
- my @good_addresses = ();
- $smtp->recipient( @listener, { SkipBad => 1 } );
-
- # send message
- $smtp->data(\@message);
-
- # quit server
- $smtp->quit();
-}
-
-sub send_fail_mail
-{
- my ($allsettingsarrayref, $languagestringref, $errordir) = @_;
-
- # sending a mail into the error board
- my $listener = "";
- $listener = installer::ziplist::getinfofromziplist($allsettingsarrayref, "fail");
-
- if ( $$listener )
- {
- my $mailinfo = installer::ziplist::getinfofromziplist($allsettingsarrayref, "mailinfo");
-
- if ( $$mailinfo ) { send_mail("ERROR", $listener, $mailinfo, $languagestringref, $errordir); }
- else { installer::exiter::exit_program("ERROR: Could not read mailinfo in list file!", "send_fail_mail"); }
- }
-}
-
-sub send_success_mail
-{
- my ($allsettingsarrayref, $languagestringref, $completeshipinstalldir) = @_;
-
- # sending success mail
- my $listener = "";
- $listener = installer::ziplist::getinfofromziplist($allsettingsarrayref, "success");
-
- if ( $$listener )
- {
- my $mailinfo = installer::ziplist::getinfofromziplist($allsettingsarrayref, "mailinfo");
-
- if ( $$mailinfo ) { send_mail("SUCCESS", $listener, $mailinfo, $languagestringref, $completeshipinstalldir); }
- else { installer::exiter::exit_program("ERROR: Could not read mailinfo in list file!", "send_success_mail"); }
-
- }
-}
-
-
-1;
diff --git a/solenv/bin/modules/installer/packagelist.pm b/solenv/bin/modules/installer/packagelist.pm
index f2becc19a610..1c5d6fa00ba0 100644
--- a/solenv/bin/modules/installer/packagelist.pm
+++ b/solenv/bin/modules/installer/packagelist.pm
@@ -85,7 +85,6 @@ sub analyze_list
push(@allmodules, $onegid);
- # get_children($moduleslist, $onegid, \@allmodules);
get_children_with_hash($moduleshash, $onegid, \@allmodules);
$onepackage->{'allmodules'} = \@allmodules;
@@ -180,8 +179,6 @@ sub remove_multiple_modules_packages
my $onepackage = ${$allpackagemodules}[$i];
my $allmodules = $onepackage->{'allmodules'};
- # print "Modules below $onepackage->{'module'}: $#{$allmodules}\n";
-
# Comparing each package, with all following packages. If a
# gid for the module is part of more than one package, it is
# removed if the number of modules in the package is greater
@@ -240,14 +237,6 @@ sub remove_multiple_modules_packages
$onepackage->{'allmodules'} = \@optimizedpackage;
}
-
- # for ( my $i = 0; $i <= $#{$allpackagemodules}; $i++ )
- # {
- # my $onepackage = ${$allpackagemodules}[$i];
- # my $allmodules = $onepackage->{'allmodules'};
- # print "New: Modules below $onepackage->{'module'}: $#{$allmodules}\n";
- # }
-
}
#####################################################################
@@ -652,11 +641,6 @@ sub collectpackages
{
my $modulegid = $onemodule->{'gid'};
- # Only collecting modules with correct language for language packs
-# if ( $installer::globals::languagepack ) { if ( ! ( $modulegid =~ /_$onelanguage\s*$/ )) { next; } }
- # Resetting language, if this is no language pack
-# if ( ! $installer::globals::languagepack ) { $onelanguage = ""; }
-
my $styles = "";
if ( $onemodule->{'Styles'} ) { $styles = $onemodule->{'Styles'}; }
diff --git a/solenv/bin/modules/installer/packagepool.pm b/solenv/bin/modules/installer/packagepool.pm
index d4032b7db17e..c3f3a91d2bd3 100644
--- a/solenv/bin/modules/installer/packagepool.pm
+++ b/solenv/bin/modules/installer/packagepool.pm
@@ -743,7 +743,7 @@ sub package_is_up_to_date
log_pool_info(0);
# removing new package from installation set
- if ( $newpackagepath ne "" ) { remove_package_from_installset($newpackagepath); } # A file was copied and a problem occured with pooling
+ if ( $newpackagepath ne "" ) { remove_package_from_installset($newpackagepath); } # A file was copied and a problem occurred with pooling
$package_is_up_to_date = 4; # repeat this package
return $package_is_up_to_date;
@@ -756,7 +756,7 @@ sub package_is_up_to_date
log_pool_info(1);
# removing new package from installation set
- if ( $newpackagepath ne "" ) { remove_package_from_installset($newpackagepath); } # A file was copied and a problem occured with pooling
+ if ( $newpackagepath ne "" ) { remove_package_from_installset($newpackagepath); } # A file was copied and a problem occurred with pooling
$package_is_up_to_date = 4; # repeat this package
return $package_is_up_to_date;
@@ -914,7 +914,7 @@ sub put_content_into_pool
}
# Before the new package is renamed in the pool, it has to be checked, if this process still has the lock for this package.
- # Check, if lock file still exists and if this process is the owner. Otherwise a pool error occured.
+ # Check, if lock file still exists and if this process is the owner. Otherwise a pool error occurred.
if ( ! -f $installer::globals::poollockfilename )
{
unlink $uniquedestination; # removing file from pool
@@ -936,7 +936,7 @@ sub put_content_into_pool
push( @installer::globals::logfileinfo, $infoline);
# Before the lock file in the pool can be removed, it has to be checked, if this process is still the owner of this lock file.
- # Check, if lock file still exists and if this process is the owner. Otherwise a pool error occured.
+ # Check, if lock file still exists and if this process is the owner. Otherwise a pool error occurred.
if ( ! -f $installer::globals::poollockfilename )
{
log_pool_info(0);
diff --git a/solenv/bin/modules/installer/parameter.pm b/solenv/bin/modules/installer/parameter.pm
index 70bc32e36c7c..9c5ec8c24394 100644
--- a/solenv/bin/modules/installer/parameter.pm
+++ b/solenv/bin/modules/installer/parameter.pm
@@ -69,6 +69,7 @@ The following parameter are needed:
-ispatchedepm : Usage of a patched (non-standard) epm (opt., non-Windows only)
-copyproject : is set for projects that are only used for copying (optional)
-languagepack : do create a languagepack, no product pack (optional)
+-helppack : do create a helppack, no product pack (optional)
-patch : do create a patch (optional)
-patchinc: Source for the patch include files (Solaris only)
-dontstrip: No file stripping (Unix only)
@@ -153,13 +154,14 @@ sub getparameter
elsif ($param eq "-buildid") { $installer::globals::buildid = shift(@ARGV); }
elsif ($param eq "-copyproject") { $installer::globals::is_copy_only_project = 1; }
elsif ($param eq "-languagepack") { $installer::globals::languagepack = 1; }
+ elsif ($param eq "-helppack") { $installer::globals::helppack = 1;}
elsif ($param eq "-patch") { $installer::globals::patch = 1; }
elsif ($param eq "-debian") { $installer::globals::debian = 1; }
elsif ($param eq "-dontstrip") { $installer::globals::strip = 0; }
elsif ($param eq "-destdir") # new parameter for simple installer
{
$installer::globals::rootpath ne "" && die "must set destdir before -i or -simple";
- $installer::globals::destdir = shift @ARGV;
+ $installer::globals::destdir = Cwd::realpath( shift @ARGV );
}
elsif ($param eq "-simple") # new parameter for simple installer
{
@@ -299,6 +301,11 @@ sub setglobalvariables
}
}
+ if ( $installer::globals::compiler =~ /unxobsd/ )
+ {
+ $installer::globals::epmoutpath = "openbsd";
+ }
+
if ( $installer::globals::compiler =~ /unxfbsd/ )
{
$installer::globals::isfreebsdbuild = 1;
@@ -314,12 +321,23 @@ sub setglobalvariables
if ( $installer::globals::compiler =~ /unxso[lg]i/ ) { $installer::globals::issolarisx86build = 1; }
+ if ($ENV{OS} eq 'AIX')
+ {
+ if ( $installer::globals::packageformat eq "rpm" )
+ {
+ $installer::globals::isrpmbuild = 1;
+ $installer::globals::isxpdplatform = 1;
+ $installer::globals::epmoutpath = "RPMS";
+ }
+ if ( $installer::globals::rpm eq "" ) { installer::exiter::exit_program("ERROR: Environment variable \"\$RPM\" has to be defined!", "setglobalvariables"); }
+ }
+
if ($ENV{OS} eq 'LINUX')
{
$installer::globals::islinuxbuild = 1;
if ( $installer::globals::packageformat eq "rpm" )
{
- $installer::globals::islinuxrpmbuild = 1;
+ $installer::globals::isrpmbuild = 1;
$installer::globals::isxpdplatform = 1;
$installer::globals::epmoutpath = "RPMS";
if ( $installer::globals::compiler =~ /unxlngi/ )
@@ -346,8 +364,8 @@ sub setglobalvariables
my $message = "Creating Debian packages";
installer::logger::print_message( $message );
push(@installer::globals::globallogfileinfo, $message);
- $installer::globals::islinuxrpmbuild = 0;
- $installer::globals::islinuxdebbuild = 1;
+ $installer::globals::isrpmbuild = 0;
+ $installer::globals::isdebbuild = 1;
$installer::globals::epmoutpath = "DEBS";
if ( $installer::globals::compiler =~ /unxlngi/ )
{
@@ -379,7 +397,6 @@ sub setglobalvariables
if ($installer::globals::unpackpath eq "") # unpackpath not set
{
$installer::globals::unpackpath = cwd();
- if ( $installer::globals::iswin ) { $installer::globals::unpackpath =~ s/\//\\/g; }
}
if ( $installer::globals::localunpackdir ne "" ) { $installer::globals::unpackpath = $installer::globals::localunpackdir; }
@@ -398,7 +415,7 @@ sub setglobalvariables
# setting jds exclude file list
- if ( $installer::globals::islinuxrpmbuild )
+ if ( $installer::globals::isrpmbuild )
{
$installer::globals::jdsexcludefilename = "jds_excludefiles_linux.txt";
}
@@ -425,8 +442,7 @@ sub setglobalvariables
if ( $installer::globals::compiler =~ /^unxmac/ )
{
- my $localcall = "chmod 777 $installer::globals::temppath \>\/dev\/null 2\>\&1";
- system($localcall);
+ chmod 0777, $installer::globals::temppath;
}
$installer::globals::temppath = $installer::globals::temppath . $installer::globals::separator . "i";
@@ -532,7 +548,7 @@ sub control_required_parameter
# for Solaris packages and Linux
#######################################
- if (( $installer::globals::patch ) && ( ! $installer::globals::issolarispkgbuild ) && ( ! $installer::globals::islinuxrpmbuild ) && ( ! $installer::globals::islinuxdebbuild ) && ( ! $installer::globals::iswindowsbuild ) && ( ! $installer::globals::ismacdmgbuild ))
+ if (( $installer::globals::patch ) && ( ! $installer::globals::issolarispkgbuild ) && ( ! $installer::globals::isrpmbuild ) && ( ! $installer::globals::isdebbuild ) && ( ! $installer::globals::iswindowsbuild ) && ( ! $installer::globals::ismacdmgbuild ))
{
installer::logger::print_error( "Sorry, Patch flag currently only available for Solaris pkg, Linux RPM and Windows builds!" );
usage();
@@ -636,6 +652,7 @@ sub outputparameter
}
if ( $installer::globals::is_copy_only_project ) { push(@output, "This is a copy only project!\n"); }
if ( $installer::globals::languagepack ) { push(@output, "Creating language pack!\n"); }
+ if ( $installer::globals::helppack ) { push(@output, "Creating help pack!\n"); }
if ( $installer::globals::patch ) { push(@output, "Creating patch!\n"); }
push(@output, "########################################################\n");
diff --git a/solenv/bin/modules/installer/pathanalyzer.pm b/solenv/bin/modules/installer/pathanalyzer.pm
index 1c57a0d76e02..62085dac5e14 100644
--- a/solenv/bin/modules/installer/pathanalyzer.pm
+++ b/solenv/bin/modules/installer/pathanalyzer.pm
@@ -39,7 +39,7 @@ sub get_path_from_fullqualifiedname
if ( $$longfilenameref =~ /\Q$installer::globals::separator\E/ ) # Is there a separator in the path? Otherwise the path is empty.
{
- if ( $$longfilenameref =~ /^\s*(\S.*\S\Q$installer::globals::separator\E)(\S.+\S?)/ )
+ if ( $$longfilenameref =~ /^\s*(.*\Q$installer::globals::separator\E)(.+)/ )
{
$$longfilenameref = $1;
}
diff --git a/solenv/bin/modules/installer/remover.pm b/solenv/bin/modules/installer/remover.pm
index 541a33bce4c1..c23007edd177 100644
--- a/solenv/bin/modules/installer/remover.pm
+++ b/solenv/bin/modules/installer/remover.pm
@@ -37,8 +37,8 @@ sub remove_leading_and_ending_whitespaces
{
my ( $stringref ) = @_;
- $$stringref =~ s/^\s*//;
- $$stringref =~ s/\s*$//;
+ $$stringref =~ s/^\s+//;
+ $$stringref =~ s/\s+$//;
}
sub remove_leading_and_ending_quotationmarks
diff --git a/solenv/bin/modules/installer/scppatchsoname.pm b/solenv/bin/modules/installer/scppatchsoname.pm
index 32a142828981..df7caeb48c81 100644
--- a/solenv/bin/modules/installer/scppatchsoname.pm
+++ b/solenv/bin/modules/installer/scppatchsoname.pm
@@ -175,9 +175,6 @@ sub resolving_patchsoname_flag
my $destinationpath = $replacedir . $onefilename;
my $movepath = $destinationpath . ".orig";
- # if (!(-f $destinationpath)) # do nothing if the file already exists
- # {
-
my $copysuccess = installer::systemactions::copy_one_file($sourcepath, $movepath);
if ( $copysuccess )
@@ -197,8 +194,6 @@ sub resolving_patchsoname_flag
}
}
- # }
-
# Saving the original source, where the file was found
$onefile->{'originalsourcepath'} = $onefile->{'sourcepath'};
diff --git a/solenv/bin/modules/installer/scpzipfiles.pm b/solenv/bin/modules/installer/scpzipfiles.pm
index 52dea6032ee1..cb0e6408e565 100644
--- a/solenv/bin/modules/installer/scpzipfiles.pm
+++ b/solenv/bin/modules/installer/scpzipfiles.pm
@@ -45,7 +45,7 @@ sub replace_all_ziplistvariables_in_file
{
my $line = ${$fileref}[$i];
- if ( $line =~ /^.*\$\{\w+\}.*$/ ) # only occurence of ${abc}
+ if ( $line =~ /^.*\$\{\w+\}.*$/ ) # only occurrence of ${abc}
{
my $key;
@@ -69,13 +69,11 @@ sub replace_all_ziplistvariables_in_rtffile
{
my ( $fileref, $variablesref, $onelanguage, $loggingdir ) = @_;
- # installer::files::save_file($loggingdir . "license_" . $onelanguage . "_before.rtf", $fileref);
-
for ( my $i = 0; $i <= $#{$fileref}; $i++ )
{
my $line = ${$fileref}[$i];
- if ( $line =~ /^.*\$\\\{\w+\\\}.*$/ ) # only occurence of $\{abc\}
+ if ( $line =~ /^.*\$\\\{\w+\\\}.*$/ ) # only occurrence of $\{abc\}
{
for ( my $j = 0; $j <= $#{$variablesref}; $j++ )
{
@@ -96,8 +94,6 @@ sub replace_all_ziplistvariables_in_rtffile
}
}
}
-
- # installer::files::save_file($loggingdir . "license_" . $onelanguage . "_after.rtf", $fileref);
}
#########################################################
diff --git a/solenv/bin/modules/installer/scriptitems.pm b/solenv/bin/modules/installer/scriptitems.pm
index 54d22df1e19e..f6b3909a53a0 100644
--- a/solenv/bin/modules/installer/scriptitems.pm
+++ b/solenv/bin/modules/installer/scriptitems.pm
@@ -809,7 +809,6 @@ sub replace_setup_variables
if ( $localminor =~ /^\s*\w(\d+)\w*\s*$/ ) { $localminor = $1; }
- # $updateid
my $updateid = $productname . "_" . $userdirproductversion . "_" . $$languagestringref;
$updateid =~ s/ /_/g;
@@ -830,6 +829,8 @@ sub replace_setup_variables
$value =~ s/\<sourceid\>/$installer::globals::build/;
$value =~ s/\<updateid\>/$updateid/;
$value =~ s/\<pkgformat\>/$installer::globals::packageformat/;
+ $value =~ s/\<vendor\>/$ENV{'OOO_VENDOR'}/;
+ $value =~ s/\<buildversion\>/$ENV{'BUILD_VER_STRING'}/;
$oneitem->{'Value'} = $value;
}
@@ -1226,6 +1227,7 @@ sub get_Source_Directory_For_Files_From_Includepathlist
if ( $styles =~ /\bFILE_CAN_MISS\b/ ) { $file_can_miss = 1; }
if (( $installer::globals::languagepack ) && ( ! $onefile->{'ismultilingual'} ) && ( ! ( $styles =~ /\bFORCELANGUAGEPACK\b/ ))) { $file_can_miss = 1; }
+ if (( $installer::globals::helppack ) && ( ! $onefile->{'ismultilingual'} ) && ( ! ( $styles =~ /\bFORCEHELPPACK\b/ ))) { $file_can_miss = 1; }
my $sourcepathref = "";
@@ -1243,7 +1245,6 @@ sub get_Source_Directory_For_Files_From_Includepathlist
my $oldname = $onefile->{'Name'};
my $oldlanguage = $onefile->{'specificlanguage'};
my $newlanguage = "en-US";
- # $onefile->{'Name'} =~ s/$oldlanguage\./$newlanguage\./; # Example: tplwizfax_it.zip -> tplwizfax_en-US.zip
$onefilename = $onefile->{'Name'};
$onefilename =~ s/$oldlanguage\./$newlanguage\./; # Example: tplwizfax_it.zip -> tplwizfax_en-US.zip
$onefilename =~ s/^\s*\Q$installer::globals::separator\E//; # filename begins with a slash, for instance /registry/schema/org/openoffice/VCL.xcs
@@ -1255,7 +1256,6 @@ sub get_Source_Directory_For_Files_From_Includepathlist
$infoline = "WARNING: Using $onefilename instead of $oldname\n";
push( @installer::globals::logfileinfo, $infoline);
print " $infoline";
- # if ( $onefile->{'destination'} ) { $onefile->{'destination'} =~ s/\Q$oldname\E/$onefile->{'Name'}/; }
# If the directory, in which the new file is installed, is not language dependent,
# the filename has to be changed to avoid installation conflicts
@@ -1338,7 +1338,7 @@ sub remove_Files_Without_Sourcedirectory
my $infoline;
- my $error_occured = 0;
+ my $error_occurred = 0;
my @missingfiles = ();
push(@missingfiles, "ERROR: The following files could not be found: \n");
@@ -1354,17 +1354,17 @@ sub remove_Files_Without_Sourcedirectory
my $styles = $onefile->{'Styles'};
my $filename = $onefile->{'Name'};
- if ( ! $installer::globals::languagepack )
+ if ( ! $installer::globals::languagepack && !$installer::globals::helppack)
{
$infoline = "ERROR: Removing file $filename from file list.\n";
push( @installer::globals::logfileinfo, $infoline);
push(@missingfiles, "ERROR: File not found: $filename\n");
- $error_occured = 1;
+ $error_occurred = 1;
next; # removing this file from list, if sourcepath is empty
}
- else # special case for language packs
+ elsif ( $installer::globals::languagepack ) # special case for language packs
{
if (( $onefile->{'ismultilingual'} ) || ( $styles =~ /\bFORCELANGUAGEPACK\b/ ))
{
@@ -1372,7 +1372,7 @@ sub remove_Files_Without_Sourcedirectory
push( @installer::globals::logfileinfo, $infoline);
push(@missingfiles, "ERROR: File not found: $filename\n");
- $error_occured = 1;
+ $error_occurred = 1;
next; # removing this file from list, if sourcepath is empty
}
@@ -1386,6 +1386,28 @@ sub remove_Files_Without_Sourcedirectory
next; # removing this file from list, if sourcepath is empty
}
}
+ else # special case for help packs
+ {
+ if (( $onefile->{'ismultilingual'} ) || ( $styles =~ /\bFORCEHELPPACK\b/ ))
+ {
+ $infoline = "ERROR: Removing file $filename from file list.\n";
+ push( @installer::globals::logfileinfo, $infoline);
+
+ push(@missingfiles, "ERROR: File not found: $filename\n");
+ $error_occured = 1;
+
+ next; # removing this file from list, if sourcepath is empty
+ }
+ else
+ {
+ $infoline = "INFO: Removing file $filename from file list. It is not language dependent.\n";
+ push( @installer::globals::logfileinfo, $infoline);
+ $infoline = "INFO: It is not language dependent and can be ignored in help packs.\n";
+ push( @installer::globals::logfileinfo, $infoline);
+
+ next; # removing this file from list, if sourcepath is empty
+ }
+ }
}
push(@newfilesarray, $onefile);
@@ -1394,7 +1416,7 @@ sub remove_Files_Without_Sourcedirectory
$infoline = "\n";
push( @installer::globals::logfileinfo, $infoline);
- if ( $error_occured )
+ if ( $error_occurred )
{
for ( my $i = 0; $i <= $#missingfiles; $i++ ) { print "$missingfiles[$i]"; }
installer::exiter::exit_program("ERROR: Missing files", "remove_Files_Without_Sourcedirectory");
@@ -1870,6 +1892,44 @@ sub remove_Languagepacklibraries_from_Installset
}
############################################################################
+# Removing all help pack files from installation set (files with
+# the style HELPPACK), except this is a help pack.
+############################################################################
+
+sub remove_Helppacklibraries_from_Installset
+{
+ my ($itemsarrayref) = @_;
+
+ if ( $installer::globals::debug ) { installer::logger::debuginfo("installer::scriptitems::remove_Helppacklibraries_from_Installset : $#{$itemsarrayref}"); }
+
+ my $infoline;
+
+ my @newitemsarray = ();
+
+ for ( my $i = 0; $i <= $#{$itemsarrayref}; $i++ )
+ {
+ my $oneitem = ${$itemsarrayref}[$i];
+ my $styles = "";
+ if ( $oneitem->{'Styles'} ) { $styles = $oneitem->{'Styles'}; }
+
+ if ( $styles =~ /\bHELPPACK\b/ )
+ {
+ $infoline = "Removing help pack file $oneitem->{'gid'} from the installation set.\n";
+ push( @installer::globals::globallogfileinfo, $infoline);
+
+ next;
+ }
+
+ push(@newitemsarray, $oneitem);
+ }
+
+ $infoline = "\n";
+ push( @installer::globals::globallogfileinfo, $infoline);
+
+ return \@newitemsarray;
+}
+
+############################################################################
# Removing all files with flag PATCH_ONLY from installation set.
# This function is not called during patch creation.
############################################################################
@@ -2009,18 +2069,14 @@ sub quoting_illegal_filenames
# sourcepath and destination have to be quoted for epm list file
- # $filename =~ s/\$/\$\$/g;
$destpath =~ s/\$/\$\$/g;
$sourcepath =~ s/\$/\$\$/g;
- # my $infoline = "ATTENTION: Files: Renaming $onefile->{'Name'} to $filename\n";
- # push( @installer::globals::logfileinfo, $infoline);
my $infoline = "ATTENTION: Files: Quoting sourcepath $onefile->{'sourcepath'} to $sourcepath\n";
push( @installer::globals::logfileinfo, $infoline);
$infoline = "ATTENTION: Files: Quoting destination path $onefile->{'destination'} to $destpath\n";
push( @installer::globals::logfileinfo, $infoline);
- # $onefile->{'Name'} = $filename;
$onefile->{'sourcepath'} = $sourcepath;
$onefile->{'destination'} = $destpath;
}
@@ -2028,19 +2084,20 @@ sub quoting_illegal_filenames
}
############################################################################
-# Removing multiple occurences of same module.
+# Removing multiple occurrences of same module.
############################################################################
sub optimize_list
{
my ( $longlist ) = @_;
+ my %tmpHash;
- my $shortlist = "";
- my $hashref = installer::converter::convert_stringlist_into_hash(\$longlist, ",");
- foreach my $key (sort keys %{$hashref} ) { $shortlist = "$shortlist,$key"; }
- $shortlist =~ s/^\s*\,//;
+ $longlist =~ s/^\s+//;
+ $longlist =~ s/\s+$//;
+ $longlist =~ s/\s*,\s*/,/g;
- return $shortlist;
+ @tmpHash{split /,/, $longlist} = ();
+ return join(",", sort keys %tmpHash);
}
#######################################################################
@@ -2063,7 +2120,6 @@ sub collect_directories_from_filesarray
my %alldirectoryhash = ();
my $predefinedprogdir_added = 0;
- my $alreadyincluded = 0;
# Preparing this already as hash, although the only needed value at the moment is the HostName
# But also adding: "specificlanguage" and "Dir" (for instance gid_Dir_Program)
@@ -2075,64 +2131,26 @@ sub collect_directories_from_filesarray
installer::pathanalyzer::get_path_from_fullqualifiedname(\$destinationpath);
$destinationpath =~ s/\Q$installer::globals::separator\E\s*$//; # removing ending slashes or backslashes
- $alreadyincluded = 0;
- if ( exists($alldirectoryhash{$destinationpath}) ) { $alreadyincluded = 1; }
-
- if (!($alreadyincluded))
+ do
{
- my %directoryhash = ();
- $directoryhash{'HostName'} = $destinationpath;
- $directoryhash{'specificlanguage'} = $onefile->{'specificlanguage'};
- $directoryhash{'Dir'} = $onefile->{'Dir'};
- $directoryhash{'modules'} = $onefile->{'modules'}; # NEW, saving modules
- # NEVER!!! if ( ! $installer::globals::iswindowsbuild ) { $directoryhash{'Styles'} = "(CREATE)"; } # this directories must be created
-
- if ( $onefile->{'Dir'} eq "PREDEFINED_PROGDIR" ) { $predefinedprogdir_added = 1; }
-
- $alldirectoryhash{$destinationpath} = \%directoryhash;
-
- # Problem: The $destinationpath can be share/registry/schema/org/openoffice
- # but not all directories contain files and will be added to this list.
- # Therefore the path has to be analyzed.
-
- while ( $destinationpath =~ /(^.*\S)\Q$installer::globals::separator\E(\S.*?)\s*$/ ) # as long as the path contains slashes
+ if (!exists($alldirectoryhash{$destinationpath}))
{
- $destinationpath = $1;
-
- $alreadyincluded = 0;
- if ( exists($alldirectoryhash{$destinationpath}) ) { $alreadyincluded = 1; }
-
- if (!($alreadyincluded))
- {
- my %directoryhash = ();
+ my %directoryhash = ();
+ $directoryhash{'HostName'} = $destinationpath;
+ $directoryhash{'specificlanguage'} = $onefile->{'specificlanguage'};
+ $directoryhash{'Dir'} = $onefile->{'Dir'};
+ $directoryhash{'modules'} = $onefile->{'modules'}; # NEW, saving modules
- $directoryhash{'HostName'} = $destinationpath;
- $directoryhash{'specificlanguage'} = $onefile->{'specificlanguage'};
- $directoryhash{'Dir'} = $onefile->{'Dir'};
- $directoryhash{'modules'} = $onefile->{'modules'}; # NEW, saving modules
- # NEVER!!! if ( ! $installer::globals::iswindowsbuild ) { $directoryhash{'Styles'} = "(CREATE)"; } # this directories must be created
+ $predefinedprogdir_added ||= $onefile->{'Dir'} eq "PREDEFINED_PROGDIR";
- $alldirectoryhash{$destinationpath} = \%directoryhash;
- }
- else
- {
- # Adding the modules to the module list!
- $alldirectoryhash{$destinationpath}->{'modules'} = $alldirectoryhash{$destinationpath}->{'modules'} . "," . $onefile->{'modules'};
- }
+ $alldirectoryhash{$destinationpath} = \%directoryhash;
}
- }
- else
- {
- # Adding the modules to the module list!
- $alldirectoryhash{$destinationpath}->{'modules'} = $alldirectoryhash{$destinationpath}->{'modules'} . "," . $onefile->{'modules'};
-
- # Also adding the module to all parents
- while ( $destinationpath =~ /(^.*\S)\Q$installer::globals::separator\E(\S.*?)\s*$/ ) # as long as the path contains slashes
+ else
{
- $destinationpath = $1;
- $alldirectoryhash{$destinationpath}->{'modules'} = $alldirectoryhash{$destinationpath}->{'modules'} . "," . $onefile->{'modules'};
+ # Adding the modules to the module list!
+ $alldirectoryhash{$destinationpath}->{'modules'} .= "," . $onefile->{'modules'};
}
- }
+ } while ($destinationpath =~ s/(^.*\S)\Q$installer::globals::separator\E(\S.*?)\s*$/$1/); # as long as the path contains slashes
}
# if there is no file in the root directory PREDEFINED_PROGDIR, it has to be included into the directory array now
@@ -2195,7 +2213,6 @@ sub collect_directories_with_create_flag_from_directoryarray
my %directoryhash = ();
$directoryhash{'HostName'} = $directoryname;
$directoryhash{'specificlanguage'} = $onedir->{'specificlanguage'};
- # $directoryhash{'gid'} = $onedir->{'gid'};
$directoryhash{'Dir'} = $onedir->{'gid'};
$directoryhash{'Styles'} = $onedir->{'Styles'};
@@ -2468,7 +2485,6 @@ sub insert_for_item ($$$)
{
my ($hash, $item, $id) = @_;
- # print STDERR "insert '$id' for '$item'\n";
if (!defined $hash->{$item})
{
my @gids = ();
@@ -2522,7 +2538,6 @@ sub get_string_of_modulegids_for_itemgid
my $haslanguagemodule = 0;
my %foundmodules = ();
- # print STDERR "lookup '" . lc($itemgid) . "'\n";
my $gid_list = $module_lookup_table->{lc($itemgid)};
for my $gid (@{$gid_list})
@@ -2542,8 +2557,6 @@ sub get_string_of_modulegids_for_itemgid
if ( ! $isreallylanguagemodule ) { installer::exiter::exit_program("ERROR: \"$itemgid\" is assigned to modules with flag \"LANGUAGEMODULE\" and also to modules without this flag! Modules: $allmodules", "get_string_of_modulegids_for_itemgid"); }
}
- # print STDERR "get_string_for_itemgid ($itemgid, $itemname) => $allmodules, $haslanguagemodule\n";
-
return ($allmodules, $haslanguagemodule);
}
@@ -2923,7 +2936,7 @@ sub filter_layerlinks_from_unixlinks
if ( $styles =~ /\bLAYERLINK\b/ )
{
# Platforms, that do not need the layer links
- if (( $installer::globals::islinuxrpmbuild ) || ( $installer::globals::issolarispkgbuild ))
+ if (( $installer::globals::isrpmbuild ) || ( $installer::globals::issolarispkgbuild ))
{
$isrequired = 0;
}
diff --git a/solenv/bin/modules/installer/setupscript.pm b/solenv/bin/modules/installer/setupscript.pm
index a3bf5abf50a9..c463eb23bd45 100644
--- a/solenv/bin/modules/installer/setupscript.pm
+++ b/solenv/bin/modules/installer/setupscript.pm
@@ -162,23 +162,17 @@ sub add_lowercase_productname_setupscriptvariable
push(@{$variablesref} ,$newline);
$value = $original;
$value =~ s/\s/\_/g;
- # if ( $value =~ /^\s*(.*?)\_(\w)(.*?)\_(\w)(.*)\s*$/ ) { $value = $1 . $2 . $4; }
$newline = "\%UNIXPRODUCTNAME " . lc($value) . "\n";
push(@{$variablesref} ,$newline);
$newline = "\%SYSTEMINTUNIXPACKAGENAME " . lc($value) . "\n";
push(@{$variablesref} ,$newline);
- # if ( $value =~ /^\s*(.*?)\_(\w)(.*?)\_(\w)(.*)\s*$/ ) { $value = $1 . $2 . $4; }
- # if ( $value =~ /^\s*(.*?)\_(\w)(.*?)\_(\w)(.*)\s*$/ ) { $value = $2 . $4; }
$newline = "\%UNIXPACKAGENAME " . lc($value) . "\n";
push(@{$variablesref} ,$newline);
$value = $original;
$value =~ s/\s/\_/g;
$value =~ s/\.//g;
- # if ( $value =~ /^\s*(.*?)\_(\w)(.*?)\_(\w)(.*)\s*$/ ) { $value = $1 . $2 . $4; }
$newline = "\%WITHOUTDOTUNIXPRODUCTNAME " . lc($value) . "\n";
push(@{$variablesref} ,$newline);
- # if ( $value =~ /^\s*(.*?)\_(\w)(.*?)\_(\w)(.*)\s*$/ ) { $value = $1 . $2 . $4; }
- # if ( $value =~ /^\s*(.*?)\_(\w)(.*?)\_(\w)(.*)\s*$/ ) { $value = $2 . $4; }
$newline = "\%WITHOUTDOTUNIXPACKAGENAME " . lc($value) . "\n";
push(@{$variablesref} ,$newline);
$newline = "\%SOLARISBRANDPACKAGENAME " . lc($value) . "\n";
@@ -272,7 +266,7 @@ sub replace_all_setupscriptvariables_in_script
my $bigstring = '';
for my $line (@{$scriptref}) { $bigstring = $bigstring . $line; }
- foreach my $key ( keys %subs )
+ foreach my $key (sort { length ($b) <=> length ($a) } keys %subs)
{
# Attention: It must be possible to substitute "%PRODUCTNAMEn", "%PRODUCTNAME%PRODUCTVERSIONabc"
my $value = $subs{$key};
@@ -292,7 +286,6 @@ sub replace_all_setupscriptvariables_in_script
if (( $check =~ /%1/ ) || ( $check =~ /%2/ ) || ( $check =~ /%verify/ )) { next; }
my $infoline = "WARNING: mis-named or un-known '%' variable in setup script at line $num:\n$check\n";
push( @installer::globals::globallogfileinfo, $infoline);
- # print STDERR "Warning: mis-named or un-known '%' variable at line $num:\n$check\n";
}
}
@@ -311,91 +304,72 @@ sub get_all_items_from_script
my @allitemarray = ();
- my ($itemkey, $itemvalue, $valuecounter);
+ my ($itemkey, $itemvalue);
for ( my $i = 0; $i <= $#{$scriptref}; $i++ )
{
my $line = ${$scriptref}[$i];
- if ( $line =~ /^\s*\Q$searchitem\E\s+(\S+)\s*$/ )
- {
- my $gid = $1;
- my $counter = $i + 1;
+ next unless ($line =~ /^\s*\Q$searchitem\E\s+(\S+)\s*$/);
+ my $gid = $1;
- my %oneitemhash = ();
- my $ismultilang = 0;
+ my %oneitemhash = ();
+ my $ismultilang = 0;
- $oneitemhash{'gid'} = $gid;
+ $oneitemhash{'gid'} = $gid;
- while (!( $line =~ /^\s*End\s*$/ ))
+ while (!( $line =~ /^\s*End\s*$/ ))
+ {
+ if ( $i >= $#{$scriptref} ) {
+ installer::exiter::exit_program("Invalid setup script file. End of file reached before 'End' line of '$searchitem' section.", "get_all_items_from_script");
+ }
+ $line = ${$scriptref}[++$i];
+
+ if ( $line =~ /^\s*(.+?)\=\s*(.+?)\;\s*$/ ) # only oneliner!
{
- if ( $counter > $#{$scriptref} ) {
- installer::exiter::exit_program("Invalid setup script file. End of file reached before 'End' line of '$searchitem' section.", "get_all_items_from_script");
- }
- $line = ${$scriptref}[$counter];
- $counter++;
+ $itemkey = $1;
+ $itemvalue = $2;
- if ( $line =~ /^\s*(.+?)\s*\=\s*(.+?)\s*\;\s*$/ ) # only oneliner!
- {
- $itemkey = $1;
- $itemvalue = $2;
+ $itemkey =~ s/\s+$//;
+ $itemvalue =~ s/\s+$//;
- installer::remover::remove_leading_and_ending_quotationmarks(\$itemvalue);
- $itemvalue =~ s/\s*$//; # removing ending whitespaces. Could be introduced by empty variables.
+ installer::remover::remove_leading_and_ending_quotationmarks(\$itemvalue);
- $oneitemhash{$itemkey} = $itemvalue;
+ $oneitemhash{$itemkey} = $itemvalue;
- if ( $itemkey =~ /^\s*\S+\s+\(\S+\)\s*$/ )
- {
- $ismultilang = 1;
- }
- }
- else
+ $ismultilang ||= $itemkey =~ /^\S+\s+\(\S+\)$/;
+ }
+ elsif (($searchitem eq "Module") &&
+ ($line =~ /^\s*.+?\s*\=\s*\(/) &&
+ (!($line =~ /\)\;\s*$/))) # more than one line, for instance files at modules!
+ {
+ $line =~ /^\s*(.+?)\s*\=\s*(.+?)\s*$/; # the first line
+ $itemkey = $1;
+ $itemvalue = $2;
+
+ # collecting the complete itemvalue
+ do
{
- if ( $searchitem eq "Module" ) # more than one line, for instance files at modules!
- {
- if (( $line =~ /^\s*(.+?)\s*\=\s*\(/ ) && (!($line =~ /\)\;\s*$ / )))
- {
- if ( $line =~ /^\s*(.+?)\s*\=\s*(.+)/ ) # the first line
- {
- $itemkey = $1;
- $itemvalue = $2;
- $itemvalue =~ s/\s*$//;
- }
-
- # collecting the complete itemvalue
-
- $valuecounter = $counter;
- $line = ${$scriptref}[$valuecounter];
- installer::remover::remove_leading_and_ending_whitespaces(\$line);
- $itemvalue = $itemvalue . $line;
-
- while (!( $line =~ /\)\;\s*$/ ))
- {
- $valuecounter++;
- $line = ${$scriptref}[$valuecounter];
- installer::remover::remove_leading_and_ending_whitespaces(\$line);
- $itemvalue = $itemvalue . $line;
- }
-
- # removing ending ";"
- $itemvalue =~ s/\;\s*$//;
-
- $oneitemhash{$itemkey} = $itemvalue;
-
- if ( $itemkey =~ /^\s*\S+\s+\(\S+\)\s*$/ )
- {
- $ismultilang = 1;
- }
- }
+ if ( $i >= $#{$scriptref} ) {
+ installer::exiter::exit_program("Invalid setup script file. Premature end of file.", "get_all_items_from_script");
}
- }
- }
+ $line = ${$scriptref}[++$i];
+ installer::remover::remove_leading_and_ending_whitespaces(\$line);
+ $itemvalue .= $line;
+ } while (!($line =~ /\)\;\s*$/));
+
+ # removing ending ";"
+ $itemvalue =~ s/\;\s*$//;
- $oneitemhash{'ismultilingual'} = $ismultilang;
+ $oneitemhash{$itemkey} = $itemvalue;
- push(@allitemarray, \%oneitemhash);
+ $ismultilang ||= $itemkey =~ /^\S+\s+\(\S+\)$/;
+ }
}
+
+ $oneitemhash{'ismultilingual'} = $ismultilang+0;
+
+ push(@allitemarray, \%oneitemhash);
}
return \@allitemarray;
@@ -521,10 +495,6 @@ sub replace_preset_properties
my @presetproperties = ();
push(@presetproperties, "SOLARISBRANDPACKAGENAME");
push(@presetproperties, "SYSTEMINTUNIXPACKAGENAME");
- # push(@presetproperties, "UNIXPACKAGENAME");
- # push(@presetproperties, "WITHOUTDOTUNIXPACKAGENAME");
- # push(@presetproperties, "UNIXPRODUCTNAME");
- # push(@presetproperties, "WITHOUTDOTUNIXPRODUCTNAME");
foreach $property ( @presetproperties )
diff --git a/solenv/bin/modules/installer/simplepackage.pm b/solenv/bin/modules/installer/simplepackage.pm
index 1f392f4f6c86..8c0e9ee0be79 100755
--- a/solenv/bin/modules/installer/simplepackage.pm
+++ b/solenv/bin/modules/installer/simplepackage.pm
@@ -27,7 +27,6 @@
package installer::simplepackage;
-# use Archive::Zip qw( :ERROR_CODES :CONSTANTS );
use Cwd;
use File::Copy;
use installer::download;
@@ -111,6 +110,13 @@ sub register_extensions
push( @installer::globals::logfileinfo, $infoline);
}
+ if (( $installer::globals::helppack ) && ( ! -f $unopkgfile ))
+ {
+ $unopkgexists = 0;
+ $infoline = "Help packs do not contain unopkg!\n";
+ push( @installer::globals::logfileinfo, $infoline);
+ }
+
if ( ! -f $unopkgfile )
{
$unopkgexists = 0;
@@ -127,7 +133,7 @@ sub register_extensions
if ( ! -f $unopkgfile ) { installer::exiter::exit_program("ERROR: $unopkgfile not found!", "register_extensions"); }
- my $systemcall = $unopkgfile . " sync --verbose" . " -env:UNO_JAVA_JFW_ENV_JREHOME=true 2\>\&1 |";
+ my $systemcall = "JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1 " . $unopkgfile . " sync --verbose" . " -env:UNO_JAVA_JFW_ENV_JREHOME=true 2\>\&1 |";
print "... $systemcall ...\n";
@@ -174,9 +180,6 @@ sub register_extensions
sub get_mac_translation_file
{
my $translationfilename = $installer::globals::maclangpackfilename;
- # my $translationfilename = $installer::globals::idtlanguagepath . $installer::globals::separator . $installer::globals::maclangpackfilename;
- # if ( $installer::globals::unicodensis ) { $translationfilename = $translationfilename . ".uulf"; }
- # else { $translationfilename = $translationfilename . ".mlf"; }
if ( ! -f $translationfilename ) { installer::exiter::exit_program("ERROR: Could not find language file $translationfilename!", "get_mac_translation_file"); }
my $translationfile = installer::files::read_file($translationfilename);
@@ -288,8 +291,6 @@ sub localize_scriptfile
{
my ($scriptfile, $translationfile, $languagestringref) = @_;
- # my $translationfile = get_mac_translation_file();
-
my $onelanguage = $$languagestringref;
if ( $onelanguage =~ /^\s*(.*?)_/ ) { $onelanguage = $1; }
@@ -337,7 +338,7 @@ sub replace_variables_in_scriptfile
replace_one_variable_in_shellscript($scriptfile, $allvariables->{'PRODUCTVERSION'}, "PRODUCTVERSION" );
my $scriptname = lc($allvariables->{'PRODUCTNAME'}) . "\.script";
- if ( $allvariables->{'PRODUCTNAME'} eq "OpenOffice.org" ) { $scriptname = "org.openoffice.script"; }
+ if ( $allvariables->{'PRODUCTNAME'} eq "LibreOffice" ) { $scriptname = "org.libreoffice.script"; }
replace_one_variable_in_shellscript($scriptfile, $scriptname, "SEARCHSCRIPTNAME" );
}
@@ -414,9 +415,10 @@ sub create_package
my $localtempdir = $tempdir;
- if (( $installer::globals::languagepack ) || ( $installer::globals::patch ))
+ if (( $installer::globals::languagepack ) || ( $installer::globals::helppack ) || ( $installer::globals::patch ))
{
$localtempdir = "$tempdir/$packagename";
+ if ( $installer::globals::helppack ) { $volume_name = "$volume_name Help Pack"; }
if ( $installer::globals::languagepack )
{
$volume_name = "$volume_name Language Pack";
@@ -473,6 +475,7 @@ sub create_package
my $scriptrealfilename = "osx_install.applescript";
my $scriptfilename = "";
if ( $installer::globals::languagepack ) { $scriptfilename = "osx_install_languagepack.applescript"; }
+ if ( $installer::globals::helppack ) { $scriptfilename = "osx_install_helppack.applescript"; }
if ( $installer::globals::patch ) { $scriptfilename = "osx_install_patch.applescript"; }
my $scripthelpersolverfilename = "mac_install.script";
# my $scripthelperrealfilename = $volume_name;
@@ -503,10 +506,8 @@ sub create_package
replace_variables_in_scriptfile($scriptfilecontent, $volume_name_classic, $volume_name_classic_app, $allvariables);
installer::files::save_file($scriptfilename, $scriptfilecontent);
- $systemcall = "chmod 775 " . "\"" . $scriptfilename . "\"";
- system($systemcall);
- $systemcall = "chmod 775 " . "\"" . $scripthelperrealfilename . "\"";
- system($systemcall);
+ chmod 0775, $scriptfilename;
+ chmod 0775, $scripthelperrealfilename;
# Copy also Info.plist and icon file
# Finding both files in solver
@@ -620,6 +621,7 @@ sub create_simple_package
{
$downloadname = installer::ziplist::getinfofromziplist($allsettingsarrayref, "downloadname");
if ( $installer::globals::languagepack ) { $downloadname = installer::ziplist::getinfofromziplist($allsettingsarrayref, "langpackdownloadname"); }
+ if ( $installer::globals::helppack ) { $downloadname = installer::ziplist::getinfofromziplist($allsettingsarrayref, "helppackdownloadname"); }
if ( $installer::globals::patch ) { $downloadname = installer::ziplist::getinfofromziplist($allsettingsarrayref, "patchdownloadname"); }
$packagename = installer::download::resolve_variables_in_downloadname($allvariables, $$downloadname, \$locallanguage);
}
@@ -709,7 +711,7 @@ sub create_simple_package
}
else
{
- $infoline = "ERROR: Could not copy $source to $destination\n";
+ $infoline = "ERROR: Could not copy $source to $destination $!\n";
$returnvalue = 0;
}
@@ -722,13 +724,9 @@ sub create_simple_package
if ( ! $installer::globals::iswindowsbuild )
{
# see issue 102274
- my $unixrights = "";
if ( $onefile->{'UnixRights'} )
{
- $unixrights = $onefile->{'UnixRights'};
-
- my $localcall = "$installer::globals::wrapcmd chmod $unixrights \'$destination\' \>\/dev\/null 2\>\&1";
- system($localcall);
+ chmod oct($onefile->{'UnixRights'}), $destination;
}
}
}
diff --git a/solenv/bin/modules/installer/substfilenamefiles.pm b/solenv/bin/modules/installer/substfilenamefiles.pm
index fd9557ff81c0..98906913c159 100644
--- a/solenv/bin/modules/installer/substfilenamefiles.pm
+++ b/solenv/bin/modules/installer/substfilenamefiles.pm
@@ -79,7 +79,6 @@ sub resolving_subst_filename_flag
my $sourcepath = $onefile->{'sourcepath'};
- # if ( $onefilename =~ /^\s*\Q$installer::globals::separator\E/ ) # filename begins with a slash, for instance /registry/schema/org/openoffice/VCL.xcs
if ( $onefilename =~ /\Q$installer::globals::separator\E/ ) # filename begins with a slash, for instance /registry/schema/org/openoffice/VCL.xcs
{
$onefilename =~ s/^\s*\Q$installer::globals::separator\E//;
diff --git a/solenv/bin/modules/installer/systemactions.pm b/solenv/bin/modules/installer/systemactions.pm
index 07cd838cf4fa..09b4cb1882a3 100644
--- a/solenv/bin/modules/installer/systemactions.pm
+++ b/solenv/bin/modules/installer/systemactions.pm
@@ -43,108 +43,7 @@ sub create_directory
{
my ($directory) = @_;
- my $returnvalue = 1;
- my $infoline = "";
-
- if (!(-d $directory))
- {
- $returnvalue = mkdir($directory, 0775);
-
- if ($returnvalue)
- {
- $infoline = "\nCreated directory: $directory\n";
- push(@installer::globals::logfileinfo, $infoline);
-
- my $localcall = "chmod 0775 $directory \>\/dev\/null 2\>\&1";
- system($localcall);
-
- # chmod 0775 is not sufficient on mac to remove sticky tag
- $localcall = "chmod a-s $directory \>\/dev\/null 2\>\&1";
- system($localcall);
- }
- else
- {
- # New solution in parallel packing: It is possible, that the directory now exists, although it
- # was not created in this process. There is only an important error, if the directory does not
- # exist now.
-
- $infoline = "\nDid not succeed in creating directory: \"$directory\". Further attempts will follow.\n";
- push(@installer::globals::logfileinfo, $infoline);
-
- if (!(-d $directory))
- {
- # Problem with parallel packaging? -> Try a little harder, before exiting.
- # Did someone else remove the parent directory in the meantime?
- my $parentdir = $directory;
- installer::pathanalyzer::get_path_from_fullqualifiedname(\$parentdir);
- if (!(-d $parentdir))
- {
- $returnvalue = mkdir($parentdir, 0775);
-
- if ($returnvalue)
- {
- $infoline = "\nAttention: Successfully created parent directory (should already be created before): $parentdir\n";
- push(@installer::globals::logfileinfo, $infoline);
-
- my $localcall = "chmod 775 $parentdir \>\/dev\/null 2\>\&1";
- system($localcall);
- }
- else
- {
- $infoline = "\Error: \"$directory\" could not be created. Even the parent directory \"$parentdir\" does not exist and could not be created.\n";
- push(@installer::globals::logfileinfo, $infoline);
- if ( -d $parentdir )
- {
- $infoline = "\nAttention: Finally the parent directory \"$parentdir\" exists, but I could not create it.\n";
- push(@installer::globals::logfileinfo, $infoline);
- }
- else
- {
- # Now it is time to exit, even the parent could not be created.
- installer::exiter::exit_program("ERROR: Could not create parent directory \"$parentdir\"", "create_directory");
- }
- }
- }
-
- # At this point we have to assume, that the parent directory exist.
- # Trying once more to create the desired directory
-
- $returnvalue = mkdir($directory, 0775);
-
- if ($returnvalue)
- {
- $infoline = "\nAttention: Created directory \"$directory\" in the second try.\n";
- push(@installer::globals::logfileinfo, $infoline);
-
- my $localcall = "chmod 775 $directory \>\/dev\/null 2\>\&1";
- system($localcall);
- }
- else
- {
- if ( -d $directory )
- {
- $infoline = "\nAttention: Finally the directory \"$directory\" exists, but I could not create it.\n";
- push(@installer::globals::logfileinfo, $infoline);
- }
- else
- {
- # It is time to exit, even the second try failed.
- installer::exiter::exit_program("ERROR: Failed to create the directory: $directory", "create_directory");
- }
- }
- }
- else
- {
- $infoline = "\nAnother process created this directory in exactly this moment :-) : $directory\n";
- push(@installer::globals::logfileinfo, $infoline);
- }
- }
- }
- else
- {
- $infoline = "\nAlready existing directory, did not create: $directory\n";
- push(@installer::globals::logfileinfo, $infoline);
- }
+ create_directory_with_privileges( $directory, "755" );
}
######################################################
@@ -157,10 +56,10 @@ sub create_directory_with_privileges
my $returnvalue = 1;
my $infoline = "";
+ my $localprivileges = oct("0".$privileges); # changes "777" to 0777
if (!(-d $directory))
{
- my $localprivileges = oct("0".$privileges); # changes "777" to 0777
$returnvalue = mkdir($directory, $localprivileges);
if ($returnvalue)
@@ -168,8 +67,7 @@ sub create_directory_with_privileges
$infoline = "\nCreated directory: $directory\n";
push(@installer::globals::logfileinfo, $infoline);
- my $localcall = "chmod $privileges $directory \>\/dev\/null 2\>\&1";
- system($localcall);
+ chmod $localprivileges, $directory;
}
else
{
@@ -195,8 +93,7 @@ sub create_directory_with_privileges
$infoline = "\nAttention: Successfully created parent directory (should already be created before): $parentdir\n";
push(@installer::globals::logfileinfo, $infoline);
- my $localcall = "chmod $privileges $parentdir \>\/dev\/null 2\>\&1";
- system($localcall);
+ chmod $localprivileges, $parentdir;
}
else
{
@@ -225,8 +122,7 @@ sub create_directory_with_privileges
$infoline = "\nAttention: Created directory \"$directory\" in the second try.\n";
push(@installer::globals::logfileinfo, $infoline);
- my $localcall = "chmod $privileges $directory \>\/dev\/null 2\>\&1";
- system($localcall);
+ chmod $localprivileges, $directory;
}
else
{
@@ -254,8 +150,7 @@ sub create_directory_with_privileges
$infoline = "\nAlready existing directory, did not create: $directory\n";
push(@installer::globals::logfileinfo, $infoline);
- my $localcall = "chmod $privileges $directory \>\/dev\/null 2\>\&1";
- system($localcall);
+ chmod $localprivileges, $directory;
}
}
@@ -374,6 +269,7 @@ sub create_directories
}
if ( $installer::globals::languagepack ) { $path = $path . $localproductname . "_languagepack" . $installer::globals::separator; }
+ elsif ( $installer::globals::helppack ) { $path = $path . $localproductname . "_helppack" . $installer::globals::separator; }
elsif ( $installer::globals::patch ) { $path = $path . $localproductname . "_patch" . $installer::globals::separator; }
else { $path = $path . $localproductname . $installer::globals::separator; }
@@ -395,21 +291,30 @@ sub create_directories
if ( $$languagesref ) { $locallanguagesref = $$languagesref; }
- if (!($locallanguagesref eq "" )) # this will be a path like "01_49", for Profiles and ConfigurationFiles, idt-Files
+ if ($newdirectory eq "install" && $installer::globals::ooodownloadfilename ne "" )
{
- my $languagestring = $$languagesref;
-
- if (length($languagestring) > $installer::globals::max_lang_length )
+ # put packages into versioned path; needed only on linux (fdo#30837)
+ $path = $path . "$installer::globals::ooodownloadfilename" . $installer::globals::separator;
+ create_directory($path);
+ }
+ else
+ {
+ if ($locallanguagesref ne "") # this will be a path like "01_49", for Profiles and ConfigurationFiles, idt-Files
{
- my $number_of_languages = 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;
- }
- $path = $path . $languagestring . $installer::globals::separator;
- create_directory($path);
+ my $languagestring = $$languagesref;
+
+ 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"`);
+ 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;
+ create_directory($path);
+ }
}
}
@@ -439,7 +344,7 @@ sub copy_one_file
}
else
{
- $infoline = "ERROR: Could not copy $source to $dest\n";
+ $infoline = "ERROR: Could not copy $source to $dest $!\n";
$returnvalue = 0;
}
@@ -1194,9 +1099,7 @@ sub rename_directory
}
else
{
- installer::exiter::exit_program("ERROR: Could not move directory from $olddir to $newdir", "rename_directory");
- # $infoline = "\nATTENTION: Could not move directory from $olddir to $newdir, \"rename_directory\"\n";
- # push(@installer::globals::logfileinfo, $infoline);
+ installer::exiter::exit_program("ERROR: Could not move directory from $olddir to $newdir $!", "rename_directory");
}
return $newdir;
@@ -1433,12 +1336,7 @@ sub try_to_create_directory
$infoline = "\nCreated directory: $directory\n";
push(@installer::globals::logfileinfo, $infoline);
- my $localcall = "chmod 0775 $directory \>\/dev\/null 2\>\&1";
- system($localcall);
-
- # chmod 0775 is not sufficient on mac to remove sticky tag
- $localcall = "chmod a-s $directory \>\/dev\/null 2\>\&1";
- system($localcall);
+ chmod 0775, $directory;
}
else
{
diff --git a/solenv/bin/modules/installer/windows/admin.pm b/solenv/bin/modules/installer/windows/admin.pm
index 47a71b059b2a..6c79aaedea3c 100644
--- a/solenv/bin/modules/installer/windows/admin.pm
+++ b/solenv/bin/modules/installer/windows/admin.pm
@@ -54,13 +54,6 @@ sub unpack_cabinet_file
# But this wrong expand.exe is typically in the PATH before this expand.exe, to unpack
# cabinet files.
-# if ( $^O =~ /cygwin/i )
-# {
-# $expandfile = $ENV{'SYSTEMROOT'} . "/system32/expand.exe"; # Has to be located in the systemdirectory
-# $expandfile =~ s/\\/\//;
-# if ( ! -f $expandfile ) { exit_program("ERROR: Did not find file $expandfile in the Windows system folder!"); }
-# }
-
if ( $^O =~ /cygwin/i )
{
$expandfile = qx(cygpath -u "$ENV{WINDIR}"/System32/expand.exe);
@@ -70,7 +63,6 @@ sub unpack_cabinet_file
my $expandlogfile = $unpackdir . $installer::globals::separator . "expand.log";
# exclude cabinet file
- # my $systemcall = $cabarc . " -o X " . $mergemodulehash->{'cabinetfile'};
my $systemcall = "";
if ( $^O =~ /cygwin/i ) {
@@ -326,7 +318,6 @@ sub analyze_registry_file
my $component = $6;
my %helphash = ();
- # $helphash{'Registry'} = $registry;
$helphash{'Root'} = $root;
$helphash{'Key'} = $key;
$helphash{'Name'} = $name;
@@ -489,13 +480,7 @@ sub copy_files_into_directory_structure
}
if ( $destfile =~ /unopkg\.exe\s*$/ ) { $unopkgfile = $destfile; }
-
- # installer::systemactions::copy_one_file($sourcefile, $destfile);
}
- # else # allowing missing sequence numbers ?
- # {
- # installer::exiter::exit_program("ERROR: No file assigned to sequence $i", "copy_files_into_directory_structure");
- # }
}
return $unopkgfile;
@@ -805,8 +790,6 @@ sub remove_empty_dirs_in_folder
# try to remove empty directory
my $returnvalue = rmdir $dir;
-
- # if ( $returnvalue ) { print "Successfully removed empty dir $dir\n"; }
}
}
diff --git a/solenv/bin/modules/installer/windows/assembly.pm b/solenv/bin/modules/installer/windows/assembly.pm
index bb5efe2207d5..349f92cecc42 100644
--- a/solenv/bin/modules/installer/windows/assembly.pm
+++ b/solenv/bin/modules/installer/windows/assembly.pm
@@ -81,7 +81,6 @@ sub get_msiassembly_filemanifest
my $filemanifest = "";
$filemanifest = $onefile->{'uniquename'};
- # $filemanifest = $onefile->{'Name'};
return $filemanifest;
}
@@ -139,8 +138,6 @@ sub get_msiassembly_file
}
# It does not need to exist. For example products that do not contain the libraries.
- # if (! $foundfile ) { installer::exiter::exit_program("ERROR: No unique file name found for $filename !", "get_selfreg_file"); }
-
if (! $foundfile ) { $onefile = ""; }
return $onefile;
@@ -170,8 +167,6 @@ sub get_msiassembly_file_by_gid
}
# It does not need to exist. For example products that do not contain the libraries.
- # if (! $foundfile ) { installer::exiter::exit_program("ERROR: No unique file name found for $filename !", "get_selfreg_file"); }
-
if (! $foundfile ) { $onefile = ""; }
return $onefile;
@@ -344,7 +339,6 @@ sub add_assembly_condition_into_component_table
{
# setting the condition
- # $condition = "MsiNetAssemblySupport";
$condition = "DOTNET_SUFFICIENT=1";
$oneline = $component . "\t" . $componentid . "\t" . $directory . "\t" . $attributes . "\t" . $condition . "\t" . $keypath . "\n";
${$componenttable}[$j] = $oneline;
@@ -368,4 +362,4 @@ sub add_assembly_condition_into_component_table
}
}
-1; \ No newline at end of file
+1;
diff --git a/solenv/bin/modules/installer/windows/component.pm b/solenv/bin/modules/installer/windows/component.pm
index 4ab5aac68954..da11997e5f83 100644
--- a/solenv/bin/modules/installer/windows/component.pm
+++ b/solenv/bin/modules/installer/windows/component.pm
@@ -128,6 +128,11 @@ sub get_file_component_directory
return $installer::globals::templatefolder;
}
+ if ( $destdir =~ /\bPREDEFINED_OSWINSHELLNEWDIR\b/ )
+ {
+ return "WindowsShellNewFolder";
+ }
+
my $destination = $onefile->{'destination'};
installer::pathanalyzer::get_path_from_fullqualifiedname(\$destination);
@@ -395,9 +400,6 @@ sub create_component_table
installer::windows::idtglobal::write_idt_header(\@componenttable, "component");
- # collect_layer_conditions();
-
-
# File components
for ( my $i = 0; $i <= $#{$allfilecomponentsref}; $i++ )
@@ -527,4 +529,4 @@ sub set_component_in_environment_table
}
}
-1; \ No newline at end of file
+1;
diff --git a/solenv/bin/modules/installer/windows/createfolder.pm b/solenv/bin/modules/installer/windows/createfolder.pm
index 7ade8866c6c5..cc3d87e47bb7 100644
--- a/solenv/bin/modules/installer/windows/createfolder.pm
+++ b/solenv/bin/modules/installer/windows/createfolder.pm
@@ -96,6 +96,7 @@ sub get_createfolder_component
my $onefile = "";
if ( $installer::globals::languagepack ) { $onefile = get_languagepack_file($filesref, $onedir); }
+ elsif ( $installer::globals::helppack ) { $onefile = installer::existence::get_specified_file($filesref, 'gid_File_Help_Common_Zip'); }
else { $onefile = installer::existence::get_specified_file($filesref, $globalfilegid); }
return $onefile->{'componentname'};
@@ -121,8 +122,8 @@ sub create_createfolder_table
{
my $onedir = ${$dirref}[$i];
- # language packs get only language dependent directories
- if (( $installer::globals::languagepack ) && ( $onedir->{'specificlanguage'} eq "" )) { next };
+ # language packs and help packs get only language dependent directories
+ if (( $installer::globals::languagepack ) || ( $installer::globals::languagepack ) && ( $onedir->{'specificlanguage'} eq "" )) { next };
my $styles = "";
@@ -150,4 +151,4 @@ sub create_createfolder_table
}
-1; \ No newline at end of file
+1;
diff --git a/solenv/bin/modules/installer/windows/directory.pm b/solenv/bin/modules/installer/windows/directory.pm
index f7b13747e3bf..7a588edeb71b 100644
--- a/solenv/bin/modules/installer/windows/directory.pm
+++ b/solenv/bin/modules/installer/windows/directory.pm
@@ -133,6 +133,8 @@ sub make_short_dir_version
# Adding unique directory names to the directory collection
##############################################################
+my $already_checked_the_frigging_directories_for_uniqueness = 0;
+
sub create_unique_directorynames
{
my ($directoryref, $allvariables) = @_;
@@ -161,6 +163,7 @@ sub create_unique_directorynames
$uniquename =~ s/\.//g; # removing dots in directoryname
$uniquename =~ s/\Q$installer::globals::separator\E/\_/g; # replacing slash and backslash with underline
$uniquename =~ s/OpenOffice/OO/g;
+ $uniquename =~ s/LibreOffice/LO/g;
$uniquename =~ s/_registry/_rgy/g;
$uniquename =~ s/_registration/_rgn/g;
$uniquename =~ s/_extension/_ext/g;
@@ -176,7 +179,8 @@ sub create_unique_directorynames
$uniquename = make_short_dir_version($uniquename, $startlength, $hostname); # taking care of underlines!
}
- if ( exists($installer::globals::alluniquedirectorynames{$uniquename}) )
+ if ( !$already_checked_the_frigging_directories_for_uniqueness &&
+ exists($installer::globals::alluniquedirectorynames{$uniquename}) )
{
# This is an error, that must stop the packaging process
$errorcount++;
@@ -260,6 +264,7 @@ sub check_sourcedir_addon
if (($installer::globals::addchildprojects) ||
($installer::globals::patch) ||
($installer::globals::languagepack) ||
+ ($installer::globals::helppack) ||
($allvariableshashref->{'CHANGETARGETDIR'}))
{
my $sourcediraddon = "\:\.";
@@ -335,7 +340,6 @@ sub create_defaultdir_directorynames
$hostname =~ s/\Q$installer::globals::separator\E\s*$//;
get_last_directory_name(\$hostname);
- # installer::pathanalyzer::make_absolute_filename_to_relative_filename(\$hostname); # making program/classes to classes
my $uniquename = $onedir->{'uniquename'};
my $shortstring;
if (( $installer::globals::updatedatabase ) && ( exists($shortdirnamehashref->{$uniquename}) ))
@@ -408,22 +412,15 @@ sub create_directorytable_from_collection
sub add_root_directories
{
- my ($directorytableref, $allvariableshashref) = @_;
-
-# my $sourcediraddon = "";
-# if (($installer::globals::addchildprojects) ||
-# ($installer::globals::patch) ||
-# ($installer::globals::languagepack) ||
-# ($allvariableshashref->{'CHANGETARGETDIR'}))
-# {
-# $sourcediraddon = "\:\.";
-# }
+ my ($directorytableref, $allvariableshashref, $onelanguage) = @_;
my $oneline = "";
- if (( ! $installer::globals::patch ) && ( ! $installer::globals::languagepack ) && ( ! $allvariableshashref->{'DONTUSESTARTMENUFOLDER'} ))
+ if (( ! $installer::globals::patch ) && ( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack ) && ( ! $allvariableshashref->{'DONTUSESTARTMENUFOLDER'} ))
{
- my $productname = $allvariableshashref->{'PRODUCTNAME'};
+ my $productname;
+
+ $productname = $allvariableshashref->{'PRODUCTNAME'};
my $productversion = $allvariableshashref->{'PRODUCTVERSION'};
my $baseproductversion = $productversion;
@@ -461,6 +458,12 @@ sub add_root_directories
$oneline = "TARGETDIR\t\tSourceDir\n";
push(@{$directorytableref}, $oneline);
+ $oneline = "WindowsFolder\tTARGETDIR\tWindows\n";
+ push(@{$directorytableref}, $oneline);
+
+ $oneline = "WindowsShellNewFolder\tWindowsFolder\tShellNew\n";
+ push(@{$directorytableref}, $oneline);
+
$oneline = "$installer::globals::programfilesfolder\tTARGETDIR\t.\n";
push(@{$directorytableref}, $oneline);
@@ -520,7 +523,7 @@ sub add_root_directories
sub create_directory_table
{
- my ($directoryref, $basedir, $allvariableshashref, $shortdirnamehashref, $loggingdir) = @_;
+ my ($directoryref, $languagesarrayref, $basedir, $allvariableshashref, $shortdirnamehashref, $loggingdir) = @_;
# Structure of the directory table:
# Directory Directory_Parent DefaultDir
@@ -530,28 +533,34 @@ sub create_directory_table
# Before ":" : [sourcedir]:[destdir] (not programmed yet)
# After ":" : 8+3 and not 8+3 the destination directory name
+ for ( my $m = 0; $m <= $#{$languagesarrayref}; $m++ )
+ {
+ my $onelanguage = ${$languagesarrayref}[$m];
+ $installer::globals::installlocationdirectoryset = 0;
+
my @directorytable = ();
my $infoline;
overwrite_programfilesfolder($allvariableshashref);
if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "directoriesforidt_local_1.log", $directoryref); }
create_unique_directorynames($directoryref, $allvariableshashref);
+ $already_checked_the_frigging_directories_for_uniqueness++;
if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "directoriesforidt_local_1a.log", $directoryref); }
create_defaultdir_directorynames($directoryref, $shortdirnamehashref); # only destdir!
if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "directoriesforidt_local_2.log", $directoryref); }
set_installlocation_directory($directoryref, $allvariableshashref);
if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "directoriesforidt_local_3.log", $directoryref); }
installer::windows::idtglobal::write_idt_header(\@directorytable, "directory");
- add_root_directories(\@directorytable, $allvariableshashref);
+ add_root_directories(\@directorytable, $allvariableshashref, $onelanguage);
create_directorytable_from_collection(\@directorytable, $directoryref);
# Saving the file
- my $directorytablename = $basedir . $installer::globals::separator . "Director.idt";
+ my $directorytablename = $basedir . $installer::globals::separator . "Director.idt" . "." . $onelanguage;
installer::files::save_file($directorytablename ,\@directorytable);
$infoline = "Created idt file: $directorytablename\n";
push(@installer::globals::logfileinfo, $infoline);
-
+ }
}
1;
diff --git a/solenv/bin/modules/installer/windows/feature.pm b/solenv/bin/modules/installer/windows/feature.pm
index 39521baecdfe..e5aa5f5a3fdc 100644
--- a/solenv/bin/modules/installer/windows/feature.pm
+++ b/solenv/bin/modules/installer/windows/feature.pm
@@ -120,8 +120,8 @@ sub get_feature_display
# Special handling for c05office. No program module visible.
if (( $onefeature->{'gid'} eq "gid_Module_Prg" ) && ( $installer::globals::product =~ /c05office/i )) { $display = "0"; }
- # making all feature invisible in Language packs!
- if ( $installer::globals::languagepack ) { $display = "0"; }
+ # making all feature invisible in Language packs and in Help packs!
+ if ( $installer::globals::languagepack || $installer::globals::helppack ) { $display = "0"; }
return $display
}
@@ -218,7 +218,8 @@ sub replace_variables
{
my ($translationfile, $variableshashref) = @_;
- foreach $key (keys %{$variableshashref})
+ # we want to substitute FOO_BR before FOO to avoid floating _BR suffixes
+ foreach $key (sort { length ($b) <=> length ($a) } keys %{$variableshashref})
{
my $value = $variableshashref->{$key};
replace_one_variable($translationfile, $value, $key);
@@ -399,7 +400,6 @@ sub create_feature_table
$feature{'feature'} = get_feature_gid($onefeature);
$feature{'feature_parent'} = get_feature_parent($onefeature);
- # if ( $onefeature->{'ParentID'} eq "" ) { $feature{'feature_parent'} = ""; } # Root has no parent
$feature{'Title'} = $onefeature->{'Name'};
$feature{'Description'} = $onefeature->{'Description'};
$feature{'Display'} = get_feature_display($onefeature);
diff --git a/solenv/bin/modules/installer/windows/featurecomponent.pm b/solenv/bin/modules/installer/windows/featurecomponent.pm
index c5053212aad3..8e9ebee84703 100644
--- a/solenv/bin/modules/installer/windows/featurecomponent.pm
+++ b/solenv/bin/modules/installer/windows/featurecomponent.pm
@@ -132,71 +132,6 @@ sub create_featurecomponent_table_from_registry_collector
}
#################################################################################
-# Collecting all feature that are listed in the featurecomponent table.
-#################################################################################
-
-sub collect_all_feature
-{
- my ($featurecomponenttable) = @_;
-
- my @allfeature = ();
-
- for ( my $i = 3; $i <= $#{$featurecomponenttable}; $i++ ) # beginning in line 4
- {
- my $oneline = ${$featurecomponenttable}[$i];
-
- if ( $oneline =~ /^\s*(\S+)\s+(\S+)\s*$/ )
- {
- my $feature = $1;
-
- if (! installer::existence::exists_in_array($feature, \@allfeature)) { push(@allfeature, $feature); }
- }
- }
-
- return \@allfeature;
-}
-
-#################################################################################
-# On Win98 and Win Me there seems to be the problem, that maximum 817
-# components can be added to a feature. Even if Windows Installer 2.0
-# is used.
-#################################################################################
-
-sub check_number_of_components_at_feature
-{
- my ($featurecomponenttable) = @_;
-
- my $infoline = "\nChecking number of components at features. Maximum is 817 (for Win 98 and Win Me)\n";
- push(@installer::globals::logfileinfo, $infoline);
-
- my $allfeature = collect_all_feature($featurecomponenttable);
-
- for ( my $i = 0; $i <= $#{$allfeature}; $i++ )
- {
- my $onefeature = ${$allfeature}[$i];
- my $featurecomponents = 0;
-
- for ( my $j = 0; $j <= $#{$featurecomponenttable}; $j++ )
- {
- if ( ${$featurecomponenttable}[$j] =~ /^\s*\Q$onefeature\E\s+(\S+)\s*$/ ) { $featurecomponents++; }
- }
-
- if ( $featurecomponents > 816 )
- {
- installer::exiter::exit_program("ERROR: More than 816 components ($featurecomponents) at feature $onefeature. This causes problems on Win 98 and Win Me!", "check_number_of_components_at_feature");
- }
-
- # Logging the result
-
- $infoline = "Number of components at feature $onefeature : $featurecomponents\n";
- push(@installer::globals::logfileinfo, $infoline);
- }
-
- $infoline = "\n";
- push(@installer::globals::logfileinfo, $infoline);
-}
-
-#################################################################################
# Creating the file FeatureC.idt dynamically
# Content:
# Feature Component
@@ -228,10 +163,6 @@ sub create_featurecomponent_table
# Additional components have to be added here
- # Checking, whether there are more than 817 components at a feature
-
- check_number_of_components_at_feature(\@featurecomponenttable);
-
# Saving the file
my $featurecomponenttablename = $basedir . $installer::globals::separator . "FeatureC.idt";
@@ -241,4 +172,4 @@ sub create_featurecomponent_table
}
-1; \ No newline at end of file
+1;
diff --git a/solenv/bin/modules/installer/windows/file.pm b/solenv/bin/modules/installer/windows/file.pm
index 3ac72ecf6ac3..c4315b43aceb 100644
--- a/solenv/bin/modules/installer/windows/file.pm
+++ b/solenv/bin/modules/installer/windows/file.pm
@@ -877,7 +877,6 @@ sub create_files_table
# The filenames must be collected because of uniqueness
# 01-44-~1.DAT, 01-44-~2.DAT, ...
- # my @shortnames = ();
my %shortnames = ();
if ( $installer::globals::updatedatabase ) { collect_shortnames_from_old_database($uniquefilenamehashref, \%shortnames); }
@@ -902,7 +901,6 @@ sub create_files_table
$onefile->{'componentname'} = $file{'Component_'};
# Collecting all components
- # if (!(installer::existence::exists_in_array($file{'Component_'}, $allfilecomponentsref))) { push(@{$allfilecomponentsref}, $file{'Component_'}); }
if ( ! exists($allfilecomponents{$file{'Component_'}}) ) { $allfilecomponents{$file{'Component_'}} = 1; }
@@ -984,7 +982,6 @@ sub create_files_table
}
# Collecting all language specific conditions
- # if ( $onefile->{'haslanguagemodule'} )
if ( $onefile->{'ismultilingual'} )
{
if ( $onefile->{'ComponentCondition'} ) { installer::exiter::exit_program("ERROR: Cannot set language condition. There is already another component condition for file $onefile->{'gid'}: \"$onefile->{'ComponentCondition'}\" !", "create_files_table"); }
diff --git a/solenv/bin/modules/installer/windows/font.pm b/solenv/bin/modules/installer/windows/font.pm
index 9dab78caf5f7..3e3afed5577b 100644
--- a/solenv/bin/modules/installer/windows/font.pm
+++ b/solenv/bin/modules/installer/windows/font.pm
@@ -58,7 +58,6 @@ sub create_font_table
my %font = ();
$font{'File_'} = $onefile->{'uniquename'};
- # $font{'FontTitle'} = $onefile->{'FontName'}; # results in a warning during validation
$font{'FontTitle'} = "";
my $oneline = $font{'File_'} . "\t" . $font{'FontTitle'} . "\n";
diff --git a/solenv/bin/modules/installer/windows/idtglobal.pm b/solenv/bin/modules/installer/windows/idtglobal.pm
index 4a54ead9dfd4..94b5dcc62399 100644
--- a/solenv/bin/modules/installer/windows/idtglobal.pm
+++ b/solenv/bin/modules/installer/windows/idtglobal.pm
@@ -139,7 +139,6 @@ sub get_next_free_number_with_hash
if (!($dontsave))
{
- # push(@{$shortnamesref}, $newname); # adding the new shortname to the array of shortnames
$shortnamesref->{$newname} = 1; # adding the new shortname to the array of shortnames, always uppercase
$saved = 1;
}
@@ -273,7 +272,6 @@ sub make_eight_three_conform_with_hash
my $changed = 0;
my $saved;
- # if (( $inputstring =~ /^\s*(.*?)\.(.*?)\s*$/ ) && ( $pattern eq "file" )) # files with a dot
if (( $inputstring =~ /^\s*(.*)\.(.*?)\s*$/ ) && ( $pattern eq "file" )) # files with a dot
{
# extension has to be non-greedy, but name is. This is important to find the last dot in the filename
@@ -401,7 +399,7 @@ sub write_idt_header
{
$oneline = "File\tComponent_\tFileName\tFileSize\tVersion\tLanguage\tAttributes\tSequence\n";
push(@{$idtref}, $oneline);
- $oneline = "s72\ts72\tl255\ti4\tS72\tS20\tI2\ti2\n";
+ $oneline = "s72\ts72\tl255\ti4\tS72\tS20\tI2\ti4\n";
push(@{$idtref}, $oneline);
$oneline = "File\tFile\n";
push(@{$idtref}, $oneline);
@@ -461,7 +459,7 @@ sub write_idt_header
{
$oneline = "DiskId\tLastSequence\tDiskPrompt\tCabinet\tVolumeLabel\tSource\n";
push(@{$idtref}, $oneline);
- $oneline = "i2\ti2\tL64\tS255\tS32\tS72\n";
+ $oneline = "i2\ti4\tL64\tS255\tS32\tS72\n";
push(@{$idtref}, $oneline);
$oneline = "Media\tDiskId\n";
push(@{$idtref}, $oneline);
@@ -629,7 +627,6 @@ sub get_languagefilename
{
my ($idtfilename, $basedir) = @_;
- # $idtfilename =~ s/\.idt/\.ulf/;
$idtfilename =~ s/\.idt/\.mlf/;
my $languagefilename = $basedir . $installer::globals::separator . $idtfilename;
@@ -758,7 +755,6 @@ sub translate_idtfile
my $language_block = get_language_block_from_language_file($oldstring, $languagefile);
my $newstring = get_language_string_from_language_block($language_block, $onelanguage, $oldstring);
- # if (!( $newstring eq "" )) { ${$idtfile}[$i] =~ s/$oldstring/$newstring/; }
${$idtfile}[$i] =~ s/$oldstring/$newstring/; # always substitute, even if $newstring eq "" (there are empty strings for control.idt)
}
}
@@ -922,18 +918,12 @@ sub get_rtf_licensetext
for ( my $i = 0; $i <= $#{$licensefile}; $i++ )
{
my $oneline = ${$licensefile}[$i];
- # if ( $oneline =~ /^\s*$/ ) { $oneline = '\par'; } # empty lines
if ( $i == 0 ) { $oneline =~ s/^\W*//; }
$oneline =~ s/\t/ /g; # no tabs allowed, converting to four spaces
$oneline =~ s/\n$//g; # no newline at line end
-# $oneline =~ s/ä/\\\'e4/g; # converting "ä"
-# $oneline =~ s/ö/\\\'f6/g; # converting "ö"
-# $oneline =~ s/ü/\\\'fc/g; # converting "ü"
-# $oneline =~ s/ß/\\\'df/g; # converting "ß"
-
# german replacements
$oneline =~ s/\Ã\„/\\\'c4/g; # converting "Ä"
@@ -1146,11 +1136,7 @@ sub add_language_checkboxes_to_database
my $onelanguage = ${$languagesarrayref}[$i];
my $windowslanguage = installer::windows::language::get_windows_language($onelanguage);
- # my $is_english = 0;
- # if ( $windowslanguage eq "1033" ) { $is_english = 1; }
-
my $checkboxattribute = "3";
- # if ( $is_english ) { $checkboxattribute = "1"; } # english is not deselectable
my $count = $i + 1;
my $nextcount = $i + 2;
@@ -1167,7 +1153,6 @@ sub add_language_checkboxes_to_database
my $yvalue = $offset + $i * $multiplier;
my $property = "IS" . $windowslanguage;
- # if ( ! exists($installer::globals::languageproperties{$property}) ) { installer::exiter::exit_program("ERROR: Could not find property \"$property\" in the list of language properties!", "add_language_checkboxes_to_database"); }
my $controlnext = "";
if ( $last ) { $controlnext = "Next"; }
@@ -1301,7 +1286,7 @@ sub set_custom_action
# All files are located in $filesref and in @installer::globals::binarytableonlyfiles.
# Both must be added together
- my $localfilesref = installer::converter::combine_arrays_from_references(\@installer::globals::binarytableonlyfiles, $filesref);
+ my $localfilesref = [@installer::globals::binarytableonlyfiles, @{$filesref}];
for ( my $i = 0; $i <= $#{$localfilesref}; $i++ )
{
@@ -1379,7 +1364,7 @@ sub add_custom_action_to_install_table
# All files are located in $filesref and in @installer::globals::binarytableonlyfiles.
# Both must be added together
- my $localfilesref = installer::converter::combine_arrays_from_references(\@installer::globals::binarytableonlyfiles, $filesref);
+ my $localfilesref = [@installer::globals::binarytableonlyfiles, @{$filesref}];
for ( my $i = 0; $i <= $#{$localfilesref}; $i++ )
{
@@ -1613,7 +1598,6 @@ sub include_subdirname_into_directory_table
{
my $newuniquename = "sub" . $subdir;
$newdir = $newuniquename;
- # my $newparent = $parent;
my $newparent = "INSTALLLOCATION";
my $newname = $name . "\:" . $subdir;
my $newline =
@@ -2097,7 +2081,7 @@ sub get_customaction_position
##########################################################################
# Setting the position of CustomActions in sequence tables.
-# Replacing all occurences of "POSITIONTEMPLATE_"
+# Replacing all occurrences of "POSITIONTEMPLATE_"
##########################################################################
sub set_positions_in_table
@@ -2107,7 +2091,7 @@ sub set_positions_in_table
my $infoline = "\nSetting positions in table \"$tablename\".\n";
push(@installer::globals::logfileinfo, $infoline);
- # Step 1: Resolving all occurences of "POSITIONTEMPLATE_end"
+ # Step 1: Resolving all occurrences of "POSITIONTEMPLATE_end"
my $lastposition = get_last_position_in_sequencetable($sequencetable);
@@ -2123,9 +2107,9 @@ sub set_positions_in_table
}
}
- # Step 2: Resolving all occurences of "POSITIONTEMPLATE_abc" or "POSITIONTEMPLATE_behind_abc"
+ # Step 2: Resolving all occurrences of "POSITIONTEMPLATE_abc" or "POSITIONTEMPLATE_behind_abc"
# where abc is the name of the reference Custom Action.
- # This has to be done, until there is no more occurence of POSITIONTEMPLATE (success)
+ # This has to be done, until there is no more occurrence of POSITIONTEMPLATE (success)
# or there is no replacement in one circle (failure).
my $template_exists = 0;
@@ -2180,7 +2164,7 @@ sub set_positions_in_table
}
} while (( $template_exists ) && ( $template_replaced ));
- # An error occured, because templates still exist, but could not be replaced.
+ # An error occurred, because templates still exist, but could not be replaced.
# Reason:
# 1. Wrong name of CustomAction in scp2 (typo?)
# 2. Circular dependencies of CustomActions (A after B and B after A)
@@ -2193,9 +2177,6 @@ sub set_positions_in_table
if (( $template_exists ) && ( ! $template_replaced ))
{
- # Giving a precise error message, collecting all unresolved templates
- # my $templatestring = "";
-
for ( my $i = 0; $i <= $#{$sequencetable}; $i++ )
{
if ( ${$sequencetable}[$i] =~ /^\s*([\w\.]+)\t.*\t\s*(POSITIONTEMPLATE_.*?)\s*$/ )
@@ -2204,22 +2185,12 @@ sub set_positions_in_table
my $fulltemplate = $2;
my $template = $fulltemplate;
$template =~ s/POSITIONTEMPLATE_//;
- # my $newstring = $customactionname . " (" . $template . ")";
- # $templatestring = $templatestring . $newstring . ", ";
- # Setting at the end!
$lastposition = $lastposition + 25;
${$sequencetable}[$i] =~ s/$fulltemplate/$lastposition/;
$infoline = "WARNING: Setting position \"$lastposition\" for custom action \"$customactionname\". Could not find CustomAction \"$template\".\n";
push(@installer::globals::logfileinfo, $infoline);
}
}
- # $templatestring =~ s/,\s*$//;
-
- # $infoline = "Error: Saving table \"$tablename\"\n";
- # push(@installer::globals::logfileinfo, $infoline);
- # print $infoline;
- # installer::files::save_file($tablename, $sequencetable);
- # installer::exiter::exit_program("ERROR: Unresolved positions in CustomActions in scp2: $templatestring", "set_positions_in_table");
}
}
diff --git a/solenv/bin/modules/installer/windows/language.pm b/solenv/bin/modules/installer/windows/language.pm
index c0dca543eb56..a95bed94517c 100644
--- a/solenv/bin/modules/installer/windows/language.pm
+++ b/solenv/bin/modules/installer/windows/language.pm
@@ -60,7 +60,6 @@ sub get_windows_encoding
if ( $installer::globals::msiencoding->{$language} ) { $windowsencoding = $installer::globals::msiencoding->{$language}; }
- # if ( $windowsencoding eq "" ) { installer::exiter::exit_program("ERROR: Unknown language $language in function get_windows_encoding", "get_windows_encoding"); }
if ( $windowsencoding eq "" ) { $windowsencoding = "0"; } # setting value, if the language is not listed in the encodinglist
if ( $windowsencoding eq "0" ) { $windowsencoding = "65001"; } # languages with "0" have to be available in UTF-8 (65001)
@@ -71,4 +70,4 @@ sub get_windows_encoding
return $windowsencoding;
}
-1; \ No newline at end of file
+1;
diff --git a/solenv/bin/modules/installer/windows/media.pm b/solenv/bin/modules/installer/windows/media.pm
index 35e90f6a3856..12da8a723c9d 100644
--- a/solenv/bin/modules/installer/windows/media.pm
+++ b/solenv/bin/modules/installer/windows/media.pm
@@ -351,7 +351,6 @@ sub create_media_table
if ( $allvariables->{'CABFILENUMBER'} ) { $maxcabfilenumber = $allvariables->{'CABFILENUMBER'}; }
my $allfiles = $#{$filesref} + 1;
my $maxfilenumber = get_maximum_filenumber($allfiles, $maxcabfilenumber);
- # my $maxfilenumber = 1000; # maximum 1000 files in each cabinet file
my $cabfilenumber = 0;
my $cabfull = 0;
my $counter = 0;
@@ -385,7 +384,6 @@ sub create_media_table
$cabfilenumber++;
$media{'DiskId'} = get_media_diskid($cabfilenumber);
- # $media{'LastSequence'} = get_media_lastsequence($onefile);
$media{'LastSequence'} = $i + 1; # This should be correct, also for unsorted files collectors
$media{'DiskPrompt'} = get_media_diskprompt();
$media{'Cabinet'} = generate_cab_filename_for_some_cabs($allvariables, $cabfilenumber);
@@ -420,7 +418,6 @@ sub create_media_table
my $maximumfile = $#{$filesref};
$media{'DiskId'} = get_media_diskid($diskid);
- # $media{'LastSequence'} = ${$filesref}[$maximumfile]->{'sequencenumber'}; # sequence number of the last file
$media{'LastSequence'} = $maximumfile + 1; # This works also for unsorted file collector
$media{'DiskPrompt'} = get_media_diskprompt();
$media{'Cabinet'} = generate_cab_filename($allvariables);
diff --git a/solenv/bin/modules/installer/windows/mergemodule.pm b/solenv/bin/modules/installer/windows/mergemodule.pm
index eb524fdafc3e..b9591c417994 100755
--- a/solenv/bin/modules/installer/windows/mergemodule.pm
+++ b/solenv/bin/modules/installer/windows/mergemodule.pm
@@ -51,7 +51,7 @@ sub merge_mergemodules_into_msi_database
my ($mergemodules, $filesref, $msifilename, $languagestringref, $language, $languagefile, $allvariables, $includepatharrayref, $allupdatesequences, $allupdatelastsequences, $allupdatediskids) = @_;
my $domerge = 0;
- if (( $#{$mergemodules} > -1 ) && ( ! $installer::globals::patch ) && ( ! $installer::globals::languagepack )) { $domerge = 1; }
+ if (( $#{$mergemodules} > -1 ) && ( ! $installer::globals::patch ) && ( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack )) { $domerge = 1; }
if ( $domerge )
{
@@ -79,7 +79,6 @@ sub merge_mergemodules_into_msi_database
%installer::globals::mergemodules = ();
my $mergemoduledir = installer::systemactions::create_directories("mergefiles", $languagestringref);
- # push(@installer::globals::removedirs, $mergemoduledir);
my $mergemodule;
foreach $mergemodule ( @{$mergemodules} )
@@ -144,7 +143,6 @@ sub merge_mergemodules_into_msi_database
}
else
{
- # $systemcall = $msidb . " -d " . $filename . " -f " . $workdir . " -e File Component MsiAssembly Directory";
$systemcall = $msidb . " -d " . $filename . " -f " . $workdir . " -e \*";
}
@@ -398,14 +396,14 @@ sub merge_mergemodules_into_msi_database
installer::logger::include_timestamp_into_logfile("\nPerformance Info: After merging database");
# Saving original idt files
- if ( -f "File.idt" ) { installer::systemactions::rename_one_file("File.idt", "File.idt.$counter"); }
- if ( -f "Media.idt" ) { installer::systemactions::rename_one_file("Media.idt", "Media.idt.$counter"); }
- if ( -f "Directory.idt" ) { installer::systemactions::rename_one_file("Directory.idt", "Directory.idt.$counter"); }
- if ( -f "Director.idt" ) { installer::systemactions::rename_one_file("Director.idt", "Director.idt.$counter"); }
- if ( -f "FeatureComponents.idt" ) { installer::systemactions::rename_one_file("FeatureComponents.idt", "FeatureComponents.idt.$counter"); }
- if ( -f "FeatureC.idt" ) { installer::systemactions::rename_one_file("FeatureC.idt", "FeatureC.idt.$counter"); }
- if ( -f "MsiAssembly.idt" ) { installer::systemactions::rename_one_file("MsiAssembly.idt", "MsiAssembly.idt.$counter"); }
- if ( -f "MsiAssem.idt" ) { installer::systemactions::rename_one_file("MsiAssem.idt", "MsiAssem.idt.$counter"); }
+ if ( -f "File.idt" ) { installer::systemactions::rename_one_file("File.idt", "old.File.idt.$counter"); }
+ if ( -f "Media.idt" ) { installer::systemactions::rename_one_file("Media.idt", "old.Media.idt.$counter"); }
+ if ( -f "Directory.idt" ) { installer::systemactions::rename_one_file("Directory.idt", "old.Directory.idt.$counter"); }
+ if ( -f "Director.idt" ) { installer::systemactions::rename_one_file("Director.idt", "old.Director.idt.$counter"); }
+ if ( -f "FeatureComponents.idt" ) { installer::systemactions::rename_one_file("FeatureComponents.idt", "old.FeatureComponents.idt.$counter"); }
+ if ( -f "FeatureC.idt" ) { installer::systemactions::rename_one_file("FeatureC.idt", "old.FeatureC.idt.$counter"); }
+ if ( -f "MsiAssembly.idt" ) { installer::systemactions::rename_one_file("MsiAssembly.idt", "old.MsiAssembly.idt.$counter"); }
+ if ( -f "MsiAssem.idt" ) { installer::systemactions::rename_one_file("MsiAssem.idt", "old.MsiAssem.idt.$counter"); }
# Extracting tables
@@ -474,13 +472,13 @@ sub merge_mergemodules_into_msi_database
# merged into the three ExecuteSequences with the following process (also into InstallUISequence.idt).
# Saving original idt files
- if ( -f "InstallE.idt" ) { installer::systemactions::rename_one_file("InstallE.idt", "InstallE.idt.$counter"); }
- if ( -f "InstallU.idt" ) { installer::systemactions::rename_one_file("InstallU.idt", "InstallU.idt.$counter"); }
- if ( -f "AdminExe.idt" ) { installer::systemactions::rename_one_file("AdminExe.idt", "AdminExe.idt.$counter"); }
- if ( -f "AdvtExec.idt" ) { installer::systemactions::rename_one_file("AdvtExec.idt", "AdvtExec.idt.$counter"); }
- if ( -f "ModuleInstallExecuteSequence.idt" ) { installer::systemactions::rename_one_file("ModuleInstallExecuteSequence.idt", "ModuleInstallExecuteSequence.idt.$counter"); }
- if ( -f "ModuleAdminExecuteSequence.idt" ) { installer::systemactions::rename_one_file("ModuleAdminExecuteSequence.idt", "ModuleAdminExecuteSequence.idt.$counter"); }
- if ( -f "ModuleAdvtExecuteSequence.idt" ) { installer::systemactions::rename_one_file("ModuleAdvtExecuteSequence.idt", "ModuleAdvtExecuteSequence.idt.$counter"); }
+ if ( -f "InstallE.idt" ) { installer::systemactions::rename_one_file("InstallE.idt", "old.InstallE.idt.$counter"); }
+ if ( -f "InstallU.idt" ) { installer::systemactions::rename_one_file("InstallU.idt", "old.InstallU.idt.$counter"); }
+ if ( -f "AdminExe.idt" ) { installer::systemactions::rename_one_file("AdminExe.idt", "old.AdminExe.idt.$counter"); }
+ if ( -f "AdvtExec.idt" ) { installer::systemactions::rename_one_file("AdvtExec.idt", "old.AdvtExec.idt.$counter"); }
+ if ( -f "ModuleInstallExecuteSequence.idt" ) { installer::systemactions::rename_one_file("ModuleInstallExecuteSequence.idt", "old.ModuleInstallExecuteSequence.idt.$counter"); }
+ if ( -f "ModuleAdminExecuteSequence.idt" ) { installer::systemactions::rename_one_file("ModuleAdminExecuteSequence.idt", "old.ModuleAdminExecuteSequence.idt.$counter"); }
+ if ( -f "ModuleAdvtExecuteSequence.idt" ) { installer::systemactions::rename_one_file("ModuleAdvtExecuteSequence.idt", "old.ModuleAdvtExecuteSequence.idt.$counter"); }
# Extracting tables
my $moduleexecutetables = "ModuleInstallExecuteSequence ModuleAdminExecuteSequence ModuleAdvtExecuteSequence"; # new tables
@@ -557,16 +555,22 @@ sub merge_mergemodules_into_msi_database
my $localworkdir = $workdir;
$localmsifilename =~ s/\//\\\\/g;
$localworkdir =~ s/\//\\\\/g;
- $systemcall = $msidb . " -d " . $localmsifilename . " -f " . $localworkdir . " -i " . $workingtables. " " . $executetables;
+ foreach $table (split / /, $workingtables . ' ' . $executetables) {
+ $systemcall = $msidb . " -d " . $localmsifilename . " -f " . $localworkdir . " -i " . $table;
+ my $retval = system($systemcall);
+ $infoline = "Systemcall returned $retval: $systemcall\n";
+ push( @installer::globals::logfileinfo, $infoline);
+ $returnvalue |= $retval;
+ }
}
else
{
$systemcall = $msidb . " -d " . $msifilename . " -f " . $workdir . " -i " . $workingtables. " " . $executetables;
- }
- $returnvalue = system($systemcall);
+ $returnvalue = system($systemcall);
+ $infoline = "Systemcall: $systemcall\n";
+ push( @installer::globals::logfileinfo, $infoline);
- $infoline = "Systemcall: $systemcall\n";
- push( @installer::globals::logfileinfo, $infoline);
+ }
if ($returnvalue)
{
@@ -1105,23 +1109,6 @@ sub change_file_table
{
if ( ! -d $unpackdir ) { installer::systemactions::create_directory($unpackdir); }
- # Unpack the cab file, so that in can be included into the last office cabinet file. Attention: cararc.exe from cabsdk required.
- # cabarc.exe -o X <fullcabfilepath>
-
- # my $cabarcfilename = "cabarc.exe";
- # my $cabarcfile = installer::scriptitems::get_sourcepath_from_filename_and_includepath(\$cabarcfilename, $includepatharrayref, 1);
-
- # if ( ! -f $$cabarcfile )
- # {
- # $cabarcfilename = "CABARC.EXE";
- # $cabarcfile = installer::scriptitems::get_sourcepath_from_filename_and_includepath(\$cabarcfilename, $includepatharrayref, 1);
- # if ( ! -f $$cabarcfile )
- # {
- # installer::exiter::exit_program("ERROR: cabarc.exe not found !", "change_file_table");
- # }
- # }
- # my $cabarc = $$cabarcfile;
-
# changing directory
my $from = cwd();
my $to = $mergemodulehash->{'workdir'};
@@ -1148,9 +1135,6 @@ sub change_file_table
my $cabfilename = "MergeModule.CABinet";
- # exclude cabinet file
- # my $systemcall = $cabarc . " -o X " . $mergemodulehash->{'cabinetfile'};
-
my $systemcall = "";
if ( $^O =~ /cygwin/i ) {
my $localunpackdir = qx(cygpath -m "$unpackdir");
diff --git a/solenv/bin/modules/installer/windows/msiglobal.pm b/solenv/bin/modules/installer/windows/msiglobal.pm
index dbb6e051aa29..07f6b73c9cbc 100644
--- a/solenv/bin/modules/installer/windows/msiglobal.pm
+++ b/solenv/bin/modules/installer/windows/msiglobal.pm
@@ -64,7 +64,10 @@ sub write_ddf_file_header
push(@{$ddffileref} ,$oneline);
$oneline = ".Set Compress=ON\n";
push(@{$ddffileref} ,$oneline);
- $oneline = ".Set CompressionLevel=$installer::globals::cabfilecompressionlevel\n";
+# The window size for LZX compression
+# CompressionMemory=15 | 16 | ... | 21
+# Reference: http://msdn.microsoft.com/en-us/library/bb417343.aspx
+ $oneline = ".Set CompressionMemory=$installer::globals::cabfilecompressionlevel\n";
push(@{$ddffileref} ,$oneline);
$oneline = ".Set Cabinet=ON\n";
push(@{$ddffileref} ,$oneline);
@@ -1010,9 +1013,9 @@ sub create_transforms
my $infoline = "Systemcall: $systemcall\n";
push( @installer::globals::logfileinfo, $infoline);
- # Problem: msitran.exe in version 4.0 always returns "1", even if no failure occured.
+ # Problem: msitran.exe in version 4.0 always returns "1", even if no failure occurred.
# Therefore it has to be checked, if this is version 4.0. If yes, if the mst file
- # exists and if it is larger than 0 bytes. If this is true, then no error occured.
+ # exists and if it is larger than 0 bytes. If this is true, then no error occurred.
# File Version of msitran.exe: 4.0.6000.16384 has checksum: "b66190a70145a57773ec769e16777b29".
# Same for msitran.exe from wntmsci12: "aa25d3445b94ffde8ef0c1efb77a56b8"
@@ -1026,7 +1029,7 @@ sub create_transforms
my $digest = Digest::MD5->new->addfile(*FILE)->hexdigest;
close(FILE);
- my @problemchecksums = ("b66190a70145a57773ec769e16777b29", "aa25d3445b94ffde8ef0c1efb77a56b8");
+ my @problemchecksums = ("b66190a70145a57773ec769e16777b29", "aa25d3445b94ffde8ef0c1efb77a56b8", "748206e54fc93efe6a1aaa9d491f3ad1");
my $isproblemchecksum = 0;
foreach my $problemchecksum ( @problemchecksums )
@@ -1057,13 +1060,13 @@ sub create_transforms
}
else
{
- $infoline = "Filesize indicates that an error occured.\n";
+ $infoline = "Filesize indicates that an error occurred.\n";
push( @installer::globals::logfileinfo, $infoline);
}
}
else
{
- $infoline = "File $transformfile does not exist -> An error occured.\n";
+ $infoline = "File $transformfile does not exist -> An error occurred.\n";
push( @installer::globals::logfileinfo, $infoline);
}
}
@@ -1476,7 +1479,6 @@ sub get_guid_list
# "-c" for uppercase output
- # my $systemcall = "$uuidgen -n$number -c |";
my $systemcall = "$uuidgen -n$number |";
open (UUIDGEN, "$systemcall" ) or die("uuidgen is missing.");
my @uuidlist = <UUIDGEN>;
@@ -1519,7 +1521,6 @@ sub calculate_guid
my $digest = $md5->hexdigest;
$digest = uc($digest);
- # my $id = pack("A32", $digest);
my ($first, $second, $third, $fourth, $fifth) = unpack ('A8 A4 A4 A4 A12', $digest);
$guid = "$first-$second-$third-$fourth-$fifth";
@@ -1593,8 +1594,6 @@ sub set_uuid_into_component_table
my $infoline = "";
my $counter = 0;
- # my $componentfile = installer::files::read_file($installer::globals::componentfilename);
- # my $componenthash = fill_component_hash($componentfile);
for ( my $i = 3; $i <= $#{$componenttable}; $i++ ) # ignoring the first three lines
{
@@ -1604,13 +1603,6 @@ sub set_uuid_into_component_table
my $uuid = "";
- # if ( $componenthash->{$componentname} )
- # {
- # $uuid = $componenthash->{$componentname};
- # }
- # else
- # {
-
if ( exists($installer::globals::calculated_component_guids{$componentname}))
{
$uuid = $installer::globals::calculated_component_guids{$componentname};
@@ -1634,44 +1626,12 @@ sub set_uuid_into_component_table
if ( exists($installer::globals::allcalculated_guids{$uuid}) ) { installer::exiter::exit_program("ERROR: \"$uuid\" was already created before!", "set_uuid_into_component_table"); }
$installer::globals::allcalculated_guids{$uuid} = 1;
$installer::globals::calculated_component_guids{$componentname} = $uuid;
-
- # Setting new uuid
- # $componenthash->{$componentname} = $uuid;
-
- # Setting flag
- # $installer::globals::created_new_component_guid = 1; # this is very important!
}
- # }
${$componenttable}[$i] =~ s/COMPONENTGUID/$uuid/;
}
installer::files::save_file($componenttablename, $componenttable);
-
-# if ( $installer::globals::created_new_component_guid )
-# {
-# # create new component file!
-# $componentfile = create_new_component_file($componenthash);
-# installer::worker::sort_array($componentfile);
-#
-# # To avoid conflict the components file cannot be saved at the same place
-# # All important data have to be saved in the directory: $installer::globals::infodirectory
-# my $localcomponentfilename = $installer::globals::componentfilename;
-# installer::pathanalyzer::make_absolute_filename_to_relative_filename(\$localcomponentfilename);
-# $localcomponentfilename = $installer::globals::infodirectory . $installer::globals::separator . $localcomponentfilename;
-# installer::files::save_file($localcomponentfilename, $componentfile);
-#
-# # installer::files::save_file($installer::globals::componentfilename, $componentfile); # version using new file in solver
-#
-# $infoline = "COMPONENTCODES: Created $counter new GUIDs for components ! \n";
-# push( @installer::globals::logfileinfo, $infoline);
-# }
-# else
-# {
-# $infoline = "SUCCESS COMPONENTCODES: All component codes exist! \n";
-# push( @installer::globals::logfileinfo, $infoline);
-# }
-
}
#########################################################################
@@ -1884,8 +1844,6 @@ sub execute_packaging
installer::logger::print_message( "... makecab.exe ($callscounter/$allmakecabcalls) ... \n" );
- # my $returnvalue = system($systemcall);
-
for ( my $n = 1; $n <= $maxmakecabcalls; $n++ )
{
my @ddfoutput = ();
@@ -1913,7 +1871,6 @@ sub execute_packaging
}
push( @installer::globals::logfileinfo, $infoline);
- # for ( my $j = 0; $j <= $#ddfoutput; $j++ ) { push( @installer::globals::logfileinfo, "$ddfoutput[$j]"); }
for ( my $m = 0; $m <= $#ddfoutput; $m++ )
{
@@ -1930,7 +1887,6 @@ sub execute_packaging
}
else
{
- # installer::logger::print_message( "Success (Try $n): \"$systemcall\"\n" );
$infoline = "Success (Try $n): $systemcall";
push( @installer::globals::logfileinfo, $infoline);
last;
@@ -2033,7 +1989,6 @@ sub set_global_code_variables
$installer::globals::upgradecode = installer::windows::idtglobal::get_language_string_from_language_block($codeblock, $onelanguage, "");
}
- # if (( $installer::globals::productcode eq "" ) && ( ! $isopensource )) { installer::exiter::exit_program("ERROR: ProductCode for language $onelanguage not defined in $installer::globals::codefilename !", "set_global_code_variables"); }
if ( $installer::globals::upgradecode eq "" ) { installer::exiter::exit_program("ERROR: UpgradeCode not defined in $installer::globals::codefilename !", "set_global_code_variables"); }
$infoline = "Setting ProductCode to: $installer::globals::productcode \n";
@@ -2226,8 +2181,8 @@ sub read_saved_mappings
{
my @errorlines = ();
my $errorstring = "";
- my $error_occured = 0;
- my $file_error_occured = 0;
+ my $error_occurred = 0;
+ my $file_error_occurred = 0;
my $dir_error = 0;
my $idtdir = $installer::globals::previous_idt_dir;
@@ -2251,28 +2206,28 @@ sub read_saved_mappings
if ( exists($installer::globals::savedmapping{"$2/$5"}))
{
- if ( ! $file_error_occured )
+ if ( ! $file_error_occurred )
{
$errorstring = "\nErrors in $idtfile: \n";
push(@errorlines, $errorstring);
}
$errorstring = "Duplicate savedmapping{" . "$2/$5}\n";
push(@errorlines, $errorstring);
- $error_occured = 1;
- $file_error_occured = 1;
+ $error_occurred = 1;
+ $file_error_occurred = 1;
}
if ( exists($installer::globals::savedrevmapping{$lc1}))
{
- if ( ! $file_error_occured )
+ if ( ! $file_error_occurred )
{
$errorstring = "\nErrors in $idtfile: \n";
push(@errorlines, $errorstring);
}
$errorstring = "Duplicate savedrevmapping{" . "$lc1}\n";
push(@errorlines, $errorstring);
- $error_occured = 1;
- $file_error_occured = 1;
+ $error_occurred = 1;
+ $file_error_occurred = 1;
}
my $shortname = $4 || '';
@@ -2286,15 +2241,15 @@ sub read_saved_mappings
if (( $shortname ne '' ) && ( index($shortname, '~') > 0 ) && ( exists($installer::globals::savedrev83mapping{$shortname}) ))
{
- if ( ! $file_error_occured )
+ if ( ! $file_error_occurred )
{
$errorstring = "\nErrors in $idtfile: \n";
push(@errorlines, $errorstring);
}
$errorstring = "Duplicate savedrev83mapping{" . "$shortname}\n";
push(@errorlines, $errorstring);
- $error_occured = 1;
- $file_error_occured = 1;
+ $error_occurred = 1;
+ $file_error_occurred = 1;
}
$installer::globals::savedmapping{"$2/$5"} = "$1;$shortname";
@@ -2326,15 +2281,15 @@ sub read_saved_mappings
if ( exists($installer::globals::saved83dirmapping{$1}) )
{
- if ( ! $dir_error_occured )
+ if ( ! $dir_error_occurred )
{
$errorstring = "\nErrors in $idtfile: \n";
push(@errorlines, $errorstring);
}
$errorstring = "Duplicate saved83dirmapping{" . "$1}\n";
push(@errorlines, $errorstring);
- $error_occured = 1;
- $dir_error_occured = 1;
+ $error_occurred = 1;
+ $dir_error_occurred = 1;
}
$installer::globals::saved83dirmapping{$1} = $4;
@@ -2346,7 +2301,7 @@ sub read_saved_mappings
# Analyzing errors
- if ( $error_occured )
+ if ( $error_occurred )
{
for ( my $i = 0; $i <= $#errorlines; $i++ )
{
@@ -2356,7 +2311,6 @@ sub read_saved_mappings
installer::exiter::exit_program("ERROR: Duplicate entries in saved mappings!", "read_saved_mappings");
}
} else {
- # push( @installer::globals::globallogfileinfo, "WARNING: Windows patch shall be prepared, but PREVIOUS_IDT_DIR is not set!\n" );
installer::exiter::exit_program("ERROR: Windows patch shall be prepared, but environment variable PREVIOUS_IDT_DIR is not set!", "read_saved_mappings");
}
diff --git a/solenv/bin/modules/installer/windows/msp.pm b/solenv/bin/modules/installer/windows/msp.pm
index ac28f9258820..7593c96a6ea8 100644
--- a/solenv/bin/modules/installer/windows/msp.pm
+++ b/solenv/bin/modules/installer/windows/msp.pm
@@ -420,7 +420,6 @@ sub execute_msimsp
$locallogfilename =~ s/\//\\\\/g;
$localmspfilename =~ s/\\/\\\\/g; # path already contains backslash
- # $localmspfilename =~ s/\//\\\\/g;
$localmsimsptemppath = qx{cygpath -w "$localmsimsptemppath"};
$localmsimsptemppath =~ s/\\/\\\\/g;
@@ -888,7 +887,7 @@ sub change_patchmetadata_table
if ( $allvariables->{'PROPERTYTABLEPRODUCTNAME'} ) { $targetproductnamevalue = $allvariables->{'PROPERTYTABLEPRODUCTNAME'}; }
my $manufacturerstring = "ManufacturerName";
- my $manufacturervalue = "OpenOffice.org";
+ my $manufacturervalue = "LibreOffice";
if ( $installer::globals::longmanufacturer ) { $manufacturervalue = $installer::globals::longmanufacturer; }
my $displaynamestring = "DisplayName";
@@ -897,7 +896,7 @@ sub change_patchmetadata_table
my $descriptionvalue = "";
my $base = $allvariables->{'PRODUCTNAME'} . " " . $allvariables->{'PRODUCTVERSION'};
- if ( $installer::globals::languagepack ) { $base = $targetproductnamevalue; }
+ if ( $installer::globals::languagepack || $installer::globals::helppack ) { $base = $targetproductnamevalue; }
my $windowspatchlevel = 0;
if ( $allvariables->{'WINDOWSPATCHLEVEL'} ) { $windowspatchlevel = $allvariables->{'WINDOWSPATCHLEVEL'}; }
@@ -1176,6 +1175,7 @@ sub correct_patch
my $localproduct = $installer::globals::product;
if ( $installer::globals::languagepack ) { $localproduct = $localproduct . "LanguagePack"; }
+ elsif ( $installer::globals::helppack ) { $localproduct = $localproduct . "HelpPack"; }
if ( $product eq $localproduct ) { $product_is_good = 1; }
@@ -1273,10 +1273,7 @@ sub convert_unicode_to_ascii
my $savfilename = $filename . "_before.unicode";
installer::systemactions::copy_one_file($filename, $savfilename);
-# open( IN, "<:utf16", $filename ) || installer::exiter::exit_program("ERROR: Cannot open file $filename for reading", "convert_unicode_to_ascii");
-# open( IN, "<:para:crlf:uni", $filename ) || installer::exiter::exit_program("ERROR: Cannot open file $filename for reading", "convert_unicode_to_ascii");
open( IN, "<:encoding(UTF16-LE)", $filename ) || installer::exiter::exit_program("ERROR: Cannot open file $filename for reading", "convert_unicode_to_ascii");
-# open( IN, "<:encoding(UTF-8)", $filename ) || installer::exiter::exit_program("ERROR: Cannot open file $filename for reading", "convert_unicode_to_ascii");
while ( $line = <IN> ) {
push @localfile, $line;
}
@@ -1408,6 +1405,7 @@ sub create_msp_patch
my $pcpfilename = $allvariables->{'PCPFILENAME'};
if ( $installer::globals::languagepack ) { $pcpfilename =~ s/.pcp\s*$/languagepack.pcp/; }
+ elsif ( $installer::globals::helppack ) { $pcpfilename =~ s/.pcp\s*$/helppack.pcp/; }
# Searching the pcp file in the include pathes
my $fullpcpfilenameref = installer::scriptitems::get_sourcepath_from_filename_and_includepath(\$pcpfilename, $includepatharrayref, 1);
@@ -1456,7 +1454,7 @@ sub create_msp_patch
installer::systemactions::copy_complete_directory($oldinstallationsetpath, $mspdir);
# Copying additional patches into the installation set, if required
- if (( $allvariables->{'ADDITIONALREQUIREDPATCHES'} ) && ( $allvariables->{'ADDITIONALREQUIREDPATCHES'} ne "" ) && ( ! $installer::globals::languagepack ))
+ if (( $allvariables->{'ADDITIONALREQUIREDPATCHES'} ) && ( $allvariables->{'ADDITIONALREQUIREDPATCHES'} ne "" ) && ( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack ))
{
my $filename = $allvariables->{'ADDITIONALREQUIREDPATCHES'};
diff --git a/solenv/bin/modules/installer/windows/property.pm b/solenv/bin/modules/installer/windows/property.pm
index a5d3745d94c3..5cfa674dd7c0 100644
--- a/solenv/bin/modules/installer/windows/property.pm
+++ b/solenv/bin/modules/installer/windows/property.pm
@@ -54,6 +54,7 @@ sub get_arpcomments_for_property_table
}
if ( $installer::globals::languagepack ) { $comment = $comment . " " . "Language Pack"; }
+ elsif ( $installer::globals::helppack ) { $comment = $comment . " " . "Help Pack"; }
if ( $installer::globals::patch )
{
@@ -142,11 +143,20 @@ sub get_english_language_string
return $langstring;
}
-sub get_productname_for_property_table
+sub get_productname($$)
{
- my ( $allvariables ) = @_;
+ my ( $language, $allvariables ) = @_;
my $name = $allvariables->{'PRODUCTNAME'};
+
+ return $name;
+}
+
+sub get_productname_for_property_table($$)
+{
+ my ( $language, $allvariables ) = @_;
+
+ my $name = get_productname ($language, $allvariables);
my $version = $allvariables->{'PRODUCTVERSION'};
my $productname = $name . " " . $version;
@@ -166,10 +176,14 @@ sub get_productname_for_property_table
if ( $installer::globals::languagepack )
{
- # my $langstring = get_language_string(); # Example (English, Deutsch)
- my $langstring = get_english_language_string(); # New: (English, German)
+ my $langstring = get_english_language_string(); # Example: (English, German)
$productname = $name . " " . $version . " Language Pack" . " " . $langstring;
}
+ elsif ( $installer::globals::helppack )
+ {
+ my $langstring = get_english_language_string(); # New: (English, German)
+ $productname = $name . " " . $version . " Help Pack" . " " . $langstring;
+ }
if ( $installer::globals::patch )
{
@@ -186,13 +200,12 @@ sub get_productname_for_property_table
return $productname;
}
-sub get_quickstarterlinkname_for_property_table
+sub get_quickstarterlinkname_for_property_table($$)
{
- my ( $allvariables ) = @_;
+ my ( $language, $allvariables ) = @_;
# no usage of POSTVERSIONEXTENSION for Quickstarter link name!
-
- my $name = $allvariables->{'PRODUCTNAME'};
+ my $name = get_productname ($language, $allvariables);
my $version = $allvariables->{'PRODUCTVERSION'};
my $quickstartername = $name . " " . $version;
@@ -358,6 +371,11 @@ sub set_important_properties
my $onepropertyline = "ISLANGUAGEPACK" . "\t" . "1" . "\n";
push(@{$propertyfile}, $onepropertyline);
}
+ elsif ( $installer::globals::helppack )
+ {
+ my $onepropertyline = "ISHELPPACK" . "\t" . "1" . "\n";
+ push(@{$propertyfile}, $onepropertyline);
+ }
my $languagesline = "PRODUCTALLLANGUAGES" . "\t" . $$languagestringref . "\n";
push(@{$propertyfile}, $languagesline);
@@ -485,9 +503,9 @@ sub update_property_table
my $ischeckforproductupdates = get_ischeckforproductupdates_for_property_table();
my $manufacturer = get_manufacturer_for_property_table();
my $productlanguage = get_productlanguage_for_property_table($language);
- my $productname = get_productname_for_property_table($allvariables);
+ my $productname = get_productname_for_property_table($language, $allvariables);
my $productversion = get_productversion_for_property_table();
- my $quickstarterlinkname = get_quickstarterlinkname_for_property_table($allvariables);
+ my $quickstarterlinkname = get_quickstarterlinkname_for_property_table($language, $allvariables);
# Updating the values
diff --git a/solenv/bin/modules/installer/windows/registry.pm b/solenv/bin/modules/installer/windows/registry.pm
index 18981d661372..ad036865ebc3 100644
--- a/solenv/bin/modules/installer/windows/registry.pm
+++ b/solenv/bin/modules/installer/windows/registry.pm
@@ -94,6 +94,7 @@ sub get_registry_component_name
$componentname = $componentname . $addon;
if (( $styles =~ /\bLANGUAGEPACK\b/ ) && ( $installer::globals::languagepack )) { $componentname = $componentname . "_lang"; }
+ elsif (( $styles =~ /\bHELPPACK\b/ ) && ( $installer::globals::helppack )) { $componentname = $componentname . "_help"; }
if ( $styles =~ /\bALWAYS_REQUIRED\b/ ) { $componentname = $componentname . "_forced"; }
# Attention: Maximum length for the componentname is 72
diff --git a/solenv/bin/modules/installer/windows/shortcut.pm b/solenv/bin/modules/installer/windows/shortcut.pm
index 76039baf10c9..cb62a0a7fdd9 100644
--- a/solenv/bin/modules/installer/windows/shortcut.pm
+++ b/solenv/bin/modules/installer/windows/shortcut.pm
@@ -357,10 +357,9 @@ sub get_folderitem_directory
{
my ($shortcut) = @_;
- # my $directory = "$installer::globals::programmenufolder"; # default
my $directory = "$installer::globals::officemenufolder"; # default
- # The value $installer::globals::programmenufolder is not correct for the
+ # The default is not correct for the
# PREDEFINED folders, like PREDEFINED_AUTOSTART
if ( $shortcut->{'FolderID'} eq "PREDEFINED_AUTOSTART" )
@@ -694,4 +693,4 @@ sub create_shortcut_table
}
-1; \ No newline at end of file
+1;
diff --git a/solenv/bin/modules/installer/windows/sign.pm b/solenv/bin/modules/installer/windows/sign.pm
index 70954bd9f5b1..8fb7b3fe13a0 100644
--- a/solenv/bin/modules/installer/windows/sign.pm
+++ b/solenv/bin/modules/installer/windows/sign.pm
@@ -243,9 +243,6 @@ sub execute_open_system_call
if( $^O =~ /cygwin/i )
{
- # $comspec =~ s/\\/\\\\/g;
- # $comspec = qx{cygpath -u "$comspec"};
- # $comspec =~ s/\s*$//g;
$comspec = "";
}
@@ -548,7 +545,6 @@ sub cabinet_cosistency_check
my $sourcecabfile = $finalinstalldir . $installer::globals::separator . $onefile;
my $currentpath = cwd();
my $destcabfile = $currentpath . $installer::globals::separator . $onefile;
- # my $destcabfile = $onefile;
if ( $^O =~ /cygwin/i )
{
@@ -614,7 +610,6 @@ sub cabinet_cosistency_check
# Also making a binary diff?
my $difffile = "diff.exe"; # has to be in the path
- # $systemcall = "$difffile $sourcecabfile $destcabfile"; # Test for differences
$systemcall = "$difffile $origfile $newfile";
$infoline = $systemcall . "\n";
$returnvalue = make_systemcall($systemcall, $systemcall);
@@ -634,9 +629,9 @@ sub cabinet_cosistency_check
}
else
{
- $infoline = "ERROR: Problem occured calling diff.exe (File: $lastfile)\n";
+ $infoline = "ERROR: Problem occurred calling diff.exe (File: $lastfile)\n";
push( @installer::globals::logfileinfo, $infoline);
- installer::exiter::exit_program("ERROR: Problem occured calling diff.exe (File: $lastfile) !", "cabinet_cosistency_check");
+ installer::exiter::exit_program("ERROR: Problem occurred calling diff.exe (File: $lastfile) !", "cabinet_cosistency_check");
}
}
}
@@ -1050,8 +1045,6 @@ sub already_certified
if ( $returnvalue ) { $success = 0; }
- # my $success = make_systemcall($systemcall, $systemcall);
-
if ( $success )
{
$is_certified = 1;
diff --git a/solenv/bin/modules/installer/windows/update.pm b/solenv/bin/modules/installer/windows/update.pm
index efe6949b6fc4..50d31f022024 100644
--- a/solenv/bin/modules/installer/windows/update.pm
+++ b/solenv/bin/modules/installer/windows/update.pm
@@ -215,6 +215,7 @@ sub correct_database
my $localproduct = $installer::globals::product;
if ( $installer::globals::languagepack ) { $localproduct = $localproduct . "LanguagePack"; }
+ elsif ( $installer::globals::helppack ) { $localproduct = $localproduct . "HelpPack"; }
if ( $product eq $localproduct ) { $product_is_good = 1; }
@@ -334,7 +335,6 @@ sub readdatabase
}
else
{
- # installer::logger::print_message( "... no update process, no database found ...\n" );
$infoline = "\nNo database found in $completelistname. This is no update process!\n\n";
}
push( @installer::globals::logfileinfo, $infoline);
@@ -597,4 +597,4 @@ sub create_database_hashes
}
-1; \ No newline at end of file
+1;
diff --git a/solenv/bin/modules/installer/windows/upgrade.pm b/solenv/bin/modules/installer/windows/upgrade.pm
index 49479b26bf49..547bc4ce7bf1 100644
--- a/solenv/bin/modules/installer/windows/upgrade.pm
+++ b/solenv/bin/modules/installer/windows/upgrade.pm
@@ -47,7 +47,7 @@ sub create_upgrade_table
# fix for problematic OOo 1.9 versions
my $include_ooo_fix = 0;
my $ooomaxnew = "";
- if (($installer::globals::product =~ /^\s*OpenOffice/i ) && ( ! ( $installer::globals::product =~ /SDK/i )) && ( ! $installer::globals::languagepack ))
+ if (($installer::globals::product =~ /^\s*OpenOffice/i ) && ( ! ( $installer::globals::product =~ /SDK/i )) && ( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack ))
{
$include_ooo_fix = 1;
$ooomaxnew = "34.0.0";
@@ -61,7 +61,8 @@ sub create_upgrade_table
push(@upgradetable, $newline);
# Setting all products, that must be removed.
- $newline = $installer::globals::upgradecode . "\t" . $installer::globals::msimajorproductversion . "\t" . $installer::globals::msiproductversion . "\t" . "\t" . "257" . "\t" . "\t" . "OLDPRODUCTSSAMEMAJOR" . "\n";
+ # $newline = $installer::globals::upgradecode . "\t" . $installer::globals::msimajorproductversion . "\t" . $installer::globals::msiproductversion . "\t" . "\t" . "257" . "\t" . "\t" . "OLDPRODUCTSSAMEMAJOR" . "\n";
+ $newline = $installer::globals::upgradecode . "\t" . $installer::globals::msimajorproductversion . "\t" . $installer::globals::msiproductversion . "\t" . "\t" . "769" . "\t" . "\t" . "OLDPRODUCTSSAMEMAJOR" . "\n";
push(@upgradetable, $newline);
if ( ! $installer::globals::patch )
@@ -70,8 +71,8 @@ sub create_upgrade_table
$newline = $installer::globals::upgradecode . "\t" . $installer::globals::msiproductversion . "\t" . $ooomaxnew . "\t" . "\t" . "2" . "\t" . "\t" . "NEWPRODUCTS" . "\n";
push(@upgradetable, $newline);
- $newline = $installer::globals::upgradecode . "\t" . $installer::globals::msiproductversion . "\t" . $ooomaxnew . "\t" . "\t" . "258" . "\t" . "\t" . "SAMEPRODUCTS" . "\n";
- push(@upgradetable, $newline);
+ # $newline = $installer::globals::upgradecode . "\t" . $installer::globals::msiproductversion . "\t" . $ooomaxnew . "\t" . "\t" . "258" . "\t" . "\t" . "SAMEPRODUCTS" . "\n";
+ # push(@upgradetable, $newline);
if ( $include_ooo_fix )
{
@@ -93,7 +94,7 @@ sub create_upgrade_table
# also searching for the beta
- if (( $allvariableshashref->{'BETAUPGRADECODE'} ) && ( ! $installer::globals::languagepack ))
+ if (( $allvariableshashref->{'BETAUPGRADECODE'} ) && ( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack ))
{
$newline = $allvariableshashref->{'BETAUPGRADECODE'} . "\t" . "1.0" . "\t" . "\t" . "\t" . "1" . "\t" . "\t" . "BETAPRODUCTS" . "\n";
push(@upgradetable, $newline);
@@ -101,7 +102,7 @@ sub create_upgrade_table
# also searching for the stub
- if (( $allvariableshashref->{'STUBUPGRADECODE'} ) && ( ! $installer::globals::languagepack ))
+ if (( $allvariableshashref->{'STUBUPGRADECODE'} ) && ( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack ))
{
$newline = $allvariableshashref->{'STUBUPGRADECODE'} . "\t" . "1.0" . "\t" . "\t" . "\t" . "1" . "\t" . "\t" . "STUBPRODUCTS" . "\n";
push(@upgradetable, $newline);
@@ -109,7 +110,7 @@ sub create_upgrade_table
# searching for all older patches and languagepacks (defined in a extra file)
- if (( $allvariableshashref->{'REMOVE_UPGRADE_CODE_FILE'} ) && ( ! $installer::globals::languagepack ))
+ if (( $allvariableshashref->{'REMOVE_UPGRADE_CODE_FILE'} ) && ( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack ))
{
my $filename = $allvariableshashref->{'REMOVE_UPGRADE_CODE_FILE'};
my $langpackcodefilename = $installer::globals::idttemplatepath . $installer::globals::separator . $filename;
@@ -124,7 +125,7 @@ sub create_upgrade_table
# No upgrade for Beta versions!
- if (( $allvariableshashref->{'PRODUCTEXTENSION'} eq "Beta" ) && ( ! $installer::globals::patch ) && ( ! $installer::globals::languagepack ))
+ if (( $allvariableshashref->{'PRODUCTEXTENSION'} eq "Beta" ) && ( ! $installer::globals::patch ) && ( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack ))
{
@upgradetable = ();
installer::windows::idtglobal::write_idt_header(\@upgradetable, "upgrade");
diff --git a/solenv/bin/modules/installer/worker.pm b/solenv/bin/modules/installer/worker.pm
index 564a8cb71da7..d3b96d155e59 100644
--- a/solenv/bin/modules/installer/worker.pm
+++ b/solenv/bin/modules/installer/worker.pm
@@ -31,6 +31,7 @@ use Cwd;
use File::Copy;
use File::stat;
use File::Temp qw(tmpnam);
+use File::Path;
use installer::control;
use installer::converter;
use installer::existence;
@@ -38,7 +39,6 @@ use installer::exiter;
use installer::files;
use installer::globals;
use installer::logger;
-use installer::mail;
use installer::pathanalyzer;
use installer::scpzipfiles;
use installer::scriptitems;
@@ -104,13 +104,6 @@ sub copy_install_sets_to_ship
installer::logger::print_message( "... copy installation set from " . $destdir . " to " . $localshipinstalldir . "\n" );
installer::systemactions::copy_complete_directory($destdir, $localshipinstalldir);
- if (( ! $installer::globals::iswindowsbuild ) && ( $installer::globals::addjavainstaller ))
- {
- # Setting Unix rights for Java starter ("setup")
- my $localcall = "chmod 775 $localshipinstalldir/setup \>\/dev\/null 2\>\&1";
- system($localcall);
- }
-
# unpacking the tar.gz file for Solaris
if ( $installer::globals::issolarisbuild ) { unpack_all_targzfiles_in_directory($localshipinstalldir); }
@@ -184,17 +177,6 @@ sub make_checksum_file
my $checksumfileref = installer::scriptitems::get_sourcepath_from_filename_and_includepath(\$installer::globals::checksumfile, $includepatharrayref, 1);
if ( $$checksumfileref eq "" ) { installer::exiter::exit_program("ERROR: Could not find file $installer::globals::checksumfile !", "make_checksum_file"); }
-# # very slow on Windows
-# for ( my $i = 0; $i <= $#{$filesref}; $i++ )
-# {
-# my $onefile = ${$filesref}[$i];
-# my $systemcall = "$$checksumfileref $onefile->{'sourcepath'} |";
-# open (CHECK, "$systemcall");
-# my $localchecksum = <CHECK>;
-# close (CHECK);
-# push(@checksum, $localchecksum);
-# }
-
my $systemcall = "$$checksumfileref";
for ( my $i = 0; $i <= $#{$filesref}; $i++ )
@@ -429,12 +411,11 @@ sub analyze_and_save_logfile
my $contains_error = installer::control::check_logfile(\@installer::globals::logfileinfo);
- # Dependent from the success, the installation directory can be renamed and mails can be send.
+ # Dependent from the success, the installation directory can be renamed.
if ( $contains_error )
{
my $errordir = installer::systemactions::rename_string_in_directory($installdir, "_inprogress", "_witherror");
- if ( $installer::globals::updatepack ) { installer::mail::send_fail_mail($allsettingsarrayref, $languagestringref, $errordir); }
# Error output to STDERR
for ( my $j = 0; $j <= $#installer::globals::errorlogfileinfo; $j++ )
{
@@ -460,7 +441,6 @@ sub analyze_and_save_logfile
if ( $installdir =~ /_packed/ ) { $destdir = installer::systemactions::rename_string_in_directory($installdir, "_inprogress", ""); }
else { $destdir = installer::systemactions::rename_string_in_directory($installdir, "_inprogress", "_packed"); }
}
- installer::mail::send_success_mail($allsettingsarrayref, $languagestringref, $destdir);
}
else
{
@@ -486,7 +466,7 @@ sub analyze_and_save_logfile
if ( $installer::globals::creating_windows_installer_patch ) { $installer::globals::creating_windows_installer_patch = 0; }
- # Exiting the packaging process, if an error occured.
+ # Exiting the packaging process, if an error occurred.
# This is important, to get an error code "-1", if an error was found in the log file,
# that did not break the packaging process
@@ -563,45 +543,8 @@ sub clean_jds_temp_dirs
}
###########################################################
-# Copying a reference array
-###########################################################
-
-sub copy_array_from_references
-{
- my ( $arrayref ) = @_;
-
- my @newarray = ();
-
- for ( my $i = 0; $i <= $#{$arrayref}; $i++ )
- {
- push(@newarray, ${$arrayref}[$i]);
- }
-
- return \@newarray;
-}
-
-###########################################################
-# Copying a reference hash
-###########################################################
-
-sub copy_hash_from_references
-{
- my ($hashref) = @_;
-
- my %newhash = ();
- my $key;
-
- foreach $key (keys %{$hashref})
- {
- $newhash{$key} = $hashref->{$key};
- }
-
- return \%newhash;
-}
-
-###########################################################
# Setting one language in the language independent
-# array of include pathes with $(LANG)
+# array of include paths with $(LANG)
###########################################################
sub get_language_specific_include_pathes
@@ -773,9 +716,16 @@ sub install_simple ($$$$$$)
if ((!($dir =~ /\bPREDEFINED_/ )) || ( $dir =~ /\bPREDEFINED_PROGDIR\b/ ))
{
- # printf "mkdir $destdir$onedir->{'HostName'}\n";
- mkdir $destdir . $onedir->{'HostName'};
- push @lines, "%dir " . $onedir->{'HostName'} . "\n";
+ my $hostname = $onedir->{'HostName'};
+
+ # ignore '.' subdirectories
+ next if ( $hostname =~ m/\.$/ );
+ # remove './' from the path
+ $hostname =~ s/\.\///g;
+
+ # printf "mkdir $destdir$hostname\n";
+ mkdir $destdir . $hostname;
+ push @lines, "%dir " . $hostname . "\n";
}
}
@@ -792,13 +742,23 @@ sub install_simple ($$$$$$)
$destination =~ s/\$\$/\$/;
$sourcepath =~ s/\$\$/\$/;
+ # remove './' from the path
+ $sourcepath =~ s/\.\///g;
+ $destination =~ s/\.\///g;
+
push @lines, "$destination\n";
- # printf "cp $sourcepath $destdir$destination\n";
+ if(-d "$destdir$destination"){
+ rmtree("$destdir$destination");
+ }
+ if(-e "$destdir$destination") {
+ unlink "$destdir$destination";
+ }
+
copy ("$sourcepath", "$destdir$destination") || die "Can't copy file: $sourcepath -> $destdir$destination $!";
my $sourcestat = stat($sourcepath);
utime ($sourcestat->atime, $sourcestat->mtime, "$destdir$destination");
chmod (oct($unixrights), "$destdir$destination") || die "Can't change permissions: $!";
- push @lines, "$destination\n";
+ push @lines, "$destination\n";
}
for ( my $i = 0; $i <= $#{$linksarray}; $i++ )
@@ -807,7 +767,9 @@ sub install_simple ($$$$$$)
my $destination = $onelink->{'destination'};
my $destinationfile = $onelink->{'destinationfile'};
- # print "link $destinationfile -> $destdir$destination\n";
+ if(-e "$destdir$destination") {
+ unlink "$destdir$destination";
+ }
symlink ("$destinationfile", "$destdir$destination") || die "Can't create symlink: $!";
push @lines, "$destination\n";
}
@@ -818,7 +780,6 @@ sub install_simple ($$$$$$)
my $target = $onelink->{'Target'};
my $destination = $onelink->{'destination'};
- # print "Unix link $target -> $destdir$destination\n";
`ln -sf '$target' '$destdir$destination'`;
push @lines, "$destination\n";
}
@@ -827,7 +788,6 @@ sub install_simple ($$$$$$)
{
my $filelist;
my $fname = $installer::globals::destdir . "/$packagename";
- if ($installer::globals::languagepack) { $fname .= ".$languagestring"; }
open ($filelist, ">$fname") || die "Can't open $fname: $!";
print $filelist @lines;
close ($filelist);
@@ -1223,7 +1183,7 @@ sub select_patch_items_without_name
}
###########################################################
-# Selecting patch items
+# Selecting langpack items
###########################################################
sub select_langpack_items
@@ -1248,6 +1208,31 @@ sub select_langpack_items
}
###########################################################
+# Selecting helppack items
+###########################################################
+
+sub select_helppack_items
+{
+ my ( $itemsref, $itemname ) = @_;
+
+ installer::logger::include_header_into_logfile("Selecting RegistryItems for Help Packs");
+
+ my @itemsarray = ();
+
+ for ( my $i = 0; $i <= $#{$itemsref}; $i++ )
+ {
+ my $oneitem = ${$itemsref}[$i];
+
+ # Items with style "HELPPACK" have to be included into the patch
+ my $styles = "";
+ if ( $oneitem->{'Styles'} ) { $styles = $oneitem->{'Styles'}; }
+ if (( $styles =~ /\bHELPPACK\b/ ) || ( $styles =~ /\bFORCEHELPPACK\b/ )) { push(@itemsarray, $oneitem); }
+ }
+
+ return \@itemsarray;
+}
+
+###########################################################
# Searching if LICENSE and README, which are not removed
# in select_patch_items are really needed for the patch.
# If not, they are removed now.
@@ -1491,7 +1476,6 @@ sub reorg_patchfile
for ( my $j = 0; $j <= $#{$patchfiles}; $j++ )
{
- # "\tXXXXX\t" . $olddestination . "\n";
if ( ${$patchfiles}[$j] =~ /^\s*(.*?)\s*\tXXXXX\t\Q$directory\E\s*$/ )
{
$line = $1 . "\n";
@@ -1625,7 +1609,6 @@ sub prepare_windows_patchfiles
my $patchfilename2 = "patchmsi.dll";
if ( ! $allvariableshashref->{'WINDOWSPATCHLEVEL'} ) { installer::exiter::exit_program("ERROR: No Windows patch level defined in list file (WINDOWSPATCHLEVEL) !", "prepare_windows_patchfiles"); }
- # my $windowspatchlevel = $allvariableshashref->{'WINDOWSPATCHLEVEL'};
my $windowspatchlevel = $installer::globals::buildid;
# the environment variable CWS_WORK_STAMP is set only in CWS
@@ -1701,9 +1684,6 @@ sub prepare_windows_patchfiles
$infoline = "Size of patch file list: $filesize\n\n";
push( @installer::globals::logfileinfo, $infoline);
installer::logger::print_message( "... size of patch list file: $filesize Byte ... \n" );
-
- # Win 98: Maximum size of ini file is 65 kB
- # if ( $filesize > 64000 ) { installer::exiter::exit_program("ERROR: Maximum size of patch file list is 65 kB (Win98), now reached: $filesize Byte !", "prepare_windows_patchfiles"); }
}
}
@@ -1721,7 +1701,8 @@ sub replace_variables_in_string
{
my $key;
- foreach $key (keys %{$variableshashref})
+ # we want to substitute FOO_BR before FOO to avoid floating _BR suffixes
+ foreach $key (sort { length ($b) <=> length ($a) } keys %{$variableshashref})
{
my $value = $variableshashref->{$key};
$key = "\%" . $key;
@@ -1767,14 +1748,9 @@ sub get_all_files_from_filelist
my @allpackages = ();
- for ( my $i = 0; $i <= $#{$listfile}; $i++ )
- {
- my $line = ${$listfile}[$i];
- if ( $line =~ /^\s*\#/ ) { next; } # this is a comment line
- if ( $line =~ /^\s*$/ ) { next; } # empty line
- $line =~ s/^\s*//;
- $line =~ s/\s*$//;
- push(@allpackages, $line);
+ for (@{$listfile}) {
+ next unless /^\s*([^#].*?)\s*$/;
+ push @allpackages, $1;
}
return \@allpackages;
@@ -1860,7 +1836,7 @@ sub get_all_packages_in_installdir
my @allpackages = ();
my $allpackages = \@allpackages;
- if ( $installer::globals::islinuxrpmbuild )
+ if ( $installer::globals::isrpmbuild )
{
$allpackages = installer::systemactions::find_file_with_file_extension("rpm", $directory);
}
@@ -1930,7 +1906,7 @@ sub copy_all_packages
if ( ! is_matching($packagename, $allexcludepackages ) )
{
- if ( $installer::globals::islinuxrpmbuild )
+ if ( $installer::globals::isrpmbuild )
{
my $sourcepackage = $sourcedir . $installer::globals::separator . $packagename;
my $destfile = $destdir . $installer::globals::separator . $packagename;
@@ -1942,8 +1918,6 @@ sub copy_all_packages
{
my $destinationdir = $destdir . $installer::globals::separator . $packagename;
if ( ! -d $onepackage ) { installer::exiter::exit_program("ERROR: Could not find Solaris package $onepackage!", "copy_all_packages"); }
- # installer::systemactions::hardlink_complete_directory($onepackage, $destinationdir);
- # installer::systemactions::copy_complete_directory($onepackage, $destinationdir);
my $systemcall = "cp -p -R $onepackage $destinationdir";
make_systemcall($systemcall);
@@ -2108,8 +2082,6 @@ sub check_jds_language
my $infoline = "";
- # languagesarrayref and $allvariableshashref->{'JDSLANG'}
-
if ( ! $allvariableshashref->{'JDSLANG'} ) { installer::exiter::exit_program("ERROR: For building JDS installation sets \"JDSLANG\" must be defined!", "check_jds_language"); }
my $languagestring = $allvariableshashref->{'JDSLANG'};
@@ -2207,8 +2179,7 @@ sub put_scpactions_into_installset
if ( $onescpaction->{'UnixRights'} )
{
- my $localcall = "chmod $onescpaction->{'UnixRights'} $destfile \>\/dev\/null 2\>\&1";
- system($localcall);
+ chmod oct($onescpaction->{'UnixRights'}), $destfile;
}
}
@@ -2273,7 +2244,6 @@ sub get_platform_name
}
else
{
- # $platformname = $installer::globals::packageformat;
$platformname = $installer::globals::compiler;
}
@@ -2295,7 +2265,7 @@ sub add_variables_from_inc_to_hashref
my $includefilelist = "";
if ( $allvariables->{'ADD_INCLUDE_FILES'} ) { $includefilelist = $allvariables->{'ADD_INCLUDE_FILES'}; }
- my $includefiles = installer::converter::convert_stringlist_into_array_without_linebreak_and_quotes(\$includefilelist, ",");
+ my $includefiles = installer::converter::convert_stringlist_into_array_without_newline(\$includefilelist, ",");
for ( my $i = 0; $i <= $#{$includefiles}; $i++ )
{
@@ -2341,7 +2311,7 @@ sub add_variables_from_inc_to_hashref
}
##############################################
-# Collecting all files from include pathes
+# Collecting all files from include paths
##############################################
sub collect_all_files_from_includepathes
@@ -2349,7 +2319,7 @@ sub collect_all_files_from_includepathes
my ($patharrayref) = @_;
installer::logger::globallog("Reading all directories: Start");
- installer::logger::print_message( "... reading include pathes ...\n" );
+ installer::logger::print_message( "... reading include paths ...\n" );
# empty the global
@installer::globals::allincludepathes =();
@@ -2369,7 +2339,6 @@ sub collect_all_files_from_includepathes
my @sourcefiles = ();
my $pathstring = "";
- # installer::systemactions::read_complete_directory($includepath, $pathstring, \@sourcefiles);
installer::systemactions::read_full_directory($includepath, $pathstring, \@sourcefiles);
if ( ! ( $#sourcefiles > -1 ))
@@ -2424,9 +2393,6 @@ sub find_file_by_id
}
}
- # It does not need to exist. For example products that do not contain the libraries.
- # if (! $foundfile ) { installer::exiter::exit_program("ERROR: No unique file name found for $filename !", "get_selfreg_file"); }
-
if (! $foundfile ) { $onefile = ""; }
return $onefile;
@@ -2974,7 +2940,6 @@ sub resolving_hidden_flag
if ( $copysuccess )
{
- # $onefile->{'Name'} = $newfilename;
$onefile->{'sourcepath'} = $destfile;
$destination = $onefile->{'destination'};
installer::pathanalyzer::get_path_from_fullqualifiedname(\$destination);
@@ -3132,8 +3097,8 @@ sub put_license_into_setup
# find and read english license file
my $licenselanguage = "en-US"; # always english !
- # my $licensefilename = "LICENSE_" . $licenselanguage;
- my $licensefilename = "license_" . $licenselanguage . ".txt";
+ # my $licensefilename = "LICENSE"; # _" . $licenselanguage;
+ my $licensefilename = "license"; # . $licenselanguage . ".txt";
my $licenseincludepatharrayref = get_language_specific_include_pathes($includepatharrayref, $licenselanguage);
my $licenseref = installer::scriptitems::get_sourcepath_from_filename_and_includepath(\$licensefilename, $licenseincludepatharrayref, 0);
@@ -3184,7 +3149,6 @@ sub tar_package
if ( $getuidlibrary ne "" ) { $ldpreloadstring = "LD_PRELOAD=" . $getuidlibrary; }
my $systemcall = "cd $installdir; $ldpreloadstring tar -cf - $packagename > $tarfilename";
- # my $systemcall = "cd $installdir; $ldpreloadstring tar -cf - * > $tarfilename";
my $returnvalue = system($systemcall);
@@ -3202,8 +3166,7 @@ sub tar_package
push( @installer::globals::logfileinfo, $infoline);
}
- my $localcall = "chmod 775 $tarfilename \>\/dev\/null 2\>\&1";
- $returnvalue = system($localcall);
+ chmod 0775, $tarfilename;
my $fulltarfile = $installdir . $installer::globals::separator . $tarfilename;
my $filesize = ( -s $fulltarfile );
@@ -3240,8 +3203,7 @@ sub untar_package
push( @installer::globals::logfileinfo, $infoline);
}
- my $localcall = "chmod 775 $tarfilename \>\/dev\/null 2\>\&1";
- $returnvalue = system($localcall);
+ chmod 0775, $tarfilename;
}
#########################################################
@@ -3252,32 +3214,12 @@ sub shuffle_array
{
my ( $arrayref ) = @_;
- # my $counter = 0;
- # my $infoline = "Old package order: \n";
- # push( @installer::globals::logfileinfo, $infoline);
- # foreach my $onepackage ( @{$arrayref} )
- # {
- # $counter++;
- # $infoline = "$counter: $onepackage->{'module'}\n";
- # push( @installer::globals::logfileinfo, $infoline);
- # }
-
my $i = @$arrayref;
while (--$i)
{
my $j = int rand ($i+1);
@$arrayref[$i,$j] = @$arrayref[$j,$i];
}
-
- # $counter = 0;
- # $infoline = "New package order: \n";
- # push( @installer::globals::logfileinfo, $infoline);
- # foreach my $onepackage ( @{$arrayref} )
- # {
- # $counter++;
- # $infoline = "$counter: $onepackage->{'module'}\n";
- # push( @installer::globals::logfileinfo, $infoline);
- # }
}
################################################
@@ -3427,7 +3369,6 @@ sub collectpackagemaps
# Create a tar gz file with all package maps
my $tarfilename = $subdirname . ".tar";
my $targzname = $tarfilename . ".gz";
- # my $systemcall = "cd $pkgmapdir; tar -cf - $subdirname > $tarfilename";
$systemcall = "cd $pkgmapdir; tar -cf - $subdirname | gzip > $targzname";
make_systemcall($systemcall);
installer::systemactions::remove_complete_directory($pkgmapsubdir, 1);
diff --git a/solenv/bin/modules/installer/xpdinstaller.pm b/solenv/bin/modules/installer/xpdinstaller.pm
index c6938292b313..3b72889d2bc1 100644
--- a/solenv/bin/modules/installer/xpdinstaller.pm
+++ b/solenv/bin/modules/installer/xpdinstaller.pm
@@ -109,8 +109,6 @@ sub get_module
$found = 1;
last;
}
-
- # if ( ! $found ) { installer::exiter::exit_program("ERROR: Could not find module belonging to gid $modulegid!", "get_module (xpdinstaller)"); }
}
return $searchmodule;
@@ -445,8 +443,8 @@ sub get_forceintoupdate_value
}
###################################################
-# Substituting all occurences of "<" by "&lt;"
-# and all occurences of ">" by "&gt;"
+# Substituting all occurrences of "<" by "&lt;"
+# and all occurrences of ">" by "&gt;"
###################################################
sub replace_brackets_in_string
@@ -460,7 +458,7 @@ sub replace_brackets_in_string
}
###################################################
-# Substituting all occurences of "\uUXYZ" by
+# Substituting all occurrences of "\uUXYZ" by
# "&#xUXYZ;", because the use xml saxparser does
# not know anything about this encoding. Therfore
# the xml file can keep standard encoding "UTF-8"
@@ -579,9 +577,8 @@ sub get_size_value
my $isrpmfile = 0;
if ( $packagename =~ /\.rpm\s*$/ ) { $isrpmfile = 1; }
- if (( $installer::globals::islinuxrpmbuild ) && ( $isrpmfile ))
+ if (( $installer::globals::isrpmbuild ) && ( $isrpmfile ))
{
- # if ( ! $installer::globals::rpmquerycommand ) { installer::exiter::exit_program("ERROR: rpm not found for querying packages!", "get_size_value"); }
if ( ! $installer::globals::rpmquerycommand ) { $installer::globals::rpmquerycommand = "rpm"; }
my $systemcall = "$installer::globals::rpmquerycommand -qp --queryformat \"\[\%\{FILESIZES\}\\n\]\" $packagename 2\>\&1 |";
@@ -658,7 +655,7 @@ sub get_md5_value
return $value;
}
- if ( $installer::globals::islinuxrpmbuild )
+ if ( $installer::globals::isrpmbuild )
{
my $md5file = "/usr/bin/md5sum";
@@ -712,7 +709,7 @@ sub get_fullpkgname_value
my $isrpmfile = 0;
if ( $packagename =~ /\.rpm\s*$/ ) { $isrpmfile = 1; }
- if (( $installer::globals::islinuxrpmbuild ) && ( $isrpmfile ))
+ if (( $installer::globals::isrpmbuild ) && ( $isrpmfile ))
{
if ( $xpdinfo->{'FullPackageName'} )
{
@@ -720,7 +717,6 @@ sub get_fullpkgname_value
return $value;
}
- # if ( ! $installer::globals::rpmquerycommand ) { installer::exiter::exit_program("ERROR: rpm not found for querying packages!", "get_fullpkgname_value"); }
if ( ! $installer::globals::rpmquerycommand ) { $installer::globals::rpmquerycommand = "rpm"; }
my $systemcall = "$installer::globals::rpmquerycommand -qp $packagename |";
my $ld_library_backup = $ENV{LD_LIBRARY_PATH};
@@ -888,7 +884,7 @@ sub make_systemcall
{
$infoline = "ERROR: $systemcall\n";
push( @installer::globals::logfileinfo, $infoline);
- $error_occured = 1;
+ $error_occurred = 1;
}
else
{
@@ -931,13 +927,13 @@ sub make_systemcall_allowing_error
{
$infoline = "WARNING: Failed system call: $systemcall\n";
push( @installer::globals::logfileinfo, $infoline);
- $error_occured = 1;
+ $error_occurred = 1;
}
else
{
$infoline = "ERROR: $systemcall\n";
push( @installer::globals::logfileinfo, $infoline);
- $error_occured = 1;
+ $error_occurred = 1;
}
}
else
@@ -1076,7 +1072,6 @@ sub set_productdir_tag
if ( $allvariables->{"BRANDPACKAGEVERSION"} )
{
$productdir = $productdir . $allvariables->{"BRANDPACKAGEVERSION"};
-# if ( $allvariables->{"LCPRODUCTEXTENSION"} ) { $productdir = $productdir . $allvariables->{"LCPRODUCTEXTENSION"}; }
}
else
{
@@ -1487,7 +1482,6 @@ sub create_emptyparents_xpd_file
push(@installer::globals::logfileinfo, $infoline);
}
- # push(@installer::globals::emptyxpdparents, $parentgid);
push( @installer::globals::createdxpdfiles, $parentgid);
return $grandpagid;
@@ -1558,7 +1552,6 @@ sub create_xpd_file
my $xpddir = installer::systemactions::create_directories("xpdinstaller", $languagestringref);
$xpddir =~ s/\/\s*$//;
$installer::globals::xpddir = $xpddir;
- # push(@installer::globals::removedirs, $xpddir);
my $modulegid = $onepackage->{'module'};
@@ -1616,7 +1609,6 @@ sub create_xpd_file
{
my $create_missing_parent = is_empty_parent($parentgid, $allpackages);
- # if (( $create_missing_parent ) && ( ! installer::existence::exists_in_array($parentgid, \@installer::globals::emptyxpdparents) ))
if (( $create_missing_parent ) && ( ! installer::existence::exists_in_array($parentgid, \@installer::globals::createdxpdfiles) ))
{
$grandpagid = create_emptyparents_xpd_file($parentgid, $modulesarrayref, $xpddir);
@@ -1627,7 +1619,6 @@ sub create_xpd_file
{
my $create_missing_parent = is_empty_parent($grandpagid, $allpackages);
- # if (( $create_missing_parent ) && ( ! installer::existence::exists_in_array($parentgid, \@installer::globals::emptyxpdparents) ))
if (( $create_missing_parent ) && ( ! installer::existence::exists_in_array($grandpagid, \@installer::globals::createdxpdfiles) ))
{
create_emptyparents_xpd_file($grandpagid, $modulesarrayref, $xpddir);
@@ -1671,7 +1662,6 @@ sub create_xpd_file_for_childproject
if ( $parentgid ne "root" )
{
- # my $create_missing_parent = is_empty_parent($parentgid, $allpackages);
my $create_missing_parent = 1; # -> Always missing parent by child projects!
# Parent is now created, if it was not created before. Attention: Parent module must not come later.
if (( $create_missing_parent ) && ( ! installer::existence::exists_in_array($parentgid, \@installer::globals::createdxpdfiles) ))
@@ -1698,12 +1688,10 @@ sub create_xpd_file_for_systemintegration
{
my $newpackagename = ${$newcontent}[$i];
- # installer::pathanalyzer::make_absolute_filename_to_relative_filename(\$newpackagename);
-
my $infoline = "Creating xpd file for package: $newpackagename\n";
push( @installer::globals::logfileinfo, $infoline);
- my $childmodule = installer::worker::copy_hash_from_references($module);
+ my $childmodule = {%{$module}};
$childmodule->{'ParentID'} = $module->{'gid'}; # the module gid is the new parent
$childmodule->{'InstallOrder'} = $installer::globals::defaultsystemintinstallorder;
my $number = $i + 1;
diff --git a/solenv/bin/modules/installer/ziplist.pm b/solenv/bin/modules/installer/ziplist.pm
index 9a5460cacb3c..d52e97bf4e87 100644
--- a/solenv/bin/modules/installer/ziplist.pm
+++ b/solenv/bin/modules/installer/ziplist.pm
@@ -464,7 +464,7 @@ sub replace_all_variables_in_pathes
my $key;
- foreach $key (keys %{$variableshashref})
+ foreach $key (sort { length ($b) <=> length ($a) } keys %{$variableshashref})
{
my $value = $variableshashref->{$key};
@@ -489,18 +489,8 @@ sub replace_minor_in_pathes
{
my $line = ${$patharrayref}[$i];
- if ( ! defined $ENV{CWS_WORK_STAMP} and defined $ENV{UPDMINOR} )
-# if ( $installer::globals::minor )
- {
- $line =~ s/\{minor\}/$installer::globals::minor/g;
- # no difference for minor and minornonpre (ToDo ?)
- $line =~ s/\{minornonpre\}/$installer::globals::minor/g;
- }
- else # building without a minor
- {
- $line =~ s/\.\{minor\}//g;
- $line =~ s/\.\{minornonpre\}//g;
- }
+ $line =~ s/\.\{minor\}//g;
+ $line =~ s/\.\{minornonpre\}//g;
${$patharrayref}[$i] = $line;
}
@@ -643,7 +633,7 @@ sub set_manufacturer
{
my ($allvariables) = @_;
- my $openofficeproductname = "OpenOffice.org";
+ my $openofficeproductname = "LibreOffice";
my $sunname = "";
@@ -793,6 +783,7 @@ sub add_variables_to_allvariableshashref
if ( $installer::globals::patch ) { $variableshashref->{'PRODUCTADDON'} = $installer::globals::patchaddon; }
elsif ( $installer::globals::languagepack ) { $variableshashref->{'PRODUCTADDON'} = $installer::globals::languagepackaddon; }
+ elsif ( $installer::globals::helppack ) { $variableshashref->{'PRODUCTADDON'} = $installer::globals::helppackpackaddon; }
else { $variableshashref->{'PRODUCTADDON'} = ""; }
my $localbuild = $installer::globals::build;
diff --git a/solenv/bin/modules/osarch.pm b/solenv/bin/modules/osarch.pm
deleted file mode 100755
index 205e4c933193..000000000000
--- a/solenv/bin/modules/osarch.pm
+++ /dev/null
@@ -1,195 +0,0 @@
-#!/usr/bin/perl -w
-
-# ***********************************************************************
-# Description:
-# Filename: osarch.pm
-# Autor: EG
-# Date: 28.10.96
-# $Header: /zpool/svn/migration/cvs_rep_09_09_08/code/solenv/bin/modules/osarch.pm,v 1.3 2008-08-18 13:11:04 vg Exp $
-# Copyright: STAR DIVISION
-# **********************************************************************/
-
-package osarch;
-
-$m_str = `uname -m`;
-$s_str = `uname -s`;
-chop( $m_str, $s_str );
-
-%osTable = ("SunOS", "solaris",
- "HP-UX", "hpux",
- "AIX", "aix",
- "OS/390", "s390",
- "Linux", "linux",
- "FreeBSD", "freebsd",
- "NetBSD", "netbsd",
- "OSF1", "decunix",
- "SCO_SV", "scoosr5",
-# "SCO_SV", "scouw21",
- "Darwin", "macosxp",
- "Mac OS", "macosxp",
- "SINIX-N", "sinix"
- );
-
-%osDefTable = ("SunOS", "-DSYSV -DSOLARIS",
- "HP-UX", "-DSYSV -DHPUX",
- "AIX", "-DSYSV -DAIX",
- "Linux", "-DLINUX",
- "FreeBSD", "-DFREEBSD",
- "NetBSD", "-DNETBSD",
- "OSF1", "-DSYSV -DDECUNIX",
- "SCO_SV", "-DSYSV -DSCO -DSCO_OSR5",
-# "SCO_SV", "-DSYSV -DSCO -DSCO_UW21",
- "Darwin", "-DBSD -DMACOSX",
- "Mac OS", "-DBSD -DMACOSX",
- "SINIX-N", "-DSYSV -DSINIX"
- );
-
-%osDosTable = ("SunOS", "sol",
- "HP-UX", "hpx",
- "AIX", "aix",
- "OS/390", "mvs",
- "Linux", "lng",
- "FreeBSD", "fbsd",
- "NetBSD", "bsd",
- "SCO_SV", "sco",
- "Darwin", "macx",
- "Mac OS", "macx",
- "SINIX-N", "sni"
- );
-
-%archTable = ("sun4c", "sparc",
- "sun4m", "sparc",
- "sun4u", "sparc",
- "9000/712", "hp9000",
- "9000/715", "hp9000",
- "9000/778", "hp9000",
- "000029484600", "rs6000", # salsa
- "000328144600", "rs6000", # lambada
- "00245D29E000", "rs6000", # segv
- "00245C46E000", "rs6000", # bus
- "002012974600", "rs6000", # tango
- "0006404C4C00", "rs6000", # jive
- "2003", "g3", # ezopen4
- "i86pc", "x86", # blauwal
- "i386", "x86", # SCO_SV, NetBSD, FreeBSD
- "i486", "x86", # tiger
- "i586", "x86", # blauwal
- "i686", "x86",
- "prep", "ppc", # hooge
- "ppc", "ppc", # ppc-linux
- "alpha", "alpha",
- "RM400", "rm400", # garbo
- "IP22", "mips", # voyager
- "IP32", "mips", # giotto
- "Power Macintosh", "ppc", # NetBSD/arm32
- "arm32", "arm32" # NetBSD/arm32
- );
-
-%archDefTable=("sun4c", "-DSPARC -DSUN -DSUN4", # hawai
- "sun4m", "-DSPARC -DSUN -DSUN4", # broccoli
- "sun4u", "-DSPARC -DSUN -DSUN4", # broccoli
- "9000/712", "-DHP9000", # tuborg
- "9000/715", "-DHP9000", # koepi
- "9000/778", "-DHP9000", # jever, flens
- "000029484600", "-DRS6000", # salsa
- "000328144600", "-DRS6000", # lambada
- "00245D29E000", "-DRS6000", # segv
- "00245C46E000", "-DRS6000", # segv
- "002012974600", "-DRS6000", # tango
- "0006404C4C00", "-DRS6000", # jive
- "2003", "-DG3", # ezopen4
- "i86pc", "-DX86 -DINTEL",# gepard
- "i386", "-DX86", # SCO_SV, NetBSD, FreeBSD
- "i486", "-DX86", # tiger
- "i586", "-DX86", # blauwal
- "i686", "-DX86", #
- "prep", "-DPPC", # hooge
- "ppc", "-DPPC", # ppc-linux
- "alpha", "-DALPHA", # mars
- "RM400", "-DMIPS -DRM400", # ekberg, garbo
- "IP22", "-DMIPS", # voyager
- "IP32", "-DMIPS", # giotto
- "Power Macintosh", "-DPPC", # NetBSD/arm32
- "arm32", "-DARM32" # NetBSD/arm32
- );
-
-%archDosTable=("sun4c", "s", # hawai
- "sun4m", "s", # broccoli
- "sun4u", "s", # broccoli
- "9000/712", "r", # tuborg
- "9000/715", "r", # koepi
- "9000/778", "r", # jever, flens
- "000029484600", "p", # salsa
- "000328144600", "p", # lambada
- "00245D29E000", "p", # segv
- "00245C46E000", "p", # segv
- "002012974600", "p", # tango
- "0006404C4C00", "p", # jive
- "2003", "g", # ezopen4
- "i86pc", "i", # gepard
- "i386", "i", # SCO_SV, NetBSD, FreeBSD
- "i486", "i", # tiger
- "i586", "i", # blauwal
- "i686", "i",
- "prep", "p", # hooge
- "ppc", "p", # ppc-linux
- "alpha", "a", # mars
- "RM400", "m", # ekberg, garbo
- "IP22", "m", # voyager
- "IP32", "m", # giotto
- "Power Macintosh", "p", # NetBSD/arm32
- "arm32", "a" # NetBSD/arm32
- );
-
-$main::solarDef = $osDefTable{ $s_str }.' '.$archDefTable{ $m_str };
-
-$main::solarOS = $osTable{ $s_str };
-$main::solarMT = $archTable{ $m_str };
-
-$main::solarArch = $main::solarOS.$main::solarMT;
-$main::solarOldArch = $main::solarArch; # for compatibility
-
-$main::solarDOS = 'unx'.$osDosTable{ $s_str }. $archDosTable{ $m_str };
-
-sub main::osarch
-{
- local ( $flag ) = @_;
-
- $perlFlag = $flag eq 'perl';
- $defFlag = $flag eq 'def';
- $oldFlag = $flag eq 'old';
- $dirFlag = $flag eq 'dir';
- $dosFlag = $flag eq 'dos';
-
- local( $result ) = ( '' );
-
- if ( $perlFlag )
- {
- $result .= '$solarDef = '."'$main::solarDef';\n";
- $result .= '$solarArch = '."'$main::solarArch';\n";
- $result .= '$solarOldArch = '."'$main::solarOldArch';\n";
- $result .= '$solarOS = '."'$main::solarOS';\n";
- $result .= '$solarMT = '."'$main::solarMT';\n";
- $result .= '$solarDOS = '."'$main::solarDOS';";
- }
- elsif ( $defFlag )
- {
- $result = $main::solarDef;
- }
- elsif ( $dirFlag )
- {
- $result = "$main::solarOS-$main::solarMT";
- }
- elsif ( $dosFlag )
- {
- $result = $main::solarDOS;
- }
- else
- {
- $result = $oldFlag ? $main::solarOldArch : $main::solarArch;
- }
-
- return $result;
-}
-
-1;
diff --git a/solenv/bin/modules/packager/work.pm b/solenv/bin/modules/packager/work.pm
index ae0c743a635f..014d53b19efe 100644
--- a/solenv/bin/modules/packager/work.pm
+++ b/solenv/bin/modules/packager/work.pm
@@ -293,7 +293,7 @@ sub do_broadcast
print "cmd_bcst -s 18 \@$tmpfile_name\n";
unlink "$tmpfile_name";
- if ( $returnvalue ) # an error occured
+ if ( $returnvalue ) # an error occurred
{
if (!($packager::globals::ignoreerrors)) { packager::exiter::exit_program("ERROR: Packing not successful!", "do_broadcast"); }
}
diff --git a/solenv/bin/modules/par2script/systemactions.pm b/solenv/bin/modules/par2script/systemactions.pm
index f5a8db9979a7..149fafe93b0b 100644
--- a/solenv/bin/modules/par2script/systemactions.pm
+++ b/solenv/bin/modules/par2script/systemactions.pm
@@ -133,7 +133,7 @@ sub copy_one_file
}
else
{
- $infoline = "Error: Could not copy $source to $dest\n";
+ $infoline = "Error: Could not copy $source to $dest $!\n";
$returnvalue = 0;
}
diff --git a/solenv/bin/modules/par2script/work.pm b/solenv/bin/modules/par2script/work.pm
index fd266e306d04..c9b0bb150bce 100644
--- a/solenv/bin/modules/par2script/work.pm
+++ b/solenv/bin/modules/par2script/work.pm
@@ -148,67 +148,74 @@ sub collect_definitions
my $multidefinitionerror = 0;
my @multidefinitiongids = ();
+ my %itemhash;
- foreach $oneitem ( @par2script::globals::allitems )
+ # create empty item hashes
+ foreach $oneitem ( @par2script::globals::allitems ) {
+ my %items;
+ $par2script::globals::definitions{$oneitem} = \%items;
+ }
+
+ for ( my $i = 0; $i <= $#{$parfilecontent}; $i++ )
{
- my $docollect = 0;
- my $gid = "";
- my %allitemhash = ();
+ my $line = ${$parfilecontent}[$i];
+ my $oneitem, $gid;
- for ( my $i = 0; $i <= $#{$parfilecontent}; $i++ )
- {
- my $line = ${$parfilecontent}[$i];
+ $line =~ /^\s*$/ && next; # skip blank lines
- if ( $line =~ /^\s*$oneitem\s+(\w+)\s*$/ )
- {
- $gid = $1;
- $docollect = 1;
- }
- else
- {
- $docollect = 0;
- }
+ # lines should be well formed:
+ if ($line =~ m/^\s*(\w+)\s+(\w+)\s*$/)
+ {
+ $oneitem = $1;
+ $gid = $2;
+ } else {
+ chomp ($line);
+ my $invalid = $line;
+ $invalid =~ s/[\s\w]*//g;
+ par2script::exiter::exit_program("ERROR: malformed par file, invalid character '$invalid', expecting <token> <gid> but saw '$line'", "test_par_syntax");
+ }
+# print STDERR "line '$line' -> '$oneitem' '$gid'\n";
- if ( $docollect )
- {
- my $currentline = $i;
- my %oneitemhash;
+ # hunt badness variously
+ if ( ! defined $par2script::globals::definitions{$oneitem} )
+ {
+ par2script::exiter::exit_program("ERROR: invalid scp2 fragment item type '$oneitem' in line: '$line'", "test_par_syntax");
+ }
- while (! ( ${$parfilecontent}[$currentline] =~ /^\s*End\s*$/i ) )
- {
- if ( ${$parfilecontent}[$currentline] =~ /^\s*(.+?)\s*\=\s*(.+?)\s*\;\s*$/ ) # only oneliner!
- {
- $itemkey = $1;
- $itemvalue = $2;
+ # no hyphen allowed in gids -> cannot happen here because (\w+) is required for gids
+ if ( $gid =~ /-/ ) { par2script::exiter::exit_program("ERROR: No hyphen allowed in global id: $gid", "test_of_hyphen"); }
- if ( $oneitem eq "Directory" ) { if ( $itemkey =~ "DosName" ) { $itemkey =~ s/DosName/HostName/; } }
- if (( $oneitem eq "Directory" ) || ( $oneitem eq "File" ) || ( $oneitem eq "Unixlink" )) { if ( $itemvalue eq "PD_PROGDIR" ) { $itemvalue = "PREDEFINED_PROGDIR"; }}
- if (( $itemkey eq "Styles" ) && ( $itemvalue =~ /^\s*(\w+)(\s*\;\s*)$/ )) { $itemvalue = "($1)$2"; }
+ my %oneitemhash;
- $oneitemhash{$itemkey} = $itemvalue;
- }
+ while (! ( ${$parfilecontent}[$i] =~ /^\s*End\s*$/i ) )
+ {
+ if ( ${$parfilecontent}[$i] =~ /^\s*(.+?)\s*\=\s*(.+?)\s*\;\s*$/ ) # only oneliner!
+ {
+ $itemkey = $1;
+ $itemvalue = $2;
- $currentline++;
- }
+ if ( $oneitem eq "Directory" ) { if ( $itemkey =~ "DosName" ) { $itemkey =~ s/DosName/HostName/; } }
+ if (( $oneitem eq "Directory" ) || ( $oneitem eq "File" ) || ( $oneitem eq "Unixlink" )) { if ( $itemvalue eq "PD_PROGDIR" ) { $itemvalue = "PREDEFINED_PROGDIR"; }}
+ if (( $itemkey eq "Styles" ) && ( $itemvalue =~ /^\s*(\w+)(\s*\;\s*)$/ )) { $itemvalue = "($1)$2"; }
- # no hyphen allowed in gids -> cannot happen here because (\w+) is required for gids
- if ( $gid =~ /-/ ) { par2script::exiter::exit_program("ERROR: No hyphen allowed in global id: $gid", "test_of_hyphen"); }
+ $oneitemhash{$itemkey} = $itemvalue;
+ }
+ $i++;
+ }
- # test of uniqueness
- if ( exists($allitemhash{$gid}) )
- {
- $multidefinitionerror = 1;
- push(@multidefinitiongids, $gid);
- }
+ my $allitemhash = \$par2script::globals::definitions{$oneitem};
- $allitemhash{$gid} = \%oneitemhash;
- }
- }
+ # test of uniqueness
+ if ( defined ($par2script::globals::definitions{$oneitem}->{$gid}) )
+ {
+ $multidefinitionerror = 1;
+ push(@multidefinitiongids, $gid);
+ }
- $par2script::globals::definitions{$oneitem} = \%allitemhash;
+ $par2script::globals::definitions{$oneitem}->{$gid} = \%oneitemhash;
}
- if ( $multidefinitionerror ) { par2script::exiter::multidefinitionerror(\@multidefinitiongids); }
+ if ( $multidefinitionerror ) { par2script::exiter::multidefinitionerror(\@multidefinitiongids); }
# foreach $key (keys %par2script::globals::definitions)
# {
diff --git a/solenv/bin/modules/pre2par/language.pm b/solenv/bin/modules/pre2par/language.pm
index b5dc336ba847..a6025e4fc804 100644
--- a/solenv/bin/modules/pre2par/language.pm
+++ b/solenv/bin/modules/pre2par/language.pm
@@ -27,6 +27,7 @@
package pre2par::language;
+use strict;
use pre2par::existence;
##############################################################
@@ -71,63 +72,39 @@ sub get_language_string_from_language_block
return $newstring;
}
-##############################################################
-# Returning the complete block in all languages
-# for a specified string
-##############################################################
-
-sub get_language_block_from_language_file
-{
- my ($searchstring, $langfile) = @_;
-
- my @language_block = ();
-
- for ( my $i = 0; $i <= $#{$langfile}; $i++ )
- {
- if ( ${$langfile}[$i] =~ /^\s*\[\s*$searchstring\s*\]\s*$/ )
- {
- my $counter = $i;
-
- push(@language_block, ${$langfile}[$counter]);
- $counter++;
-
- while (( $counter <= $#{$langfile} ) && (!( ${$langfile}[$counter] =~ /^\s*\[/ )))
- {
- push(@language_block, ${$langfile}[$counter]);
- $counter++;
- }
-
- last;
- }
- }
-
- return \@language_block;
-}
-
############################################
-# collecting all replace strings
+# collecting all replace variables
# in a language file
############################################
-sub get_all_replace_strings
+sub get_all_replace_variables
{
my ($langfile) = @_;
- my @allstrings = ();
+ my %allvars = ();
for ( my $i = 0; $i <= $#{$langfile}; $i++ )
{
if ( ${$langfile}[$i] =~ /^\s*\[\s*(.*?)\s*\]\s*$/ )
{
- my $replacestring = $1;
- if (! pre2par::existence::exists_in_array($replacestring, \@allstrings))
- {
- push(@allstrings, $replacestring);
- }
+ my $variable = $1;
+# print "lang block '$variable'\n";
+ my @lang_block = ();
+ my $counter;
+
+ # Store the complete block in all languages for a specified variable
+ for ( $counter = $i + 1; $counter <= $#{$langfile}; $counter++ ) {
+ my $line = ${$langfile}[$counter];
+ last if ($line =~ /^s*\[/); # next decl.
+ push @lang_block, $line;
+ }
+# print "$variable = '@lang_block'\n";
+ $allvars{$variable} = \@lang_block;
+ $i = $counter - 1;
}
}
- return \@allstrings;
+ return \%allvars;
}
############################################
@@ -139,32 +116,30 @@ sub localize
{
my ($parfile, $langfile) = @_;
- my $allreplacestrings = get_all_replace_strings($langfile);
+ my $replace_hash = get_all_replace_variables($langfile);
+ # parse lines of the form Name (st) = STR_NAME_MODULE_HELPPACK_OC;
+ # for variable substitution
+ my $langlinere = qr/^\s*\w+\s*\(([\w-]+)\)\s*\=\s*([\w-]+)\s*;/;
for ( my $i = 0; $i <= $#{$parfile}; $i++ )
{
my $oneline = ${$parfile}[$i];
- for ( my $j = 0; $j <= $#{$allreplacestrings}; $j++ )
- {
- if ( $oneline =~ /\b${$allreplacestrings}[$j]\b/ ) # Not for basic scripts
- {
- my $oldstring = ${$allreplacestrings}[$j];
-
- if ( $oneline =~ /^\s*\w+\s*\(([\w-]+)\)\s*\=/ )
- {
- my $language = $1; # can be "01" or "en" or "en-US" or ...
+ if ( $oneline =~ $langlinere) {
+ my $language = $1; # can be "01" or "en" or "en-US" or ...
+ my $variable = $2;
- my $languageblock = get_language_block_from_language_file($oldstring, $langfile);
- my $newstring = get_language_string_from_language_block($languageblock, $language);
+# print "line '$oneline' split to '$language' '$variable'\n";
- if ( $newstring eq "" ) { $newstring = "\"" . $oldstring . "\""; }
+ if (defined $replace_hash->{$variable}) {
+ my $languageblock = $replace_hash->{$variable};
+ my $newstring = get_language_string_from_language_block($replace_hash->{$variable}, $language);
+ if ( $newstring eq "" ) { $newstring = "\"" . $variable . "\""; }
- $oneline =~ s/$oldstring/$newstring/g;
+ $oneline =~ s/$variable/$newstring/g;
${$parfile}[$i] = $oneline;
}
- }
}
}
}
diff --git a/solenv/bin/modules/pre2par/systemactions.pm b/solenv/bin/modules/pre2par/systemactions.pm
index e084d7753f48..0e7b3d8c253a 100644
--- a/solenv/bin/modules/pre2par/systemactions.pm
+++ b/solenv/bin/modules/pre2par/systemactions.pm
@@ -155,7 +155,7 @@ sub copy_one_file
}
else
{
- $infoline = "Error: Could not copy $source to $dest\n";
+ $infoline = "Error: Could not copy $source to $dest $!\n";
$returnvalue = 0;
}
diff --git a/solenv/bin/ooinstall b/solenv/bin/ooinstall
new file mode 100755
index 000000000000..56825e18e813
--- /dev/null
+++ b/solenv/bin/ooinstall
@@ -0,0 +1,138 @@
+#!/usr/bin/env perl
+
+# This script has three uses:
+# 1. From the command line to install straight into a given directory:
+# bin/ooinstall /opt/Foo
+# 2. From the command line to link into a given directory:
+# bin/ooinstall -l /opt/FooLinked
+# 3. When packaging (called from package-ooo), to install to DESTDIR
+
+use File::Find;
+use File::Path qw(mkpath);
+use Cwd;
+
+$path = '';
+$do_link = 0;
+$is_windows = 0;
+my $tmp_dir;
+
+if ($ENV{GUI} eq 'WNT') {
+ $is_windows = 1;
+}
+
+if( defined($ENV{TMPDIR}) ) {
+ $tmp_dir = $ENV{TMPDIR};
+} elsif( defined($ENV{TMP}) ) {
+ $tmp_dir = $ENV{TMP};
+} else {
+ $tmp_dir = '/tmp';
+}
+if (!-d $tmp_dir) {die "Set TMP or TMPDIR!\n";}
+
+# Workaround for system Mozilla
+if ( $ENV{'SYSTEM_MOZILLA'} eq 'YES' ) {
+ $ENV{'LD_LIBRARY_PATH'} = "$ENV{'MOZ_LIB'}:$ENV{'LD_LIBRARY_PATH'}";
+}
+
+# Workaround for the Python
+$ENV{'PYTHONPATH'} = "$ENV{'SRC_ROOT'}/instsetoo_native/$ENV{'INPATH'}/bin:$ENV{'SOLARVERSION'}/$ENV{'INPATH'}/lib:$ENV{'SOLARVERSION'}/$ENV{'INPATH'}/lib/python:$ENV{'SOLARVERSION'}/$ENV{'INPATH'}/lib/python/lib-dynload";
+
+for $arg (@ARGV) {
+ if ($arg eq '-l') {
+ $do_link = 1;
+ } elsif ($arg eq '-h' || $arg eq '--help') {
+ $help = 1;
+ } else {
+ # Cwd::realpath does not work if the path does not exist
+ mkpath($ENV{DESTDIR} . $arg) unless -d $ENV{DESTDIR} . $arg;
+ $path = Cwd::realpath( $ENV{DESTDIR} . $arg );
+ if (!$do_link) {
+ my $destdir = Cwd::realpath( $ENV{DESTDIR} );
+ $path =~ s|$destdir||;
+ }
+ }
+}
+
+$help = 1 if $path eq '';
+
+if ($help) {
+ print "ooinstall [-l] <prefix to install to>\n";
+ print " -l - performs a linkoo on the installed source\n";
+ exit 1;
+}
+
+my $BUILD=undef;
+my $LAST_MINOR=undef;
+open MINORMK, "$ENV{'SOLARENV'}/inc/minor.mk";
+while (<MINORMK>) {
+ my $t = "\$" . $_;
+ if(/^BUILD/ || /^LAST_MINOR/) {
+ eval $t;
+ }
+}
+close MINORMK;
+$ENV{LAST_MINOR} = $LAST_MINOR;
+$ENV{OUT} = "../$ENV{'INPATH'}";
+$ENV{LOCAL_OUT} = $ENV{OUT};
+$ENV{LOCAL_COMMON_OUT} = $ENV{OUT};
+# FIXME: the following variable helps to install localizations even if some
+# files are not localized (like Japanese, Chinese wordbook), it makes
+# the installer to use the English localization of the file instead.
+$ENV{DEFAULT_TO_ENGLISH_FOR_PACKING} = 1;
+
+my @larr;
+$langs=$ENV{WITH_LANG};
+$langs='en-US' if $langs eq '';
+if ($langs eq 'ALL') {
+ opendir(DIR,$ENV{L10N_MODULE} . "/source");
+ @larr = readdir(DIR);
+ @larr = grep { $_ ne '.' } @larr;
+ @larr = grep { $_ ne '..' } @larr;
+ @larr = (@larr,"en-US");
+ closedir(DIR);
+}
+else {
+ @larr = grep { $_ ne '' } split(/ /, $langs);
+}
+$langs = join (",", @larr);
+
+$destdir='';
+if ( defined $ENV{DESTDIR} &&
+ $ENV{DESTDIR} ne "" ) {
+ $destdir = "-destdir \"$ENV{DESTDIR}\"";
+}
+
+$strip='';
+if ( defined $ENV{DISABLE_STRIP} &&
+ $ENV{DISABLE_STRIP} eq "TRUE" ) {
+ $strip = "-dontstrip";
+}
+
+$msi='';
+if ($is_windows) {
+ $msi = "-msitemplate $ENV{SRC_ROOT}/instsetoo_native/$ENV{INPATH}/misc/openoffice/msi_templates " .
+ "-msilanguage $ENV{SRC_ROOT}/instsetoo_native/$ENV{INPATH}/misc/win_ulffiles";
+}
+
+print "Running LibreOffice installer\n";
+system ("cd $ENV{SRC_ROOT}/instsetoo_native/util ; " .
+ "perl -w $ENV{SOLARENV}/bin/make_installer.pl " .
+ "-f openoffice.lst -l $langs -p LibreOffice " .
+ "-u $tmp_dir " .
+ "-buildid $BUILD $destdir $strip $msi " .
+ "-simple $path") && die "Failed to install: $!";
+
+if ($ENV{BUILD_TYPE} =~ m/ODK/) {
+ print "Running SDK installer\n";
+ system ("cd $ENV{SRC_ROOT}/instsetoo_native/util ; " .
+ "perl -w $ENV{SOLARENV}/bin/make_installer.pl " .
+ "-f openoffice.lst -l en-US -p LibreOffice_SDK " .
+ "-u $tmp_dir " .
+ "-buildid $BUILD $destdir $strip $msi" .
+ "-simple $path") && die "Failed to install: $!";
+}
+print "Installer finished\n";
+
+if ($do_link && !$is_windows) {
+ `$ENV{SOLARENV}/bin/linkoo $path $ENV{SRC_ROOT}`;
+}
diff --git a/solenv/bin/packimages.pl b/solenv/bin/packimages.pl
index 9466110124d2..24bca5c77160 100755
--- a/solenv/bin/packimages.pl
+++ b/solenv/bin/packimages.pl
@@ -356,9 +356,13 @@ sub create_zip_archive
foreach ( optimize_zip_layout($zip_hash_ref) ) {
my $path = $zip_hash_ref->{$_} . "/$_";
print_message("zipping '$path' ...") if $extra_verbose;
- my $member = $zip->addFile($path, $_);
- if ( !$member ) {
- print_error("can't add file '$path' to image zip archive: $!", 5);
+ if ( -e $path) {
+ my $member = $zip->addFile($path, $_, COMPRESSION_STORED);
+ if ( !$member ) {
+ print_error("can't add file '$path' to image zip archive: $!", 5);
+ }
+ } else {
+ print_message("file '$path' not found");
}
}
my $status = $zip->writeToFileNamed($tmp_out_file);
diff --git a/solenv/bin/receditor b/solenv/bin/receditor
index 1b4046010485..d0549c6c79ab 100755
--- a/solenv/bin/receditor
+++ b/solenv/bin/receditor
@@ -3,4 +3,4 @@ if [ x${SOLARENV}x = xx ]; then
echo No environment found, please use 'configure' or 'setsolar'
exit 1
fi
-exec java -DSOLARSRC=${SOLARSRC} -DWORK_STAMP=${WORK_STAMP} -jar ${SOLARVER}/${INPATH}/bin${UPDMINOREXT}/receditor.jar
+exec java -DSOLARSRC=${SOLARSRC} -DWORK_STAMP=${WORK_STAMP} -jar ${SOLARVER}/${INPATH}/bin/receditor.jar
diff --git a/solenv/bin/relocate b/solenv/bin/relocate
index 2158d5d7314c..6a5cfb992a3c 100755
--- a/solenv/bin/relocate
+++ b/solenv/bin/relocate
@@ -34,6 +34,8 @@
# <http://www.openoffice.org/license.html>
# for a copy of the LGPLv3 License.
#
+# written substantially, if not entirely by non-Sun volunteers
+#
#*************************************************************************
sub sniff_set($)
@@ -43,7 +45,7 @@ sub sniff_set($)
opendir ($dirhandle, $build_dir) || die "Can't open $build_dir";
while ($fname = readdir ($dirhandle)) {
- $fname =~ /[Ss]et.sh$/ && last;
+ $fname =~ /Set.sh$/ && last;
}
closedir ($dirhandle);
@@ -103,39 +105,65 @@ sub rewrite_set($$$)
$state{'win32_new_root'} = $tmp;
sed_file ("$new_root/$set", \&rewrite_value, \%state);
-
- my $tcsh_set = $set;
- $tcsh_set =~ s/\.sh$//;
-
- print " $tcsh_set\n";
-
- sed_file ("$new_root/$tcsh_set", \&rewrite_value, \%state);
}
-sub find_old_root($$)
+sub read_set($$)
{
my $new_root = shift;
my $set = shift;
my $fname = "$new_root/$set";
- my $old_root;
my $file;
+ my %env_keys;
open ($file, $fname) || die "Can't open $fname: $!";
-
+
while (<$file>) {
if (/\s*([^=]+)\s*=\s*\"([^\"]+)\"/) {
my ($name, $value) = ($1, $2);
- if ($name eq 'SRC_ROOT') {
- $old_root = $value;
- last;
- }
+ $env_keys{$name} = $value;
}
}
-
+
close ($file) || die "Failed to close $fname: $!";
- return $old_root;
+ return \%env_keys;
+}
+
+sub sed_file_no_touch($$$)
+{
+ my ($new_root, $old_root, $file) = @_;
+ my ($fin, $fout);
+
+ ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
+ $atime,$mtime,$ctime,$blksize,$blocks) = stat ($file);
+
+ open ($fin, $file) || die "Can't open $fin: $!";
+ open ($fout, ">$file.sed.bak") || die "Can't open $file.sed.bak: $!";
+ while (<$fin>) {
+ s/$old_root/$new_root/g;
+ print $fout $_;
+ }
+ close ($fin);
+ close ($fout);
+ rename ("$file.sed.bak", $file);
+# print "rename $file.sed.bak to $file\n";
+
+ utime $atime, $mtime, $file;
+}
+
+sub sed_no_touch_recursive ($$$)
+{
+ my ($new_root, $old_root, $dir) = @_;
+ my $dh;
+ opendir ($dh, $dir) || die "Can't open dir: $dir: $!";
+ while (my $entry = readdir ($dh)) {
+ $entry =~ /^\./ && next;
+ my $path = "$dir/$entry";
+ sed_no_touch_recursive ($new_root, $old_root, $path) if (-d $path);
+ sed_file_no_touch ($new_root, $old_root, $path) if (-f $path);
+ }
+ closedir ($dh);
}
sub rewrite_product_deps($$$)
@@ -151,8 +179,8 @@ sub rewrite_product_deps($$$)
while ($name = readdir ($misc_dir)) {
# Should try re-writing these - but perhaps this would
# screw with timestamps ?
- if ($name =~ m/\.dpcc$/ || $name =~ m/\.dpslo$/ || $name =~ m/\.dpobj$/) {
- unlink ("$path/$name");
+ if ($name =~ m/\.dpcc$/ || $name =~ m/\.dpslo$/ || $name =~ m/\.dpobj$/) {
+ sed_file_no_touch ($new_root, $old_root, "$path/$name");
}
}
closedir ($misc_dir);
@@ -184,6 +212,35 @@ sub rewrite_dpcc($$)
closedir ($sub_dir);
}
closedir ($top_dir);
+ print "\n";
+}
+
+sub rewrite_symlinks($$)
+{
+ my $new_root = shift;
+ my $old_root = shift;
+
+ my $dirh;
+ opendir ($dirh, $new_root);
+ while (my $ent = readdir ($dirh)) {
+ $ent =~ /^\./ && next;
+ my $link = "$new_root/$ent";
+ -l $link || next;
+ my $target = readlink ($link);
+ my $newtarget = $target;
+ $newtarget =~ s/$old_root/$new_root/;
+ if ($target =~ m/$new_root/) {
+ print STDERR "skip correct link $target\n";
+ } elsif ($newtarget eq $target) {
+ print STDERR "unusual - possibly stale link: $target\n";
+ if ($target =~ m/\/clone\//) { die "failed to rename link"; }
+ } else {
+ print "Re-write link $target to $newtarget\n";
+ unlink ($link);
+ symlink ($newtarget, $link);
+ }
+ }
+ closedir ($dirh);
}
sub rewrite_bootstrap($$)
@@ -217,17 +274,29 @@ substr ($OOO_BUILD, 0, 1) eq '/' || die "relocate requires absolute paths";
my $set;
$set = sniff_set($OOO_BUILD) || die "Can't find env. set";
-$OLD_ROOT = find_old_root($OOO_BUILD, $set);
+my $env_keys = read_set ($OOO_BUILD, $set);
+$OLD_ROOT = $env_keys->{'SRC_ROOT'};
+my $solver = $env_keys->{SOLARVER} . "/" . $env_keys->{INPATH};
print "Relocate: $OLD_ROOT -> $OOO_BUILD\n";
+if ($OLD_ROOT eq $OOO_BUILD) {
+ print "nothing to do\n";
+ exit 0;
+}
-print "re-writing environment:\n";
-
-rewrite_set($OOO_BUILD, $OLD_ROOT, $set);
-rewrite_bootstrap($OOO_BUILD, $OLD_ROOT);
+print "re-writing symlinks\n";
+rewrite_symlinks($OOO_BUILD, $OLD_ROOT);
print "re-writing dependencies:\n";
-
rewrite_dpcc($OOO_BUILD, $OLD_ROOT);
+if (-d "$solver/workdir/Dep") {
+ print "re-writing new dependencies:\n";
+ sed_no_touch_recursive ($OOO_BUILD, $OLD_ROOT, "$solver/workdir/Dep");
+}
+
+print "re-writing environment:\n";
+rewrite_set($OOO_BUILD, $OLD_ROOT, $set);
+rewrite_bootstrap($OOO_BUILD, $OLD_ROOT);
+
print "done.\n";
diff --git a/solenv/bin/remangle32to64.pl b/solenv/bin/remangle32to64.pl
new file mode 100644
index 000000000000..0ed98fbd4d4e
--- /dev/null
+++ b/solenv/bin/remangle32to64.pl
@@ -0,0 +1,327 @@
+#!/usr/bin/perl -w /* -*- indent-tabs-mode: nil -*- */
+
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Initial Developer of the Original Code is
+# Novell, Inc
+# Portions created by the Initial Developer are Copyright (C) 2011 Novell,
+# Inc. All Rights Reserved.
+#
+# Contributor(s): Tor Lillqvist <tml@iki.fi>
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+
+# Change MSVC mangled C++ names from 32-bit form to the corresponding
+# 64-bit form. Each line of input can contain at most one mangled
+# name.
+
+# Based on experimentation with MSVC2008 and the following web pages:
+
+# http://www.geoffchappell.com/viewer.htm?doc=studies/msvc/language/decoration/index.htm
+# Thorough but incomplete. Still, describes details the below sources
+# don't mention.
+
+# http://cvs.winehq.com/cvsweb/wine/dlls/msvcrt/undname.c
+# Wine's __unDname function, presumably the most complete, although
+# not really written to act as "documentation"
+
+# http://mearie.org/documents/mscmangle/
+# Relatively complete but a bit badly structured and terse.
+
+# http://en.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B_Name_Mangling
+# seems to be mostly a ripoff on the mearie.org page
+
+# Example transformation:
+# ??0ORealDynamicLoader@salhelper@@IAE@PAPAV01@ABVOUString@rtl@@1PAX2@Z =>
+# ??0ORealDynamicLoader@salhelper@@IEAA@PEAPEAV01@AEBVOUString@rtl@@1PEAX2@Z
+
+# It should be relatively easy to remove the modification parts of the
+# below code and use the regex for some other task on MSVC mangled
+# names.
+
+# The regular expression below accepts also nonsensical mangled names,
+# so it should not be used to verify correctness of mangled names.
+
+use strict;
+
+my @opstack = ();
+
+sub parse_number($)
+{
+ my ($num) = @_;
+
+ return $num + 1 if ($num eq '0' || ($num ge '1' && $num le '9'));
+
+ $num =~ tr/ABCDEFGHIJKLMNOP@/0123456789ABCDEF /;
+ hex($num);
+}
+
+sub format_number($)
+{
+ my ($num) = @_;
+
+ return $num - 1 if ($num <= 10);
+
+ $num = sprintf("%X", $num);
+ $num =~ tr/0123456789ABCDEF/ABCDEFGHIJKLMNOP/;
+ $num.'@';
+}
+
+sub double_thunk($$)
+{
+ my ($number, $position) = @_;
+
+ my $bytes = parse_number($number);
+ $bytes *= 2;
+ push(@opstack, 'r '.($position - length($number)).' '.length($number).' '.format_number($bytes));
+}
+
+while (<>)
+ {
+ m/
+ # Named subpattern definitions. I use names of the form
+ # __CamelCase__ for the named subpatters so that they are easier
+ # to see.
+ (?(DEFINE)
+ (?<__Number__>
+ \?? ([0-9] | [A-P]+@)
+ )
+ (?<__32BitChecksum__>
+ [A-P]{8}@
+ )
+ (?<__CallingConvention__>
+ (?:
+ [AB]
+ |
+ [C-L]
+ (?{ push(@opstack, 'r '.(pos()-1).' 1 A cdecl'); })
+ )
+ )
+ (?<__StringLiteralText__>
+ (?:
+ [_a-zA-Z0-9]
+ |
+ \?\$[A-P][A-P]
+ |
+ \?[0-9A-Za-z]
+ ){1,20}
+ )
+ (?<__Identifier__>
+ [_a-zA-Z\$][_a-zA-Z0-9\$]*@
+ )
+ (?<__ArgsZTerminated__>
+ (?&__DataTypeInArgs__)+ @? Z
+ )
+ (?<__ArgsNonZTerminated__>
+ (?&__DataTypeInArgs__)+ @?
+ )
+ (?<__TemplateName__>
+ (?&__Identifier__) (?&__ArgsNonZTerminated__)
+ )
+ (?<__Class__>
+ (?:
+ [0-9]
+ |
+ \?\$ (?&__TemplateName__)
+ |
+ (?&__Identifier__)
+ )+@
+ )
+ (?<__DataTypeCommon__>
+ (?:
+ # extended types like _int64, bool and wchar_t
+ _[D-NW]
+ |
+ # simple types
+ [C-KMNOXZ]
+ |
+ # class, struct, union, cointerface
+ [TUVY] (?&__Class__)
+ |
+ # references
+ [AB]
+ (?{ push(@opstack, 'i '.pos().' E reference'); })
+ (?&__ModifiedType__)
+ |
+ # pointers
+ [QRS]
+ (?{ push(@opstack, 'i '.pos().' E pointer'); })
+ (?&__ModifiedType__)
+ |
+ P
+ (?:
+ # function pointer
+ 6 (?&__CallingConvention__) (?&__DataTypeNotInArgs__) (?&__ArgsZTerminated__)
+ |
+ # other pointer
+ (?{ push(@opstack, 'i '.pos().' E pointer'); })
+ (?&__ModifiedType__)
+ )
+ |
+ W 4 (?&__Class__)
+ |
+ [0-9]
+ |
+ \$ (?:
+ [0DQ] (?&__Number__)
+ |
+ F (?&__Number__){2}
+ |
+ G (?&__Number__){3}
+ |
+ \$ [ABCD] (?&__DataTypeNotInArgs__)
+ )
+ )
+ )
+ (?<__ModifiedType__>
+ [ABCD]
+ (?:
+ # multidimensional array
+ Y (?&__Number__)+
+ )?
+ (?&__DataTypeNotInArgs__)
+ )
+ (?<__DataTypeInArgs__>
+ (?:
+ (?&__DataTypeCommon__)
+ |
+ # template parameter
+ \? (?&__Number__)
+ )
+ )
+ (?<__DataTypeNotInArgs__>
+ (?:
+ (?&__DataTypeCommon__)
+ |
+ \? (?&__ModifiedType__)
+ )
+ )
+ )
+
+ # All mangled names start with a question mark
+ \?
+ (?:
+ # Ctors, dtors, operators etc have separate a priori defined
+ # special mangled names like the very simple ?0 for constructor
+ # and ?_R16789 for "RTTI Base Class Descriptor at (6,7,8,9)"
+ # whatever that might mean.
+ (
+ \?
+ ([0-9A-Z]
+ |
+ _(?:
+ # C is for string literals, see below
+ # R is RTTI, see immediately below
+ [0-9ABD-QS-Z]
+ |
+ R0(?&__DataTypeNotInArgs__)
+ |
+ R1(?&__Number__){4}
+ |
+ R[234]
+ |
+ _(?:
+ E
+ )
+ )
+ )
+ )?
+ (?&__Class__)
+
+ (?:
+ # Static members and normal variables
+ [0-5]
+ (?&__DataTypeNotInArgs__)
+ [ABCD]
+ |
+ # Compiler-generated static
+ [67]
+ [ABCD]
+ (?:
+ @
+ |
+ (?&__Class__)
+ )
+ |
+ # Non-static Methods, implicit 'this'
+ [ABEFIJMNQRUV]
+ [AB]
+ (?{ push(@opstack, 'i '.(pos()-1).' E this'); })
+ (?&__CallingConvention__)
+ (?:
+ @
+ |
+ (?&__DataTypeNotInArgs__)
+ )
+ (?&__ArgsZTerminated__)
+ |
+ # Static methods
+ [CDKLST]
+ (?&__CallingConvention__)
+ (?:
+ @
+ |
+ (?&__DataTypeNotInArgs__)
+ )
+ (?&__ArgsZTerminated__)
+ |
+ # Thunks
+ [GHOPWX]
+ ((?&__Number__))
+ (?{ double_thunk($^N, pos()); })
+ [AB]
+ (?{ push(@opstack, 'i '.(pos()-1).' E this'); })
+ (?&__CallingConvention__)
+ (?:
+ @
+ |
+ (?&__DataTypeNotInArgs__)
+ )
+ (?&__ArgsZTerminated__)
+ |
+ # Functions
+ [YZ]
+ (?&__CallingConvention__)
+ (?:
+ @
+ |
+ (?&__DataTypeNotInArgs__)
+ )
+ (?&__ArgsZTerminated__)
+ |
+ # Template
+ \$ (?&__Identifier__) (?&__ArgsNonZTerminated__)
+ )
+ |
+ # pooled string literals
+ \?_C\@_[01](?&__Number__)(?&__32BitChecksum__)(?&__StringLiteralText__)@
+ )
+ /x;
+
+ while (my $op = pop(@opstack))
+ {
+ # print STDERR "op=$op\n";
+ my @a = split (' ', $op);
+ if ($a[0] eq 'i') {
+ substr($_,$a[1],0) = $a[2];
+ } elsif ($a[0] eq 'r') {
+ substr($_,$a[1],$a[2]) = $a[3];
+ }
+ }
+
+ print;
+ }
diff --git a/solenv/bin/striplanguagetags.sh b/solenv/bin/striplanguagetags.sh
new file mode 100755
index 000000000000..a8834795e28c
--- /dev/null
+++ b/solenv/bin/striplanguagetags.sh
@@ -0,0 +1,54 @@
+#!/usr/bin/env bash
+#take a .zip containing a flat hierarchy of odf files and strip out the
+#language and country tags in each of them and repack it all up
+#should convert templates so that documents based on them use
+#the default-document-language rather than the hardcoded lang-tag
+
+#All a bit hacky, but it should work
+
+tempfoo=`basename $0`
+
+XSL=`mktemp /tmp/${tempfoo}.XXXXXX`
+if [ $? -ne 0 ]; then
+ echo "$0: Can't create temp file, exiting..."
+ exit 1
+fi
+
+# On Windows, xsltproc is a non-Cygwin program, so we can't pass
+# a Cygwin /tmp path to it
+[ "$COM" == MSC ] && XSL=`cygpath -m -s $XSL`
+
+WRKDIR=`mktemp -d /tmp/${tempfoo}.XXXXXX`
+if [ $? -ne 0 ]; then
+ echo "$0: Can't create temp dir, exiting..."
+ exit 1
+fi
+
+cat > $XSL << EOF
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0">
+
+<xsl:template match="node()|@*">
+ <xsl:copy>
+ <xsl:apply-templates select="@*|node()"/>
+ </xsl:copy>
+</xsl:template>
+
+<xsl:template match="@fo:language"/>
+<xsl:template match="@fo:country"/>
+
+</xsl:stylesheet>
+EOF
+
+unzip -q $1 -d $WRKDIR
+pushd $WRKDIR
+for a in *; do
+ unzip -qc $a styles.xml > styles.tmp
+ eval "$CALLXSLTPROC -o styles.xml $XSL styles.tmp"
+ zip -qr $a styles.xml
+ rm styles.xml styles.tmp
+done
+popd
+zip -qrj $1 $WRKDIR
+rm -rf $WRKDIR
+rm -f $XSL
diff --git a/solenv/bin/subsequenttests b/solenv/bin/subsequenttests
index ae9b61922bd8..5052523cfb32 100755
--- a/solenv/bin/subsequenttests
+++ b/solenv/bin/subsequenttests
@@ -1,171 +1,29 @@
-eval 'exec "$PERL" -Sw "$0" "$@"'
- if 0;
-#*************************************************************************
-#
-# 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.
-#
-#***********************************************************************/
-
-use lib("$ENV{SOLARENV}/bin/modules");
-use SourceConfig;
-
-my $keep_going = 0;
-my $dry_run = 0;
-my $max_running = 1;
-while (@ARGV) {
- my $arg = shift(@ARGV);
- if ($arg =~ /^-P([1-9]\d*)$/) {
- $max_running = $1;
- } elsif ($arg eq '--') {
- last;
- } else {
- my $n = substr($arg, 0, 1) eq '-' ? 1 : 0;
- while ($n && $n < length($arg)) {
- my $c = substr($arg, $n++, 1);
- if ($c eq 'k') {
- $keep_going = 1;
- } elsif ($c eq 'n') {
- $dry_run = 1;
- } else {
- $n = 0;
- last;
- }
- }
- if (!$n) {
- print STDERR "unknown argument \"$arg\"\n";
- print STDERR "usage: $0 [-kn] [-P<n>] [-- <args>]\n";
- print STDERR " -k continue with other dmake invocations upon\n";
- print STDERR " failure\n";
- print STDERR " -n write directories that would be processed\n";
- print STDERR " to standard output\n";
- print STDERR " -P<n> number of parallel dmake invocations\n";
- print STDERR " <args> are passed to dmake invocations\n";
- exit(1);
- }
- }
-}
-
-my @testpaths = ();
-my $sc = SourceConfig->new($ENV{'SOLARSRC'});
-my $module;
-my $gbuildpath = "$ENV{'SOLARSRC'}/GNUmakefile";
-foreach $module ($sc->get_active_modules()) {
- my $buildlst = $sc->get_module_build_list($module);
- next unless defined($buildlst);
- my %deps = ();
- open(BUILDLST, $buildlst) or die("cannot open $buildlst");
- while (<BUILDLST>) {
- next unless
- /^\s*\w+\s+(\S+)\s+nmake\s+-\s+all\s+(\S+)(\s+(:?\S+\s+)*)NULL\s*$/;
- my ($dir, $id, $ids) = ($1, $2, $3);
- $dir =~ s|\\|/|g;
- $dir =~ s|^[^/]+||;
- my $path = $sc->get_module_path($module) . $dir;
- my $makefile = $path . '/makefile.mk';
- open(MAKEFILE, $makefile) or die("cannot open $makefile");
- while (<MAKEFILE>) {
- if (/\bOOO_SUBSEQUENT_TESTS\b/) {
- push(@testpaths, $path);
- $deps{$id} = $ids;
- last;
- }
- }
- close(MAKEFILE);
- }
- close(BUILDLST);
- my $id1;
- foreach $id1 (keys(%deps)) {
- my ($id2, $ids);
- while (($id2, $ids) = each(%deps)) {
- $ids !~ /\s\Q$id1\E\s/ or die("$module: $id2 depends on $id1");
- }
- }
-}
-
-if ($dry_run) {
- foreach $path (@testpaths) {
- print "$path\n";
- }
- print "$gbuildpath\n";
- exit(0);
-}
-
-my @failedpaths = ();
-my @gbuildargs = ("-j$max_running", "-s");
-if ($keep_going) {
- push(@gbuildargs,"-k");
-}
-push(@gbuildargs, "--file=$gbuildpath");
-push(@gbuildargs, "subsequentcheck");
-if (system($ENV{'GNUMAKE'}, @gbuildargs) != 0) {
- push(@failedpaths,$gbuildpath);
- @testpaths = () unless $keep_going;
-}
-
-my $cmd = 'dmake';
-foreach (@ARGV) {
- s/'/'\''/g;
- $cmd .= " '" . $_ . "'";
-}
-$cmd .= ' 2>&1 |';
-
-my %pids = ();
-my $running = 0;
-my $counter = 0;
-while (@testpaths || $running > 0) {
- while (@testpaths && $running < $max_running) {
- my $testpath = shift(@testpaths);
- ++$counter;
- print("$counter: make $testpath\n");
- my $pid = fork();
- defined($pid) or die("$counter: $!");
- if ($pid == 0) {
- chdir($testpath) or die("$counter: $!");
- $ENV{'OOO_SUBSEQUENT_TESTS'} = 'TRUE';
- open(OUTPUT, $cmd) or die("$counter: $!");
- while (<OUTPUT>) {
- s/\r?\n$//;
- print("$counter: $_\n");
- }
- close(OUTPUT);
- exit($? == 0 ? 0 : 1);
- }
- $pids{$pid} = $testpath;
- ++$running;
- }
- my $pid = wait();
- $pid != -1 or die($!);
- my $testpath = delete($pids{$pid});
- defined($testpath) or die("unmatched PID $pid");
- if ($? != 0) {
- push(@failedpaths, $testpath);
- @testpaths = () unless $keep_going;
- }
- --$running;
-}
-my $failedpath;
-foreach $failedpath (@failedpaths) {
- print STDERR "failed in $failedpath\n";
-}
-exit(scalar(@failedpaths) == 0 ? 0 : 1);
+#!/bin/sh
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License or as specified alternatively below. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Initial Developer of the Original Code is
+# Bjoern Michaelsen, Canonical Ltd. <bjoern.michaelsen@canonical.com>
+# Portions created by the Initial Developer are Copyright (C) 2010 the
+# Initial Developer. All Rights Reserved.
+#
+# Major Contributor(s):
+#
+# For minor contributions see the git repository.
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+set -e
+${GNUMAKE} -sf ${SOLARSRC}/GNUmakefile.mk subsequentcheck $*
diff --git a/solenv/bin/transform_description.pl b/solenv/bin/transform_description.pl
index b1adb03626dd..ff99df425049 100644
--- a/solenv/bin/transform_description.pl
+++ b/solenv/bin/transform_description.pl
@@ -130,7 +130,7 @@ sub explain
print STDOUT "\n";
print STDOUT " The following transformations are done at the moment:\n";
print STDOUT " - duplicate all lines containing #LANG#, for ever token of \$WITH_LANG\n";
- print STDOUT " replacing every occurance of \$LANG with a token\n";
+ print STDOUT " replacing every occurrence of \$LANG with a token\n";
print STDOUT "\n";
print STDOUT " And yes, the functionality of this script should be\n";
print STDOUT " - moved to solenv/inc/tg_ext.mk\n";
diff --git a/solenv/bin/update_module_ignore_lists.pl b/solenv/bin/update_module_ignore_lists.pl
deleted file mode 100644
index 88d73a0217d6..000000000000
--- a/solenv/bin/update_module_ignore_lists.pl
+++ /dev/null
@@ -1,255 +0,0 @@
-:
- eval 'exec perl -S $0 ${1+"$@"}'
- if 0;
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-use Cwd;
-use File::Temp qw/ tempfile tempdir /;
-
-my $verbosity = 1; # will be adjusted to the value of $Env{VERBOSE} below
-
-# platforms which are not supported anymore, and thus can be filtered from the svn:ignore list
-my %obsolete_platforms = (
- );
- # (none so far)
-
-# platforms whose output trees should appear in all modules' svn:ignore list
-my @platforms = (
- "common",
- "unxlngi6",
- "unxlngx6",
- "unxsols4",
- "unxsolu4",
- "unxsoli4",
- "wntmsci12",
- "unxmacxi",
- "unxubit8",
- "unxaixp",
- "unxbsda",
- "unxbsdi2",
- "unxbsdi",
- "unxbsds",
- "unxfbsdi",
- "unxfbsd",
- "unxfbsdx",
- "unxhpgr",
- "unxhpxr",
- "unxirgm",
- "unxirxm3",
- "unxirxm",
- "unxlnga",
- "unxlngm68k",
- "unxlngmips",
- "unxlngp",
- "unxlngppc4",
- "unxlngppc64",
- "unxlngppc",
- "unxlngr",
- "unxlngs3904",
- "unxlngs390x",
- "unxlngs",
- "unxlnxi",
- "unxmacxp",
- "unxsogi",
- "unxsogs"
- );
-
-
-# .........................................................................
-# retrieves the repository URL of the SVN working copy in the current directory
-sub retrieve_repo_url
-{
- open( SVN, "svn info 2>&1 |" );
- my @result = <SVN>;
- close( SVN );
-
- foreach (@result)
- {
- chomp;
- next if ( ! /^URL: / );
- s/^URL: //;
- return $_;
- }
- return undef;
-}
-
-# .........................................................................
-# gets the "modules" below the given SVN repository URL, by calling "svn list"
-sub get_modules
-{
- my @modules = ();
-
- open( SVN, "svn list $_ 2>&1 |" );
- my @result = <SVN>;
- close( SVN );
-
- foreach (@result)
- {
- chomp;
- s/\/$//;
- push @modules, $_;
- }
-
- return @modules;
-}
-
-# .........................................................................
-sub set_ignore_property
-{
- my ($repo_url, @modules) = @_;
-
- # max length of a module name
- my $max_len = 0;
- foreach ( @modules ) { $max_len = length( $_ ) if ( length( $_ ) > $max_len ); }
-
- my $updated = 0;
-
- my $current = 0;
- my $count = $#modules + 1;
- foreach $module ( @modules )
- {
- ++$current;
-
- # print progress
- if ( $verbosity > 1 )
- {
- my $progress = "$module ";
- $progress .= "(" . $current . "/" . $count . ")";
-
- my $dots = 3 + ( $max_len - length($module) );
- $dots += int( digits( $count ) ) - int( digits( $current ) );
-
- $progress .= ( "." x $dots );
- $progress .= " ";
-
- print STDOUT $progress;
- }
- elsif ( $verbosity > 0 )
- {
- print STDOUT ".";
- }
-
- # retrieve the current ignore list
- open( SVN, "svn propget svn:ignore $module 2>&1 |" );
- my @ignore_list = <SVN>;
- close( SVN );
-
- # the last item in the list is an empty string, usually. Don't let it confuse the below
- # code
- my $supposed_empty = pop @ignore_list;
- chomp( $supposed_empty );
- push( @ignore_list, $supposed_empty ) if ( !( $supposed_empty =~ /^$/ ) );
-
- # filter out obsolte entries
- my @stripped_ignore_list = ();
- foreach $ignore_entry (@ignore_list)
- {
- chomp( $ignore_entry );
- next if ( $ignore_entry =~ /^$/ );
-
- if ( ( exists $obsolete_platforms{$ignore_entry} )
- || ( exists $obsolete_platforms{"$ignore_entry.pro"} )
- )
- {
- next;
- }
- push @stripped_ignore_list, $ignore_entry;
- }
- my $removed = $#ignore_list - $#stripped_ignore_list;
- @ignore_list = @stripped_ignore_list;
-
- # append the platforms which should appear in the ignore list
- my %ignore_list = ();
- foreach (@ignore_list) { $ignore_list{$_} = 1; }
- foreach $platform_entry ( @platforms )
- {
- $ignore_list{$platform_entry} = 1;
- $ignore_list{"$platform_entry.pro"} = 1;
- }
- my @extended_ignore_list = keys %ignore_list;
- my $added = $#extended_ignore_list - $#ignore_list;
- @ignore_list = @extended_ignore_list;
-
- if ( $removed || $added )
- {
- # create a temporary file taking the new content of the svn_ignore property
- my $temp_dir = tempdir( CLEANUP => 1 );
- my ($fh, $filename) = tempfile( DIR => $dir );
- open( IGNORE, ">$filename" );
- print IGNORE join "\n", @ignore_list;
- close( IGNORE );
-
- # actually set the property
- open( SVN, "svn propset -F $filename svn:ignore $module 2>&1 |" );
-
- ++$updated;
- }
-
- # statistics
- print STDOUT "done (removed/added: $removed/$added)\n" if $verbosity > 1;
- }
-
- print STDOUT "\n" if $verbosity eq 1;
- print STDOUT "$updated module(s) updated\n" if $verbosity > 0;
-}
-
-# .........................................................................
-sub digits
-{
- my ($number, $base) = @_;
- $base = 10 if !defined $base;
- return log($number)/log($base);
-}
-
-# .........................................................................
-# 'main'
-
-# initialize verbosity
-my $verbose = $ENV{VERBOSE};
-if ( defined $verbose )
-{
- $verbose = uc( $verbose );
- $verbosity = 2 if ( $verbose eq "TRUE" );
- $verbosity = 0 if ( $verbose eq "FALSE" );
-}
-
-# work on the current directory
-my $working_copy_root = cwd();
-die "current directory does not contain an SVN working copy" if !-d $working_copy_root . "/\.svn";
-
-# retrieve repository URL
-my $repo_url = retrieve_repo_url();
-die "unable to retrieve repository URL" if !defined $repo_url;
-print STDOUT "repository URL: $repo_url\n" if $verbosity > 1;
-
-# list modules
-my @modules = get_modules( $repo_url );
-print STDOUT "processing " . ( $#modules + 1 ) . " modules\n" if $verbosity > 0;
-
-# process modules, by setting the svn:ignore property
-set_ignore_property( $repo_url, @modules );
diff --git a/solenv/bin/zipdep.pl b/solenv/bin/zipdep.pl
index f19f79f00e52..b92ee1d6221e 100755
--- a/solenv/bin/zipdep.pl
+++ b/solenv/bin/zipdep.pl
@@ -33,17 +33,6 @@ eval 'exec perl -wS $0 ${1+"$@"}'
#
use Cwd;
-#### script id #####
-
-( $script_name = $0 ) =~ s/^.*\b(\w+)\.pl$/$1/;
-
-$id_str = ' $Revision: 1.12 $ ';
-$id_str =~ /Revision:\s+(\S+)\s+\$/
- ? ($script_rev = $1) : ($script_rev = "-");
-
-print STDERR "$script_name -- version: $script_rev\n";
-print STDERR "Multi Platform Enabled Edition\n";
-
#########################
# #
# Globale Variablen #
diff --git a/solenv/config/sdev300.ini b/solenv/config/sdev300.ini
deleted file mode 100644
index 254f3b5f45cc..000000000000
--- a/solenv/config/sdev300.ini
+++ /dev/null
@@ -1,3483 +0,0 @@
-common
-{
- environment
- {
- common
- {
- ADDED_MODULES solenv default_images custom_images ooo_custom_images external_images postprocess instset_native instsetoo_native smoketest_native smoketestoo_native
- 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 GRAPHITE MYSQLCPPCONN MYSQLC CPPUNIT LIBTEXTCAT LIBTEXTCATDATA AFMS CAIRO
- CONFIG_PROJECT config_office
- DIC_ALL TRUE
- ENABLEUNICODE TRUE
- ENABLE_AGG YES
- ENABLE_CUPS TRUE
- ENABLE_DIRECTX TRUE
- ENABLE_FONTCONFIG TRUE
- ENABLE_GTK TRUE
- ENABLE_MEDIAWIKI YES
- ENABLE_MINIMIZER YES
- ENABLE_MYSQLC YES
- ENABLE_NSS_MODULE YES
- ENABLE_RANDR TRUE
- ENABLE_REPORTBUILDER YES
- ENABLE_SVCTAGS YES
- ISERVER iserver.germany.sun.com
- LU_HGFLAG ""
- LU_NOSOURCE ""
- LU_RFLAG ""
- NEW_JAR_PACK TRUE
- NO_REC_RES TRUE
- OOODMAKEMODE YES
- OOO_SHELL /bin/bash
- PCLEAN_PATH xxx
- RES_ENUS TRUE
- RES_GER TRUE
- rsc_once TRUE
- SHIPDRIVE /so/install
- STLPORT4 NO_STLPORT4
- STLPORT_VER 400
- WITH_FONTOOO YES
- WITH_LDAP YES
- wrapper_override_cc_wrapper TRUE
- MAXPROC maxproc=15
- XINERAMA_LINK dynamic
- }
- common:0 IF %UPDATER% == YES
- {
- DEFAULT_TO_ENGLISH_FOR_PACKING 1
- DISABLE_SAL_DBGBOX 1
- }
- common:1 IF X%CWS_WORK_STAMP%X != XX
- {
- CWS_WORK_STAMP_EXT _%CWS_WORK_STAMP%
- }
- common:2 IF %UPDATER% == YES
- {
- WITH_LANG en-US de
- }
- common:3 IF %UPDATER% != YES
- {
- }
- crashdump
- {
- ENABLE_CRASHDUMP TRUE
- }
- hg
- {
- LU_HGFLAG hg_source
- }
- maxproc
- {
- MAXPROC maxproc=%MAXPROCESS%
- }
- minorext
- {
- UPDMINOREXT .%UPDMINOR%
- }
- nosource
- {
- LU_NOSOURCE no_source
- }
- pro:0 IF %UPDATER% == YES
- {
- 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
- }
- pro:1 IF %UPDATER% != YES
- {
- product full
- PROEXT .pro
- PROFULLSWITCH product=full
- }
-
- r_only
- {
- LU_RFLAG r_only
- }
- tmp
- {
- SOL_TMP %SOL_TMP_DIR%
- }
- verbose
- {
- VERBOSE VERBOSE
- }
- }
- extern
- {
- ENVROOT
- PATH
- SRC_ROOT
- UPDATER
- }
- order minorext common:2 common:3 pro:0 pro:1 common common:0 cwsname common:1 tmp crashdump maxproc hg r_only nosource
- reset
- {
- ALT_L10N_MODULE
- ENVCFLAGS
- HOMEDRIVE
- HOMEPATH
- JAVAHOME
- JAVA_HOME
- LU_HGFLAG
- LU_NOSOURCE
- LU_RFLAGS
- MKDIRHIER
- PROEXT
- PROFULLSWITCH
- SHIPDRIVE
- SOLARSRC
- SOLAR_JAVA
- SPEW
- STLPORT4
- UPDMINOREXT
- WITH_FONTOOO
- }
- restore
- {
- PATH
- }
- standlst
- {
- DRIVE_O %WORK_STAMP%/drives/o:/UnixVolume
- DRIVE_S %WORK_STAMP%/drives/s:/UnixVolume
- }
- switches
- {
- crashdump
- cwsname CWS_WORK_STAMP
- envroot
- hg
- minorext
- nosource
- pro
- maxproc MAXPROCESS
- r_only
- tmp SOL_TMP_DIR
- verbose VERBOSE
- with_lang
- }
-}
-finish
-{
- environment
- {
- cap
- {
- SOLARSRC %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%
- SOURCE_ROOT_DIR $expand(%SOLARSRC%/..)
- }
- cax
- {
- SOLARSRC %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%
- SOURCE_ROOT_DIR $expand(%SOLARSRC%/..)
- }
- common_0:0 IF %OS% == MACOSX
- {
- ENABLE_GTK
- SOLARINCLUDES -I%SOLARVERSION%$/%INPATH%$/inc%UPDMINOREXT% -I%SOLARENV%$/%OUTPATH%$/inc -I%SOLARENV%$/inc %SOLAREXTRAINC%
- }
- common_0:3 IF %SOLARINCLUDES% ==
- {
- SOLARINCLUDES -I%SOLARVERSION%$/%INPATH%$/inc%UPDMINOREXT% %PSDKINC% -I%COMPATH%$/include -I%SOLARENV%$/inc %SOLAREXTRAINC%
- }
- common_1
- {
- BISON_HAIRY %SOLARROOT%$/btools$/bison.hairy
- BISON_SIMPLE %SOLARROOT%$/btools$/bison.simple
- DPKG %BUILD_TOOLS%$/dpkg
- OOO_JUNIT_JAR %SOLARROOT%$/btools$/junit-4.8.1.jar
- PATH .$:$cp(%SOLARENV%$/bin)$:$cp(%COMMON_BUILD_TOOLS%)$:$cp(%BUILD_TOOLS%$/dmake412)$:$cp(%BUILD_TOOLS%)$:$cp(%COMMON_ENV_TOOLS%)$:$cp(%ENV_TOOLS%)$:$cp(%COMPATH%$/bin)$:$cp(%JDKPATH%)$:$cp(%PATHEXTRA%)$:%PATH%
- PATH_SEPERATOR $;
- SOLARINC -I%SOLAR_STLPATH% -I%SOLARVERSION%$/%INPATH%$/inc%UPDMINOREXT%$/external %SOLARINCLUDES%
- SOLARLIB -L%SOLARVER%/%INPATH%/lib%UPDMINOREXT% %JDKLIBS% %SOLAREXTRALIB%
- SOLARSRC %SRC_ROOT%
- SOURCE_ROOT_DIR $expand(%SOLARSRC%/..)
- ANT_HOME %COMMON_BUILD_TOOLS%$/apache-ant-1.7.1
- WORKDIR %SOLARVERSION%/%INPATH%/workdir
- OUTDIR %SOLARVERSION%/%INPATH%
-
- }
- common_2:0 IF X%CWS_WORK_STAMP%X == XX
- {
- MWS_BUILD TRUE
- DELIVER_TO_ZIP TRUE
- gb_MAKETARGET packmodule
- }
- common_a
- {
- *o: cd %SOLARSRC%
- ALT_L10N_MODULE $expand(%SOLARSRC%/..)/sun/l10n_so
- TARFILE_LOCATION %SOURCE_ROOT_DIR%/ext_sources
- gb_REPOS %SOURCE_ROOT_DIR%/ooo %SOURCE_ROOT_DIR%/sun
- gb_LOCALBUILDDIR %SOL_TMP%/gb_%CWS_WORK_STAMP%/%WORK_STAMP%
- }
- common_setrepo:0 IF X%WITH_LANG%X != XX
- {
- gb_REPOS %gb_REPOS% %SOURCE_ROOT_DIR%/l10n
- BUILD_TYPE %BUILD_TYPE% L10N
- }
- common_jre:0 IF %JREPATH% ==
- {
- HIER set
- }
- common_jre:1 IF %LD_LIBRARY_PATH% ==
- {
- PATH %PATH%$:$cp(%JREPATH%)
- }
- cwsname:0 IF X%SOURCE_ROOT_USED%X == XX
- {
- *build
- *deliver
- DMAKEROOT SOURCE_ROOT_not_used
- SOLARINC SOURCE_ROOT_not_used
- SOLARINCLUDE SOURCE_ROOT_not_used
- SOLARSRC SOURCE_ROOT_not_used
- SOLARVER SOURCE_ROOT_not_used
- SOLARVERSION SOURCE_ROOT_not_used
- SOLAR_SOURCE_ROOT SOURCE_ROOT_not_used
- SO_GEN_ERROR Error - Using -cwsname without -sourceroot switch is harmful...
- SO_GEN_ERROR2 ...resetting path to source tree
- SRC_ROOT SOURCE_ROOT_not_used
- }
- cwsname:1 IF X%SOURCE_ROOT%X == XX
- {
- *build
- *deliver
- DMAKEROOT SOURCE_ROOT_not_set
- SOLARINC SOURCE_ROOT_not_set
- SOLARINCLUDE SOURCE_ROOT_not_set
- SOLARSRC SOURCE_ROOT_not_set
- SOLARVER SOURCE_ROOT_not_set
- SOLARVERSION SOURCE_ROOT_not_set
- SOLAR_SOURCE_ROOT SOURCE_ROOT_not_set
- SO_GEN_ERROR Error - Using -cwsname without SOURCE_ROOT set is harmful...
- SO_GEN_ERROR2 ...resetting path to source tree
- SRC_ROOT SOURCE_ROOT_not_set
- }
- cwsname:2 IF X%UPDMINOR%X == XX
- {
- *build
- *deliver
- DMAKEROOT UPDMINOR_not_used
- SOLARINC UPDMINOR_not_used
- SOLARINCLUDE UPDMINOR_not_used
- SOLARSRC UPDMINOR_not_used
- SOLARVER UPDMINOR_not_used
- SOLARVERSION UPDMINOR_not_used
- SOLAR_SOURCE_ROOT UPDMINOR_not_used
- SO_GEN_ERROR Error - Using -cwsname without -ver switch is harmful...
- SO_GEN_ERROR2 ...resetting path to source tree
- SRC_ROOT UPDMINOR_not_used
- }
- jdk14
- {
- CLASSPATH .$;%JAVA_HOME%$/jre$/lib$/rt.jar
- ILIB %LIB%$;%JDKLIB%
- LIB %LIB%$;%JDKLIB%
- JAVA_TARGET_FLAG -target 1.4
- }
- jdk15
- {
- CLASSPATH .$;%JAVA_HOME%$/jre$/lib$/rt.jar
- ILIB %LIB%$;%JDKLIB%
- LIB %LIB%$;%JDKLIB%
- JAVA_TARGET_FLAG -target 1.5
- }
- l10n
- {
- framework %L10N_framework%
- L10N-framework %L10N_framework%
- }
- ojdk16
- {
- CLASSPATH .$;%JAVA_HOME%$/jre$/lib$/rt.jar
- ILIB %LIB%$;%JDKLIB%
- LIB %LIB%$;%JDKLIB%
- JAVA_TARGET_FLAG -target 1.6
- }
- }
- order cwsname:0 cwsname:1 cwsname:2 common_0:0 common_0:1 common_0:2 common_0:3 jdk14 jdk15 ojdk16 common_1 common_2:0 l10n common_jre:0 common_jre:1 cax cap common_a common_setrepo:0
- switches
- {
- cwsname CWS_WORK_STAMP
- }
-}
-unxfbsdi
-{
- environment
- {
- bs_sourceroot
- {
- SOLAR_SOURCE_ROOT %SOURCE_ROOT_TMP%
- SOURCE_ROOT %SOURCE_ROOT_TMP%
- SOURCE_ROOT_USED TRUE
- }
- cap
- {
- COPYALL TRUE
- COPY_PACKED TRUE
- DEVROOT %SOL_TMP%$/r
- PCLEAN_PATH %SOLARROOT%/etools
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
- }
- cax
- {
- COPYALL FALSE
- DEVROOT %SOL_TMP%$/r
- PCLEAN_PATH %SOL_TMP%$/r/etools
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
- }
- common
- {
- *build nice perl %SOLARENV%/bin/build.pl %PROFULLSWITCH%
- *build_client nice perl %SOLARENV%/bin/build_client.pl
- *copyprj perl %COMMON_ENV_TOOLS%/copyprj.pl
- *deliver perl %SOLARENV%/bin/deliver.pl
- *mkout perl %SOLARENV%/bin/mkout.pl
- *r: cd %SOLARROOT%
- *s: cd %SOLARVERSION%
- *zipdep perl %SOLARENV%/bin/zipdep.pl
- COPYPRJ perl %COMMON_ENV_TOOLS%/copyprj.pl
- DELIVER perl %SOLARENV%/bin/deliver.pl
- DMAKEROOT %SOLARENV%/inc/startup
- LD_LIBRARY_PATH .:%SOLARVERSION%/%INPATH%/lib%UPDMINOREXT%:%COMPATH%/libexec
- MKOUT perl %SOLARENV%/bin/mkout.pl
- PATHEXTRA %combin%:/usr/bin:/bin:/usr/sbin:/etc:/usr/bin/X11
- SOLAREXTRAINC -I%SOLAR_STLPATH% -I%SYSBASE%/usr/include -I%SYSBASE%/usr/include/X11
- SOLAREXTRALIB -L../lib -L%SYSBASE%/usr/X11R6/lib -L%SYSBASE%/usr/lib -L/usr/X11R6/lib -L%SOLAR_STLLIBPATH%
- SOLAR_JAVA TRUE
- ZIPDEP perl %SOLARENV%/bin/zipdep.pl
- ENABLE_GCONF YES
- ENABLE_GNOMEVFS YES
- SYSTEM_LIBRSVG YES
- SYSTEM_LIBCROCO YES
- SYSTEM_GDKPIXBUF YES
- SYSTEM_GLIB YES
- SYSTEM_GETTEXT YES
- SYSTEM_PANGO YES
- SYSTEM_LIBPNG YES
- SYSTEM_LIBJPEG YES
- SYSTEM_LIBGSF YES
- }
- common0
- {
- SOLAR_ENV_ROOT /so/env
- SOLAR_SOURCE_ROOT %DRIVE_O%
- }
- common1
- {
- COMPATH %SOLAR_ENV_ROOT%$/gcc_3.0.1_linux_libc2.11_turbolinux
- DEVROOT %SOLAR_ENV_ROOT%
- PKGFORMAT some_dummy
- SHARED_SOLARENV %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT%/solenv
- SHARED_SOLARVERSION %SOLAR_SOURCE_ROOT%/%WORK_STAMP%
- SOLARENV %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT%/solenv
- SOLARROOT %SOLAR_ENV_ROOT%
- SOLARVER %SOLAR_SOURCE_ROOT%/%WORK_STAMP%
- SOLARVERSION %SOLAR_SOURCE_ROOT%/%WORK_STAMP%
- SOLAR_JDK13PATH %SOLAR_ENV_ROOT%/Linux_JDK_1.3.1
- SOLAR_JDK14PATH %SOLAR_ENV_ROOT%/Linux_JDK_1.4.2_11
- SOLAR_JDK15PATH %SOLAR_ENV_ROOT%/Linux_JDK_1.5.0_06
- SO_PACK %SOLAR_ENV_ROOT%/pack/%WORK_STAMP%
- SRC_ROOT %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT%
- }
- common2
- {
- BUILD_TOOLS %SOLARROOT%/bt_unxfbsdi/bin
- COM GCC
- COMMON_BUILD_TOOLS %SOLARROOT%$/btools
- COMMON_ENV_TOOLS %SOLARROOT%$/etools
- CPU I
- CPUNAME INTEL
- CVER C300
- ENV_TOOLS %SOLARROOT%/et_unxfbsdi/bin
- GUI UNX
- GUIBASE unx
- GVER VCL
- INPATH unxfbsdi%PROEXT%
- JDK13PATH %SOLAR_JDK13PATH%
- JDK14PATH %SOLAR_JDK14PATH%
- JDK15PATH %SOLAR_JDK15PATH%
- NO_BSYMBOLIC True
- OS FREEBSD
- OUTPATH unxfbsdi
- SOLAR_STLLIBPATH %SOLARVERSION%$/unxfbsdi%PROEXT%$/lib%UPDMINOREXT%
- SOLAR_STLPATH %SOLARVERSION%$/unxfbsdi%PROEXT%$/inc%UPDMINOREXT%$/stl
- SYSBASE %SOLAR_SYSBASE_ROOT%
- TEMP /tmp
- TMP /tmp
- }
- compath
- {
- COMPATH %STAR_COMPATH%
- }
- debug
- {
- LD_LIBRARY_PATH %SOLARROOT%/solenv/unxlngi4/lib/debug:%LD_LIBRARY_PATH%
- }
- distroot:0 if X%DIST_ROOT%X != XX
- {
- SHARED_SOLARVERSION %DIST_ROOT%/%WORK_STAMP%
- SOLARVER %DIST_ROOT%/%WORK_STAMP%
- SOLARVERSION %DIST_ROOT%/%WORK_STAMP%
- }
- envroot:0 IF X%ENV_ROOT%X != XX
- {
- SOLAR_ENV_ROOT %ENV_ROOT%
- }
- jdk14
- {
- JAVA_HOME %JDK14PATH%
- JDKINC %JDK14PATH%/include:%JDK14PATH%/include/linux
- JDKINCS -I%JDK14PATH%/include -I%JDK14PATH%/include/linux
- JDKLIB %JDK14PATH%/jre/lib:%JDK14PATH%/jre/lib/i386:%JDK14PATH%/jre/lib/i386/client
- JDKLIBS -L%JDK14PATH%/jre/lib -L%JDK14PATH%/jre/lib/i386 -L%JDK14PATH%/jre/lib/i386/client
- JDKPATH %JDK14PATH%/bin
- JDK_VERSION 142
- XCLASSPATH .:%JDK14PATH%/jre/lib/rt.jar
- }
- jdk14path:0 IF X%JDK_PATH%X != XX
- {
- SOLAR_JDK14PATH %JDK_PATH%
- }
- jdk15
- {
- JAVA_HOME %JDK15PATH%
- JDKINC %JDK15PATH%/include:%JDK15PATH%/include/linux
- JDKINCS -I%JDK15PATH%/include -I%JDK15PATH%/include/linux
- JDKLIB %JDK15PATH%/jre/lib:%JDK15PATH%/jre/lib/i386:%JDK15PATH%/jre/lib/i386/client
- JDKLIBS -L%JDK15PATH%/jre/lib -L%JDK15PATH%/jre/lib/i386 -L%JDK15PATH%/jre/lib/i386/client
- JDKPATH %JDK15PATH%/bin
- JDK_VERSION 150
- XCLASSPATH .:%JDK15PATH%/jre/lib/rt.jar
- }
- jdk15path:0 IF X%JDK_PATH%X != XX
- {
- SOLAR_JDK15PATH %JDK_PATH%
- }
- pro
- {
- PROSWITCH -DPRODUCT
- }
- sourceroot:0 IF X%SOURCE_ROOT%X != XX
- {
- SOLAR_SOURCE_ROOT %SOURCE_ROOT%
- SOURCE_ROOT_USED TRUE
- }
- sysbaseroot
- {
- SOLAR_SYSBASE_ROOT %SYSBASE_ROOT%
- }
- }
- extern
- {
- DIST_ROOT
- ENV_ROOT
- HOME
- JDK_PATH
- LOCALINI
- SOL_TMP
- SOURCE_ROOT
- SYSBASE_ROOT
- USER
- }
- order common0 bs_sourceroot envroot:0 sourceroot:0 sysbaseroot common1 jdk14path:0 jdk15path:0 distroot:0 cap cax compath common2 pro common jdk14 jdk15 debug
- reset
- {
- CLASSPATH
- COPYALL
- }
- restore
- {
- INCLUDE
- }
- script
- {
- csh
- {
- 400: if ( ${?COPYALL} ) $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
- 600: umask 002
- 800: rehash
- 820: wrapfetch.sh
- 850: if ( "$?SO_GEN_ERROR" == 0 ) setenv SO_GEN_ERROR
- 851: if ( "$?SO_GEN_ERROR2" == 0 ) setenv SO_GEN_ERROR2
- 900: if ( "$?SO_GEN_ERROR" == 1 ) echo $SO_GEN_ERROR
- 901: if ( "$?SO_GEN_ERROR2" == 1 ) echo $SO_GEN_ERROR2
- }
- sh
- {
- 400: if [ $COPYALL ]; then
- 410: $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
- 415: fi
- 600: umask 002
- 800: hash -r
- 820: wrapfetch.sh
- 850: if [ "0$SO_GEN_ERROR" -eq 0 ]; then
- 851: export SO_GEN_ERROR
- 852: fi
- 860: if [ "0$SO_GEN_ERROR2" -eq 0 ]; then
- 861: export SO_GEN_ERROR2
- 862: fi
- 870: if [ "0$SO_GEN_ERROR" -ne 0 ]; then
- 871: echo $SO_GEN_ERROR
- 872: fi
- 880: if [ "0$SO_GEN_ERROR2" -ne 0 ]; then
- 881: echo $SO_GEN_ERROR2
- 882: fi
- }
- }
- switches
- {
- bs_sourceroot SOURCE_ROOT_TMP
- bsclient
- cap
- cax
- compath STAR_COMPATH
- debug
- distroot
- envroot
- jdk14
- jdk14path
- jdk15
- jdk15path
- l10n L10N_framework
- pro
- sourceroot
- sysbaseroot
- }
-}
-unxlngi6
-{
- environment
- {
- bs_sourceroot
- {
- SOLAR_SOURCE_ROOT %SOURCE_ROOT_TMP%
- SOURCE_ROOT %SOURCE_ROOT_TMP%
- SOURCE_ROOT_USED TRUE
- }
- cap
- {
- COPYALL TRUE
- COPY_PACKED TRUE
- DEVROOT %SOL_TMP%$/r
- PCLEAN_PATH %SOLARROOT%/etools
- PERL %SOL_TMP%$/r$/bt_linux_libc2.5$/%WORK_STAMP%$/bin$/perl
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
- }
- cax
- {
- COPYALL FALSE
- DEVROOT %SOL_TMP%$/r
- PCLEAN_PATH %SOL_TMP%$/r/etools
- PERL %SOL_TMP%$/r$/bt_linux_libc2.5$/%WORK_STAMP%$/bin$/perl
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
- }
- common
- {
- *build nice %PERL% %SOLARENV%/bin/build.pl %PROFULLSWITCH%
- *build_client nice %PERL% %SOLARENV%/bin/build_client.pl
- *copyprj %PERL% %COMMON_ENV_TOOLS%/copyprj.pl
- *deliver %PERL% %SOLARENV%/bin/deliver.pl
- *mkout %PERL% %SOLARENV%/bin/mkout.pl
- *r: cd %SOLARROOT%
- *s: cd %SOLARVERSION%
- *zipdep %PERL% %SOLARENV%/bin/zipdep.pl
- COPYPRJ %PERL% %COMMON_ENV_TOOLS%/copyprj.pl
- DELIVER %PERL% %SOLARENV%/bin/deliver.pl
- DMAKEROOT %SOLARENV%/inc/startup
- HAVE_GCC_VISIBILITY_FEATURE TRUE
- HAVE_LD_BSYMBOLIC_FUNCTIONS TRUE
- HAVE_LD_HASH_STYLE TRUE
- LIBRARY_PATH %SYSBASE%/usr/lib
- MKOUT %PERL% %SOLARENV%/bin/mkout.pl
- PATHEXTRA %combin%:/usr/bin:/bin:/usr/sbin:/etc:/usr/bin/X11
- FREETYPE_CFLAGS -I%SYSBASE%/usr/include/freetype2
- VALGRIND_CFLAGS -I%SOLARVERSION%$/unxlngi6%PROEXT%$/inc%UPDMINOREXT%/valgrind
- SOLAREXTRAINC -I%SOLAR_STLPATH% -I%SYSBASE%/usr/include -I%SYSBASE%/usr/include/X11 -I%SYSBASE%/include
- SOLAREXTRALIB -L../lib -L%SYSBASE%/usr/X11R6/lib -L%SYSBASE%/lib -L%SYSBASE%/usr/lib -L/usr/X11R6/lib -L%SOLAR_STLLIBPATH%
- SOLAR_JAVA TRUE
- ZIPDEP %PERL% %SOLARENV%/bin/zipdep.pl
- ENABLE_GCONF TRUE
- ENABLE_GNOMEVFS TRUE
- GNUCOPY cp
- GNUMAKE make
- SYSTEM_LIBRSVG YES
- SYSTEM_LIBCROCO YES
- SYSTEM_GDKPIXBUF YES
- SYSTEM_GLIB YES
- SYSTEM_GETTEXT YES
- SYSTEM_PANGO YES
- SYSTEM_LIBPNG YES
- SYSTEM_LIBJPEG YES
- SYSTEM_LIBGSF YES
- }
- common0
- {
- SOLAR_ENV_ROOT /so/env
- SOLAR_SOURCE_ROOT %DRIVE_O%
- SOLAR_SYSBASE_ROOT /so/env/gcc_4.2.3_linux_libc2.5/glibc2.5
- }
- common1
- {
- COMPATH %SOLAR_ENV_ROOT%$/gcc_4.2.3_linux_libc2.5
- DEVROOT %SOLAR_ENV_ROOT%
- LFS_CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
- PERL %SOLAR_ENV_ROOT%/bt_linux_libc2.5/%WORK_STAMP%/bin/perl
- PKGFORMAT rpm
- SHARED_SOLARENV %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT%/solenv
- SHARED_SOLARVERSION %SOLAR_SOURCE_ROOT%/%WORK_STAMP%
- SOLARENV %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT%/solenv
- SOLARROOT %SOLAR_ENV_ROOT%
- SOLARVER %SOLAR_SOURCE_ROOT%/%WORK_STAMP%
- SOLARVERSION %SOLAR_SOURCE_ROOT%/%WORK_STAMP%
- SOLAR_JDK13PATH %SOLAR_ENV_ROOT%/Linux_JDK_1.3.1
- SOLAR_JDK14PATH %SOLAR_ENV_ROOT%/Linux_JDK_1.4.2_11
- SOLAR_JDK15PATH %SOLAR_ENV_ROOT%/Linux_JDK_1.5.0_06
- SOLAR_OJDK16PATH %SOLAR_ENV_ROOT%/openjdk-6-b08-linux-i586
- SO_PACK %SOLAR_ENV_ROOT%/pack/%WORK_STAMP%
- SRC_ROOT %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT%
- PKG_CONFIG_LIBDIR %SOLAR_SYSBASE_ROOT%/usr/lib/pkgconfig
- KDE_ROOT /so/env/kde/linux/kde-3.2.2
- }
- common2
- {
- ENABLE_GRAPHITE TRUE
- ENABLE_GSTREAMER TRUE
- BUILD_TOOLS %SOLARROOT%/bt_linux_libc2.5/%WORK_STAMP%/bin
- COM GCC
- COMMON_BUILD_TOOLS %SOLARROOT%$/btools
- COMMON_ENV_TOOLS %SOLARROOT%$/etools
- CPU I
- CPUNAME INTEL
- CVER C432
- ENABLE_KAB TRUE
- ENABLE_KDE TRUE
- ENABLE_EVOAB2 TRUE
- ENV_TOOLS %SOLARROOT%/et_linux_libc2.5/%WORK_STAMP%/bin
- GUI UNX
- GUIBASE unx
- GVER VCL
- INPATH unxlngi6%PROEXT%
- JDK13PATH %SOLAR_JDK13PATH%
- JDK14PATH %SOLAR_JDK14PATH%
- JDK15PATH %SOLAR_JDK15PATH%
- LIBMYSQL_PATH %SOLARROOT%/mysql-connector-c-6.0.2/unxlngi6
- NO_BSYMBOLIC True
- OJDK16PATH %SOLAR_OJDK16PATH%
- OS LINUX
- OUTPATH unxlngi6
- RPM %SOLARENV%/bin/rpm-wrapper
- SOLAR_STLLIBPATH %SOLARVERSION%$/unxlngi6%PROEXT%$/lib%UPDMINOREXT%
- SOLAR_STLPATH %SOLARVERSION%$/unxlngi6%PROEXT%$/inc%UPDMINOREXT%$/stl
- SYSBASE %SOLAR_SYSBASE_ROOT%
- TEMP /tmp
- TMP /tmp
- GTK_CFLAGS -I%SOLAR_SYSBASE_ROOT%/usr/include/gtk-2.0 -I%SOLAR_SYSBASE_ROOT%/usr/lib/gtk-2.0/include -I%SOLAR_SYSBASE_ROOT%/usr/include/atk-1.0 -I%SOLAR_SYSBASE_ROOT%/usr/include/cairo -I%SOLAR_SYSBASE_ROOT%/usr/include/pango-1.0 -I%SOLAR_SYSBASE_ROOT%/usr/include/glib-2.0 -I%SOLAR_SYSBASE_ROOT%/usr/lib/glib-2.0/include
- GTK_LIBS -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lgthread-2.0 -lglib-2.0
- KDE_CFLAGS -I%KDE_ROOT%/include -DQT_CLEAN_NAMESPACE
- KDE_LIBS -L%KDE_ROOT%/lib -lkdeui -lkdecore -lqt-mt
- }
- common3:0 IF X%UPDATER%X == XX
- {
- FORCE2ARCHIVE TRUE
- }
- compath
- {
- COMPATH %STAR_COMPATH%
- }
- distroot:0 if X%DIST_ROOT%X != XX
- {
- SHARED_SOLARVERSION %DIST_ROOT%/%WORK_STAMP%
- SOLARVER %DIST_ROOT%/%WORK_STAMP%
- SOLARVERSION %DIST_ROOT%/%WORK_STAMP%
- }
- envroot:0 IF X%ENV_ROOT%X != XX
- {
- SOLAR_ENV_ROOT %ENV_ROOT%
- }
- jdk14
- {
- JAVA_HOME %JDK14PATH%
- JDKINC %JDK14PATH%/include:%JDK14PATH%/include/linux
- JDKINCS -I%JDK14PATH%/include -I%JDK14PATH%/include/linux
- JDKLIB %JDK14PATH%/jre/lib:%JDK14PATH%/jre/lib/i386:%JDK14PATH%/jre/lib/i386/client
- JDKLIBS -L%JDK14PATH%/jre/lib -L%JDK14PATH%/jre/lib/i386 -L%JDK14PATH%/jre/lib/i386/client
- JDKPATH %JDK14PATH%/bin
- JDK_VERSION 142
- XCLASSPATH .:%JDK14PATH%/jre/lib/rt.jar
- }
- jdk14path:0 IF X%JDK_PATH%X != XX
- {
- SOLAR_JDK14PATH %JDK_PATH%
- }
- jdk15
- {
- JAVA_HOME %JDK15PATH%
- JDKINC %JDK15PATH%/include:%JDK15PATH%/include/linux
- JDKINCS -I%JDK15PATH%/include -I%JDK15PATH%/include/linux
- JDKLIB %JDK15PATH%/jre/lib:%JDK15PATH%/jre/lib/i386:%JDK15PATH%/jre/lib/i386/client:%JDK15PATH%/jre/lib/i386/xawt
- JDKLIBS -L%JDK15PATH%/jre/lib -L%JDK15PATH%/jre/lib/i386 -L%JDK15PATH%/jre/lib/i386/client
- JDKPATH %JDK15PATH%/bin
- JDK_VERSION 150
- XCLASSPATH .:%JDK15PATH%/jre/lib/rt.jar
- }
- jdk15path:0 IF X%JDK_PATH%X != XX
- {
- SOLAR_JDK15PATH %JDK_PATH%
- }
- ojdk16
- {
- JAVA_HOME %OJDK16PATH%
- JDKINC %OJDK16PATH%/include:%OJDK16PATH%/include/linux
- JDKINCS -I%OJDK16PATH%/include -I%OJDK16PATH%/include/linux
- JDKLIB %OJDK16PATH%/jre/lib:%OJDK16PATH%/jre/lib/i386:%OJDK16PATH%/jre/lib/i386/client:%OJDK16PATH%/jre/lib/i386/xawt
- JDKLIBS -L%OJDK16PATH%/jre/lib -L%OJDK16PATH%/jre/lib/i386 -L%OJDK16PATH%/jre/lib/i386/client
- JDKPATH %OJDK16PATH%/bin
- JDK_VERSION 160
- XCLASSPATH .:%OJDK16PATH%/jre/lib/rt.jar
- }
- ojdk16path:0 IF X%JDK_PATH%X != XX
- {
- SOLAR_OJDK16PATH %JDK_PATH%
- }
- pro
- {
- PROSWITCH -DPRODUCT
- }
- sourceroot:0 IF X%SOURCE_ROOT%X != XX
- {
- SOLAR_SOURCE_ROOT %SOURCE_ROOT%
- SOURCE_ROOT_USED TRUE
- }
- sysbaseroot
- {
- SOLAR_SYSBASE_ROOT %SYSBASE_ROOT%
- }
- }
- extern
- {
- DIST_ROOT
- ENV_ROOT
- HOME
- JDK_PATH
- LOCALINI
- SOL_TMP
- SOURCE_ROOT
- SYSBASE_ROOT
- USER
- }
- order common0 bs_sourceroot envroot:0 sourceroot:0 sysbaseroot common1 jdk14path:0 jdk15path:0 ojdk16path:0 distroot:0 cap cax compath common2 pro common3:0 common jdk14 jdk15 ojdk16
- reset
- {
- CLASSPATH
- COPYALL
- }
- restore
- {
- INCLUDE
- }
- script
- {
- csh
- {
- 400: if ( ${?COPYALL} ) $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
- 600: umask 002
- 800: rehash
- 820: wrapfetch.sh
- 850: if ( "$?SO_GEN_ERROR" == 0 ) setenv SO_GEN_ERROR
- 851: if ( "$?SO_GEN_ERROR2" == 0 ) setenv SO_GEN_ERROR2
- 900: if ( "$?SO_GEN_ERROR" == 1 ) echo $SO_GEN_ERROR
- 901: if ( "$?SO_GEN_ERROR2" == 1 ) echo $SO_GEN_ERROR2
- }
- sh
- {
- 400: if [ $COPYALL ]; then
- 410: $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
- 415: fi
- 600: umask 002
- 800: hash -r
- 820: wrapfetch.sh
- 850: if [ "0$SO_GEN_ERROR" -eq 0 ]; then
- 851: export SO_GEN_ERROR
- 852: fi
- 860: if [ "0$SO_GEN_ERROR2" -eq 0 ]; then
- 861: export SO_GEN_ERROR2
- 862: fi
- 870: if [ "0$SO_GEN_ERROR" -ne 0 ]; then
- 871: echo $SO_GEN_ERROR
- 872: fi
- 880: if [ "0$SO_GEN_ERROR2" -ne 0 ]; then
- 881: echo $SO_GEN_ERROR2
- 882: fi
- }
- }
- switches
- {
- bs_sourceroot SOURCE_ROOT_TMP
- bsclient
- cap
- cax
- compath STAR_COMPATH
- debug
- distroot
- envroot
- jdk14
- jdk14path
- jdk15
- jdk15path
- l10n L10N_framework
- ojdk16
- ojdk16path
- pro
- sourceroot
- sysbaseroot
- }
-}
-
-unxlngx6
-{
- environment
- {
- bs_sourceroot
- {
- SOLAR_SOURCE_ROOT %SOURCE_ROOT_TMP%
- SOURCE_ROOT %SOURCE_ROOT_TMP%
- SOURCE_ROOT_USED TRUE
- }
- cap
- {
- COPYALL TRUE
- COPY_PACKED TRUE
- DEVROOT %SOL_TMP%$/r
- PCLEAN_PATH %SOLARROOT%/etools
- PERL %SOL_TMP%$/r$/bt_linux64_libc2.5$/%WORK_STAMP%$/bin$/perl
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
- }
- cax
- {
- COPYALL FALSE
- DEVROOT %SOL_TMP%$/r
- PCLEAN_PATH %SOL_TMP%$/r/etools
- PERL %SOL_TMP%$/r$/bt_linux64_libc2.5$/%WORK_STAMP%$/bin$/perl
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
- }
- common
- {
- *build nice %PERL% %SOLARENV%/bin/build.pl %PROFULLSWITCH%
- *build_client nice %PERL% %SOLARENV%/bin/build_client.pl
- *copyprj %PERL% %COMMON_ENV_TOOLS%/copyprj.pl
- *deliver %PERL% %SOLARENV%/bin/deliver.pl
- *mkout %PERL% %SOLARENV%/bin/mkout.pl
- *r: cd %SOLARROOT%
- *s: cd %SOLARVERSION%
- *zipdep %PERL% %SOLARENV%/bin/zipdep.pl
- COPYPRJ %PERL% %COMMON_ENV_TOOLS%/copyprj.pl
- DELIVER %PERL% %SOLARENV%/bin/deliver.pl
- DMAKEROOT %SOLARENV%/inc/startup
- HAVE_GCC_VISIBILITY_FEATURE TRUE
- HAVE_LD_BSYMBOLIC_FUNCTIONS TRUE
- HAVE_LD_HASH_STYLE TRUE
- LIBRARY_PATH %SYSBASE%/usr/lib64
- MKOUT %PERL% %SOLARENV%/bin/mkout.pl
- PATHEXTRA %combin%:/usr/bin:/bin:/usr/sbin:/etc:/usr/bin/X11
- FREETYPE_CFLAGS -I%SYSBASE%/usr/include/freetype2
- VALGRIND_CFLAGS -I%SOLARVERSION%$/unxlngx6%PROEXT%$/inc%UPDMINOREXT%/valgrind
- SOLAREXTRAINC -I%SOLAR_STLPATH% -I%SYSBASE%/usr/include -I%SYSBASE%/usr/include/X11 -I%SYSBASE%/include
- SOLAREXTRALIB -L../lib64 -L%SYSBASE%/lib -L%SYSBASE%/usr/lib64 -L%SOLAR_STLLIBPATH%
- SOLAR_JAVA TRUE
- ZIPDEP %PERL% %SOLARENV%/bin/zipdep.pl
- ENABLE_GCONF TRUE
- ENABLE_GNOMEVFS TRUE
- GNUMAKE make
- SYSTEM_LIBRSVG YES
- SYSTEM_LIBCROCO YES
- SYSTEM_GDKPIXBUF YES
- SYSTEM_GLIB YES
- SYSTEM_GETTEXT YES
- SYSTEM_PANGO YES
- SYSTEM_LIBPNG YES
- SYSTEM_LIBJPEG YES
- SYSTEM_LIBGSF YES
- }
- common0
- {
- SOLAR_ENV_ROOT /so/env
- SOLAR_SOURCE_ROOT %DRIVE_O%
- SOLAR_SYSBASE_ROOT /so/env/gcc_4.2.3_linux64_libc2.5/glibc2.5
- }
- common1
- {
- COMPATH %SOLAR_ENV_ROOT%$/gcc_4.2.3_linux64_libc2.5
- DEVROOT %SOLAR_ENV_ROOT%
- PERL %SOLAR_ENV_ROOT%/bt_linux64_libc2.5/%WORK_STAMP%/bin/perl
- PKGFORMAT rpm
- SHARED_SOLARENV %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT%/solenv
- SHARED_SOLARVERSION %SOLAR_SOURCE_ROOT%/%WORK_STAMP%
- SOLARENV %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT%/solenv
- SOLARROOT %SOLAR_ENV_ROOT%
- SOLARVER %SOLAR_SOURCE_ROOT%/%WORK_STAMP%
- SOLARVERSION %SOLAR_SOURCE_ROOT%/%WORK_STAMP%
- SOLAR_JDK14PATH %SOLAR_ENV_ROOT%/Linux_JDK_1.4.2.32
- SOLAR_JDK15PATH %SOLAR_ENV_ROOT%/Linux_JDK_1.5.0_15.x64
- SOLAR_OJDK16PATH %SOLAR_ENV_ROOT%/openjdk-6-b08-linux-amd64
- SO_PACK %SOLAR_ENV_ROOT%/pack/%WORK_STAMP%
- SRC_ROOT %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT%
- USE_SYSTEM_STL YES
- XAU_LIBS -lXau
- PKG_CONFIG_LIBDIR %SOLAR_SYSBASE_ROOT%/usr/lib/pkgconfig
- KDE_ROOT /so/env/kde/linux-x64/kde-3.5.10
- }
- common2
- {
- PKG_CONFIG_PATH %COMPATH%/glibc2.5/usr/lib64/pkgconfig
- ENABLE_GRAPHITE TRUE
- ENABLE_GSTREAMER TRUE
- BUILD_TOOLS %SOLARROOT%/bt_linux64_libc2.5/%WORK_STAMP%/bin
- COM GCC
- COMMON_BUILD_TOOLS %SOLARROOT%$/btools
- COMMON_ENV_TOOLS %SOLARROOT%$/etools
- CPU X
- CPUNAME INTEL
- CVER C341
- ENABLE_KAB TRUE
- ENABLE_KDE TRUE
- ENV_TOOLS %SOLARROOT%/et_linux64_libc2.5/%WORK_STAMP%/bin
- GUI UNX
- GUIBASE unx
- GUIENV sal
- GVER VCL
- INPATH unxlngx6%PROEXT%
- JDK14PATH %SOLAR_JDK14PATH%
- JDK15PATH %SOLAR_JDK15PATH%
- LIBMYSQL_PATH %SOLARROOT%/mysql-connector-c-6.0.2/unxlngx6
- NO_BSYMBOLIC True
- OJDK16PATH %SOLAR_OJDK16PATH%
- OS LINUX
- OUTPATH unxlngx6
- PA_VER 18
- RPM %SOLARENV%/bin/rpm-wrapper
- SOLARUPD %UPD%
- SOLAR_STLLIBPATH %SOLARVERSION%$/unxlngx6%PROEXT%$/lib%UPDMINOREXT%
- SOLAR_STLPATH %SOLARVERSION%$/unxlngx6%PROEXT%$/inc%UPDMINOREXT%$/stl
- SYSBASE %SOLAR_SYSBASE_ROOT%
- TEMP /tmp
- TMP /tmp
- GTK_CFLAGS -I%SOLAR_SYSBASE_ROOT%/usr/include/gtk-2.0 -I%SOLAR_SYSBASE_ROOT%/usr/lib/gtk-2.0/include -I%SOLAR_SYSBASE_ROOT%/usr/include/atk-1.0 -I%SOLAR_SYSBASE_ROOT%/usr/include/cairo -I%SOLAR_SYSBASE_ROOT%/usr/include/pango-1.0 -I%SOLAR_SYSBASE_ROOT%/usr/include/glib-2.0 -I%SOLAR_SYSBASE_ROOT%/usr/lib/glib-2.0/include
- GTK_LIBS -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lgthread-2.0 -lglib-2.0
- KDE_CFLAGS -I%KDE_ROOT%/include -DQT_CLEAN_NAMESPACE
- KDE_LIBS -L%KDE_ROOT%/lib64 -L%KDE_ROOT%/lib -lkdeui -lkdecore -lqt-mt
- }
- common3:0 IF X%UPDATER%X == XX
- {
- FORCE2ARCHIVE TRUE
- }
- compath
- {
- COMPATH %STAR_COMPATH%
- }
- distroot:0 if X%DIST_ROOT%X != XX
- {
- SHARED_SOLARVERSION %DIST_ROOT%/%WORK_STAMP%
- SOLARVER %DIST_ROOT%/%WORK_STAMP%
- SOLARVERSION %DIST_ROOT%/%WORK_STAMP%
- }
- envroot:0 IF X%ENV_ROOT%X != XX
- {
- SOLAR_ENV_ROOT %ENV_ROOT%
- }
- jdk14
- {
- JAVA_HOME %JDK15PATH%
- JDKINC %JDK15PATH%/include:%JDK15PATH%/include/linux
- JDKINCS -I%JDK15PATH%/include -I%JDK15PATH%/include/linux
- JDKLIB %JDK15PATH%/jre/lib:%JDK15PATH%/jre/lib/amd64:%JDK15PATH%/jre/lib/amd64/server:%JDK15PATH%/jre/lib/amd64/xawt
- JDKLIBS -L%JDK15PATH%/jre/lib -L%JDK15PATH%/jre/lib/amd64 -L%JDK15PATH%/jre/lib/amd64/server
- JDKPATH %JDK15PATH%/bin
- JDK_VERSION 150
- XCLASSPATH .:%JDK15PATH%/jre/lib/rt.jar
- }
- jdk14path:0 IF X%JDK_PATH%X != XX
- {
- SOLAR_JDK14PATH %JDK_PATH%
- }
- jdk15
- {
- JAVA_HOME %JDK15PATH%
- JDKINC %JDK15PATH%/include:%JDK15PATH%/include/linux
- JDKINCS -I%JDK15PATH%/include -I%JDK15PATH%/include/linux
- JDKLIB %JDK15PATH%/jre/lib:%JDK15PATH%/jre/lib/amd64:%JDK15PATH%/jre/lib/amd64/server:%JDK15PATH%/jre/lib/amd64/xawt
- JDKLIBS -L%JDK15PATH%/jre/lib -L%JDK15PATH%/jre/lib/amd64 -L%JDK15PATH%/jre/lib/amd64/server
- JDKPATH %JDK15PATH%/bin
- JDK_VERSION 150
- XCLASSPATH .:%JDK15PATH%/jre/lib/rt.jar
- }
- jdk15path:0 IF X%JDK_PATH%X != XX
- {
- SOLAR_JDK15PATH %JDK_PATH%
- }
- ojdk16
- {
- JAVA_HOME %OJDK16PATH%
- JDKINC %OJDK16PATH%/include:%OJDK16PATH%/include/linux
- JDKINCS -I%OJDK16PATH%/include -I%OJDK16PATH%/include/linux
- JDKLIB %OJDK16PATH%/jre/lib:%OJDK16PATH%/jre/lib/amd64:%OJDK16PATH%/jre/lib/amd64/server:%OJDK16PATH%/jre/lib/amd64/xawt
- JDKLIBS -L%OJDK16PATH%/jre/lib -L%OJDK16PATH%/jre/lib/amd64 -L%OJDK16PATH%/jre/lib/amd64/server
- JDKPATH %OJDK16PATH%/bin
- JDK_VERSION 160
- XCLASSPATH .:%OJDK16PATH%/jre/lib/rt.jar
- }
- ojdk16path:0 IF X%JDK_PATH%X != XX
- {
- SOLAR_OJDK16PATH %JDK_PATH%
- }
- pro
- {
- PROSWITCH -DPRODUCT
- }
- sourceroot:0 IF X%SOURCE_ROOT%X != XX
- {
- SOLAR_SOURCE_ROOT %SOURCE_ROOT%
- SOURCE_ROOT_USED TRUE
- }
- sysbaseroot
- {
- SOLAR_SYSBASE_ROOT %SYSBASE_ROOT%
- }
- }
- extern
- {
- DIST_ROOT
- ENV_ROOT
- HOME
- JDK_PATH
- LOCALINI
- SOL_TMP
- SOURCE_ROOT
- SYSBASE_ROOT
- USER
- }
- order common0 bs_sourceroot envroot:0 sourceroot:0 sysbaseroot common1 jdk14path:0 jdk15path:0 ojdk16path:0 distroot:0 cap cax compath common2 common3:0 pro common jdk14 jdk15 ojdk16
- reset
- {
- CLASSPATH
- COPYALL
- }
- restore
- {
- INCLUDE
- }
- script
- {
- csh
- {
- 400: if ( ${?COPYALL} ) $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
- 600: umask 002
- 800: rehash
- 820: wrapfetch.sh
- 850: if ( "$?SO_GEN_ERROR" == 0 ) setenv SO_GEN_ERROR
- 851: if ( "$?SO_GEN_ERROR2" == 0 ) setenv SO_GEN_ERROR2
- 900: if ( "$?SO_GEN_ERROR" == 1 ) echo $SO_GEN_ERROR
- 901: if ( "$?SO_GEN_ERROR2" == 1 ) echo $SO_GEN_ERROR2
- }
- sh
- {
- 400: if [ $COPYALL ]; then
- 410: $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
- 415: fi
- 600: umask 002
- 800: hash -r
- 820: wrapfetch.sh
- 850: if [ "0$SO_GEN_ERROR" -eq 0 ]; then
- 851: export SO_GEN_ERROR
- 852: fi
- 860: if [ "0$SO_GEN_ERROR2" -eq 0 ]; then
- 861: export SO_GEN_ERROR2
- 862: fi
- 870: if [ "0$SO_GEN_ERROR" -ne 0 ]; then
- 871: echo $SO_GEN_ERROR
- 872: fi
- 880: if [ "0$SO_GEN_ERROR2" -ne 0 ]; then
- 881: echo $SO_GEN_ERROR2
- 882: fi
- }
- }
- switches
- {
- bs_sourceroot SOURCE_ROOT_TMP
- bsclient
- cap
- cax
- compath STAR_COMPATH
- debug
- distroot
- envroot
- jdk14
- jdk14path
- jdk15
- jdk15path
- l10n L10N_framework
- ojdk16
- ojdk16path
- pro
- sourceroot
- sysbaseroot
- }
-}
-
-unxmacxi
-{
- environment
- {
- bs_sourceroot
- {
- SOLAR_SOURCE_ROOT %SOURCE_ROOT_TMP%
- SOURCE_ROOT %SOURCE_ROOT_TMP%
- SOURCE_ROOT_USED TRUE
- }
- cap
- {
- COPYALL TRUE
- COPY_PACKED TRUE
- DEVROOT %SOL_TMP%$/r
- PCLEAN_PATH %SOLARROOT%/etools
- PERL %SOL_TMP%$/r$/bt_macosx_intel$/%WORK_STAMP%$/bin$/perl
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
- }
- cax
- {
- COPYALL FALSE
- DEVROOT %SOL_TMP%$/r
- PCLEAN_PATH %SOL_TMP%$/r/etools
- PERL %SOL_TMP%$/r$/bt_macosx_intel$/%WORK_STAMP%$/bin$/perl
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
- }
- common
- {
- *build nice %PERL% %SOLARENV%/bin/build.pl %PROFULLSWITCH%
- *build_client nice %PERL% %SOLARENV%/bin/build_client.pl
- *copyprj %PERL% %COMMON_ENV_TOOLS%/copyprj.pl
- *deliver %PERL% %SOLARENV%/bin/deliver.pl
- *mkout %PERL% %SOLARENV%/bin/mkout.pl
- *r: cd %SOLARROOT%
- *s: cd %SOLARVERSION%
- *zipdep %PERL% %SOLARENV%/bin/zipdep.pl
- COPYPRJ %PERL% %COMMON_ENV_TOOLS%/copyprj.pl
- DELIVER %PERL% %SOLARENV%/bin/deliver.pl
- DMAKEROOT %SOLARENV%/inc/startup
- HAVE_GCC_VISIBILITY_FEATURE TRUE
- LIBRARY_PATH %SYSBASE%/usr/lib
- MKOUT %PERL% %SOLARENV%/bin/mkout.pl
- PATHEXTRA %combin%:/usr/bin:/bin:/usr/sbin:/etc
- VALGRIND_CFLAGS -I%SOLARVERSION%$/unxmacxi%PROEXT%$/inc%UPDMINOREXT%/valgrind
- SOLAREXTRAINC -I%SOLAR_STLPATH% -I%SYSBASE%/usr/include/c++/4.0.0 -I%SYSBASE%/usr/include/c++/4.0.0/i686-apple-darwin8 -I%SYSBASE%/usr/lib/gcc/i686-apple-darwin8/4.0.1/include -I%SYSBASE%/usr/include/python2.3 -I%SYSBASE%/MacOSX10.4u.sdk/usr/lib/gcc/i686-apple-darwin8/4.0.1/include -I%SYSBASE%/MacOSX10.4u.sdk/Developer/Headers/FlatCarbon
- SOLAREXTRALIB -L%SOLAR_STLLIBPATH%
- SOLAR_JAVA TRUE
- ZIPDEP %PERL% %SOLARENV%/bin/zipdep.pl
- GNUCOPY gnucp
- GNUMAKE make
- }
- common0
- {
- GXX_INCLUDE_PATH /so/env/gcc_4.0.1_macosx/usr/include/c++/4.0.0
- SOLAR_ENV_ROOT /so/env
- SOLAR_SOURCE_ROOT %DRIVE_O%
- SOLAR_SYSBASE_ROOT /so/env/gcc_4.0.1_macosx
- MACDEVSDK /so/env/gcc_4.0.1_macosx/MacOSX10.4u.sdk
- }
- common1
- {
- BUILD_OS_APPLEOSX TRUE
- BUILD_OS_MAJOR 10
- BUILD_OS_MINOR 4
- BUILD_OS_REV 10
- COMPATH %SOLAR_ENV_ROOT%$/gcc_4.0.1_macosx
- DEVROOT %SOLAR_ENV_ROOT%
- DISABLE_DEPRECATION_WARNING TRUE
- EXTRA_CDEFS -DBUILD_OS_APPLEOSX -DBUILD_OS_MAJOR=10 -DBUILD_OS_MINOR=4 -DBUILD_OS_REV=10
- EXTRA_CFLAGS -isysroot %COMPATH%/MacOSX10.4u.sdk
- EXTRA_LINKFLAGS -Wl,-syslibroot,%COMPATH%/MacOSX10.4u.sdk
- LFS_CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
- LIBXML_CFLAGS -I%COMPATH%/MacOSX10.4u.sdk/usr/include/libxml2
- LIBXML_LIBS -L%COMPATH%/MacOSX10.4u.sdk/usr/lib -lxml2 -lz -lpthread -liconv -lm
- LIBXSLT_CFLAGS -I%COMPATH%/MacOSX10.4u.sdk/usr/include/libxml2
- LIBXSLT_LIBS -L%COMPATH%/MacOSX10.4u.sdk/usr/lib -lxslt -lxml2 -lz -lpthread -liconv -lm
- MACOSX_DEPLOYMENT_TARGET 10.4
- OPENSSL_LIBS -lssl -lcrypto
- PERL %SOLAR_ENV_ROOT%/bt_macosx_intel/%WORK_STAMP%/bin/perl
- PKGFORMAT dmg
- SHARED_SOLARENV %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT%/solenv
- SHARED_SOLARVERSION %SOLAR_SOURCE_ROOT%/%WORK_STAMP%
- SOLARENV %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT%/solenv
- SOLARROOT %SOLAR_ENV_ROOT%
- SOLARVER %SOLAR_SOURCE_ROOT%/%WORK_STAMP%
- SOLARVERSION %SOLAR_SOURCE_ROOT%/%WORK_STAMP%
- SOLAR_JDK14PATH %SOLAR_ENV_ROOT%/mac_jdk14_unknown
- SOLAR_JDK15PATH %SOLAR_ENV_ROOT%/MacOSX_JDK_1.5.0_07.intel
- SO_PACK %SOLAR_ENV_ROOT%/pack/%WORK_STAMP%
- SRC_ROOT %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT%
- SYSTEM_CURL YES
- SYSTEM_LIBXML YES
- SYSTEM_LIBXSLT YES
- SYSTEM_OPENSSL YES
- SYSTEM_PYTHON YES
- SYSTEM_ZLIB YES
- SYSTEM_LIBGSF YES
- USE_SYSTEM_STL YES
- BUILD_PIXMAN YES
- WITH_MOZILLA YES
- ENABLE_CAIRO TRUE
- SYSTEM_LIBRSVG NO
- SYSTEM_LIBCROCO NO
- SYSTEM_GDKPIXBUF NO
- SYSTEM_GLIB NO
- SYSTEM_GETTEXT NO
- SYSTEM_PANGO NO
- SYSTEM_LIBPNG NO
- SYSTEM_LIBJPEG NO
- }
- common2
- {
- BUILD_TOOLS %SOLARROOT%/bt_macosx_intel/%WORK_STAMP%/bin
- COM GCC
- COMMON_BUILD_TOOLS %SOLARROOT%$/btools
- COMMON_ENV_TOOLS %SOLARROOT%$/etools
- CPU I
- CPUNAME INTEL
- CVER C341
- ENV_TOOLS %SOLARROOT%/et_macosx_intel/%WORK_STAMP%/bin
- GUI UNX
- GUIBASE aqua
- GVER VCL
- INPATH unxmacxi%PROEXT%
- JDK13PATH %SOLAR_JDK13PATH%
- JDK14PATH %SOLAR_JDK15PATH%
- JDK15PATH %SOLAR_JDK15PATH%
- LIBMYSQL_PATH %SOLARROOT%/mysql-connector-c-6.0.2/unxmacxi
- NO_BSYMBOLIC True
- OS MACOSX
- OUTPATH unxmacxi
- PA_VER 18
- SOLAR_STLLIBPATH %SOLARVERSION%$/unxmacxi%PROEXT%$/lib%UPDMINOREXT%
- SOLAR_STLPATH %SOLARVERSION%$/unxmacxi%PROEXT%$/inc%UPDMINOREXT%$/stl
- SYSBASE %SOLAR_SYSBASE_ROOT%
- TEMP /tmp
- TMP /tmp
- }
- compath
- {
- COMPATH %STAR_COMPATH%
- }
- distroot:0 if X%DIST_ROOT%X != XX
- {
- SHARED_SOLARVERSION %DIST_ROOT%/%WORK_STAMP%
- SOLARVER %DIST_ROOT%/%WORK_STAMP%
- SOLARVERSION %DIST_ROOT%/%WORK_STAMP%
- }
- envroot:0 IF X%ENV_ROOT%X != XX
- {
- SOLAR_ENV_ROOT %ENV_ROOT%
- }
- jdk14
- {
- JAVA_HOME %JDK15PATH%
- JDKINC %JDK15PATH%/include:%JDK15PATH%/include/linux
- JDKINCS -I%JDK15PATH%/include -I%JDK15PATH%/include/linux
- JDKLIB %JDK15PATH%/jre/lib
- JDKLIBS -L%JDK15PATH%/jre/lib
- JDKPATH %JDK15PATH%/bin
- JDK_VERSION 150
- XCLASSPATH .:%JDK15PATH%/jre/lib/rt.jar
- }
- jdk14path:0 IF X%JDK_PATH%X != XX
- {
- SOLAR_JDK14PATH %JDK_PATH%
- }
- jdk15
- {
- JAVA_HOME %JDK15PATH%
- JDKINC %JDK15PATH%/include:%JDK15PATH%/include/linux
- JDKINCS -I%JDK15PATH%/include -I%JDK15PATH%/include/linux
- JDKLIB %JDK15PATH%/jre/lib
- JDKLIBS -L%JDK15PATH%/jre/lib
- JDKPATH %JDK15PATH%/bin
- JDK_VERSION 150
- XCLASSPATH .:%JDK15PATH%/jre/lib/rt.jar
- }
- jdk15path:0 IF X%JDK_PATH%X != XX
- {
- SOLAR_JDK15PATH %JDK_PATH%
- }
- pro
- {
- PROSWITCH -DPRODUCT
- }
- sourceroot:0 IF X%SOURCE_ROOT%X != XX
- {
- SOLAR_SOURCE_ROOT %SOURCE_ROOT%
- SOURCE_ROOT_USED TRUE
- }
- sysbaseroot
- {
- SOLAR_SYSBASE_ROOT %SYSBASE_ROOT%
- }
- }
- extern
- {
- DIST_ROOT
- ENV_ROOT
- HOME
- JDK_PATH
- LOCALINI
- SOL_TMP
- SOURCE_ROOT
- SYSBASE_ROOT
- USER
- }
- order common0 bs_sourceroot envroot:0 sourceroot:0 sysbaseroot common1 jdk14path:0 jdk15path:0 distroot:0 cap cax compath common2 pro common jdk14 jdk15
- reset
- {
- CLASSPATH
- COPYALL
- }
- restore
- {
- INCLUDE
- }
- script
- {
- csh
- {
- 400: if ( ${?COPYALL} ) $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
- 600: umask 002
- 800: rehash
- 820: wrapfetch.sh
- 850: if ( "$?SO_GEN_ERROR" == 0 ) setenv SO_GEN_ERROR
- 851: if ( "$?SO_GEN_ERROR2" == 0 ) setenv SO_GEN_ERROR2
- 900: if ( "$?SO_GEN_ERROR" == 1 ) echo $SO_GEN_ERROR
- 901: if ( "$?SO_GEN_ERROR2" == 1 ) echo $SO_GEN_ERROR2
- }
- sh
- {
- 400: if [ $COPYALL ]; then
- 410: $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
- 415: fi
- 600: umask 002
- 800: hash -r
- 820: wrapfetch.sh
- 850: if [ "0$SO_GEN_ERROR" -eq 0 ]; then
- 851: export SO_GEN_ERROR
- 852: fi
- 860: if [ "0$SO_GEN_ERROR2" -eq 0 ]; then
- 861: export SO_GEN_ERROR2
- 862: fi
- 870: if [ "0$SO_GEN_ERROR" -ne 0 ]; then
- 871: echo $SO_GEN_ERROR
- 872: fi
- 880: if [ "0$SO_GEN_ERROR2" -ne 0 ]; then
- 881: echo $SO_GEN_ERROR2
- 882: fi
- }
- }
- switches
- {
- bs_sourceroot SOURCE_ROOT_TMP
- bsclient
- cap
- cax
- compath STAR_COMPATH
- debug
- distroot
- envroot
- jdk14
- jdk14path
- jdk15
- jdk15path
- l10n L10N_framework
- pro
- sourceroot
- sysbaseroot
- }
-}
-unxsoli4
-{
- environment
- {
- bs_sourceroot
- {
- SOLAR_SOURCE_ROOT %SOURCE_ROOT_TMP%
- SOURCE_ROOT %SOURCE_ROOT_TMP%
- SOURCE_ROOT_USED TRUE
- }
- cap
- {
- COPYALL TRUE
- COPY_PACKED TRUE
- DEVROOT %SOL_TMP%$/r
- PCLEAN_PATH %SOLARROOT%/etools
- PERL %SOL_TMP%$/r$/bt_solaris_intel$/bin$/perl
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
- }
- cax
- {
- COPYALL FALSE
- DEVROOT %SOL_TMP%$/r
- PCLEAN_PATH %SOL_TMP%$/r/etools
- PERL %SOL_TMP%$/r$/bt_solaris_intel$/bin$/perl
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
- }
- common
- {
- *build nice %PERL% %SOLARENV%/bin/build.pl %PROFULLSWITCH%
- *build_client nice %PERL% %SOLARENV%/bin/build_client.pl
- *copyprj %PERL% %COMMON_ENV_TOOLS%/copyprj.pl
- *deliver %PERL% %SOLARENV%/bin/deliver.pl
- *mkout %PERL% %SOLARENV%/bin/mkout.pl
- *r: cd %SOLARROOT%
- *s: cd %SOLARVERSION%
- *zipdep %PERL% %SOLARENV%/bin/zipdep.pl
- COPYPRJ %PERL% %COMMON_ENV_TOOLS%/copyprj.pl
- DELIVER %PERL% %SOLARENV%/bin/deliver.pl
- DMAKEROOT %SOLARENV%/inc/startup
- MKOUT %PERL% %SOLARENV%/bin/mkout.pl
- PATHEXTRA /usr/ccs/bin:/usr/bin:/bin:/usr/sbin:/etc:/usr/bin/X11:/opt/langtools/bin:/usr/dt/bin
- FREETYPE_CFLAGS -I%SYSBASE%/usr/sfw/include -I%SYSBASE%/usr/sfw/include/freetype2
- SOLAREXTRAINC -I%SOLAR_STLPATH% -I%SYSBASE%/usr/include
- SOLAREXTRALIB -L%COMPATH%$/lib -L../lib -L%SYSBASE%/usr/lib -L%SYSBASE%/usr/sfw/lib -L/lib -L/usr/lib -L/usr/dt/lib -L/usr/openwin/lib -L%SOLAR_STLLIBPATH%
- SOLAR_JAVA TRUE
- ZIPDEP %PERL% %SOLARENV%/bin/zipdep.pl
- __cdpath %DRIVE_O%/%WORK_STAMP%/ooo%UPDMINOREXT%
- ENABLE_GCONF TRUE
- ENABLE_GNOMEVFS TRUE
- GNUCOPY gnucp
- GNUMAKE gmake
- SYSTEM_LIBRSVG YES
- SYSTEM_LIBCROCO YES
- SYSTEM_GDKPIXBUF YES
- SYSTEM_GLIB YES
- SYSTEM_GETTEXT YES
- SYSTEM_PANGO YES
- SYSTEM_LIBPNG YES
- SYSTEM_LIBJPEG YES
- SYSTEM_LIBGSF YES
- }
- common0
- {
- SOLAR_ENV_ROOT /so/env
- SOLAR_SOURCE_ROOT %DRIVE_O%
- SOLAR_SYSBASE_ROOT /so/env/solaris_2.10_intel
- OOO_SYSBASE_SYS_RELEASE 5.10
- }
- common1
- {
- COMPATH /so/env/compilers/SUNWS12_p/intel/SUNWspro
- DEVROOT %SOLAR_ENV_ROOT%
- LFS_CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
- PERL %SOLAR_ENV_ROOT%/bt_solaris_intel/bin/perl
- PKGFORMAT pkg
- SHARED_SOLARENV %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT%/solenv
- SHARED_SOLARVERSION %SOLAR_SOURCE_ROOT%/%WORK_STAMP%
- SOLARENV %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT%/solenv
- SOLARROOT %SOLAR_ENV_ROOT%
- SOLARVER %SOLAR_SOURCE_ROOT%/%WORK_STAMP%
- SOLARVERSION %SOLAR_SOURCE_ROOT%/%WORK_STAMP%
- SOLAR_JDK13PATH %SOLAR_ENV_ROOT%/Solaris_JDK_1.3.1_01.intel
- SOLAR_JDK14PATH %SOLAR_ENV_ROOT%/Solaris_JDK_1.4.2_11.intel
- SOLAR_JDK15PATH %SOLAR_ENV_ROOT%/Solaris_JDK_1.5.0_06.intel
- SOLAR_OJDK16PATH %SOLAR_ENV_ROOT%/openjdk-6-b08-solaris-i586
- SO_PACK %SOLAR_ENV_ROOT%/pack/%WORK_STAMP%
- SRC_ROOT %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT%
- SOLAR_GTK_ROOT /so/env/gnome/solaris_intel/cinnabar_b15
- }
- common2
- {
- BUILD_TOOLS %SOLARROOT%/bt_solaris_intel/%WORK_STAMP%/bin
- COM C52
- COMEX 4
- COMMON_BUILD_TOOLS %SOLARROOT%$/btools
- COMMON_ENV_TOOLS %SOLARROOT%$/etools
- CPU I
- CPUNAME INTEL
- CVER C52
- ENABLE_EVOAB2 TRUE
- ENV_TOOLS %SOLARROOT%/et_solaris_intel/%WORK_STAMP%/bin
- GUI UNX
- GUIBASE unx
- GVER VCL
- INPATH unxsoli4%PROEXT%
- JDK13PATH %SOLAR_JDK13PATH%
- JDK14PATH %SOLAR_JDK14PATH%
- JDK15PATH %SOLAR_JDK15PATH%
- LIBMYSQL_PATH %SOLARROOT%/mysql-connector-c-6.0.2/unxsoli4
- OJDK16PATH %SOLAR_OJDK16PATH%
- OS SOLARIS
- OUTPATH unxsoli4
- SOLAR_STLLIBPATH %SOLARVERSION%$/unxsoli4%PROEXT%$/lib%UPDMINOREXT%
- SOLAR_STLPATH %SOLARVERSION%$/unxsoli4%PROEXT%$/inc%UPDMINOREXT%$/stl
- SYSBASE %SOLAR_SYSBASE_ROOT%
- TEMP /var/tmp
- TMP /var/tmp
- GTK_CFLAGS -I%SOLAR_GTK_ROOT%/usr/include/gtk-2.0 -I%SOLAR_GTK_ROOT%/usr/lib/gtk-2.0/include -I%SOLAR_GTK_ROOT%/usr/include/atk-1.0 -I%SOLAR_GTK_ROOT%/usr/include/pango-1.0 -I/usr/openwin/include -I%SOLAR_GTK_ROOT%/usr/sfw/include -I%SOLAR_GTK_ROOT%/usr/sfw/include/freetype2 -I%SOLAR_GTK_ROOT%/usr/include/glib-2.0 -I%SOLAR_GTK_ROOT%/usr/lib/glib-2.0/include
- GTK_LIBS -L%SOLAR_GTK_ROOT%/usr/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lgthread-2.0 -lglib-2.0
- }
- compath
- {
- COMPATH %STAR_COMPATH%
- }
- distroot:0 if X%DIST_ROOT%X != XX
- {
- SHARED_SOLARVERSION %DIST_ROOT%/%WORK_STAMP%
- SOLARVER %DIST_ROOT%/%WORK_STAMP%
- SOLARVERSION %DIST_ROOT%/%WORK_STAMP%
- }
- envroot:0 if X%ENV_ROOT%X != XX
- {
- SOLAR_ENV_ROOT %ENV_ROOT%
- }
- jdk14
- {
- JAVA_HOME %JDK14PATH%
- JDKINC %JDK14PATH%/include:%JDK14PATH%/include/solaris
- JDKINCS -I%JDK14PATH%/include -I%JDK14PATH%/include/solaris
- JDKLIB %JDK14PATH%/jre/lib/i386:%JDK14PATH%/lib:%JDK14PATH%/jre/lib/i386/native_threads:%JDK14PATH%/jre/plugin/i386:%JDK14PATH%/jre/lib/i386/motif21
- JDKLIBS -L%JDK14PATH%/jre/lib/i386 -L%JDK14PATH%/lib -L%JDK14PATH%/jre/lib/i386/native_threads -L%JDK14PATH%/jre/plugin/i386 -L%JDK14PATH%/jre/lib/i386/motif21
- JDKPATH %JDK14PATH%/bin
- JDK_VERSION 142
- XCLASSPATH .:%JDK14PATH%/jre/lib/rt.jar
- }
- jdk14path:0 if X%JDK_PATH%X != XX
- {
- SOLAR_JDK14PATH %JDK_PATH%
- }
- jdk15
- {
- JAVA_HOME %JDK15PATH%
- JDKINC %JDK15PATH%/include:%JDK15PATH%/include/solaris
- JDKINCS -I%JDK15PATH%/include -I%JDK15PATH%/include/solaris
- JDKLIB %JDK15PATH%/jre/lib/i386:%JDK15PATH%/lib:%JDK15PATH%/jre/lib/i386/native_threads:%JDK15PATH%/jre/plugin/i386:%JDK15PATH%/jre/lib/i386/motif21
- JDKLIBS -L%JDK15PATH%/jre/lib/i386 -L%JDK15PATH%/lib -L%JDK15PATH%/jre/lib/i386/native_threads -L%JDK15PATH%/jre/plugin/i386 -L%JDK15PATH%/jre/lib/i386/motif21
- JDKPATH %JDK15PATH%/bin
- JDK_VERSION 150
- XCLASSPATH .:%JDK15PATH%/jre/lib/rt.jar
- }
- jdk15path:0 if X%JDK_PATH%X != XX
- {
- SOLAR_JDK15PATH %JDK_PATH%
- }
- ojdk16
- {
- JAVA_HOME %OJDK16PATH%
- JDKINC %OJDK16PATH%/include:%OJDK16PATH%/include/solaris
- JDKINCS -I%OJDK16PATH%/include -I%OJDK16PATH%/include/solaris
- JDKLIB %OJDK16PATH%/jre/lib/i386:%OJDK16PATH%/lib:%OJDK16PATH%/jre/lib/i386/native_threads:%OJDK16PATH%/jre/plugin/i386:%OJDK16PATH%/jre/lib/i386/xawt
- JDKLIBS -L%OJDK16PATH%/jre/lib/i386 -L%OJDK16PATH%/lib -L%OJDK16PATH%/jre/lib/i386/native_threads -L%OJDK16PATH%/jre/plugin/i386 -L%OJDK16PATH%/jre/lib/i386/xawt
- JDKPATH %OJDK16PATH%/bin
- JDK_VERSION 160
- XCLASSPATH .:%OJDK16PATH%/jre/lib/rt.jar
- }
- ojdk16path:0 if X%JDK_PATH%X != XX
- {
- SOLAR_OJDK16PATH %JDK_PATH%
- }
- pro
- {
- PROSWITCH -DPRODUCT
- }
- sourceroot:0 if X%SOURCE_ROOT%X != XX
- {
- SOLAR_SOURCE_ROOT %SOURCE_ROOT%
- SOURCE_ROOT_USED TRUE
- }
- sysbaseroot
- {
- SOLAR_SYSBASE_ROOT %SYSBASE_ROOT%
- OOO_SYSBASE_SYS_RELEASE
- }
- }
- extern
- {
- DIST_ROOT
- ENV_ROOT
- HOME
- JDK_PATH
- LOCALINI
- SOL_TMP
- SOURCE_ROOT
- SYSBASE_ROOT
- USER
- }
- order common0 bs_sourceroot envroot:0 sourceroot:0 common1 distroot:0 jdk14path:0 jdk15path:0 ojdk16path:0 sysbaseroot cap cax compath common2 pro common jdk14 jdk15 ojdk16
- reset
- {
- CLASSPATH
- }
- script
- {
- csh
- {
- 400: if ( ${?COPYALL} ) $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
- 600: umask 002
- 800: rehash
- 820: wrapfetch.sh
- 850: if ( "$?SO_GEN_ERROR" == 0 ) setenv SO_GEN_ERROR
- 851: if ( "$?SO_GEN_ERROR2" == 0 ) setenv SO_GEN_ERROR2
- 900: if ( "$?SO_GEN_ERROR" == 1 ) echo $SO_GEN_ERROR
- 901: if ( "$?SO_GEN_ERROR2" == 1 ) echo $SO_GEN_ERROR2
- }
- sh
- {
- 400: if [ $COPYALL ]; then
- 410: $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
- 415: fi
- 600: umask 002
- 800: hash -r
- 820: wrapfetch.sh
- 850: if [ "0$SO_GEN_ERROR" -eq 0 ]; then
- 851: export SO_GEN_ERROR
- 852: fi
- 860: if [ "0$SO_GEN_ERROR2" -eq 0 ]; then
- 861: export SO_GEN_ERROR2
- 862: fi
- 870: if [ "0$SO_GEN_ERROR" -ne 0 ]; then
- 871: echo $SO_GEN_ERROR
- 872: fi
- 880: if [ "0$SO_GEN_ERROR2" -ne 0 ]; then
- 881: echo $SO_GEN_ERROR2
- 882: fi
- }
- }
- switches
- {
- bs_sourceroot SOURCE_ROOT_TMP
- bsclient
- cap
- cax
- compath STAR_COMPATH
- distroot
- envroot
- jdk14
- jdk14path
- jdk15
- jdk15path
- l10n L10N_framework
- ojdk16
- ojdk16path
- pro
- sourceroot
- sysbaseroot
- }
-}
-unxsols4
-{
- environment
- {
- bs_sourceroot
- {
- SOLAR_SOURCE_ROOT %SOURCE_ROOT_TMP%
- SOURCE_ROOT %SOURCE_ROOT_TMP%
- SOURCE_ROOT_USED TRUE
- }
- cap
- {
- COPYALL TRUE
- COPY_PACKED TRUE
- DEVROOT %SOL_TMP%$/r
- PCLEAN_PATH %SOLARROOT%/etools
- PERL %SOL_TMP%$/r$/bt_solaris_sparc$/bin$/perl
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
- }
- cax
- {
- COPYALL FALSE
- DEVROOT %SOL_TMP%$/r
- PCLEAN_PATH %SOL_TMP%$/r/etools
- PERL %SOL_TMP%$/r$/bt_solaris_sparc$/bin$/perl
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
- }
- common
- {
- *build nice %PERL% %SOLARENV%/bin/build.pl %PROFULLSWITCH%
- *build_client nice %PERL% %SOLARENV%/bin/build_client.pl
- *copyprj %PERL% %COMMON_ENV_TOOLS%/copyprj.pl
- *deliver %PERL% %SOLARENV%/bin/deliver.pl
- *mkout %PERL% %SOLARENV%/bin/mkout.pl
- *r: cd %SOLARROOT%
- *s: cd %SOLARVERSION%
- *zipdep %PERL% %SOLARENV%/bin/zipdep.pl
- COPYPRJ %PERL% %COMMON_ENV_TOOLS%/copyprj.pl
- DELIVER %PERL% %SOLARENV%/bin/deliver.pl
- DMAKEROOT %SOLARENV%/inc/startup
- MKOUT %PERL% %SOLARENV%/bin/mkout.pl
- PATHEXTRA /usr/ccs/bin:/usr/bin:/bin:/usr/sbin:/etc:/usr/bin/X11:/opt/langtools/bin:/usr/dt/bin
- FREETYPE_CFLAGS -I%SYSBASE%/usr/sfw/include -I%SYSBASE%/usr/sfw/include/freetype2
- SOLAREXTRAINC -I%SOLAR_STLPATH% -I%SYSBASE%/usr/include
- SOLAREXTRALIB -L%COMPATH%$/lib -L../lib -L%SYSBASE%/usr/lib -L%SYSBASE%/usr/sfw/lib -L/lib -L/usr/lib -L/usr/dt/lib -L/usr/openwin/lib -L%SOLAR_STLLIBPATH%
- SOLAR_JAVA TRUE
- ZIPDEP %PERL% %SOLARENV%/bin/zipdep.pl
- __cdpath %DRIVE_O%/%WORK_STAMP%/ooo%UPDMINOREXT%
- ENABLE_GCONF TRUE
- ENABLE_GNOMEVFS TRUE
- GNUCOPY gnucp
- GNUMAKE gmake
- SYSTEM_LIBRSVG YES
- SYSTEM_LIBCROCO YES
- SYSTEM_GDKPIXBUF YES
- SYSTEM_GLIB YES
- SYSTEM_GETTEXT YES
- SYSTEM_PANGO YES
- SYSTEM_LIBPNG YES
- SYSTEM_LIBJPEG YES
- SYSTEM_LIBGSF YES
- }
- common0
- {
- SOLAR_ENV_ROOT /so/env
- SOLAR_LICENSE_FILE /opt/SUNWspro/license_dir/sunpro.lic,1
- SOLAR_SOURCE_ROOT %DRIVE_O%
- SOLAR_SYSBASE_ROOT /so/env/solaris_2.10_sparc
- OOO_SYSBASE_SYS_RELEASE 5.10
- }
- common1
- {
- COMPATH /so/env/compilers/SUNWS12_p/sparc/SUNWspro
- DEVROOT %SOLAR_ENV_ROOT%
- LFS_CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
- PERL %SOLAR_ENV_ROOT%/bt_solaris_sparc/bin/perl
- PKGFORMAT pkg
- SHARED_SOLARENV %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT%/solenv
- SHARED_SOLARVERSION %SOLAR_SOURCE_ROOT%/%WORK_STAMP%
- SOLARENV %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT%/solenv
- SOLARROOT %SOLAR_ENV_ROOT%
- SOLARVER %SOLAR_SOURCE_ROOT%/%WORK_STAMP%
- SOLARVERSION %SOLAR_SOURCE_ROOT%/%WORK_STAMP%
- SOLAR_JDK13PATH %SOLAR_ENV_ROOT%/Solaris_JDK_1.3.1_01.sparc
- SOLAR_JDK14PATH %SOLAR_ENV_ROOT%/Solaris_JDK_1.4.2_11.sparc
- SOLAR_JDK15PATH %SOLAR_ENV_ROOT%/Solaris_JDK_1.5.0_06.sparc
- SOLAR_OJDK16PATH %SOLAR_ENV_ROOT%/openjdk-6-b08-solaris-sparc
- SO_PACK %SOLAR_ENV_ROOT%/pack/%WORK_STAMP%
- SRC_ROOT %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT%
- SOLAR_GTK_ROOT /so/env/gnome/solaris_sparc/cinnabar_b15
- }
- common2
- {
- BUILD_TOOLS %SOLARROOT%/bt_solaris_sparc/%WORK_STAMP%/bin
- COM C52
- COMEX 4
- COMMON_BUILD_TOOLS %SOLARROOT%$/btools
- COMMON_ENV_TOOLS %SOLARROOT%$/etools
- CPU S
- CPUNAME SPARC
- CVER C52
- ENABLE_EVOAB2 TRUE
- ENV_TOOLS %SOLARROOT%/et_solaris_sparc/%WORK_STAMP%/bin
- GUI UNX
- GUIBASE unx
- GVER VCL
- INPATH unxsols4%PROEXT%
- JDK13PATH %SOLAR_JDK13PATH%
- JDK14PATH %SOLAR_JDK14PATH%
- JDK15PATH %SOLAR_JDK15PATH%
- LIBMYSQL_PATH %SOLARROOT%/mysql-connector-c-6.0.2/unxsols4
- LM_LICENSE_FILE %SOLAR_LICENSE_FILE%
- OJDK16PATH %SOLAR_OJDK16PATH%
- OS SOLARIS
- OUTPATH unxsols4
- SOLAR_STLLIBPATH %SOLARVERSION%$/unxsols4%PROEXT%$/lib%UPDMINOREXT%
- SOLAR_STLPATH %SOLARVERSION%$/unxsols4%PROEXT%$/inc%UPDMINOREXT%$/stl
- SYSBASE %SOLAR_SYSBASE_ROOT%
- TEMP /var/tmp
- TMP /var/tmp
- GTK_CFLAGS -I%SOLAR_GTK_ROOT%/usr/include/gtk-2.0 -I%SOLAR_GTK_ROOT%/usr/lib/gtk-2.0/include -I%SOLAR_GTK_ROOT%/usr/include/atk-1.0 -I%SOLAR_GTK_ROOT%/usr/include/pango-1.0 -I/usr/openwin/include -I%SOLAR_GTK_ROOT%/usr/sfw/include -I%SOLAR_GTK_ROOT%/usr/sfw/include/freetype2 -I%SOLAR_GTK_ROOT%/usr/include/glib-2.0 -I%SOLAR_GTK_ROOT%/usr/lib/glib-2.0/include
- GTK_LIBS -L%SOLAR_GTK_ROOT%/usr/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lgthread-2.0 -lglib-2.0
- }
- common:3 IF %UPDATER% == YES
- {
- TEMP /tmp
- TMP /tmp
- }
- compath
- {
- COMPATH %STAR_COMPATH%
- }
- distroot:0 if X%DIST_ROOT%X != XX
- {
- SHARED_SOLARVERSION %DIST_ROOT%/%WORK_STAMP%
- SOLARVER %DIST_ROOT%/%WORK_STAMP%
- SOLARVERSION %DIST_ROOT%/%WORK_STAMP%
- }
- envroot:0 if X%ENV_ROOT%X != XX
- {
- SOLAR_ENV_ROOT %ENV_ROOT%
- }
- jdk14
- {
- JAVA_HOME %JDK14PATH%
- JDKINC %JDK14PATH%/include:%JDK14PATH%/include/solaris
- JDKINCS -I%JDK14PATH%/include -I%JDK14PATH%/include/solaris
- JDKLIB %JDK14PATH%/jre/lib/sparc:%JDK14PATH%/lib:%JDK14PATH%/jre/lib/sparc/native_threads:%JDK14PATH%/jre/plugin/sparc:%JDK14PATH%/jre/lib/sparc/motif21
- JDKLIBS -L%JDK14PATH%/jre/lib/sparc -L%JDK14PATH%/lib -L%JDK14PATH%/jre/lib/sparc/native_threads -L%JDK14PATH%/jre/plugin/sparc -L%JDK14PATH%/jre/lib/sparc/motif21
- JDKPATH %JDK14PATH%/bin
- JDK_VERSION 142
- XCLASSPATH .:%JDK14PATH%/jre/lib/rt.jar
- }
- jdk14path:0 if X%JDK_PATH%X != XX
- {
- SOLAR_JDK14PATH %JDK_PATH%
- }
- jdk15
- {
- JAVA_HOME %JDK15PATH%
- JDKINC %JDK15PATH%/include:%JDK15PATH%/include/solaris
- JDKINCS -I%JDK15PATH%/include -I%JDK15PATH%/include/solaris
- JDKLIB %JDK15PATH%/jre/lib/sparc:%JDK15PATH%/lib:%JDK15PATH%/jre/lib/sparc/native_threads:%JDK15PATH%/jre/plugin/sparc:%JDK15PATH%/jre/lib/sparc/motif21
- JDKLIBS -L%JDK15PATH%/jre/lib/sparc -L%JDK15PATH%/lib -L%JDK15PATH%/jre/lib/sparc/native_threads -L%JDK15PATH%/jre/plugin/sparc -L%JDK15PATH%/jre/lib/sparc/motif21
- JDKPATH %JDK15PATH%/bin
- JDK_VERSION 150
- XCLASSPATH .:%JDK15PATH%/jre/lib/rt.jar
- }
- jdk15path:0 if X%JDK_PATH%X != XX
- {
- SOLAR_JDK15PATH %JDK_PATH%
- }
- ojdk16
- {
- JAVA_HOME %OJDK16PATH%
- JDKINC %OJDK16PATH%/include:%OJDK16PATH%/include/solaris
- JDKINCS -I%OJDK16PATH%/include -I%OJDK16PATH%/include/solaris
- JDKLIB %OJDK16PATH%/jre/lib/sparc:%OJDK16PATH%/lib:%OJDK16PATH%/jre/lib/sparc/native_threads:%OJDK16PATH%/jre/plugin/sparc:%OJDK16PATH%/jre/lib/sparc/xawt
- JDKLIBS -L%OJDK16PATH%/jre/lib/sparc -L%OJDK16PATH%/lib -L%OJDK16PATH%/jre/lib/sparc/native_threads -L%OJDK16PATH%/jre/plugin/sparc -L%OJDK16PATH%/jre/lib/sparc/xawt
- JDKPATH %OJDK16PATH%/bin
- JDK_VERSION 160
- XCLASSPATH .:%OJDK16PATH%/jre/lib/rt.jar
- }
- ojdk16path:0 if X%JDK_PATH%X != XX
- {
- SOLAR_OJDK16PATH %JDK_PATH%
- }
- pro
- {
- PROSWITCH -DPRODUCT
- }
- sourceroot:0 if X%SOURCE_ROOT%X != XX
- {
- SOLAR_SOURCE_ROOT %SOURCE_ROOT%
- SOURCE_ROOT_USED TRUE
- }
- sysbaseroot
- {
- SOLAR_SYSBASE_ROOT %SYSBASE_ROOT%
- OOO_SYSBASE_SYS_RELEASE
- }
- }
- extern
- {
- DIST_ROOT
- ENV_ROOT
- HOME
- JDK_PATH
- LM_LICENSE_FILE
- LOCALINI
- SOL_TMP
- SOURCE_ROOT
- SYSBASE_ROOT
- USER
- }
- order common0 bs_sourceroot envroot:0 sourceroot:0 common1 distroot:0 jdk14path:0 jdk15path:0 ojdk16path:0 sysbaseroot cap cax compath common2 common:3 pro common jdk14 jdk15 ojdk16
- reset
- {
- CLASSPATH
- }
- script
- {
- csh
- {
- 400: if ( ${?COPYALL} ) $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
- 600: umask 002
- 800: rehash
- 820: wrapfetch.sh
- 850: if ( "$?SO_GEN_ERROR" == 0 ) setenv SO_GEN_ERROR
- 851: if ( "$?SO_GEN_ERROR2" == 0 ) setenv SO_GEN_ERROR2
- 900: if ( "$?SO_GEN_ERROR" == 1 ) echo $SO_GEN_ERROR
- 901: if ( "$?SO_GEN_ERROR2" == 1 ) echo $SO_GEN_ERROR2
- }
- sh
- {
- 400: if [ $COPYALL ]; then
- 410: $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
- 415: fi
- 600: umask 002
- 800: hash -r
- 820: wrapfetch.sh
- 850: if [ "0$SO_GEN_ERROR" -eq 0 ]; then
- 851: export SO_GEN_ERROR
- 852: fi
- 860: if [ "0$SO_GEN_ERROR2" -eq 0 ]; then
- 861: export SO_GEN_ERROR2
- 862: fi
- 870: if [ "0$SO_GEN_ERROR" -ne 0 ]; then
- 871: echo $SO_GEN_ERROR
- 872: fi
- 880: if [ "0$SO_GEN_ERROR2" -ne 0 ]; then
- 881: echo $SO_GEN_ERROR2
- 882: fi
- }
- }
- switches
- {
- bs_sourceroot SOURCE_ROOT_TMP
- bsclient
- cap
- cax
- compath STAR_COMPATH
- distroot
- envroot
- jdk14
- jdk14path
- jdk15
- jdk15path
- l10n L10N_framework
- ojdk16
- ojdk16path
- pro
- sourceroot
- sysbaseroot
- }
-}
-unxsolu4
-{
- environment
- {
- bs_sourceroot
- {
- SOLAR_SOURCE_ROOT %SOURCE_ROOT_TMP%
- SOURCE_ROOT %SOURCE_ROOT_TMP%
- SOURCE_ROOT_USED TRUE
- }
- cap
- {
- COPYALL TRUE
- COPY_PACKED TRUE
- DEVROOT %SOL_TMP%$/r
- PCLEAN_PATH %SOLARROOT%/etools
- PERL %SOL_TMP%$/r$/bt_solaris_sparc$/bin$/perl
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
- }
- cax
- {
- COPYALL FALSE
- DEVROOT %SOL_TMP%$/r
- PCLEAN_PATH %SOL_TMP%$/r/etools
- PERL %SOL_TMP%$/r$/bt_solaris_sparc$/bin$/perl
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%/%WORK_STAMP%
- SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
- }
- common
- {
- *build nice %PERL% %SOLARENV%/bin/build.pl %PROFULLSWITCH%
- *build_client nice %PERL% %SOLARENV%/bin/build_client.pl
- *copyprj %PERL% %COMMON_ENV_TOOLS%/copyprj.pl
- *deliver %PERL% %SOLARENV%/bin/deliver.pl
- *mkout %PERL% %SOLARENV%/bin/mkout.pl
- *r: cd %SOLARROOT%
- *s: cd %SOLARVERSION%
- *zipdep %PERL% %SOLARENV%/bin/zipdep.pl
- COPYPRJ %PERL% %COMMON_ENV_TOOLS%/copyprj.pl
- DELIVER %PERL% %SOLARENV%/bin/deliver.pl
- DMAKEROOT %SOLARENV%/inc/startup
- FREETYPE_CFLAGS -I%SYSBASE%/usr/sfw/include -I%SYSBASE%/usr/sfw/include/freetype2
- FREETYPE_LIBS -L%SYSBASE%/usr/sfw/lib/sparcv9 -lfreetype
- LIBXML_CFLAGS -I%SYSBASE%/usr/include/libxml2
- LIBXML_LIBS -L%SYSBASE%/usr/lib/sparcv9 -lxml2 -lpthread -lz -lm -lsocket -lnsl
- LIBXSLT_CFLAGS -I%SYSBASE%/usr/include/libxml2
- LIBXSLT_LIBS -L%SYSBASE%/usr/lib/sparcv9 -lxslt -lxml2 -lpthread -lz -lm -lsocket -lnsl
- MKOUT %PERL% %SOLARENV%/bin/mkout.pl
- PATHEXTRA /usr/ccs/bin:/usr/bin:/bin:/usr/sbin:/etc:/usr/bin/X11:/opt/langtools/bin:/usr/dt/bin
- SOLAREXTRAINC -I%SOLAR_STLPATH% -I%SYSBASE%/usr/include
- SOLAREXTRALIB -L%COMPATH%$/lib -L../lib -L%SYSBASE%/usr/lib -L/lib -L/usr/lib -L/usr/dt/lib -L/usr/openwin/lib -L%SOLAR_STLLIBPATH%
- SOLAR_JAVA TRUE
- SYSTEM_FREETYPE YES
- SYSTEM_LIBXML YES
- SYSTEM_LIBXSLT YES
- ZIPDEP %PERL% %SOLARENV%/bin/zipdep.pl
- __cdpath %DRIVE_O%/%WORK_STAMP%/ooo%UPDMINOREXT%
- ENABLE_GCONF TRUE
-# ENABLE_GNOMEVFS TRUE
- GNUMAKE gmake
- SYSTEM_LIBRSVG YES
- SYSTEM_LIBCROCO YES
- SYSTEM_GDKPIXBUF YES
- SYSTEM_GLIB YES
- SYSTEM_GETTEXT YES
- SYSTEM_PANGO YES
- SYSTEM_LIBPNG YES
- SYSTEM_LIBJPEG YES
- SYSTEM_LIBGSF YES
- }
- common0
- {
- SOLAR_ENV_ROOT /so/env
- SOLAR_SOURCE_ROOT %DRIVE_O%
- SOLAR_SYSBASE_ROOT /so/env/solaris_2.10_sparc
- OOO_SYSBASE_SYS_RELEASE 5.10
- }
- common1
- {
- COMPATH /so/env/compilers/SUNWS12m1/sparc/SUNWspro
- DEVROOT %SOLAR_ENV_ROOT%
- PERL %SOLAR_ENV_ROOT%/bt_solaris_sparc/bin/perl
- PKGFORMAT pkg
- SHARED_SOLARENV %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT%/solenv
- SHARED_SOLARVERSION %SOLAR_SOURCE_ROOT%/%WORK_STAMP%
- SOLARENV %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT%/solenv
- SOLARROOT %SOLAR_ENV_ROOT%
- SOLARVER %SOLAR_SOURCE_ROOT%/%WORK_STAMP%
- SOLARVERSION %SOLAR_SOURCE_ROOT%/%WORK_STAMP%
- SOLAR_JDK15PATH %SOLAR_ENV_ROOT%/Solaris_JDK_1.5.0_15.sparc
- SO_PACK %SOLAR_ENV_ROOT%/pack/%WORK_STAMP%
- SRC_ROOT %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT%
- USE_SYSTEM_STL YES
- }
- common2
- {
- BUILD_TOOLS %SOLARROOT%/bt_solaris_sparc/%WORK_STAMP%/bin
- COM C52
- COMEX 4
- COMMON_BUILD_TOOLS %SOLARROOT%$/btools
- COMMON_ENV_TOOLS %SOLARROOT%$/etools
- CPU U
- CPUNAME SPARC
- CVER C52
- ENV_TOOLS %SOLARROOT%/et_solaris_sparc/%WORK_STAMP%/bin
- GUI UNX
- GUIBASE unx
- GVER VCL
- INPATH unxsolu4%PROEXT%
- JDK15PATH %SOLAR_JDK15PATH%
- OS SOLARIS
- OUTPATH unxsolu4
- SOLAR_STLLIBPATH %SOLARVERSION%$/unxsolu4%PROEXT%$/lib%UPDMINOREXT%
- SOLAR_STLPATH %SOLARVERSION%$/unxsolu4%PROEXT%$/inc%UPDMINOREXT%$/stl
- SYSBASE %SOLAR_SYSBASE_ROOT%
- TEMP /var/tmp
- TMP /var/tmp
- }
- common:3 IF %UPDATER% == YES
- {
- TEMP /tmp
- TMP /tmp
- }
- compath
- {
- COMPATH %STAR_COMPATH%
- }
- distroot:0 if X%DIST_ROOT%X != XX
- {
- SHARED_SOLARVERSION %DIST_ROOT%/%WORK_STAMP%
- SOLARVER %DIST_ROOT%/%WORK_STAMP%
- SOLARVERSION %DIST_ROOT%/%WORK_STAMP%
- }
- envroot:0 if X%ENV_ROOT%X != XX
- {
- SOLAR_ENV_ROOT %ENV_ROOT%
- }
- jdk15
- {
- JAVA_HOME %JDK15PATH%
- JDKINC %JDK15PATH%/include:%JDK15PATH%/include/solaris
- JDKINCS -I%JDK15PATH%/include -I%JDK15PATH%/include/solaris
- JDKLIB %JDK15PATH%/jre/lib/sparcv9:%JDK15PATH%/lib:%JDK15PATH%/jre/lib/sparcv9/native_threads:%JDK15PATH%/jre/lib/sparcv9/server:%JDK15PATH%/jre/plugin/sparcv9:%JDK15PATH%/jre/lib/sparcv9/motif21
- JDKLIBS -L%JDK15PATH%/jre/lib/sparcv9 -L%JDK15PATH%/lib -L%JDK15PATH%/jre/lib/sparcv9/native_threads -L%JDK15PATH%/jre/lib/sparcv9/server -L%JDK15PATH%/jre/plugin/sparcv9 -L%JDK15PATH%/jre/lib/sparcv9/motif21
- JDKPATH %JDK15PATH%/bin/sparcv9
- JDK_VERSION 150
- XCLASSPATH .:%JDK15PATH%/jre/lib/rt.jar
- }
- jdk15path:0 if X%JDK_PATH%X != XX
- {
- SOLAR_JDK15PATH %JDK_PATH%
- }
- pro
- {
- PROSWITCH -DPRODUCT
- }
- sourceroot:0 if X%SOURCE_ROOT%X != XX
- {
- SOLAR_SOURCE_ROOT %SOURCE_ROOT%
- SOURCE_ROOT_USED TRUE
- }
- sysbaseroot
- {
- SOLAR_SYSBASE_ROOT %SYSBASE_ROOT%
- OOO_SYSBASE_SYS_RELEASE
- }
- }
- extern
- {
- DIST_ROOT
- ENV_ROOT
- HOME
- JDK_PATH
- LM_LICENSE_FILE
- LOCALINI
- SOL_TMP
- SOURCE_ROOT
- SYSBASE_ROOT
- USER
- }
- order common0 bs_sourceroot envroot:0 sourceroot:0 common1 distroot:0 jdk15path:0 sysbaseroot cap cax compath common2 common:3 pro common jdk15
- reset
- {
- CLASSPATH
- }
- script
- {
- csh
- {
- 400: if ( ${?COPYALL} ) $SOLAR_ENV_ROOT/etools/lucopy.pl all $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
- 600: umask 002
- 800: rehash
- 820: wrapfetch.sh
- 850: if ( "$?SO_GEN_ERROR" == 0 ) setenv SO_GEN_ERROR
- 851: if ( "$?SO_GEN_ERROR2" == 0 ) setenv SO_GEN_ERROR2
- 900: if ( "$?SO_GEN_ERROR" == 1 ) echo $SO_GEN_ERROR
- 901: if ( "$?SO_GEN_ERROR2" == 1 ) echo $SO_GEN_ERROR2
- }
- sh
- {
- 400: if [ $COPYALL ]; then
- 410: $SOLAR_ENV_ROOT/etools/lucopy.pl all $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
- 415: fi
- 600: umask 002
- 800: hash -r
- 820: wrapfetch.sh
- 850: if [ "0$SO_GEN_ERROR" -eq 0 ]; then
- 851: export SO_GEN_ERROR
- 852: fi
- 860: if [ "0$SO_GEN_ERROR2" -eq 0 ]; then
- 861: export SO_GEN_ERROR2
- 862: fi
- 870: if [ "0$SO_GEN_ERROR" -ne 0 ]; then
- 871: echo $SO_GEN_ERROR
- 872: fi
- 880: if [ "0$SO_GEN_ERROR2" -ne 0 ]; then
- 881: echo $SO_GEN_ERROR2
- 882: fi
- }
- }
- switches
- {
- bs_sourceroot SOURCE_ROOT_TMP
- bsclient
- cap
- cax
- compath STAR_COMPATH
- distroot
- envroot
- jdk15
- jdk15path
- l10n L10N_framework
- pro
- sourceroot
- sysbaseroot
- }
-}
-wntgcci1
-{
- environment
- {
- bs_sourceroot
- {
- SOLAR_SOURCE_ROOT %SOURCE_ROOT_TMP%
- SOURCE_ROOT %SOURCE_ROOT_TMP%
- SOURCE_ROOT_USED TRUE
- }
- cap
- {
- COMPATH %SOL_TMP%$/r$/MinGW
- COPYALL TRUE
- COPY_PACKED TRUE
- DEVROOT %SOL_TMP%$/r
- FSDK %SOL_TMP%$/r$/msvc7net$/FrameworkSDK
- NSIS_PATH %SOL_TMP%$/r$/NSIS_242_unicode
- PCLEAN_PATH %SOLARROOT%$/etw
- PERL %SOL_TMP%$/r$/btw$/perl$/bin$/perl
- PSDK %SOL_TMP%$/r$/MinGW$/w32api
- SHARED_COM_SDK_PATH %SOL_TMP%$/r$/msvc7net$/Common7$/ide
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
- SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
- }
- cax
- {
- COMPATH %SOL_TMP%$/r$/MinGW
- COPYALL FALSE
- FSDK %SOL_TMP%$/r$/msvc7net$/FrameworkSDK
- NSIS_PATH %SOL_TMP%$/r$/NSIS_242_unicode
- PCLEAN_PATH %SOL_TMP%$/r$/etw
- PERL %SOL_TMP%$/r$/btw$/perl$/bin$/perl
- PSDK %SOL_TMP%$/r$/MinGW$/w32api
- SHARED_COM_SDK_PATH %SOL_TMP%$/r$/msvc7net$/Common7$/ide
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
- SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
- }
- common
- {
- *build %PERL% %SOLARENV%$/bin$/build.pl %PROFULLSWITCH%
- *build_client %PERL% %SOLARENV%$/bin$/build_client.pl
- *copyprj %PERL% %COMMON_ENV_TOOLS%/copyprj.pl
- *deliver %PERL% %SOLARENV%$/bin$/deliver.pl
- *dmake *dmake %PROFULLSWITCH%
- *mkout %PERL% %SOLARENV%$/bin$/mkout.pl
- *o cd %SOLARENV%$/..
- *r cd %SOLARROOT%
- *s cd %SOLARVERSION%
- *zipdep %PERL% %SOLARENV%$/bin$/zipdep.pl
- BIG_SVX
- COPYPRJ %PERL% %COMMON_ENV_TOOLS%/copyprj.pl
- DELIVER %PERL% %SOLARENV%$/bin$/deliver.pl
- DMAKEROOT %SOLARENV%$/inc$/startup
- ILIB .$:%UPDMINOREXT%$:%SOLARVERSION%$/%INPATH%$/lib%UPDMINOREXT%$:%PSDK%$/lib$:%FSDK%$/lib$:%COMPATH%$/lib$:
- JDK13PATH %SOLAR_JDK13PATH%
- JDK14PATH %SOLAR_JDK14PATH%
- JDK15PATH %SOLAR_JDK15PATH%
- LIB .$:%UPDMINOREXT%$:%SOLARVERSION%$/%INPATH%$/lib%UPDMINOREXT%$:%PSDK%$/lib$:%PSDK%$/lib$/x86$:%FSDK%$/lib$:%COMPATH%$/lib$:%SOLAR_STLLIBPATH%
- MKOUT %PERL% %SOLARENV%$/bin$/mkout.pl
- PATH %PATH%$:%SOLARVERSION%$/%INPATH%$/lib%UPDMINOREXT%$:%SHARED_COM_SDK_PATH%$:%PSDK%$/bin$:%FSDK%$/bin
- PSDKINC -I%PSDK%$/include
- SOLAREXTRAINC -I%COMPATH%$/lib$/gcc-lib$/mingw32$/3.2$/include -I%DSDK%$/include
- SOLAR_JAVA TRUE
- XCLASSPATH .
- ZIPDEP %PERL% %SOLARENV%$/bin$/zipdep.pl
- GNUMAKE make
- SYSTEM_LIBRSVG YES
- SYSTEM_LIBCROCO YES
- SYSTEM_GDKPIXBUF YES
- SYSTEM_GLIB YES
- SYSTEM_GETTEXT YES
- SYSTEM_PANGO YES
- SYSTEM_LIBPNG YES
- SYSTEM_LIBJPEG YES
- SYSTEM_LIBGSF YES
- }
- common0
- {
- SOLAR_ENV_ROOT r:
- SOLAR_SOURCE_ROOT o:
- }
- common1
- {
- COMPATH %SOLAR_ENV_ROOT%$/MinGW
- # FSDK %SOLAR_ENV_ROOT%$/msvc7net$/FrameworkSDK
- DEVROOT %SOLAR_ENV_ROOT%
- NSIS_PATH %SOLAR_ENV_ROOT%$/NSIS_242_unicode
- PERL %SOLAR_ENV_ROOT%$/btw$/perl$/bin$/perl
- PKGFORMAT some_dummy
- PSDK %SOLAR_ENV_ROOT%$/MinGW$/w32api
- SHARED_COM_SDK_PATH %SOLAR_ENV_ROOT%$/msvc7net$/Common7$/ide
- SHARED_SOLARENV %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SHARED_SOLARVERSION %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%
- SOLARENV %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOLAR_ENV_ROOT%
- SOLARVER %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%
- SOLARVERSION %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%
- SO_PACK %SOLAR_ENV_ROOT%$/pack$/%WORK_STAMP%
- SRC_ROOT %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%
- }
- common2
- {
- ENABLE_GRAPHITE TRUE
- BUILD_TOOLS %SOLARROOT%$/btw$/%WORK_STAMP%
- CALL_CDECL TRUE
- CDPATHx %CDPATH%$:..$:..$/..$:..$/..$/..$:..$/source$:..$/..$/source$:o:$/%WORK_STAMP%$/ooo%UPDMINOREXT%
- COM GCC
- COMMON_BUILD_TOOLS %SOLARROOT%$/btools
- COMMON_ENV_TOOLS %SOLARROOT%$/etools
- COMP_ENV wntgcci1
- CPU I
- CPUNAME INTEL
- CVER M1300
- DYNAMIC_CRT TRUE
- ENV_TOOLS %SOLARROOT%$/etw$/%WORK_STAMP%
- GUI WNT
- GUIBASE WIN
- GVER NT351
- INPATH wntgcci1%PROEXT%
- OS WNT
- OUTPATH wntgcci1
- SET_EXEPTIONS TRUE
- SOLAR_JDK13PATH %SOLARROOT%$/jdk1.3
- SOLAR_JDK14PATH %SOLARROOT%$/j2sdk1.4.2_11
- SOLAR_JDK15PATH %SOLARROOT%$/jdk1.5.0.06
- SOLAR_STLPATH %SOLARVERSION%$/wntgcci1%PROEXT%$/inc%UPDMINOREXT%$/stl
- SORT sort -T %TMP%
- use_shl_versions TRUE
- }
- compath
- {
- COMPATH %STAR_COMPATH%
- }
- distroot:0 if X%DIST_ROOT%X != XX
- {
- SHARED_SOLARVERSION %DIST_ROOT%$/%WORK_STAMP%
- SOLARVER %DIST_ROOT%$/%WORK_STAMP%
- SOLARVERSION %DIST_ROOT%$/%WORK_STAMP%
- }
- envroot:0 IF X%ENV_ROOT%X != XX
- {
- SOLAR_ENV_ROOT %ENV_ROOT%
- }
- jdk14
- {
- HOMEDRIVE %DEVROOT%
- HOMEPATH $/jdk141
- JAVAHOME %JDK14PATH%
- JAVA_HOME %JDK14PATH%
- JDKINC %JDK14PATH%$/include$/win32$:%JDK14PATH%$/include
- JDKINCS -I%JDK14PATH%$/include -I%JDK14PATH%$/include$/win32
- JDKLIB -L%JDK14PATH%$/lib
- JDKLIBS -L%JDK14PATH%$/lib
- JDKPATH %JDK14PATH%$/bin
- JDK_VERSION 142
- JREPATH %JDK14PATH%$/jre$/bin$/client
- XCLASSPATH .$:%JDK14PATH%$/jre$/lib$/rt.jar
- }
- jdk14path:0 if X%JDK_PATH%X != XX
- {
- SOLAR_JDK14PATH %JDK_PATH%
- }
- jdk15
- {
- HOMEDRIVE %DEVROOT%
- HOMEPATH $/jdk151
- JAVAHOME %JDK15PATH%
- JAVA_HOME %JDK15PATH%
- JDKINC %JDK15PATH%$/include$/win32$:%JDK15PATH%$/include
- JDKINCS -I%JDK15PATH%$/include -I%JDK15PATH%$/include$/win32
- JDKLIB -L%JDK15PATH%$/lib
- JDKLIBS -L%JDK15PATH%$/lib
- JDKPATH %JDK15PATH%$/bin
- JDK_VERSION 150
- JREPATH %JDK15PATH%$/jre$/bin$/client
- XCLASSPATH .$:%JDK15PATH%$/jre$/lib$/rt.jar
- }
- jdk15path:0 if X%JDK_PATH%X != XX
- {
- SOLAR_JDK15PATH %JDK_PATH%
- }
- psdk
- {
- PSDK %STAR_PSDK%
- }
- sourceroot:0 if X%SOURCE_ROOT%X != XX
- {
- SOLAR_SOURCE_ROOT %SOURCE_ROOT%
- SOURCE_ROOT_USED TRUE
- }
- }
- extern
- {
- COMSPEC
- DIST_ROOT
- ENV_ROOT
- JDK_PATH
- LOCALINI
- SOL_TMP
- SOURCE_ROOT
- }
- order common0 bs_sourceroot envroot:0 sourceroot:0 common1 distroot:0 cap cax psdk compath common2 jdk14path:0 jdk15path:0 common jdk14 jdk15
- reset
- {
- COPYALL
- NSIS_PATH
- SOLAR_ENV_ROOT
- WST
- }
- script
- {
- csh
- {
- 150: setenv MYENV_PATH $PATH
- 160: setenv PATH $SSX_PATH
- 200: if ( ${?COPYALL} ) $SOLAR_ENV_ROOT/btw/perl/bin/perl $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
- 260: setenv PATH $MYENV_PATH
- 270: unsetenv MYENV_PATH
- 850: if ( "$?SO_GEN_ERROR" == 0 ) setenv SO_GEN_ERROR
- 851: if ( "$?SO_GEN_ERROR2" == 0 ) setenv SO_GEN_ERROR2
- 900: if ( "$?SO_GEN_ERROR" == 1 ) echo $SO_GEN_ERROR
- 901: if ( "$?SO_GEN_ERROR2" == 1 ) echo $SO_GEN_ERROR2
- }
- sh
- {
- 150: export MYENV_PATH=$PATH
- 160: export PATH=$SSX_PATH
- 260: export PATH=$MYENV_PATH
- 270: unset MYENV_PATH
- 400: if [ $COPYALL ]; then
- 410: $SOLAR_ENV_ROOT/btw/perl/bin/perl $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
- 415: fi
- 850: if [ "0$SO_GEN_ERROR" -eq 0 ]; then
- 851: export SO_GEN_ERROR
- 852: fi
- 860: if [ "0$SO_GEN_ERROR2" -eq 0 ]; then
- 861: export SO_GEN_ERROR
- 862: fi
- 870: if [ "0$SO_GEN_ERROR" -eq 0 ]; then
- 871: echo $SO_GEN_ERROR
- 872: fi
- 880: if [ "0$SO_GEN_ERROR2" -eq 0 ]; then
- 881: echo $SO_GEN_ERROR
- 882: fi
- }
- }
- switches
- {
- bs_sourceroot SOURCE_ROOT_TMP
- bsclient
- cap
- cax
- compath STAR_COMPATH
- distroot
- envroot
- jdk14
- jdk14path
- jdk15
- jdk15path
- l10n L10N_framework
- pro
- psdk STAR_PSDK
- sourceroot
- }
-}
-wntmsci11
-{
- environment
- {
- bs_sourceroot
- {
- SOLAR_SOURCE_ROOT %SOURCE_ROOT_TMP%
- SOURCE_ROOT %SOURCE_ROOT_TMP%
- SOURCE_ROOT_USED TRUE
- }
- cap
- {
- COMPATH %SOL_TMP%$/r$/msvc8p
- COMPROOT %SOL_TMP%$/r$/msvc8p
- COPYALL TRUE
- COPY_PACKED TRUE
- DEVROOT %SOL_TMP%$/r
- DSDK %SOL_TMP%$/r$/msvc8p$/DirectXSDK
- FSDK %SOL_TMP%$/r$/msvc8p$/Sdk$/v2.0
- PCLEAN_PATH %SOLARROOT%$/etw
- PERL %SOL_TMP%$/r$/btw$/perl$/bin$/perl
- PSDK %SOL_TMP%$/r$/msvc8p$/PlatformSDK
- SHARED_COM_SDK_PATH %SOL_TMP%$/r$/msvc8p$/Common7$/ide
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
- SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
- }
- cax
- {
- COMPATH %SOL_TMP%$/r$/msvc8p
- COMPROOT %SOL_TMP%$/r$/msvc8p
- COPYALL FALSE
- DSDK %COMPATH%$/DirectXSDK
- FSDK %COMPATH%$/Sdk$/v2.0
- PCLEAN_PATH %SOL_TMP%$/r$/etw
- PERL %SOL_TMP%$/r$/btw$/perl$/bin$/perl
- PSDK %COMPATH%$/PlatformSDK
- SHARED_COM_SDK_PATH %COMPATH%$/Common7$/ide
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
- SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
- }
- common
- {
- *build %PERL% %SOLARENV%$/bin$/build.pl %PROFULLSWITCH%
- *build_client %PERL% %SOLARENV%$/bin$/build_client.pl
- *copyprj %PERL% %COMMON_ENV_TOOLS%/copyprj.pl
- *deliver %PERL% %SOLARENV%$/bin$/deliver.pl
- *mkout %PERL% %SOLARENV%$/bin$/mkout.pl
- *mwscommit %PERL% %COMMON_ENV_TOOLS%/mwscommit.pl
- *o cdd %SOLARENV%$/..
- *r cdd %SOLARROOT%
- *s cdd %SOLARVERSION%
- *zipdep %PERL% %SOLARENV%$/bin$/zipdep.pl
- BIG_SVX
- COPYPRJ %PERL% %COMMON_ENV_TOOLS%/copyprj.pl
- DELIVER %PERL% %SOLARENV%$/bin$/deliver.pl
- DMAKEROOT %SOLARENV%$/inc$/startup
- ILIB .$:%SOLARVERSION%$/%INPATH%$/lib%UPDMINOREXT%$:%PSDK%$/vc$/lib$:%PSDK%$/lib$:%FSDK%$/lib$:%DSDK%$/lib$/x86
- JDK13PATH %SOLAR_JDK13PATH%
- JDK14PATH %SOLAR_JDK14PATH%
- JDK15PATH %SOLAR_JDK15PATH%
- LIB .$:%SOLARVERSION%$/%INPATH%$/lib%UPDMINOREXT%$:%PSDK%$/vc$/lib$:%PSDK%$/lib$:%FSDK%$/lib$:%DSDK%$/lib$/x86$:%SOLAR_STLLIBPATH%
- MKOUT %PERL% %SOLARENV%$/bin$/mkout.pl
- MWSCOMMIT %PERL% %COMMON_ENV_TOOLS%/mwscommit.pl
- PATH %PATH%$:%SHARED_COM_SDK_PATH%$:%PSDK%$/vc$/bin$:%PSDK%$/bin$:%FSDK%$/bin$:%DSDK%$/bin$/Utilities$/bin$/x86$:%PACKMS%
- PROF_EDITION TRUE
- PSDKINC -I%PSDK%$/vc$/include -I%PSDK%$/include -I%COMPATH%$/PlatformSDK_VC8$/include
- SOLAREXTRAINC -I%DSDK%$/include
- SOLAR_JAVA TRUE
- TRUSTED_MANIFEST_LOCATION %SOLARENV%$/inc
- VISTA_MANIFEST TRUE
- WINDOWS_VISTA_PSDK TRUE
- XCLASSPATH .
- ZIPDEP %PERL% %SOLARENV%$/bin$/zipdep.pl
- SYSTEM_LIBRSVG YES
- SYSTEM_LIBCROCO YES
- SYSTEM_GDKPIXBUF YES
- SYSTEM_GLIB YES
- SYSTEM_GETTEXT YES
- SYSTEM_PANGO YES
- SYSTEM_LIBPNG YES
- SYSTEM_LIBJPEG YES
- SYSTEM_LIBGSF YES
- }
- common0
- {
- BS_ROOT n:
- SOLAR_ENV_ROOT r:
- SOLAR_SOURCE_ROOT o:
- }
- common1
- {
- COMPATH %SOLAR_ENV_ROOT%$/msvc8p
- COMPROOT %SOLAR_ENV_ROOT%$/msvc8p
- DEVROOT %SOLAR_ENV_ROOT%
- DSDK %SOLAR_ENV_ROOT%$/msvc8p$/DirectXSDK
- FSDK %SOLAR_ENV_ROOT%$/msvc8p$/Sdk$/v2.0
- PERL %SOLAR_ENV_ROOT%$/btw$/perl$/bin$/perl
- PKGFORMAT msi
- PSDK %SOLAR_ENV_ROOT%$/msvc8p$/PlatformSDK
- SHARED_COM_SDK_PATH %SOLAR_ENV_ROOT%$/msvc8p$/Common7$/ide
- SHARED_SOLARENV %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SHARED_SOLARVERSION %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%
- SOLARENV %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOLAR_ENV_ROOT%
- SOLARVER %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%
- SOLARVERSION %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%
- SO_PACK %SOLAR_ENV_ROOT%$/pack$/%WORK_STAMP%
- SRC_ROOT %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%
- }
- common2
- {
- ENABLE_GRAPHITE TRUE
- BUILD_TOOLS %SOLARROOT%$/btw$/%WORK_STAMP%
- CALL_CDECL TRUE
- CDPATHx %CDPATH%$:..$:..$/..$:..$/..$/..$:..$/source$:..$/..$/source$:o:$/%WORK_STAMP%$/ooo%UPDMINOREXT%
- COM MSC
- COMEX 11
- COMMON_BUILD_TOOLS %SOLARROOT%$/btools
- COMMON_ENV_TOOLS %SOLARROOT%$/etools
- COMP_ENV wntmsci11
- CPU I
- CPUNAME INTEL
- CVER M1400
- DYNAMIC_CRT TRUE
- ENV_TOOLS %SOLARROOT%$/etw$/%WORK_STAMP%
- GUI WNT
- GUIBASE WIN
- GVER NT351
- INPATH wntmsci11%PROEXT%
- OS WNT
- OUTPATH wntmsci11
- PACKMS %SO_PACK%$/wntmsci11$/MS
- SET_EXEPTIONS TRUE
- SHIPDRIVE %BS_ROOT%$/ship$/install
- SOLAR_JDK13PATH %SOLARROOT%$/jdk1.3
- SOLAR_JDK14PATH %SOLARROOT%$/j2sdk1.4.2_11
- SOLAR_JDK15PATH %SOLARROOT%$/jdk1.5.0.06
- SOLAR_STLPATH %SOLARVERSION%$/wntmsci11%PROEXT%$/inc%UPDMINOREXT%$/stl
- SORT sort -T %TMP%
- use_shl_versions TRUE
- }
- compath
- {
- COMPATH %STAR_COMPATH%
- }
- distroot:0 if X%DIST_ROOT%X != XX
- {
- SHARED_SOLARVERSION %DIST_ROOT%$/%WORK_STAMP%
- SOLARVER %DIST_ROOT%$/%WORK_STAMP%
- SOLARVERSION %DIST_ROOT%$/%WORK_STAMP%
- }
- envroot:0 IF X%ENV_ROOT%X != XX
- {
- SOLAR_ENV_ROOT %ENV_ROOT%
- }
- jdk14
- {
- HOMEDRIVE %DEVROOT%
- HOMEPATH $/jdk141
- JAVAHOME %JDK14PATH%
- JAVA_HOME %JDK14PATH%
- JDKINC %JDK14PATH%$/include$/win32$:%JDK14PATH%$/include
- JDKINCS -I%JDK14PATH%$/include -I%JDK14PATH%$/include$/win32
- JDKLIB %JDK14PATH%$/lib
- JDKLIBS %JDK14PATH%$/lib
- JDKPATH %JDK14PATH%$/bin
- JDK_VERSION 142
- JREPATH %JDK14PATH%$/jre$/bin$/client
- XCLASSPATH .$:%JDK14PATH%$/jre$/lib$/rt.jar
- }
- jdk14path:0 if X%JDK_PATH%X != XX
- {
- SOLAR_JDK14PATH %JDK_PATH%
- }
- jdk15
- {
- HOMEDRIVE %DEVROOT%
- HOMEPATH $/jdk151
- JAVAHOME %JDK15PATH%
- JAVA_HOME %JDK15PATH%
- JDKINC %JDK15PATH%$/include$/win32$:%JDK15PATH%$/include
- JDKINCS -I%JDK15PATH%$/include -I%JDK15PATH%$/include$/win32
- JDKLIB %JDK15PATH%$/lib
- JDKLIBS %JDK15PATH%$/lib
- JDKPATH %JDK15PATH%$/bin
- JDK_VERSION 150
- JREPATH %JDK15PATH%$/jre$/bin$/client
- XCLASSPATH .$:%JDK15PATH%$/jre$/lib$/rt.jar
- }
- jdk15path:0 if X%JDK_PATH%X != XX
- {
- SOLAR_JDK15PATH %JDK_PATH%
- }
- psdk
- {
- PSDK %STAR_PSDK%
- }
- sourceroot:0 if X%SOURCE_ROOT%X != XX
- {
- SOLAR_SOURCE_ROOT %SOURCE_ROOT%
- SOURCE_ROOT_USED TRUE
- }
- }
- extern
- {
- COMSPEC
- DIST_ROOT
- ENV_ROOT
- JDK_PATH
- LOCALINI
- SOL_TMP
- SOURCE_ROOT
- }
- order common0 bs_sourceroot envroot:0 sourceroot:0 common1 distroot:0 cap cax psdk compath common2 jdk14path:0 jdk15path:0 common jdk14 jdk15
- reset
- {
- COPYALL
- SOLAR_ENV_ROOT
- WST
- }
- script
- {
- post
- {
- 150: set MYENV_PATH=%PATH
- 160: set PATH=%SSX_PATH
- 200: if "%COPYALL%"=="TRUE" %SOLAR_ENV_ROOT%\btw\perl\bin\perl %SOLAR_ENV_ROOT%\etools\lucopy.pl -all %BTARGET% $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
- 260: set PATH=%MYENV_PATH
- 270: unset MYENV_PATH
- 400: if "%SO_GEN_ERROR%" NE "" @echo %SO_GEN_ERROR%
- 401: if "%SO_GEN_ERROR2%" NE "" echo %SO_GEN_ERROR2%
- }
- }
- switches
- {
- bs_sourceroot SOURCE_ROOT_TMP
- bsclient
- cap
- cax
- compath STAR_COMPATH
- distroot
- envroot
- jdk14
- jdk14path
- jdk15
- jdk15path
- l10n L10N_framework
- pro
- psdk STAR_PSDK
- sourceroot
- }
-}
-wntmsci12
-{
- environment
- {
- bs_sourceroot
- {
- SOLAR_SOURCE_ROOT $dp(%SOURCE_ROOT_TMP%)
- SOURCE_ROOT $dp(%SOURCE_ROOT_TMP%)
- SOURCE_ROOT_USED TRUE
- }
- cap
- {
- BUILD_TOOLS %SOL_TMP%$/btw$/%BTOOLDIR%
- COMPATH %SOL_TMP%$/r$/msvc9p
- COMPROOT %SOL_TMP%$/r$/msvc9p
- COPYALL TRUE
- COPY_PACKED TRUE
- DEVROOT %SOL_TMP%$/r
- DSDK %SOL_TMP%$/r$/msvc9p$/DirectXSDK
- ENV_TOOLS %SOL_TMP%$/r$/etw$/%WORK_STAMP%
- FSDK %SOL_TMP%$/r$/msvc9p$/Sdk$/v3.5
- F20SDK %SOL_TMP%$/r$/msvc9p$/Sdk$/v2.0
- NSIS_PATH %SOL_TMP%$/r$/NSIS_242_unicode
- PCLEAN_PATH %SOLARROOT%$/etw
- PERL %SOL_TMP%$/r$/%PERLDIR%
- PSDK %SOL_TMP%$/r$/msvc9p$/PlatformSDK$/v6.1
- SHARED_COM_SDK_PATH %SOL_TMP%$/r$/msvc9p$/Common7$/IDE
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
- SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
-# TOUCH %SOL_TMP%$/r$/btw$/%BTOOLDIR%$/touch.exe
-
- }
- cax
- {
- BUILD_TOOLS %SOL_TMP%$/r$/btw$/%BTOOLDIR%
- COMPATH %SOL_TMP%$/r$/msvc9p
- COMPROOT %SOL_TMP%$/r$/msvc9p
- COPYALL FALSE
- DSDK %COMPATH%$/DirectXSDK
- ENV_TOOLS %SOL_TMP%$/r$/etw$/%WORK_STAMP%
- FSDK %COMPATH%$/Sdk$/v3.5
- F20SDK %SOL_TMP%$/r$/msvc9p$/Sdk$/v2.0
- NSIS_PATH %SOL_TMP%$/r$/NSIS_242_unicode
- PCLEAN_PATH %SOL_TMP%$/r$/etw
- PERL %SOL_TMP%$/r$/%PERLDIR%
- PSDK %COMPATH%$/PlatformSDK$/v6.1
- SHARED_COM_SDK_PATH %COMPATH%$/Common7$/IDE
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
- SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
-# TOUCH %SOL_TMP%$/r$/btw$/%BTOOLDIR%$/touch.exe
- }
- common
- {
- *build %PERL% %SOLARENV%$/bin$/build.pl %PROFULLSWITCH%
- *build_client %PERL% %SOLARENV%$/bin$/build_client.pl
- *copyprj %PERL% %COMMON_ENV_TOOLS%$/copyprj.pl
- *deliver %PERL% %SOLARENV%$/bin$/deliver.pl
- *mkout %PERL% %SOLARENV%$/bin$/mkout.pl
- *mwscommit %PERL% %COMMON_ENV_TOOLS%$/mwscommit.pl
- *o cd %SOLARENV%$/..
- *r cd %SOLARROOT%
- *s cd %SOLARVERSION%
- *zipdep %PERL% %SOLARENV%$/bin$/zipdep.pl
- *z_ooo %PERL% %SOLARENV%$/bin$/z_ooo.pl
- BIG_SVX
- COPYPRJ %PERL% %COMMON_ENV_TOOLS%$/copyprj.pl
- CXX_X64_BINARY %COMPROOT%$/bin$/x86_amd64$/cl.exe
- DELIVER %PERL% %SOLARENV%$/bin$/deliver.pl
- DMAKEROOT %SOLARENV%$/inc$/startup
- ENABLE_PCH TRUE
- ILIB .;%SOLARVERSION%$/%INPATH%$/lib%UPDMINOREXT%;%COMPATH%$/lib;%PSDK%$/lib;%DSDK%$/lib$/x86
- JDK13PATH %SOLAR_JDK13PATH%
- JDK14PATH %SOLAR_JDK14PATH%
- JDK15PATH %SOLAR_JDK15PATH%
- LIB .;%SOLARVERSION%$/%INPATH%$/lib%UPDMINOREXT%;%COMPATH%$/lib;%PSDK%$/lib;%DSDK%$/lib$/x86;%SOLAR_STLLIBPATH%
- LIBMGR_X64_BINARY %COMPROOT%$/bin$/x86_amd64$/lib.exe
- LINK_X64_BINARY %COMPROOT%$/bin$/x86_amd64$/link.exe
- MKOUT %PERL% %SOLARENV%$/bin$/mkout.pl
- MWSCOMMIT %PERL% %COMMON_ENV_TOOLS%$/mwscommit.pl
- OJDK16PATH %SOLAR_OJDK16PATH%
- PATH $cp(%PSDK%$/Bin)$:%PATH%$:$cp(%SHARED_COM_SDK_PATH%)$:$cp(%COMPATH%$/bin)$:$cp(%FSDK%)$:$cp(%F20SDK%)$/bin$:$cp(%DSDK%$/Utilities$/bin$/x86)$:$cp(%PACKMS%)
- PROF_EDITION TRUE
- PSDKINC -I%PSDK%$/include
- SOLAREXTRAINC -I%DSDK%$/include
- SOLAR_JAVA TRUE
- TRUSTED_MANIFEST_LOCATION %SOLARENV%$/inc
- USE_DIRECTX5 TRUE
- WINDOWS_VISTA_PSDK TRUE
- SYSBASE TRUE
- WITH_VC_REDIST TRUE
- XCLASSPATH .
- ZIPDEP %PERL% %SOLARENV%$/bin$/zipdep.pl
- BUILD_X64 TRUE
- CHECK_LUCENCE_INDEXER_OUTPUT TRUE
- GNUCOPY cp
- GNUMAKE make
- SYSTEM_LIBRSVG NO
- SYSTEM_LIBCROCO NO
- SYSTEM_GDKPIXBUF NO
- SYSTEM_GLIB NO
- SYSTEM_GETTEXT NO
- SYSTEM_PANGO NO
- SYSTEM_LIBPNG NO
- SYSTEM_LIBJPEG NO
- SYSTEM_LIBGSF NO
- }
- common0
- {
- BS_ROOT n:
- SOLAR_ENV_ROOT r:
- SOLAR_SOURCE_ROOT o:
- BTOOLDIR %WORK_STAMP%$/cygtools
- PERLDIR btw$/%WORK_STAMP%$/cygtools$/perl
- }
- common02
- {
- PERL perl
- }
- common1
- {
- COMPATH %SOLAR_ENV_ROOT%$/msvc9p
- COMPROOT %SOLAR_ENV_ROOT%$/msvc9p
- DEVROOT %SOLAR_ENV_ROOT%
- DSDK %SOLAR_ENV_ROOT%$/msvc9p$/DirectXSDK
- FSDK %SOLAR_ENV_ROOT%$/msvc9p$/Sdk$/v3.5
- F20SDK %SOLAR_ENV_ROOT%$/msvc9p$/Sdk$/v2.0
- NSIS_PATH %SOLAR_ENV_ROOT%$/NSIS_242_unicode
- PERL %SOLAR_ENV_ROOT%$/%PERLDIR%
- PKGFORMAT msi
- PSDK %SOLAR_ENV_ROOT%$/msvc9p$/PlatformSDK$/v6.1
- SHARED_COM_SDK_PATH %SOLAR_ENV_ROOT%$/msvc9p$/Common7$/ide
- SHARED_SOLARENV %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SHARED_SOLARVERSION %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%
- SOLARENV %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOLAR_ENV_ROOT%
- SOLARVER %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%
- SOLARVERSION %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%
- SO_PACK %SOLAR_ENV_ROOT%$/pack$/%WORK_STAMP%
- SRC_ROOT %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%
-# TEMP $dp(%TEMP%)
-# TMP $dp(%TMP%)
- }
- common2
- {
- ENABLE_GRAPHITE TRUE
- BUILD_PIXMAN TRUE
- BUILD_TOOLS %SOLARROOT%$/btw$/%BTOOLDIR%
- CALL_CDECL TRUE
- CDPATHx %CDPATH%$:..$:..$/..$:..$/..$/..$:..$/source$:..$/..$/source$:$cp(%SOLAR_SOURCE_ROOT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%)
- COM MSC
- COMEX 12
- COMMON_BUILD_TOOLS $cp(%SOLARROOT%$/btools)
- COMMON_ENV_TOOLS %SOLARROOT%$/etools
- COMP_ENV wntmsci12
- CPU I
- CPUNAME INTEL
- CVER M1500
- DYNAMIC_CRT TRUE
- ENABLE_CAIRO TRUE
- ENV_TOOLS %SOLARROOT%$/etw$/%WORK_STAMP%
- GUI WNT
- GUIBASE WIN
- GVER NT351
- INPATH wntmsci12%PROEXT%
- LIBMYSQL_PATH %SOLARROOT%$/mysql-connector-c-6.0.2$/wntmsci12
- MOZILLABUILD %SOLARROOT%/mozilla-build-1.3
- OS WNT
- OUTPATH wntmsci12
- PACKMS %SO_PACK%$/wntmsci12$/MS
- SET_EXEPTIONS TRUE
- SHIPDRIVE %SOLAR_ENV_ROOT%$/ship$/install
- SOLAR_JDK13PATH %SOLARROOT%$/jdk1.3
- SOLAR_JDK14PATH %SOLARROOT%$/j2sdk1.4.2_11
- SOLAR_JDK15PATH %SOLARROOT%$/jdk1.5.0.06
- SOLAR_OJDK16PATH %SOLARROOT%$/openjdk-6-b08-windows-i586
- SOLAR_STLPATH %SOLARVERSION%$/wntmsci12%PROEXT%$/inc%UPDMINOREXT%$/stl
- SORT sort -T %TMP%
-# TOUCH %SOLARROOT%$/btw$/%BTOOLDIR%$/touch.exe
- use_shl_versions TRUE
- }
- common:3 IF %UPDATER% == YES
- {
- SHIPDRIVE %BS_ROOT%$/ship$/install
- }
- compath
- {
- COMPATH $dp(%STAR_COMPATH%)
- }
- distroot:0 if X%DIST_ROOT%X != XX
- {
- SHARED_SOLARVERSION $dp(%DIST_ROOT%$/%WORK_STAMP%)
- SOLARVER $dp(%DIST_ROOT%$/%WORK_STAMP%)
- SOLARVERSION $dp(%DIST_ROOT%$/%WORK_STAMP%)
- }
- envroot:0 IF X%ENV_ROOT%X != XX
- {
- SOLAR_ENV_ROOT $dp(%ENV_ROOT%)
- }
- jdk14
- {
-# HOMEDRIVE %DEVROOT%
-# HOMEPATH $/jdk141
- JAVAHOME %JDK14PATH%
- JAVA_HOME %JDK14PATH%
- JDKINC %JDK14PATH%$/include$/win32;%JDK14PATH%$/include
- JDKINCS -I%JDK14PATH%$/include -I%JDK14PATH%$/include$/win32
- JDKLIB %JDK14PATH%$/lib
- JDKLIBS %JDK14PATH%$/lib
- JDKPATH %JDK14PATH%$/bin
- JDK_VERSION 142
- JREPATH %JDK14PATH%$/jre$/bin$/client
- XCLASSPATH .;%JDK14PATH%$/jre$/lib$/rt.jar
- }
- jdk14path:0 if X%JDK_PATH%X != XX
- {
- SOLAR_JDK14PATH $dp(%JDK_PATH%)
- }
- jdk15
- {
-# HOMEDRIVE %DEVROOT%
-# HOMEPATH $/jdk151
- JAVAHOME %JDK15PATH%
- JAVA_HOME %JDK15PATH%
- JDKINC %JDK15PATH%$/include$/win32;%JDK15PATH%$/include
- JDKINCS -I%JDK15PATH%$/include -I%JDK15PATH%$/include$/win32
- JDKLIB %JDK15PATH%$/lib
- JDKLIBS %JDK15PATH%$/lib
- JDKPATH %JDK15PATH%$/bin
- JDK_VERSION 150
- JREPATH %JDK15PATH%$/jre$/bin$/client
- XCLASSPATH .;%JDK15PATH%$/jre$/lib$/rt.jar
- }
- jdk15path:0 if X%JDK_PATH%X != XX
- {
- SOLAR_JDK15PATH $dp(%JDK_PATH%)
- }
- ojdk16
- {
-# HOMEDRIVE %DEVROOT%
-# HOMEPATH $/openjdk-6-b08-windows-i586
- JAVA_HOME %OJDK16PATH%
- JDKINC %OJDK16PATH%$/include$/win32;%OJDK16PATH%$/include
- JDKINCS -I%OJDK16PATH%$/include -I%OJDK16PATH%$/include$/win32
- JDKLIB %OJDK16PATH%$/lib
- JDKLIBS %OJDK16PATH%$/lib
- JDKPATH %OJDK16PATH%$/bin
- JDK_VERSION 160
- JREPATH %OJDK16PATH%$/jre$/bin$/client
- XCLASSPATH .;%OJDK16PATH%$/jre$/lib$/rt.jar
- }
- ojdk16path:0 if X%JDK_PATH%X != XX
- {
- SOLAR_OJDK16PATH $dp(%JDK_PATH%)
- }
- pro
- {
- RES_ENUS TRUE
- }
- psdk
- {
- PSDK $dp(%STAR_PSDK%)
- }
- sourceroot:0 if X%SOURCE_ROOT%X != XX
- {
- SOLAR_SOURCE_ROOT $dp(%SOURCE_ROOT%)
- SOURCE_ROOT_USED TRUE
- }
- tmp
- {
- SOL_TMP $dp(%SOL_TMP_DIR%)
- }
- }
- extern
- {
- COMSPEC
- DIST_ROOT
- ENV_ROOT
- JDK_PATH
- LOCALINI
- OSTYPE
- $dp(SOL_TMP)
- $dp(SOURCE_ROOT)
- $dp(TMP)
- $dp(TEMP)
- }
- order common0 bs_sourceroot tmp envroot:0 sourceroot:0 pro common1 distroot:0 cap cax common02 psdk compath common2 common:3 jdk14path:0 jdk15path:0 ojdk16path:0 common jdk14 jdk15 ojdk16
- reset
- {
- COPYALL
- CXX_X64_BINARY
- DB2IMP
- GCRINC
- GCRLIB
- GCRPATH
- LIBMGR_X64_BINARY
- LINK_X64_BINARY
- NSIS_PATH
- OLD_CHAOS
- PERLDIR
- SOLAR_ENV_ROOT
- TFDEF
- TFDIR
- WST
- }
- script
- {
- sh
- {
- 400: if [ $COPYALL ]; then
- 410: perl $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
- 415: fi
- 600: umask 002
- 800: hash -r
- 820: wrapfetch.sh
- 850: if [ "0$SO_GEN_ERROR" -eq 0 ]; then
- 851: export SO_GEN_ERROR
- 852: fi
- 860: if [ "0$SO_GEN_ERROR2" -eq 0 ]; then
- 861: export SO_GEN_ERROR2
- 862: fi
- 870: if [ "0$SO_GEN_ERROR" -ne 0 ]; then
- 871: echo $SO_GEN_ERROR
- 872: fi
- 880: if [ "0$SO_GEN_ERROR2" -ne 0 ]; then
- 881: echo $SO_GEN_ERROR2
- 882: fi
- }
- }
- switches
- {
- bs_sourceroot SOURCE_ROOT_TMP
- bsclient
- cap
- cax
- compath STAR_COMPATH
- distroot
- envroot
- jdk14
- jdk14path
- jdk15
- jdk15path
- l10n L10N_framework
- ojdk16
- ojdk16path
- pro
- psdk STAR_PSDK
- sourceroot
- tmp SOL_TMP_DIR
- }
-}
-wntmsci13
-{
- environment
- {
- bs_sourceroot
- {
- SOLAR_SOURCE_ROOT $dp(%SOURCE_ROOT_TMP%)
- SOURCE_ROOT $dp(%SOURCE_ROOT_TMP%)
- SOURCE_ROOT_USED TRUE
- }
- cap
- {
- BUILD_TOOLS %SOL_TMP%$/r$/btw$/%BTOOLDIR%
- COMPATH %SOL_TMP%$/r$/msvc9p
- COMPROOT %SOL_TMP%$/r$/msvc9p
- COPYALL TRUE
- COPY_PACKED TRUE
- DEVROOT %SOL_TMP%$/r
- DSDK %SOL_TMP%$/r$/msvc9p$/DirectXSDK
- ENV_TOOLS %SOL_TMP%$/r$/etw$/%WORK_STAMP%
- FSDK %SOL_TMP%$/r$/msvc9p$/Sdk$/v3.5
- F20SDK %SOL_TMP%$/r$/msvc9p$/Sdk$/v2.0
- NSIS_PATH %SOL_TMP%$/r$/NSIS_242_unicode
- PCLEAN_PATH %SOLARROOT%$/etw
- PERL %SOL_TMP%$/r$/%PERLDIR%
- PSDK %SOL_TMP%$/r$/msvc9p$/PlatformSDK$/v6.1
- SHARED_COM_SDK_PATH %SOL_TMP%$/r$/msvc9p$/Common7$/IDE
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
- SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
-# TOUCH %SOL_TMP%$/r$/btw$/%BTOOLDIR%$/touch.exe
-
- }
- cax
- {
- BUILD_TOOLS %SOL_TMP%$/r$/btw$/%BTOOLDIR%
- COMPATH %SOL_TMP%$/r$/msvc9p
- COMPROOT %SOL_TMP%$/r$/msvc9p
- COPYALL FALSE
- DSDK %COMPATH%$/DirectXSDK
- ENV_TOOLS %SOL_TMP%$/r$/etw$/%WORK_STAMP%
- FSDK %COMPATH%$/Sdk$/v3.5
- F20SDK %SOL_TMP%$/r$/msvc9p$/Sdk$/v2.0
- NSIS_PATH %SOL_TMP%$/r$/NSIS_242_unicode
- PCLEAN_PATH %SOL_TMP%$/r$/etw
- PERL %SOL_TMP%$/r$/%PERLDIR%
- PSDK %COMPATH%$/PlatformSDK$/v6.1
- SHARED_COM_SDK_PATH %COMPATH%$/Common7$/IDE
- SOLARENV %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOL_TMP%$/r
- SOLARVER %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
- SOLARVERSION %SOL_TMP%$/o%CWS_WORK_STAMP_EXT%$/%WORK_STAMP%
- SO_PACK %SOL_TMP%$/r$/pack$/%WORK_STAMP%
-# TOUCH %SOL_TMP%$/r$/btw$/%BTOOLDIR%$/touch.exe
- }
- common
- {
- *build %PERL% %SOLARENV%$/bin$/build.pl %PROFULLSWITCH%
- *build_client %PERL% %SOLARENV%$/bin$/build_client.pl
- *copyprj %PERL% %COMMON_ENV_TOOLS%$/copyprj.pl
- *deliver %PERL% %SOLARENV%$/bin$/deliver.pl
- *mkout %PERL% %SOLARENV%$/bin$/mkout.pl
- *mwscommit %PERL% %COMMON_ENV_TOOLS%$/mwscommit.pl
- *o cd %SOLARENV%$/..
- *r cd %SOLARROOT%
- *s cd %SOLARVERSION%
- *zipdep %PERL% %SOLARENV%$/bin$/zipdep.pl
- *z_ooo %PERL% %SOLARENV%$/bin$/z_ooo.pl
- BIG_SVX
- COPYPRJ %PERL% %COMMON_ENV_TOOLS%$/copyprj.pl
- CXX_X64_BINARY %COMPROOT%$/bin$/x86_amd64$/cl.exe
- DELIVER %PERL% %SOLARENV%$/bin$/deliver.pl
- DMAKEROOT %SOLARENV%$/inc$/startup
- ENABLE_PCH TRUE
- ILIB .;%SOLARVERSION%$/%INPATH%$/lib%UPDMINOREXT%;%COMPATH%$/lib;%PSDK%$/lib;%DSDK%$/lib$/x86
- JDK13PATH %SOLAR_JDK13PATH%
- JDK14PATH %SOLAR_JDK14PATH%
- JDK15PATH %SOLAR_JDK15PATH%
- LIB .;%SOLARVERSION%$/%INPATH%$/lib%UPDMINOREXT%;%COMPATH%$/lib;%PSDK%$/lib;%DSDK%$/lib$/x86;%SOLAR_STLLIBPATH%
- LIBMGR_X64_BINARY %COMPROOT%$/bin$/x86_amd64$/lib.exe
- LINK_X64_BINARY %COMPROOT%$/bin$/x86_amd64$/link.exe
- MKOUT %PERL% %SOLARENV%$/bin$/mkout.pl
- MWSCOMMIT %PERL% %COMMON_ENV_TOOLS%$/mwscommit.pl
- OJDK16PATH %SOLAR_OJDK16PATH%
- PATH $cp(%PSDK%$/Bin)$:%PATH%$:$cp(%SHARED_COM_SDK_PATH%)$:$cp(%COMPATH%$/bin)$:$cp(%FSDK%)$:$cp(%F20SDK%)$/bin$:$cp(%DSDK%$/Utilities$/bin$/x86)$:$cp(%PACKMS%)
- PROF_EDITION TRUE
- PSDKINC -I%PSDK%$/include
- SOLAREXTRAINC -I%DSDK%$/include
- SOLAR_JAVA TRUE
- TRUSTED_MANIFEST_LOCATION %SOLARENV%$/inc
- USE_DIRECTX5 TRUE
- WINDOWS_VISTA_PSDK TRUE
- SYSBASE TRUE
- WITH_VC_REDIST TRUE
- XCLASSPATH .
- ZIPDEP %PERL% %SOLARENV%$/bin$/zipdep.pl
- BUILD_X64 TRUE
- GNUCOPY cp
- GNUMAKE make
- SYSTEM_LIBRSVG NO
- SYSTEM_LIBCROCO NO
- SYSTEM_GDKPIXBUF NO
- SYSTEM_GLIB NO
- SYSTEM_GETTEXT NO
- SYSTEM_PANGO NO
- SYSTEM_LIBPNG NO
- SYSTEM_LIBJPEG NO
- SYSTEM_LIBGSF NO
- }
- common0
- {
- BS_ROOT n:
- SOLAR_ENV_ROOT r:
- SOLAR_SOURCE_ROOT o:
- BTOOLDIR %WORK_STAMP%$/cygtools
- PERLDIR btw$/%WORK_STAMP%$/cygtools$/perl
- }
- common02
- {
- PERL perl
- }
- common1
- {
- COMPATH %SOLAR_ENV_ROOT%$/msvc9p
- COMPROOT %SOLAR_ENV_ROOT%$/msvc9p
- DEVROOT %SOLAR_ENV_ROOT%
- DSDK %SOLAR_ENV_ROOT%$/msvc9p$/DirectXSDK
- FSDK %SOLAR_ENV_ROOT%$/msvc9p$/Sdk$/v3.5
- F20SDK %SOLAR_ENV_ROOT%$/msvc9p$/Sdk$/v2.0
- NSIS_PATH %SOLAR_ENV_ROOT%$/NSIS_242_unicode
- PERL %SOLAR_ENV_ROOT%$/%PERLDIR%
- PKGFORMAT msi
- PSDK %SOLAR_ENV_ROOT%$/msvc9p$/PlatformSDK$/v6.1
- SHARED_COM_SDK_PATH %SOLAR_ENV_ROOT%$/msvc9p$/Common7$/ide
- SHARED_SOLARENV %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SHARED_SOLARVERSION %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%
- SOLARENV %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%$/solenv
- SOLARROOT %SOLAR_ENV_ROOT%
- SOLARVER %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%
- SOLARVERSION %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%
- SO_PACK %SOLAR_ENV_ROOT%$/pack$/%WORK_STAMP%
- SRC_ROOT %SOLAR_SOURCE_ROOT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%
-# TEMP $dp(%TEMP%)
-# TMP $dp(%TMP%)
- }
- common2
- {
- ENABLE_GRAPHITE TRUE
- BUILD_TOOLS %SOLARROOT%$/btw$/%BTOOLDIR%
- CALL_CDECL TRUE
- CDPATHx %CDPATH%$:..$:..$/..$:..$/..$/..$:..$/source$:..$/..$/source$:$cp(%SOLAR_SOURCE_ROOT%$/%WORK_STAMP%$/ooo%UPDMINOREXT%)
- COM MSC
- COMEX 12
- COMMON_BUILD_TOOLS $cp(%SOLARROOT%$/btools)
- COMMON_ENV_TOOLS %SOLARROOT%$/etools
- COMP_ENV wntmsci13
- CPU I
- CPUNAME INTEL
- CVER M1500
- DYNAMIC_CRT TRUE
- ENV_TOOLS %SOLARROOT%$/etw$/%WORK_STAMP%
- GUI WNT
- GUIBASE WIN
- GVER NT351
- INPATH wntmsci13%PROEXT%
- MOZILLABUILD %SOLARROOT%/mozilla-build-1.3
- OS WNT
- OUTPATH wntmsci13
- PACKMS %SO_PACK%$/wntmsci13$/MS
- SET_EXEPTIONS TRUE
- SHIPDRIVE %SOLAR_ENV_ROOT%$/ship$/install
- SOLAR_JDK13PATH %SOLARROOT%$/jdk1.3
- SOLAR_JDK14PATH %SOLARROOT%$/j2sdk1.4.2_11
- SOLAR_JDK15PATH %SOLARROOT%$/jdk1.5.0.06
- SOLAR_OJDK16PATH %SOLARROOT%$/openjdk-6-b08-windows-i586
- SOLAR_STLPATH %SOLARVERSION%$/wntmsci13%PROEXT%$/inc%UPDMINOREXT%$/stl
- SORT sort -T %TMP%
-# TOUCH %SOLARROOT%$/btw$/%BTOOLDIR%$/touch.exe
- use_shl_versions TRUE
- }
- common:3 IF %UPDATER% == YES
- {
- SHIPDRIVE %BS_ROOT%$/ship$/install
- }
- compath
- {
- COMPATH $dp(%STAR_COMPATH%)
- }
- distroot:0 if X%DIST_ROOT%X != XX
- {
- SHARED_SOLARVERSION $dp(%DIST_ROOT%$/%WORK_STAMP%)
- SOLARVER $dp(%DIST_ROOT%$/%WORK_STAMP%)
- SOLARVERSION $dp(%DIST_ROOT%$/%WORK_STAMP%)
- }
- envroot:0 IF X%ENV_ROOT%X != XX
- {
- SOLAR_ENV_ROOT $dp(%ENV_ROOT%)
- }
- jdk14
- {
-# HOMEDRIVE %DEVROOT%
-# HOMEPATH $/jdk141
- JAVAHOME %JDK14PATH%
- JAVA_HOME %JDK14PATH%
- JDKINC %JDK14PATH%$/include$/win32;%JDK14PATH%$/include
- JDKINCS -I%JDK14PATH%$/include -I%JDK14PATH%$/include$/win32
- JDKLIB %JDK14PATH%$/lib
- JDKLIBS %JDK14PATH%$/lib
- JDKPATH %JDK14PATH%$/bin
- JDK_VERSION 142
- JREPATH %JDK14PATH%$/jre$/bin$/client
- XCLASSPATH .;%JDK14PATH%$/jre$/lib$/rt.jar
- }
- jdk14path:0 if X%JDK_PATH%X != XX
- {
- SOLAR_JDK14PATH $dp(%JDK_PATH%)
- }
- jdk15
- {
-# HOMEDRIVE %DEVROOT%
-# HOMEPATH $/jdk151
- JAVAHOME %JDK15PATH%
- JAVA_HOME %JDK15PATH%
- JDKINC %JDK15PATH%$/include$/win32;%JDK15PATH%$/include
- JDKINCS -I%JDK15PATH%$/include -I%JDK15PATH%$/include$/win32
- JDKLIB %JDK15PATH%$/lib
- JDKLIBS %JDK15PATH%$/lib
- JDKPATH %JDK15PATH%$/bin
- JDK_VERSION 150
- JREPATH %JDK15PATH%$/jre$/bin$/client
- XCLASSPATH .;%JDK15PATH%$/jre$/lib$/rt.jar
- }
- jdk15path:0 if X%JDK_PATH%X != XX
- {
- SOLAR_JDK15PATH $dp(%JDK_PATH%)
- }
- ojdk16
- {
-# HOMEDRIVE %DEVROOT%
-# HOMEPATH $/openjdk-6-b08-windows-i586
- JAVA_HOME %OJDK16PATH%
- JDKINC %OJDK16PATH%$/include$/win32;%OJDK16PATH%$/include
- JDKINCS -I%OJDK16PATH%$/include -I%OJDK16PATH%$/include$/win32
- JDKLIB %OJDK16PATH%$/lib
- JDKLIBS %OJDK16PATH%$/lib
- JDKPATH %OJDK16PATH%$/bin
- JDK_VERSION 160
- JREPATH %OJDK16PATH%$/jre$/bin$/client
- XCLASSPATH .;%OJDK16PATH%$/jre$/lib$/rt.jar
- }
- ojdk16path:0 if X%JDK_PATH%X != XX
- {
- SOLAR_OJDK16PATH $dp(%JDK_PATH%)
- }
- pro
- {
- RES_ENUS TRUE
- }
- psdk
- {
- PSDK $dp(%STAR_PSDK%)
- }
- sourceroot:0 if X%SOURCE_ROOT%X != XX
- {
- SOLAR_SOURCE_ROOT $dp(%SOURCE_ROOT%)
- SOURCE_ROOT_USED TRUE
- }
- tmp
- {
- SOL_TMP $dp(%SOL_TMP_DIR%)
- }
- }
- extern
- {
- COMSPEC
- DIST_ROOT
- ENV_ROOT
- JDK_PATH
- LOCALINI
- OSTYPE
- $dp(SOL_TMP)
- $dp(SOURCE_ROOT)
- $dp(TMP)
- $dp(TEMP)
- }
- order common0 bs_sourceroot tmp envroot:0 sourceroot:0 pro common1 distroot:0 cap cax common02 psdk compath common2 common:3 jdk14path:0 jdk15path:0 ojdk16path:0 common jdk14 jdk15 ojdk16
- reset
- {
- COPYALL
- CXX_X64_BINARY
- DB2IMP
- GCRINC
- GCRLIB
- GCRPATH
- LIBMGR_X64_BINARY
- LINK_X64_BINARY
- NSIS_PATH
- OLD_CHAOS
- PERLDIR
- SOLAR_ENV_ROOT
- TFDEF
- TFDIR
- WST
- }
- script
- {
- sh
- {
- 400: if [ $COPYALL ]; then
- 410: perl $SOLAR_ENV_ROOT/etools/lucopy.pl all $MAXPROC $LU_HGFLAG $LU_RFLAG $LU_NOSOURCE
- 415: fi
- 600: umask 002
- 800: hash -r
- 820: wrapfetch.sh
- 850: if [ "0$SO_GEN_ERROR" -eq 0 ]; then
- 851: export SO_GEN_ERROR
- 852: fi
- 860: if [ "0$SO_GEN_ERROR2" -eq 0 ]; then
- 861: export SO_GEN_ERROR2
- 862: fi
- 870: if [ "0$SO_GEN_ERROR" -ne 0 ]; then
- 871: echo $SO_GEN_ERROR
- 872: fi
- 880: if [ "0$SO_GEN_ERROR2" -ne 0 ]; then
- 881: echo $SO_GEN_ERROR2
- 882: fi
- }
- }
- switches
- {
- bs_sourceroot SOURCE_ROOT_TMP
- bsclient
- cap
- cax
- compath STAR_COMPATH
- distroot
- envroot
- jdk14
- jdk14path
- jdk15
- jdk15path
- l10n L10N_framework
- ojdk16
- ojdk16path
- pro
- psdk STAR_PSDK
- sourceroot
- tmp SOL_TMP_DIR
- }
-}
-
diff --git a/solenv/config/ssolar.cmn b/solenv/config/ssolar.cmn
deleted file mode 100644
index 3694c225973c..000000000000
--- a/solenv/config/ssolar.cmn
+++ /dev/null
@@ -1,336 +0,0 @@
-common
-{
- switches
- {
- pro
- bsclient
- }
- extern
- {
- PATH
- TMP
- VCSID
- }
- reset
- {
- *o:
- *r:
- *s:
- *mkout
- *deliver
- *dmake
- *copyprj
- __mgrdir
- gb_LOCALBUILDDIR
- product
- rsc_once
- wrapper_override_cc_wrapper
- *zipdep
- ALT_L10N_MODULE
- AWK
- BIG_SVX
- BIG_TOOLS
- BISON_HAIRY
- BISON_PKGDATADIR
- BISON_SIMPLE
- BMP_WRITES_FLAG
- bndchk
- BSCLIENT
- BTARGET
- BUILD_OS_APPLEOSX
- BUILD_OS_MINOR
- BUILD_OS_REV
- BUILD_OS_MAJOR
- BUILD_PIXMAN
- BUILD_TOOLS
- BUILD_TYPE
- BUILD_SPECIAL
- BUILD_STAX
- BUILD_X64
- CLASSPATH
- CALL_CDECL
- CHECK_LUCENCE_INDEXER_OUTPUT
- COMEX
- common_build
- COMMON_OUTDIR
- COPYALL
- COPY_PACKED
- CVS_HEAD
- CVSROOT
- CWS_WORK_STAMP
- CWS_WORK_STAMP_EXT
- DB2IMP
- DB2INC
- DB2LIB
- DB2PATH
- DEFAULT_TO_ENGLISH_FOR_PACKING
- DIRECTX_SUPPORT
- DISABLE_ADO
- DISABLE_ATL
- DISABLE_ENHANCED_COMID
- DISABLE_JAVA
- DISABLE_SAL_DBGBOX
- DELIVER
- DIC_ALL
- DPKG
- DYLD_LIBRARY_PATH
- LD_LIBRARY_PATH
- DMAKE_INC
- DMAKE
- DRIVE_O
- DRIVE_S
- DYNAMIC_CRT
- ENABLE_AGG
- ENABLE_CRASHDUMP
- ENABLE_CUPS
- ENABLE_DIRECTX
- ENABLE_EVOAB2
- ENABLE_FONTCONFIG
- ENABLE_GTK
- ENABLE_GCONF
- ENABLE_GNOMEVFS
- ENABLE_KDE
- ENABLE_MEDIAWIKI
- ENABLE_MINIMIZER
- ENABLE_NSS_MODULE
- ENABLE_PASF
- ENABLE_RANDR
- ENABLE_REPORTBUILDER
- ENABLE_REPORTDESIGN
- ENABLE_SVCTAGS
- FORCE2ARCHIVE
- PA_VER
- ENABLE_NAS
- ENABLE_PCH
- SYSTEM_CURL
- SYSTEM_CPPUNIT
- SYSTEM_FREETYPE
- FREETYPE_CFLAGS
- FREETYPE_LIBS
- SYSTEM_LIBXML
- LIBXML_CFLAGS
- LIBXML_LIBS
- SYSTEM_LIBXSLT
- LIBXSLT_CFLAGS
- LIBXSLT_LIBS
- SYSTEM_ZLIB
- SYSTEM_PYTHON
- SYSTEM_PORTAUDIO
- SYSTEM_SNDFILE
- ENABLEUNICODE
- ENVCDEFS
- HAVE_GCC_VISIBILITY_FEATURE
- GCRINC
- GCRLIB
- GCRPATH
- GLIBC
- GNUCOPY
- GXX_INCLUDE_PATH
- HBTOOLKIT
- HOMEDRIVE
- HOMEPATH
- IENV
- INCLUDE
- JAVA_HOME
- JAVAHOME
- JDK_VERSION
- JDKINC
- JDKINCS
- JDKLIB
- JDKLIBS
- JDKPATH
- JDK_PATH
- L10N-framework
- L10N_framework
- LFS_CFLAGS
- LOCALINI
- MACOSX_DEPLOYMENT_TARGET
- MK_UNROLL
- MKDIR
- MKOUT
- MKSPATH
- MULTITHREAD_OBJ
- MWS_BUILD
- NEW_JAR_PACK
- NO_BSYMBOLIC
- NO_HIDS
- NO_DEFAULT_STL
- NO_REC_RES
- no_transex
- NOSOLAR_JAVA
- NSIS_PATH
- ODBCINC
- ODBCLIB
- ODBCPATH
- ODBCVER
- OLD_CHAOS
- OOO_JUNIT_JAR
- OOO_SHELL
- OOO_SYSBASE_SYS_RELEASE
- PACKMS
- PCLEAN_PATH
- PKGCONFIG_ROOT
- PKG_CONFIG_PATH
- PKGFORMAT
- PRE
- PREBUILD_MOZAB
- PRODUCTENVCACHE
- PRODUCTNAME
- PROEXT
- PROF_EDITION
- PROFILE
- profile
- PROSWITCH
- PTHREAD_CFLAGS
- REMOTE_BUILD_FLAG
- RES_ARAB
- RES_CHINSIM
- RES_CHINTRAD
- RES_DAN
- RES_DTCH
- RES_ENUS
- RES_FREN
- RES_GER
- RES_GREEK
- RES_ITAL
- RES_JAPN
- RES_KOREAN
- RES_POL
- RES_PORT
- RES_RUSS
- RES_SPAN
- RES_SWED
- RES_THAI
- RES_TURK
- RES_HINDI
- RES_PORTBR
- RES_HEBREW
- RES_HUNG
- RPM
- WITH_LANG
- WITH_MOZILLA
- ROOTDIR
- RSCRES
- SCPLINKVERSION
- SET_EXCEPTIONS
- SHARED_SOLARVERSION
- SO_PACK
- SOLAR_JAVA
- SOLAR_PLUGIN
- SOLARINC
- SOLARLIB
- SOLARUPD
- SOLARVERSION
- SOURCE_ROOT_USED
- SOURCE_ROOT_DIR
- STAR_REGISTRY
- STAR_RESOURCEPATH
- STLPORT4
- STLPORT_VER
- SYSPATH
- TARFILE_LOCATION
- TF_CAPELLA
- TF_CFG
- TF_CFGDATA
- TF_CNTEX
- TF_FILTER
- TF_FILEURL
- TF_NEWEX
- TF_SDBAPI
- TF_UCB
- TF_SVDATA
- TFDEF
- TFDIR
- TIMELOG
- truetime
- TRUSTED_MANIFEST_LOCATION
- UDKSTAMP
- URD_ONLY
- USE_DIRECTX5
- USE_MAPFILES
- USE_NEW_SDK
- USE_PCH
- USE_SYSTEM_STL
- use_cygcp
- use_shl_versions
- VCL
- VERBOSE
- VISTA_MANIFEST
- XAU_LIBS
- WINDOWS_VISTA_PSDK
- WITH_LDAP
- WITH_VC_REDIST
- WST
- XCLASSPATH
- XSLTPROC
- ZIPDEP
- ZIPSOURCE
- AGG_VERSION
- ANT_HOME
- ANT_LIB
- ANT
- AWTLIB
- CC
- CXX
- EXCEPTIONS
- GXX_INCLUDE_PATH
- EXTERNAL_WARNINGS_NOT_ERRORS
- GNUMAKE
- HAVE_LD_HASH_STYLE
- JAVACOMPILER
- JAVADOC
- JAVAIFLAGS
- JDK
- NO_HIDS
- PAM_LINK
- PAM
- PSPRINT
- PYTHONHOME
- PYTHONPATH
- SOLAR_PLUGIN
- URE_BOOTSTRAP
- USE_FT_EMBOLDEN
- USE_XINERAMA
- XINERAMA_LINK
- }
- restore
- {
- PATH
- }
- order pro common bsclient
- environment
- {
- pro
- {
- PROEXT .pro
- }
- common
- {
- SO_GEN_ERROR
- SO_GEN_ERROR2
- CVS_HEAD DEV300
- }
- bsclient
- {
- BSCLIENT TRUE
- DISABLE_SAL_DBGBOX TRUE
- }
- }
-}
-
-unxsogs
-{
-}
-
-unxfbsdi
-{
-}
-
-unxsols4
-{
-}
-
-unxmacxp
-{
-}
-
diff --git a/solenv/doc/gbuild/solenv/gbuild/gbuild.mk b/solenv/doc/gbuild/solenv/gbuild/gbuild.mk
index 97ca9b252789..2b65f3fce66e 100644
--- a/solenv/doc/gbuild/solenv/gbuild/gbuild.mk
+++ b/solenv/doc/gbuild/solenv/gbuild/gbuild.mk
@@ -20,7 +20,6 @@ static const Path GBUILDDIR;
static const Path INPATH;
static const Path JAVA_HOME;
static const Path UPD;
-static const String CVER;
static const String LIBXML_CFLAGS;
static const String OS;
static const String STLPORT_VER;
diff --git a/solenv/gbuild/AllLangResTarget.mk b/solenv/gbuild/AllLangResTarget.mk
index ccd574ba7c93..fe4f30649da2 100644
--- a/solenv/gbuild/AllLangResTarget.mk
+++ b/solenv/gbuild/AllLangResTarget.mk
@@ -25,31 +25,50 @@
#
#*************************************************************************
+
+# Overview of dependencies and tasks of SrsTarget
+#
+# target task depends on
+# SrsTarget joining the parts SrsPartTarget
+# SrsTemplateTarget
+# SrsPartTarget preprocessing SrsPartMergeTarget (with l10n)
+# source file (without l10n)
+# SrsTemplateTarget handling templates SrsTemplatePartTarget
+# SrsTemplatePartTarget handling template SrsPartMergeTarget
+# SrsPartMergeTarget merging/transex source file (only needed with l10n)
+
+# Overview of dependencies and tasks of AllLangResTarget
+#
+# target task depends on
+# AllLangResTarget nothing ResTarget for all active langs
+# ResTarget running rsc SrsTarget, resources
+
+
# SrsPartMergeTarget class
gb_SrsPartMergeTarget_TRANSEXTARGET := $(call gb_Executable_get_target,transex3)
# gb_SrsPartMergeTarget_TRANSEXPRECOMMAND is set by the platforms
gb_SrsPartMergeTarget_TRANSEXCOMMAND := $(gb_SrsPartMergeTarget_TRANSEXPRECOMMAND) $(gb_SrsPartMergeTarget_TRANSEXTARGET)
-gb_SrsPartMergeTarget_SDFLOCATION := $(LOCDIR)/l10n/$(INPATH)/misc/sdf/
+gb_SrsPartMergeTarget_SDFLOCATION := $(SRCDIR)/translations/$(INPATH)/misc/sdf/
gb_SrsPartMergeTarget_REPOS := $(gb_REPOS)
define gb_SrsPartMergeTarget__command
$(call gb_Output_announce,$(3),$(true),srs,1)
$(call gb_Helper_abbreviate_dirs_native,\
- mkdir -p $(dir $(1)) && \
- $(gb_SrsPartMergeTarget_TRANSEXCOMMAND) \
- -p $(firstword $(subst /, ,$(2))) \
- -i $(3) \
- -o $(1) \
- -m $(SDF) \
- -l all)
+ mkdir -p $(dir $(1)) && \
+ $(gb_SrsPartMergeTarget_TRANSEXCOMMAND) \
+ -p $(firstword $(subst /, ,$(2))) \
+ -i $(realpath $(3)) \
+ -o $(1) \
+ -m $(SDF) \
+ -l all)
endef
define gb_SrsPartMergeTarget__rules
$$(call gb_SrsPartMergeTarget_get_target,%) : $(1)/% $$(gb_Helper_MISCDUMMY) | $$(gb_SrsPartMergeTarget_TRANSEXTARGET)
- $$(if $$(SDF),$$(call gb_SrsPartMergeTarget__command,$$@,$$*,$$<),mkdir -p $$(dir $$@) && cp $$< $$@)
+ $$(if $$(SDF),$$(call gb_SrsPartMergeTarget__command,$$@,$$*,$$<),mkdir -p $$(dir $$@) && cp $$< $$@)
endef
@@ -65,29 +84,29 @@ gb_SrsPartTarget_REPOS := $(gb_REPOS)
define gb_SrsPartTarget__command
$(call gb_Helper_abbreviate_dirs_native,\
- mkdir -p $(dir $(1)) && \
- RESPONSEFILE=`$(gb_MKTEMP)` && \
- echo "-s \
- $(INCLUDE) \
- -I$(dir $(3)) \
- $(DEFS) \
- -fp=$(1) \
- $(if $(MERGEDFILE),$(MERGEDFILE),$<)" > $${RESPONSEFILE} && \
- $(gb_SrsPartTarget_RSCCOMMAND) -presponse @$${RESPONSEFILE} && \
- rm -rf $${RESPONSEFILE})
+ mkdir -p $(dir $(1)) && \
+ RESPONSEFILE=`$(gb_MKTEMP)` && \
+ echo "-s \
+ $(INCLUDE) \
+ -I$(realpath $(dir $(3))) \
+ $(DEFS) \
+ -fp=$(1) \
+ $(realpath $(if $(MERGEDFILE),$(MERGEDFILE),$<))" > $${RESPONSEFILE} && \
+ $(gb_SrsPartTarget_RSCCOMMAND) -presponse @$${RESPONSEFILE} && \
+ rm -rf $${RESPONSEFILE})
endef
define gb_SrsPartTarget__rules
$$(call gb_SrsPartTarget_get_target,%) : $(1)/% $$(gb_Helper_MISCDUMMY) | $$(gb_SrsPartTarget_RSCTARGET)
- $$(call gb_SrsPartTarget__command_dep,$$*,$$<)
- $$(call gb_SrsPartTarget__command,$$@,$$*,$$<)
+ $$(call gb_SrsPartTarget__command_dep,$$*,$$<)
+ $$(call gb_SrsPartTarget__command,$$@,$$*,$$<)
ifeq ($(gb_FULLDEPS),$(true))
$$(call gb_SrsPartTarget_get_dep_target,%) : $(1)/% $$(gb_Helper_MISCDUMMY)
- $$(call gb_Helper_abbreviate_dirs,\
- mkdir -p $$(dir $$@) && \
- echo '$$(call gb_SrsPartTarget_get_target,$$*) : $$(gb_Helper_PHONY)' > $$@)
+ $$(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $$(dir $$@) && \
+ echo '$$(call gb_SrsPartTarget_get_target,$$*) : $$(gb_Helper_PHONY)' > $$@)
endif
endef
@@ -96,7 +115,7 @@ $(foreach repo,$(gb_SrsPartTarget_REPOS),$(eval $(call gb_SrsPartTarget__rules,$
ifeq ($(gb_FULLDEPS),$(true))
$(call gb_SrsPartTarget_get_dep_target,%) :
- $(eval $(call gb_Output_error,Unable to find resource definition file $* in repositories: $(gb_SrsPartTarget_REPOS)))
+ $(eval $(call gb_Output_error,Unable to find resource definition file $* in repositories: $(gb_SrsPartTarget_REPOS)))
endif
@@ -111,6 +130,72 @@ endif
endef
+# SrsTemplatePartTarget class
+
+define gb_SrsTemplatePartTarget_SrsTemplatePartTarget
+$(call gb_SrsTemplatePartTarget_get_target,$(1)) : $(call gb_SrsPartMergeTarget_get_target,$(1))
+ $$(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $$(dir $$@) && \
+ cp $$< $$@)
+ifneq ($(strip $(WITH_LANG)),)
+$(call gb_SrsPartMergeTarget_get_target,$(1)) : SDF := $(realpath $(gb_SrsPartMergeTarget_SDFLOCATION)$(dir $(1))localize.sdf)
+$(call gb_SrsPartMergeTarget_get_target,$(1)) : $$(SDF)
+endif
+endef
+
+# SrsTemplateTarget class
+
+define gb_SrsTemplateTarget__command
+ $(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $(1)) && \
+ touch $(1))
+endef
+
+gb_SrsTemplateTarget__get_merged_target = $(call gb_SrsTemplateTarget_get_target,$(1))_merged_last
+gb_SrsTemplateTarget__get_unmerged_target = $(call gb_SrsTemplateTarget_get_target,$(1))_unmerged_last
+
+ifeq ($(strip $(WITH_LANG)),)
+gb_SrsTemplateTarget__get_target = $(call gb_SrsTemplateTarget__get_unmerged_target,$(1))
+gb_SrsTemplateTarget__get_update_target = $(call gb_SrsTemplateTarget__get_merged_target,$(1))
+else
+gb_SrsTemplateTarget__get_target = $(call gb_SrsTemplateTarget__get_merged_target,$(1))
+gb_SrsTemplateTarget__get_update_target = $(call gb_SrsTemplateTarget__get_unmerged_target,$(1))
+endif
+
+define gb_SrsTemplateTarget_SrsTemplateTarget
+$(call gb_SrsTemplateTarget_get_target,$(1)) : PARTS :=
+$(call gb_SrsTemplateTarget_get_clean_target,$(1)) : PARTS :=
+$(call gb_SrsTemplateTarget_get_target,$(1)) : $(call gb_SrsTemplateTarget__get_target,$(1))
+$(call gb_SrsTemplateTarget__get_target,$(1)) : $(call gb_SrsTemplateTarget__get_update_target,$(1))
+endef
+
+.PHONY : $(call gb_SrsTemplateTarget_get_target,%_last)
+$(call gb_SrsTemplateTarget_get_target,%_last) :
+ $(call gb_SrsTemplateTarget__command,$@)
+
+.PHONY : $(call gb_SrsTemplateTarget_get_target,%)
+$(call gb_SrsTemplateTarget_get_target,%) :
+ $(if $(strip $(PARTS)),$(call gb_Output_announce,$*,$(true),SRT,4))
+ $(call gb_SrsTemplateTarget__command,$@)
+
+.PHONY : $(call gb_SrsTemplateTarget_get_clean_target,%)
+$(call gb_SrsTemplateTarget_get_clean_target,%) :
+ $(if $(strip $(PARTS)),$(call gb_Output_announce,$*,$(false),SRT,4))
+ -$(call gb_Helper_abbreviate_dirs,\
+ rm -f $(call gb_SrsTemplateTarget_get_target,$*) \
+ $(call gb_SrsTemplateTarget__get_merged_target,$*) \
+ $(call gb_SrsTemplateTarget__get_unmerged_target,$*) \
+ $(foreach part,$(PARTS),$(call gb_SrsTemplatePartTarget_get_target,$(part))) \
+ $(foreach part,$(PARTS),$(call gb_SrsPartMergeTarget_get_target,$(part))))
+
+define gb_SrsTemplateTarget_add_file
+$(call gb_SrsTemplatePartTarget_SrsTemplatePartTarget,$(2))
+$(call gb_SrsTemplateTarget_get_target,$(1)) : PARTS += $(2)
+$(call gb_SrsTemplateTarget_get_clean_target,$(1)) : PARTS += $(2)
+$(call gb_SrsTemplateTarget__get_target,$(1)) : $(call gb_SrsTemplatePartTarget_get_target,$(2))
+$(call gb_SrsTemplatePartTarget_get_target,$(2)) : $(call gb_SrsTemplateTarget__get_update_target,$(1))
+$(call gb_SrsPartMergeTarget_get_target,$(2)) : $(call gb_SrsTemplateTarget__get_update_target,$(1))
+endef
# SrsTarget class
@@ -118,40 +203,43 @@ gb_SrsTarget_DEFAULTDEFS := $(gb_GLOBALDEFS)
.PHONY : $(call gb_SrsTarget_get_clean_target,%)
$(call gb_SrsTarget_get_clean_target,%) :
- $(call gb_Output_announce,$*,$(false),SRS,1)
- -$(call gb_Helper_abbreviate_dirs,\
- rm -f $(call gb_SrsTarget_get_target,$*) \
- $(call gb_SrsTarget_get_dep_target,$*) \
- $(foreach part,$(PARTS),$(call gb_SrsPartTarget_get_target,$(part))) \
- $(foreach part,$(PARTS),$(call gb_SrsPartTarget_get_dep_target,$(part))) \
- $(foreach part,$(PARTS),$(call gb_SrsPartMergeTarget_get_target,$(part))))
+ $(call gb_Output_announce,$*,$(false),SRS,1)
+ -$(call gb_Helper_abbreviate_dirs,\
+ rm -f $(call gb_SrsTarget_get_target,$*) \
+ $(call gb_SrsTarget_get_dep_target,$*) \
+ $(foreach part,$(PARTS),$(call gb_SrsPartTarget_get_target,$(part))) \
+ $(foreach part,$(PARTS),$(call gb_SrsPartTarget_get_dep_target,$(part))) \
+ $(foreach part,$(PARTS),$(call gb_SrsPartMergeTarget_get_target,$(part))))
ifeq ($(gb_FULLDEPS),$(true))
define gb_SrsTarget__command_dep
$(call gb_Output_announce,SRS:$(2),$(true),DEP,1)
$(call gb_Helper_abbreviate_dirs,\
- mkdir -p $(dir $(1)) && \
- cat $(3) > $(1))
+ mkdir -p $(dir $(1)) && \
+ cat $(3) > $(1))
endef
endif
$(call gb_SrsTarget_get_target,%) :
- $(call gb_SrsTarget__command_dep,$(call gb_SrsTarget_get_dep_target,$*),$*,$(foreach part,$(PARTS),$(call gb_SrsPartTarget_get_dep_target,$(part))))
- $(call gb_Output_announce,$*,$(true),SRS,1)
- $(call gb_Helper_abbreviate_dirs,\
- mkdir -p $(dir $@) && \
- cat $^ > $@)
+ $(call gb_SrsTarget__command_dep,$(call gb_SrsTarget_get_dep_target,$*),$*,$(foreach part,$(PARTS),$(call gb_SrsPartTarget_get_dep_target,$(part))))
+ $(call gb_Output_announce,$*,$(true),SRS,1)
+ $(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $@) && \
+ cat $^ > $@)
ifeq ($(gb_FULLDEPS),$(true))
$(call gb_SrsTarget_get_dep_target,%) :
- $(call gb_SrsTarget__command_dep,$@,$*,$^)
+ $(call gb_SrsTarget__command_dep,$@,$*,$^)
endif
define gb_SrsTarget_SrsTarget
+$(call gb_SrsTemplateTarget_SrsTemplateTarget,$(1))
$(call gb_SrsTarget_get_target,$(1)) : DEFS := $(gb_SrsTarget_DEFAULTDEFS)
$(call gb_SrsTarget_get_target,$(1)) : INCLUDE := $(SOLARINC)
$(call gb_SrsTarget_get_clean_target,$(1)) : PARTS :=
$(call gb_SrsTarget_get_target,$(1)) : PARTS :=
+$(call gb_SrsTarget_get_target,$(1)) : $(call gb_SrsTemplateTarget_get_target,$(1))
+$(call gb_SrsTarget_get_clean_target,$(1)) : $(call gb_SrsTemplateTarget_get_clean_target,$(1))
ifeq ($(gb_FULLDEPS),$(true))
ifneq ($(wildcard $(call gb_SrsTarget_get_dep_target,$(1))),)
include $(call gb_SrsTarget_get_dep_target,$(1))
@@ -184,6 +272,7 @@ $(call gb_SrsTarget_get_dep_target,$(1)) : $(call gb_SrsPartTarget_get_dep_targe
endif
$(call gb_SrsPartTarget_SrsPartTarget,$(2))
$(call gb_SrsTarget_get_target,$(1)) : $(call gb_SrsPartTarget_get_target,$(2))
+$(call gb_SrsPartTarget_get_target,$(2)) :| $(call gb_SrsTemplateTarget_get_target,$(1))
$(call gb_SrsTarget_get_clean_target,$(1)) : PARTS += $(2)
$(call gb_SrsTarget_get_target,$(1)) : PARTS += $(2)
@@ -194,46 +283,55 @@ $(foreach file,$(2),$(call gb_SrsTarget_add_file,$(1),$(file)))
endef
+define gb_SrsTarget_add_template
+$(call gb_SrsTemplateTarget_add_file,$(1),$(2))
+endef
+
+define gb_SrsTarget_add_templates
+$(foreach template,$(2),$(eval $(call gb_SrsTarget_add_template,$(1),$(template))))
+endef
+
# ResTarget
gb_ResTarget_RSCTARGET := $(gb_SrsPartTarget_RSCTARGET)
gb_ResTarget_RSCCOMMAND := $(gb_SrsPartTarget_RSCCOMMAND)
-gb_ResTarget_DEFIMAGESLOCATION := $(SRCDIR)/default_images/
+gb_ResTarget_DEFIMAGESLOCATION := $(realpath $(SRCDIR)/default_images)/
$(call gb_ResTarget_get_clean_target,%) :
- $(call gb_Output_announce,$*,$(false),RES,2)
- $(call gb_Helper_abbreviate_dirs,\
- rm -f $(call gb_ResTarget_get_target,$*) $(call gb_ResTarget_get_imagelist_target,$*) $(call gb_ResTarget_get_outdir_target,$*) $(call gb_ResTarget_get_outdir_imagelist_target,$*))
+ $(call gb_Output_announce,$*,$(false),RES,2)
+ $(call gb_Helper_abbreviate_dirs,\
+ rm -f $(call gb_ResTarget_get_target,$*) $(call gb_ResTarget_get_imagelist_target,$*) $(call gb_ResTarget_get_outdir_target,$*) $(call gb_ResTarget_get_outdir_imagelist_target,$*))
$(call gb_ResTarget_get_target,%) : $(gb_Helper_MISCDUMMY) | $(gb_ResTarget_RSCTARGET)
- $(call gb_Output_announce,$*,$(true),RES,2)
- $(call gb_Helper_abbreviate_dirs_native,\
- mkdir -p $(dir $@) $(OUTDIR)/bin \
- $(dir $(call gb_ResTarget_get_imagelist_target,$*)) && \
- RESPONSEFILE=`$(gb_MKTEMP)` && \
- echo "-r -p \
- -lg$(LANGUAGE) \
- -fs=$@ \
- -lip=$(realpath $(gb_ResTarget_DEFIMAGESLOCATION)$(RESLOCATION)/$(LIBRARY)) \
- -lip=$(realpath $(gb_ResTarget_DEFIMAGESLOCATION)$(RESLOCATION)/imglst/$(LANGUAGE)) \
- -lip=$(realpath $(gb_ResTarget_DEFIMAGESLOCATION)$(RESLOCATION)/imglst) \
- -lip=$(realpath $(gb_ResTarget_DEFIMAGESLOCATION)$(RESLOCATION)/res/$(LANGUAGE)) \
- -lip=$(realpath $(gb_ResTarget_DEFIMAGESLOCATION)$(RESLOCATION)/res) \
- -lip=$(realpath $(gb_ResTarget_DEFIMAGESLOCATION)$(RESLOCATION)) \
- -lip=$(gb_ResTarget_DEFIMAGESLOCATION)res/$(LANGUAGE) \
- -lip=$(gb_ResTarget_DEFIMAGESLOCATION)res \
- -subMODULE=$(dir $(realpath $(gb_ResTarget_DEFIMAGESLOCATION)$(RESLOCATION))) \
- -subGLOBALRES=$(gb_ResTarget_DEFIMAGESLOCATION)res \
- -oil=$(dir $(call gb_ResTarget_get_imagelist_target,$*)) \
- $(filter-out $(gb_Helper_MISCDUMMY),$^)" > $${RESPONSEFILE} && \
- $(gb_ResTarget_RSCCOMMAND) @$${RESPONSEFILE} && \
- rm -f $${RESPONSEFILE})
+ $(call gb_Output_announce,$*,$(true),RES,2)
+ $(call gb_Helper_abbreviate_dirs_native,\
+ mkdir -p $(dir $@) $(OUTDIR)/bin \
+ $(dir $(call gb_ResTarget_get_imagelist_target,$*)) && \
+ RESPONSEFILE=`$(gb_MKTEMP)` && \
+ echo "-r -p \
+ -lg$(LANGUAGE) \
+ -fs=$@ \
+ -lip=$(realpath $(gb_ResTarget_DEFIMAGESLOCATION)$(RESLOCATION)/$(LIBRARY)) \
+ -lip=$(realpath $(gb_ResTarget_DEFIMAGESLOCATION)$(RESLOCATION)/imglst/$(LANGUAGE)) \
+ -lip=$(realpath $(gb_ResTarget_DEFIMAGESLOCATION)$(RESLOCATION)/imglst) \
+ -lip=$(realpath $(gb_ResTarget_DEFIMAGESLOCATION)$(RESLOCATION)/res/$(LANGUAGE)) \
+ -lip=$(realpath $(gb_ResTarget_DEFIMAGESLOCATION)$(RESLOCATION)/res/imagelst) \
+ -lip=$(realpath $(gb_ResTarget_DEFIMAGESLOCATION)$(RESLOCATION)/res) \
+ -lip=$(realpath $(gb_ResTarget_DEFIMAGESLOCATION)$(RESLOCATION)) \
+ -lip=$(gb_ResTarget_DEFIMAGESLOCATION)res/$(LANGUAGE) \
+ -lip=$(gb_ResTarget_DEFIMAGESLOCATION)res \
+ -subMODULE=$(dir $(realpath $(gb_ResTarget_DEFIMAGESLOCATION)$(RESLOCATION))) \
+ -subGLOBALRES=$(gb_ResTarget_DEFIMAGESLOCATION)res \
+ -oil=$(dir $(call gb_ResTarget_get_imagelist_target,$*)) \
+ $(filter-out $(gb_Helper_MISCDUMMY),$^)" > $${RESPONSEFILE} && \
+ $(gb_ResTarget_RSCCOMMAND) @$${RESPONSEFILE} && \
+ rm -f $${RESPONSEFILE})
$(call gb_ResTarget_get_outdir_target,%) :
- $(call gb_Helper_abbreviate_dirs,\
- $(call gb_Deliver_deliver,$<,$@) && \
- $(call gb_Deliver_deliver,$(dir $<)/$(notdir $(ILSTTARGET)),$(ILSTTARGET)))
+ $(call gb_Helper_abbreviate_dirs,\
+ $(call gb_Deliver_deliver,$<,$@) && \
+ $(call gb_Deliver_deliver,$(dir $<)/$(notdir $(ILSTTARGET)),$(ILSTTARGET)))
define gb_ResTarget_ResTarget
$(call gb_ResTarget_get_target,$(1)) : LIBRARY = $(2)
@@ -263,13 +361,13 @@ endef
define gb_ResTarget_add_files
$(foreach file,$(2),\
- $(call gb_ResTarget_add_file,$(1),$(file)))
+ $(call gb_ResTarget_add_file,$(1),$(file)))
endef
define gb_ResTarget_add_srs
$(foreach srs,$(2),\
- $(call gb_ResTarget_add_one_srs,$(1),$(srs)))
+ $(call gb_ResTarget_add_one_srs,$(1),$(srs)))
endef
@@ -288,36 +386,36 @@ gb_AllLangResTarget_LANGS := $(1)
endef
$(call gb_AllLangResTarget_get_clean_target,%) :
- $(call gb_Helper_abbreviate_dirs,\
- rm -f $(call gb_AllLangResTarget_get_target,$*))
+ $(call gb_Helper_abbreviate_dirs,\
+ rm -f $(call gb_AllLangResTarget_get_target,$*))
$(call gb_AllLangResTarget_get_target,%) :
- $(call gb_Helper_abbreviate_dirs,\
- mkdir -p $(dir $@) && touch $@)
+ $(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $@) && touch $@)
define gb_AllLangResTarget_AllLangResTarget
$(foreach lang,$(gb_AllLangResTarget_LANGS),\
- $(call gb_ResTarget_ResTarget,$(1)$(lang),$(1),$(lang)))
+ $(call gb_ResTarget_ResTarget,$(1)$(lang),$(1),$(lang)))
$$(eval $$(call gb_Module_register_target,$(call gb_AllLangResTarget_get_target,$(1)),$(call gb_AllLangResTarget_get_clean_target,$(1))))
endef
define gb_AllLangResTarget_add_one_srs
$(foreach lang,$(gb_AllLangResTarget_LANGS),\
- $(call gb_ResTarget_add_one_srs,$(1)$(lang),$(2)))
+ $(call gb_ResTarget_add_one_srs,$(1)$(lang),$(2)))
endef
define gb_AllLangResTarget_add_srs
$(foreach srs,$(2),\
- $(call gb_AllLangResTarget_add_one_srs,$(1),$(srs)))
+ $(call gb_AllLangResTarget_add_one_srs,$(1),$(srs)))
endef
define gb_AllLangResTarget_set_reslocation
$(foreach lang,$(gb_AllLangResTarget_LANGS),\
- $(call gb_ResTarget_set_reslocation,$(1)$(lang),$(2)))
+ $(call gb_ResTarget_set_reslocation,$(1)$(lang),$(2)))
endef
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/BuildDirs.mk b/solenv/gbuild/BuildDirs.mk
index e31712016f7f..daa40c1d304e 100644
--- a/solenv/gbuild/BuildDirs.mk
+++ b/solenv/gbuild/BuildDirs.mk
@@ -29,6 +29,7 @@
SOLARINC += $(JDKINCS)
OUTDIR := $(SOLARVERSION)/$(INPATH)
+OUTDIR_FOR_BUILD := $(SOLARVERSION)/$(INPATH_FOR_BUILD)
WORKDIR := $(SOLARVERSION)/$(INPATH)/workdir
# Override for SetupLocal
@@ -42,9 +43,10 @@ endif
# HACK
# unixify windoze paths
-ifeq ($(OS),WNT)
+ifeq ($(OS_FOR_BUILD),WNT)
override WORKDIR := $(shell cygpath -u $(WORKDIR))
override OUTDIR := $(shell cygpath -u $(OUTDIR))
+override OUTDIR_FOR_BUILD := $(shell cygpath -u $(OUTDIR_FOR_BUILD))
override gb_REPOS := $(shell cygpath -u $(gb_REPOS))
endif
@@ -56,4 +58,4 @@ $(eval $(call gb_Output_error,The initial makefile $(realpath $(firstword $(MAKE
endif
endif
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/ComponentTarget.mk b/solenv/gbuild/ComponentTarget.mk
index b0f50718364e..ef24e18201b6 100644
--- a/solenv/gbuild/ComponentTarget.mk
+++ b/solenv/gbuild/ComponentTarget.mk
@@ -33,10 +33,10 @@ gb_ComponentTarget_get_source = $(1)/$(2).component
define gb_ComponentTarget__command
$(call gb_Output_announce,$(3),$(true),CMP,1)
$(call gb_Helper_abbreviate_dirs_native,\
- mkdir -p $(dir $(1)) && \
- $(gb_XSLTPROC) --nonet --stringparam uri \
- '$(subst \d,$$,$(COMPONENTPREFIX))$(LIBFILENAME)' -o $(1) \
- $(gb_ComponentTarget_XSLTCOMMANDFILE) $(2))
+ mkdir -p $(dir $(1)) && \
+ $(gb_XSLTPROC) --nonet --stringparam uri \
+ '$(subst \d,$$,$(COMPONENTPREFIX))$(LIBFILENAME)' -o $(1) \
+ $(gb_ComponentTarget_XSLTCOMMANDFILE) $(realpath $(2)))
endef
# creates 2 componentfiles: the first is for the installation set,
@@ -61,22 +61,20 @@ $(call gb_ComponentTarget_get_clean_target,%) :
$(foreach repo,$(gb_ComponentTarget_REPOS),$(eval $(call gb_ComponentTarget__rules,$(repo))))
$(call gb_ComponentTarget_get_target,%) :
- $(eval $(call gb_Outpt_error,Unable to find component file $(call gb_ComponentTarget_get_source,,$*) in the repositories: $(gb_ComponentTarget_REPOS) or xlstproc is missing.))
+ $(eval $(call gb_Outpt_error,Unable to find component file $(call gb_ComponentTarget_get_source,,$*) in the repositories: $(gb_ComponentTarget_REPOS) or xsltproc is missing.))
$(call gb_ComponentTarget_get_external_target,%) :
- $(call gb_Deliver_deliver,$<,$@)
+ $(call gb_Deliver_deliver,$<,$@)
define gb_ComponentTarget_ComponentTarget
-$(call gb_ComponentTarget_get_target,$(1)) : LIBFILENAME := $(3)
+$(call gb_ComponentTarget_get_target,$(4)) : LIBFILENAME := $(3)
$(call gb_ComponentTarget_get_inbuild_target,$(1)) : LIBFILENAME := $(3)
-$(call gb_ComponentTarget_get_target,$(1)) : COMPONENTPREFIX := $(2)
+$(call gb_ComponentTarget_get_outdir_target,$(1)) : $(call gb_ComponentTarget_get_target,$(4))
$(call gb_ComponentTarget_get_inbuild_target,$(1)) : \
COMPONENTPREFIX := $(call gb_Library__get_layer_componentprefix,NONE)
-$(call gb_ComponentTarget_get_outdir_target,$(1)) : $(call gb_ComponentTarget_get_target,$(1))
$(call gb_ComponentTarget_get_outdir_inbuild_target,$(1)) : $(call gb_ComponentTarget_get_inbuild_target,$(1))
-$(call gb_Deliver_add_deliverable,$(call gb_ComponentTarget_get_outdir_target,$(1)),$(call gb_ComponentTarget_get_target,$(1)))
$(call gb_Deliver_add_deliverable,$(call gb_ComponentTarget_get_outdir_inbuild_target,$(1)),$(call gb_ComponentTarget_get_inbuild_target,$(1)))
endef
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/CppunitTest.mk b/solenv/gbuild/CppunitTest.mk
index abe4ceb3167f..f9dea5440c6d 100644
--- a/solenv/gbuild/CppunitTest.mk
+++ b/solenv/gbuild/CppunitTest.mk
@@ -32,24 +32,58 @@
DBGSV_ERROR_OUT := shell
export DBGSV_ERROR_OUT
+ifeq ($(strip $(DEBUGCPPUNIT)),TRUE)
+gb_CppunitTest_GDBTRACE := gdb -nx --command=$(SOLARENV)/bin/gdbtrycatchtrace-stdout -return-child-result --args
+else ifneq ($(strip $(GDBCPPUNITTRACE)),)
+gb_CppunitTest_GDBTRACE := $(GDBCPPUNITTRACE)
+gb_CppunitTest__interactive := $(true)
+endif
+
+ifneq ($(strip $(VALGRIND)),)
+gb_CppunitTest_VALGRINDTOOL := valgrind --tool=$(VALGRIND) --num-callers=50
+ifeq ($(strip $(VALGRIND)),memcheck)
+gb_CppunitTest_VALGRINDTOOL += --leak-check=yes
+G_SLICE := always-malloc
+export G_SLICE
+endif
+endif
+
# defined by platform
# gb_CppunitTest_TARGETTYPE
# gb_CppunitTest_get_filename
-gb_CppunitTest_CPPTESTTARGET := $(call gb_Executable_get_target,cppunittester)
-gb_CppunitTest_CPPTESTCOMMAND := $(gb_CppunitTest_CPPTESTPRECOMMAND) $(gb_CppunitTest_CPPTESTTARGET)
+gb_CppunitTest_CPPTESTTARGET := $(call gb_Executable_get_target,cppunit/cppunittester)
+gb_CppunitTest_CPPTESTCOMMAND := $(gb_CppunitTest_CPPTESTPRECOMMAND) STAR_RESOURCEPATH=$(dir $(call gb_ResTarget_get_outdir_target,example)) $(gb_CppunitTest_GDBTRACE) $(gb_CppunitTest_VALGRINDTOOL) $(gb_CppunitTest_CPPTESTTARGET)
gb_CppunitTest__get_linktargetname = CppunitTest/$(call gb_CppunitTest_get_filename,$(1))
+# TODO: move this to platform under suitable name
+gb_CppunitTarget__make_url = file://$(if $(filter WNT,$(OS)),/)$(1)
+
+gb_CppunitTest__get_uno_type_target = $(OUTDIR)/bin/$(1).rdb
+define gb_CppunitTest__make_args
+$(ARGS) \
+$(if $(strip $(UNO_TYPES)),\
+ "-env:UNO_TYPES=$(foreach rdb,udkapi $(UNO_TYPES),\
+ $(call gb_CppunitTarget__make_url,$(call gb_CppunitTest__get_uno_type_target,$(rdb))))") \
+$(if $(strip $(UNO_SERVICES)),\
+ "-env:UNO_SERVICES=$(call gb_CppunitTarget__make_url,$(OUTDIR)/xml/ure/services.rdb) \
+ $(foreach rdb,$(UNO_SERVICES),\
+ $(call gb_CppunitTarget__make_url,$(call gb_RdbTarget_get_target,$(rdb))))") \
+$(if $(URE),\
+ $(foreach dir,URE_INTERNAL_LIB_DIR OOO_BASE_DIR BRAND_BASE_DIR,\
+ -env:$(dir)=file://$(if $(filter WNT,$(OS)),/$(OUTDIR)/bin,$(OUTDIR)/lib)))
+endef
+
.PHONY : $(call gb_CppunitTest_get_clean_target,%)
$(call gb_CppunitTest_get_clean_target,%) :
- $(call gb_Helper_abbreviate_dirs,\
- rm -f $(call gb_CppunitTest_get_target,$*) $(call gb_CppunitTest_get_target,$*).log)
+ $(call gb_Helper_abbreviate_dirs,\
+ rm -f $(call gb_CppunitTest_get_target,$*) $(call gb_CppunitTest_get_target,$*).log)
.PHONY : $(call gb_CppunitTest_get_target,%)
-$(call gb_CppunitTest_get_target,%) : $(gb_CppunitTest_CPPTESTTARGET)
- $(call gb_Output_announce,$*,$(true),CUT,2)
- $(call gb_Helper_abbreviate_dirs_native,\
- mkdir -p $(dir $@) && \
- $(gb_CppunitTest_CPPTESTCOMMAND) $(call gb_LinkTarget_get_target,CppunitTest/$(call gb_CppunitTest_get_libfilename,$*)) > $@.log 2>&1 || (cat $@.log && false))
+$(call gb_CppunitTest_get_target,%) :| $(gb_CppunitTest_CPPTESTTARGET)
+ $(call gb_Output_announce,$*,$(true),CUT,2)
+ $(call gb_Helper_abbreviate_dirs_native,\
+ mkdir -p $(dir $@) && \
+ $(gb_CppunitTest_CPPTESTCOMMAND) $(call gb_LinkTarget_get_target,CppunitTest/$(call gb_CppunitTest_get_libfilename,$*)) $(call gb_CppunitTest__make_args,$(ARGS),$(UNO_SERVICES),$(UNO_TYPES)) $(if $(gb_CppunitTest__interactive),,> $@.log 2>&1 || (cat $@.log && false)))
define gb_CppunitTest_CppunitTest
$(call gb_CppunitTest__CppunitTest_impl,$(1),$(call gb_CppunitTest__get_linktargetname,$(1)))
@@ -63,49 +97,95 @@ $(call gb_LinkTarget_add_defs,$(2),\
$(gb_CppunitTest_DEFS) \
)
$(call gb_LinkTarget_add_linked_libs,$(2),cppunit)
+$(call gb_LinkTarget_add_includes,$(2),$(filter -I%,$(CPPUNIT_CFLAGS)))
+$(call gb_LinkTarget_set_defs,$(2), \
+ $$(DEFS) \
+ $(filter-out -I%,$(CPPUNIT_CFLAGS)) \
+)
$(call gb_CppunitTest_get_target,$(1)) : $(call gb_LinkTarget_get_target,$(2))
$(call gb_CppunitTest_get_clean_target,$(1)) : $(call gb_LinkTarget_get_clean_target,$(2))
$(call gb_CppunitTest_CppunitTest_platform,$(1),$(2),$(gb_CppunitTest_DLLDIR)/$(call gb_CppunitTest_get_libfilename,$(1)))
+$(call gb_CppunitTest_get_target,$(1)) : ARGS :=
+$(call gb_CppunitTest_get_target,$(1)) : URE := $(false)
+$(call gb_CppunitTest_get_target,$(1)) : UNO_SERVICES :=
+$(call gb_CppunitTest_get_target,$(1)) : UNO_TYPES :=
$$(eval $$(call gb_Module_register_target,$(call gb_CppunitTest_get_target,$(1)),$(call gb_CppunitTest_get_clean_target,$(1))))
endef
+define gb_CppunitTest_set_args
+$(call gb_CppunitTest_get_target,$(1)) : ARGS := $(2)
+
+endef
+
+# TODO: Once we build the services.rdb with gbuild we should use its *_get_target method
+define gb_CppunitTest_uses_ure
+$(call gb_CppunitTest_get_target,$(1)) : $(call gb_CppunitTest__get_uno_type_target,udkapi)
+$(call gb_CppunitTest_get_target,$(1)) : $(OUTDIR)/xml/ure/services.rdb
+$(call gb_CppunitTest_get_target,$(1)) : URE := $(true)
+
+endef
+
+define gb_CppunitTest_add_type_rdb
+$(call gb_CppunitTest_get_target,$(1)) : $(call gb_CppunitTest__get_uno_type_target,$(2))
+$(call gb_CppunitTest_get_target,$(1)) : UNO_TYPES += $(2)
+endef
+
+define gb_CppunitTest_add_type_rdbs
+$(foreach rdb,$(2),$(eval $(call gb_CppunitTest_add_type_rdb,$(1),$(rdb))))
+endef
+
+define gb_CppunitTest_add_service_rdb
+$(call gb_CppunitTest_get_target,$(1)) : $(call gb_RdbTarget_get_target,$(2))
+$(call gb_CppunitTest_get_clean_target,$(1)) : $(call gb_RdbTarget_get_clean_target,$(2))
+$(call gb_CppunitTest_get_target,$(1)) : UNO_SERVICES += $(2)
+endef
+
+define gb_CppunitTest_add_service_rdbs
+$(foreach rdb,$(2),$(eval $(call gb_CppunitTest_add_service_rdb,$(1),$(rdb))))
+endef
+
define gb_CppunitTest__forward_to_Linktarget
gb_CppunitTest_$(1) = $$(call gb_LinkTarget_$(1),$$(call gb_CppunitTest__get_linktargetname,$$(1)),$$(2),$$(3))
endef
$(eval $(foreach method,\
- add_cobject \
- add_cobjects \
- add_cxxobject \
- add_cxxobjects \
- add_objcxxobject \
- add_objcxxobjects \
- add_exception_objects \
- add_noexception_objects \
+ add_cobject \
+ add_cobjects \
+ add_cxxobject \
+ add_cxxobjects \
+ add_exception_objects \
+ add_executable_objects \
+ add_library_objects \
+ add_linked_libs \
+ add_linked_static_libs \
+ add_noexception_objects \
+ add_objcobject \
+ add_objcobjects \
+ add_objcxxobject \
+ add_objcxxobjects \
+ add_package_headers \
+ add_precompiled_header \
+ add_sdi_headers \
add_cflags \
- set_cflags \
+ set_cflags \
add_cxxflags \
set_yaccflags \
add_objcxxflags \
- set_objcxxflags \
add_defs \
- set_defs \
- set_include \
+ set_defs \
+ set_include \
add_ldflags \
- set_ldflags \
+ set_ldflags \
add_libs \
- set_library_path_flags \
- add_linked_libs \
- add_linked_static_libs \
+ set_library_path_flags \
+ set_objcflags \
+ set_objcxxflags \
use_external \
use_externals \
- add_package_headers \
- add_sdi_headers \
- add_precompiled_header \
,\
- $(call gb_CppunitTest__forward_to_Linktarget,$(method))\
+ $(call gb_CppunitTest__forward_to_Linktarget,$(method))\
))
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/CustomTarget.mk b/solenv/gbuild/CustomTarget.mk
index 6f65308f7dc9..0cb6b971a710 100644
--- a/solenv/gbuild/CustomTarget.mk
+++ b/solenv/gbuild/CustomTarget.mk
@@ -30,9 +30,9 @@ gb_CustomTarget_REPOSITORYNAMES := $(gb_Helper_REPOSITORYNAMES)
# N.B.: putting the "+" there at the start activates the GNU make job server
define gb_CustomTarget__command
+$(call gb_Helper_abbreviate_dirs,\
- mkdir -p $(call gb_CustomTarget_get_workdir,$(2)) && \
- $(MAKE) -C $(call gb_CustomTarget_get_workdir,$(2)) -f $< && \
- touch $(1))
+ mkdir -p $(call gb_CustomTarget_get_workdir,$(2)) && \
+ $(MAKE) -C $(call gb_CustomTarget_get_workdir,$(2)) -f $< && \
+ touch $(1))
endef
@@ -42,9 +42,9 @@ $(call gb_CustomTarget_get_target,%) :
.PHONY: $(call gb_CustomTarget_get_clean_target,%)
$(call gb_CustomTarget_get_clean_target,%) :
- $(call gb_Output_announce,$*,$(false),MAK,3)
- $(call gb_Helper_abbreviate_dirs,\
- rm -rf $(call gb_CustomTarget_get_workdir,$*) && \
+ $(call gb_Output_announce,$*,$(false),MAK,3)
+ $(call gb_Helper_abbreviate_dirs,\
+ rm -rf $(call gb_CustomTarget_get_workdir,$*) && \
rm -f $(call gb_CustomTarget_get_target,$*))
define gb_CustomTarget__get_makefile
@@ -81,4 +81,4 @@ $(foreach dependency,$(2),$(call gb_CustomTarget_add_outdir_dependency,$(1),$(de
endef
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/Deliver.mk b/solenv/gbuild/Deliver.mk
index 2af490e3a517..42707c0f8484 100644
--- a/solenv/gbuild/Deliver.mk
+++ b/solenv/gbuild/Deliver.mk
@@ -39,17 +39,17 @@ endef
define gb_Deliver_add_deliverable
gb_Deliver_DELIVERABLES += $$(patsubst $(REPODIR)/%,%,$(2)):$$(patsubst $(REPODIR)/%,%,$(1))
-$(if $(gb_HIRESTIME),,.LOW_RESOLUTION_TIME : $(1))
+$(if $(gb_LOWRESTIME),.LOW_RESOLUTION_TIME : $(1),)
endef
ifeq ($(strip $(gb_Deliver_GNUCOPY)),)
define gb_Deliver__deliver
-mkdir -p $(dir $(2)) && $(if $(gb_Deliver_CLEARONDELIVER),rm -f $(2) &&) cp -f $(1) $(2) && touch -r $(1) $(2)
+mkdir -p $(dir $(2)) && $(if $(gb_Deliver_CLEARONDELIVER),rm -f $(2) &&) $(if $(gb_Deliver_HARDLINK),ln,cp -f) $(1) $(2) && touch -r $(1) $(2)
endef
else
define gb_Deliver__deliver
-mkdir -p $(dir $(2)) && $(gb_Deliver_GNUCOPY) $(if $(gb_Deliver_CLEARONDELIVER),--remove-destination) --force --preserve=timestamps $(1) $(2)
+mkdir -p $(dir $(2)) && $(gb_Deliver_GNUCOPY) $(if $(gb_Deliver_CLEARONDELIVER),--remove-destination) $(if $(gb_Deliver_HARDLINK),--link) --force --preserve=timestamps $(1) $(2)
endef
endif
@@ -72,7 +72,7 @@ deliverlog : COMMAND := \
mkdir -p $$(OUTDIR)/inc/$$(strip $$(gb_Module_ALLMODULES)) \
&& RESPONSEFILE=$$(call var2file,$(shell $(gb_MKTEMP)),100,$$(sort $$(gb_Deliver_DELIVERABLES))) \
&& $(gb_AWK) -f $$(GBUILDDIR)/processdelivered.awk < $$$${RESPONSEFILE} \
- > $$(OUTDIR)/inc/$$(strip $(gb_Module_ALLMODULES))/gb_deliver.log \
+ > $$(OUTDIR)/inc/$$(strip $(gb_Module_ALLMODULES))/gb_deliver.log \
&& rm -f $$$${RESPONSEFILE}
else
$$(eval $$(call gb_Output_announce,more than one module - creating no deliver.log,$$(true),LOG,1))
@@ -84,8 +84,8 @@ endef
# deliver.log format is broken in that case anyway
.PHONY : deliverlog showdeliverables
deliverlog:
- $(eval $(call gb_Deliver_setdeliverlogcommand))
- $(call gb_Helper_abbreviate_dirs, $(COMMAND))
+ $(eval $(call gb_Deliver_setdeliverlogcommand))
+ $(call gb_Helper_abbreviate_dirs, $(COMMAND))
# all : deliverlog
@@ -94,8 +94,8 @@ $(info $(1) $(patsubst $(OUTDIR)/%,%,$(2)))
endef
showdeliverables :
- $(eval MAKEFLAGS := s)
- $(foreach deliverable,$(sort $(gb_Deliver_DELIVERABLES)),\
- $(call gb_Deliver_print_deliverable,$(REPODIR)/$(firstword $(subst :, ,$(deliverable))),$(REPODIR)/$(lastword $(subst :, ,$(deliverable)))))
- true
-# vim: set noet sw=4 ts=4:
+ $(eval MAKEFLAGS := s)
+ $(foreach deliverable,$(sort $(gb_Deliver_DELIVERABLES)),\
+ $(call gb_Deliver_print_deliverable,$(REPODIR)/$(firstword $(subst :, ,$(deliverable))),$(REPODIR)/$(lastword $(subst :, ,$(deliverable)))))
+ true
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/Executable.mk b/solenv/gbuild/Executable.mk
index 511fdf659945..283d39d5499c 100644
--- a/solenv/gbuild/Executable.mk
+++ b/solenv/gbuild/Executable.mk
@@ -32,14 +32,14 @@
.PHONY : $(call gb_Executable_get_clean_target,%)
$(call gb_Executable_get_clean_target,%) :
- $(call gb_Helper_abbreviate_dirs,\
- rm -f $(call gb_Executable_get_target,$*) \
- $(AUXTARGETS))
+ $(call gb_Helper_abbreviate_dirs,\
+ rm -f $(call gb_Executable_get_target,$*) \
+ $(AUXTARGETS))
$(call gb_Executable_get_target,%) :
- $(call gb_Helper_abbreviate_dirs,\
- $(call gb_Deliver_deliver,$<,$@) \
- $(foreach target,$(AUXTARGETS), && $(call gb_Deliver_deliver,$(dir $<)/$(notdir $(target)),$(target))))
+ $(call gb_Helper_abbreviate_dirs,\
+ $(call gb_Deliver_deliver,$<,$@) \
+ $(foreach target,$(AUXTARGETS), && $(call gb_Deliver_deliver,$(dir $<)/$(notdir $(target)),$(target))))
define gb_Executable_Executable
$(call gb_Executable__Executable_impl,$(1),Executable/$(1)$(gb_Executable_EXT))
@@ -64,42 +64,46 @@ endef
define gb_Executable_forward_to_Linktarget
-gb_Executable_$(1) = $$(call gb_LinkTarget_$(1),Executable/$$(1)$$(gb_Executable_EXT),$$(2),$$(3))
+gb_Executable_$(1) = $$(call gb_LinkTarget_$(1),$$(call gb_Executable_get_linktargetname,$$(1)),$$(2),$$(3))
endef
$(eval $(foreach method,\
- add_cobject \
- add_cobjects \
- add_cxxobject \
- add_cxxobjects \
- add_objcxxobject \
- add_objcxxobjects \
- add_exception_objects \
- add_noexception_objects \
- add_generated_exception_objects \
+ add_cobject \
+ add_cobjects \
+ add_cxxobject \
+ add_cxxobjects \
+ add_objcobject \
+ add_objcobjects \
+ add_objcxxobject \
+ add_objcxxobjects \
+ add_exception_objects \
+ add_noexception_objects \
+ add_generated_cxxobjects \
+ add_generated_exception_objects \
add_cflags \
- set_cflags \
+ set_cflags \
add_cxxflags \
- set_cxxflags \
+ set_cxxflags \
add_objcxxflags \
- set_objcxxflags \
+ set_objcflags \
+ set_objcxxflags \
add_defs \
- set_defs \
- set_include \
+ set_defs \
+ set_include \
add_ldflags \
- set_ldflags \
+ set_ldflags \
add_libs \
- set_library_path_flags \
- add_linked_libs \
- add_linked_static_libs \
+ set_library_path_flags \
+ add_linked_libs \
+ add_linked_static_libs \
use_external \
use_externals \
- add_package_headers \
- add_sdi_headers \
- add_precompiled_header \
+ add_package_headers \
+ add_sdi_headers \
+ add_precompiled_header \
,\
- $(call gb_Executable_forward_to_Linktarget,$(method))\
+ $(call gb_Executable_forward_to_Linktarget,$(method))\
))
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/Helper.mk b/solenv/gbuild/Helper.mk
index e8b6226f54ce..990eb37243ff 100644
--- a/solenv/gbuild/Helper.mk
+++ b/solenv/gbuild/Helper.mk
@@ -1,3 +1,4 @@
+# -*- Mode: GNUmakefile; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
#*************************************************************************
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -29,14 +30,6 @@ gb_Helper_NULLFILE := /dev/null
gb_Helper_MISC := $(WORKDIR)/Misc
-ifeq ($(JAVACOMPILER),)
-JAVACOMPILER := javac
-endif
-
-ifeq ($(JAVAINTERPRETER),)
-JAVAINTERPRETER := java
-endif
-
# general propose phony target
gb_Helper_PHONY := $(gb_Helper_MISC)/PHONY
@@ -47,7 +40,7 @@ gb_Helper_REPOSITORYNAMES :=
.PHONY : $(WORKDIR)/Misc/PHONY
$(gb_Helper_MISCDUMMY) :
- @mkdir -p $(dir $@) && touch $@
+ @mkdir -p $(dir $@) && touch $@
define gb_Helper_abbreviate_dirs
R=$(REPODIR) && \
@@ -73,19 +66,19 @@ endef
define gb_Helper_make_clean_targets
$(foreach targettype,$(1),\
- $(call gb_Helper_make_clean_target,$(targettype)))
+ $(call gb_Helper_make_clean_target,$(targettype)))
endef
define gb_Helper_make_outdir_clean_targets
$(foreach targettype,$(1),\
- $(call gb_Helper_make_outdir_clean_target,$(targettype)))
+ $(call gb_Helper_make_outdir_clean_target,$(targettype)))
endef
define gb_Helper_make_dep_targets
$(foreach targettype,$(1),\
- $(call gb_Helper_make_dep_target,$(targettype)))
+ $(call gb_Helper_make_dep_target,$(targettype)))
endef
@@ -118,7 +111,7 @@ endef
define gb_Helper_init_registries
gb_Executable_VALIDGROUPS := UREBIN SDK OOO BRAND NONE
-gb_Library_VALIDGROUPS := OOOLIBS PLAINLIBS_NONE PLAINLIBS_URE PLAINLIBS_OOO RTLIBS RTVERLIBS STLLIBS UNOLIBS_URE UNOLIBS_OOO UNOVERLIBS
+gb_Library_VALIDGROUPS := OOOLIBS PLAINLIBS_NONE PLAINLIBS_URE PLAINLIBS_OOO RTLIBS RTVERLIBS UNOLIBS_URE UNOLIBS_OOO UNOVERLIBS
gb_StaticLibrary_VALIDGROUPS := PLAINLIBS
$$(foreach group,$$(gb_Executable_VALIDGROUPS),$$(eval gb_Executable_$$(group) :=))
@@ -184,4 +177,11 @@ gb_StaticLibrary_$(1) += $(2)
endef
+define gb_Helper_execute
+$(call gb_Helper_set_ld_path) $(OUTDIR_FOR_BUILD)/bin/$(1)
+endef
+
+export gb_Helper_set_ld_path
+export gb_Helper_execute
+
# vim: set noet sw=4 ts=4:
diff --git a/solenv/gbuild/JavaClassSet.mk b/solenv/gbuild/JavaClassSet.mk
index ba9e445026fb..00aefb4ee9c6 100644
--- a/solenv/gbuild/JavaClassSet.mk
+++ b/solenv/gbuild/JavaClassSet.mk
@@ -30,11 +30,11 @@ gb_JavaClassSet_JAVACCOMMAND := $(JAVACOMPILER)
define gb_JavaClassSet__command
$(call gb_Helper_abbreviate_dirs_native,\
- mkdir -p $(dir $(1)) && \
- $(gb_JavaClassSet_JAVACCOMMAND) -cp "$(CLASSPATH)" -d $(call gb_JavaClassSet_get_classdir,$(2)) $(if $(filter-out $(JARDEPS),$(3)),\
+ mkdir -p $(dir $(1)) && \
+ $(if $(3),$(gb_JavaClassSet_JAVACCOMMAND) -cp "$(CLASSPATH)" -d $(call gb_JavaClassSet_get_classdir,$(2)) $(if $(filter-out $(JARDEPS),$(3)),\
$(filter-out $(JARDEPS),$(3)),\
- $(filter-out $(JARDEPS),$(4))) &&\
- touch $(1))
+ $(filter-out $(JARDEPS),$(4))) &&) \
+ touch $(1))
endef
@@ -44,8 +44,8 @@ $(call gb_JavaClassSet_get_clean_target,%) :
$(call gb_JavaClassSet_get_clean_target,%) :
$(call gb_Output_announce,$*,$(false),JCS,3)
- $(call gb_Helper_abbreviate_dirs,\
- rm -rf $(dir $(call gb_JavaClassSet_get_target,$*)))
+ $(call gb_Helper_abbreviate_dirs,\
+ rm -rf $(dir $(call gb_JavaClassSet_get_target,$*)))
# no initialization of scoped variable CLASSPATH as it is "inherited" from controlling instance (e.g. JUnitTest, Jar)
# UGLY: cannot use target local variable for REPO because it's needed in prereq
@@ -110,4 +110,4 @@ define gb_JavaClassSet_use_externals
$(foreach external,$(2),$(call gb_JavaClassSet_use_external,$(1),$(external)))
endef
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/JunitTest.mk b/solenv/gbuild/JunitTest.mk
index 5c84726958f2..eb6124be3d14 100644
--- a/solenv/gbuild/JunitTest.mk
+++ b/solenv/gbuild/JunitTest.mk
@@ -29,6 +29,7 @@
# JunitTest class
gb_JunitTest_JAVACOMMAND := $(JAVAINTERPRETER) $(JAVAIFLAGS)
+gb_JunitTest_HEADLESS := $(true)
# in non-product builds, ensure that tools-based assertions do not pop up as message box, but are routed to the shell
DBGSV_ERROR_OUT := shell
@@ -36,18 +37,26 @@ export DBGSV_ERROR_OUT
.PHONY : $(call gb_JunitTest_get_clean_target,%)
$(call gb_JunitTest_get_clean_target,%) : $(call gb_JavaClassSet_get_clean_target,$(call gb_JunitTest_get_classsetname,%))
- $(call gb_Helper_abbreviate_dirs,\
- rm -f $@ $@.log)
+ $(call gb_Helper_abbreviate_dirs,\
+ rm -f $@ $@.log)
-.PHONY : $(call gb_JunitTest_get_target,$(1))
+ifneq (,$(strip $(OOO_JUNIT_JAR)))
+
+.PHONY : $(call gb_JunitTest_get_target,%)
$(call gb_JunitTest_get_target,%) :
- $(call gb_Output_announce,$*,$(true),JUT,2)
- $(call gb_Helper_abbreviate_dirs_native,\
- rm -rf $(call gb_JunitTest_get_userdir,$*) && \
- mkdir -p $(call gb_JunitTest_get_userdir,$*) && \
- $(gb_JunitTest_JAVACOMMAND) -cp "$(CLASSPATH)" $(DEFS) org.junit.runner.JUnitCore $(CLASSES) 2>&1 > $@.log || (cat $@.log && false) && \
- rm -rf $(call gb_JunitTest_get_userdir,$*))
- $(CLEAN_CMD)
+ $(call gb_Output_announce,$*,$(true),JUT,2)
+ $(call gb_Helper_abbreviate_dirs_native,\
+ mkdir -p $(call gb_JunitTest_get_userdir,$*) && \
+ $(gb_JunitTest_JAVACOMMAND) \
+ -cp "$(CLASSPATH)" \
+ $(if $(strip $(gb_JunitTest_HEADLESS)),\
+ -Dorg.openoffice.test.arg.headless=$(gb_JunitTest_HEADLESS)) \
+ $(if $(strip $(gb_JunitTest_DEBUGCOMMAND)),\
+ '-Dorg.openoffice.test.arg.debugcommand=$(gb_JunitTest_DEBUGCOMMAND)') \
+ $(DEFS) \
+ org.junit.runner.JUnitCore \
+ $(CLASSES) 2>&1 > $@.log || (cat $@.log && false))
+ $(CLEAN_CMD)
define gb_JunitTest_JunitTest
$(call gb_JunitTest_get_target,$(1)) : CLASSPATH := $(value XCLASSPATH)$(gb_CLASSPATHSEP)$(call gb_JavaClassSet_get_classdir,$(call gb_JunitTest_get_classsetname,$(1)))$(gb_CLASSPATHSEP)$(OOO_JUNIT_JAR)$(gb_CLASSPATHSEP)$(OUTDIR)/lib
@@ -100,4 +109,26 @@ define gb_JunitTest_add_jars
$(foreach jar,$(2),$(call gb_JunitTest_add_jar,$(1),$(jar)))
endef
-# vim: set noet sw=4 ts=4:
+
+else # OOO_JUNIT_JAR
+
+.PHONY : $(call gb_JunitTest_get_target,$(1))
+$(call gb_JunitTest_get_target,%) :
+ $(call gb_Output_announce,$* (skipped - no Junit),$(true),JUT,2)
+ @true
+
+define gb_JunitTest_JunitTest
+$(eval $(call gb_Module_register_target,$(call gb_JunitTest_get_target,$(1)),$(call gb_JunitTest_get_clean_target,$(1))))
+endef
+
+gb_JunitTest_set_defs :=
+gb_JunitTest_add_classes :=
+gb_JunitTest_add_class :=
+gb_JunitTest_add_sourcefile :=
+gb_JunitTest_add_sourcefiles :=
+gb_JunitTest_set_classpath :=
+gb_JunitTest_add_jar :=
+gb_JunitTest_add_jars :=
+
+endif # OOO_JUNIT_JAR
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/Library.mk b/solenv/gbuild/Library.mk
index a5e5eb08fa90..9e6d54352fab 100644
--- a/solenv/gbuild/Library.mk
+++ b/solenv/gbuild/Library.mk
@@ -39,20 +39,19 @@
# gb_Library_Library_platform
# gb_Library_TARGETS
-gb_Library__get_linktargetname = Library/$(call gb_Library_get_filename,$(1))
# EVIL: gb_StaticLibrary and gb_Library need the same deliver rule because they are indistinguishable on windows
.PHONY : $(WORKDIR)/Clean/OutDir/lib/%$(gb_Library_PLAINEXT)
$(WORKDIR)/Clean/OutDir/lib/%$(gb_Library_PLAINEXT) :
- $(call gb_Helper_abbreviate_dirs,\
- rm -f $(OUTDIR)/lib/$*$(gb_Library_PLAINEXT) \
- $(AUXTARGETS))
+ $(call gb_Helper_abbreviate_dirs,\
+ rm -f $(OUTDIR)/lib/$*$(gb_Library_PLAINEXT) \
+ $(AUXTARGETS))
# EVIL: gb_StaticLibrary and gb_Library need the same deliver rule because they are indistinguishable on windows
$(gb_Library_OUTDIRLOCATION)/%$(gb_Library_PLAINEXT) :
- $(call gb_Helper_abbreviate_dirs,\
- $(call gb_Deliver_deliver,$<,$@) \
- $(foreach target,$(AUXTARGETS), && $(call gb_Deliver_deliver,$(dir $<)/$(notdir $(target)),$(target))))
+ $(call gb_Helper_abbreviate_dirs,\
+ $(call gb_Deliver_deliver,$<,$@) \
+ $(foreach target,$(AUXTARGETS), && $(call gb_Deliver_deliver,$(dir $<)/$(notdir $(target)),$(target))))
define gb_Library_Library
ifeq (,$$(findstring $(1),$$(gb_Library_KNOWNLIBS)))
@@ -60,7 +59,7 @@ $$(eval $$(call gb_Output_info,Currently known libraries are: $(sort $(gb_Librar
$$(eval $$(call gb_Output_error,Library $(1) must be registered in Repository.mk))
endif
$(call gb_Library_get_target,$(1)) : AUXTARGETS :=
-$(call gb_Library__Library_impl,$(1),$(call gb_Library__get_linktargetname,$(1)))
+$(call gb_Library__Library_impl,$(1),$(call gb_Library_get_linktargetname,$(1)))
$(call gb_Library_add_default_nativeres,$(1),default)
endef
@@ -69,7 +68,7 @@ define gb_Library__Library_impl
$(call gb_LinkTarget_LinkTarget,$(2))
$(call gb_LinkTarget_set_targettype,$(2),Library)
$(call gb_LinkTarget_add_defs,$(2),\
- $(gb_Library_DEFS) \
+ $(gb_Library_DEFS) \
)
$(call gb_Library_get_target,$(1)) : $(call gb_LinkTarget_get_target,$(2))
$(call gb_Library_get_clean_target,$(1)) : $(call gb_LinkTarget_get_clean_target,$(2))
@@ -80,24 +79,24 @@ $(call gb_Deliver_add_deliverable,$(call gb_Library_get_target,$(1)),$(call gb_L
endef
define gb_Library_set_componentfile
-$(call gb_ComponentTarget_ComponentTarget,$(2),$(call gb_Library__get_componentprefix,$(1)),$(call gb_Library_get_runtime_filename,$(1)))
+$(call gb_ComponentTarget_ComponentTarget,$(or $(strip $(3)),$(strip $(2))),$(call gb_Library__get_componentprefix,$(1)),$(call gb_Library_get_runtime_filename,$(1)),$(2))
$(call gb_Library_get_target,$(1)) : $(call gb_ComponentTarget_get_outdir_target,$(2)) $(call gb_ComponentTarget_get_outdir_inbuild_target,$(2))
-$(call gb_Library_get_clean_target,$(1)) : $(call gb_ComponentTarget_get_clean_target,$(2))
+$(call gb_Library_get_clean_target,$(1)) : $(call gb_ComponentTarget_get_clean_target,$(or $(strip $(3)),$(strip $(2))))
endef
gb_Library__get_componentprefix = \
- $(call gb_Library__get_layer_componentprefix,$(call \
- gb_Library_get_layer,$(1)))
+ $(call gb_Library__get_layer_componentprefix,$(call \
+ gb_Library_get_layer,$(1)))
gb_Library__get_layer_componentprefix = \
- $(patsubst $(1):%,%,$(or \
- $(filter $(1):%,$(gb_Library_COMPONENTPREFIXES)), \
- $(call gb_Output_error,no ComponentTarget native prefix for layer '$(1)')))
+ $(patsubst $(1):%,%,$(or \
+ $(filter $(1):%,$(gb_Library_COMPONENTPREFIXES)), \
+ $(call gb_Output_error,no ComponentTarget native prefix for layer '$(1)')))
define gb_Library__forward_to_Linktarget
-gb_Library_$(1) = $$(call gb_LinkTarget_$(1),$$(call gb_Library__get_linktargetname,$$(1)),$$(2),$$(3))
+gb_Library_$(1) = $$(call gb_LinkTarget_$(1),$$(call gb_Library_get_linktargetname,$$(1)),$$(2),$$(3))
endef
@@ -105,37 +104,42 @@ gb_Library_get_runtime_filename = \
$(or $(call gb_Library_get_dllname,$(1)),$(call gb_Library_get_filename,$(1)))
$(eval $(foreach method,\
- add_cobject \
- add_cobjects \
- add_cxxobject \
- add_cxxobjects \
- add_objcxxobject \
- add_objcxxobjects \
- add_exception_objects \
- add_noexception_objects \
- add_generated_exception_objects \
+ add_cobject \
+ add_cobjects \
+ add_cxxobject \
+ add_cxxobjects \
+ add_objcobject \
+ add_objcobjects \
+ add_objcxxobject \
+ add_objcxxobjects \
+ add_exception_objects \
+ add_noexception_objects \
+ add_generated_cxxobjects \
+ add_generated_exception_objects \
add_cflags \
- set_cflags \
+ set_cflags \
add_cxxflags \
- set_cxxflags \
+ set_cxxflags \
add_objcxxflags \
- set_objcxxflags \
+ set_objcflags \
+ set_objcxxflags \
add_defs \
- set_defs \
- set_include \
+ set_defs \
+ set_include \
add_ldflags \
- set_ldflags \
+ set_ldflags \
add_libs \
- set_library_path_flags \
- add_linked_libs \
- add_linked_static_libs \
+ set_library_path_flags \
+ add_linked_libs \
+ add_linked_static_libs \
use_external \
use_externals \
- add_package_headers \
- add_sdi_headers \
- add_precompiled_header \
+ add_package_headers \
+ add_sdi_headers \
+ add_precompiled_header \
+ export_objects_list \
,\
- $(call gb_Library__forward_to_Linktarget,$(method))\
+ $(call gb_Library__forward_to_Linktarget,$(method))\
))
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
index 7af90355e656..20f99db06752 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -43,6 +43,35 @@ CXXFLAGS ?= $(gb_COMPILEROPTFLAGS)
OBJCXXFLAGS ?= $(gb_COMPILEROPTFLAGS)
endif
+# Overview of dependencies and tasks of LinkTarget
+#
+# target task depends on
+# LinkTarget linking CObject CxxObject GenCxxObject ObjCObject ObjCxxObject
+# LinkTarget/headers
+# LinkTarget/dep joined dep file CObject/dep CxxObject/dep GenCxxObject/dep ObjCObject/dep ObjCxxObject/dep
+# | LinkTarget/headers
+# LinkTarget/headers all headers available LinkTarget/external_headers PCH
+# including own generated own generated headers
+# PCH precompiled headers (win) LinkTarget/external_headers
+# LinkTarget/external_headers all external headers avail. header files of linked libs
+#
+# CObject plain c compile | LinkTarget/headers
+# CxxObject c++ compile | LinkTarget/headers
+# GenCxxObject C++ compile from | LinkTarget/headers
+# generated source
+# ObjCObject objective c compile | LinkTarget/headers
+# ObjCxxObject objective c++ compile | LinkTarget/headers
+#
+# CObject/dep dependencies these targets generate empty dep files
+# CxxObject/dep dependencies that are populated upon compile
+# GenCxxObject/dep dependencies
+# ObjCObject/dep dependencies
+# ObjCxxObject/dep dependencies
+
+# LinkTarget/headers means gb_LinkTarget_get_headers_target etc.
+# dependencies prefixed with | are build-order only dependencies
+
+
# For every object there is a dep file (if gb_FULLDEPS is active).
# The dep file depends on the object: the Object__command also updates the
@@ -86,7 +115,7 @@ endef
$(foreach repo,$(gb_CObject_REPOS),$(eval $(call gb_CObject__rules,$(repo))))
$(call gb_CObject_get_dep_target,%) :
- $(eval $(call gb_Output_error,Unable to find plain C file $(call gb_CObject_get_source,,$*) in the repositories: $(gb_CObject_REPOS)))
+ $(eval $(call gb_Output_error,Unable to find plain C file $(call gb_CObject_get_source,,$*) in the repositories: $(gb_CObject_REPOS)))
gb_CObject_CObject =
@@ -129,7 +158,7 @@ endef
define gb_CxxObject__rules
$$(call gb_CxxObject_get_target,%) : $$(call gb_CxxObject_get_source,$(1),%)
- $$(eval $$(gb_CxxObject__set_pchflags))
+ $$(eval $$(gb_CxxObject__set_pchflags))
$$(call gb_CxxObject__command,$$@,$$*,$$<,$$(call gb_CxxObject_get_dep_target,$$*))
ifeq ($(gb_FULLDEPS),$(true))
@@ -145,7 +174,7 @@ $(foreach repo,$(gb_CxxObject_REPOS),$(eval $(call gb_CxxObject__rules,$(repo)))
ifeq ($(gb_FULLDEPS),$(true))
$(call gb_CxxObject_get_dep_target,%) :
- $(eval $(call gb_Output_error,Unable to find C++ file $(call gb_CxxObject_get_source,,$*) in repositories: $(gb_CxxObject_REPOS)))
+ $(eval $(call gb_Output_error,Unable to find C++ file $(call gb_CxxObject_get_source,,$*) in repositories: $(gb_CxxObject_REPOS)))
endif
@@ -194,16 +223,59 @@ $(foreach repo,$(gb_ObjCxxObject_REPOS),$(eval $(call gb_ObjCxxObject__rules,$(r
ifeq ($(gb_FULLDEPS),$(true))
$(call gb_ObjCxxObject_get_dep_target,%) :
- $(eval $(call gb_Output_error,Unable to find Objective C++ file $(call gb_ObjCxxObject_get_source,,$*) in repositories: $(gb_ObjCxxObject_REPOS)))
+ $(eval $(call gb_Output_error,Unable to find Objective C++ file $(call gb_ObjCxxObject_get_source,,$*) in repositories: $(gb_ObjCxxObject_REPOS)))
endif
gb_ObjCxxObject_ObjCxxObject =
+# ObjCObject class
+#
+gb_ObjCObject_REPOS := $(gb_REPOS)
+
+gb_ObjCObject_get_source = $(1)/$(2).m
+# defined by platform
+# gb_ObjCObject__command
+
+# this rule generates an "always rebuild" dep file, to have something to include.
+# the dep file will be overridden on the fly, when the object is compiled
+ifeq ($(gb_FULLDEPS),$(true))
+define gb_ObjCObject__command_dep
+mkdir -p $(dir $(1)) && \
+ echo '$(call gb_ObjCObject_get_target,$(2)) : $$(gb_Helper_PHONY)' > $(1)
+
+endef
+else
+gb_ObjCObject__command_dep =
+endif
+
+define gb_ObjCObject__rules
+$$(call gb_ObjCObject_get_target,%) : $$(call gb_ObjCObject_get_source,$(1),%)
+ $$(call gb_ObjCObject__command,$$@,$$*,$$<,$$(DEFS),$$(OBJCFLAGS),$$(INCLUDE_STL) $$(INCLUDE))
+
+ifeq ($(gb_FULLDEPS),$(true))
+$$(call gb_ObjCObject_get_dep_target,%) : $$(call gb_ObjCObject_get_source,$(1),%)
+ $$(call gb_ObjCObject__command_dep,$$@,$$*,$$<,$$(DEFS),$$(OBJCFLAGS),$$(INCLUDE_STL) $$(INCLUDE))
+endif
+
+endef
+
+$(foreach repo,$(gb_ObjCObject_REPOS),$(eval $(call gb_ObjCObject__rules,$(repo))))
+
+ifeq ($(gb_FULLDEPS),$(true))
+$(call gb_ObjCObject_get_dep_target,%) :
+ $(eval $(call gb_Output_error,Unable to find Objective C++ file $(call gb_ObjCObject_get_source,,$*) in repositories: $(gb_ObjCObject_REPOS)))
+endif
+
+gb_ObjCObject_ObjCObject =
+
# LinkTarget class
gb_LinkTarget_DEFAULTDEFS := $(gb_GLOBALDEFS)
+gb_LinkTarget_OBJECTOWNER :=
+gb_LinkTarget_OBJECTS :=
+
# defined by platform
# gb_LinkTarget_CXXFLAGS
# gb_LinkTarget_LDFLAGS
@@ -212,49 +284,66 @@ gb_LinkTarget_DEFAULTDEFS := $(gb_GLOBALDEFS)
.PHONY : $(call gb_LinkTarget_get_clean_target,%)
$(call gb_LinkTarget_get_clean_target,%) :
- $(call gb_Output_announce,$*,$(false),LNK,4)
- RESPONSEFILE=$(call var2file,$(shell $(gb_MKTEMP)),200,\
- $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
- $(foreach object,$(COBJECTS),$(call gb_CObject_get_dep_target,$(object))) \
- $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
- $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_dep_target,$(object))) \
- $(foreach object,$(OBJCXXOBJECTS),$(call gb_ObjCxxObject_get_target,$(object))) \
- $(foreach object,$(OBJCXXOBJECTS),$(call gb_ObjCxxObject_get_dep_target,$(object))) \
- $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
- $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_dep_target,$(object))) \
- $(call gb_LinkTarget_get_target,$*) \
- $(call gb_LinkTarget_get_dep_target,$*) \
- $(call gb_LinkTarget_get_headers_target,$*) \
- $(call gb_LinkTarget_get_external_headers_target,$*) \
- $(DLLTARGET) \
- $(AUXTARGETS)) && \
- cat $${RESPONSEFILE} /dev/null | xargs -n 200 rm -f && \
- rm -f $${RESPONSEFILE}
+ $(call gb_Output_announce,$*,$(false),LNK,4)
+ RESPONSEFILE=$(call var2file,$(shell $(gb_MKTEMP)),200,\
+ $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
+ $(foreach object,$(COBJECTS),$(call gb_CObject_get_dep_target,$(object))) \
+ $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
+ $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_dep_target,$(object))) \
+ $(foreach object,$(OBJCOBJECTS),$(call gb_ObjCObject_get_target,$(object))) \
+ $(foreach object,$(OBJCOBJECTS),$(call gb_ObjCObject_get_dep_target,$(object))) \
+ $(foreach object,$(OBJCXXOBJECTS),$(call gb_ObjCxxObject_get_target,$(object))) \
+ $(foreach object,$(OBJCXXOBJECTS),$(call gb_ObjCxxObject_get_dep_target,$(object))) \
+ $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
+ $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_dep_target,$(object))) \
+ $(call gb_LinkTarget_get_target,$*) \
+ $(call gb_LinkTarget_get_dep_target,$*) \
+ $(call gb_LinkTarget_get_headers_target,$*) \
+ $(call gb_LinkTarget_get_external_headers_target,$*) \
+ $(call gb_LinkTarget_get_objects_list,$*) \
+ $(DLLTARGET) \
+ $(AUXTARGETS)) && \
+ cat $${RESPONSEFILE} /dev/null | xargs -n 200 rm -f && \
+ rm -f $${RESPONSEFILE}
# cat the deps of all objects in one file, then we need only open that one file
define gb_LinkTarget__command_dep
$(call gb_Output_announce,LNK:$(2),$(true),DEP,1)
$(call gb_Helper_abbreviate_dirs,\
- mkdir -p $(dir $(1)) && \
- RESPONSEFILE=$(call var2file,$(shell $(gb_MKTEMP)),200,\
- $(foreach object,$(3),$(call gb_CObject_get_dep_target,$(object))) \
- $(foreach object,$(4),$(call gb_CxxObject_get_dep_target,$(object))) \
- $(foreach object,$(5),$(call gb_ObjCxxObject_get_dep_target,$(object)))\
- $(foreach object,$(6),$(call gb_GenCxxObject_get_dep_target,$(object)))\
- ) && \
- cat $${RESPONSEFILE} /dev/null | xargs -n 200 cat > $(1)) && \
- rm -f $${RESPONSEFILE}
+ mkdir -p $(dir $(1)) && \
+ RESPONSEFILE=$(call var2file,$(shell $(gb_MKTEMP)),200,\
+ $(foreach object,$(3),$(call gb_CObject_get_dep_target,$(object))) \
+ $(foreach object,$(4),$(call gb_CxxObject_get_dep_target,$(object))) \
+ $(foreach object,$(5),$(call gb_ObjCObject_get_dep_target,$(object)))\
+ $(foreach object,$(6),$(call gb_ObjCxxObject_get_dep_target,$(object)))\
+ $(foreach object,$(7),$(call gb_GenCxxObject_get_dep_target,$(object)))\
+ ) && \
+ cat $${RESPONSEFILE} /dev/null | xargs -n 200 cat > $(1)) && \
+ rm -f $${RESPONSEFILE}
+
+endef
+
+define gb_LinkTarget__command_objectlist
+TEMPFILE=$(call var2file,$(shell $(gb_MKTEMP)),200,\
+ $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
+ $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
+ $(foreach object,$(OBJCOBJECTS),$(call gb_ObjCObject_get_target,$(object))) \
+ $(foreach object,$(OBJCXXOBJECTS),$(call gb_ObjCxxObject_get_target,$(object))) \
+ $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object)))) && \
+$(if $(EXTRAOBJECTLISTS),cat $(EXTRAOBJECTLISTS) >> $${TEMPFILE} && ) \
+mv $${TEMPFILE} $(call gb_LinkTarget_get_objects_list,$(2))
endef
$(call gb_LinkTarget_get_target,%) : $(call gb_LinkTarget_get_headers_target,%) $(gb_Helper_MISCDUMMY)
- $(call gb_LinkTarget__command,$@,$*)
+ $(call gb_LinkTarget__command,$@,$*)
+ $(call gb_LinkTarget__command_objectlist,$@,$*)
ifeq ($(gb_FULLDEPS),$(true))
$(call gb_LinkTarget_get_target,%) : $(call gb_LinkTarget_get_dep_target,%)
$(call gb_LinkTarget_get_dep_target,%) : | $(call gb_LinkTarget_get_headers_target,%)
- $(call gb_LinkTarget__command_dep,$@,$*,$(COBJECTS),$(CXXOBJECTS),$(OBJCXXOBJECTS),$(GENCXXOBJECTS))
+ $(call gb_LinkTarget__command_dep,$@,$*,$(COBJECTS),$(CXXOBJECTS),$(OBJCOBJECTS),$(OBJCXXOBJECTS),$(GENCXXOBJECTS))
endif
# Ok, this is some dark voodoo: When declaring a linktarget with
@@ -276,12 +365,12 @@ $$@ : COMMAND := $$(call gb_Helper_abbreviate_dirs, mkdir -p $$(dir $$@) && touc
endef
$(call gb_LinkTarget_get_external_headers_target,%) :
- $(eval $(gb_LinkTarget__get_external_headers_check))
- $(COMMAND)
+ $(eval $(gb_LinkTarget__get_external_headers_check))
+ $(COMMAND)
$(call gb_LinkTarget_get_headers_target,%) : $(call gb_LinkTarget_get_external_headers_target,%)
- $(call gb_Helper_abbreviate_dirs,\
- mkdir -p $(dir $@) && touch $@)
+ $(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $@) && touch $@)
# Explanation of some of the targets:
# - gb_LinkTarget_get_external_headers_target is the targets that guarantees all
@@ -328,6 +417,8 @@ $(call gb_LinkTarget_get_target,$(1)) : COBJECTS :=
$(call gb_LinkTarget_get_clean_target,$(1)) \
$(call gb_LinkTarget_get_target,$(1)) : CXXOBJECTS :=
$(call gb_LinkTarget_get_clean_target,$(1)) \
+$(call gb_LinkTarget_get_target,$(1)) : OBJCOBJECTS :=
+$(call gb_LinkTarget_get_clean_target,$(1)) \
$(call gb_LinkTarget_get_target,$(1)) : OBJCXXOBJECTS :=
$(call gb_LinkTarget_get_clean_target,$(1)) \
$(call gb_LinkTarget_get_target,$(1)) : GENCXXOBJECTS :=
@@ -356,12 +447,14 @@ $(call gb_LinkTarget_get_target,$(1)) : PCH_NAME :=
$(call gb_LinkTarget_get_target,$(1)) : PCHOBJS :=
$(call gb_LinkTarget_get_headers_target,$(1)) \
$(call gb_LinkTarget_get_target,$(1)) : PDBFILE :=
+$(call gb_LinkTarget_get_target,$(1)) : EXTRAOBJECTLISTS :=
$(call gb_LinkTarget_get_target,$(1)) : NATIVERES :=
ifeq ($(gb_FULLDEPS),$(true))
-include $(call gb_LinkTarget_get_dep_target,$(1))
$(call gb_LinkTarget_get_dep_target,$(1)) : COBJECTS :=
$(call gb_LinkTarget_get_dep_target,$(1)) : CXXOBJECTS :=
+$(call gb_LinkTarget_get_dep_target,$(1)) : OBJCOBJECTS :=
$(call gb_LinkTarget_get_dep_target,$(1)) : OBJCXXOBJECTS :=
$(call gb_LinkTarget_get_dep_target,$(1)) : GENCXXOBJECTS :=
$(call gb_LinkTarget_get_dep_target,$(1)) : T_CFLAGS := $$(gb_LinkTarget_CFLAGS) $(CFLAGS)
@@ -374,6 +467,7 @@ $(call gb_LinkTarget_get_dep_target,$(1)) : INCLUDE := $$(gb_LinkTarget_INCLUDE)
$(call gb_LinkTarget_get_dep_target,$(1)) : INCLUDE_STL := $$(gb_LinkTarget_INCLUDE_STL)
$(call gb_LinkTarget_get_dep_target,$(1)) : TARGETTYPE :=
$(call gb_LinkTarget_get_dep_target,$(1)) : PCH_NAME :=
+$(call gb_LinkTarget_get_dep_target,$(1)) : EXTRAOBJECTLISTS :=
endif
endef
@@ -476,6 +570,14 @@ endif
endef
+define gb_LinkTarget_set_objcflags
+$(call gb_LinkTarget_get_target,$(1)) : OBJCFLAGS := $(2)
+ifeq ($(gb_FULLDEPS),$(true))
+$(call gb_LinkTarget_get_dep_target,$(1)) : OBJCFLAGS := $(2)
+endif
+
+endef
+
define gb_LinkTarget_set_include
$(call gb_LinkTarget_get_headers_target,$(1)) \
$(call gb_LinkTarget_get_target,$(1)) : INCLUDE := $(2)
@@ -548,6 +650,11 @@ $(call gb_LinkTarget_get_dep_target,$(1)) : COBJECTS += $(2)
$(call gb_LinkTarget_get_dep_target,$(1)) : $(call gb_CObject_get_dep_target,$(2))
endif
+ifeq ($(gb_CHECKOBJECTOWNER),$(true))
+gb_LinkTarget_OBJECTOWNER += $(call gb_CObject_get_target,$(2)):$(1)
+gb_LinkTarget_OBJECTS += $(call gb_CObject_get_target,$(2))
+endif
+
endef
define gb_LinkTarget_add_cxxobject
@@ -563,6 +670,31 @@ $(call gb_LinkTarget_get_dep_target,$(1)) : CXXOBJECTS += $(2)
$(call gb_LinkTarget_get_dep_target,$(1)) : $(call gb_CxxObject_get_dep_target,$(2))
endif
+ifeq ($(gb_CHECKOBJECTOWNER),$(true))
+gb_LinkTarget_OBJECTOWNER += $(call gb_CxxObject_get_target,$(2)):$(1)
+gb_LinkTarget_OBJECTS += $(call gb_CxxObject_get_target,$(2))
+endif
+
+endef
+
+define gb_LinkTarget_add_objcobject
+$(call gb_LinkTarget_get_target,$(1)) : OBJCOBJECTS += $(2)
+$(call gb_LinkTarget_get_clean_target,$(1)) : OBJCOBJECTS += $(2)
+
+$(call gb_LinkTarget_get_target,$(1)) : $(call gb_ObjCObject_get_target,$(2))
+$(call gb_ObjCObject_get_target,$(2)) : | $(call gb_LinkTarget_get_headers_target,$(1))
+$(call gb_ObjCObject_get_target,$(2)) : OBJCFLAGS += $(3)
+
+ifeq ($(gb_FULLDEPS),$(true))
+$(call gb_LinkTarget_get_dep_target,$(1)) : OBJCOBJECTS += $(2)
+$(call gb_LinkTarget_get_dep_target,$(1)) : $(call gb_ObjCObject_get_dep_target,$(2))
+endif
+
+ifeq ($(gb_CHECKOBJECTOWNER),$(true))
+gb_LinkTarget_OBJECTOWNER += $(call gb_ObjCObject_get_target,$(2)):$(1)
+gb_LinkTarget_OBJECTS += $(call gb_ObjCObject_get_target,$(2))
+endif
+
endef
define gb_LinkTarget_add_objcxxobject
@@ -578,6 +710,11 @@ $(call gb_LinkTarget_get_dep_target,$(1)) : OBJCXXOBJECTS += $(2)
$(call gb_LinkTarget_get_dep_target,$(1)) : $(call gb_ObjCxxObject_get_dep_target,$(2))
endif
+ifeq ($(gb_CHECKOBJECTOWNER),$(true))
+gb_LinkTarget_OBJECTOWNER += $(call gb_ObjCxxObject_get_target,$(2)):$(1)
+gb_LinkTarget_OBJECTS += $(call gb_ObjCxxObject_get_target,$(2))
+endif
+
endef
define gb_LinkTarget_add_generated_cxx_object
@@ -593,6 +730,11 @@ $(call gb_LinkTarget_get_dep_target,$(1)) : GENCXXOBJECTS += $(2)
$(call gb_LinkTarget_get_dep_target,$(1)) : $(call gb_GenCxxObject_get_dep_target,$(2))
endif
+ifeq ($(gb_CHECKOBJECTOWNER),$(true))
+gb_LinkTarget_OBJECTOWNER += $(call gb_GenCxxObject_get_target,$(2)):$(1)
+gb_LinkTarget_OBJECTS += $(call gb_GenCxxObject_get_target,$(2))
+endif
+
endef
define gb_LinkTarget_add_noexception_object
@@ -607,10 +749,36 @@ define gb_LinkTarget_add_cobjects
$(foreach obj,$(2),$(call gb_LinkTarget_add_cobject,$(1),$(obj),$(3)))
endef
+define gb_LinkTarget_add_linktarget_objects
+$(call gb_LinkTarget_get_target,$(1)) : $(foreach linktarget,$(2),$(call gb_LinkTarget_get_target,$(linktarget)))
+$(info gb_LinkTarget_add_linktarget_objects,$(1),$(2))
+$(call gb_LinkTarget_get_target,$(1)) : EXTRAOBJECTLISTS += $(foreach linktarget,$(2),$(call gb_LinkTarget_get_objects_list,$(linktarget)))
+
+endef
+
+define gb_LinkTarget_add_library_objects
+ifneq (,$$(filter-out $(gb_Library_KNOWNLIBS),$(2)))
+$$(eval $$(call gb_Output_info,currently known libraries are: $(sort $(gb_Library_KNOWNLIBS)),ALL))
+$$(eval $$(call gb_Output_error,Cannot import objects library/libraries $$(filter-out $(gb_Library_KNOWNLIBS),$(2)). Libraries must be registered in Repository.mk))
+endif
+$(info gb_LinkTarget_add_library_objects,$(1),$(2))
+$(call gb_LinkTarget_add_linktarget_objects,$(1),$(foreach lib,$(2),$(call gb_Library_get_linktargetname,$(lib))))
+
+endef
+
+define gb_LinkTarget_add_executable_objects
+$(call gb_LinkTarget_add_linktarget_objects,$(1),$(foreach exe,$(2),$(call gb_Executable_get_linktargetname,$(lib))))
+
+endef
+
define gb_LinkTarget_add_cxxobjects
$(foreach obj,$(2),$(call gb_LinkTarget_add_cxxobject,$(1),$(obj),$(3)))
endef
+define gb_LinkTarget_add_objcobjects
+$(foreach obj,$(2),$(call gb_LinkTarget_add_objcobject,$(1),$(obj),$(3)))
+endef
+
define gb_LinkTarget_add_objcxxobjects
$(foreach obj,$(2),$(call gb_LinkTarget_add_objcxxobject,$(1),$(obj),$(3)))
endef
@@ -623,8 +791,12 @@ define gb_LinkTarget_add_exception_objects
$(foreach obj,$(2),$(call gb_LinkTarget_add_exception_object,$(1),$(obj)))
endef
+define gb_LinkTarget_add_generated_cxxobjects
+$(foreach obj,$(2),$(call gb_LinkTarget_add_generated_cxx_object,$(1),$(obj),$(3)))
+endef
+
define gb_LinkTarget_add_generated_exception_object
-$(call gb_LinkTarget_add_generated_cxx_object,$(1),$(2),$(gb_LinkTarget_EXCEPTIONFLAGS))
+$(call gb_LinkTarget_add_generated_cxx_object,$(1),$(2),$(gb_LinkTarget_EXCEPTIONFLAGS) $(gb_COMPILEROPTFLAGS))
endef
define gb_LinkTarget_add_generated_exception_objects
@@ -680,8 +852,8 @@ $(call gb_LinkTarget_get_headers_target,$(1)) \
$(call gb_LinkTarget_get_target,$(1)) : PCH_DEFS = $$(DEFS)
ifeq ($(gb_FULLDEPS),$(true))
-include \
- $(call gb_PrecompiledHeader_get_dep_target,$(3)) \
- $(call gb_NoexPrecompiledHeader_get_dep_target,$(3))
+ $(call gb_PrecompiledHeader_get_dep_target,$(3)) \
+ $(call gb_NoexPrecompiledHeader_get_dep_target,$(3))
$(call gb_LinkTarget_get_dep_target,$(1)) : DEFS := $$(DEFS) -DPRECOMPILED_HEADERS
$(call gb_LinkTarget_get_dep_target,$(1)) : PCH_DEFS = $$(DEFS)
endif
@@ -708,4 +880,4 @@ gb_LinkTarget_use_externals = \
$(foreach external,$(2),$(call gb_LinkTarget_use_external,$(1),$(external)))
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/Module.mk b/solenv/gbuild/Module.mk
index b909b46e27a0..10bf35be3733 100644
--- a/solenv/gbuild/Module.mk
+++ b/solenv/gbuild/Module.mk
@@ -26,6 +26,21 @@
#*************************************************************************
+# Overview of dependencies and tasks of Module
+#
+# target task depends on
+# Module build the product all product targets
+# excluding tests recursive Modules
+# Module/check run unit tests all unit tests
+# recursive Module/checks
+# Module/subsequentcheck run system tests all system tests
+# recursive Module/subsequentchecks
+# all (global) build the product top-level Module
+# check (global) run unit tests top-level Module/check
+# subsequentcheck (global) run system tests top-level Module/subsequentcheck
+# allandcheck (global) default goal all check
+
+
# Module class
gb_Module_ALLMODULES :=
@@ -37,31 +52,31 @@ gb_Module_CLEANTARGETSTACK :=
.PHONY : $(call gb_Module_get_clean_target,%)
$(call gb_Module_get_clean_target,%) :
- $(call gb_Output_announce,$*,$(false),MOD,5)
- $(call gb_Output_announce_title,module $* cleared.)
- -$(call gb_Helper_abbreviate_dirs,\
- rm -f $(call gb_Module_get_target,$*) $(call gb_Module_get_check_target,$*) $(call gb_Module_get_subsequentcheck_target,$*))
+ $(call gb_Output_announce,$*,$(false),MOD,5)
+ $(call gb_Output_announce_title,module $* cleared.)
+ -$(call gb_Helper_abbreviate_dirs,\
+ rm -f $(call gb_Module_get_target,$*) $(call gb_Module_get_check_target,$*) $(call gb_Module_get_subsequentcheck_target,$*))
$(call gb_Module_get_check_target,%) :
- $(call gb_Output_announce,$*,$(true),CHK,5)
- $(call gb_Output_announce_title,module $* checks done.)
- -$(call gb_Helper_abbreviate_dirs,\
- mkdir -p $(dir $@) && \
- touch $@)
+ $(call gb_Output_announce,$*,$(true),CHK,5)
+ $(call gb_Output_announce_title,module $* checks done.)
+ -$(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $@) && \
+ touch $@)
$(call gb_Module_get_subsequentcheck_target,%) :
- $(call gb_Output_announce,$*,$(true),SCK,5)
- $(call gb_Output_announce_title,module $* subsequentchecks done.)
- -$(call gb_Helper_abbreviate_dirs,\
- mkdir -p $(dir $@) && \
- touch $@)
+ $(call gb_Output_announce,$*,$(true),SCK,5)
+ $(call gb_Output_announce_title,module $* subsequentchecks done.)
+ -$(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $@) && \
+ touch $@)
$(call gb_Module_get_target,%) :
- $(call gb_Output_announce,$*,$(true),MOD,5)
- $(call gb_Output_announce_title,module $* done.)
- -$(call gb_Helper_abbreviate_dirs,\
- mkdir -p $(dir $@) && \
- touch $@)
+ $(call gb_Output_announce,$*,$(true),MOD,5)
+ $(call gb_Output_announce_title,module $* done.)
+ -$(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $@) && \
+ touch $@)
.PHONY : all allandcheck clean check subsequentcheck
.DEFAULT_GOAL := allandcheck
@@ -74,26 +89,28 @@ ifneq ($(strip $(OOO_SUBSEQUENT_TESTS)),)
endif
all :
- $(call gb_Output_announce,top level modules: $(foreach module,$(filter-out deliverlog,$^),$(notdir $(module))),$(true),ALL,6)
- $(call gb_Output_announce,loaded modules: $(sort $(gb_Module_ALLMODULES)),$(true),ALL,6)
- $(call gb_Output_announce_title,all done.)
- $(call gb_Output_announce_bell)
+ $(call gb_Output_announce,top level modules: $(foreach module,$(filter-out deliverlog,$^),$(notdir $(module))),$(true),ALL,6)
+ $(call gb_Output_announce,loaded modules: $(sort $(gb_Module_ALLMODULES)),$(true),ALL,6)
+ $(call gb_Output_announce_title,all done.)
+ $(call gb_Output_announce_bell)
check :
- $(call gb_Output_announce,loaded modules: $(sort $(gb_Module_ALLMODULES)),$(true),CHK,6)
- $(call gb_Output_announce_title,all tests checked.)
- $(call gb_Output_announce_bell)
+ $(call gb_Output_announce,loaded modules: $(sort $(gb_Module_ALLMODULES)),$(true),CHK,6)
+ $(call gb_Output_announce_title,all tests checked.)
+ $(call gb_Output_announce_bell)
-subsequentcheck : all
- $(call gb_Output_announce,loaded modules: $(sort $(gb_Module_ALLMODULES)),$(true),SCK,6)
- $(call gb_Output_announce_title,all subsequent tests checked.)
- $(call gb_Output_announce_bell)
+# removing the dependency on all for now until we can make a full build with gbuild
+#subsequentcheck : all
+subsequentcheck :
+ $(call gb_Output_announce,loaded modules: $(sort $(gb_Module_ALLMODULES)),$(true),SCK,6)
+ $(call gb_Output_announce_title,all subsequent tests checked.)
+ $(call gb_Output_announce_bell)
clean :
- $(call gb_Output_announce,top level modules: $(foreach module,$^,$(notdir $(module))),$(false),ALL,6)
- $(call gb_Output_announce,loaded modules: $(sort $(gb_Module_ALLMODULES)),$(false),ALL,6)
- $(call gb_Output_announce_title,all cleared.)
- $(call gb_Output_announce_bell)
+ $(call gb_Output_announce,top level modules: $(foreach module,$^,$(notdir $(module))),$(false),ALL,6)
+ $(call gb_Output_announce,loaded modules: $(sort $(gb_Module_ALLMODULES)),$(false),ALL,6)
+ $(call gb_Output_announce_title,all cleared.)
+ $(call gb_Output_announce_bell)
define gb_Module_Module
gb_Module_ALLMODULES += $(1)
@@ -207,6 +224,7 @@ ifneq ($$(and $$(gb_Module_TARGETSTACK),$$(gb_Module_CHECKTARGETSTACK),$$(gb_Mod
$$(eval $$(call gb_Output_error,Corrupted module target stack!3))
endif
+$$(eval $$(gb_Extensions_final_hook))
endef
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/Output.mk b/solenv/gbuild/Output.mk
index 9246fd540b82..bc4ec38123df 100644
--- a/solenv/gbuild/Output.mk
+++ b/solenv/gbuild/Output.mk
@@ -97,8 +97,8 @@ gb_Output_COLOR_ERROR := $(gb_Output_COLOR_RESETANDESCAPE)[37;1;41m
define gb_Output__format_type
$(subst :, ,$(word 2,$(1) \
- $(gb_Output_COLOR_OUTBUILD_LEVEL$(3))[:$(gb_Output_COLOR_INBUILD_LEVEL$(3))build:$(subst $(WHITESPACE),:,$(2))$(gb_Output_COLOR_OUTBUILD_LEVEL$(3)):] \
- $(gb_Output_COLOR_OUTCLEAN_LEVEL$(3))[:$(gb_Output_COLOR_INCLEAN_LEVEL$(3))clean:$(subst $(WHITESPACE),:,$(2))$(gb_Output_COLOR_OUTCLEAN_LEVEL$(3)):]))$(gb_Output_COLOR_RESET)
+ $(gb_Output_COLOR_OUTBUILD_LEVEL$(3))[:$(gb_Output_COLOR_INBUILD_LEVEL$(3))__.oO:$(subst $(WHITESPACE),:,$(2))$(gb_Output_COLOR_OUTBUILD_LEVEL$(3)):] \
+ $(gb_Output_COLOR_OUTCLEAN_LEVEL$(3))[:$(gb_Output_COLOR_INCLEAN_LEVEL$(3))Xx.__:$(subst $(WHITESPACE),:,$(2))$(gb_Output_COLOR_OUTCLEAN_LEVEL$(3)):]))$(gb_Output_COLOR_RESET)
endef
define gb_Output_info
@@ -144,4 +144,4 @@ $(info $(call gb_Output__format_type,$(2),$(3),$(4)) $(call gb_Output__format_ta
endef
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/Package.mk b/solenv/gbuild/Package.mk
index 4b525705bc5c..db02b8083c15 100644
--- a/solenv/gbuild/Package.mk
+++ b/solenv/gbuild/Package.mk
@@ -29,7 +29,7 @@
# PackagePart class
$(foreach destination,$(call gb_PackagePart_get_destinations), $(destination)/%) :
- $(call gb_Deliver_deliver,$<,$@)
+ $(call gb_Deliver_deliver,$<,$@)
define gb_PackagePart_PackagePart
$(OUTDIR)/$(1) : $(2)
@@ -43,16 +43,16 @@ endef
.PHONY : $(call gb_Package_get_clean_target,%)
$(call gb_Package_get_clean_target,%) :
- $(call gb_Output_announce,$*,$(false),PKG,2)
- -$(call gb_Helper_abbreviate_dirs,\
- rm -f $(FILES))
+ $(call gb_Output_announce,$*,$(false),PKG,2)
+ -$(call gb_Helper_abbreviate_dirs,\
+ rm -f $(FILES))
$(call gb_Package_get_preparation_target,%) :
- mkdir -p $(dir $@) && touch $@
+ mkdir -p $(dir $@) && touch $@
$(call gb_Package_get_target,%) :
- $(call gb_Output_announce,$*,$(true),PKG,2)
- mkdir -p $(dir $@) && touch $@
+ $(call gb_Output_announce,$*,$(true),PKG,2)
+ mkdir -p $(dir $@) && touch $@
define gb_Package_Package
@@ -77,4 +77,4 @@ $(eval $(call gb_CustomTarget_CustomTarget,$(2),$(3)))
endef
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/PrecompiledHeaders.mk b/solenv/gbuild/PrecompiledHeaders.mk
index 2c7ececf4a0a..0db75718c07c 100644
--- a/solenv/gbuild/PrecompiledHeaders.mk
+++ b/solenv/gbuild/PrecompiledHeaders.mk
@@ -40,38 +40,38 @@ gb_NoexPrecompiledHeader_DEBUGDIR := nodebug
endif
$(call gb_PrecompiledHeader_get_dep_target,%) :
- $(call gb_Helper_abbreviate_dirs,\
- mkdir -p $(dir $@) && \
- echo '$(call gb_PrecompiledHeader_get_target,$*) : $$(gb_Helper_PHONY)' > $@)
+ $(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $@) && \
+ echo '$(call gb_PrecompiledHeader_get_target,$*) : $$(gb_Helper_PHONY)' > $@)
$(call gb_NoexPrecompiledHeader_get_dep_target,%) :
- $(call gb_Helper_abbreviate_dirs,\
- mkdir -p $(dir $@) && \
- echo '$(call gb_NoexPrecompiledHeader_get_target,$*) : $$(gb_Helper_PHONY)' > $@)
+ $(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $@) && \
+ echo '$(call gb_NoexPrecompiledHeader_get_target,$*) : $$(gb_Helper_PHONY)' > $@)
$(call gb_PrecompiledHeader_get_target,%) :
- $(call gb_PrecompiledHeader__command,$@,$*,$<,$(PCH_DEFS),$(PCH_CXXFLAGS) $(gb_PrecompiledHeader_EXCEPTIONFLAGS),$(INCLUDE_STL) $(INCLUDE))
+ $(call gb_PrecompiledHeader__command,$@,$*,$<,$(PCH_DEFS),$(PCH_CXXFLAGS) $(gb_PrecompiledHeader_EXCEPTIONFLAGS),$(INCLUDE_STL) $(INCLUDE))
$(call gb_NoexPrecompiledHeader_get_target,%) :
- $(call gb_NoexPrecompiledHeader__command,$@,$*,$<,$(PCH_DEFS),$(PCH_CXXFLAGS) $(gb_NoexPrecompiledHeader_NOEXCEPTIONFLAGS),$(INCLUDE_STL) $(INCLUDE))
+ $(call gb_NoexPrecompiledHeader__command,$@,$*,$<,$(PCH_DEFS),$(PCH_CXXFLAGS) $(gb_NoexPrecompiledHeader_NOEXCEPTIONFLAGS),$(INCLUDE_STL) $(INCLUDE))
.PHONY : $(call gb_PrecompiledHeader_get_clean_target,%) $(call gb_NoExPrecompiledHeader_get_clean_target,%)
$(call gb_PrecompiledHeader_get_clean_target,%) :
- $(call gb_Output_announce,$*,$(false),PCH,1)
- -$(call gb_Helper_abbreviate_dirs,\
- rm -f $(call gb_PrecompiledHeader_get_target,$*) \
- $(call gb_PrecompiledHeader_get_target,$*).obj \
- $(call gb_PrecompiledHeader_get_target,$*).pdb \
- $(call gb_PrecompiledHeader_get_dep_target,$*))
+ $(call gb_Output_announce,$*,$(false),PCH,1)
+ -$(call gb_Helper_abbreviate_dirs,\
+ rm -f $(call gb_PrecompiledHeader_get_target,$*) \
+ $(call gb_PrecompiledHeader_get_target,$*).obj \
+ $(call gb_PrecompiledHeader_get_target,$*).pdb \
+ $(call gb_PrecompiledHeader_get_dep_target,$*))
$(call gb_NoexPrecompiledHeader_get_clean_target,%) :
- $(call gb_Output_announce,$*,$(false),PCH,1)
- -$(call gb_Helper_abbreviate_dirs,\
- rm -f $(call gb_NoexPrecompiledHeader_get_target,$*) \
- $(call gb_NoexPrecompiledHeader_get_target,$*).obj \
- $(call gb_NoexPrecompiledHeader_get_target,$*).pdb \
- $(call gb_NoexPrecompiledHeader_get_dep_target,$*))
+ $(call gb_Output_announce,$*,$(false),PCH,1)
+ -$(call gb_Helper_abbreviate_dirs,\
+ rm -f $(call gb_NoexPrecompiledHeader_get_target,$*) \
+ $(call gb_NoexPrecompiledHeader_get_target,$*).obj \
+ $(call gb_NoexPrecompiledHeader_get_target,$*).pdb \
+ $(call gb_NoexPrecompiledHeader_get_dep_target,$*))
endif
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/RdbTarget.mk b/solenv/gbuild/RdbTarget.mk
new file mode 100644
index 000000000000..e8436ebc99d7
--- /dev/null
+++ b/solenv/gbuild/RdbTarget.mk
@@ -0,0 +1,83 @@
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License or as specified alternatively below. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Initial Developer of the Original Code is
+# David Tardon, Red Hat Inc. <dtardon@redhat.com>
+# Portions created by the Initial Developer are Copyright (C) 2010 the
+# Initial Developer. All Rights Reserved.
+#
+# Major Contributor(s):
+#
+# For minor contributions see the git repository.
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+
+gb_RdbTarget__get_old_component_target = $(OUTDIR)/xml/$(1).component
+
+$(call gb_RdbTarget_get_target,%) :
+ $(call gb_Output_announce,$*,$(true),RDB,1)
+ $(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $@) && \
+ echo '<?xml version="1.0"?><components xmlns="http://openoffice.org/2010/uno-components">' > $@ && \
+ $(gb_AWK) -- \
+ '/^<\?xml version.*/ { next; } \
+ { gsub(/vnd.sun.star.expand:\$$OOO_BASE_DIR\/program/, "vnd.sun.star.expand:$$OOO_BASE_DIR",$$0); gsub(/vnd.sun.star.expand:\$$BRAND_BASE_DIR\/program/, "vnd.sun.star.expand:$$BRAND_BASE_DIR",$$0); print; }' \
+ $(foreach component,$(COMPONENTS),$(call gb_ComponentTarget_get_target,$(component))) \
+ $(foreach component,$(OLD_COMPONENTS),$(call gb_RdbTarget__get_old_component_target,$(component))) \
+ >> $@ && \
+ echo '</components>' >> $@)
+
+.PHONY : $(call gb_RdbTarget_get_clean_target,%)
+$(call gb_RdbTarget_get_clean_target,%) :
+ $(call gb_Output_announce,$*,$(false),RDB,1)
+ $(call gb_Helper_abbreviate_dirs,\
+ rm -f $(call gb_RdbTarget_get_outdir_target,$*) $(call gb_RdbTarget_get_target,$*))
+
+$(call gb_RdbTarget_get_external_target,%) :
+ $(call gb_Deliver_deliver,$<,$@)
+
+define gb_RdbTarget_RdbTarget
+$(call gb_RdbTarget_get_target,$(1)) : COMPONENTS :=
+$(call gb_RdbTarget_get_target,$(1)) : OLD_COMPONENTS :=
+$(call gb_RdbTarget_get_clean_target,$(1)) : COMPONENTS :=
+$(call gb_RdbTarget_get_clean_target,$(1)) : OLD_COMPONENTS :=
+ifeq ($(2),$(true))
+$(call gb_RdbTarget_get_outdir_target,$(1)) : $(call gb_RdbTarget_get_target,$(1))
+$(call gb_Deliver_add_deliverable,$(call gb_ResTarget_get_outdir_target,$(1)),$(call gb_RdbTarget_get_target,$(1)))
+endif
+endef
+
+define gb_RdbTarget_add_component
+$(call gb_RdbTarget_get_target,$(1)) : $(call gb_ComponentTarget_get_target,$(2))
+$(call gb_RdbTarget_get_target,$(1)) : COMPONENTS += $(2)
+$(call gb_RdbTarget_get_clean_target,$(1)) : COMPONENTS += $(2)
+endef
+
+define gb_RdbTarget_add_components
+$(foreach component,$(2),$(eval $(call gb_RdbTarget_add_component,$(1),$(component))))
+endef
+
+define gb_RdbTarget_add_old_component
+$(call gb_RdbTarget_get_target,$(1)) : $(call gb_RdbTarget__get_old_component_target,$(2))
+$(call gb_RdbTarget_get_target,$(1)) : OLD_COMPONENTS += $(2)
+$(call gb_RdbTarget_get_clean_target,$(1)) : OLD_COMPONENTS += $(2)
+endef
+
+define gb_RdbTarget_add_old_components
+$(foreach component,$(2),$(eval $(call gb_RdbTarget_add_old_component,$(1),$(component))))
+endef
+
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/SdiTarget.mk b/solenv/gbuild/SdiTarget.mk
index 8f8670c6950d..81f007272498 100644
--- a/solenv/gbuild/SdiTarget.mk
+++ b/solenv/gbuild/SdiTarget.mk
@@ -35,28 +35,28 @@ gb_SdiTarget_SVIDLTARGET := $(call gb_Executable_get_target,svidl)
gb_SdiTarget_SVIDLCOMMAND := $(gb_SdiTarget_SVIDLPRECOMMAND) $(gb_SdiTarget_SVIDLTARGET)
$(call gb_SdiTarget_get_target,%) : $(SRCDIR)/%.sdi | $(gb_SdiTarget_SVIDLTARGET)
- $(call gb_Output_announce,$*,$(true),SDI,1)
- $(call gb_Helper_abbreviate_dirs,\
- mkdir -p $(dir $@))
- $(call gb_Helper_abbreviate_dirs_native,\
- cd $(dir $<) && \
- $(gb_SdiTarget_SVIDLCOMMAND) -quiet \
- $(INCLUDE) \
- -fs$@.hxx \
- -fd$@.ilb \
- -fl$@.lst \
- -fz$@.sid \
- -fx$(EXPORTS) \
- -fm$@ \
- $<)
+ $(call gb_Output_announce,$*,$(true),SDI,1)
+ $(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $@))
+ $(call gb_Helper_abbreviate_dirs_native,\
+ cd $(dir $<) && \
+ $(gb_SdiTarget_SVIDLCOMMAND) -quiet \
+ $(INCLUDE) \
+ -fs$@.hxx \
+ -fd$@.ilb \
+ -fl$@.lst \
+ -fz$@.sid \
+ -fx$(EXPORTS) \
+ -fm$@ \
+ $(realpath $<))
.PHONY : $(call gb_SdiTarget_get_clean_target,%)
$(call gb_SdiTarget_get_clean_target,%) :
- $(call gb_Output_announce,$*,$(false),SDI,1)
- -$(call gb_Helper_abbreviate_dirs,\
- rm -f $(foreach ext,.hxx .ilb .lst .sid,\
- $(call gb_SdiTarget_get_target,$*)$(ext)) \
- $(call gb_SdiTarget_get_target,$*))
+ $(call gb_Output_announce,$*,$(false),SDI,1)
+ -$(call gb_Helper_abbreviate_dirs,\
+ rm -f $(foreach ext,.hxx .ilb .lst .sid,\
+ $(call gb_SdiTarget_get_target,$*)$(ext)) \
+ $(call gb_SdiTarget_get_target,$*))
define gb_SdiTarget_SdiTarget
$(call gb_SdiTarget_get_target,$(1)) : INCLUDE := $$(subst -I. ,-I$$(dir $(SRCDIR)/$(1)) ,$$(SOLARINC))
@@ -68,4 +68,4 @@ $(call gb_SdiTarget_get_target,$(1)) : INCLUDE := $(2)
endef
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/StaticLibrary.mk b/solenv/gbuild/StaticLibrary.mk
index 4d3c22b4e871..33fe714d7256 100644
--- a/solenv/gbuild/StaticLibrary.mk
+++ b/solenv/gbuild/StaticLibrary.mk
@@ -35,20 +35,19 @@
# gb_StaticLibrary_FILENAMES
# gb_StaticLibrary_TARGETS
-gb_StaticLibrary__get_linktargetname = StaticLibrary/$(call gb_StaticLibrary_get_filename,$(1))
# EVIL: gb_StaticLibrary and gb_Library need the same deliver rule because they are indistinguishable on windows
.PHONY : $(WORKDIR)/Clean/OutDir/lib/%$(gb_StaticLibrary_PLAINEXT)
$(WORKDIR)/Clean/OutDir/lib/%$(gb_StaticLibrary_PLAINEXT) :
- $(call gb_Helper_abbreviate_dirs,\
- rm -f $(OUTDIR)/lib/$*$(gb_StaticLibrary_PLAINEXT) \
- $(AUXTARGETS))
+ $(call gb_Helper_abbreviate_dirs,\
+ rm -f $(OUTDIR)/lib/$*$(gb_StaticLibrary_PLAINEXT) \
+ $(AUXTARGETS))
# EVIL: gb_StaticLibrary and gb_Library need the same deliver rule because they are indistinguishable on windows
$(gb_StaticLibrary_OUTDIRLOCATION)/%$(gb_StaticLibrary_PLAINEXT) :
- $(call gb_Helper_abbreviate_dirs,\
- $(call gb_Deliver_deliver,$<,$@) \
- $(foreach target,$(AUXTARGETS), && $(call gb_Deliver_deliver,$(dir $<)/$(notdir $(target)),$(target))))
+ $(call gb_Helper_abbreviate_dirs,\
+ $(call gb_Deliver_deliver,$<,$@) \
+ $(foreach target,$(AUXTARGETS), && $(call gb_Deliver_deliver,$(dir $<)/$(notdir $(target)),$(target))))
define gb_StaticLibrary_StaticLibrary
ifeq (,$$(findstring $(1),$$(gb_StaticLibrary_KNOWNLIBS)))
@@ -56,7 +55,7 @@ $$(eval $$(call gb_Output_info,Currently known static libraries are: $(sort $(gb
$$(eval $$(call gb_Output_error,Static library $(1) must be registered in Repository.mk))
endif
$(call gb_StaticLibrary_get_target,$(1)) : AUXTARGETS :=
-$(call gb_StaticLibrary__StaticLibrary_impl,$(1),$(call gb_StaticLibrary__get_linktargetname,$(1)))
+$(call gb_StaticLibrary__StaticLibrary_impl,$(1),$(call gb_StaticLibrary_get_linktargetname,$(1)))
endef
@@ -64,7 +63,7 @@ define gb_StaticLibrary__StaticLibrary_impl
$(call gb_LinkTarget_LinkTarget,$(2))
$(call gb_LinkTarget_set_targettype,$(2),StaticLibrary)
$(call gb_LinkTarget_add_defs,$(2),\
- $(gb_StaticLibrary_DEFS) \
+ $(gb_StaticLibrary_DEFS) \
)
$(call gb_StaticLibrary_get_target,$(1)) : $(call gb_LinkTarget_get_target,$(2))
$(call gb_StaticLibrary_get_clean_target,$(1)) : $(call gb_LinkTarget_get_clean_target,$(2))
@@ -75,40 +74,41 @@ $(call gb_Deliver_add_deliverable,$(call gb_StaticLibrary_get_target,$(1)),$(cal
endef
define gb_StaticLibrary_forward_to_Linktarget
-gb_StaticLibrary_$(1) = $$(call gb_LinkTarget_$(1),$$(call gb_StaticLibrary__get_linktargetname,$$(1)),$$(2),$$(3))
+gb_StaticLibrary_$(1) = $$(call gb_LinkTarget_$(1),$$(call gb_StaticLibrary_get_linktargetname,$$(1)),$$(2),$$(3))
endef
$(eval $(foreach method,\
- add_cobject \
- add_cobjects \
- add_cxxobject \
- add_cxxobjects \
- add_objcxxobject \
- add_objcxxobjects \
- add_exception_objects \
- add_noexception_objects \
- add_generated_exception_objects \
+ add_cobject \
+ add_cobjects \
+ add_cxxobject \
+ add_cxxobjects \
+ add_objcxxobject \
+ add_objcxxobjects \
+ add_exception_objects \
+ add_noexception_objects \
+ add_generated_cxxobjects \
+ add_generated_exception_objects \
add_cflags \
- set_cflags \
+ set_cflags \
add_cxxflags \
- set_cxxflags \
+ set_cxxflags \
add_objcxxflags \
- set_objcxxflags \
+ set_objcxxflags \
add_defs \
- set_defs \
- set_include \
+ set_defs \
+ set_include \
add_ldflags \
- set_ldflags \
+ set_ldflags \
add_libs \
- set_library_path_flags \
- add_linked_libs \
- add_linked_static_libs \
- add_package_headers \
- add_sdi_headers \
- add_precompiled_header \
+ set_library_path_flags \
+ add_linked_libs \
+ add_linked_static_libs \
+ add_package_headers \
+ add_sdi_headers \
+ add_precompiled_header \
,\
- $(call gb_StaticLibrary_forward_to_Linktarget,$(method))\
+ $(call gb_StaticLibrary_forward_to_Linktarget,$(method))\
))
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/TargetLocations.mk b/solenv/gbuild/TargetLocations.mk
index 5ee2e5791663..bcca63f49c5c 100755
--- a/solenv/gbuild/TargetLocations.mk
+++ b/solenv/gbuild/TargetLocations.mk
@@ -30,8 +30,15 @@
gb_ComponentTarget_get_outdir_target = $(OUTDIR)/xml/component/$(1).component
gb_ComponentTarget_get_outdir_inbuild_target = $(OUTDIR)/xml/component/$(1).inbuild.component
gb_Executable_get_target = $(OUTDIR)/bin/$(1)$(gb_Executable_EXT)
-gb_PackagePart_get_destinations = $(OUTDIR)/xml $(OUTDIR)/inc $(OUTDIR)/bin $(OUTDIR)/pck
+gb_Executable_get_target_for_build = $(OUTDIR_FOR_BUILD)/bin/$(1)$(gb_Executable_EXT)
+gb_PackagePart_get_destinations = \
+ $(OUTDIR)/xml \
+ $(OUTDIR)/pck \
+ $(OUTDIR)/inc \
+ $(OUTDIR)/bin \
+
gb_PackagePart_get_target = $(OUTDIR)/$(1)
+gb_RdbTarget_get_outdir_target = $(OUTDIR)/xml/$(1).rdb
gb_ResTarget_get_outdir_imagelist_target = $(OUTDIR)/res/img/$(1).ilst
gb_ResTarget_get_outdir_target = $(OUTDIR)/bin/$(1).res
gb_Jar_get_outdir_target = $(OUTDIR)/bin/$(1).jar
@@ -71,22 +78,27 @@ gb_JunitTest_get_userdir = $(WORKDIR)/JunitTest/$(1)/user
gb_LinkTarget_get_external_headers_target = $(WORKDIR)/ExternalHeaders/$(1)
gb_LinkTarget_get_headers_target = $(WORKDIR)/Headers/$(1)
gb_LinkTarget_get_target = $(WORKDIR)/LinkTarget/$(1)
+gb_LinkTarget_get_objects_list = $(WORKDIR)/LinkTarget/$(1).objectlist
gb_Module_get_check_target = $(WORKDIR)/Module/check/$(1)
gb_Module_get_subsequentcheck_target = $(WORKDIR)/Module/subsequentcheck/$(1)
gb_Module_get_target = $(WORKDIR)/Module/$(1)
gb_NoexPrecompiledHeader_get_dep_target = $(WORKDIR)/Dep/NoexPrecompiledHeader/$(gb_NoexPrecompiledHeader_DEBUGDIR)/$(1).hxx.pch.d
gb_NoexPrecompiledHeader_get_target = $(WORKDIR)/NoexPrecompiledHeader/$(gb_NoexPrecompiledHeader_DEBUGDIR)/$(1).hxx.pch
gb_ObjCxxObject_get_target = $(WORKDIR)/ObjCxxObject/$(1).o
+gb_ObjCObject_get_target = $(WORKDIR)/ObjCObject/$(1).o
gb_Package_get_preparation_target = $(WORKDIR)/Package/prepared/$(1)
gb_Package_get_target = $(WORKDIR)/Package/$(1)
gb_PrecompiledHeader_get_dep_target = $(WORKDIR)/Dep/PrecompiledHeader/$(gb_PrecompiledHeader_DEBUGDIR)/$(1).hxx.pch.d
gb_PrecompiledHeader_get_target = $(WORKDIR)/PrecompiledHeader/$(gb_PrecompiledHeader_DEBUGDIR)/$(1).hxx.pch
+gb_RdbTarget_get_target = $(WORKDIR)/RdbTarget/$(1).rdb
gb_ResTarget_get_imagelist_target = $(WORKDIR)/ResTarget/$(1).ilst
gb_ResTarget_get_target = $(WORKDIR)/ResTarget/$(1).res
gb_SdiTarget_get_target = $(WORKDIR)/SdiTarget/$(1)
gb_SrsPartMergeTarget_get_target = $(WORKDIR)/SrsPartMergeTarget/$(1)
gb_SrsPartTarget_get_target = $(WORKDIR)/SrsPartTarget/$(1)
gb_SrsTarget_get_target = $(WORKDIR)/SrsTarget/$(1).srs
+gb_SrsTemplatePartTarget_get_target = $(WORKDIR)/inc/$(firstword $(subst /, ,$(1)))/$(subst _tmpl,,$(notdir $(1)))
+gb_SrsTemplateTarget_get_target = $(WORKDIR)/SrsTemplateTarget/$(1)
gb_WinResTarget_get_target = $(WORKDIR)/WinResTarget/$(1)$(gb_WinResTarget_POSTFIX)
gb_Zip_get_target = $(WORKDIR)/Zip/$(1).zip
gb_Zip_get_final_target = $(WORKDIR)/Zip/$(1).done
@@ -108,40 +120,43 @@ $(patsubst $(1):%,$(WORKDIR)/Headers/StaticLibrary/%,$(filter $(1):%,$(gb_Static
endef
$(eval $(call gb_Helper_make_clean_targets,\
- AllLangResTarget \
- ComponentTarget \
- JavaClassSet \
+ AllLangResTarget \
+ ComponentTarget \
+ JavaClassSet \
Jar \
- JunitTest \
- LinkTarget \
- Module \
- NoexPrecompiledHeader \
- PackagePart \
- PrecompiledHeader \
- ResTarget \
- SdiTarget \
- SrsTarget \
- CppunitTest \
- CustomTarget \
+ JunitTest \
+ LinkTarget \
+ Module \
+ NoexPrecompiledHeader \
+ PackagePart \
+ PrecompiledHeader \
+ RdbTarget \
+ ResTarget \
+ SdiTarget \
+ SrsTarget \
+ SrsTemplateTarget \
+ CppunitTest \
+ CustomTarget \
WinResTarget \
Zip \
))
$(eval $(call gb_Helper_make_outdir_clean_targets,\
- Executable \
- Library \
- Package \
- StaticLibrary \
+ Executable \
+ Library \
+ Package \
+ StaticLibrary \
))
$(eval $(call gb_Helper_make_dep_targets,\
- CObject \
- CxxObject \
- ObjCxxObject \
+ CObject \
+ CxxObject \
+ ObjCObject \
+ ObjCxxObject \
GenCxxObject \
- LinkTarget \
- SrsPartTarget \
- SrsTarget \
+ LinkTarget \
+ SrsPartTarget \
+ SrsTarget \
))
# other getters
@@ -162,6 +177,9 @@ define gb_StaticLibrary_get_filename
$(patsubst $(1):%,%,$(filter $(1):%,$(gb_StaticLibrary_FILENAMES)))
endef
+gb_Executable_get_linktargetname = Executable/$(1)$(gb_Executable_EXT)
+gb_Library_get_linktargetname = Library/$(call gb_Library_get_filename,$(1))
+gb_StaticLibrary_get_linktargetname = StaticLibrary/$(call gb_StaticLibrary_get_filename,$(1))
# static members declared here because they are used globally
@@ -170,4 +188,4 @@ gb_Library_DLLDIR = $(WORKDIR)/LinkTarget/Library
gb_CppunitTest_DLLDIR = $(WORKDIR)/LinkTarget/CppunitTest
gb_StaticLibrary_OUTDIRLOCATION = $(OUTDIR)/lib
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/Tempfile.mk b/solenv/gbuild/Tempfile.mk
index 5b80452056e0..d87fc373fc9b 100644
--- a/solenv/gbuild/Tempfile.mk
+++ b/solenv/gbuild/Tempfile.mk
@@ -6,13 +6,13 @@ define var2file
$(strip $(1)
$(eval gb_var2file_helpervar := $$(shell printf "%s" "" > $(1) ))\
$(foreach item,$(3),$(eval gb_var2file_curblock += $(item)
- ifeq ($$(words $$(gb_var2file_curblock)),$(2))
- gb_var2file_helpervar := $$(shell printf "%s" "$$(gb_var2file_curblock)" >> $(1) )
- gb_var2file_curblock :=
- endif
- ))\
- $(eval gb_var2file_helpervar := $(shell echo " "$(gb_var2file_curblock) >> $(1) )
- gb_var2file_curblock :=
- ))
+ ifeq ($$(words $$(gb_var2file_curblock)),$(2))
+ gb_var2file_helpervar := $$(shell printf "%s" "$$(gb_var2file_curblock)" >> $(1) )
+ gb_var2file_curblock :=
+ endif
+ ))\
+ $(eval gb_var2file_helpervar := $(shell echo " "$(gb_var2file_curblock) >> $(1) )
+ gb_var2file_curblock :=
+ ))
endef
diff --git a/solenv/gbuild/WinResTarget.mk b/solenv/gbuild/WinResTarget.mk
index 17c7500769f9..af768ff2c596 100644
--- a/solenv/gbuild/WinResTarget.mk
+++ b/solenv/gbuild/WinResTarget.mk
@@ -30,21 +30,21 @@ endef
ifeq ($(gb_FULLDEPS),$(true))
$(call gb_WinResTarget_get_dep_target,%) : $(gb_Helper_MISCDUMMY)
- mkdir -p $(dir $@) && \
- echo '$(call gb_WinResTarget_get_target,$*) : $$(gb_Helper_PHONY)' > $@
+ mkdir -p $(dir $@) && \
+ echo '$(call gb_WinResTarget_get_target,$*) : $$(gb_Helper_PHONY)' > $@
endif
$(call gb_WinResTarget_get_target,%) :
- $(call gb_Output_announce,$*,$(true),RES,1)
- $(call gb_WinResTarget__command_dep,$*,$<)
- $(call gb_Helper_abbreviate_dirs,\
- mkdir -p $(dir $@))
- $(call gb_WinResTarget__command,$@)
+ $(call gb_Output_announce,$*,$(true),RES,1)
+ $(call gb_WinResTarget__command_dep,$*,$<)
+ $(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $@))
+ $(call gb_WinResTarget__command,$@)
$(call gb_WinResTarget_get_clean_target,%) :
- $(call gb_Helper_abbreviate_dirs,\
- rm -f $(call gb_WinResTarget_get_target,$*))
+ $(call gb_Helper_abbreviate_dirs,\
+ rm -f $(call gb_WinResTarget_get_target,$*))
define gb_WinResTarget_set_defs
$(call gb_WinResTarget_get_target,$(1)) : DEFS := $(2)
diff --git a/solenv/gbuild/extensions/final_ObjectOwner.mk b/solenv/gbuild/extensions/final_ObjectOwner.mk
new file mode 100644
index 000000000000..f66a7a2e89ee
--- /dev/null
+++ b/solenv/gbuild/extensions/final_ObjectOwner.mk
@@ -0,0 +1,47 @@
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License or as specified alternatively below. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Initial Developer of the Original Code is
+# Bjoern Michaelsen, Canonical Ltd. <bjoern.michaelsen@canonical.com>
+# Portions created by the Initial Developer are Copyright (C) 2010 the
+# Initial Developer. All Rights Reserved.
+#
+# Major Contributor(s):
+#
+# For minor contributions see the git repository.
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+
+ifeq ($(gb_CHECKOBJECTOWNER),$(true))
+
+define gb_LinkTarget_check_object_owner
+ifneq (1,$$(words $$(filter $(1):%,$$(gb_LinkTarget_OBJECTOWNER))))
+$$(info \
+ $(patsubst $(WORKDIR)/%,%,$(1))\
+ is linked in by\
+ $$(patsubst $(1):%,%,$$(filter $(1):%,$$(gb_LinkTarget_OBJECTOWNER))))
+gb_CHECKOBJECTOWNER_VALID := $(false)
+endif
+endef
+
+gb_CHECKOBJECTOWNER_VALID := $(true)
+$(foreach object,$(sort $(gb_LinkTarget_OBJECTS)),$(eval $(call gb_LinkTarget_check_object_owner,$(object))))
+ifneq ($(gb_CHECKOBJECTOWNER_VALID),$(true))
+$(eval $(call gb_Output_warn,duplicate linked objects))
+endif
+
+endif
+# vim: set noet ts=4 sw=4:
diff --git a/solenv/gbuild/extensions/post_PackModule.mk b/solenv/gbuild/extensions/post_PackModule.mk
index f39268a9eea7..566c46d2e76f 100644
--- a/solenv/gbuild/extensions/post_PackModule.mk
+++ b/solenv/gbuild/extensions/post_PackModule.mk
@@ -42,8 +42,8 @@ endif
endef
packmodule : allandcheck deliverlog
- $(eval $(call gb_PackModule_setpackmodulecommand))
- $(COMMAND)
+ $(eval $(call gb_PackModule_setpackmodulecommand))
+ $(COMMAND)
define gb_PackModule_setcleanpackmodulecommand
ifeq ($$(words $(gb_Module_ALLMODULES)),1)
@@ -56,7 +56,7 @@ endif
endef
cleanpackmodule : clean
- $(eval $(call gb_PackModule_setcleanpackmodulecommand))
- $(COMMAND)
-
+ $(eval $(call gb_PackModule_setcleanpackmodulecommand))
+ $(COMMAND)
+
# vim: set noet ts=4 sw=4:
diff --git a/solenv/gbuild/extensions/post_SetupLocal.mk b/solenv/gbuild/extensions/post_SetupLocal.mk
index 483b8a163056..175903c3a2b9 100644
--- a/solenv/gbuild/extensions/post_SetupLocal.mk
+++ b/solenv/gbuild/extensions/post_SetupLocal.mk
@@ -29,40 +29,40 @@
ifneq ($(gb_LOCALBUILDDIR),)
ifneq ($(wildcard $(gb_LOCALBUILDDIR)/SetupLocal.mk),)
setuplocal :
- $(eval $(call gb_Output_error,$(gb_LOCALBUILDDIR) exists already.))
+ $(eval $(call gb_Output_error,$(gb_LOCALBUILDDIR) exists already.))
else
setuplocal :
- $(eval MODULE := $(firstword $(MODULE) $(lastword $(subst /, ,$(dir $(realpath $(firstword $(MAKEFILE_LIST))))))))
- $(eval modulerepo := $(patsubst %/$(MODULE),%,$(foreach repo,$(gb_REPOS),$(wildcard $(repo)/$(MODULE)))))
- $(eval $(call gb_Output_announce,setting up local build directory (module: $(MODULE)).,$(true),SYC,5))
- mkdir -p $(gb_LOCALBUILDDIR)/srcdir $(gb_LOCALBUILDDIR)/workdir $(gb_LOCALBUILDDIR)/outdir
- rsync --archive --exclude 'workdir/**' $(SOLARVERSION)/$(INPATH)/ $(gb_LOCALBUILDDIR)/outdir
- cp $(modulerepo)/Repository.mk $(gb_LOCALBUILDDIR)/srcdir/Repository.mk
- cp $(modulerepo)/RepositoryFixes.mk $(gb_LOCALBUILDDIR)/srcdir/RepositoryFixes.mk
- rsync --archive $(modulerepo)/$(MODULE)/ $(gb_LOCALBUILDDIR)/srcdir/$(MODULE)
- echo "gb_REPOS := $(gb_LOCALBUILDDIR)/srcdir $(filter-out $(patsubst %/$(MODULE),%,$(foreach repo,$(gb_REPOS),$(wildcard $(repo)/$(MODULE)))),$(gb_REPOS))" > $(gb_LOCALBUILDDIR)/SetupLocal.mk
- echo "#original gb_REPOS was $(gb_REPOS)" >> $(gb_LOCALBUILDDIR)/SetupLocal.mk
- echo "OUTDIR := $(gb_LOCALBUILDDIR)/outdir" >> $(gb_LOCALBUILDDIR)/SetupLocal.mk
- echo "#original OUTDIR was $(OUTDIR)" >> $(gb_LOCALBUILDDIR)/SetupLocal.mk
- echo "WORKDIR := $(gb_LOCALBUILDDIR)/workdir" >> $(gb_LOCALBUILDDIR)/SetupLocal.mk
- echo "#original WORKDIR was $(WORKDIR)" >> $(gb_LOCALBUILDDIR)/SetupLocal.mk
+ $(eval MODULE := $(firstword $(MODULE) $(lastword $(subst /, ,$(dir $(realpath $(firstword $(MAKEFILE_LIST))))))))
+ $(eval modulerepo := $(patsubst %/$(MODULE),%,$(foreach repo,$(gb_REPOS),$(wildcard $(repo)/$(MODULE)))))
+ $(eval $(call gb_Output_announce,setting up local build directory (module: $(MODULE)).,$(true),SYC,5))
+ mkdir -p $(gb_LOCALBUILDDIR)/srcdir $(gb_LOCALBUILDDIR)/workdir $(gb_LOCALBUILDDIR)/outdir
+ rsync --archive --exclude 'workdir/**' $(SOLARVERSION)/$(INPATH)/ $(gb_LOCALBUILDDIR)/outdir
+ cp $(modulerepo)/Repository.mk $(gb_LOCALBUILDDIR)/srcdir/Repository.mk
+ cp $(modulerepo)/RepositoryFixes.mk $(gb_LOCALBUILDDIR)/srcdir/RepositoryFixes.mk
+ rsync --archive $(modulerepo)/$(MODULE)/ $(gb_LOCALBUILDDIR)/srcdir/$(MODULE)
+ echo "gb_REPOS := $(gb_LOCALBUILDDIR)/srcdir $(filter-out $(patsubst %/$(MODULE),%,$(foreach repo,$(gb_REPOS),$(wildcard $(repo)/$(MODULE)))),$(gb_REPOS))" > $(gb_LOCALBUILDDIR)/SetupLocal.mk
+ echo "#original gb_REPOS was $(gb_REPOS)" >> $(gb_LOCALBUILDDIR)/SetupLocal.mk
+ echo "OUTDIR := $(gb_LOCALBUILDDIR)/outdir" >> $(gb_LOCALBUILDDIR)/SetupLocal.mk
+ echo "#original OUTDIR was $(OUTDIR)" >> $(gb_LOCALBUILDDIR)/SetupLocal.mk
+ echo "WORKDIR := $(gb_LOCALBUILDDIR)/workdir" >> $(gb_LOCALBUILDDIR)/SetupLocal.mk
+ echo "#original WORKDIR was $(WORKDIR)" >> $(gb_LOCALBUILDDIR)/SetupLocal.mk
endif
removelocal :
- $(eval $(call gb_Output_warn,removing directory $(gb_LOCALBUILDDIR).,SYC))
- sleep 10
- rm -rf $(gb_LOCALBUILDDIR)
+ $(eval $(call gb_Output_warn,removing directory $(gb_LOCALBUILDDIR).,SYC))
+ sleep 10
+ rm -rf $(gb_LOCALBUILDDIR)
else
setuplocal:
- $(eval $(call gb_Output_error,setuplocal: gb_LOCALBUILDDIR is not set.))
+ $(eval $(call gb_Output_error,setuplocal: gb_LOCALBUILDDIR is not set.))
removelocal:
- $(eval $(call gb_Output_error,setuplocal: gb_LOCALBUILDDIR is not set.))
+ $(eval $(call gb_Output_error,setuplocal: gb_LOCALBUILDDIR is not set.))
endif
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/filter-showIncludes.pl b/solenv/gbuild/filter-showIncludes.pl
new file mode 100755
index 000000000000..f72a9eb07fd8
--- /dev/null
+++ b/solenv/gbuild/filter-showIncludes.pl
@@ -0,0 +1,62 @@
+#!/usr/bin/env perl
+#
+# filter-showIncludes.pl depfile.d objfile.o orginal.cxx
+#
+# Create dependency information from the output of cl.exe's showInclude. It
+# needs additional information - the output name to which to write, objfile
+# that depends on the includes, and the original file name.
+#
+# It also consolidates the file names to a canonical form, and filters out
+# duplicates.
+#
+# LGPL v3 / GPL v3 / MPL 1.1
+#
+# Original author: Jan Holesovsky <kendy@suse.cz>
+
+my $outfile = $ARGV[0];
+my $objfile = $ARGV[1];
+my $srcfile = $ARGV[2];
+if ( !defined $outfile || !defined $objfile || !defined $srcfile ) {
+ die "Not enough parameters to create dependencies.";
+}
+
+my $showincludes_prefix = $ENV{'SHOWINCLUDES_PREFIX'};
+if ( !defined( $showincludes_prefix ) || $showincludes_prefix eq "" ) {
+ $showincludes_prefix = 'Note: including file:';
+}
+
+open( OUT, "> $outfile" ) or die "Cannot open $outfile for writing.";
+print OUT "$objfile: \\\n $srcfile";
+
+my %seen;
+my $first_line = 1;
+while ( <STDIN> ) {
+ if ( /^$showincludes_prefix/ ) {
+ s/^$showincludes_prefix\s*//;
+ s/\r$//;
+
+ chomp;
+ s/\\/\//g;
+
+ # X: -> /cygdrive/x/
+ s/^(.):/\/cygdrive\/\l\1/;
+
+ s/ /\\ /g;
+
+ if ( !defined $seen{$_} ) {
+ $seen{$_} = 1;
+ print OUT " \\\n $_";
+ }
+ }
+ else {
+ # skip the first line, it always just duplicates what is being
+ # compiled
+ print unless ( $first_line );
+ }
+ $first_line = 0;
+}
+
+print OUT "\n";
+close( OUT ) or die "Cannot close $outfile.";
+
+# vim: shiftwidth=4 softtabstop=4 expandtab:
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index 61a281fc59e9..0214f14c2f88 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -27,7 +27,6 @@
# vars needed from the env/calling makefile
-# CVER
# DEBUG
# GBUILDDIR
# INPATH
@@ -38,7 +37,6 @@
# PRODUCT
# SOLARINC
# SOLARLIB
-# STLPORT_VER
# UPD
# GXX_INCLUDE_PATH (Linux)
@@ -46,7 +44,6 @@
# SYSTEM_ICU (Linux)
# SYSTEM_JPEG (Linux)
# SYSTEM_LIBXML (Linux)
-# USE_SYSTEM_STL (Linux)
SHELL := /bin/sh
true := T
@@ -83,14 +80,27 @@ gb_PRODUCT := $(false)
endif
endif
-ifneq ($(strip $(DEBUG)$(debug)),)
-gb_DEBUGLEVEL := 2
+ifneq ($(strip $(ENABLE_SYMBOLS)$(enable_symbols)),)
+gb_SYMBOL := $(true)
else
-ifeq ($(gb_PRODUCT),$(true))
+gb_SYMBOL := $(false)
+endif
+
gb_DEBUGLEVEL := 0
-else
+ifneq ($(strip $(DEBUG)$(debug)),)
gb_DEBUGLEVEL := 1
endif
+
+ifneq ($(strip $(DBGLEVEL)$(dbglevel)),)
+ifneq ($(strip $(dbglevel)),)
+gb_DEBUGLEVEL := $(strip $(dbglevel))
+else
+gb_DEBUGLEVEL := $(strip $(DBGLEVEL))
+endif
+endif
+
+ifneq ($(gb_DEBUGLEVEL),0)
+gb_SYMBOL := $(true)
endif
ifneq ($(strip $(ENABLE_PCH)),)
@@ -100,12 +110,32 @@ gb_ENABLE_PCH := $(false)
endif
# for clean, setuplocal and removelocal goals we switch off dependencies
-ifneq ($(filter cleanpackmodule clean setuplocal removelocal showdeliverables,$(MAKECMDGOALS)),)
+ifneq ($(filter cleanpackmodule clean setuplocal removelocal showdeliverables help,$(MAKECMDGOALS)),)
gb_FULLDEPS := $(false)
else
gb_FULLDEPS := $(true)
endif
+gb_CHECKOBJECTOWNER := $(true)
+
+# save user-supplied flags for latter use
+ifneq ($(strip $(CFLAGS)),)
+gb__ENV_CFLAGS := $(CFLAGS)
+else
+# TODO remove after the old build system is abolished
+ifneq ($(strip $(ENVCFLAGS)),)
+gb__ENV_CFLAGS := $(ENVCFLAGS)
+endif
+endif
+ifneq ($(strip $(CXXFLAGS)),)
+gb__ENV_CXXFLAGS := $(CXXFLAGS)
+else
+# TODO remove after the old build system is abolished
+ifneq ($(strip $(ENVCFLAGSCXX)),)
+gb__ENV_CXXFLAGS := $(ENVCFLAGSCXX)
+endif
+endif
+
include $(GBUILDDIR)/Helper.mk
include $(GBUILDDIR)/TargetLocations.mk
@@ -113,27 +143,35 @@ $(eval $(call gb_Helper_init_registries))
$(eval $(call gb_Helper_add_repositories,$(gb_REPOS)))
$(eval $(call gb_Helper_collect_libtargets))
+gb_Library_DLLPOSTFIX := lo
+
ifeq ($(OS),LINUX)
-include $(GBUILDDIR)/platform/linux.mk
-else
-ifeq ($(OS),WNT)
-ifneq ($(USE_MINGW),)
+include $(GBUILDDIR)/platform/linux-$(CPUNAME).mk
+else ifeq ($(OS),MACOSX)
+include $(GBUILDDIR)/platform/macosx.mk
+else ifeq ($(OS),WNT)
+ifeq ($(COM),GCC)
include $(GBUILDDIR)/platform/winmingw.mk
else
include $(GBUILDDIR)/platform/windows.mk
endif
-else
-ifeq ($(OS),SOLARIS)
+else ifeq ($(OS),OPENBSD)
+include $(GBUILDDIR)/platform/openbsd.mk
+else ifeq ($(OS),FREEBSD)
+include $(GBUILDDIR)/platform/freebsd.mk
+else ifeq ($(OS),NETBSD)
+include $(GBUILDDIR)/platform/netbsd.mk
+else ifeq ($(OS),DRAGONFLY)
+include $(GBUILDDIR)/platform/dragonfly.mk
+else ifeq ($(OS),SOLARIS)
include $(GBUILDDIR)/platform/solaris.mk
-else
-ifeq ($(OS),MACOSX)
-include $(GBUILDDIR)/platform/macosx.mk
+else ifeq ($(OS),IOS)
+include $(GBUILDDIR)/platform/ios.mk
+else ifeq ($(OS),ANDROID)
+include $(GBUILDDIR)/platform/android.mk
else
$(eval $(call gb_Output_error,Unsupported OS: $(OS)))
endif
-endif
-endif
-endif
include $(GBUILDDIR)/Tempfile.mk
@@ -141,41 +179,50 @@ include $(foreach repo,$(gb_REPOS),$(repo)/RepositoryFixes.mk)
$(eval $(call gb_Helper_collect_knownlibs))
+# add user-supplied flags
+ifneq ($(strip gb__ENV_CFLAGS),)
+gb_LinkTarget_CFLAGS += $(gb__ENV_CFLAGS)
+endif
+ifneq ($(strip gb__ENV_CXXFLAGS),)
+gb_LinkTarget_CXXFLAGS += $(gb__ENV_CXXFLAGS)
+endif
+
gb_GLOBALDEFS := \
- -D_REENTRANT \
- -DCUI \
- -DENABLE_LAYOUT_EXPERIMENTAL=0 \
- -DENABLE_LAYOUT=0 \
- -DOSL_DEBUG_LEVEL=$(gb_DEBUGLEVEL) \
- -DSOLAR_JAVA \
- -DSTLPORT_VERSION=$(STLPORT_VER) \
- -DSUPD=$(UPD) \
- -DVCL \
- $(gb_OSDEFS) \
- $(gb_COMPILERDEFS) \
- $(gb_CPUDEFS) \
+ -D_REENTRANT \
+ -DCUI \
+ -DENABLE_LAYOUT_EXPERIMENTAL=0 \
+ -DENABLE_LAYOUT=0 \
+ -DOSL_DEBUG_LEVEL=$(gb_DEBUGLEVEL) \
+ -DSUPD=$(UPD) \
+ -DVCL \
+ $(gb_OSDEFS) \
+ $(gb_COMPILERDEFS) \
+ $(gb_CPUDEFS) \
ifeq ($(gb_PRODUCT),$(true))
gb_GLOBALDEFS += \
- -DPRODUCT \
- -DPRODUCT_FULL \
+ -DPRODUCT \
+ -DPRODUCT_FULL \
else
gb_GLOBALDEFS += \
- -DDBG_UTIL \
- -D_STLP_DEBUG \
- -D_DEBUG \
+ -DDBG_UTIL \
+ -D_DEBUG \
+
+endif
+ifneq ($(strip $(SOLAR_JAVA)),)
+gb_GLOBALDEFS += -DSOLAR_JAVA
endif
-ifeq ($(gb_DEBUGLEVEL),2)
+ifeq ($(gb_DEBUGLEVEL),0)
gb_GLOBALDEFS += \
- -DDEBUG \
+ -DOPTIMIZE \
+ -DNDEBUG \
-else
+else ifneq ($(gb_DEBUGLEVEL),1) # 2 or more
gb_GLOBALDEFS += \
- -DOPTIMIZE \
- -DNDEBUG \
+ -DDEBUG \
endif
@@ -221,22 +268,23 @@ include $(SOLARENV)/inc/minor.mk
# is not available everywhere by default.
include $(foreach class, \
- ComponentTarget \
- AllLangResTarget \
- WinResTarget \
- LinkTarget \
- Library \
- StaticLibrary \
- Executable \
- SdiTarget \
- Package \
- CustomTarget \
- PrecompiledHeaders \
- CppunitTest \
+ ComponentTarget \
+ AllLangResTarget \
+ WinResTarget \
+ LinkTarget \
+ Library \
+ StaticLibrary \
+ Executable \
+ SdiTarget \
+ Package \
+ CustomTarget \
+ PrecompiledHeaders \
+ RdbTarget \
+ CppunitTest \
Jar \
- JavaClassSet \
- JunitTest \
- Module \
+ JavaClassSet \
+ JunitTest \
+ Module \
Zip \
,$(GBUILDDIR)/$(class).mk)
@@ -245,11 +293,19 @@ ifneq ($(wildcard $(GBUILDDIR)/extensions/post_*.mk),)
include $(wildcard $(GBUILDDIR)/extensions/post_*.mk)
endif
-ifeq ($(SYSTEM_LIBXSLT),YES)
+define gb_Extensions_final_hook
+ifneq ($(wildcard $(GBUILDDIR)/extensions/final_*.mk),)
+include $(wildcard $(GBUILDDIR)/extensions/final_*.mk)
+endif
+
+endef
+
+
+ifeq ($(SYSTEM_LIBXSLT_FOR_BUILD),YES)
gb_XSLTPROCTARGET :=
gb_XSLTPROC := xsltproc
else
-gb_XSLTPROCTARGET := $(call gb_Executable_get_target,xsltproc)
+gb_XSLTPROCTARGET := $(call gb_Executable_get_target_for_build,xsltproc)
gb_XSLTPROC := $(gb_XSLTPROCPRECOMMAND) $(gb_XSLTPROCTARGET)
endif
@@ -259,4 +315,72 @@ export GBUILDDIR
# FIXME exporting SRCDIR seems kind of a hack
export SRCDIR
-# vim: set noet sw=4 ts=4:
+define gb_HelpMessage
+NAME
+ gbuild - GNU make based build system for LibreOffice
+
+SYNOPSIS
+ make [ -f makefile ] [ options ] [ variable=value ... ] [ targets ] ...
+
+IMPORTANT OPTIONS
+ -r Eliminate use of the built-in implicit rules. Improves performance,
+ please use always.
+ -s Silent operation; do not print the commands as they are executed.
+
+ -n Print the commands that would be executed, but do not execute them.
+ -k Continue as much as possible after an error.
+
+ -j Specifies the number of jobs (commands) to run simultaneously.
+ -l Specifies that no new jobs (commands) should be started if there are
+ others jobs running and the load average is at least load.
+
+ -t Touch files (mark them up to date without really changing them)
+ instead of running their commands.
+ -W Pretend that the target file has just been modified.
+ -o Do not remake the file file even if it is older than its
+ dependencies, and do not remake anything on account of changes in file.
+
+ -p Print the data base (rules and variable values) that results from
+ reading the makefiles.
+ --debug=b debug make run, see GNU make man page for details
+
+ (descriptions from GNU make man page)
+
+AVAILABLE TARGETS
+ allandcheck build product and run unit tests (default goal)
+ all build product
+ check run unit tests
+ subsequentcheck run system tests (requires full installation)
+ clean remove all generated files
+
+INTERACTIVE VARIABLES:
+ DEBUG / debug If not empty, build with DBGLEVEL=1 (see below).
+ ENABLE_SYMBOLS / enable_symbols
+ If not empty, build with debug symbols. Automatically
+ enabled by DEBUG/debug.
+ DBGLEVEL / dbglevel
+ If not empty, force the debug level to the specified value. The
+ debug level is passed to the source code through OSL_DEBUG_LEVEL
+ macro.
+ 0 = no debug
+ 1 = symbols + no optimizations
+ 2 = symbols + no optimizations + extra debug output. OSL_TRACE
+ starts being active on this level.
+ 3... = symbols + no optimizations + extra debug output (usually
+ extremely verbose). Levels > 2 are not used very much.
+
+ ENABLE_PCH If not empty, use precompiled headers (Windows only).
+ CFLAGS Add as compiler flags for plain c compilation.
+ CXXFLAGS Add as compiler flags for c++ compilation.
+ gb_FULLDEPS Generate and use dependencies (on by default, handle with care).
+ gb_COLOR Use ASCII color output.
+ gb_TITLES Show progress in terminal title.
+
+endef
+
+.PHONY: help
+help :
+ $(info $(gb_HelpMessage))
+ @true
+
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/platform/android.mk b/solenv/gbuild/platform/android.mk
new file mode 100644
index 000000000000..df39d54a3ddb
--- /dev/null
+++ b/solenv/gbuild/platform/android.mk
@@ -0,0 +1,38 @@
+#*************************************************************************
+#
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Initial Developer of the Original Code is
+# Caolán McNamara <caolanm@redhat.com> (Red Hat, Inc.)
+# Portions created by the Initial Developer are Copyright (C) 2010 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s): Caolán McNamara <caolanm@redhat.com>
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+#
+#*************************************************************************
+
+#please make generic modifications to unxgcc.mk or linux.mk
+gb_CPUDEFS += -DARM32
+gb_COMPILERDEFAULTOPTFLAGS := -Os
+gb_CXXFLAGS += -fno-omit-frame-pointer
+gb_CFLAGS += -fno-omit-frame-pointer
+
+include $(GBUILDDIR)/platform/unxgcc.mk
+
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/platform/dragonfly.mk b/solenv/gbuild/platform/dragonfly.mk
new file mode 100644
index 000000000000..591b47bb6d37
--- /dev/null
+++ b/solenv/gbuild/platform/dragonfly.mk
@@ -0,0 +1,44 @@
+#*************************************************************************
+#
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Initial Developer of the Original Code is
+# Caolán McNamara <caolanm@redhat.com> (Red Hat, Inc.)
+# Portions created by the Initial Developer are Copyright (C) 2010 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s): Caolán McNamara <caolanm@redhat.com>
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+#
+#*************************************************************************
+
+#please make generic modifications to unxgcc.mk
+
+ifeq ($(CPUNAME),INTEL)
+gb_CPUDEFS := -DX86
+else
+gb_CPUDEFS := -D$(CPUNAME)
+endif
+
+gb_COMPILERDEFAULTOPTFLAGS := -O -g
+
+include $(GBUILDDIR)/platform/unxgcc.mk
+
+gb_CppunitTest_CPPTESTPRECOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib:/usr/pkg/lib
+
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/platform/freebsd.mk b/solenv/gbuild/platform/freebsd.mk
new file mode 100644
index 000000000000..39cce14c660d
--- /dev/null
+++ b/solenv/gbuild/platform/freebsd.mk
@@ -0,0 +1,42 @@
+#*************************************************************************
+#
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Initial Developer of the Original Code is
+# Caolán McNamara <caolanm@redhat.com> (Red Hat, Inc.)
+# Portions created by the Initial Developer are Copyright (C) 2010 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s): Caolán McNamara <caolanm@redhat.com>
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+#
+#*************************************************************************
+
+#please make generic modifications to unxgcc.mk
+
+ifeq ($(CPUNAME),INTEL)
+gb_CPUDEFS := -DX86
+else
+gb_CPUDEFS := -D$(CPUNAME)
+endif
+
+gb_COMPILERDEFAULTOPTFLAGS := -O2
+
+include $(GBUILDDIR)/platform/unxgcc.mk
+
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/platform/ios.mk b/solenv/gbuild/platform/ios.mk
new file mode 100644
index 000000000000..c2215e2db109
--- /dev/null
+++ b/solenv/gbuild/platform/ios.mk
@@ -0,0 +1,411 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2011 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.
+#
+#*************************************************************************
+
+GUI := UNX
+COM := GCC
+
+# Darwin mktemp -t expects a prefix, not a pattern
+gb_MKTEMP := /usr/bin/mktemp -t gbuild.
+
+gb_CC := "gcc-4.2 -arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk"
+gb_CXX := "g++-4.2 -arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk"
+gb_GCCP := "gcc-4.2 -arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk"
+gb_AR := ar
+gb_AWK := awk
+gb_CLASSPATHSEP := :
+
+# use CC/CXX if they are nondefaults
+ifneq ($(origin CC),default)
+gb_CC := $(CC)
+gb_GCCP := $(CC)
+endif
+ifneq ($(origin CXX),default)
+gb_CXX := $(CXX)
+endif
+
+gb_OSDEFS := \
+ -D$(OS) \
+ -D_PTHREADS \
+ -DUNIX \
+ -DUNX \
+ -D_REENTRANT \
+ -DNO_PTHREAD_PRIORITY \
+ $(EXTRA_CDEFS) \
+
+gb_COMPILERDEFS := \
+ -D$(COM) \
+ -DCPPU_ENV=gcc3 \
+ -DGXX_INCLUDE_PATH=$(GXX_INCLUDE_PATH) \
+
+gb_CPUDEFS := -DARM32
+
+gb_SDKDIR := /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk
+
+
+gb_CFLAGS := \
+ -isysroot $(gb_SDKDIR) \
+ -Wall \
+ -Wendif-labels \
+ -Wextra \
+ -Wshadow \
+ -fmessage-length=0 \
+ -fno-common \
+ -fno-strict-aliasing \
+ -pipe \
+
+gb_CXXFLAGS := \
+ -isysroot $(gb_SDKDIR) \
+ -Wall \
+ -Wendif-labels \
+ -Wextra \
+ -Wno-ctor-dtor-privacy \
+ -Wno-non-virtual-dtor \
+ -fmessage-length=0 \
+ -fno-common \
+ -fno-strict-aliasing \
+ -fsigned-char \
+ -malign-natural \
+ -pipe \
+ #-Wshadow \ break in compiler headers already
+ #-fsigned-char \ might be removed?
+ #-malign-natural \ might be removed?
+
+# these are to get g++ to switch to Objective-C++ mode
+# (see toolkit module for a case where it is necessary to do it this way)
+gb_OBJCXXFLAGS := -x objective-c++ -fobjc-exceptions
+
+gb_OBJCFLAGS := -x objective-c
+
+ifneq ($(EXTERNAL_WARNINGS_NOT_ERRORS),TRUE)
+gb_CFLAGS_WERROR := -Werror
+gb_CXXFLAGS_WERROR := -Werror
+endif
+
+gb_LinkTarget_EXCEPTIONFLAGS := \
+ -DEXCEPTIONS_ON \
+ -fexceptions \
+ -fno-enforce-eh-specs \
+
+gb_LinkTarget_NOEXCEPTIONFLAGS := \
+ -DEXCEPTIONS_OFF \
+ -fno-exceptions \
+
+gb_LinkTarget_LDFLAGS := \
+ -Wl,-syslibroot,$(gb_SDKDIR) \
+ $(subst -L../lib , ,$(SOLARLIB)) \
+#man ld says: obsolete -Wl,-multiply_defined,suppress \
+
+ifneq ($(gb_DEBUGLEVEL),0)
+gb_COMPILEROPTFLAGS := -O0
+else
+gb_COMPILEROPTFLAGS := -O2
+endif
+
+gb_COMPILERNOOPTFLAGS := -O0
+
+# Helper class
+
+gb_Helper_abbreviate_dirs_native = $(gb_Helper_abbreviate_dirs)
+
+gb_Helper_set_ld_path := DYLD_LIBRARY_PATH=$(OUTDIR_FOR_BUILD)/lib
+
+# convert parametters filesystem root to native notation
+# does some real work only on windows, make sure not to
+# break the dummy implementations on unx*
+define gb_Helper_convert_native
+$(1)
+endef
+
+
+# CObject class
+
+define gb_CObject__command
+$(call gb_Output_announce,$(2),$(true),C ,3)
+$(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $(1)) && \
+ mkdir -p $(dir $(call gb_CObject_get_dep_target,$(2))) && \
+ $(gb_CC) \
+ $(DEFS) $(CFLAGS) \
+ -c $(3) \
+ -o $(1) \
+ -MMD -MT $(call gb_CObject_get_target,$(2)) \
+ -MF $(call gb_CObject_get_dep_target,$(2)) \
+ -I$(dir $(3)) \
+ $(INCLUDE))
+endef
+
+
+# CxxObject class
+
+# N.B: $(CXXFLAGS) may contain -x objective-c++, which must come before -c
+define gb_CxxObject__command
+$(call gb_Output_announce,$(2),$(true),CXX,3)
+$(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $(1)) && \
+ mkdir -p $(dir $(call gb_CxxObject_get_dep_target,$(2))) && \
+ $(gb_CXX) \
+ $(DEFS) $(CXXFLAGS) \
+ -c $(3) \
+ -o $(1) \
+ -MMD -MT $(call gb_CxxObject_get_target,$(2)) \
+ -MF $(call gb_CxxObject_get_dep_target,$(2)) \
+ -I$(dir $(3)) \
+ $(INCLUDE_STL) $(INCLUDE))
+endef
+
+
+# ObjCxxObject class
+
+define gb_ObjCxxObject__command
+$(call gb_Output_announce,$(2),$(true),OCX,3)
+$(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $(1)) && \
+ mkdir -p $(dir $(call gb_ObjCxxObject_get_dep_target,$(2))) && \
+ $(gb_CXX) \
+ $(DEFS) $(OBJCXXFLAGS) \
+ -c $(3) \
+ -o $(1) \
+ -MMD -MT $(call gb_ObjCxxObject_get_target,$(2)) \
+ -MF $(call gb_ObjCxxObject_get_dep_target,$(2)) \
+ -I$(dir $(3)) \
+ $(INCLUDE_STL) $(INCLUDE))
+endef
+
+# ObjCObject class
+
+define gb_ObjCObject__command
+$(call gb_Output_announce,$(2),$(true),OCC,3)
+$(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $(1)) && \
+ mkdir -p $(dir $(call gb_ObjCObject_get_dep_target,$(2))) && \
+ $(gb_CC) \
+ $(DEFS) $(OBJCFLAGS) \
+ -c $(3) \
+ -o $(1) \
+ -MMD -MT $(call gb_ObjCObject_get_target,$(2)) \
+ -MF $(call gb_ObjCObject_get_dep_target,$(2)) \
+ -I$(dir $(3)) \
+ $(INCLUDE_STL) $(INCLUDE))
+endef
+
+
+# LinkTarget class
+
+gb_LinkTarget_CFLAGS := $(gb_CFLAGS) $(gb_CFLAGS_WERROR) $(gb_COMPILEROPTFLAGS)
+gb_LinkTarget_CXXFLAGS := $(gb_CXXFLAGS) $(gb_CXXFLAGS_WERROR)
+gb_LinkTarget_OBJCXXFLAGS := $(gb_CXXFLAGS) $(gb_CXXFLAGS_WERROR) $(gb_OBJCXXFLAGS) $(gb_COMPILEROPTFLAGS)
+gb_LinkTarget_OBJCFLAGS := $(gb_CFLAGS) $(gb_OBJCFLAGS) $(gb_COMPILEROPTFLAGS)
+
+ifeq ($(gb_SYMBOL),$(true))
+gb_LinkTarget_CFLAGS += -g
+gb_LinkTarget_CXXFLAGS += -g
+gb_LinkTarget_OBJCXXFLAGS += -g
+gb_LinkTarget_OBJCFLAGS += -g
+endif
+
+gb_LinkTarget_INCLUDE := $(filter-out %/stl, $(subst -I. , ,$(SOLARINC)))
+gb_LinkTarget_INCLUDE_STL := $(filter %/stl, $(subst -I. , ,$(SOLARINC)))
+
+# FIXME framework handling very hackish
+define gb_LinkTarget__get_liblinkflags
+$(patsubst lib%.dylib,-l%,$(foreach lib,$(filter-out $(gb_Library__FRAMEWORKS),$(1)),$(call gb_Library_get_filename,$(lib)))) \
+$(addprefix -framework ,$(filter $(gb_Library__FRAMEWORKS),$(1)))
+endef
+
+define gb_LinkTarget__get_layer
+$(if $(filter Executable,$(1)),\
+ $$(call gb_Executable_get_layer,$(2)),\
+ $$(call gb_Library_get_layer,$(2)))
+endef
+
+# Just create a dummy executable
+# It is pointless to build actual iOS executables here anyway.
+# Hmm, except for the simulator? Nah, use Xcode for that, too.
+define gb_LinkTarget__command_dynamiclink
+$(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $(1)) && \
+ ((echo '#!/bin/sh' && echo 'echo Nope.') >$(1)))
+endef
+
+# parameters: 1-linktarget 2-cobjects 3-cxxobjects
+define gb_LinkTarget__command_staticlink
+$(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $(1)) && \
+ $(gb_AR) -rsu $(1) \
+ $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
+ $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
+ $(foreach object,$(OBJCOBJECTS),$(call gb_ObjCObject_get_target,$(object))) \
+ $(foreach object,$(OBJCXXOBJECTS),$(call gb_ObjCxxObject_get_target,$(object))) \
+ $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
+ $(foreach extraobjectlist,$(EXTRAOBJECTLISTS),@$(extraobjectlist)) \
+ 2> /dev/null)
+endef
+
+define gb_LinkTarget__command
+$(call gb_Output_announce,$(2),$(true),LNK,4)
+$(if $(filter CppunitTest Executable,$(TARGETTYPE)),$(call gb_LinkTarget__command_dynamiclink,$(1),$(2)))
+$(if $(filter Library StaticLibrary,$(TARGETTYPE)),$(call gb_LinkTarget__command_staticlink,$(1)))
+endef
+
+
+# Library class
+
+gb_Library_DEFS :=
+gb_Library_SYSPRE := lib
+gb_Library_UNOVERPRE := $(gb_Library_SYSPRE)uno_
+gb_Library_PLAINEXT := .a
+gb_Library_RTEXT := gcc3$(gb_Library_PLAINEXT)
+
+gb_Library_OOOEXT := $(gb_Library_DLLPOSTFIX)$(gb_Library_PLAINEXT)
+gb_Library_UNOEXT := .uno$(gb_Library_PLAINEXT)
+
+gb_Library__FRAMEWORKS := \
+
+gb_Library_PLAINLIBS_NONE += \
+ jpeg \
+ m \
+ pthread \
+ z \
+
+gb_Library_FILENAMES := \
+ $(foreach lib,$(gb_Library_OOOLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_OOOEXT)) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_NONE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
+ $(foreach lib,$(gb_Library_RTLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_RTEXT)) \
+ $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_RTEXT)) \
+ $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):$(lib)$(gb_Library_UNOEXT)) \
+ $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):$(lib)$(gb_Library_UNOEXT)) \
+ $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):$(gb_Library_UNOVERPRE)$(lib)$(gb_Library_PLAINEXT)) \
+
+
+gb_Library_LAYER := \
+ $(foreach lib,$(gb_Library_OOOLIBS),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_RTLIBS),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):OOO) \
+
+define gb_Library_Library_platform
+$(call gb_LinkTarget_get_target,$(2)) : LAYER := $(call gb_Library_get_layer,$(1))
+
+endef
+
+
+# StaticLibrary class
+
+gb_StaticLibrary_DEFS :=
+gb_StaticLibrary_SYSPRE := lib
+gb_StaticLibrary_PLAINEXT := .a
+gb_StaticLibrary_JPEGEXT := lib$(gb_StaticLibrary_PLAINEXT)
+
+gb_StaticLibrary_FILENAMES := \
+ $(foreach lib,$(gb_StaticLibrary_JPEGLIBS),$(lib):$(gb_StaticLibrary_SYSPRE)$(lib)$(gb_StaticLibrary_JPEGEXT)) \
+ $(foreach lib,$(gb_StaticLibrary_PLAINLIBS),$(lib):$(gb_StaticLibrary_SYSPRE)$(lib)$(gb_StaticLibrary_PLAINEXT)) \
+
+gb_StaticLibrary_StaticLibrary_platform =
+
+
+# Executable class
+
+gb_Executable_EXT :=
+gb_Executable_TARGETTYPEFLAGS := -bind_at_load
+
+gb_Executable_LAYER := \
+ $(foreach exe,$(gb_Executable_UREBIN),$(exe):OOO) \
+ $(foreach exe,$(gb_Executable_SDK),$(exe):OOO) \
+ $(foreach exe,$(gb_Executable_OOO),$(exe):OOO) \
+ $(foreach exe,$(gb_Executable_BRAND),$(exe):OOO) \
+ $(foreach exe,$(gb_Executable_NONE),$(exe):OOO) \
+
+
+define gb_Executable_Executable_platform
+$(call gb_LinkTarget_get_target,$(2)) : LAYER := $(call gb_Executable_get_layer,$(1))
+
+endef
+
+
+# CppunitTest class
+
+gb_CppunitTest_CPPTESTPRECOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib
+gb_CppunitTest_SYSPRE := libtest_
+gb_CppunitTest_EXT := .dylib
+gb_CppunitTest_get_filename = $(gb_CppunitTest_SYSPRE)$(1)$(gb_CppunitTest_EXT)
+gb_CppunitTest_get_libfilename = $(gb_CppunitTest_get_filename)
+
+define gb_CppunitTest_CppunitTest_platform
+$(call gb_LinkTarget_get_target,$(2)) :
+$(call gb_LinkTarget_get_target,$(2)) : LAYER := NONE
+
+endef
+
+# JunitTest class
+
+define gb_JunitTest_JunitTest_platform
+$(call gb_JunitTest_get_target,$(1)) : DEFS := \
+ -Dorg.openoffice.test.arg.soffice="$$$${OOO_TEST_SOFFICE:-path:$(OUTDIR)/installation/opt/LibreOffice.app/Contents/MacOS/soffice}" \
+ -Dorg.openoffice.test.arg.env=DYLD_LIBRARY_PATH \
+ -Dorg.openoffice.test.arg.user=file://$(call gb_JunitTest_get_userdir,$(1)) \
+
+endef
+
+# SdiTarget class
+
+gb_SdiTarget_SVIDLPRECOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib
+
+# SrsPartMergeTarget
+
+gb_SrsPartMergeTarget_TRANSEXPRECOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib
+
+# SrsPartTarget class
+
+gb_SrsPartTarget_RSCTARGET := $(OUTDIR)/bin/rsc
+gb_SrsPartTarget_RSCCOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib SOLARBINDIR=$(OUTDIR)/bin $(gb_SrsPartTarget_RSCTARGET)
+
+define gb_SrsPartTarget__command_dep
+$(call gb_Helper_abbreviate_dirs,\
+ $(gb_GCCP) \
+ -MM -MT $(call gb_SrsPartTarget_get_target,$(1)) \
+ $(INCLUDE) \
+ $(DEFS) \
+ -c -x c++-header $(2) \
+ -o $(call gb_SrsPartTarget_get_dep_target,$(1)))
+endef
+
+
+# ComponentTarget
+
+gb_XSLTPROCPRECOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib
+gb_Library_COMPONENTPREFIXES := \
+ OOO:vnd.sun.star.expand:\dOOO_BASE_DIR/program/ \
+ URELIB:vnd.sun.star.expand:\dURE_INTERNAL_LIB_DIR/ \
+
+
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/platform/linux-ARM.mk b/solenv/gbuild/platform/linux-ARM.mk
new file mode 100644
index 000000000000..df39d54a3ddb
--- /dev/null
+++ b/solenv/gbuild/platform/linux-ARM.mk
@@ -0,0 +1,38 @@
+#*************************************************************************
+#
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Initial Developer of the Original Code is
+# Caolán McNamara <caolanm@redhat.com> (Red Hat, Inc.)
+# Portions created by the Initial Developer are Copyright (C) 2010 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s): Caolán McNamara <caolanm@redhat.com>
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+#
+#*************************************************************************
+
+#please make generic modifications to unxgcc.mk or linux.mk
+gb_CPUDEFS += -DARM32
+gb_COMPILERDEFAULTOPTFLAGS := -Os
+gb_CXXFLAGS += -fno-omit-frame-pointer
+gb_CFLAGS += -fno-omit-frame-pointer
+
+include $(GBUILDDIR)/platform/unxgcc.mk
+
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/platform/linux-AXP.mk b/solenv/gbuild/platform/linux-AXP.mk
new file mode 100644
index 000000000000..ebf88fb7f71c
--- /dev/null
+++ b/solenv/gbuild/platform/linux-AXP.mk
@@ -0,0 +1,39 @@
+#*************************************************************************
+#
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Initial Developer of the Original Code is
+# Caolán McNamara <caolanm@redhat.com> (Red Hat, Inc.)
+# Portions created by the Initial Developer are Copyright (C) 2010 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s): Caolán McNamara <caolanm@redhat.com>
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+#
+#*************************************************************************
+
+#please make generic modifications to unxgcc.mk or linux.mk
+gb_CPUDEFS += -D$(CPUNAME)
+gb_COMPILERDEFAULTOPTFLAGS := -Os
+gb_CXXFLAGS += -fsigned-char -fno-omit-frame-pointer
+gb_CFLAGS += -fsigned-char -fno-omit-frame-pointer
+gb_LinkTarget_LDFLAGS += -Wl,--no-relax
+
+include $(GBUILDDIR)/platform/unxgcc.mk
+
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/platform/linux-GODSON.mk b/solenv/gbuild/platform/linux-GODSON.mk
new file mode 100644
index 000000000000..0f17660b2122
--- /dev/null
+++ b/solenv/gbuild/platform/linux-GODSON.mk
@@ -0,0 +1,36 @@
+#*************************************************************************
+#
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Initial Developer of the Original Code is
+# Caolán McNamara <caolanm@redhat.com> (Red Hat, Inc.)
+# Portions created by the Initial Developer are Copyright (C) 2010 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s): Caolán McNamara <caolanm@redhat.com>
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+#
+#*************************************************************************
+
+#please make generic modifications to unxgcc.mk or linux.mk
+gb_CPUDEFS += -DMIPS
+gb_COMPILERDEFAULTOPTFLAGS := -Os
+
+include $(GBUILDDIR)/platform/unxgcc.mk
+
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/platform/linux-HPPA.mk b/solenv/gbuild/platform/linux-HPPA.mk
new file mode 100644
index 000000000000..ad5fba8ca592
--- /dev/null
+++ b/solenv/gbuild/platform/linux-HPPA.mk
@@ -0,0 +1,36 @@
+#*************************************************************************
+#
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Initial Developer of the Original Code is
+# Caolán McNamara <caolanm@redhat.com> (Red Hat, Inc.)
+# Portions created by the Initial Developer are Copyright (C) 2010 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s): Caolán McNamara <caolanm@redhat.com>
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+#
+#*************************************************************************
+
+#please make generic modifications to unxgcc.mk or linux.mk
+gb_CPUDEFS += -D$(CPUNAME)
+gb_COMPILERDEFAULTOPTFLAGS := -O2
+
+include $(GBUILDDIR)/platform/unxgcc.mk
+
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/platform/linux-IA64.mk b/solenv/gbuild/platform/linux-IA64.mk
new file mode 100644
index 000000000000..9eba1ffcf516
--- /dev/null
+++ b/solenv/gbuild/platform/linux-IA64.mk
@@ -0,0 +1,36 @@
+#*************************************************************************
+#
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Initial Developer of the Original Code is
+# Caolán McNamara <caolanm@redhat.com> (Red Hat, Inc.)
+# Portions created by the Initial Developer are Copyright (C) 2010 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s): Caolán McNamara <caolanm@redhat.com>
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+#
+#*************************************************************************
+
+#please make generic modifications to unxgcc.mk or linux.mk
+gb_CPUDEFS := -D$(CPUNAME)
+gb_COMPILERDEFAULTOPTFLAGS := -O2
+
+include $(GBUILDDIR)/platform/linux.mk
+
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/platform/linux-INTEL.mk b/solenv/gbuild/platform/linux-INTEL.mk
new file mode 100644
index 000000000000..0bf0267f084d
--- /dev/null
+++ b/solenv/gbuild/platform/linux-INTEL.mk
@@ -0,0 +1,36 @@
+#*************************************************************************
+#
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Initial Developer of the Original Code is
+# Caolán McNamara <caolanm@redhat.com> (Red Hat, Inc.)
+# Portions created by the Initial Developer are Copyright (C) 2010 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s): Caolán McNamara <caolanm@redhat.com>
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+#
+#*************************************************************************
+
+#please make generic modifications to unxgcc.mk or linux.mk
+gb_CPUDEFS := -DX86
+gb_COMPILERDEFAULTOPTFLAGS := -Os
+
+include $(GBUILDDIR)/platform/linux.mk
+
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/platform/linux-M68K.mk b/solenv/gbuild/platform/linux-M68K.mk
new file mode 100644
index 000000000000..670a33183ea9
--- /dev/null
+++ b/solenv/gbuild/platform/linux-M68K.mk
@@ -0,0 +1,38 @@
+#*************************************************************************
+#
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Initial Developer of the Original Code is
+# Caolán McNamara <caolanm@redhat.com> (Red Hat, Inc.)
+# Portions created by the Initial Developer are Copyright (C) 2010 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s): Caolán McNamara <caolanm@redhat.com>
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+#
+#*************************************************************************
+
+#please make generic modifications to unxgcc.mk or linux.mk
+gb_CPUDEFS += -D$(CPUNAME)
+gb_COMPILERDEFAULTOPTFLAGS := -Os
+gb_CXXFLAGS += -fsigned-char -fno-omit-frame-pointer
+gb_CFLAGS += -fsigned-char -fno-omit-frame-pointer
+
+include $(GBUILDDIR)/platform/unxgcc.mk
+
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/platform/linux-POWERPC.mk b/solenv/gbuild/platform/linux-POWERPC.mk
new file mode 100644
index 000000000000..ba730c9b265b
--- /dev/null
+++ b/solenv/gbuild/platform/linux-POWERPC.mk
@@ -0,0 +1,38 @@
+#*************************************************************************
+#
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Initial Developer of the Original Code is
+# Caolán McNamara <caolanm@redhat.com> (Red Hat, Inc.)
+# Portions created by the Initial Developer are Copyright (C) 2010 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s): Caolán McNamara <caolanm@redhat.com>
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+#
+#*************************************************************************
+
+#please make generic modifications to unxgcc.mk or linux.mk
+gb_CPUDEFS += -DPOWERPC -DPPC
+gb_COMPILERDEFAULTOPTFLAGS := -O2
+gb_CXXFLAGS += -fsigned-char
+gb_CFLAGS += -fsigned-char
+
+include $(GBUILDDIR)/platform/unxgcc.mk
+
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/platform/linux-POWERPC64.mk b/solenv/gbuild/platform/linux-POWERPC64.mk
new file mode 100644
index 000000000000..b58010f66404
--- /dev/null
+++ b/solenv/gbuild/platform/linux-POWERPC64.mk
@@ -0,0 +1,37 @@
+#*************************************************************************
+#
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Initial Developer of the Original Code is
+# Caolán McNamara <caolanm@redhat.com> (Red Hat, Inc.)
+# Portions created by the Initial Developer are Copyright (C) 2010 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s): Caolán McNamara <caolanm@redhat.com>
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+#
+#*************************************************************************
+
+#please make generic modifications to unxgcc.mk or linux.mk
+gb_CPUDEFS := -D$(CPUNAME)
+gb_CXXFLAGS += -mminimal-toc
+gb_CFLAGS += -fsigned-char
+
+include $(GBUILDDIR)/platform/linux-POWERPC.mk
+
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/platform/linux-S390.mk b/solenv/gbuild/platform/linux-S390.mk
new file mode 100644
index 000000000000..983c94a9de69
--- /dev/null
+++ b/solenv/gbuild/platform/linux-S390.mk
@@ -0,0 +1,38 @@
+#*************************************************************************
+#
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Initial Developer of the Original Code is
+# Caolán McNamara <caolanm@redhat.com> (Red Hat, Inc.)
+# Portions created by the Initial Developer are Copyright (C) 2010 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s): Caolán McNamara <caolanm@redhat.com>
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+#
+#*************************************************************************
+
+#please make generic modifications to unxgcc.mk or linux.mk
+gb_CPUDEFS += -D$(CPUNAME)
+gb_COMPILERDEFAULTOPTFLAGS := -O2
+gb_CXXFLAGS += -fsigned-char -fno-omit-frame-pointer
+gb_CFLAGS += -fsigned-char -fno-omit-frame-pointer
+
+include $(GBUILDDIR)/platform/linux.mk
+
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/platform/linux-S390X.mk b/solenv/gbuild/platform/linux-S390X.mk
new file mode 100644
index 000000000000..a27c2acf016d
--- /dev/null
+++ b/solenv/gbuild/platform/linux-S390X.mk
@@ -0,0 +1,35 @@
+#*************************************************************************
+#
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Initial Developer of the Original Code is
+# Caolán McNamara <caolanm@redhat.com> (Red Hat, Inc.)
+# Portions created by the Initial Developer are Copyright (C) 2010 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s): Caolán McNamara <caolanm@redhat.com>
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+#
+#*************************************************************************
+
+#please make generic modifications to unxgcc.mk or linux.mk
+gb_CPUDEFS := -D$(CPUNAME)
+
+include $(GBUILDDIR)/platform/linux-S390.mk
+
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/platform/linux-SPARC.mk b/solenv/gbuild/platform/linux-SPARC.mk
new file mode 100644
index 000000000000..2472d5e84bf8
--- /dev/null
+++ b/solenv/gbuild/platform/linux-SPARC.mk
@@ -0,0 +1,36 @@
+#*************************************************************************
+#
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Initial Developer of the Original Code is
+# Caolán McNamara <caolanm@redhat.com> (Red Hat, Inc.)
+# Portions created by the Initial Developer are Copyright (C) 2010 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s): Caolán McNamara <caolanm@redhat.com>
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+#
+#*************************************************************************
+
+#please make generic modifications to unxgcc.mk or linux.mk
+gb_CPUDEFS := -D$(CPUNAME)
+gb_COMPILERDEFAULTOPTFLAGS := -Os
+
+include $(GBUILDDIR)/platform/linux.mk
+
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/platform/linux-X86_64.mk b/solenv/gbuild/platform/linux-X86_64.mk
new file mode 100644
index 000000000000..9eba1ffcf516
--- /dev/null
+++ b/solenv/gbuild/platform/linux-X86_64.mk
@@ -0,0 +1,36 @@
+#*************************************************************************
+#
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Initial Developer of the Original Code is
+# Caolán McNamara <caolanm@redhat.com> (Red Hat, Inc.)
+# Portions created by the Initial Developer are Copyright (C) 2010 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s): Caolán McNamara <caolanm@redhat.com>
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+#
+#*************************************************************************
+
+#please make generic modifications to unxgcc.mk or linux.mk
+gb_CPUDEFS := -D$(CPUNAME)
+gb_COMPILERDEFAULTOPTFLAGS := -O2
+
+include $(GBUILDDIR)/platform/linux.mk
+
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/platform/linux.mk b/solenv/gbuild/platform/linux.mk
index 47d173054328..4ef02d54b2f7 100644
--- a/solenv/gbuild/platform/linux.mk
+++ b/solenv/gbuild/platform/linux.mk
@@ -25,398 +25,9 @@
#
#*************************************************************************
-GUI := UNX
-COM := GCC
-
-gb_MKTEMP := mktemp -t gbuild.XXXXXX
-
-gb_CC := gcc
-gb_CXX := g++
-gb_GCCP := gcc
-gb_AR := ar
-gb_AWK := awk
-gb_CLASSPATHSEP := :
-
-# normalize setsolar and configure env.
-ifeq ($(CPU),X)
-CPUNAME := X86_64
-endif
-
-# use CC/CXX if they are nondefaults
-ifneq ($(origin CC),default)
-gb_CC := $(CC)
-gb_GCCP := $(CC)
-endif
-ifneq ($(origin CXX),default)
-gb_CXX := $(CXX)
-endif
-
-gb_OSDEFS := \
- -D$(OS) \
- -D_PTHREADS \
- -DUNIX \
- -DUNX \
- $(PTHREAD_CFLAGS) \
-
-ifeq ($(GXX_INCLUDE_PATH),)
-GXX_INCLUDE_PATH=$(COMPATH)/include/c++/$(shell gcc -dumpversion)
-endif
-
-gb_COMPILERDEFS := \
- -D$(COM) \
- -DHAVE_GCC_VISIBILITY_FEATURE \
- -DCPPU_ENV=gcc3 \
- -DGXX_INCLUDE_PATH=$(GXX_INCLUDE_PATH) \
-
-ifeq ($(CPUNAME),X86_64)
-gb_CPUDEFS := -D$(CPUNAME)
-else
-gb_CPUDEFS := -DX86
-endif
-
-gb_CFLAGS := \
- -Wall \
- -Wendif-labels \
- -Wextra \
- -Wshadow \
- -fPIC \
- -fmessage-length=0 \
- -fno-common \
- -fno-strict-aliasing \
- -fvisibility=hidden \
- -pipe \
-
-gb_CXXFLAGS := \
- -Wall \
- -Wendif-labels \
- -Wextra \
- -Wno-ctor-dtor-privacy \
- -Wno-non-virtual-dtor \
- -Wshadow \
- -fPIC \
- -fmessage-length=0 \
- -fno-common \
- -fno-strict-aliasing \
- -fno-use-cxa-atexit \
- -fvisibility-inlines-hidden \
- -fvisibility=hidden \
- -pipe \
-
-ifneq ($(EXTERNAL_WARNINGS_NOT_ERRORS),TRUE)
-gb_CFLAGS_WERROR := -Werror
-gb_CXXFLAGS_WERROR := -Werror
-endif
-
-ifneq ($(strip $(SYSBASE)),)
-gb_CXXFLAGS += --sysroot=$(SYSBASE)
-gb_CFLAGS += --sysroot=$(SYSBASE)
-endif
-gb_LinkTarget_EXCEPTIONFLAGS := \
- -DEXCEPTIONS_ON \
- -fexceptions \
- -fno-enforce-eh-specs \
-
-gb_LinkTarget_NOEXCEPTIONFLAGS := \
- -DEXCEPTIONS_OFF \
- -fno-exceptions \
-
-gb_LinkTarget_LDFLAGS := \
- -Wl,--sysroot=$(SYSBASE) \
- -Wl,-rpath-link,$(SYSBASE)/lib:$(SYSBASE)/usr/lib \
- -Wl,-z,combreloc \
- -Wl,-z,defs \
- $(subst -L../lib , ,$(SOLARLIB)) \
-
-ifeq ($(HAVE_LD_HASH_STYLE),TRUE)
-gb_LinkTarget_LDFLAGS += \
- -Wl,--hash-style=both \
-
-endif
-
-ifneq ($(HAVE_LD_BSYMBOLIC_FUNCTIONS),)
gb_LinkTarget_LDFLAGS += \
- -Wl,--dynamic-list-cpp-new \
- -Wl,--dynamic-list-cpp-typeinfo \
- -Wl,-Bsymbolic-functions \
-
-endif
-
-ifeq ($(gb_DEBUGLEVEL),0)
-gb_LinkTarget_LDFLAGS += -Wl,-O1
-endif
-
-gb_DEBUG_CFLAGS := -ggdb3 -finline-limit=0 -fno-inline -fno-default-inline
-
-ifeq ($(gb_DEBUGLEVEL),2)
-gb_COMPILEROPTFLAGS := -O0
-else
-gb_COMPILEROPTFLAGS := -Os
-endif
-
-gb_COMPILERNOOPTFLAGS := -O0
-
-# Helper class
-
-gb_Helper_abbreviate_dirs_native = $(gb_Helper_abbreviate_dirs)
-
-# convert parametters filesystem root to native notation
-# does some real work only on windows, make sure not to
-# break the dummy implementations on unx*
-define gb_Helper_convert_native
-$(1)
-endef
-
-# CObject class
-
-# $(call gb_CObject__command,object,relative-source,source,dep-file)
-define gb_CObject__command
-$(call gb_Output_announce,$(2),$(true),C ,3)
-$(call gb_Helper_abbreviate_dirs,\
- mkdir -p $(dir $(1)) $(dir $(4)) && \
- $(gb_CC) \
- $(DEFS) \
- $(T_CFLAGS) \
- -c $(3) \
- -o $(1) \
- -MMD -MT $(1) \
- -MF $(4) \
- -I$(dir $(3)) \
- $(INCLUDE))
-endef
-
-
-# CxxObject class
-
-# $(call gb_CxxObject__command,object,relative-source,source,dep-file)
-define gb_CxxObject__command
-$(call gb_Output_announce,$(2),$(true),CXX,3)
-$(call gb_Helper_abbreviate_dirs,\
- mkdir -p $(dir $(1)) $(dir $(4)) && \
- $(gb_CXX) \
- $(DEFS) \
- $(T_CXXFLAGS) \
- -c $(3) \
- -o $(1) \
- -MMD -MT $(1) \
- -MF $(4) \
- -I$(dir $(3)) \
- $(INCLUDE_STL) $(INCLUDE))
-endef
-
-
-# LinkTarget class
-
-define gb_LinkTarget__get_rpath_for_layer
-$(patsubst $(1):%,%,$(filter $(1):%,$(gb_LinkTarget__RPATHS)))
-endef
-
-gb_LinkTarget__RPATHS := \
- URELIB:\dORIGIN \
- UREBIN:\dORIGIN/../lib:\dORIGIN \
- OOO:\dORIGIN:\dORIGIN/../ure-link/lib \
- BRAND:\dORIGIN:\dORIGIN/../basis-link/program:\dORIGIN/../basis-link/ure-link/lib \
- SDKBIN:\dORIGIN/../../ure-link/lib \
- NONEBIN:\dORIGIN/../lib:\dORIGIN \
-
-gb_LinkTarget_CFLAGS := $(gb_CFLAGS) $(gb_CFLAGS_WERROR)
-gb_LinkTarget_CXXFLAGS := $(gb_CXXFLAGS) $(gb_CXXFLAGS_WERROR)
-
-
-gb_LinkTarget_INCLUDE := $(filter-out %/stl, $(subst -I. , ,$(SOLARINC)))
-gb_LinkTarget_INCLUDE_STL := $(filter %/stl, $(subst -I. , ,$(SOLARINC)))
-
-define gb_LinkTarget__command_dynamiclink
-$(call gb_Helper_abbreviate_dirs,\
- mkdir -p $(dir $(1)) && \
- $(gb_CXX) \
- $(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
- $(subst \d,$$,$(RPATH)) \
- $(T_LDFLAGS) \
- $(patsubst lib%.so,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib)))) \
- $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
- $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
- $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
- -Wl$(COMMA)--start-group $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) -Wl$(COMMA)--end-group \
- $(LIBS) \
- -o $(1))
-endef
-
-define gb_LinkTarget__command_staticlink
-$(call gb_Helper_abbreviate_dirs,\
- mkdir -p $(dir $(1)) && \
- $(gb_AR) -rsu $(1) \
- $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
- $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
- $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
- 2> /dev/null)
-endef
-
-define gb_LinkTarget__command
-$(call gb_Output_announce,$(2),$(true),LNK,4)
-$(if $(filter Library CppunitTest Executable,$(TARGETTYPE)),$(call gb_LinkTarget__command_dynamiclink,$(1)))
-$(if $(filter StaticLibrary,$(TARGETTYPE)),$(call gb_LinkTarget__command_staticlink,$(1)))
-endef
-
-
-# Library class
-
-gb_Library_DEFS :=
-gb_Library_TARGETTYPEFLAGS := -shared -Wl,-z,noexecstack
-gb_Library_SYSPRE := lib
-gb_Library_UNOVERPRE := $(gb_Library_SYSPRE)uno_
-gb_Library_PLAINEXT := .so
-gb_Library_RTEXT := gcc3$(gb_Library_PLAINEXT)
-ifeq ($(gb_PRODUCT),$(true))
-gb_Library_STLEXT := port_gcc$(gb_Library_PLAINEXT)
-else
-gb_Library_STLEXT := port_gcc_stldebug$(gb_Library_PLAINEXT)
-endif
-
-ifeq ($(CPUNAME),X86_64)
-gb_Library_OOOEXT := lx$(gb_Library_PLAINEXT)
-gb_Library_UNOEXT := .uno$(gb_Library_PLAINEXT)
-else
-gb_Library_OOOEXT := li$(gb_Library_PLAINEXT)
-gb_Library_UNOEXT := .uno$(gb_Library_PLAINEXT)
-endif
-
-gb_Library_PLAINLIBS_NONE += \
- dl \
- fontconfig \
- freetype \
- m \
- pthread \
- ICE \
- SM \
- X11 \
- Xext \
- Xrender \
-
-gb_Library_FILENAMES := \
- $(foreach lib,$(gb_Library_OOOLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_OOOEXT)) \
- $(foreach lib,$(gb_Library_PLAINLIBS_NONE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
- $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
- $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
- $(foreach lib,$(gb_Library_RTLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_RTEXT)) \
- $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_RTEXT)) \
- $(foreach lib,$(gb_Library_STLLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_STLEXT)) \
- $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):$(lib)$(gb_Library_UNOEXT)) \
- $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):$(lib)$(gb_Library_UNOEXT)) \
- $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):$(gb_Library_UNOVERPRE)$(lib)$(gb_Library_PLAINEXT)) \
-
-
-gb_Library_LAYER := \
- $(foreach lib,$(gb_Library_OOOLIBS),$(lib):OOO) \
- $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):URELIB) \
- $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):OOO) \
- $(foreach lib,$(gb_Library_RTLIBS),$(lib):OOO) \
- $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):URELIB) \
- $(foreach lib,$(gb_Library_STLLIBS),$(lib):URELIB) \
- $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):URELIB) \
- $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):OOO) \
- $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):URELIB) \
-
-define gb_Library_get_rpath
-'-Wl,-rpath,$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Library_get_layer,$(1)))' \
-'-Wl,-rpath-link,$(gb_Library_OUTDIRLOCATION)'
-endef
-
-define gb_Library_Library_platform
-$(call gb_LinkTarget_get_target,$(2)) : RPATH := $(call gb_Library_get_rpath,$(1))
-
-endef
-
-
-# StaticLibrary class
-
-gb_StaticLibrary_DEFS :=
-gb_StaticLibrary_SYSPRE := lib
-gb_StaticLibrary_PLAINEXT := .a
-gb_StaticLibrary_JPEGEXT := lib$(gb_StaticLibrary_PLAINEXT)
-
-gb_StaticLibrary_FILENAMES := \
- $(foreach lib,$(gb_StaticLibrary_JPEGLIBS),$(lib):$(gb_StaticLibrary_SYSPRE)$(lib)$(gb_StaticLibrary_JPEGEXT)) \
- $(foreach lib,$(gb_StaticLibrary_PLAINLIBS),$(lib):$(gb_StaticLibrary_SYSPRE)$(lib)$(gb_StaticLibrary_PLAINEXT)) \
-
-gb_StaticLibrary_StaticLibrary_platform =
-
-
-# Executable class
-
-gb_Executable_EXT :=
-
-gb_Executable_LAYER := \
- $(foreach exe,$(gb_Executable_UREBIN),$(exe):UREBIN) \
- $(foreach exe,$(gb_Executable_SDK),$(exe):SDKBIN) \
- $(foreach exe,$(gb_Executable_OOO),$(exe):OOO) \
- $(foreach exe,$(gb_Executable_BRAND),$(exe):BRAND) \
- $(foreach exe,$(gb_Executable_NONE),$(exe):NONEBIN) \
-
-
-define gb_Executable_get_rpath
-'-Wl,-rpath,$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Executable_get_layer,$(1)))' \
--Wl,-rpath-link,$(gb_Library_OUTDIRLOCATION)
-endef
-
-define gb_Executable_Executable_platform
-$(call gb_LinkTarget_get_target,$(2)) : RPATH := $(call gb_Executable_get_rpath,$(1))
-
-endef
-
-
-# CppunitTest class
-
-gb_CppunitTest_CPPTESTPRECOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib
-gb_CppunitTest_SYSPRE := libtest_
-gb_CppunitTest_EXT := .so
-gb_CppunitTest_get_filename = $(gb_CppunitTest_SYSPRE)$(1)$(gb_CppunitTest_EXT)
-gb_CppunitTest_get_libfilename = $(gb_CppunitTest_get_filename)
-
-define gb_CppunitTest_CppunitTest_platform
-$(call gb_LinkTarget_get_target,$(2)) : RPATH :=
-
-endef
-
-# JunitTest class
-
-define gb_JunitTest_JunitTest_platform
-$(call gb_JunitTest_get_target,$(1)) : DEFS := \
- -Dorg.openoffice.test.arg.soffice="$$$${OOO_TEST_SOFFICE:-path:$(OUTDIR)/installation/opt/openoffice.org3/program/soffice}" \
- -Dorg.openoffice.test.arg.env=LD_LIBRARY_PATH \
- -Dorg.openoffice.test.arg.user=file://$(call gb_JunitTest_get_userdir,$(1)) \
-
-endef
-
-# SdiTarget class
-
-gb_SdiTarget_SVIDLPRECOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib
-
-# SrsPartMergeTarget
-
-gb_SrsPartMergeTarget_TRANSEXPRECOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib
-
-# SrsPartTarget class
-
-gb_SrsPartTarget_RSCTARGET := $(OUTDIR)/bin/rsc
-gb_SrsPartTarget_RSCCOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib SOLARBINDIR=$(OUTDIR)/bin $(gb_SrsPartTarget_RSCTARGET)
-
-define gb_SrsPartTarget__command_dep
-$(call gb_Helper_abbreviate_dirs,\
- $(gb_GCCP) \
- -MM -MT $(call gb_SrsPartTarget_get_target,$(1)) \
- $(INCLUDE) \
- $(DEFS) \
- -c -x c++-header $(2) \
- -o $(call gb_SrsPartTarget_get_dep_target,$(1)))
-endef
-
-
-# ComponentTarget
+ -Wl,-z,defs \
-gb_XSLTPROCPRECOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib
-gb_Library_COMPONENTPREFIXES := \
- OOO:vnd.sun.star.expand:\dOOO_BASE_DIR/program/ \
- URELIB:vnd.sun.star.expand:\dURE_INTERNAL_LIB_DIR/ \
- NONE:vnd.sun.star.expand:\dOOO_INBUILD_SHAREDLIB_DIR/ \
+include $(GBUILDDIR)/platform/unxgcc.mk
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/platform/macosx.mk b/solenv/gbuild/platform/macosx.mk
index 6d9f38061e31..5f11ede7136c 100644
--- a/solenv/gbuild/platform/macosx.mk
+++ b/solenv/gbuild/platform/macosx.mk
@@ -1,7 +1,7 @@
#*************************************************************************
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
+#
# Copyright 2000, 2011 Oracle and/or its affiliates.
#
# OpenOffice.org - a multi-platform office productivity suite
@@ -48,20 +48,20 @@ gb_CXX := $(CXX)
endif
gb_OSDEFS := \
- -D$(OS) \
- -D_PTHREADS \
- -DUNIX \
- -DUNX \
- -D_REENTRANT \
- -DNO_PTHREAD_PRIORITY \
- -DQUARTZ \
- $(EXTRA_CDEFS) \
+ -D$(OS) \
+ -D_PTHREADS \
+ -DUNIX \
+ -DUNX \
+ -D_REENTRANT \
+ -DNO_PTHREAD_PRIORITY \
+ -DQUARTZ \
+ $(EXTRA_CDEFS) \
gb_COMPILERDEFS := \
- -D$(COM) \
- -DHAVE_GCC_VISIBILITY_FEATURE \
- -DCPPU_ENV=gcc3 \
- -DGXX_INCLUDE_PATH=$(GXX_INCLUDE_PATH) \
+ -D$(COM) \
+ -DHAVE_GCC_VISIBILITY_FEATURE \
+ -DCPPU_ENV=gcc3 \
+ -DGXX_INCLUDE_PATH=$(GXX_INCLUDE_PATH) \
ifeq ($(CPUNAME),POWERPC)
gb_CPUDEFS := -DPOWERPC -DPPC
@@ -77,62 +77,64 @@ endif
gb_CFLAGS := \
- -isysroot $(gb_SDKDIR) \
- -Wall \
- -Wendif-labels \
- -Wextra \
- -Wshadow \
- -fPIC \
- -fmessage-length=0 \
- -fno-common \
- -fno-strict-aliasing \
- -pipe \
+ -isysroot $(gb_SDKDIR) \
+ -Wall \
+ -Wendif-labels \
+ -Wextra \
+ -Wshadow \
+ -fPIC \
+ -fmessage-length=0 \
+ -fno-common \
+ -fno-strict-aliasing \
+ -pipe \
gb_CXXFLAGS := \
- -isysroot $(gb_SDKDIR) \
- -Wall \
- -Wendif-labels \
- -Wextra \
- -Wno-ctor-dtor-privacy \
- -Wno-long-double \
- -Wno-non-virtual-dtor \
- -fPIC \
- -fmessage-length=0 \
- -fno-common \
- -fno-strict-aliasing \
- -fsigned-char \
- -malign-natural \
- -pipe \
- #-Wshadow \ break in compiler headers already
- #-fsigned-char \ might be removed?
- #-malign-natural \ might be removed?
+ -isysroot $(gb_SDKDIR) \
+ -Wall \
+ -Wendif-labels \
+ -Wextra \
+ -Wno-ctor-dtor-privacy \
+ -Wno-long-double \
+ -Wno-non-virtual-dtor \
+ -fPIC \
+ -fmessage-length=0 \
+ -fno-common \
+ -fno-strict-aliasing \
+ -fsigned-char \
+ -malign-natural \
+ -pipe \
+ #-Wshadow \ break in compiler headers already
+ #-fsigned-char \ might be removed?
+ #-malign-natural \ might be removed?
# these are to get g++ to switch to Objective-C++ mode
# (see toolkit module for a case where it is necessary to do it this way)
gb_OBJCXXFLAGS := -x objective-c++ -fobjc-exceptions
+gb_OBJCFLAGS := -x objective-c
+
ifneq ($(EXTERNAL_WARNINGS_NOT_ERRORS),TRUE)
gb_CFLAGS_WERROR := -Werror
gb_CXXFLAGS_WERROR := -Werror
endif
gb_LinkTarget_EXCEPTIONFLAGS := \
- -DEXCEPTIONS_ON \
- -fexceptions \
- -fno-enforce-eh-specs \
+ -DEXCEPTIONS_ON \
+ -fexceptions \
+ -fno-enforce-eh-specs \
gb_LinkTarget_NOEXCEPTIONFLAGS := \
- -DEXCEPTIONS_OFF \
- -fno-exceptions \
+ -DEXCEPTIONS_OFF \
+ -fno-exceptions \
gb_LinkTarget_LDFLAGS := \
- -Wl,-syslibroot,$(gb_SDKDIR) \
- $(subst -L../lib , ,$(SOLARLIB)) \
+ -Wl,-syslibroot,$(gb_SDKDIR) \
+ $(subst -L../lib , ,$(SOLARLIB)) \
#man ld says: obsolete -Wl,-multiply_defined,suppress \
gb_DEBUG_CFLAGS := -g
+ifneq ($(gb_DEBUGLEVEL),0)
-ifeq ($(gb_DEBUGLEVEL),2)
gb_COMPILEROPTFLAGS := -O0
else
gb_COMPILEROPTFLAGS := -O2
@@ -144,6 +146,8 @@ gb_COMPILERNOOPTFLAGS := -O0
gb_Helper_abbreviate_dirs_native = $(gb_Helper_abbreviate_dirs)
+gb_Helper_set_ld_path := DYLD_LIBRARY_PATH=$(OUTDIR)/lib
+
# convert parametters filesystem root to native notation
# does some real work only on windows, make sure not to
# break the dummy implementations on unx*
@@ -158,15 +162,15 @@ define gb_CObject__command
$(call gb_Output_announce,$(2),$(true),C ,3)
$(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $(1)) $(dir $(4)) && \
- $(gb_CC) \
+ $(gb_CC) \
$(DEFS) \
$(T_CFLAGS) \
- -c $(3) \
- -o $(1) \
+ -c $(3) \
+ -o $(1) \
-MMD -MT $(1) \
-MF $(4) \
- -I$(dir $(3)) \
- $(INCLUDE))
+ -I$(dir $(3)) \
+ $(INCLUDE))
endef
@@ -177,15 +181,15 @@ define gb_CxxObject__command
$(call gb_Output_announce,$(2),$(true),CXX,3)
$(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $(1)) $(dir $(4)) && \
- $(gb_CXX) \
+ $(gb_CXX) \
$(DEFS) \
$(T_CXXFLAGS) \
- -c $(3) \
- -o $(1) \
+ -c $(3) \
+ -o $(1) \
-MMD -MT $(1) \
-MF $(4) \
- -I$(dir $(3)) \
- $(INCLUDE_STL) $(INCLUDE))
+ -I$(dir $(3)) \
+ $(INCLUDE_STL) $(INCLUDE))
endef
@@ -195,15 +199,32 @@ define gb_ObjCxxObject__command
$(call gb_Output_announce,$(2),$(true),OCX,3)
$(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $(1)) $(dir $(4)) && \
- $(gb_CXX) \
+ $(gb_CXX) \
$(DEFS) \
$(T_OBJCXXFLAGS) \
- -c $(3) \
- -o $(1) \
+ -c $(3) \
+ -o $(1) \
-MMD -MT $(1) \
-MF $(4) \
- -I$(dir $(3)) \
- $(INCLUDE_STL) $(INCLUDE))
+ -I$(dir $(3)) \
+ $(INCLUDE_STL) $(INCLUDE))
+endef
+
+# ObjCObject class
+
+define gb_ObjCObject__command
+$(call gb_Output_announce,$(2),$(true),OCC,3)
+$(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $(1)) && \
+ mkdir -p $(dir $(call gb_ObjCObject_get_dep_target,$(2))) && \
+ $(gb_CC) \
+ $(DEFS) $(OBJCFLAGS) \
+ -c $(3) \
+ -o $(1) \
+ -MMD -MT $(call gb_ObjCObject_get_target,$(2)) \
+ -MF $(call gb_ObjCObject_get_dep_target,$(2)) \
+ -I$(dir $(3)) \
+ $(INCLUDE_STL) $(INCLUDE))
endef
@@ -214,12 +235,12 @@ $(patsubst $(1):%,%,$(filter $(1):%,$(gb_LinkTarget__RPATHS)))
endef
gb_LinkTarget__RPATHS := \
- URELIB:@__________________________________________________URELIB/ \
- UREBIN: \
- OOO:@__________________________________________________OOO/ \
- BRAND: \
- SDKBIN: \
- NONEBIN: \
+ URELIB:@__________________________________________________URELIB/ \
+ UREBIN: \
+ OOO:@__________________________________________________OOO/ \
+ BRAND: \
+ SDKBIN: \
+ NONEBIN: \
define gb_LinkTarget__get_installname
$(if $(2),-install_name '$(2)$(1)',)
@@ -228,6 +249,8 @@ endef
gb_LinkTarget_CFLAGS := $(gb_CFLAGS) $(gb_CFLAGS_WERROR)
gb_LinkTarget_CXXFLAGS := $(gb_CXXFLAGS) $(gb_CXXFLAGS_WERROR)
gb_LinkTarget_OBJCXXFLAGS := $(gb_CXXFLAGS) $(gb_CXXFLAGS_WERROR) $(gb_OBJCXXFLAGS)
+gb_LinkTarget_OBJCFLAGS := $(gb_CFLAGS) $(gb_OBJCFLAGS) $(gb_COMPILEROPTFLAGS)
+gb_LinkTarget_OBJCFLAGS += -g
gb_LinkTarget_INCLUDE := $(filter-out %/stl, $(subst -I. , ,$(SOLARINC)))
gb_LinkTarget_INCLUDE_STL := $(filter %/stl, $(subst -I. , ,$(SOLARINC)))
@@ -240,52 +263,56 @@ endef
define gb_LinkTarget__get_layer
$(if $(filter Executable,$(1)),\
- $$(call gb_Executable_get_layer,$(2)),\
- $$(call gb_Library_get_layer,$(2)))
+ $$(call gb_Executable_get_layer,$(2)),\
+ $$(call gb_Library_get_layer,$(2)))
endef
# FIXME the DYLIB_FILE mess is only necessary because
# solver layout is different from installation layout
define gb_LinkTarget__command_dynamiclink
$(call gb_Helper_abbreviate_dirs,\
- mkdir -p $(dir $(1)) && \
- DYLIB_FILE=`$(gb_MKTEMP)` && \
- $(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
- $(if $(filter Executable,$(TARGETTYPE)),$(gb_Executable_TARGETTYPEFLAGS)) \
- $(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
+ mkdir -p $(dir $(1)) && \
+ DYLIB_FILE=`$(gb_MKTEMP)` && \
+ $(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
+ $(if $(filter Executable,$(TARGETTYPE)),$(gb_Executable_TARGETTYPEFLAGS)) \
+ $(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
$(subst \d,$$,$(RPATH)) \
$(T_LDFLAGS) \
- $(patsubst lib%.dylib,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib)))) > $${DYLIB_FILE} && \
- $(gb_CXX) \
- $(if $(filter Executable,$(TARGETTYPE)),$(gb_Executable_TARGETTYPEFLAGS)) \
- $(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
+ $(patsubst lib%.dylib,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib)))) > $${DYLIB_FILE} && \
+ $(gb_CXX) \
+ $(if $(filter Executable,$(TARGETTYPE)),$(gb_Executable_TARGETTYPEFLAGS)) \
+ $(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
$(subst \d,$$,$(RPATH)) \
$(T_LDFLAGS) \
- $(call gb_LinkTarget__get_liblinkflags,$(LINKED_LIBS)) \
- $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
- $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
- $(foreach object,$(OBJCXXOBJECTS),$(call gb_ObjCxxObject_get_target,$(object))) \
- $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
- $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) \
+ $(call gb_LinkTarget__get_liblinkflags,$(LINKED_LIBS)) \
+ $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
+ $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
+ $(foreach object,$(OBJCOBJECTS),$(call gb_ObjCObject_get_target,$(object))) \
+ $(foreach object,$(OBJCXXOBJECTS),$(call gb_ObjCxxObject_get_target,$(object))) \
+ $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
+ $(foreach extraobjectlist,$(EXTRAOBJECTLISTS),`cat $(extraobjectlist)`) \
+ $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) \
$(LIBS) \
- -o $(1) \
- `cat $${DYLIB_FILE}` && \
- $(if $(filter Library CppunitTest,$(TARGETTYPE)),\
- $(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl Library $(LAYER) $(1) && \
- ln -sf $(1) $(patsubst %.dylib,%.jnilib,$(1)) &&) \
- rm -f $${DYLIB_FILE})
+ -o $(1) \
+ `cat $${DYLIB_FILE}` && \
+ $(if $(filter Library CppunitTest,$(TARGETTYPE)),\
+ $(PERL) $(SOLARENV)/bin/macosx-change-install-names.pl Library $(LAYER) $(1) && \
+ ln -sf $(1) $(patsubst %.dylib,%.jnilib,$(1)) &&) \
+ rm -f $${DYLIB_FILE})
endef
# parameters: 1-linktarget 2-cobjects 3-cxxobjects
define gb_LinkTarget__command_staticlink
$(call gb_Helper_abbreviate_dirs,\
- mkdir -p $(dir $(1)) && \
- $(gb_AR) -rsu $(1) \
- $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
- $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
- $(foreach object,$(OBJCXXOBJECTS),$(call gb_ObjCxxObject_get_target,$(object))) \
- $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
- 2> /dev/null)
+ mkdir -p $(dir $(1)) && \
+ $(gb_AR) -rsu $(1) \
+ $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
+ $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
+ $(foreach object,$(OBJCOBJECTS),$(call gb_ObjCObject_get_target,$(object))) \
+ $(foreach object,$(OBJCXXOBJECTS),$(call gb_ObjCxxObject_get_target,$(object))) \
+ $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
+ $(foreach extraobjectlist,$(EXTRAOBJECTLISTS),@$(extraobjectlist)) \
+ 2> /dev/null)
endef
define gb_LinkTarget__command
@@ -303,52 +330,44 @@ gb_Library_SYSPRE := lib
gb_Library_UNOVERPRE := $(gb_Library_SYSPRE)uno_
gb_Library_PLAINEXT := .dylib
gb_Library_RTEXT := gcc3$(gb_Library_PLAINEXT)
-ifeq ($(gb_PRODUCT),$(true))
-gb_Library_STLEXT := port_gcc$(gb_Library_PLAINEXT)
-else
-gb_Library_STLEXT := port_gcc_stldebug$(gb_Library_PLAINEXT)
-endif
-ifeq ($(CPUNAME),INTEL)
-gb_Library_OOOEXT := mxi$(gb_Library_PLAINEXT)
+gb_Library_OOOEXT := $(gb_Library_DLLPOSTFIX)$(gb_Library_PLAINEXT)
gb_Library_UNOEXT := .uno$(gb_Library_PLAINEXT)
-else # ifeq ($(CPUNAME),POWERPC)
-gb_Library_OOOEXT := mxp$(gb_Library_PLAINEXT)
-gb_Library_UNOEXT := .uno$(gb_Library_PLAINEXT)
-endif
gb_Library__FRAMEWORKS := \
- Cocoa \
+ Cocoa \
+ GLUT \
+ OpenGL \
gb_Library_PLAINLIBS_NONE += \
- Cocoa \
- objc \
- m \
- pthread \
+ GLUT \
+ Cocoa \
+ objc \
+ OpenGL \
+ m \
+ pthread \
gb_Library_FILENAMES := \
- $(foreach lib,$(gb_Library_OOOLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_OOOEXT)) \
- $(foreach lib,$(gb_Library_PLAINLIBS_NONE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
- $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
- $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
- $(foreach lib,$(gb_Library_RTLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_RTEXT)) \
- $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_RTEXT)) \
- $(foreach lib,$(gb_Library_STLLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_STLEXT)) \
- $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):$(lib)$(gb_Library_UNOEXT)) \
- $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):$(lib)$(gb_Library_UNOEXT)) \
- $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):$(gb_Library_UNOVERPRE)$(lib)$(gb_Library_PLAINEXT)) \
+ $(foreach lib,$(gb_Library_OOOLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_OOOEXT)) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_NONE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
+ $(foreach lib,$(gb_Library_RTLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_RTEXT)) \
+ $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_RTEXT)) \
+ $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):$(lib)$(gb_Library_UNOEXT)) \
+ $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):$(lib)$(gb_Library_UNOEXT)) \
+ $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):$(gb_Library_UNOVERPRE)$(lib)$(gb_Library_PLAINEXT)) \
gb_Library_LAYER := \
- $(foreach lib,$(gb_Library_OOOLIBS),$(lib):OOO) \
- $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):URELIB) \
- $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):OOO) \
- $(foreach lib,$(gb_Library_RTLIBS),$(lib):OOO) \
- $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):URELIB) \
- $(foreach lib,$(gb_Library_STLLIBS),$(lib):URELIB) \
- $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):URELIB) \
- $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):OOO) \
- $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):URELIB) \
+ $(foreach lib,$(gb_Library_OOOLIBS),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):URELIB) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_RTLIBS),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):URELIB) \
+ $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):URELIB) \
+ $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):URELIB) \
define gb_Library_get_rpath
$(call gb_LinkTarget__get_installname,$(call gb_Library_get_filename,$(1)),$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Library_get_layer,$(1))))
@@ -369,8 +388,8 @@ gb_StaticLibrary_PLAINEXT := .a
gb_StaticLibrary_JPEGEXT := lib$(gb_StaticLibrary_PLAINEXT)
gb_StaticLibrary_FILENAMES := \
- $(foreach lib,$(gb_StaticLibrary_JPEGLIBS),$(lib):$(gb_StaticLibrary_SYSPRE)$(lib)$(gb_StaticLibrary_JPEGEXT)) \
- $(foreach lib,$(gb_StaticLibrary_PLAINLIBS),$(lib):$(gb_StaticLibrary_SYSPRE)$(lib)$(gb_StaticLibrary_PLAINEXT)) \
+ $(foreach lib,$(gb_StaticLibrary_JPEGLIBS),$(lib):$(gb_StaticLibrary_SYSPRE)$(lib)$(gb_StaticLibrary_JPEGEXT)) \
+ $(foreach lib,$(gb_StaticLibrary_PLAINLIBS),$(lib):$(gb_StaticLibrary_SYSPRE)$(lib)$(gb_StaticLibrary_PLAINEXT)) \
gb_StaticLibrary_StaticLibrary_platform =
@@ -381,11 +400,11 @@ gb_Executable_EXT :=
gb_Executable_TARGETTYPEFLAGS := -bind_at_load
gb_Executable_LAYER := \
- $(foreach exe,$(gb_Executable_UREBIN),$(exe):UREBIN) \
- $(foreach exe,$(gb_Executable_SDK),$(exe):SDKBIN) \
- $(foreach exe,$(gb_Executable_OOO),$(exe):OOO) \
- $(foreach exe,$(gb_Executable_BRAND),$(exe):BRAND) \
- $(foreach exe,$(gb_Executable_NONE),$(exe):NONEBIN) \
+ $(foreach exe,$(gb_Executable_UREBIN),$(exe):UREBIN) \
+ $(foreach exe,$(gb_Executable_SDK),$(exe):SDKBIN) \
+ $(foreach exe,$(gb_Executable_OOO),$(exe):OOO) \
+ $(foreach exe,$(gb_Executable_BRAND),$(exe):BRAND) \
+ $(foreach exe,$(gb_Executable_NONE),$(exe):NONEBIN) \
define gb_Executable_get_rpath
@@ -417,9 +436,9 @@ endef
define gb_JunitTest_JunitTest_platform
$(call gb_JunitTest_get_target,$(1)) : DEFS := \
- -Dorg.openoffice.test.arg.soffice="$$$${OOO_TEST_SOFFICE:-path:$(OUTDIR)/installation/opt/OpenOffice.org.app/Contents/MacOS/soffice}" \
- -Dorg.openoffice.test.arg.env=DYLD_LIBRARY_PATH \
- -Dorg.openoffice.test.arg.user=file://$(call gb_JunitTest_get_userdir,$(1)) \
+ -Dorg.openoffice.test.arg.soffice="$$$${OOO_TEST_SOFFICE:-path:$(OUTDIR)/installation/opt/LibreOffice.app/Contents/MacOS/soffice}" \
+ -Dorg.openoffice.test.arg.env=DYLD_LIBRARY_PATH \
+ -Dorg.openoffice.test.arg.user=file://$(call gb_JunitTest_get_userdir,$(1)) \
endef
@@ -438,12 +457,12 @@ gb_SrsPartTarget_RSCCOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib SOLARBINDIR=$(OUT
define gb_SrsPartTarget__command_dep
$(call gb_Helper_abbreviate_dirs,\
- $(gb_GCCP) \
- -MM -MT $(call gb_SrsPartTarget_get_target,$(1)) \
- $(INCLUDE) \
- $(DEFS) \
- -c -x c++-header $(2) \
- -o $(call gb_SrsPartTarget_get_dep_target,$(1)))
+ $(gb_GCCP) \
+ -MM -MT $(call gb_SrsPartTarget_get_target,$(1)) \
+ $(INCLUDE) \
+ $(DEFS) \
+ -c -x c++-header $(2) \
+ -o $(call gb_SrsPartTarget_get_dep_target,$(1)))
endef
@@ -451,8 +470,8 @@ endef
gb_XSLTPROCPRECOMMAND := DYLD_LIBRARY_PATH=$(OUTDIR)/lib
gb_Library_COMPONENTPREFIXES := \
- OOO:vnd.sun.star.expand:\dOOO_BASE_DIR/program/ \
- URELIB:vnd.sun.star.expand:\dURE_INTERNAL_LIB_DIR/ \
+ OOO:vnd.sun.star.expand:\dOOO_BASE_DIR/program/ \
+ URELIB:vnd.sun.star.expand:\dURE_INTERNAL_LIB_DIR/ \
NONE:vnd.sun.star.expand:\dOOO_INBUILD_SHAREDLIB_DIR/ \
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/platform/netbsd.mk b/solenv/gbuild/platform/netbsd.mk
new file mode 100644
index 000000000000..5644f0cf7941
--- /dev/null
+++ b/solenv/gbuild/platform/netbsd.mk
@@ -0,0 +1,44 @@
+#*************************************************************************
+#
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Initial Developer of the Original Code is
+# Caolán McNamara <caolanm@redhat.com> (Red Hat, Inc.)
+# Portions created by the Initial Developer are Copyright (C) 2010 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s): Caolán McNamara <caolanm@redhat.com>
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+#
+#*************************************************************************
+
+#please make generic modifications to unxgcc.mk
+
+ifeq ($(CPUNAME),INTEL)
+gb_CPUDEFS := -DX86
+else
+gb_CPUDEFS := -D$(CPUNAME)
+endif
+
+gb_COMPILERDEFAULTOPTFLAGS := -O2
+
+include $(GBUILDDIR)/platform/unxgcc.mk
+
+gb_CppunitTest_CPPTESTPRECOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib:/usr/pkg/lib:/usr/X11R7/lib
+
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/platform/openbsd.mk b/solenv/gbuild/platform/openbsd.mk
new file mode 100644
index 000000000000..187c207ac962
--- /dev/null
+++ b/solenv/gbuild/platform/openbsd.mk
@@ -0,0 +1,60 @@
+#*************************************************************************
+#
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Initial Developer of the Original Code is
+# Caolán McNamara <caolanm@redhat.com> (Red Hat, Inc.)
+# Portions created by the Initial Developer are Copyright (C) 2010 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s): Caolán McNamara <caolanm@redhat.com>
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+#
+#*************************************************************************
+
+#please make generic modifications to unxgcc.mk
+
+ifeq ($(CPUNAME),INTEL)
+gb_CPUDEFS := -DX86
+else
+gb_CPUDEFS := -D$(CPUNAME)
+endif
+
+gb_COMPILERDEFAULTOPTFLAGS := -O2
+gb_STDLIBS := pthread
+
+include $(GBUILDDIR)/platform/unxgcc.mk
+
+gb_LinkTarget_NOEXCEPTIONFLAGS += -DBOOST_NO_EXCEPTIONS
+
+define gb_LinkTarget__command_dynamiclink
+$(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $(1)) && \
+ $(gb_CXX) \
+ $(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
+ $(subst \d,$$,$(RPATH)) $(LDFLAGS) \
+ $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
+ $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
+ $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
+ $(foreach extraobjectlist,$(EXTRAOBJECTLISTS),@$(extraobjectlist)) \
+ -Wl$(COMMA)--start-group $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) -Wl$(COMMA)--end-group \
+ $(subst -lpthread,$(PTHREAD_LIBS),$(patsubst lib%.so,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib))))) \
+ -o $(1))
+endef
+
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/platform/solaris.mk b/solenv/gbuild/platform/solaris.mk
index 32ee2328ac91..e0547b8de4ec 100644
--- a/solenv/gbuild/platform/solaris.mk
+++ b/solenv/gbuild/platform/solaris.mk
@@ -47,19 +47,19 @@ gb_CXX := $(CXX)
endif
gb_OSDEFS := \
- -D$(OS) \
- -D$(GUI) \
- -DSYSV \
- -DSUN \
- -DSUN4 \
- -D_REENTRANT \
- -D_POSIX_PTHREAD_SEMANTICS \
- -D_PTHREADS \
- -DUNIX \
+ -D$(OS) \
+ -D$(GUI) \
+ -DSYSV \
+ -DSUN \
+ -DSUN4 \
+ -D_REENTRANT \
+ -D_POSIX_PTHREAD_SEMANTICS \
+ -D_PTHREADS \
+ -DUNIX \
gb_COMPILERDEFS := \
- -D$(COM) \
- -DCPPU_ENV=sunpro5 \
+ -D$(COM) \
+ -DCPPU_ENV=sunpro5 \
gb_CPUDEFS := -D$(CPUNAME)
ifeq ($(CPUNAME),SPARC)
@@ -67,22 +67,22 @@ gb_CPUDEFS += -D__sparcv8plus
endif
gb_CFLAGS := \
- -temp=/tmp \
- -KPIC \
- -mt \
- -xldscope=hidden \
- -xCC \
- -xc99=none \
+ -temp=/tmp \
+ -KPIC \
+ -mt \
+ -xldscope=hidden \
+ -xCC \
+ -xc99=none \
gb_CXXFLAGS := \
- -temp=/tmp \
- -KPIC \
- -mt \
- -xldscope=hidden \
- -features=no%altspell \
- -library=no%Cstd \
- +w2 \
- -erroff=doubunder,identexpected,inllargeuse,inllargeint,notemsource,reftotemp,truncwarn,wnoretvalue,anonnotype \
+ -temp=/tmp \
+ -KPIC \
+ -mt \
+ -xldscope=hidden \
+ -features=no%altspell \
+ -library=no%Cstd \
+ +w2 \
+ -erroff=doubunder,identexpected,inllargeuse,inllargeint,notemsource,reftotemp,truncwarn,wnoretvalue,anonnotype \
ifneq ($(EXTERNAL_WARNINGS_NOT_ERRORS),TRUE)
gb_CFLAGS_WERROR := -errwarn=%all
@@ -90,37 +90,36 @@ gb_CXXFLAGS_WERROR := -xwe
endif
gb_LinkTarget_EXCEPTIONFLAGS := \
- -DEXCEPTIONS_ON \
+ -DEXCEPTIONS_ON \
gb_LinkTarget_NOEXCEPTIONFLAGS := \
- -DEXCEPTIONS_OFF \
- -noex \
+ -DEXCEPTIONS_OFF \
+ -noex \
gb_LinkTarget_LDFLAGS := \
- $(subst -L../lib , ,$(SOLARLIB)) \
- -temp=/tmp \
- -w \
- -mt \
- -Bdirect \
- -z defs \
- -z combreloc \
- -norunpath \
- -PIC \
- -library=no%Cstd \
+ $(subst -L../lib , ,$(SOLARLIB)) \
+ -temp=/tmp \
+ -w \
+ -mt \
+ -Bdirect \
+ -z defs \
+ -z combreloc \
+ -norunpath \
+ -PIC \
+ -library=no%Cstd \
gb_DEBUG_CFLAGS := -g
-
-ifeq ($(gb_DEBUGLEVEL),2)
+ifneq ($(gb_DEBUGLEVEL),0)
gb_COMPILEROPTFLAGS :=
else
ifeq ($(CPUNAME),INTEL)
gb_COMPILEROPTFLAGS := -xarch=generic -xO3
else # ifeq ($(CPUNAME),SPARC)
-# -m32 -xarch=sparc restrict target to 32 bit sparc
-# -xO3 optimization level 3
-# -xspace don't do optimizations which do increase binary size
-# -xprefetch=yes do prefetching (helps on UltraSparc III)
+# -m32 -xarch=sparc restrict target to 32 bit sparc
+# -xO3 optimization level 3
+# -xspace don't do optimizations which do increase binary size
+# -xprefetch=yes do prefetching (helps on UltraSparc III)
gb_COMPILEROPTFLAGS := -m32 -xarch=sparc -xO3 -xspace -xprefetch=yes
endif
endif
@@ -146,15 +145,15 @@ $(call gb_Output_announce,$(2),$(true),C ,3)
$(call gb_Helper_abbreviate_dirs,\
rm -f $(4) && \
mkdir -p $(dir $(1)) $(dir $(4)) && \
- $(gb_CC) \
- -c $(3) \
- -o $(1) \
- -xMMD \
+ $(gb_CC) \
+ -c $(3) \
+ -o $(1) \
+ -xMMD \
-xMF $(4) \
$(DEFS) \
$(T_CFLAGS) \
- -I$(dir $(3)) \
- $(INCLUDE))
+ -I$(dir $(3)) \
+ $(INCLUDE))
endef
@@ -164,15 +163,15 @@ define gb_CxxObject__command
$(call gb_Output_announce,$(2),$(true),CXX,3)
$(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $(1)) $(dir $(4)) && \
- $(gb_CXX) \
+ $(gb_CXX) \
$(DEFS) \
$(T_CXXFLAGS) \
- -c $(3) \
- -o $(1) \
- -xMMD \
+ -c $(3) \
+ -o $(1) \
+ -xMMD \
-xMF $(4) \
- -I$(dir $(3)) \
- $(INCLUDE_STL) $(INCLUDE))
+ -I$(dir $(3)) \
+ $(INCLUDE_STL) $(INCLUDE))
endef
@@ -183,12 +182,12 @@ $(patsubst $(1):%,%,$(filter $(1):%,$(gb_LinkTarget__RPATHS)))
endef
gb_LinkTarget__RPATHS := \
- URELIB:\dORIGIN \
- UREBIN:\dORIGIN/../lib:\dORIGIN \
- OOO:\dORIGIN:\dORIGIN/../ure-link/lib \
- BRAND:\dORIGIN:\dORIGIN/../basis-link/program:\dORIGIN/../basis-link/ure-link/lib \
- SDKBIN:\dORIGIN/../../ure-link/lib \
- NONEBIN:\dORIGIN/../lib:\dORIGIN \
+ URELIB:\dORIGIN \
+ UREBIN:\dORIGIN/../lib:\dORIGIN \
+ OOO:\dORIGIN:\dORIGIN/../ure-link/lib \
+ BRAND:\dORIGIN:\dORIGIN/../basis-link/program:\dORIGIN/../basis-link/ure-link/lib \
+ SDKBIN:\dORIGIN/../../ure-link/lib \
+ NONEBIN:\dORIGIN/../lib:\dORIGIN \
gb_LinkTarget_CFLAGS := $(gb_CFLAGS) $(gb_CFLAGS_WERROR)
gb_LinkTarget_CXXFLAGS := $(gb_CXXFLAGS) $(gb_CXXFLAGS_WERROR)
@@ -199,28 +198,29 @@ gb_LinkTarget_INCLUDE_STL := $(filter %/stl, $(subst -I. , ,$(SOLARINC)))
define gb_LinkTarget__command_dynamiclink
$(call gb_Helper_abbreviate_dirs,\
- mkdir -p $(dir $(1)) && \
- $(gb_CXX) \
- $(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
+ mkdir -p $(dir $(1)) && \
+ $(gb_CXX) \
+ $(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
$(subst \d,$$,$(RPATH)) \
$(T_LDFLAGS) \
- $(patsubst lib%.so,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib)))) \
- $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
- $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
- $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
- $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) \
+ $(patsubst lib%.so,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib)))) \
+ $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
+ $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
+ $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
+ $(foreach extraobjectlist,$(EXTRAOBJECTLISTS),@$(extraobjectlist)) \
+ $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) \
$(LIBS) \
- -o $(1))
+ -o $(1))
endef
define gb_LinkTarget__command_staticlink
$(call gb_Helper_abbreviate_dirs,\
- mkdir -p $(dir $(1)) && \
- $(gb_AR) -rsu $(1) \
- $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
- $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
- $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
- 2> /dev/null)
+ mkdir -p $(dir $(1)) && \
+ $(gb_AR) -rsu $(1) \
+ $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
+ $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
+ $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
+ 2> /dev/null)
endef
define gb_LinkTarget__command
@@ -237,62 +237,52 @@ gb_Library_SYSPRE := lib
gb_Library_UNOVERPRE := $(gb_Library_SYSPRE)uno_
gb_Library_PLAINEXT := .so
gb_Library_RTEXT := C52$(gb_Library_PLAINEXT)
-ifeq ($(gb_PRODUCT),$(true))
-gb_Library_STLEXT := port_sunpro$(gb_Library_PLAINEXT)
-else
-gb_Library_STLEXT := port_sunpro_debug$(gb_Library_PLAINEXT)
-endif
-ifeq ($(CPUNAME),INTEL)
-gb_Library_OOOEXT := si$(gb_Library_PLAINEXT)
+gb_Library_OOOEXT := $(gb_Library_DLLPOSTFIX)$(gb_Library_PLAINEXT)
gb_Library_UNOEXT := .uno$(gb_Library_PLAINEXT)
-else # ifeq ($(CPUNAME),SPARC)
-gb_Library_OOOEXT := ss$(gb_Library_PLAINEXT)
-gb_Library_UNOEXT := .uno$(gb_Library_PLAINEXT)
-endif
gb_STDLIBS := \
- Crun \
- m \
- c \
+ Crun \
+ m \
+ c \
gb_Library_PLAINLIBS_NONE += \
- $(gb_STDLIBS) \
- dl \
- freetype \
+ $(gb_STDLIBS) \
+ dl \
+ freetype \
+ GL \
+ GLU \
jpeg \
m \
nsl \
- pthread \
+ pthread \
socket \
- X11 \
- Xext \
- SM \
- ICE \
+ X11 \
+ Xext \
+ SM \
+ ICE \
gb_Library_FILENAMES := \
- $(foreach lib,$(gb_Library_OOOLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_OOOEXT)) \
- $(foreach lib,$(gb_Library_PLAINLIBS_NONE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
- $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
- $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
- $(foreach lib,$(gb_Library_RTLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_RTEXT)) \
- $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_RTEXT)) \
- $(foreach lib,$(gb_Library_STLLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_STLEXT)) \
- $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):$(lib)$(gb_Library_UNOEXT)) \
- $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):$(lib)$(gb_Library_UNOEXT)) \
- $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):$(gb_Library_UNOVERPRE)$(lib)$(gb_Library_PLAINEXT)) \
+ $(foreach lib,$(gb_Library_OOOLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_OOOEXT)) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_NONE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
+ $(foreach lib,$(gb_Library_RTLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_RTEXT)) \
+ $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_RTEXT)) \
+ $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):$(lib)$(gb_Library_UNOEXT)) \
+ $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):$(lib)$(gb_Library_UNOEXT)) \
+ $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):$(gb_Library_UNOVERPRE)$(lib)$(gb_Library_PLAINEXT)) \
gb_Library_LAYER := \
- $(foreach lib,$(gb_Library_OOOLIBS),$(lib):OOO) \
- $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):URELIB) \
- $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):OOO) \
- $(foreach lib,$(gb_Library_RTLIBS),$(lib):OOO) \
- $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):URELIB) \
- $(foreach lib,$(gb_Library_STLLIBS),$(lib):URELIB) \
- $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):URELIB) \
- $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):OOO) \
- $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):URELIB) \
+ $(foreach lib,$(gb_Library_OOOLIBS),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):URELIB) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_RTLIBS),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):URELIB) \
+ $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):URELIB) \
+ $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):URELIB) \
define gb_Library_get_rpath
'-R$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Library_get_layer,$(1)))'
@@ -312,8 +302,8 @@ gb_StaticLibrary_PLAINEXT := .a
gb_StaticLibrary_JPEGEXT := lib$(gb_StaticLibrary_PLAINEXT)
gb_StaticLibrary_FILENAMES := \
- $(foreach lib,$(gb_StaticLibrary_JPEGLIBS),$(lib):$(gb_StaticLibrary_SYSPRE)$(lib)$(gb_StaticLibrary_JPEGEXT)) \
- $(foreach lib,$(gb_StaticLibrary_PLAINLIBS),$(lib):$(gb_StaticLibrary_SYSPRE)$(lib)$(gb_StaticLibrary_PLAINEXT)) \
+ $(foreach lib,$(gb_StaticLibrary_JPEGLIBS),$(lib):$(gb_StaticLibrary_SYSPRE)$(lib)$(gb_StaticLibrary_JPEGEXT)) \
+ $(foreach lib,$(gb_StaticLibrary_PLAINLIBS),$(lib):$(gb_StaticLibrary_SYSPRE)$(lib)$(gb_StaticLibrary_PLAINEXT)) \
gb_StaticLibrary_StaticLibrary_platform =
@@ -323,11 +313,11 @@ gb_StaticLibrary_StaticLibrary_platform =
gb_Executable_EXT :=
gb_Executable_LAYER := \
- $(foreach exe,$(gb_Executable_UREBIN),$(exe):UREBIN) \
- $(foreach exe,$(gb_Executable_SDK),$(exe):SDKBIN) \
- $(foreach exe,$(gb_Executable_OOO),$(exe):OOO) \
- $(foreach exe,$(gb_Executable_BRAND),$(exe):BRAND) \
- $(foreach exe,$(gb_Executable_NONE),$(exe):NONEBIN) \
+ $(foreach exe,$(gb_Executable_UREBIN),$(exe):UREBIN) \
+ $(foreach exe,$(gb_Executable_SDK),$(exe):SDKBIN) \
+ $(foreach exe,$(gb_Executable_OOO),$(exe):OOO) \
+ $(foreach exe,$(gb_Executable_BRAND),$(exe):BRAND) \
+ $(foreach exe,$(gb_Executable_NONE),$(exe):NONEBIN) \
define gb_Executable_get_rpath
@@ -357,9 +347,9 @@ endef
define gb_JunitTest_JunitTest_platform
$(call gb_JunitTest_get_target,$(1)) : DEFS := \
- -Dorg.openoffice.test.arg.soffice="$$$${OOO_TEST_SOFFICE:-path:$(OUTDIR)/installation/opt/openoffice.org3/program/soffice}" \
- -Dorg.openoffice.test.arg.env=LD_LIBRARY_PATH \
- -Dorg.openoffice.test.arg.user=file://$(call gb_JunitTest_get_userdir,$(1)) \
+ -Dorg.openoffice.test.arg.soffice="$$$${OOO_TEST_SOFFICE:-path:$(OUTDIR)/installation/opt/program/soffice}" \
+ -Dorg.openoffice.test.arg.env=LD_LIBRARY_PATH \
+ -Dorg.openoffice.test.arg.user=file://$(call gb_JunitTest_get_userdir,$(1)) \
endef
@@ -380,18 +370,18 @@ gb_SrsPartTarget_RSCCOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib SOLARBINDIR=$(OUTDI
# do not have the right suffix, so use makedepend here...
define gb_SrsPartTarget__command_dep
$(call gb_Helper_abbreviate_dirs_native,\
- $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
- $(INCLUDE) \
- $(DEFS) \
- $(2) \
- -f - \
- | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \
- -v OBJECTFILE=$(call gb_SrsPartTarget_get_target,$(1)) \
- -v OUTDIR=$(OUTDIR)/ \
- -v WORKDIR=$(WORKDIR)/ \
- -v SRCDIR=$(SRCDIR)/ \
- -v REPODIR=$(REPODIR)/ \
- > $(call gb_SrsPartTarget_get_dep_target,$(1)))
+ $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
+ $(INCLUDE) \
+ $(DEFS) \
+ $(2) \
+ -f - \
+ | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \
+ -v OBJECTFILE=$(call gb_SrsPartTarget_get_target,$(1)) \
+ -v OUTDIR=$(OUTDIR)/ \
+ -v WORKDIR=$(WORKDIR)/ \
+ -v SRCDIR=$(SRCDIR)/ \
+ -v REPODIR=$(REPODIR)/ \
+ > $(call gb_SrsPartTarget_get_dep_target,$(1)))
endef
@@ -399,8 +389,8 @@ endef
gb_XSLTPROCPRECOMMAND := LD_LIBRARY_PATH=$(OUTDIR)/lib
gb_Library_COMPONENTPREFIXES := \
- OOO:vnd.sun.star.expand:\dOOO_BASE_DIR/program/ \
- URELIB:vnd.sun.star.expand:\dURE_INTERNAL_LIB_DIR/ \
+ OOO:vnd.sun.star.expand:\dOOO_BASE_DIR/program/ \
+ URELIB:vnd.sun.star.expand:\dURE_INTERNAL_LIB_DIR/ \
NONE:vnd.sun.star.expand:\dOOO_INBUILD_SHAREDLIB_DIR/ \
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/platform/unxgcc.mk b/solenv/gbuild/platform/unxgcc.mk
new file mode 100644
index 000000000000..59c3a4eb091d
--- /dev/null
+++ b/solenv/gbuild/platform/unxgcc.mk
@@ -0,0 +1,441 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2011 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.
+#
+#*************************************************************************
+
+GUI := UNX
+COM := GCC
+
+gb_MKTEMP := mktemp -t gbuild.XXXXXX
+
+gb_CC := gcc
+gb_CXX := g++
+gb_GCCP := gcc
+gb_AR := ar
+gb_AWK := awk
+gb_CLASSPATHSEP := :
+
+# use CC/CXX if they are nondefaults
+ifneq ($(origin CC),default)
+gb_CC := $(CC)
+gb_GCCP := $(CC)
+endif
+ifneq ($(origin CXX),default)
+gb_CXX := $(CXX)
+endif
+
+gb_OSDEFS := \
+ -D$(OS) \
+ -D_PTHREADS \
+ -DUNIX \
+ -DUNX \
+ $(PTHREAD_CFLAGS) \
+
+ifeq ($(GXX_INCLUDE_PATH),)
+GXX_INCLUDE_PATH=$(COMPATH)/include/c++/$(shell gcc -dumpversion)
+endif
+
+gb_COMPILERDEFS := \
+ -D$(COM) \
+ -DCPPU_ENV=gcc3 \
+ -DGXX_INCLUDE_PATH=$(GXX_INCLUDE_PATH) \
+
+gb_CFLAGS := \
+ -Wall \
+ -Wendif-labels \
+ -Wextra \
+ -Wshadow \
+ -fPIC \
+ -fmessage-length=0 \
+ -fno-common \
+ -pipe \
+
+gb_CXXFLAGS := \
+ -Wall \
+ -Wendif-labels \
+ -Wextra \
+ -Wno-ctor-dtor-privacy \
+ -Wno-non-virtual-dtor \
+ -Woverloaded-virtual \
+ -Wshadow \
+ -fPIC \
+ -fmessage-length=0 \
+ -fno-common \
+ -pipe \
+
+ifeq ($(HAVE_GCC_VISIBILITY_FEATURE),TRUE)
+gb_COMPILERDEFS += \
+ -DHAVE_GCC_VISIBILITY_FEATURE \
+
+gb_CFLAGS += \
+ -fvisibility=hidden
+
+gb_CXXFLAGS += \
+ -fvisibility=hidden \
+
+ifneq ($(HAVE_GCC_VISIBILITY_BROKEN),TRUE)
+gb_CXXFLAGS += \
+ -fvisibility-inlines-hidden \
+
+endif
+
+endif
+
+gb_CCVER := $(shell $(gb_CC) -dumpversion | $(gb_AWK) -F. -- '{ print $$1*10000+$$2*100+$$3 }')
+gb_StrictAliasingUnsafe := $(shell expr $(gb_CCVER) \< 40600)
+
+ifeq ($(gb_StrictAliasingUnsafe),1)
+gb_CFLAGS += -fno-strict-aliasing
+gb_CXXFLAGS += -fno-strict-aliasing
+endif
+
+ifneq ($(EXTERNAL_WARNINGS_NOT_ERRORS),TRUE)
+gb_CFLAGS_WERROR := -Werror
+gb_CXXFLAGS_WERROR := -Werror
+endif
+
+ifeq ($(HAVE_CXX0X),TRUE)
+gb_CXXFLAGS += -std=c++0x -Wno-deprecated-declarations
+endif
+
+ifneq ($(strip $(SYSBASE)),)
+gb_CXXFLAGS += --sysroot=$(SYSBASE)
+gb_CFLAGS += --sysroot=$(SYSBASE)
+gb_LinkTarget_LDFLAGS += \
+ -Wl,--sysroot=$(SYSBASE)
+endif
+gb_LinkTarget_EXCEPTIONFLAGS := \
+ -DEXCEPTIONS_ON \
+ -fexceptions \
+ -fno-enforce-eh-specs \
+
+gb_LinkTarget_NOEXCEPTIONFLAGS := \
+ -DEXCEPTIONS_OFF \
+ -fno-exceptions \
+
+gb_LinkTarget_LDFLAGS += \
+ -Wl,-rpath-link,$(SYSBASE)/lib:$(SYSBASE)/usr/lib \
+ -Wl,-z,combreloc \
+ $(subst -L../lib , ,$(SOLARLIB)) \
+
+ifeq ($(HAVE_LD_HASH_STYLE),TRUE)
+gb_LinkTarget_LDFLAGS += \
+ -Wl,--hash-style=$(WITH_LINKER_HASH_STYLE) \
+
+endif
+
+ifneq ($(HAVE_LD_BSYMBOLIC_FUNCTIONS),)
+gb_LinkTarget_LDFLAGS += \
+ -Wl,--dynamic-list-cpp-new \
+ -Wl,--dynamic-list-cpp-typeinfo \
+ -Wl,-Bsymbolic-functions \
+
+endif
+
+ifneq ($(gb_SYMBOL),$(true))
+gb_LinkTarget_LDFLAGS += \
+ -Wl,--strip-all \
+
+endif
+
+ifneq ($(gb_DEBUGLEVEL),0)
+gb_COMPILEROPTFLAGS := -O0
+gb_LINKEROPTFLAGS :=
+else
+gb_COMPILEROPTFLAGS := $(gb_COMPILERDEFAULTOPTFLAGS)
+gb_LINKEROPTFLAGS := -Wl,-O1
+endif
+
+gb_DEBUG_CFLAGS := -ggdb3 -finline-limit=0 -fno-inline -fno-default-inline
+
+gb_COMPILERNOOPTFLAGS := -O0
+
+# Helper class
+
+gb_Helper_abbreviate_dirs_native = $(gb_Helper_abbreviate_dirs)
+
+gb_Helper_set_ld_path := LD_LIBRARY_PATH=$(OUTDIR_FOR_BUILD)/lib
+
+# convert parametters filesystem root to native notation
+# does some real work only on windows, make sure not to
+# break the dummy implementations on unx*
+define gb_Helper_convert_native
+$(1)
+endef
+
+# CObject class
+
+# $(call gb_CObject__command,object,relative-source,source,dep-file)
+define gb_CObject__command
+$(call gb_Output_announce,$(2),$(true),C ,3)
+$(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $(1)) $(dir $(4)) && \
+ $(gb_CC) \
+ $(DEFS) \
+ $(T_CFLAGS) \
+ -c $(3) \
+ -o $(1) \
+ -MMD -MT $(1) \
+ -MF $(4) \
+ -I$(dir $(3)) \
+ $(INCLUDE))
+endef
+
+
+# CxxObject class
+
+# $(call gb_CxxObject__command,object,relative-source,source,dep-file)
+define gb_CxxObject__command
+$(call gb_Output_announce,$(2),$(true),CXX,3)
+$(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $(1)) $(dir $(4)) && \
+ $(gb_CXX) \
+ $(DEFS) \
+ $(T_CXXFLAGS) \
+ -c $(3) \
+ -o $(1) \
+ -MMD -MT $(1) \
+ -MF $(4) \
+ -I$(dir $(3)) \
+ $(INCLUDE_STL) $(INCLUDE))
+endef
+
+
+# LinkTarget class
+
+define gb_LinkTarget__get_rpath_for_layer
+$(patsubst $(1):%,%,$(filter $(1):%,$(gb_LinkTarget__RPATHS)))
+endef
+
+gb_LinkTarget__RPATHS := \
+ URELIB:\dORIGIN \
+ UREBIN:\dORIGIN/../lib:\dORIGIN \
+ OOO:\dORIGIN:\dORIGIN/../ure-link/lib \
+ BRAND:\dORIGIN:\dORIGIN/../basis-link/program:\dORIGIN/../basis-link/ure-link/lib \
+ SDKBIN:\dORIGIN/../../ure-link/lib \
+ NONEBIN:\dORIGIN/../lib:\dORIGIN \
+
+gb_LinkTarget_CFLAGS := $(gb_CFLAGS) $(gb_CFLAGS_WERROR)
+gb_LinkTarget_CXXFLAGS := $(gb_CXXFLAGS) $(gb_CXXFLAGS_WERROR)
+
+ifeq ($(gb_SYMBOL),$(true))
+gb_LinkTarget_CXXFLAGS += -ggdb2
+gb_LinkTarget_CFLAGS += -ggdb2
+endif
+
+gb_LinkTarget_INCLUDE := $(filter-out %/stl, $(subst -I. , ,$(SOLARINC)))
+gb_LinkTarget_INCLUDE_STL := $(filter %/stl, $(subst -I. , ,$(SOLARINC)))
+
+# note that `cat $(extraobjectlist)` is needed to build with older gcc versions, e.g. 4.1.2 on SLED10
+# we want to use @$(extraobjectlist) in the long run
+define gb_LinkTarget__command_dynamiclink
+$(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $(1)) && \
+ $(gb_CXX) \
+ $(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
+ $(subst \d,$$,$(RPATH)) \
+ $(T_LDFLAGS) \
+ $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
+ $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
+ $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
+ $(foreach extraobjectlist,$(EXTRAOBJECTLISTS),`cat $(extraobjectlist)`) \
+ -Wl$(COMMA)--start-group $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) -Wl$(COMMA)--end-group \
+ $(LIBS) \
+ $(patsubst lib%.so,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib)))) \
+ -o $(1))
+endef
+
+define gb_LinkTarget__command_staticlink
+$(call gb_Helper_abbreviate_dirs,\
+ mkdir -p $(dir $(1)) && \
+ $(gb_AR) -rsu $(1) \
+ $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
+ $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
+ $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
+ $(foreach extraobjectlist,$(EXTRAOBJECTLISTS),@$(extraobjectlist)) \
+ 2> /dev/null)
+endef
+
+define gb_LinkTarget__command
+$(call gb_Output_announce,$(2),$(true),LNK,4)
+$(if $(filter Library CppunitTest Executable,$(TARGETTYPE)),$(call gb_LinkTarget__command_dynamiclink,$(1)))
+$(if $(filter StaticLibrary,$(TARGETTYPE)),$(call gb_LinkTarget__command_staticlink,$(1)))
+endef
+
+
+# Library class
+
+gb_Library_DEFS :=
+gb_Library_TARGETTYPEFLAGS := -shared -Wl,-z,noexecstack
+gb_Library_SYSPRE := lib
+gb_Library_UNOVERPRE := $(gb_Library_SYSPRE)uno_
+gb_Library_PLAINEXT := .so
+gb_Library_RTEXT := gcc3$(gb_Library_PLAINEXT)
+
+gb_Library_OOOEXT := $(gb_Library_DLLPOSTFIX)$(gb_Library_PLAINEXT)
+gb_Library_UNOEXT := .uno$(gb_Library_PLAINEXT)
+
+gb_Library_PLAINLIBS_NONE += \
+ dl \
+ fontconfig \
+ freetype \
+ GL \
+ GLU \
+ ICE \
+ m \
+ pthread \
+ SM \
+ ICE \
+ X11 \
+ Xext \
+ Xrender \
+
+gb_Library_FILENAMES := \
+ $(foreach lib,$(gb_Library_OOOLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_OOOEXT)) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_NONE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
+ $(foreach lib,$(gb_Library_RTLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_RTEXT)) \
+ $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_RTEXT)) \
+ $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):$(lib)$(gb_Library_UNOEXT)) \
+ $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):$(lib)$(gb_Library_UNOEXT)) \
+ $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):$(gb_Library_UNOVERPRE)$(lib)$(gb_Library_PLAINEXT)) \
+
+
+gb_Library_LAYER := \
+ $(foreach lib,$(gb_Library_OOOLIBS),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):URELIB) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_RTLIBS),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):URELIB) \
+ $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):URELIB) \
+ $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):URELIB) \
+
+define gb_Library_get_rpath
+'-Wl,-rpath,$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Library_get_layer,$(1)))' \
+'-Wl,-rpath-link,$(gb_Library_OUTDIRLOCATION)'
+endef
+
+define gb_Library_Library_platform
+$(call gb_LinkTarget_get_target,$(2)) : RPATH := $(call gb_Library_get_rpath,$(1))
+
+endef
+
+
+# StaticLibrary class
+
+gb_StaticLibrary_DEFS :=
+gb_StaticLibrary_SYSPRE := lib
+gb_StaticLibrary_PLAINEXT := .a
+gb_StaticLibrary_JPEGEXT := lib$(gb_StaticLibrary_PLAINEXT)
+
+gb_StaticLibrary_FILENAMES := \
+ $(foreach lib,$(gb_StaticLibrary_JPEGLIBS),$(lib):$(gb_StaticLibrary_SYSPRE)$(lib)$(gb_StaticLibrary_JPEGEXT)) \
+ $(foreach lib,$(gb_StaticLibrary_PLAINLIBS),$(lib):$(gb_StaticLibrary_SYSPRE)$(lib)$(gb_StaticLibrary_PLAINEXT)) \
+
+gb_StaticLibrary_StaticLibrary_platform =
+
+
+# Executable class
+
+gb_Executable_EXT :=
+
+gb_Executable_LAYER := \
+ $(foreach exe,$(gb_Executable_UREBIN),$(exe):UREBIN) \
+ $(foreach exe,$(gb_Executable_SDK),$(exe):SDKBIN) \
+ $(foreach exe,$(gb_Executable_OOO),$(exe):OOO) \
+ $(foreach exe,$(gb_Executable_BRAND),$(exe):BRAND) \
+ $(foreach exe,$(gb_Executable_NONE),$(exe):NONEBIN) \
+
+
+define gb_Executable_get_rpath
+'-Wl,-rpath,$(call gb_LinkTarget__get_rpath_for_layer,$(call gb_Executable_get_layer,$(1)))' \
+-Wl,-rpath-link,$(gb_Library_OUTDIRLOCATION)
+endef
+
+define gb_Executable_Executable_platform
+$(call gb_LinkTarget_get_target,$(2)) : RPATH := $(call gb_Executable_get_rpath,$(1))
+
+endef
+
+
+# CppunitTest class
+
+gb_CppunitTest_CPPTESTPRECOMMAND := LD_LIBRARY_PATH=$(OUTDIR_FOR_BUILD)/lib
+gb_CppunitTest_SYSPRE := libtest_
+gb_CppunitTest_EXT := .so
+gb_CppunitTest_get_filename = $(gb_CppunitTest_SYSPRE)$(1)$(gb_CppunitTest_EXT)
+gb_CppunitTest_get_libfilename = $(gb_CppunitTest_get_filename)
+
+define gb_CppunitTest_CppunitTest_platform
+$(call gb_LinkTarget_get_target,$(2)) : RPATH :=
+
+endef
+
+# JunitTest class
+
+define gb_JunitTest_JunitTest_platform
+$(call gb_JunitTest_get_target,$(1)) : DEFS := \
+ -Dorg.openoffice.test.arg.soffice="$$$${OOO_TEST_SOFFICE:-path:$(OUTDIR)/installation/opt/program/soffice}" \
+ -Dorg.openoffice.test.arg.env=LD_LIBRARY_PATH \
+ -Dorg.openoffice.test.arg.user=file://$(call gb_JunitTest_get_userdir,$(1)) \
+
+endef
+
+# SdiTarget class
+
+gb_SdiTarget_SVIDLPRECOMMAND := LD_LIBRARY_PATH=$(OUTDIR_FOR_BUILD)/lib
+
+# SrsPartMergeTarget
+
+gb_SrsPartMergeTarget_TRANSEXPRECOMMAND := LD_LIBRARY_PATH=$(OUTDIR_FOR_BUILD)/lib
+
+# SrsPartTarget class
+
+gb_SrsPartTarget_RSCTARGET := $(OUTDIR)/bin/rsc
+gb_SrsPartTarget_RSCCOMMAND := LD_LIBRARY_PATH=$(OUTDIR_FOR_BUILD)/lib SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(OUTDIR_FOR_BUILD)/bin/rsc
+
+define gb_SrsPartTarget__command_dep
+$(call gb_Helper_abbreviate_dirs,\
+ $(gb_GCCP) \
+ -MM -MT $(call gb_SrsPartTarget_get_target,$(1)) \
+ $(INCLUDE) \
+ $(DEFS) \
+ -c -x c++-header $(2) \
+ -o $(call gb_SrsPartTarget_get_dep_target,$(1)))
+endef
+
+
+# ComponentTarget
+
+gb_XSLTPROCPRECOMMAND := LD_LIBRARY_PATH=$(OUTDIR_FOR_BUILD)/lib
+gb_Library_COMPONENTPREFIXES := \
+ OOO:vnd.sun.star.expand:\dOOO_BASE_DIR/program/ \
+ URELIB:vnd.sun.star.expand:\dURE_INTERNAL_LIB_DIR/ \
+ NONE:vnd.sun.star.expand:\dOOO_INBUILD_SHAREDLIB_DIR/ \
+
+
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/platform/windows.mk b/solenv/gbuild/platform/windows.mk
index 3f655675a393..5e322b158043 100644
--- a/solenv/gbuild/platform/windows.mk
+++ b/solenv/gbuild/platform/windows.mk
@@ -49,129 +49,129 @@ gb_CXX := $(CXX)
endif
gb_OSDEFS := \
- -DWINVER=0x0500 \
- -D_WIN32_IE=0x0500 \
- -DNT351 \
- -DWIN32 \
- -DWNT \
+ -DWINVER=0x0500 \
+ -D_WIN32_IE=0x0500 \
+ -DNT351 \
+ -DWIN32 \
+ -DWNT \
gb_COMPILERDEFS := \
- -DMSC \
- -D_CRT_NON_CONFORMING_SWPRINTFS \
- -D_CRT_NONSTDC_NO_DEPRECATE \
- -D_CRT_SECURE_NO_DEPRECATE \
- -D_MT \
- -DBOOST_MEM_FN_ENABLE_CDECL \
- -DCPPU_ENV=msci \
- -DFULL_DESK \
- -DM1500 \
+ -DMSC \
+ -D_CRT_NON_CONFORMING_SWPRINTFS \
+ -D_CRT_NONSTDC_NO_DEPRECATE \
+ -D_CRT_SECURE_NO_DEPRECATE \
+ -D_MT \
+ -D_DLL \
+ -DBOOST_MEM_FN_ENABLE_CDECL \
+ -DCPPU_ENV=msci \
+ -DM1500 \
gb_CPUDEFS := -DINTEL -D_X86_=1
gb_RCDEFS := \
- -DWINVER=0x0400 \
- -DWIN32 \
+ -DWINVER=0x0400 \
+ -DWIN32 \
gb_RCFLAGS := \
- -V
+ -V
gb_CFLAGS := \
- -Gd \
- -GR \
- -Gs \
- -GS \
- -nologo \
- -Wall \
- -wd4005 \
- -wd4061 \
- -wd4127 \
- -wd4180 \
- -wd4189 \
- -wd4191 \
- -wd4217 \
- -wd4250 \
- -wd4251 \
- -wd4255 \
- -wd4275 \
- -wd4290 \
- -wd4294 \
- -wd4350 \
- -wd4355 \
- -wd4365 \
- -wd4503 \
- -wd4505 \
- -wd4511 \
- -wd4512 \
- -wd4514 \
- -wd4611 \
- -wd4619 \
- -wd4625 \
- -wd4626 \
- -wd4640 \
- -wd4668 \
- -wd4675 \
- -wd4692 \
- -wd4710 \
- -wd4711 \
- -wd4738 \
- -wd4786 \
- -wd4800 \
- -wd4820 \
- -wd4826 \
- -Zc:forScope,wchar_t- \
- -Zm500 \
+ -Gd \
+ -GR \
+ -Gs \
+ -GS \
+ -MD \
+ -nologo \
+ -Wall \
+ -wd4005 \
+ -wd4061 \
+ -wd4127 \
+ -wd4180 \
+ -wd4189 \
+ -wd4191 \
+ -wd4217 \
+ -wd4250 \
+ -wd4251 \
+ -wd4255 \
+ -wd4275 \
+ -wd4290 \
+ -wd4294 \
+ -wd4350 \
+ -wd4355 \
+ -wd4365 \
+ -wd4503 \
+ -wd4505 \
+ -wd4511 \
+ -wd4512 \
+ -wd4514 \
+ -wd4611 \
+ -wd4619 \
+ -wd4625 \
+ -wd4626 \
+ -wd4640 \
+ -wd4668 \
+ -wd4675 \
+ -wd4692 \
+ -wd4710 \
+ -wd4711 \
+ -wd4738 \
+ -wd4786 \
+ -wd4800 \
+ -wd4820 \
+ -wd4826 \
+ -Zc:forScope,wchar_t- \
+ -Zm500 \
gb_CXXFLAGS := \
- -Gd \
- -GR \
- -Gs \
- -GS \
- -Gy \
- -nologo \
- -Wall \
- -wd4005 \
- -wd4061 \
- -wd4127 \
- -wd4180 \
- -wd4189 \
- -wd4191 \
- -wd4217 \
- -wd4250 \
- -wd4251 \
- -wd4275 \
- -wd4290 \
- -wd4294 \
- -wd4350 \
- -wd4355 \
- -wd4365 \
- -wd4503 \
- -wd4505 \
- -wd4511 \
- -wd4512 \
- -wd4514 \
- -wd4611 \
- -wd4619 \
- -wd4625 \
- -wd4626 \
- -wd4640 \
- -wd4668 \
- -wd4675 \
- -wd4692 \
- -wd4710 \
- -wd4711 \
- -wd4738 \
- -wd4786 \
- -wd4800 \
- -wd4820 \
- -wd4826 \
- -Zc:forScope,wchar_t- \
- -Zm500 \
+ -Gd \
+ -GR \
+ -Gs \
+ -GS \
+ -Gy \
+ -MD \
+ -nologo \
+ -Wall \
+ -wd4005 \
+ -wd4061 \
+ -wd4127 \
+ -wd4180 \
+ -wd4189 \
+ -wd4191 \
+ -wd4217 \
+ -wd4250 \
+ -wd4251 \
+ -wd4275 \
+ -wd4290 \
+ -wd4294 \
+ -wd4350 \
+ -wd4355 \
+ -wd4365 \
+ -wd4503 \
+ -wd4505 \
+ -wd4511 \
+ -wd4512 \
+ -wd4514 \
+ -wd4611 \
+ -wd4619 \
+ -wd4625 \
+ -wd4626 \
+ -wd4640 \
+ -wd4668 \
+ -wd4675 \
+ -wd4692 \
+ -wd4710 \
+ -wd4711 \
+ -wd4738 \
+ -wd4786 \
+ -wd4800 \
+ -wd4820 \
+ -wd4826 \
+ -Zc:forScope,wchar_t- \
+ -Zm500 \
gb_STDLIBS := \
- uwinapi \
- kernel32 \
- msvcrt \
- oldnames \
+ uwinapi \
+ advapi32 \
ifneq ($(EXTERNAL_WARNINGS_NOT_ERRORS),TRUE)
gb_CFLAGS_WERROR := -WX
@@ -179,25 +179,24 @@ gb_CXXFLAGS_WERROR := -WX
endif
gb_LinkTarget_EXCEPTIONFLAGS := \
- -DEXCEPTIONS_ON \
- -EHa \
+ -DEXCEPTIONS_ON \
+ -EHa \
gb_PrecompiledHeader_EXCEPTIONFLAGS := $(gb_LinkTarget_EXCEPTIONFLAGS)
gb_LinkTarget_NOEXCEPTIONFLAGS := \
- -DEXCEPTIONS_OFF \
+ -DEXCEPTIONS_OFF \
gb_NoexPrecompiledHeader_NOEXCEPTIONFLAGS := $(gb_LinkTarget_NOEXCEPTIONFLAGS)
gb_LinkTarget_LDFLAGS := \
- -MACHINE:IX86 \
- -NODEFAULTLIB \
- -OPT:NOREF \
- -safeseh \
- -nxcompat \
- -dynamicbase \
- $(patsubst %,-LIBPATH:%,$(filter-out .,$(subst ;, ,$(subst \,/,$(ILIB))))) \
+ -MACHINE:IX86 \
+ -OPT:NOREF \
+ -safeseh \
+ -nxcompat \
+ -dynamicbase \
+ $(patsubst %,-LIBPATH:%,$(filter-out .,$(subst ;, ,$(subst \,/,$(ILIB))))) \
gb_DEBUG_CFLAGS := -Zi
@@ -208,7 +207,10 @@ gb_CFLAGS+=-Zi
gb_CXXFLAGS+=-Zi
endif
-ifeq ($(gb_DEBUGLEVEL),2)
+ifeq ($(gb_SYMBOL),$(true))
+endif
+
+ifneq ($(gb_DEBUGLEVEL),0)
gb_LinkTarget_LDFLAGS += -DEBUG
gb_COMPILEROPTFLAGS :=
else
@@ -217,6 +219,16 @@ endif
gb_COMPILERNOOPTFLAGS := -Od
+ifeq ($(gb_FULLDEPS),$(true))
+gb_COMPILERDEPFLAGS := -showIncludes
+define gb_create_deps
+| $(GBUILDDIR)/filter-showIncludes.pl $(2) $(1) $(3); exit $${PIPESTATUS[0]}
+endef
+else
+gb_COMPILERDEPFLAGS :=
+define gb_create_deps
+endef
+endif
# Helper class
gb_Helper_SRCDIR_NATIVE := $(shell cygpath -m $(SRCDIR) | $(gb_AWK) -- '{ print tolower(substr($$0,1,1)) substr($$0,2) }')
@@ -229,6 +241,8 @@ R=$(gb_Helper_REPODIR_NATIVE) && $(subst $(REPODIR)/,$$R/,$(subst $(gb_Helper_RE
$(subst $(REPODIR)/,$$R/,$(subst $(SRCDIR)/,$$S/,$(subst $(OUTDIR)/,$$O/,$(subst $(WORKDIR)/,$$W/,$(subst $(gb_Helper_REPODIR_NATIVE)/,$$R/,$(subst $(gb_Helper_SRCDIR_NATIVE)/,$$S/,$(subst $(gb_Helper_OUTDIR_NATIVE)/,$$O/,$(subst $(gb_Helper_WORKDIR_NATIVE)/,$$W/,$(1)))))))))
endef
+gb_Helper_set_ld_path := PATH="$${PATH}:$(OUTDIR)/bin"
+
# convert parametters filesystem root to native notation
# does some real work only on windows, make sure not to
# break the dummy implementations on unx*
@@ -243,41 +257,21 @@ endef
# CObject class
-ifeq ($(gb_FULLDEPS),$(true))
-define gb_Object__command_deponcompile
-$(call gb_Helper_abbreviate_dirs_native,\
- $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
- $(filter-out -DPRECOMPILED_HEADERS,$(4)) $(5) \
- -I$(dir $(3)) \
- $(filter-out -I$(COMPATH)% %/pch -I$(JAVA_HOME)%,$(6)) \
- $(3) \
- -f - \
- | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \
- -v OBJECTFILE=$(1) \
- -v OUTDIR=$(OUTDIR)/ \
- -v WORKDIR=$(WORKDIR)/ \
- -v SRCDIR=$(SRCDIR)/ \
- -v REPODIR=$(REPODIR)/ \
- > $((2))
-endef
-else
-gb_Object__command_deponcompile =
-endif
-
define gb_CObject__command
$(call gb_Output_announce,$(2),$(true),C ,3)
$(call gb_Helper_abbreviate_dirs_native,\
- mkdir -p $(dir $(1)) && \
- unset INCLUDE && \
- $(gb_CC) \
+ mkdir -p $(dir $(1)) && \
+ unset INCLUDE && \
+ $(gb_CC) \
$(DEFS) \
$(T_CFLAGS) \
-Fd$(PDBFILE) \
- $(PCHFLAGS) \
- -I$(dir $(3)) \
- $(INCLUDE) \
- -c $(3) \
- -Fo$(1))
+ $(PCHFLAGS) \
+ $(gb_COMPILERDEPFLAGS) \
+ -I$(realpath $(dir $(3))) \
+ $(INCLUDE) \
+ -c $(realpath $(3)) \
+ -Fo$(1)) $(call gb_create_deps,$(1),$(call gb_CObject_get_dep_target,$(2)),$(realpath $(3)))
$(call gb_Object__command_deponcompile,$(1),$(4),$(3),$(DEFS),$(T_CFLAGS),$(INCLUDE))
endef
@@ -287,17 +281,18 @@ endef
define gb_CxxObject__command
$(call gb_Output_announce,$(2),$(true),CXX,3)
$(call gb_Helper_abbreviate_dirs_native,\
- mkdir -p $(dir $(1)) && \
- unset INCLUDE && \
- $(gb_CXX) \
+ mkdir -p $(dir $(1)) && \
+ unset INCLUDE && \
+ $(gb_CXX) \
$(DEFS) \
$(T_CXXFLAGS) \
-Fd$(PDBFILE) \
- $(PCHFLAGS) \
- -I$(dir $(3)) \
- $(INCLUDE_STL) $(INCLUDE) \
- -c $(3) \
- -Fo$(1))
+ $(PCHFLAGS) \
+ $(gb_COMPILERDEPFLAGS) \
+ -I$(realpath $(dir $(3))) \
+ $(INCLUDE_STL) $(INCLUDE) \
+ -c $(realpath $(3)) \
+ -Fo$(1)) $(call gb_create_deps,$(1),$(call gb_CxxObject_get_dep_target,$(2)),$(realpath $(3)))
$(call gb_Object__command_deponcompile,$(1),$(4),$(3),$(DEFS),$(T_CXXFLAGS),$(INCLUDE))
endef
@@ -305,83 +300,39 @@ endef
# PrecompiledHeader class
gb_PrecompiledHeader_get_enableflags = -Yu$(1).hxx \
- -Fp$(call gb_PrecompiledHeader_get_target,$(1))
-
-ifeq ($(gb_FULLDEPS),$(true))
-define gb_PrecompiledHeader__command_deponcompile
-$(call gb_Helper_abbreviate_dirs_native,\
- $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
- $(4) $(5) \
- -I$(dir $(3)) \
- $(filter-out -I$(COMPATH)% -I$(JAVA_HOME)%,$(6)) \
- $(3) \
- -f - \
- | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \
- -v OBJECTFILE=$(1) \
- -v OUTDIR=$(OUTDIR)/ \
- -v WORKDIR=$(WORKDIR)/ \
- -v SRCDIR=$(SRCDIR)/ \
- -v REPODIR=$(REPODIR)/ \
- > $(call gb_PrecompiledHeader_get_dep_target,$(2)))
-endef
-else
-gb_PrecompiledHeader__command_deponcompile =
-endif
-
+ -Fp$(call gb_PrecompiledHeader_get_target,$(1))
define gb_PrecompiledHeader__command
$(call gb_Output_announce,$(2),$(true),PCH,1)
$(call gb_Helper_abbreviate_dirs_native,\
- mkdir -p $(dir $(1)) $(dir $(call gb_PrecompiledHeader_get_dep_target,$(2))) && \
- unset INCLUDE && \
- $(gb_CXX) \
- $(4) $(5) -Fd$(PDBFILE) \
- -I$(dir $(3)) \
- $(6) \
- -c $(3) \
- -Yc$(notdir $(patsubst %.cxx,%.hxx,$(3))) -Fp$(1) -Fo$(1).obj)
-$(call gb_PrecompiledHeader__command_deponcompile,$(1),$(2),$(3),$(4),$(5),$(6))
+ mkdir -p $(dir $(1)) $(dir $(call gb_PrecompiledHeader_get_dep_target,$(2))) && \
+ unset INCLUDE && \
+ $(gb_CXX) \
+ $(4) $(5) -Fd$(PDBFILE) \
+ $(gb_COMPILERDEPFLAGS) \
+ -I$(realpath $(dir $(3))) \
+ $(6) \
+ -c $(realpath $(3)) \
+ -Yc$(notdir $(patsubst %.cxx,%.hxx,$(3))) -Fp$(1) -Fo$(1).obj) $(call gb_create_deps,$(1),$(call gb_PrecompiledHeader_get_dep_target,$(2)),$(realpath $(3)))
endef
# NoexPrecompiledHeader class
gb_NoexPrecompiledHeader_get_enableflags = -Yu$(1).hxx \
- -Fp$(call gb_NoexPrecompiledHeader_get_target,$(1))
-
-ifeq ($(gb_FULLDEPS),$(true))
-define gb_NoexPrecompiledHeader__command_deponcompile
-$(call gb_Helper_abbreviate_dirs_native,\
- $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
- $(4) $(5) \
- -I$(dir $(3)) \
- $(filter-out -I$(COMPATH)% -I$(JAVA_HOME)%,$(6)) \
- $(3) \
- -f - \
- | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \
- -v OBJECTFILE=$(1) \
- -v OUTDIR=$(OUTDIR)/ \
- -v WORKDIR=$(WORKDIR)/ \
- -v SRCDIR=$(SRCDIR)/ \
- -v REPODIR=$(REPODIR)/ \
- > $(call gb_NoexPrecompiledHeader_get_dep_target,$(2)))
-endef
-else
-gb_NoexPrecompiledHeader__command_deponcompile =
-endif
-
+ -Fp$(call gb_NoexPrecompiledHeader_get_target,$(1))
define gb_NoexPrecompiledHeader__command
$(call gb_Output_announce,$(2),$(true),PCH,1)
$(call gb_Helper_abbreviate_dirs_native,\
- mkdir -p $(dir $(1)) $(dir $(call gb_NoexPrecompiledHeader_get_dep_target,$(2))) && \
- unset INCLUDE && \
- $(gb_CXX) \
- $(4) $(5) -Fd$(PDBFILE) \
- -I$(dir $(3)) \
- $(6) \
- -c $(3) \
- -Yc$(notdir $(patsubst %.cxx,%.hxx,$(3))) -Fp$(1) -Fo$(1).obj)
-$(call gb_NoexPrecompiledHeader__command_deponcompile,$(1),$(2),$(3),$(4),$(5),$(6))
+ mkdir -p $(dir $(1)) $(dir $(call gb_NoexPrecompiledHeader_get_dep_target,$(2))) && \
+ unset INCLUDE && \
+ $(gb_CXX) \
+ $(4) $(5) -Fd$(PDBFILE) \
+ $(gb_COMPILERDEPFLAGS) \
+ -I$(realpath $(dir $(3))) \
+ $(6) \
+ -c $(realpath $(3)) \
+ -Yc$(notdir $(patsubst %.cxx,%.hxx,$(3))) -Fp$(1) -Fo$(1).obj) $(call gb_create_deps,$(1),$(call gb_NoexPrecompiledHeader,$(2)),$(realpath $(3)))
endef
# LinkTarget class
@@ -390,8 +341,8 @@ gb_LinkTarget_CFLAGS := $(gb_CFLAGS) $(gb_CFLAGS_WERROR)
gb_LinkTarget_CXXFLAGS := $(gb_CXXFLAGS) $(gb_CXXFLAGS_WERROR)
gb_LinkTarget_INCLUDE :=\
- $(filter-out %/stl, $(subst -I. , ,$(SOLARINC))) \
- $(foreach inc,$(subst ;, ,$(JDKINC)),-I$(inc)) \
+ $(filter-out %/stl, $(subst -I. , ,$(SOLARINC))) \
+ $(foreach inc,$(subst ;, ,$(JDKINC)),-I$(inc)) \
gb_LinkTarget_INCLUDE_STL := $(filter %/stl, $(subst -I. , ,$(SOLARINC)))
@@ -400,25 +351,26 @@ gb_LinkTarget_get_pdbfile = $(call gb_LinkTarget_get_target,)pdb/$(1).pdb
define gb_LinkTarget__command
$(call gb_Output_announce,$(2),$(true),LNK,4)
$(call gb_Helper_abbreviate_dirs_native,\
- mkdir -p $(dir $(1)) && \
- rm -f $(1) && \
- RESPONSEFILE=$(call var2file,$(shell $(gb_MKTEMP)),100, \
- $(call gb_Helper_convert_native,$(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
- $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
- $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
- $(PCHOBJS) $(NATIVERES))) && \
- $(gb_LINK) \
- $(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
- $(if $(filter StaticLibrary,$(TARGETTYPE)),$(gb_StaticLibrary_TARGETTYPEFLAGS)) \
- $(if $(filter Executable,$(TARGETTYPE)),$(gb_Executable_TARGETTYPEFLAGS)) \
+ mkdir -p $(dir $(1)) && \
+ rm -f $(1) && \
+ RESPONSEFILE=$(call var2file,$(shell $(gb_MKTEMP)),100, \
+ $(call gb_Helper_convert_native,$(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
+ $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
+ $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
+ $(foreach extraobjectlist,$(EXTRAOBJECTLISTS),$(shell cat $(extraobjectlist))) \
+ $(PCHOBJS) $(NATIVERES))) && \
+ $(gb_LINK) \
+ $(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
+ $(if $(filter StaticLibrary,$(TARGETTYPE)),$(gb_StaticLibrary_TARGETTYPEFLAGS)) \
+ $(if $(filter Executable,$(TARGETTYPE)),$(gb_Executable_TARGETTYPEFLAGS)) \
$(if $(filter YES,$(gb_Executable_TARGETGUI)), -SUBSYSTEM:WINDOWS, -SUBSYSTEM:CONSOLE) \
$(T_LDFLAGS) \
- @$${RESPONSEFILE} \
- $(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib))) \
- $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_filename,$(lib))) \
+ @$${RESPONSEFILE} \
+ $(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_filename,$(lib))) \
+ $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_filename,$(lib))) \
$(LIBS) \
- $(if $(DLLTARGET),-out:$(DLLTARGET) -implib:$(1),-out:$(1)); RC=$$?; rm $${RESPONSEFILE} \
- $(if $(DLLTARGET),; if [ ! -f $(DLLTARGET) ]; then rm -f $(1) && false; fi) ; exit $$RC)
+ $(if $(DLLTARGET),-out:$(DLLTARGET) -implib:$(1),-out:$(1)); RC=$$?; rm $${RESPONSEFILE} \
+ $(if $(DLLTARGET),; if [ ! -f $(DLLTARGET) ]; then rm -f $(1) && false; fi) ; exit $$RC)
endef
@@ -432,78 +384,74 @@ gb_Library_SYSPRE := i
gb_Library_PLAINEXT := .lib
gb_Library_PLAINLIBS_NONE += \
- advapi32 \
+ advapi32 \
d3d9 \
d3dx \
ddraw \
- gdi32 \
- gdiplus \
- gnu_getopt \
- imm32\
- kernel32 \
- msimg32 \
- msvcrt \
- mpr \
- oldnames \
- ole32 \
- oleaut32 \
- shell32 \
- unicows \
- user32 \
- uuid \
- uwinapi \
+ gdi32 \
+ gdiplus \
+ gnu_getopt \
+ imm32\
+ kernel32 \
+ msimg32 \
+ msvcrt \
+ msvcprt \
+ mpr \
+ oldnames \
+ ole32 \
+ oleaut32 \
+ shell32 \
+ shlwapi \
+ unicows \
+ user32 \
+ uuid \
+ uwinapi \
+ version \
winmm \
- winspool \
+ winspool \
gb_Library_LAYER := \
- $(foreach lib,$(gb_Library_OOOLIBS),$(lib):OOO) \
- $(foreach lib,$(gb_Library_PLAINLIBS_NONE),$(lib):OOO) \
- $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):OOO) \
- $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):OOO) \
- $(foreach lib,$(gb_Library_RTLIBS),$(lib):OOO) \
- $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):OOO) \
- $(foreach lib,$(gb_Library_STLLIBS),$(lib):OOO) \
- $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):OOO) \
- $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):OOO) \
- $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_OOOLIBS),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_NONE),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_RTLIBS),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):OOO) \
gb_Library_FILENAMES :=\
- $(foreach lib,$(gb_Library_TARGETS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
+ $(foreach lib,$(gb_Library_TARGETS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
gb_Library_DLLEXT := .dll
gb_Library_MAJORVER := 3
gb_Library_RTEXT := MSC$(gb_Library_DLLEXT)
-ifeq ($(gb_PRODUCT),$(true))
-gb_Library_STLEXT := port_vc7145$(gb_Library_DLLEXT)
-else
-gb_Library_STLEXT := port_vc7145_stldebug$(gb_Library_DLLEXT)
-endif
-gb_Library_OOOEXT := mi$(gb_Library_DLLEXT)
+gb_Library_OOOEXT := $(gb_Library_DLLPOSTFIX)$(gb_Library_DLLEXT)
gb_Library_UNOEXT := .uno$(gb_Library_DLLEXT)
gb_Library_UNOVEREXT := $(gb_Library_MAJORVER)$(gb_Library_DLLEXT)
gb_Library_RTVEREXT := $(gb_Library_MAJORVER)$(gb_Library_RTEXT)
gb_Library_DLLFILENAMES :=\
- $(foreach lib,$(gb_Library_OOOLIBS),$(lib):$(lib)$(gb_Library_OOOEXT)) \
- $(foreach lib,$(gb_Library_PLAINLIBS_NONE),$(lib):$(lib)$(gb_Library_DLLEXT)) \
- $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):$(lib)$(gb_Library_DLLEXT)) \
- $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):$(lib)$(gb_Library_DLLEXT)) \
- $(foreach lib,$(gb_Library_RTLIBS),$(lib):$(lib)$(gb_Library_RTEXT)) \
- $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):$(lib)$(gb_Library_RTVEREXT)) \
- $(foreach lib,$(gb_Library_STLLIBS),$(lib):$(lib)$(gb_Library_STLEXT)) \
- $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):$(lib)$(gb_Library_UNOEXT)) \
- $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):$(lib)$(gb_Library_UNOEXT)) \
- $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):$(lib)$(gb_Library_UNOVEREXT)) \
+ $(foreach lib,$(gb_Library_OOOLIBS),$(lib):$(lib)$(gb_Library_OOOEXT)) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_NONE),$(lib):$(lib)$(gb_Library_DLLEXT)) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):$(lib)$(gb_Library_DLLEXT)) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):$(lib)$(gb_Library_DLLEXT)) \
+ $(foreach lib,$(gb_Library_RTLIBS),$(lib):$(lib)$(gb_Library_RTEXT)) \
+ $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):$(lib)$(gb_Library_RTVEREXT)) \
+ $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):$(lib)$(gb_Library_UNOEXT)) \
+ $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):$(lib)$(gb_Library_UNOEXT)) \
+ $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):$(lib)$(gb_Library_UNOVEREXT)) \
define gb_Library_Library_platform
$(call gb_LinkTarget_set_dlltarget,$(2),$(3))
$(call gb_LinkTarget_set_auxtargets,$(2),\
- $(patsubst %.lib,%.exp,$(call gb_LinkTarget_get_target,$(2))) \
- $(3).manifest \
- $(call gb_LinkTarget_get_pdbfile,$(2)) \
- $(patsubst %.dll,%.pdb,$(3)) \
- $(patsubst %.dll,%.ilk,$(3)) \
+ $(patsubst %.lib,%.exp,$(call gb_LinkTarget_get_target,$(2))) \
+ $(3).manifest \
+ $(call gb_LinkTarget_get_pdbfile,$(2)) \
+ $(patsubst %.dll,%.pdb,$(3)) \
+ $(patsubst %.dll,%.ilk,$(3)) \
)
$(call gb_Library_get_target,$(1)) \
@@ -512,8 +460,8 @@ $(call gb_Library_get_clean_target,$(1)) : AUXTARGETS := $(OUTDIR)/bin/$(notdir
ifneq ($(ENABLE_CRASHDUMP),)
$(call gb_Library_get_target,$(1)) \
$(call gb_Library_get_clean_target,$(1)) : AUXTARGETS += \
- $(OUTDIR)/bin/$(notdir $(patsubst %.dll,%.pdb,$(3))) \
- $(OUTDIR)/bin/$(notdir $(patsubst %.dll,%.ilk,$(3))) \
+ $(OUTDIR)/bin/$(notdir $(patsubst %.dll,%.pdb,$(3))) \
+ $(OUTDIR)/bin/$(notdir $(patsubst %.dll,%.ilk,$(3))) \
endif
@@ -528,10 +476,10 @@ define gb_Library_add_default_nativeres
$(call gb_WinResTarget_WinResTarget_init,$(1)/$(2))
$(call gb_WinResTarget_add_file,$(1)/$(2),solenv/inc/shlinfo)
$(call gb_WinResTarget_set_defs,$(1)/$(2),\
- $$(DEFS) \
- -DADDITIONAL_VERINFO1 \
- -DADDITIONAL_VERINFO2 \
- -DADDITIONAL_VERINFO3 \
+ $$(DEFS) \
+ -DADDITIONAL_VERINFO1 \
+ -DADDITIONAL_VERINFO2 \
+ -DADDITIONAL_VERINFO3 \
)
$(call gb_Library_add_nativeres,$(1),$(2))
$(call gb_Library_get_clean_target,$(1)) : $(call gb_WinResTarget_get_clean_target,$(1)/$(2))
@@ -558,8 +506,8 @@ gb_StaticLibrary_PLAINEXT := .lib
gb_StaticLibrary_JPEGEXT := lib$(gb_StaticLibrary_PLAINEXT)
gb_StaticLibrary_FILENAMES := \
- $(foreach lib,$(gb_StaticLibrary_JPEGLIBS),$(lib):$(gb_StaticLibrary_SYSPRE)$(lib)$(gb_StaticLibrary_JPEGEXT)) \
- $(foreach lib,$(gb_StaticLibrary_PLAINLIBS),$(lib):$(gb_StaticLibrary_SYSPRE)$(lib)$(gb_StaticLibrary_PLAINEXT)) \
+ $(foreach lib,$(gb_StaticLibrary_JPEGLIBS),$(lib):$(gb_StaticLibrary_SYSPRE)$(lib)$(gb_StaticLibrary_JPEGEXT)) \
+ $(foreach lib,$(gb_StaticLibrary_PLAINLIBS),$(lib):$(gb_StaticLibrary_SYSPRE)$(lib)$(gb_StaticLibrary_PLAINEXT)) \
gb_StaticLibrary_FILENAMES := $(patsubst salcpprt:salcpprt%,salcpprt:cpprtl%,$(gb_StaticLibrary_FILENAMES))
@@ -568,7 +516,7 @@ $(call gb_LinkTarget_get_target,$(2)) \
$(call gb_LinkTarget_get_headers_target,$(2)) : PDBFILE = $(call gb_LinkTarget_get_pdbfile,$(2))
$(call gb_LinkTarget_set_auxtargets,$(2),\
- $(call gb_LinkTarget_get_pdbfile,$(2)) \
+ $(call gb_LinkTarget_get_pdbfile,$(2)) \
)
endef
@@ -576,15 +524,15 @@ endef
# Executable class
gb_Executable_EXT := .exe
-gb_Executable_TARGETTYPEFLAGS := -RELEASE -BASE:0x1b000000 -OPT:NOREF -INCREMENTAL:NO -DEBUG
+gb_Executable_TARGETTYPEFLAGS := -RELEASE -OPT:NOREF -INCREMENTAL:NO -DEBUG
gb_Executable_get_rpath :=
gb_Executable_TARGETGUI :=
define gb_Executable_Executable_platform
$(call gb_LinkTarget_set_auxtargets,$(2),\
- $(patsubst %.exe,%.pdb,$(call gb_LinkTarget_get_target,$(2))) \
- $(call gb_LinkTarget_get_pdbfile,$(2)) \
- $(call gb_LinkTarget_get_target,$(2)).manifest \
+ $(patsubst %.exe,%.pdb,$(call gb_LinkTarget_get_target,$(2))) \
+ $(call gb_LinkTarget_get_pdbfile,$(2)) \
+ $(call gb_LinkTarget_get_target,$(2)).manifest \
)
$(call gb_Executable_get_target,$(1)) \
@@ -599,7 +547,12 @@ endef
# CppunitTest class
gb_CppunitTest_DEFS := -D_DLL
-gb_CppunitTest_CPPTESTPRECOMMAND :=
+# cppunittester.exe is in the cppunit subdirectory of ${OUTDIR}/bin,
+# thus it won't find its DLLs unless ${OUTDIR}/bin is added to PATH.
+# PATH is the Cygwin one while ${OUTDIR} is a Win32 pathname, thus
+# cygpath -u.
+gb_CppunitTest_CPPTESTPRECOMMAND := PATH="`cygpath -u $(OUTDIR)`/bin:$${PATH}"
+
gb_CppunitTest_SYSPRE := itest_
gb_CppunitTest_EXT := .lib
gb_CppunitTest_get_filename = $(gb_CppunitTest_SYSPRE)$(1)$(gb_CppunitTest_EXT)
@@ -609,11 +562,11 @@ define gb_CppunitTest_CppunitTest_platform
$(call gb_LinkTarget_set_dlltarget,$(2),$(3))
$(call gb_LinkTarget_set_auxtargets,$(2),\
- $(patsubst %.lib,%.exp,$(call gb_LinkTarget_get_target,$(2))) \
- $(3).manifest \
- $(patsubst %.dll,%.pdb,$(3)) \
- $(call gb_LinkTarget_get_pdbfile,$(2)) \
- $(patsubst %.dll,%.ilk,$(3)) \
+ $(patsubst %.lib,%.exp,$(call gb_LinkTarget_get_target,$(2))) \
+ $(3).manifest \
+ $(patsubst %.dll,%.pdb,$(3)) \
+ $(call gb_LinkTarget_get_pdbfile,$(2)) \
+ $(patsubst %.dll,%.ilk,$(3)) \
)
$(call gb_LinkTarget_get_target,$(2)) \
@@ -644,11 +597,11 @@ $(call gb_JunitTest_get_target,$(1)) : $(call gb_JunitTest_get_target,$(1)).inst
$(call gb_JunitTest_get_target,$(1)) : CLEAN_CMD = $(call gb_Helper_abbreviate_dirs,rm -rf `cat $$@.instpath` $$@.instpath)
$(call gb_JunitTest_get_target,$(1)).instpath :
- INST_DIR=$$$$(cygpath -m `mktemp -d -t testinst.XXXXXX`) \
- && unzip -d "$$$${INST_DIR}" $$(gb_smoketest_instset) \
- && mv "$$$${INST_DIR}"/OOo_*_install-arc_$$(gb_defaultlangiso) "$$$${INST_DIR}"/opt\
- && mkdir -p $$(dir $$@) \
- && echo "$$$${INST_DIR}" > $$@
+ INST_DIR=$$$$(cygpath -m `mktemp -d -t testinst.XXXXXX`) \
+ && unzip -d "$$$${INST_DIR}" $$(gb_smoketest_instset) \
+ && mv "$$$${INST_DIR}"/OOo_*_install-arc_$$(gb_defaultlangiso) "$$$${INST_DIR}"/opt\
+ && mkdir -p $$(dir $$@) \
+ && echo "$$$${INST_DIR}" > $$@
endef
else # OOO_TEST_SOFFICE
@@ -659,20 +612,22 @@ define gb_JunitTest_JunitTest_platform
$(call gb_JunitTest_JunitTest_platform_longpathname_hack,$(1))
$(call gb_JunitTest_get_target,$(1)) : DEFS := \
- -Dorg.openoffice.test.arg.soffice="$$$${OOO_TEST_SOFFICE:-path:`cat $(call gb_JunitTest_get_target,$(1)).instpath`/opt/OpenOffice.org 3/program/soffice.exe}" \
- -Dorg.openoffice.test.arg.env=PATH \
- -Dorg.openoffice.test.arg.user=file:///$(call gb_JunitTest_get_userdir,$(1)) \
+ -Dorg.openoffice.test.arg.soffice="$$$${OOO_TEST_SOFFICE:-path:`cat $(call gb_JunitTest_get_target,$(1)).instpath`/opt/OpenOffice.org 3/program/soffice.exe}" \
+ -Dorg.openoffice.test.arg.env=PATH \
+ -Dorg.openoffice.test.arg.user=file:///$(call gb_JunitTest_get_userdir,$(1)) \
endef
# SdiTarget class
-gb_SdiTarget_SVIDLPRECOMMAND := PATH="$${PATH}:$(OUTDIR)/bin"
+# svidl.exe is in ${OUTDIR}/bin itself, so nothing special needed to have it find
+# DLLs in the same directory
+gb_SdiTarget_SVIDLPRECOMMAND :=
# SrsPartMergeTarget
-
-gb_SrsPartMergeTarget_TRANSEXPRECOMMAND := PATH="$${PATH}:$(OUTDIR)/bin"
+# Ditto for transex3
+gb_SrsPartMergeTarget_TRANSEXPRECOMMAND :=
# SrsPartTarget class
@@ -682,18 +637,18 @@ gb_SrsPartTarget_RSCCOMMAND := SOLARBINDIR=$(OUTDIR)/bin $(gb_SrsPartTarget_RSCT
ifeq ($(gb_FULLDEPS),$(true))
define gb_SrsPartTarget__command_dep
$(call gb_Helper_abbreviate_dirs_native,\
- $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
- $(INCLUDE) \
- $(DEFS) \
- $(2) \
- -f - \
- | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \
- -v OBJECTFILE=$(call gb_SrsPartTarget_get_target,$(1)) \
- -v OUTDIR=$(OUTDIR)/ \
- -v WORKDIR=$(WORKDIR)/ \
- -v SRCDIR=$(SRCDIR)/ \
- -v REPODIR=$(REPODIR)/ \
- > $(call gb_SrsPartTarget_get_dep_target,$(1)))
+ $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
+ $(INCLUDE) \
+ $(DEFS) \
+ $(2) \
+ -f - \
+ | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \
+ -v OBJECTFILE=$(call gb_SrsPartTarget_get_target,$(1)) \
+ -v OUTDIR=$(OUTDIR)/ \
+ -v WORKDIR=$(WORKDIR)/ \
+ -v SRCDIR=$(SRCDIR)/ \
+ -v REPODIR=$(REPODIR)/ \
+ > $(call gb_SrsPartTarget_get_dep_target,$(1)))
endef
else
gb_SrsPartTarget__command_dep =
@@ -706,34 +661,34 @@ gb_WinResTarget_POSTFIX :=.res
define gb_WinResTarget__command
$(call gb_Output_announce,$(2),$(true),RES,3)
$(call gb_Helper_abbreviate_dirs_native,\
- mkdir -p $(dir $(1)) && \
- $(gb_RC) \
- $(DEFS) $(FLAGS) \
- -I$(dir $(3)) \
- $(INCLUDE) \
- -Fo$(1) \
- $(RCFILE) )
+ mkdir -p $(dir $(1)) && \
+ $(gb_RC) \
+ $(DEFS) $(FLAGS) \
+ -I$(dir $(3)) \
+ $(INCLUDE) \
+ -Fo$(1) \
+ $(RCFILE) )
endef
$(eval $(call gb_Helper_make_dep_targets,\
- WinResTarget \
+ WinResTarget \
))
ifeq ($(gb_FULLDEPS),$(true))
define gb_WinResTarget__command_dep
$(call gb_Helper_abbreviate_dirs_native,\
- $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
- $(INCLUDE) \
- $(DEFS) \
- $(2) \
- -f - \
- | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \
- -v OBJECTFILE=$(call gb_WinResTarget_get_target,$(1)) \
- -v OUTDIR=$(OUTDIR)/ \
- -v WORKDIR=$(WORKDIR)/ \
- -v SRCDIR=$(SRCDIR)/ \
- -v REPODIR=$(REPODIR)/ \
- > $(call gb_WinResTarget_get_dep_target,$(1)))
+ $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
+ $(INCLUDE) \
+ $(DEFS) \
+ $(2) \
+ -f - \
+ | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \
+ -v OBJECTFILE=$(call gb_WinResTarget_get_target,$(1)) \
+ -v OUTDIR=$(OUTDIR)/ \
+ -v WORKDIR=$(WORKDIR)/ \
+ -v SRCDIR=$(SRCDIR)/ \
+ -v REPODIR=$(REPODIR)/ \
+ > $(call gb_WinResTarget_get_dep_target,$(1)))
endef
else
gb_WinResTarget__command_dep =
@@ -741,10 +696,12 @@ endif
# ComponentTarget
-gb_XSLTPROCPRECOMMAND := PATH="$${PATH}:$(OUTDIR)/bin"
+# See comment for svidl.exe
+gb_XSLTPROCPRECOMMAND :=
+
gb_Library_COMPONENTPREFIXES := \
- OOO:vnd.sun.star.expand:\dBRAND_BASE_DIR/program/ \
- URELIB:vnd.sun.star.expand:\dURE_INTERNAL_LIB_DIR/ \
+ OOO:vnd.sun.star.expand:\dBRAND_BASE_DIR/program/ \
+ URELIB:vnd.sun.star.expand:\dURE_INTERNAL_LIB_DIR/ \
NONE:vnd.sun.star.expand:\dOOO_INBUILD_SHAREDLIB_DIR/ \
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/platform/winmingw.mk b/solenv/gbuild/platform/winmingw.mk
index babeb36917fd..a8e981461144 100644
--- a/solenv/gbuild/platform/winmingw.mk
+++ b/solenv/gbuild/platform/winmingw.mk
@@ -29,7 +29,11 @@ GUI := WNT
COM := GCC
# set tmpdir to some mixed case path, suitable for native tools
+ifeq ($(OS_FOR_BUILD),WNT)
gb_TMPDIR:=$(if $(TMPDIR),$(shell cygpath -m $(TMPDIR)),$(shell cygpath -m /tmp))
+else
+gb_TMPDIR:=/tmp
+endif
gb_MKTEMP := mktemp --tmpdir=$(gb_TMPDIR) gbuild.XXXXXX
gb_CC := $(CC)
@@ -50,84 +54,81 @@ ifeq ($(MINGW_SHARED_GXXLIB),YES)
gb_MINGW_LIBSTDCPP := $(subst -l,,$(MINGW_SHARED_LIBSTDCPP))
else
gb_MINGW_LIBSTDCPP := \
- stdc++ \
- moldname
+ stdc++ \
+ moldname
endif
ifeq ($(MINGW_SHARED_GCCLIB),YES)
gb_MINGW_LIBGCC := \
- gcc_s \
- gcc
+ gcc_s \
+ gcc
else
ifeq ($(MINGW_GCCLIB_EH),YES)
gb_MINGW_LIBGCC := \
- gcc \
- gcc_eh
+ gcc \
+ gcc_eh
else
gb_MINGW_LIBGCC := gcc
endif
endif
gb_OSDEFS := \
- -DWINVER=0x0500 \
- -D_WIN32_IE=0x0500 \
- -DNT351 \
- -DWIN32 \
- -DWNT \
+ -DWINVER=0x0500 \
+ -D_WIN32_IE=0x0500 \
+ -DNT351 \
+ -DWIN32 \
+ -DWNT \
ifeq ($(GXX_INCLUDE_PATH),)
GXX_INCLUDE_PATH=$(COMPATH)/include/c++/$(shell gcc -dumpversion)
endif
gb_COMPILERDEFS := \
- -DGCC \
- -D$(CVER) \
- -DCVER=$(CVER) \
- -DGLIBC=2 \
- -DGXX_INCLUDE_PATH=$(GXX_INCLUDE_PATH) \
- -DCPPU_ENV=gcc3 \
- -D_MT \
- -D_NATIVE_WCHAR_T_DEFINED \
- -D_MSC_EXTENSIONS \
- -D_FORCENAMELESSUNION \
+ -DGCC \
+ -DGLIBC=2 \
+ -DGXX_INCLUDE_PATH=$(GXX_INCLUDE_PATH) \
+ -DCPPU_ENV=gcc3 \
+ -D_MT \
+ -D_NATIVE_WCHAR_T_DEFINED \
+ -D_MSC_EXTENSIONS \
+ -D_FORCENAMELESSUNION \
ifeq ($(USE_MINGW),cygwin-w64-mingw32)
gb_COMPILERDEFS +=-D_declspec=__declspec
endif
gb_CPUDEFS := \
- -DINTEL \
- -D_M_IX86 \
+ -DINTEL \
+ -D_M_IX86 \
gb_RCDEFS := \
- -DWINVER=0x0400 \
- -DWIN32 \
+ -DWINVER=0x0400 \
+ -DWIN32 \
gb_RCFLAGS := \
- -V
+ -V
gb_CFLAGS := \
- -Wall \
- -Wendif-labels \
- -Wextra \
- -fmessage-length=0 \
- -fno-strict-aliasing \
- -pipe \
- -nostdinc \
+ -Wall \
+ -Wendif-labels \
+ -Wextra \
+ -fmessage-length=0 \
+ -fno-strict-aliasing \
+ -pipe \
+ -nostdinc \
gb_CXXFLAGS := \
- -Wall \
- -Wendif-labels \
- -Wextra \
- -Wno-ctor-dtor-privacy \
- -Wno-non-virtual-dtor \
- -Wreturn-type \
- -Wshadow \
- -Wuninitialized \
- -fmessage-length=0 \
- -fno-strict-aliasing \
- -fno-use-cxa-atexit \
- -pipe \
- -nostdinc \
+ -Wall \
+ -Wendif-labels \
+ -Wextra \
+ -Wno-ctor-dtor-privacy \
+ -Wno-non-virtual-dtor \
+ -Wreturn-type \
+ -Wshadow \
+ -Wuninitialized \
+ -fmessage-length=0 \
+ -fno-strict-aliasing \
+ -pipe \
+ -nostdinc \
ifneq ($(EXTERNAL_WARNINGS_NOT_ERRORS),TRUE)
gb_CFLAGS_WERROR := -Werror
@@ -139,35 +140,35 @@ gb_CXXFLAGS += --sysroot=$(SYSBASE)
gb_CFLAGS += --sysroot=$(SYSBASE)
endif
gb_LinkTarget_EXCEPTIONFLAGS := \
- -DEXCEPTIONS_ON \
- -fexceptions \
- -fno-enforce-eh-specs \
+ -DEXCEPTIONS_ON \
+ -fexceptions \
+ -fno-enforce-eh-specs \
gb_PrecompiledHeader_EXCEPTIONFLAGS := $(gb_LinkTarget_EXCEPTIONFLAGS)
gb_LinkTarget_NOEXCEPTIONFLAGS := \
- -DEXCEPTIONS_OFF \
- -fno-exceptions \
-
+ -DEXCEPTIONS_OFF \
+ -fno-exceptions \
+
gb_NoexPrecompiledHeader_NOEXCEPTIONFLAGS := $(gb_LinkTarget_NOEXCEPTIONFLAGS)
gb_LinkTarget_LDFLAGS := \
- --export-all-symbols \
- --kill-at \
- --exclude-libs ALL \
- --enable-stdcall-fixup \
- --enable-runtime-pseudo-reloc-v2 \
- -L$(gb_Library_DLLDIR) \
- $(patsubst %,-L%,$(filter-out .,$(subst ;, ,$(subst \,/,$(ILIB))))) \
+ --export-all-symbols \
+ --kill-at \
+ --exclude-libs ALL \
+ --enable-stdcall-fixup \
+ --enable-runtime-pseudo-reloc-v2 \
+ -L$(gb_Library_DLLDIR) \
+ $(patsubst %,-L%,$(filter-out .,$(subst ;, ,$(subst \,/,$(ILIB))))) \
ifeq ($(MINGW_GCCLIB_EH),YES)
gb_LinkTarget_LDFLAGS += -shared-libgcc
endif
gb_DEBUG_CFLAGS := -ggdb3 -finline-limit=0 -fno-inline -fno-default-inline
+ifneq ($(gb_DEBUGLEVEL),0)
-ifeq ($(gb_DEBUGLEVEL),2)
gb_COMPILEROPTFLAGS := -O0
else
gb_COMPILEROPTFLAGS := -Os
@@ -176,23 +177,31 @@ endif
gb_COMPILERNOOPTFLAGS := -O0
gb_STDLIBS := \
- mingwthrd \
- $(gb_MINGW_LIBSTDCPP) \
- mingw32 \
- $(gb_MINGW_LIBGCC) \
- uwinapi \
- moldname \
- mingwex \
- kernel32 \
- msvcrt \
+ mingwthrd \
+ $(gb_MINGW_LIBSTDCPP) \
+ mingw32 \
+ $(gb_MINGW_LIBGCC) \
+ uwinapi \
+ moldname \
+ mingwex \
+ kernel32 \
+ msvcrt \
+ msvcprt \
# Helper class
+ifeq ($(OS_FOR_BUILD),WNT)
gb_Helper_SRCDIR_NATIVE := $(shell cygpath -m $(SRCDIR) | $(gb_AWK) -- '{ print tolower(substr($$0,1,1)) substr($$0,2) }')
gb_Helper_WORKDIR_NATIVE := $(shell cygpath -m $(WORKDIR) | $(gb_AWK) -- '{ print tolower(substr($$0,1,1)) substr($$0,2) }')
gb_Helper_OUTDIR_NATIVE := $(shell cygpath -m $(OUTDIR) | $(gb_AWK) -- '{ print tolower(substr($$0,1,1)) substr($$0,2) }')
gb_Helper_REPODIR_NATIVE := $(shell cygpath -m $(REPODIR) | $(gb_AWK) -- '{ print tolower(substr($$0,1,1)) substr($$0,2) }')
+else
+gb_Helper_SRCDIR_NATIVE := $(SRCDIR)
+gb_Helper_WORKDIR_NATIVE := $(WORKDIR)
+gb_Helper_OUTDIR_NATIVE := $(OUTDIR)
+gb_Helper_REPODIR_NATIVE := $(REPODIR)
+endif
define gb_Helper_abbreviate_dirs_native
R=$(gb_Helper_REPODIR_NATIVE) && $(subst $(REPODIR)/,$$R/,$(subst $(gb_Helper_REPODIR_NATIVE)/,$$R/,O=$(gb_Helper_OUTDIR_NATIVE) && W=$(gb_Helper_WORKDIR_NATIVE) && S=$(gb_Helper_SRCDIR_NATIVE))) && \
@@ -215,18 +224,18 @@ endef
ifeq ($(gb_FULLDEPS),$(true))
define gb_Object__command_deponcompile
$(call gb_Helper_abbreviate_dirs_native,\
- $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
- $(filter-out -DPRECOMPILED_HEADERS,$(4)) $(5) \
- -I$(dir $(3)) \
- $(filter-out -I$(COMPATH)% %/pch -I$(JAVA_HOME),$(6)) \
- $(3) \
- -f - \
- | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \
- -v OBJECTFILE=$(1) \
- -v OUTDIR=$(OUTDIR)/ \
- -v WORKDIR=$(WORKDIR)/ \
- -v SRCDIR=$(SRCDIR)/ \
- -v REPODIR=$(REPODIR)/ \
+ $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
+ $(filter-out -DPRECOMPILED_HEADERS,$(4)) $(5) \
+ -I$(dir $(3)) \
+ $(filter-out -I$(COMPATH)% %/pch -I$(JAVA_HOME),$(6)) \
+ $(3) \
+ -f - \
+ | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \
+ -v OBJECTFILE=$(1) \
+ -v OUTDIR=$(OUTDIR)/ \
+ -v WORKDIR=$(WORKDIR)/ \
+ -v SRCDIR=$(SRCDIR)/ \
+ -v REPODIR=$(REPODIR)/ \
> $(2))
endef
else
@@ -236,14 +245,14 @@ endif
define gb_CObject__command
$(call gb_Output_announce,$(2),$(true),C ,3)
$(call gb_Helper_abbreviate_dirs_native,\
- mkdir -p $(dir $(1)) && \
- $(gb_CC) \
+ mkdir -p $(dir $(1)) && \
+ $(gb_CC) \
$(DEFS) \
$(T_CFLAGS) \
- -c $(3) \
- -o $(1) \
- -I$(dir $(3)) \
- $(INCLUDE))
+ -c $(3) \
+ -o $(1) \
+ -I$(dir $(3)) \
+ $(INCLUDE))
$(call gb_Object__command_deponcompile,$(1),$(4),$(3),$(DEFS),$(T_CFLAGS),$(INCLUDE))
endef
@@ -254,14 +263,14 @@ endef
define gb_CxxObject__command
$(call gb_Output_announce,$(2),$(true),CXX,3)
$(call gb_Helper_abbreviate_dirs_native,\
- mkdir -p $(dir $(1)) && \
- $(gb_CXX) \
+ mkdir -p $(dir $(1)) && \
+ $(gb_CXX) \
$(DEFS) \
$(T_CXXFLAGS) \
- -c $(3) \
- -o $(1) \
- -I$(dir $(3)) \
- $(INCLUDE_STL) $(INCLUDE))
+ -c $(3) \
+ -o $(1) \
+ -I$(dir $(3)) \
+ $(INCLUDE_STL) $(INCLUDE))
$(call gb_Object__command_deponcompile,$(1),$(4),$(3),$(DEFS),$(T_CXXFLAGS),$(INCLUDE_STL) $(INCLUDE))
endef
@@ -271,25 +280,25 @@ endef
gb_PrecompiledHeader_EXT := .gch
gb_PrecompiledHeader_get_enableflags = -I$(WORKDIR)/PrecompiledHeader/$(gb_PrecompiledHeader_DEBUGDIR) \
- -DPRECOMPILED_HEADERS \
- -Winvalid-pch \
+ -DPRECOMPILED_HEADERS \
+ -Winvalid-pch \
ifeq ($(gb_FULLDEPS),$(true))
define gb_PrecompiledHeader__command_deponcompile
$(call gb_Helper_abbreviate_dirs_native,\
- $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
- $(4) $(5) \
- -I$(dir $(3)) \
- $(filter-out -I$(COMPATH)% -I$(JAVA_HOME),$(6)) \
- $(3) \
- -f - \
- | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \
- -v OBJECTFILE=$(1) \
- -v OUTDIR=$(OUTDIR)/ \
- -v WORKDIR=$(WORKDIR)/ \
- -v SRCDIR=$(SRCDIR)/ \
- -v REPODIR=$(REPODIR)/ \
- > $(call gb_PrecompiledHeader_get_dep_target,$(2)))
+ $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
+ $(4) $(5) \
+ -I$(dir $(3)) \
+ $(filter-out -I$(COMPATH)% -I$(JAVA_HOME),$(6)) \
+ $(3) \
+ -f - \
+ | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \
+ -v OBJECTFILE=$(1) \
+ -v OUTDIR=$(OUTDIR)/ \
+ -v WORKDIR=$(WORKDIR)/ \
+ -v SRCDIR=$(SRCDIR)/ \
+ -v REPODIR=$(REPODIR)/ \
+ > $(call gb_PrecompiledHeader_get_dep_target,$(2)))
endef
else
gb_PrecompiledHeader__command_deponcompile =
@@ -298,14 +307,14 @@ endif
define gb_PrecompiledHeader__command
$(call gb_Output_announce,$(2),$(true),PCH,1)
$(call gb_Helper_abbreviate_dirs_native,\
- mkdir -p $(dir $(1)) $(dir $(call gb_PrecompiledHeader_get_dep_target,$(2))) && \
- $(gb_CXX) \
- -x c++-header \
- $(4) $(5) \
- -I$(dir $(3)) \
- $(6) \
- -c $(3) \
- -o$(1))
+ mkdir -p $(dir $(1)) $(dir $(call gb_PrecompiledHeader_get_dep_target,$(2))) && \
+ $(gb_CXX) \
+ -x c++-header \
+ $(4) $(5) \
+ -I$(dir $(3)) \
+ $(6) \
+ -c $(3) \
+ -o$(1))
$(call gb_PrecompiledHeader__command_deponcompile,$(1),$(2),$(3),$(4),$(5),$(6))
endef
@@ -315,24 +324,24 @@ endef
gb_NoexPrecompiledHeader_EXT := .gch
gb_NoexPrecompiledHeader_get_enableflags = -I$(WORKDIR)/NoexPrecompiledHeader/$(gb_NoexPrecompiledHeader_DEBUGDIR) \
- -Winvalid-pch \
+ -Winvalid-pch \
ifeq ($(gb_FULLDEPS),$(true))
define gb_NoexPrecompiledHeader__command_deponcompile
$(call gb_Helper_abbreviate_dirs_native,\
- $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
- $(4) $(5) \
- -I$(dir $(3)) \
- $(filter-out -I$(COMPATH)% -I$(JAVA_HOME),$(6)) \
- $(3) \
- -f - \
- | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \
- -v OBJECTFILE=$(1) \
- -v OUTDIR=$(OUTDIR)/ \
- -v WORKDIR=$(WORKDIR)/ \
- -v SRCDIR=$(SRCDIR)/ \
- -v REPODIR=$(REPODIR)/ \
- > $(call gb_NoexPrecompiledHeader_get_dep_target,$(2)))
+ $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
+ $(4) $(5) \
+ -I$(dir $(3)) \
+ $(filter-out -I$(COMPATH)% -I$(JAVA_HOME),$(6)) \
+ $(3) \
+ -f - \
+ | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \
+ -v OBJECTFILE=$(1) \
+ -v OUTDIR=$(OUTDIR)/ \
+ -v WORKDIR=$(WORKDIR)/ \
+ -v SRCDIR=$(SRCDIR)/ \
+ -v REPODIR=$(REPODIR)/ \
+ > $(call gb_NoexPrecompiledHeader_get_dep_target,$(2)))
endef
else
gb_NoexPrecompiledHeader__command_deponcompile =
@@ -341,14 +350,14 @@ endif
define gb_NoexPrecompiledHeader__command
$(call gb_Output_announce,$(2),$(true),PCH,1)
$(call gb_Helper_abbreviate_dirs_native,\
- mkdir -p $(dir $(1)) $(dir $(call gb_NoexPrecompiledHeader_get_dep_target,$(2))) && \
- $(gb_CXX) \
- -x c++-header \
- $(4) $(5) \
- -I$(dir $(3)) \
- $(6) \
- -c $(3) \
- -o$(1))
+ mkdir -p $(dir $(1)) $(dir $(call gb_NoexPrecompiledHeader_get_dep_target,$(2))) && \
+ $(gb_CXX) \
+ -x c++-header \
+ $(4) $(5) \
+ -I$(dir $(3)) \
+ $(6) \
+ -c $(3) \
+ -o$(1))
$(call gb_NoexPrecompiledHeader__command_deponcompile,$(1),$(2),$(3),$(4),$(5),$(6))
endef
@@ -359,69 +368,75 @@ endef
gb_LinkTarget_CFLAGS := $(gb_CFLAGS) $(gb_CFLAGS_WERROR)
gb_LinkTarget_CXXFLAGS := $(gb_CXXFLAGS) $(gb_CXXFLAGS_WERROR)
+endif
+ifeq ($(gb_SYMBOL),$(true))
+gb_LinkTarget_CXXFLAGS += -ggdb2
+gb_LinkTarget_CFLAGS += -ggdb2
gb_LinkTarget_INCLUDE :=\
- $(filter-out %/stl, $(subst -I. , ,$(SOLARINC))) \
- $(foreach inc,$(subst ;, ,$(JDKINC)),-I$(inc)) \
+ $(filter-out %/stl, $(subst -I. , ,$(SOLARINC))) \
+ $(foreach inc,$(subst ;, ,$(JDKINC)),-I$(inc)) \
gb_LinkTarget_INCLUDE_STL := $(filter %/stl, $(subst -I. , ,$(SOLARINC)))
define gb_LinkTarget__command_dynamiclinkexecutable
$(call gb_Output_announce,$(2),$(true),LNK,4)
$(call gb_Helper_abbreviate_dirs_native,\
- mkdir -p $(dir $(1)) && \
- RESPONSEFILE=`$(gb_MKTEMP)` && \
- echo "$(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
- $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
- $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) " > $${RESPONSEFILE} && \
- $(gb_LINK) \
- $(gb_Executable_TARGETTYPEFLAGS) \
+ mkdir -p $(dir $(1)) && \
+ RESPONSEFILE=`$(gb_MKTEMP)` && \
+ echo "$(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
+ $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
+ $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) " > $${RESPONSEFILE} && \
+ $(gb_LINK) \
+ $(gb_Executable_TARGETTYPEFLAGS) \
$(if $(filter YES,$(gb_Executable_TARGETGUI)), --subsystem windows, --subsystem console) \
$(T_LDFLAGS) \
- $(gb_MINGWLIBDIR)/crt2.o \
- $(MINGW_CLIB_DIR)/crtbegin.o \
- @$${RESPONSEFILE} \
- --start-group $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) --end-group \
- --start-group $(patsubst %.dll,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_dllname,$(lib)))) --end-group \
+ $(gb_MINGWLIBDIR)/crt2.o \
+ $(MINGW_CLIB_DIR)/crtbegin.o \
+ @$${RESPONSEFILE} \
+ $(foreach extraobjectlist,$(EXTRAOBJECTLISTS),@$(extraobjectlist)) \
+ --start-group $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) --end-group \
+ --start-group $(patsubst %.dll,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_dllname,$(lib)))) --end-group \
$(LIBS) \
- $(MINGW_CLIB_DIR)/crtend.o \
- -Map $(basename $(1)).map \
- -o $(1))
+ $(MINGW_CLIB_DIR)/crtend.o \
+ -Map $(basename $(1)).map \
+ -o $(1))
endef
define gb_LinkTarget__command_dynamiclinklibrary
$(call gb_Helper_abbreviate_dirs_native,\
- mkdir -p $(dir $(1)) && \
- rm -f $(1) && \
- RESPONSEFILE=`$(gb_MKTEMP)` && \
- echo "$(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
- $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
- $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) " > $${RESPONSEFILE} && \
- $(gb_LINK) \
- $(gb_Library_TARGETTYPEFLAGS) \
+ mkdir -p $(dir $(1)) && \
+ rm -f $(1) && \
+ RESPONSEFILE=`$(gb_MKTEMP)` && \
+ echo "$(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
+ $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
+ $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) " > $${RESPONSEFILE} && \
+ $(gb_LINK) \
+ $(gb_Library_TARGETTYPEFLAGS) \
$(T_LDFLAGS) \
- --enable-auto-image-base \
- -e _DllMainCRTStartup@12 \
- $(gb_MINGWLIBDIR)/dllcrt2.o \
- $(MINGW_CLIB_DIR)/crtbegin.o \
- @$${RESPONSEFILE} \
- --start-group $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) --end-group \
- --start-group $(patsubst %.dll,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_dllname,$(lib)))) --end-group \
+ --enable-auto-image-base \
+ -e _DllMainCRTStartup@12 \
+ $(gb_MINGWLIBDIR)/dllcrt2.o \
+ $(MINGW_CLIB_DIR)/crtbegin.o \
+ @$${RESPONSEFILE} \
+ $(foreach extraobjectlist,$(EXTRAOBJECTLISTS),@$(extraobjectlist)) \
+ --start-group $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) --end-group \
+ --start-group $(patsubst %.dll,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_dllname,$(lib)))) --end-group \
$(LIBS) \
- $(MINGW_CLIB_DIR)/crtend.o \
- -Map $(basename $(DLLTARGET)).map \
- -o $(DLLTARGET) && touch $(1))
+ $(MINGW_CLIB_DIR)/crtend.o \
+ -Map $(basename $(DLLTARGET)).map \
+ -o $(DLLTARGET) && touch $(1))
endef
define gb_LinkTarget__command_staticlinklibrary
$(call gb_Helper_abbreviate_dirs_native,\
- mkdir -p $(dir $(1)) && \
- RESPONSEFILE=`$(gb_MKTEMP)` && \
- echo "$(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
- $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
- $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) " > $${RESPONSEFILE} && \
- $(gb_AR) -rsu\
- $(1) \
- @$${RESPONSEFILE})
+ mkdir -p $(dir $(1)) && \
+ RESPONSEFILE=`$(gb_MKTEMP)` && \
+ echo "$(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
+ $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
+ $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) " > $${RESPONSEFILE} && \
+ $(gb_AR) -rsu\
+ $(1) \
+ @$${RESPONSEFILE})
endef
define gb_LinkTarget__command
@@ -442,68 +457,65 @@ gb_Library_SYSPRE := i
gb_Library_PLAINEXT := .lib
gb_Library_PLAINLIBS_NONE += \
- mingwthrd \
- mingw32 \
- mingwex \
- $(gb_MINGW_LIBSTDCPP) \
- $(gb_MINGW_LIBGCC) \
- advapi32 \
+ mingwthrd \
+ mingw32 \
+ mingwex \
+ $(gb_MINGW_LIBSTDCPP) \
+ $(gb_MINGW_LIBGCC) \
+ advapi32 \
d3d9 \
d3dx \
ddraw \
- gdi32 \
+ gdi32 \
gdiplus \
- kernel32 \
- msvcrt \
- mpr \
- moldname \
- ole32 \
- oleaut32 \
- shell32 \
- unicows \
- user32 \
- uuid \
- uwinapi \
+ gnu_getopt \
+ kernel32 \
+ msvcrt \
+ msvcprt \
+ mpr \
+ moldname \
+ ole32 \
+ oleaut32 \
+ shell32 \
+ shlwapi \
+ unicows \
+ user32 \
+ uuid \
+ uwinapi \
winmm \
gb_Library_LAYER := \
- $(foreach lib,$(gb_Library_OOOLIBS),$(lib):OOO) \
- $(foreach lib,$(gb_Library_PLAINLIBS_NONE),$(lib):OOO) \
- $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):OOO) \
- $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):OOO) \
- $(foreach lib,$(gb_Library_RTLIBS),$(lib):OOO) \
- $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):OOO) \
- $(foreach lib,$(gb_Library_STLLIBS),$(lib):OOO) \
- $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):OOO) \
- $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):OOO) \
- $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_OOOLIBS),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_NONE),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_RTLIBS),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):OOO) \
+ $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):OOO) \
gb_Library_FILENAMES :=\
- $(foreach lib,$(gb_Library_TARGETS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
+ $(foreach lib,$(gb_Library_TARGETS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
gb_Library_DLLEXT := .dll
gb_Library_MAJORVER := 3
gb_Library_RTEXT := gcc3$(gb_Library_DLLEXT)
-ifeq ($(gb_PRODUCT),$(true))
-gb_Library_STLEXT := port_gcc$(gb_Library_DLLEXT)
-else
-gb_Library_STLEXT := port_gcc_stldebug$(gb_Library_DLLEXT)
-endif
-gb_Library_OOOEXT := gi$(gb_Library_DLLEXT)
+gb_Library_OOOEXT := $(gb_Library_DLLPOSTFIX)$(gb_Library_DLLEXT)
gb_Library_UNOEXT := .uno$(gb_Library_DLLEXT)
gb_Library_UNOVEREXT := $(gb_Library_MAJORVER)$(gb_Library_DLLEXT)
gb_Library_RTVEREXT := $(gb_Library_MAJORVER)$(gb_Library_RTEXT)
gb_Library_DLLFILENAMES := \
- $(foreach lib,$(gb_Library_OOOLIBS),$(lib):$(lib)$(gb_Library_OOOEXT)) \
- $(foreach lib,$(gb_Library_PLAINLIBS_NONE),$(lib):$(lib)$(gb_Library_DLLEXT)) \
- $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):$(lib)$(gb_Library_DLLEXT)) \
- $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):$(lib)$(gb_Library_DLLEXT)) \
- $(foreach lib,$(gb_Library_RTLIBS),$(lib):$(lib)$(gb_Library_RTEXT)) \
- $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):$(lib)$(gb_Library_RTVEREXT)) \
- $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):$(lib)$(gb_Library_UNOEXT)) \
- $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):$(lib)$(gb_Library_UNOEXT)) \
- $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):$(lib)$(gb_Library_UNOVEREXT)) \
+ $(foreach lib,$(gb_Library_OOOLIBS),$(lib):$(lib)$(gb_Library_OOOEXT)) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_NONE),$(lib):$(lib)$(gb_Library_DLLEXT)) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):$(lib)$(gb_Library_DLLEXT)) \
+ $(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):$(lib)$(gb_Library_DLLEXT)) \
+ $(foreach lib,$(gb_Library_RTLIBS),$(lib):$(lib)$(gb_Library_RTEXT)) \
+ $(foreach lib,$(gb_Library_RTVERLIBS),$(lib):$(lib)$(gb_Library_RTVEREXT)) \
+ $(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):$(lib)$(gb_Library_UNOEXT)) \
+ $(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):$(lib)$(gb_Library_UNOEXT)) \
+ $(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):$(lib)$(gb_Library_UNOVEREXT)) \
gb_Library_IARCSYSPRE := lib
gb_Library_IARCEXT := .a
@@ -514,7 +526,7 @@ define gb_Library_Library_platform
$(call gb_LinkTarget_set_dlltarget,$(2),$(3))
$(call gb_LinkTarget_set_auxtargets,$(2),\
- $(patsubst %.dll,%.map,$(3)) \
+ $(patsubst %.dll,%.map,$(3)) \
)
$(call gb_Library_get_target,$(1)) \
@@ -528,10 +540,10 @@ define gb_Library_add_default_nativeres
$(call gb_WinResTarget_WinResTarget_init,$(1)/$(2))
$(call gb_WinResTarget_add_file,$(1)/$(2),solenv/inc/shlinfo)
$(call gb_WinResTarget_set_defs,$(1)/$(2),\
- $$(DEFS) \
- -DADDITIONAL_VERINFO1 \
- -DADDITIONAL_VERINFO2 \
- -DADDITIONAL_VERINFO3 \
+ $$(DEFS) \
+ -DADDITIONAL_VERINFO1 \
+ -DADDITIONAL_VERINFO2 \
+ -DADDITIONAL_VERINFO3 \
)
$(call gb_Library_add_nativeres,$(1),$(2))
$(call gb_Library_get_clean_target,$(1)) : $(call gb_WinResTarget_get_clean_target,$(1)/$(2))
@@ -557,8 +569,8 @@ gb_StaticLibrary_PLAINEXT := .a
gb_StaticLibrary_JPEGEXT := lib$(gb_StaticLibrary_PLAINEXT)
gb_StaticLibrary_FILENAMES := \
- $(foreach lib,$(gb_StaticLibrary_JPEGLIBS),$(lib):$(gb_StaticLibrary_SYSPRE)$(lib)$(gb_StaticLibrary_JPEGEXT)) \
- $(foreach lib,$(gb_StaticLibrary_PLAINLIBS),$(lib):$(gb_StaticLibrary_SYSPRE)$(lib)$(gb_StaticLibrary_PLAINEXT)) \
+ $(foreach lib,$(gb_StaticLibrary_JPEGLIBS),$(lib):$(gb_StaticLibrary_SYSPRE)$(lib)$(gb_StaticLibrary_JPEGEXT)) \
+ $(foreach lib,$(gb_StaticLibrary_PLAINLIBS),$(lib):$(gb_StaticLibrary_SYSPRE)$(lib)$(gb_StaticLibrary_PLAINEXT)) \
gb_StaticLibrary_FILENAMES := $(patsubst salcpprt:salcpprt%,salcpprt:cpprtl%,$(gb_StaticLibrary_FILENAMES))
@@ -584,7 +596,7 @@ define gb_CppunitTest_CppunitTest_platform
$(call gb_LinkTarget_set_dlltarget,$(2),$(3))
$(call gb_LinkTarget_set_auxtargets,$(2),\
- $(patsubst %.dll,%.map,$(3)) \
+ $(patsubst %.dll,%.map,$(3)) \
)
endef
@@ -605,18 +617,18 @@ gb_SrsPartTarget_RSCCOMMAND := SOLARBINDIR=$(OUTDIR)/bin $(gb_SrsPartTarget_RSCT
ifeq ($(gb_FULLDEPS),$(true))
define gb_SrsPartTarget__command_dep
$(call gb_Helper_abbreviate_dirs_native,\
- $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
- $(INCLUDE) \
- $(DEFS) \
- $(2) \
- -f - \
- | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \
- -v OBJECTFILE=$(call gb_SrsPartTarget_get_target,$(1)) \
- -v OUTDIR=$(OUTDIR)/ \
- -v WORKDIR=$(WORKDIR)/ \
- -v SRCDIR=$(SRCDIR)/ \
- -v REPODIR=$(REPODIR)/ \
- > $(call gb_SrsPartTarget_get_dep_target,$(1)))
+ $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
+ $(INCLUDE) \
+ $(DEFS) \
+ $(2) \
+ -f - \
+ | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \
+ -v OBJECTFILE=$(call gb_SrsPartTarget_get_target,$(1)) \
+ -v OUTDIR=$(OUTDIR)/ \
+ -v WORKDIR=$(WORKDIR)/ \
+ -v SRCDIR=$(SRCDIR)/ \
+ -v REPODIR=$(REPODIR)/ \
+ > $(call gb_SrsPartTarget_get_dep_target,$(1)))
endef
else
gb_SrsPartTarget__command_dep =
@@ -629,36 +641,36 @@ gb_WinResTarget_POSTFIX :=_res.o
define gb_WinResTarget__command
$(call gb_Output_announce,$(2),$(true),RES,3)
$(call gb_Helper_abbreviate_dirs_native,\
- mkdir -p $(dir $(1)) && \
- $(gb_RC) \
- $(DEFS) $(FLAGS) \
- -I$(dir $(3)) \
- $(INCLUDE) \
- -Fo$(patsubst %_res.o,%.res,$(1)) \
- $(RCFILE) )
- windres $(patsubst %_res.o,%.res,$(1)) $(1)
- rm $(patsubst %_res.o,%.res,$(1))
+ mkdir -p $(dir $(1)) && \
+ $(gb_RC) \
+ $(DEFS) $(FLAGS) \
+ -I$(dir $(3)) \
+ $(INCLUDE) \
+ -Fo$(patsubst %_res.o,%.res,$(1)) \
+ $(RCFILE) )
+ windres $(patsubst %_res.o,%.res,$(1)) $(1)
+ rm $(patsubst %_res.o,%.res,$(1))
endef
$(eval $(call gb_Helper_make_dep_targets,\
- WinResTarget \
+ WinResTarget \
))
ifeq ($(gb_FULLDEPS),$(true))
define gb_WinResTarget__command_dep
$(call gb_Helper_abbreviate_dirs_native,\
- $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
- $(INCLUDE) \
- $(DEFS) \
- $(2) \
- -f - \
- | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \
- -v OBJECTFILE=$(call gb_WinResTarget_get_target,$(1)) \
- -v OUTDIR=$(OUTDIR)/ \
- -v WORKDIR=$(WORKDIR)/ \
- -v SRCDIR=$(SRCDIR)/ \
- -v REPODIR=$(REPODIR)/ \
- > $(call gb_WinResTarget_get_dep_target,$(1)))
+ $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
+ $(INCLUDE) \
+ $(DEFS) \
+ $(2) \
+ -f - \
+ | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \
+ -v OBJECTFILE=$(call gb_WinResTarget_get_target,$(1)) \
+ -v OUTDIR=$(OUTDIR)/ \
+ -v WORKDIR=$(WORKDIR)/ \
+ -v SRCDIR=$(SRCDIR)/ \
+ -v REPODIR=$(REPODIR)/ \
+ > $(call gb_WinResTarget_get_dep_target,$(1)))
endef
else
gb_WinResTarget__command_dep =
@@ -668,8 +680,8 @@ endif
gb_XSLTPROCPRECOMMAND := PATH="$${PATH}:$(OUTDIR)/bin"
gb_Library_COMPONENTPREFIXES := \
- OOO:vnd.sun.star.expand:\dBRAND_BASE_DIR/program/ \
- URELIB:vnd.sun.star.expand:\dURE_INTERNAL_LIB_DIR/ \
+ OOO:vnd.sun.star.expand:\dBRAND_BASE_DIR/program/ \
+ URELIB:vnd.sun.star.expand:\dURE_INTERNAL_LIB_DIR/ \
NONE:vnd.sun.star.expand:\dOOO_INBUILD_SHAREDLIB_DIR/ \
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/templates/AllLangResTarget.mk b/solenv/gbuild/templates/AllLangResTarget.mk
index c38b8ea42fc2..3f8d1237938d 100644
--- a/solenv/gbuild/templates/AllLangResTarget.mk
+++ b/solenv/gbuild/templates/AllLangResTarget.mk
@@ -39,11 +39,11 @@ $(eval $(call gb_SrsTarget_SrsTarget,RES/res))
# add any additional include paths here
$(eval $(call gb_SrsTarget_set_include,RES/res,\
- $$(INCLUDE) \
+ $$(INCLUDE) \
))
# add src files here (complete path relative to repository root)
$(eval $(call gb_SrsTarget_add_files,RES/res,\
))
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/templates/CppunitTest.mk b/solenv/gbuild/templates/CppunitTest.mk
index 56f3452ede14..28e940688019 100644
--- a/solenv/gbuild/templates/CppunitTest.mk
+++ b/solenv/gbuild/templates/CppunitTest.mk
@@ -31,11 +31,11 @@ $(eval $(call gb_CppunitTest_add_exception_objects,MODULE_NAME, \
))
$(eval $(call gb_CppunitTest_add_linked_libs,MODULE_NAME, \
- $(gb_STDLIBS) \
+ $(gb_STDLIBS) \
))
$(eval $(call gb_CppunitTest_set_include,MODULE_NAME,\
- $$(INCLUDE) \
+ $$(INCLUDE) \
))
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/templates/Executable.mk b/solenv/gbuild/templates/Executable.mk
index 84248be3a150..5a11ca65a055 100644
--- a/solenv/gbuild/templates/Executable.mk
+++ b/solenv/gbuild/templates/Executable.mk
@@ -28,7 +28,7 @@
$(eval $(call gb_Executable_Executable,EXEC))
$(eval $(call gb_Executable_set_include,EXEC,\
- $$(INCLUDE) \
+ $$(INCLUDE) \
))
#$(eval $(call gb_Executable_add_defs,EXEC,\
@@ -36,7 +36,7 @@ $(eval $(call gb_Executable_set_include,EXEC,\
#))
$(eval $(call gb_Executable_add_linked_libs,EXEC,\
- $(gb_STDLIBS) \
+ $(gb_STDLIBS) \
))
$(eval $(call gb_Executable_add_exception_objects,EXEC,\
@@ -45,4 +45,4 @@ $(eval $(call gb_Executable_add_exception_objects,EXEC,\
$(eval $(call gb_Executable_set_targettype_gui,EXEC,\
))
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/templates/JunitTest.mk b/solenv/gbuild/templates/JunitTest.mk
index 4492d9ef45f3..d4e515fa2d8e 100644
--- a/solenv/gbuild/templates/JunitTest.mk
+++ b/solenv/gbuild/templates/JunitTest.mk
@@ -28,16 +28,16 @@
$(eval $(call gb_JunitTest_JunitTest,MODULE_TYPE))
$(eval $(call gb_JunitTest_set_defs,MODULE_TYPE,\
- $$(DEFS) \
- -Dorg.openoffice.test.arg.tdoc=$(SRCDIR)/MODULE/DOCUMENTPATH \
+ $$(DEFS) \
+ -Dorg.openoffice.test.arg.tdoc=$(SRCDIR)/MODULE/DOCUMENTPATH \
))
$(eval $(call gb_JunitTest_add_jars,MODULE_TYPE,\
- $(OUTDIR)/bin/OOoRunner.jar \
- $(OUTDIR)/bin/ridl.jar \
- $(OUTDIR)/bin/test.jar \
- $(OUTDIR)/bin/unoil.jar \
- $(OUTDIR)/bin/jurt.jar \
+ $(OUTDIR)/bin/OOoRunner.jar \
+ $(OUTDIR)/bin/ridl.jar \
+ $(OUTDIR)/bin/test.jar \
+ $(OUTDIR)/bin/unoil.jar \
+ $(OUTDIR)/bin/jurt.jar \
))
$(eval $(call gb_JunitTest_add_sourcefiles,MODULE_TYPE,\
@@ -46,4 +46,4 @@ $(eval $(call gb_JunitTest_add_sourcefiles,MODULE_TYPE,\
$(eval $(call gb_JunitTest_add_classes,MODULE_COMPLEX,\
))
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/templates/Library.mk b/solenv/gbuild/templates/Library.mk
index 4b6603a05eee..249bbdfced2c 100644
--- a/solenv/gbuild/templates/Library.mk
+++ b/solenv/gbuild/templates/Library.mk
@@ -44,7 +44,7 @@ $(eval $(call gb_Library_set_componentfile,LIB,MODULE/COMPONENT_FILE))
# add any additional include paths for this library here
$(eval $(call gb_Library_set_include,LIB,\
- $$(INCLUDE) \
+ $$(INCLUDE) \
))
# add any additional definitions to be set for compilation here
@@ -55,7 +55,7 @@ $(eval $(call gb_Library_set_include,LIB,\
# add libraries to be linked to LIB; again these names need to be given as
# specified in Repository.mk
$(eval $(call gb_Library_add_linked_libs,LIB,\
- $(gb_STDLIBS) \
+ $(gb_STDLIBS) \
))
# add all source files that shall be compiled with exceptions enabled
@@ -70,16 +70,16 @@ $(eval $(call gb_SdiTarget_SdiTarget,MODULE/sdi/ROOT_SDI_FILE,MODULE/sdi/LIB))
# add any additional include paths for sdi processing here
$(eval $(call gb_SdiTarget_set_include,MODULE/sdi/ROOT_SDI_FILE,\
- $$(INCLUDE) \
+ $$(INCLUDE) \
))
# this is an example how files can be added that require special compiler settings, e.g. building without optimizing
ifeq ($(OS),WNT)
$(eval $(call gb_Library_add_cxxobjects,LIB,\
- MODULE/source/foo/bar \
- , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
+ MODULE/source/foo/bar \
+ , $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
))
endif
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/templates/Module.mk b/solenv/gbuild/templates/Module.mk
index 6adb9bfab4a2..3b2f7fa04d98 100644
--- a/solenv/gbuild/templates/Module.mk
+++ b/solenv/gbuild/templates/Module.mk
@@ -42,4 +42,4 @@ $(eval $(call gb_Module_add_check_targets,MODULE,\
$(eval $(call gb_Module_add_subsequentcheck_targets,MODULE,\
))
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/templates/Package.mk b/solenv/gbuild/templates/Package.mk
index 1b9ae0315990..c71ca5f4f3ae 100644
--- a/solenv/gbuild/templates/Package.mk
+++ b/solenv/gbuild/templates/Package.mk
@@ -39,4 +39,4 @@ $(eval $(call gb_Package_Package,MODULE_TYPE,$(SRCDIR)/MODULE/SOURCE))
# DESTINATION_RELPATH/file.ext is the destination file (relative to $(OUTDIR))
$(eval $(call gb_Package_add_file,MODULE_TYPE,DESTINATION_RELPATH/file.ext,SOURCE_RELPATH/file.ext))
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/templates/StaticLibrary.mk b/solenv/gbuild/templates/StaticLibrary.mk
index 5b0176b8b41c..0bee7b930ab8 100644
--- a/solenv/gbuild/templates/StaticLibrary.mk
+++ b/solenv/gbuild/templates/StaticLibrary.mk
@@ -32,4 +32,4 @@ $(eval $(call gb_StaticLibrary_add_package_headers,LIB,MODULE_inc))
$(eval $(call gb_StaticLibrary_add_exception_objects,LIB,\
))
-# vim: set noet sw=4 ts=4:
+# vim: set noet sw=4:
diff --git a/solenv/gbuild/templates/makefile.mk b/solenv/gbuild/templates/makefile.mk
index e312a7ccab65..88cd9dfe08b8 100644
--- a/solenv/gbuild/templates/makefile.mk
+++ b/solenv/gbuild/templates/makefile.mk
@@ -37,4 +37,4 @@ VERBOSEFLAG := -s
.ENDIF
all:
- cd $(PRJ) && $(GNUMAKE) $(VERBOSEFLAG) -r -j$(MAXPROCESS) $(gb_MAKETARGET) && $(GNUMAKE) $(VERBOSEFLAG) -r deliverlog
+ cd $(PRJ) && $(GNUMAKE) $(VERBOSEFLAG) -r -j$(MAXPROCESS) $(gb_MAKETARGET) && $(GNUMAKE) $(VERBOSEFLAG) -r deliverlog
diff --git a/solenv/inc/_tg_app.mk b/solenv/inc/_tg_app.mk
index 960c8d229b76..cf56b9c31f9c 100644
--- a/solenv/inc/_tg_app.mk
+++ b/solenv/inc/_tg_app.mk
@@ -1,9 +1,5 @@
# unroll begin
-.IF "$(GUI)" == "OS2" && "$(TARGETTYPE)" == "GUI"
-APP1DEF = $(MISC)/$(APP1TARGET).def
-.ENDIF
-
.IF "$(APP1LINKTYPE)" != ""
#must be either STATIC or SHARED
APP1LINKTYPEFLAG=$(APPLINK$(APP1LINKTYPE))
@@ -59,7 +55,7 @@ APP1PRODUCTDEF+:=-DPRODUCT_NAME=\"$(APP1PRODUCTNAME)\"
.ENDIF # "$(APP1PRODUCTNAME)"!=""
.IF "$(linkinc)"!=""
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(APP1LIBS)"!=""
$(MISC)/$(APP1TARGET)_linkinc.ls .PHONY:
@@-$(RM) $@
@@ -74,16 +70,8 @@ $(APP1TARGETN) : $(LINKINCTARGETS)
# Allow for target specific LIBSALCPPRT override
APP1LIBSALCPPRT*=$(LIBSALCPPRT)
-.IF "$(GUI)" == "OS2"
-_APP1IMP_ORD = $(APP1STDLIBS:^"$(SOLARVERSION)/$(INPATH)/lib/") $(APP1STDLIBS:^"$(LB)/")
-APP1IMP_ORD = $(foreach,i,$(_APP1IMP_ORD) $(shell @-ls $i))
-.ELSE
-APP1IMP_ORD =
-.ENDIF
-
$(APP1TARGETN): $(APP1OBJS) $(APP1LIBS) \
$(APP1RES) \
- $(APP1IMP_ORD) \
$(APP1ICON) $(APP1DEPN) $(USE_APP1DEF)
@echo "Making: " $(@:f)
.IF "$(GUI)"=="UNX"
@@ -94,7 +82,7 @@ $(APP1TARGETN): $(APP1OBJS) $(APP1LIBS) \
@-$(RM) $(MISC)/$(@:b).strip
@echo $(STDSLO) $(APP1OBJS:s/.obj/.o/) \
`cat /dev/null $(APP1LIBS) | sed s\#$(ROUT)\#$(OUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list
- @echo -n $(APP1LINKER) $(APP1LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) -o $@ \
+ @/bin/echo -n $(APP1LINKER) $(APP1LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) -o $@ \
$(APP1LINKTYPEFLAG) $(APP1STDLIBS) $(APP1STDLIB) $(STDLIB1) -filelist $(MISC)/$(@:b).list > $(MISC)/$(TARGET).$(@:b)_1.cmd
@$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
`cat $(MISC)/$(TARGET).$(@:b)_1.cmd` \
@@ -147,7 +135,7 @@ $(APP1TARGETN): $(APP1OBJS) $(APP1LIBS) \
@echo mingw
.IF "$(APP1LINKRES)" != "" || "$(APP1RES)" != ""
@cat $(APP1LINKRES) $(subst,/res/,/res{$(subst,$(BIN), $(@:d))} $(APP1RES)) > $(MISC)/$(@:b)_all.res
- windres $(MISC)/$(@:b)_all.res $(APP1RESO)
+ $(WINDRES) $(MISC)/$(@:b)_all.res $(APP1RESO)
.ENDIF
@echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) $(STDSLO) \
$(APP1BASEX) $(APP1STACKN) -o $@ $(APP1OBJS) \
@@ -218,76 +206,12 @@ $(APP1TARGETN): $(APP1OBJS) $(APP1LIBS) \
.ENDIF # "$(GUI)" == "WNT"
-.IF "$(GUI)" == "OS2"
- @+-$(MKDIR) $(@:d:d) >& $(NULLDEV)
-.IF "$(APP1LINKRES)" != ""
- @+-$(RM) $(MISC)/$(APP1LINKRES:b).rc >& $(NULLDEV)
-.IF "$(APP1ICON)" != ""
- @-+$(WRAPCMD) echo 1 ICON $(EMQ)"$(APP1ICON)$(EMQ)" | $(SED) 'sX\\X\\\\Xg' >> $(MISC)/$(APP1LINKRES:b).rc
-.ENDIF # "$(APP1ICON)" != ""
-.IF "$(APP1VERINFO)" != ""
- @-+echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(APP1LINKRES:b).rc
- @-+echo $(EMQ)#include $(EMQ)"$(APP1VERINFO)$(EMQ)" >> $(MISC)/$(APP1LINKRES:b).rc
-.ENDIF # "$(APP1VERINFO)" != ""
- $(COMMAND_ECHO)$(RC) -r -DOS2 $(APP1PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(APP1LINKRES:b).rc
-.ENDIF # "$(APP1LINKRES)" != ""
-
-.IF "$(TARGETTYPE)" == "GUI"
- @echo NAME $(APP1TARGET) WINDOWAPI > $(MISC)/$(APP1TARGET).def
-.ENDIF
-
- .IF "$(VERBOSE)" == "TRUE"
- @+echo $(APP1LINKFLAGS) \
- $(LINKFLAGSAPP) $(APP1BASEX) \
- $(APP1STACKN) \
- -o $@ \
- -Zmap -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(STDOBJ) \
- $(APP1LINKRES) \
- $(APP1RES) \
- $(APP1DEF) \
- $(APP1OBJS) \
- $(APP1LIBS) \
- $(APP1STDLIBS:^"-l") \
- $(APP1STDLIB:^"-l") $(STDLIB1:^"-l")
- .ENDIF
- $(COMMAND_ECHO)$(APP1LINKER) -v \
- $(APP1LINKFLAGS) \
- $(LINKFLAGSAPP) $(APP1BASEX) \
- $(APP1STACKN) \
- -o $@ \
- -Zmap -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(STDOBJ) \
- $(APP1LINKRES) \
- $(APP1RES) \
- $(APP1DEF) \
- $(APP1OBJS) \
- $(APP1LIBS) \
- $(APP1STDLIBS:^"-l") \
- $(APP1STDLIB:^"-l") $(STDLIB1:^"-l")
-
-
-.IF "$(APP1TARGET)" == "loader"
- $(COMMAND_ECHO)+$(PERL) loader.pl $@
- $(COMMAND_ECHO)+$(TYPE) $(@) $(@:d)unloader.exe > $(@:d)_new.exe
- $(COMMAND_ECHO)+$(RM) $@
- $(COMMAND_ECHO)+$(RENAME) $(@:d)_new.exe $(@:d)loader.exe
-.ENDIF # "$(TARGET)" == "setup"
-
-.ENDIF # "$(GUI)" == "OS2"
-
.ENDIF # "$(APP1TARGETN)"!=""
# Instruction for linking
# unroll begin
-.IF "$(GUI)" == "OS2" && "$(TARGETTYPE)" == "GUI"
-APP2DEF = $(MISC)/$(APP2TARGET).def
-.ENDIF
-
.IF "$(APP2LINKTYPE)" != ""
#must be either STATIC or SHARED
APP2LINKTYPEFLAG=$(APPLINK$(APP2LINKTYPE))
@@ -343,7 +267,7 @@ APP2PRODUCTDEF+:=-DPRODUCT_NAME=\"$(APP2PRODUCTNAME)\"
.ENDIF # "$(APP2PRODUCTNAME)"!=""
.IF "$(linkinc)"!=""
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(APP2LIBS)"!=""
$(MISC)/$(APP2TARGET)_linkinc.ls .PHONY:
@@-$(RM) $@
@@ -358,16 +282,8 @@ $(APP2TARGETN) : $(LINKINCTARGETS)
# Allow for target specific LIBSALCPPRT override
APP2LIBSALCPPRT*=$(LIBSALCPPRT)
-.IF "$(GUI)" == "OS2"
-_APP2IMP_ORD = $(APP2STDLIBS:^"$(SOLARVERSION)/$(INPATH)/lib/") $(APP2STDLIBS:^"$(LB)/")
-APP2IMP_ORD = $(foreach,i,$(_APP2IMP_ORD) $(shell @-ls $i))
-.ELSE
-APP2IMP_ORD =
-.ENDIF
-
$(APP2TARGETN): $(APP2OBJS) $(APP2LIBS) \
$(APP2RES) \
- $(APP2IMP_ORD) \
$(APP2ICON) $(APP2DEPN) $(USE_APP2DEF)
@echo "Making: " $(@:f)
.IF "$(GUI)"=="UNX"
@@ -378,7 +294,7 @@ $(APP2TARGETN): $(APP2OBJS) $(APP2LIBS) \
@-$(RM) $(MISC)/$(@:b).strip
@echo $(STDSLO) $(APP2OBJS:s/.obj/.o/) \
`cat /dev/null $(APP2LIBS) | sed s\#$(ROUT)\#$(OUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list
- @echo -n $(APP2LINKER) $(APP2LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) -o $@ \
+ @/bin/echo -n $(APP2LINKER) $(APP2LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) -o $@ \
$(APP2LINKTYPEFLAG) $(APP2STDLIBS) $(APP2STDLIB) $(STDLIB2) -filelist $(MISC)/$(@:b).list > $(MISC)/$(TARGET).$(@:b)_2.cmd
@$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
`cat $(MISC)/$(TARGET).$(@:b)_2.cmd` \
@@ -431,7 +347,7 @@ $(APP2TARGETN): $(APP2OBJS) $(APP2LIBS) \
@echo mingw
.IF "$(APP2LINKRES)" != "" || "$(APP2RES)" != ""
@cat $(APP2LINKRES) $(subst,/res/,/res{$(subst,$(BIN), $(@:d))} $(APP2RES)) > $(MISC)/$(@:b)_all.res
- windres $(MISC)/$(@:b)_all.res $(APP2RESO)
+ $(WINDRES) $(MISC)/$(@:b)_all.res $(APP2RESO)
.ENDIF
@echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) $(STDSLO) \
$(APP2BASEX) $(APP2STACKN) -o $@ $(APP2OBJS) \
@@ -502,76 +418,12 @@ $(APP2TARGETN): $(APP2OBJS) $(APP2LIBS) \
.ENDIF # "$(GUI)" == "WNT"
-.IF "$(GUI)" == "OS2"
- @+-$(MKDIR) $(@:d:d) >& $(NULLDEV)
-.IF "$(APP2LINKRES)" != ""
- @+-$(RM) $(MISC)/$(APP2LINKRES:b).rc >& $(NULLDEV)
-.IF "$(APP2ICON)" != ""
- @-+$(WRAPCMD) echo 1 ICON $(EMQ)"$(APP2ICON)$(EMQ)" | $(SED) 'sX\\X\\\\Xg' >> $(MISC)/$(APP2LINKRES:b).rc
-.ENDIF # "$(APP2ICON)" != ""
-.IF "$(APP2VERINFO)" != ""
- @-+echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(APP2LINKRES:b).rc
- @-+echo $(EMQ)#include $(EMQ)"$(APP2VERINFO)$(EMQ)" >> $(MISC)/$(APP2LINKRES:b).rc
-.ENDIF # "$(APP2VERINFO)" != ""
- $(COMMAND_ECHO)$(RC) -r -DOS2 $(APP2PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(APP2LINKRES:b).rc
-.ENDIF # "$(APP2LINKRES)" != ""
-
-.IF "$(TARGETTYPE)" == "GUI"
- @echo NAME $(APP2TARGET) WINDOWAPI > $(MISC)/$(APP2TARGET).def
-.ENDIF
-
- .IF "$(VERBOSE)" == "TRUE"
- @+echo $(APP2LINKFLAGS) \
- $(LINKFLAGSAPP) $(APP2BASEX) \
- $(APP2STACKN) \
- -o $@ \
- -Zmap -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(STDOBJ) \
- $(APP2LINKRES) \
- $(APP2RES) \
- $(APP2DEF) \
- $(APP2OBJS) \
- $(APP2LIBS) \
- $(APP2STDLIBS:^"-l") \
- $(APP2STDLIB:^"-l") $(STDLIB2:^"-l")
- .ENDIF
- $(COMMAND_ECHO)$(APP2LINKER) -v \
- $(APP2LINKFLAGS) \
- $(LINKFLAGSAPP) $(APP2BASEX) \
- $(APP2STACKN) \
- -o $@ \
- -Zmap -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(STDOBJ) \
- $(APP2LINKRES) \
- $(APP2RES) \
- $(APP2DEF) \
- $(APP2OBJS) \
- $(APP2LIBS) \
- $(APP2STDLIBS:^"-l") \
- $(APP2STDLIB:^"-l") $(STDLIB2:^"-l")
-
-
-.IF "$(APP2TARGET)" == "loader"
- $(COMMAND_ECHO)+$(PERL) loader.pl $@
- $(COMMAND_ECHO)+$(TYPE) $(@) $(@:d)unloader.exe > $(@:d)_new.exe
- $(COMMAND_ECHO)+$(RM) $@
- $(COMMAND_ECHO)+$(RENAME) $(@:d)_new.exe $(@:d)loader.exe
-.ENDIF # "$(TARGET)" == "setup"
-
-.ENDIF # "$(GUI)" == "OS2"
-
.ENDIF # "$(APP2TARGETN)"!=""
# Instruction for linking
# unroll begin
-.IF "$(GUI)" == "OS2" && "$(TARGETTYPE)" == "GUI"
-APP3DEF = $(MISC)/$(APP3TARGET).def
-.ENDIF
-
.IF "$(APP3LINKTYPE)" != ""
#must be either STATIC or SHARED
APP3LINKTYPEFLAG=$(APPLINK$(APP3LINKTYPE))
@@ -627,7 +479,7 @@ APP3PRODUCTDEF+:=-DPRODUCT_NAME=\"$(APP3PRODUCTNAME)\"
.ENDIF # "$(APP3PRODUCTNAME)"!=""
.IF "$(linkinc)"!=""
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(APP3LIBS)"!=""
$(MISC)/$(APP3TARGET)_linkinc.ls .PHONY:
@@-$(RM) $@
@@ -642,16 +494,8 @@ $(APP3TARGETN) : $(LINKINCTARGETS)
# Allow for target specific LIBSALCPPRT override
APP3LIBSALCPPRT*=$(LIBSALCPPRT)
-.IF "$(GUI)" == "OS2"
-_APP3IMP_ORD = $(APP3STDLIBS:^"$(SOLARVERSION)/$(INPATH)/lib/") $(APP3STDLIBS:^"$(LB)/")
-APP3IMP_ORD = $(foreach,i,$(_APP3IMP_ORD) $(shell @-ls $i))
-.ELSE
-APP3IMP_ORD =
-.ENDIF
-
$(APP3TARGETN): $(APP3OBJS) $(APP3LIBS) \
$(APP3RES) \
- $(APP3IMP_ORD) \
$(APP3ICON) $(APP3DEPN) $(USE_APP3DEF)
@echo "Making: " $(@:f)
.IF "$(GUI)"=="UNX"
@@ -662,7 +506,7 @@ $(APP3TARGETN): $(APP3OBJS) $(APP3LIBS) \
@-$(RM) $(MISC)/$(@:b).strip
@echo $(STDSLO) $(APP3OBJS:s/.obj/.o/) \
`cat /dev/null $(APP3LIBS) | sed s\#$(ROUT)\#$(OUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list
- @echo -n $(APP3LINKER) $(APP3LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) -o $@ \
+ @/bin/echo -n $(APP3LINKER) $(APP3LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) -o $@ \
$(APP3LINKTYPEFLAG) $(APP3STDLIBS) $(APP3STDLIB) $(STDLIB3) -filelist $(MISC)/$(@:b).list > $(MISC)/$(TARGET).$(@:b)_3.cmd
@$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
`cat $(MISC)/$(TARGET).$(@:b)_3.cmd` \
@@ -715,7 +559,7 @@ $(APP3TARGETN): $(APP3OBJS) $(APP3LIBS) \
@echo mingw
.IF "$(APP3LINKRES)" != "" || "$(APP3RES)" != ""
@cat $(APP3LINKRES) $(subst,/res/,/res{$(subst,$(BIN), $(@:d))} $(APP3RES)) > $(MISC)/$(@:b)_all.res
- windres $(MISC)/$(@:b)_all.res $(APP3RESO)
+ $(WINDRES) $(MISC)/$(@:b)_all.res $(APP3RESO)
.ENDIF
@echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) $(STDSLO) \
$(APP3BASEX) $(APP3STACKN) -o $@ $(APP3OBJS) \
@@ -786,76 +630,12 @@ $(APP3TARGETN): $(APP3OBJS) $(APP3LIBS) \
.ENDIF # "$(GUI)" == "WNT"
-.IF "$(GUI)" == "OS2"
- @+-$(MKDIR) $(@:d:d) >& $(NULLDEV)
-.IF "$(APP3LINKRES)" != ""
- @+-$(RM) $(MISC)/$(APP3LINKRES:b).rc >& $(NULLDEV)
-.IF "$(APP3ICON)" != ""
- @-+$(WRAPCMD) echo 1 ICON $(EMQ)"$(APP3ICON)$(EMQ)" | $(SED) 'sX\\X\\\\Xg' >> $(MISC)/$(APP3LINKRES:b).rc
-.ENDIF # "$(APP3ICON)" != ""
-.IF "$(APP3VERINFO)" != ""
- @-+echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(APP3LINKRES:b).rc
- @-+echo $(EMQ)#include $(EMQ)"$(APP3VERINFO)$(EMQ)" >> $(MISC)/$(APP3LINKRES:b).rc
-.ENDIF # "$(APP3VERINFO)" != ""
- $(COMMAND_ECHO)$(RC) -r -DOS2 $(APP3PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(APP3LINKRES:b).rc
-.ENDIF # "$(APP3LINKRES)" != ""
-
-.IF "$(TARGETTYPE)" == "GUI"
- @echo NAME $(APP3TARGET) WINDOWAPI > $(MISC)/$(APP3TARGET).def
-.ENDIF
-
- .IF "$(VERBOSE)" == "TRUE"
- @+echo $(APP3LINKFLAGS) \
- $(LINKFLAGSAPP) $(APP3BASEX) \
- $(APP3STACKN) \
- -o $@ \
- -Zmap -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(STDOBJ) \
- $(APP3LINKRES) \
- $(APP3RES) \
- $(APP3DEF) \
- $(APP3OBJS) \
- $(APP3LIBS) \
- $(APP3STDLIBS:^"-l") \
- $(APP3STDLIB:^"-l") $(STDLIB3:^"-l")
- .ENDIF
- $(COMMAND_ECHO)$(APP3LINKER) -v \
- $(APP3LINKFLAGS) \
- $(LINKFLAGSAPP) $(APP3BASEX) \
- $(APP3STACKN) \
- -o $@ \
- -Zmap -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(STDOBJ) \
- $(APP3LINKRES) \
- $(APP3RES) \
- $(APP3DEF) \
- $(APP3OBJS) \
- $(APP3LIBS) \
- $(APP3STDLIBS:^"-l") \
- $(APP3STDLIB:^"-l") $(STDLIB3:^"-l")
-
-
-.IF "$(APP3TARGET)" == "loader"
- $(COMMAND_ECHO)+$(PERL) loader.pl $@
- $(COMMAND_ECHO)+$(TYPE) $(@) $(@:d)unloader.exe > $(@:d)_new.exe
- $(COMMAND_ECHO)+$(RM) $@
- $(COMMAND_ECHO)+$(RENAME) $(@:d)_new.exe $(@:d)loader.exe
-.ENDIF # "$(TARGET)" == "setup"
-
-.ENDIF # "$(GUI)" == "OS2"
-
.ENDIF # "$(APP3TARGETN)"!=""
# Instruction for linking
# unroll begin
-.IF "$(GUI)" == "OS2" && "$(TARGETTYPE)" == "GUI"
-APP4DEF = $(MISC)/$(APP4TARGET).def
-.ENDIF
-
.IF "$(APP4LINKTYPE)" != ""
#must be either STATIC or SHARED
APP4LINKTYPEFLAG=$(APPLINK$(APP4LINKTYPE))
@@ -911,7 +691,7 @@ APP4PRODUCTDEF+:=-DPRODUCT_NAME=\"$(APP4PRODUCTNAME)\"
.ENDIF # "$(APP4PRODUCTNAME)"!=""
.IF "$(linkinc)"!=""
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(APP4LIBS)"!=""
$(MISC)/$(APP4TARGET)_linkinc.ls .PHONY:
@@-$(RM) $@
@@ -926,16 +706,8 @@ $(APP4TARGETN) : $(LINKINCTARGETS)
# Allow for target specific LIBSALCPPRT override
APP4LIBSALCPPRT*=$(LIBSALCPPRT)
-.IF "$(GUI)" == "OS2"
-_APP4IMP_ORD = $(APP4STDLIBS:^"$(SOLARVERSION)/$(INPATH)/lib/") $(APP4STDLIBS:^"$(LB)/")
-APP4IMP_ORD = $(foreach,i,$(_APP4IMP_ORD) $(shell @-ls $i))
-.ELSE
-APP4IMP_ORD =
-.ENDIF
-
$(APP4TARGETN): $(APP4OBJS) $(APP4LIBS) \
$(APP4RES) \
- $(APP4IMP_ORD) \
$(APP4ICON) $(APP4DEPN) $(USE_APP4DEF)
@echo "Making: " $(@:f)
.IF "$(GUI)"=="UNX"
@@ -946,7 +718,7 @@ $(APP4TARGETN): $(APP4OBJS) $(APP4LIBS) \
@-$(RM) $(MISC)/$(@:b).strip
@echo $(STDSLO) $(APP4OBJS:s/.obj/.o/) \
`cat /dev/null $(APP4LIBS) | sed s\#$(ROUT)\#$(OUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list
- @echo -n $(APP4LINKER) $(APP4LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) -o $@ \
+ @/bin/echo -n $(APP4LINKER) $(APP4LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) -o $@ \
$(APP4LINKTYPEFLAG) $(APP4STDLIBS) $(APP4STDLIB) $(STDLIB4) -filelist $(MISC)/$(@:b).list > $(MISC)/$(TARGET).$(@:b)_4.cmd
@$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
`cat $(MISC)/$(TARGET).$(@:b)_4.cmd` \
@@ -999,7 +771,7 @@ $(APP4TARGETN): $(APP4OBJS) $(APP4LIBS) \
@echo mingw
.IF "$(APP4LINKRES)" != "" || "$(APP4RES)" != ""
@cat $(APP4LINKRES) $(subst,/res/,/res{$(subst,$(BIN), $(@:d))} $(APP4RES)) > $(MISC)/$(@:b)_all.res
- windres $(MISC)/$(@:b)_all.res $(APP4RESO)
+ $(WINDRES) $(MISC)/$(@:b)_all.res $(APP4RESO)
.ENDIF
@echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) $(STDSLO) \
$(APP4BASEX) $(APP4STACKN) -o $@ $(APP4OBJS) \
@@ -1070,76 +842,12 @@ $(APP4TARGETN): $(APP4OBJS) $(APP4LIBS) \
.ENDIF # "$(GUI)" == "WNT"
-.IF "$(GUI)" == "OS2"
- @+-$(MKDIR) $(@:d:d) >& $(NULLDEV)
-.IF "$(APP4LINKRES)" != ""
- @+-$(RM) $(MISC)/$(APP4LINKRES:b).rc >& $(NULLDEV)
-.IF "$(APP4ICON)" != ""
- @-+$(WRAPCMD) echo 1 ICON $(EMQ)"$(APP4ICON)$(EMQ)" | $(SED) 'sX\\X\\\\Xg' >> $(MISC)/$(APP4LINKRES:b).rc
-.ENDIF # "$(APP4ICON)" != ""
-.IF "$(APP4VERINFO)" != ""
- @-+echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(APP4LINKRES:b).rc
- @-+echo $(EMQ)#include $(EMQ)"$(APP4VERINFO)$(EMQ)" >> $(MISC)/$(APP4LINKRES:b).rc
-.ENDIF # "$(APP4VERINFO)" != ""
- $(COMMAND_ECHO)$(RC) -r -DOS2 $(APP4PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(APP4LINKRES:b).rc
-.ENDIF # "$(APP4LINKRES)" != ""
-
-.IF "$(TARGETTYPE)" == "GUI"
- @echo NAME $(APP4TARGET) WINDOWAPI > $(MISC)/$(APP4TARGET).def
-.ENDIF
-
- .IF "$(VERBOSE)" == "TRUE"
- @+echo $(APP4LINKFLAGS) \
- $(LINKFLAGSAPP) $(APP4BASEX) \
- $(APP4STACKN) \
- -o $@ \
- -Zmap -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(STDOBJ) \
- $(APP4LINKRES) \
- $(APP4RES) \
- $(APP4DEF) \
- $(APP4OBJS) \
- $(APP4LIBS) \
- $(APP4STDLIBS:^"-l") \
- $(APP4STDLIB:^"-l") $(STDLIB4:^"-l")
- .ENDIF
- $(COMMAND_ECHO)$(APP4LINKER) -v \
- $(APP4LINKFLAGS) \
- $(LINKFLAGSAPP) $(APP4BASEX) \
- $(APP4STACKN) \
- -o $@ \
- -Zmap -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(STDOBJ) \
- $(APP4LINKRES) \
- $(APP4RES) \
- $(APP4DEF) \
- $(APP4OBJS) \
- $(APP4LIBS) \
- $(APP4STDLIBS:^"-l") \
- $(APP4STDLIB:^"-l") $(STDLIB4:^"-l")
-
-
-.IF "$(APP4TARGET)" == "loader"
- $(COMMAND_ECHO)+$(PERL) loader.pl $@
- $(COMMAND_ECHO)+$(TYPE) $(@) $(@:d)unloader.exe > $(@:d)_new.exe
- $(COMMAND_ECHO)+$(RM) $@
- $(COMMAND_ECHO)+$(RENAME) $(@:d)_new.exe $(@:d)loader.exe
-.ENDIF # "$(TARGET)" == "setup"
-
-.ENDIF # "$(GUI)" == "OS2"
-
.ENDIF # "$(APP4TARGETN)"!=""
# Instruction for linking
# unroll begin
-.IF "$(GUI)" == "OS2" && "$(TARGETTYPE)" == "GUI"
-APP5DEF = $(MISC)/$(APP5TARGET).def
-.ENDIF
-
.IF "$(APP5LINKTYPE)" != ""
#must be either STATIC or SHARED
APP5LINKTYPEFLAG=$(APPLINK$(APP5LINKTYPE))
@@ -1195,7 +903,7 @@ APP5PRODUCTDEF+:=-DPRODUCT_NAME=\"$(APP5PRODUCTNAME)\"
.ENDIF # "$(APP5PRODUCTNAME)"!=""
.IF "$(linkinc)"!=""
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(APP5LIBS)"!=""
$(MISC)/$(APP5TARGET)_linkinc.ls .PHONY:
@@-$(RM) $@
@@ -1210,16 +918,8 @@ $(APP5TARGETN) : $(LINKINCTARGETS)
# Allow for target specific LIBSALCPPRT override
APP5LIBSALCPPRT*=$(LIBSALCPPRT)
-.IF "$(GUI)" == "OS2"
-_APP5IMP_ORD = $(APP5STDLIBS:^"$(SOLARVERSION)/$(INPATH)/lib/") $(APP5STDLIBS:^"$(LB)/")
-APP5IMP_ORD = $(foreach,i,$(_APP5IMP_ORD) $(shell @-ls $i))
-.ELSE
-APP5IMP_ORD =
-.ENDIF
-
$(APP5TARGETN): $(APP5OBJS) $(APP5LIBS) \
$(APP5RES) \
- $(APP5IMP_ORD) \
$(APP5ICON) $(APP5DEPN) $(USE_APP5DEF)
@echo "Making: " $(@:f)
.IF "$(GUI)"=="UNX"
@@ -1230,7 +930,7 @@ $(APP5TARGETN): $(APP5OBJS) $(APP5LIBS) \
@-$(RM) $(MISC)/$(@:b).strip
@echo $(STDSLO) $(APP5OBJS:s/.obj/.o/) \
`cat /dev/null $(APP5LIBS) | sed s\#$(ROUT)\#$(OUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list
- @echo -n $(APP5LINKER) $(APP5LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) -o $@ \
+ @/bin/echo -n $(APP5LINKER) $(APP5LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) -o $@ \
$(APP5LINKTYPEFLAG) $(APP5STDLIBS) $(APP5STDLIB) $(STDLIB5) -filelist $(MISC)/$(@:b).list > $(MISC)/$(TARGET).$(@:b)_5.cmd
@$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
`cat $(MISC)/$(TARGET).$(@:b)_5.cmd` \
@@ -1283,7 +983,7 @@ $(APP5TARGETN): $(APP5OBJS) $(APP5LIBS) \
@echo mingw
.IF "$(APP5LINKRES)" != "" || "$(APP5RES)" != ""
@cat $(APP5LINKRES) $(subst,/res/,/res{$(subst,$(BIN), $(@:d))} $(APP5RES)) > $(MISC)/$(@:b)_all.res
- windres $(MISC)/$(@:b)_all.res $(APP5RESO)
+ $(WINDRES) $(MISC)/$(@:b)_all.res $(APP5RESO)
.ENDIF
@echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) $(STDSLO) \
$(APP5BASEX) $(APP5STACKN) -o $@ $(APP5OBJS) \
@@ -1354,76 +1054,12 @@ $(APP5TARGETN): $(APP5OBJS) $(APP5LIBS) \
.ENDIF # "$(GUI)" == "WNT"
-.IF "$(GUI)" == "OS2"
- @+-$(MKDIR) $(@:d:d) >& $(NULLDEV)
-.IF "$(APP5LINKRES)" != ""
- @+-$(RM) $(MISC)/$(APP5LINKRES:b).rc >& $(NULLDEV)
-.IF "$(APP5ICON)" != ""
- @-+$(WRAPCMD) echo 1 ICON $(EMQ)"$(APP5ICON)$(EMQ)" | $(SED) 'sX\\X\\\\Xg' >> $(MISC)/$(APP5LINKRES:b).rc
-.ENDIF # "$(APP5ICON)" != ""
-.IF "$(APP5VERINFO)" != ""
- @-+echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(APP5LINKRES:b).rc
- @-+echo $(EMQ)#include $(EMQ)"$(APP5VERINFO)$(EMQ)" >> $(MISC)/$(APP5LINKRES:b).rc
-.ENDIF # "$(APP5VERINFO)" != ""
- $(COMMAND_ECHO)$(RC) -r -DOS2 $(APP5PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(APP5LINKRES:b).rc
-.ENDIF # "$(APP5LINKRES)" != ""
-
-.IF "$(TARGETTYPE)" == "GUI"
- @echo NAME $(APP5TARGET) WINDOWAPI > $(MISC)/$(APP5TARGET).def
-.ENDIF
-
- .IF "$(VERBOSE)" == "TRUE"
- @+echo $(APP5LINKFLAGS) \
- $(LINKFLAGSAPP) $(APP5BASEX) \
- $(APP5STACKN) \
- -o $@ \
- -Zmap -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(STDOBJ) \
- $(APP5LINKRES) \
- $(APP5RES) \
- $(APP5DEF) \
- $(APP5OBJS) \
- $(APP5LIBS) \
- $(APP5STDLIBS:^"-l") \
- $(APP5STDLIB:^"-l") $(STDLIB5:^"-l")
- .ENDIF
- $(COMMAND_ECHO)$(APP5LINKER) -v \
- $(APP5LINKFLAGS) \
- $(LINKFLAGSAPP) $(APP5BASEX) \
- $(APP5STACKN) \
- -o $@ \
- -Zmap -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(STDOBJ) \
- $(APP5LINKRES) \
- $(APP5RES) \
- $(APP5DEF) \
- $(APP5OBJS) \
- $(APP5LIBS) \
- $(APP5STDLIBS:^"-l") \
- $(APP5STDLIB:^"-l") $(STDLIB5:^"-l")
-
-
-.IF "$(APP5TARGET)" == "loader"
- $(COMMAND_ECHO)+$(PERL) loader.pl $@
- $(COMMAND_ECHO)+$(TYPE) $(@) $(@:d)unloader.exe > $(@:d)_new.exe
- $(COMMAND_ECHO)+$(RM) $@
- $(COMMAND_ECHO)+$(RENAME) $(@:d)_new.exe $(@:d)loader.exe
-.ENDIF # "$(TARGET)" == "setup"
-
-.ENDIF # "$(GUI)" == "OS2"
-
.ENDIF # "$(APP5TARGETN)"!=""
# Instruction for linking
# unroll begin
-.IF "$(GUI)" == "OS2" && "$(TARGETTYPE)" == "GUI"
-APP6DEF = $(MISC)/$(APP6TARGET).def
-.ENDIF
-
.IF "$(APP6LINKTYPE)" != ""
#must be either STATIC or SHARED
APP6LINKTYPEFLAG=$(APPLINK$(APP6LINKTYPE))
@@ -1479,7 +1115,7 @@ APP6PRODUCTDEF+:=-DPRODUCT_NAME=\"$(APP6PRODUCTNAME)\"
.ENDIF # "$(APP6PRODUCTNAME)"!=""
.IF "$(linkinc)"!=""
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(APP6LIBS)"!=""
$(MISC)/$(APP6TARGET)_linkinc.ls .PHONY:
@@-$(RM) $@
@@ -1494,16 +1130,8 @@ $(APP6TARGETN) : $(LINKINCTARGETS)
# Allow for target specific LIBSALCPPRT override
APP6LIBSALCPPRT*=$(LIBSALCPPRT)
-.IF "$(GUI)" == "OS2"
-_APP6IMP_ORD = $(APP6STDLIBS:^"$(SOLARVERSION)/$(INPATH)/lib/") $(APP6STDLIBS:^"$(LB)/")
-APP6IMP_ORD = $(foreach,i,$(_APP6IMP_ORD) $(shell @-ls $i))
-.ELSE
-APP6IMP_ORD =
-.ENDIF
-
$(APP6TARGETN): $(APP6OBJS) $(APP6LIBS) \
$(APP6RES) \
- $(APP6IMP_ORD) \
$(APP6ICON) $(APP6DEPN) $(USE_APP6DEF)
@echo "Making: " $(@:f)
.IF "$(GUI)"=="UNX"
@@ -1514,7 +1142,7 @@ $(APP6TARGETN): $(APP6OBJS) $(APP6LIBS) \
@-$(RM) $(MISC)/$(@:b).strip
@echo $(STDSLO) $(APP6OBJS:s/.obj/.o/) \
`cat /dev/null $(APP6LIBS) | sed s\#$(ROUT)\#$(OUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list
- @echo -n $(APP6LINKER) $(APP6LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) -o $@ \
+ @/bin/echo -n $(APP6LINKER) $(APP6LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) -o $@ \
$(APP6LINKTYPEFLAG) $(APP6STDLIBS) $(APP6STDLIB) $(STDLIB6) -filelist $(MISC)/$(@:b).list > $(MISC)/$(TARGET).$(@:b)_6.cmd
@$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
`cat $(MISC)/$(TARGET).$(@:b)_6.cmd` \
@@ -1567,7 +1195,7 @@ $(APP6TARGETN): $(APP6OBJS) $(APP6LIBS) \
@echo mingw
.IF "$(APP6LINKRES)" != "" || "$(APP6RES)" != ""
@cat $(APP6LINKRES) $(subst,/res/,/res{$(subst,$(BIN), $(@:d))} $(APP6RES)) > $(MISC)/$(@:b)_all.res
- windres $(MISC)/$(@:b)_all.res $(APP6RESO)
+ $(WINDRES) $(MISC)/$(@:b)_all.res $(APP6RESO)
.ENDIF
@echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) $(STDSLO) \
$(APP6BASEX) $(APP6STACKN) -o $@ $(APP6OBJS) \
@@ -1638,76 +1266,12 @@ $(APP6TARGETN): $(APP6OBJS) $(APP6LIBS) \
.ENDIF # "$(GUI)" == "WNT"
-.IF "$(GUI)" == "OS2"
- @+-$(MKDIR) $(@:d:d) >& $(NULLDEV)
-.IF "$(APP6LINKRES)" != ""
- @+-$(RM) $(MISC)/$(APP6LINKRES:b).rc >& $(NULLDEV)
-.IF "$(APP6ICON)" != ""
- @-+$(WRAPCMD) echo 1 ICON $(EMQ)"$(APP6ICON)$(EMQ)" | $(SED) 'sX\\X\\\\Xg' >> $(MISC)/$(APP6LINKRES:b).rc
-.ENDIF # "$(APP6ICON)" != ""
-.IF "$(APP6VERINFO)" != ""
- @-+echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(APP6LINKRES:b).rc
- @-+echo $(EMQ)#include $(EMQ)"$(APP6VERINFO)$(EMQ)" >> $(MISC)/$(APP6LINKRES:b).rc
-.ENDIF # "$(APP6VERINFO)" != ""
- $(COMMAND_ECHO)$(RC) -r -DOS2 $(APP6PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(APP6LINKRES:b).rc
-.ENDIF # "$(APP6LINKRES)" != ""
-
-.IF "$(TARGETTYPE)" == "GUI"
- @echo NAME $(APP6TARGET) WINDOWAPI > $(MISC)/$(APP6TARGET).def
-.ENDIF
-
- .IF "$(VERBOSE)" == "TRUE"
- @+echo $(APP6LINKFLAGS) \
- $(LINKFLAGSAPP) $(APP6BASEX) \
- $(APP6STACKN) \
- -o $@ \
- -Zmap -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(STDOBJ) \
- $(APP6LINKRES) \
- $(APP6RES) \
- $(APP6DEF) \
- $(APP6OBJS) \
- $(APP6LIBS) \
- $(APP6STDLIBS:^"-l") \
- $(APP6STDLIB:^"-l") $(STDLIB6:^"-l")
- .ENDIF
- $(COMMAND_ECHO)$(APP6LINKER) -v \
- $(APP6LINKFLAGS) \
- $(LINKFLAGSAPP) $(APP6BASEX) \
- $(APP6STACKN) \
- -o $@ \
- -Zmap -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(STDOBJ) \
- $(APP6LINKRES) \
- $(APP6RES) \
- $(APP6DEF) \
- $(APP6OBJS) \
- $(APP6LIBS) \
- $(APP6STDLIBS:^"-l") \
- $(APP6STDLIB:^"-l") $(STDLIB6:^"-l")
-
-
-.IF "$(APP6TARGET)" == "loader"
- $(COMMAND_ECHO)+$(PERL) loader.pl $@
- $(COMMAND_ECHO)+$(TYPE) $(@) $(@:d)unloader.exe > $(@:d)_new.exe
- $(COMMAND_ECHO)+$(RM) $@
- $(COMMAND_ECHO)+$(RENAME) $(@:d)_new.exe $(@:d)loader.exe
-.ENDIF # "$(TARGET)" == "setup"
-
-.ENDIF # "$(GUI)" == "OS2"
-
.ENDIF # "$(APP6TARGETN)"!=""
# Instruction for linking
# unroll begin
-.IF "$(GUI)" == "OS2" && "$(TARGETTYPE)" == "GUI"
-APP7DEF = $(MISC)/$(APP7TARGET).def
-.ENDIF
-
.IF "$(APP7LINKTYPE)" != ""
#must be either STATIC or SHARED
APP7LINKTYPEFLAG=$(APPLINK$(APP7LINKTYPE))
@@ -1763,7 +1327,7 @@ APP7PRODUCTDEF+:=-DPRODUCT_NAME=\"$(APP7PRODUCTNAME)\"
.ENDIF # "$(APP7PRODUCTNAME)"!=""
.IF "$(linkinc)"!=""
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(APP7LIBS)"!=""
$(MISC)/$(APP7TARGET)_linkinc.ls .PHONY:
@@-$(RM) $@
@@ -1778,16 +1342,8 @@ $(APP7TARGETN) : $(LINKINCTARGETS)
# Allow for target specific LIBSALCPPRT override
APP7LIBSALCPPRT*=$(LIBSALCPPRT)
-.IF "$(GUI)" == "OS2"
-_APP7IMP_ORD = $(APP7STDLIBS:^"$(SOLARVERSION)/$(INPATH)/lib/") $(APP7STDLIBS:^"$(LB)/")
-APP7IMP_ORD = $(foreach,i,$(_APP7IMP_ORD) $(shell @-ls $i))
-.ELSE
-APP7IMP_ORD =
-.ENDIF
-
$(APP7TARGETN): $(APP7OBJS) $(APP7LIBS) \
$(APP7RES) \
- $(APP7IMP_ORD) \
$(APP7ICON) $(APP7DEPN) $(USE_APP7DEF)
@echo "Making: " $(@:f)
.IF "$(GUI)"=="UNX"
@@ -1798,7 +1354,7 @@ $(APP7TARGETN): $(APP7OBJS) $(APP7LIBS) \
@-$(RM) $(MISC)/$(@:b).strip
@echo $(STDSLO) $(APP7OBJS:s/.obj/.o/) \
`cat /dev/null $(APP7LIBS) | sed s\#$(ROUT)\#$(OUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list
- @echo -n $(APP7LINKER) $(APP7LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) -o $@ \
+ @/bin/echo -n $(APP7LINKER) $(APP7LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) -o $@ \
$(APP7LINKTYPEFLAG) $(APP7STDLIBS) $(APP7STDLIB) $(STDLIB7) -filelist $(MISC)/$(@:b).list > $(MISC)/$(TARGET).$(@:b)_7.cmd
@$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
`cat $(MISC)/$(TARGET).$(@:b)_7.cmd` \
@@ -1851,7 +1407,7 @@ $(APP7TARGETN): $(APP7OBJS) $(APP7LIBS) \
@echo mingw
.IF "$(APP7LINKRES)" != "" || "$(APP7RES)" != ""
@cat $(APP7LINKRES) $(subst,/res/,/res{$(subst,$(BIN), $(@:d))} $(APP7RES)) > $(MISC)/$(@:b)_all.res
- windres $(MISC)/$(@:b)_all.res $(APP7RESO)
+ $(WINDRES) $(MISC)/$(@:b)_all.res $(APP7RESO)
.ENDIF
@echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) $(STDSLO) \
$(APP7BASEX) $(APP7STACKN) -o $@ $(APP7OBJS) \
@@ -1922,76 +1478,12 @@ $(APP7TARGETN): $(APP7OBJS) $(APP7LIBS) \
.ENDIF # "$(GUI)" == "WNT"
-.IF "$(GUI)" == "OS2"
- @+-$(MKDIR) $(@:d:d) >& $(NULLDEV)
-.IF "$(APP7LINKRES)" != ""
- @+-$(RM) $(MISC)/$(APP7LINKRES:b).rc >& $(NULLDEV)
-.IF "$(APP7ICON)" != ""
- @-+$(WRAPCMD) echo 1 ICON $(EMQ)"$(APP7ICON)$(EMQ)" | $(SED) 'sX\\X\\\\Xg' >> $(MISC)/$(APP7LINKRES:b).rc
-.ENDIF # "$(APP7ICON)" != ""
-.IF "$(APP7VERINFO)" != ""
- @-+echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(APP7LINKRES:b).rc
- @-+echo $(EMQ)#include $(EMQ)"$(APP7VERINFO)$(EMQ)" >> $(MISC)/$(APP7LINKRES:b).rc
-.ENDIF # "$(APP7VERINFO)" != ""
- $(COMMAND_ECHO)$(RC) -r -DOS2 $(APP7PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(APP7LINKRES:b).rc
-.ENDIF # "$(APP7LINKRES)" != ""
-
-.IF "$(TARGETTYPE)" == "GUI"
- @echo NAME $(APP7TARGET) WINDOWAPI > $(MISC)/$(APP7TARGET).def
-.ENDIF
-
- .IF "$(VERBOSE)" == "TRUE"
- @+echo $(APP7LINKFLAGS) \
- $(LINKFLAGSAPP) $(APP7BASEX) \
- $(APP7STACKN) \
- -o $@ \
- -Zmap -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(STDOBJ) \
- $(APP7LINKRES) \
- $(APP7RES) \
- $(APP7DEF) \
- $(APP7OBJS) \
- $(APP7LIBS) \
- $(APP7STDLIBS:^"-l") \
- $(APP7STDLIB:^"-l") $(STDLIB7:^"-l")
- .ENDIF
- $(COMMAND_ECHO)$(APP7LINKER) -v \
- $(APP7LINKFLAGS) \
- $(LINKFLAGSAPP) $(APP7BASEX) \
- $(APP7STACKN) \
- -o $@ \
- -Zmap -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(STDOBJ) \
- $(APP7LINKRES) \
- $(APP7RES) \
- $(APP7DEF) \
- $(APP7OBJS) \
- $(APP7LIBS) \
- $(APP7STDLIBS:^"-l") \
- $(APP7STDLIB:^"-l") $(STDLIB7:^"-l")
-
-
-.IF "$(APP7TARGET)" == "loader"
- $(COMMAND_ECHO)+$(PERL) loader.pl $@
- $(COMMAND_ECHO)+$(TYPE) $(@) $(@:d)unloader.exe > $(@:d)_new.exe
- $(COMMAND_ECHO)+$(RM) $@
- $(COMMAND_ECHO)+$(RENAME) $(@:d)_new.exe $(@:d)loader.exe
-.ENDIF # "$(TARGET)" == "setup"
-
-.ENDIF # "$(GUI)" == "OS2"
-
.ENDIF # "$(APP7TARGETN)"!=""
# Instruction for linking
# unroll begin
-.IF "$(GUI)" == "OS2" && "$(TARGETTYPE)" == "GUI"
-APP8DEF = $(MISC)/$(APP8TARGET).def
-.ENDIF
-
.IF "$(APP8LINKTYPE)" != ""
#must be either STATIC or SHARED
APP8LINKTYPEFLAG=$(APPLINK$(APP8LINKTYPE))
@@ -2047,7 +1539,7 @@ APP8PRODUCTDEF+:=-DPRODUCT_NAME=\"$(APP8PRODUCTNAME)\"
.ENDIF # "$(APP8PRODUCTNAME)"!=""
.IF "$(linkinc)"!=""
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(APP8LIBS)"!=""
$(MISC)/$(APP8TARGET)_linkinc.ls .PHONY:
@@-$(RM) $@
@@ -2062,16 +1554,8 @@ $(APP8TARGETN) : $(LINKINCTARGETS)
# Allow for target specific LIBSALCPPRT override
APP8LIBSALCPPRT*=$(LIBSALCPPRT)
-.IF "$(GUI)" == "OS2"
-_APP8IMP_ORD = $(APP8STDLIBS:^"$(SOLARVERSION)/$(INPATH)/lib/") $(APP8STDLIBS:^"$(LB)/")
-APP8IMP_ORD = $(foreach,i,$(_APP8IMP_ORD) $(shell @-ls $i))
-.ELSE
-APP8IMP_ORD =
-.ENDIF
-
$(APP8TARGETN): $(APP8OBJS) $(APP8LIBS) \
$(APP8RES) \
- $(APP8IMP_ORD) \
$(APP8ICON) $(APP8DEPN) $(USE_APP8DEF)
@echo "Making: " $(@:f)
.IF "$(GUI)"=="UNX"
@@ -2082,7 +1566,7 @@ $(APP8TARGETN): $(APP8OBJS) $(APP8LIBS) \
@-$(RM) $(MISC)/$(@:b).strip
@echo $(STDSLO) $(APP8OBJS:s/.obj/.o/) \
`cat /dev/null $(APP8LIBS) | sed s\#$(ROUT)\#$(OUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list
- @echo -n $(APP8LINKER) $(APP8LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) -o $@ \
+ @/bin/echo -n $(APP8LINKER) $(APP8LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) -o $@ \
$(APP8LINKTYPEFLAG) $(APP8STDLIBS) $(APP8STDLIB) $(STDLIB8) -filelist $(MISC)/$(@:b).list > $(MISC)/$(TARGET).$(@:b)_8.cmd
@$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
`cat $(MISC)/$(TARGET).$(@:b)_8.cmd` \
@@ -2135,7 +1619,7 @@ $(APP8TARGETN): $(APP8OBJS) $(APP8LIBS) \
@echo mingw
.IF "$(APP8LINKRES)" != "" || "$(APP8RES)" != ""
@cat $(APP8LINKRES) $(subst,/res/,/res{$(subst,$(BIN), $(@:d))} $(APP8RES)) > $(MISC)/$(@:b)_all.res
- windres $(MISC)/$(@:b)_all.res $(APP8RESO)
+ $(WINDRES) $(MISC)/$(@:b)_all.res $(APP8RESO)
.ENDIF
@echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) $(STDSLO) \
$(APP8BASEX) $(APP8STACKN) -o $@ $(APP8OBJS) \
@@ -2206,76 +1690,12 @@ $(APP8TARGETN): $(APP8OBJS) $(APP8LIBS) \
.ENDIF # "$(GUI)" == "WNT"
-.IF "$(GUI)" == "OS2"
- @+-$(MKDIR) $(@:d:d) >& $(NULLDEV)
-.IF "$(APP8LINKRES)" != ""
- @+-$(RM) $(MISC)/$(APP8LINKRES:b).rc >& $(NULLDEV)
-.IF "$(APP8ICON)" != ""
- @-+$(WRAPCMD) echo 1 ICON $(EMQ)"$(APP8ICON)$(EMQ)" | $(SED) 'sX\\X\\\\Xg' >> $(MISC)/$(APP8LINKRES:b).rc
-.ENDIF # "$(APP8ICON)" != ""
-.IF "$(APP8VERINFO)" != ""
- @-+echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(APP8LINKRES:b).rc
- @-+echo $(EMQ)#include $(EMQ)"$(APP8VERINFO)$(EMQ)" >> $(MISC)/$(APP8LINKRES:b).rc
-.ENDIF # "$(APP8VERINFO)" != ""
- $(COMMAND_ECHO)$(RC) -r -DOS2 $(APP8PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(APP8LINKRES:b).rc
-.ENDIF # "$(APP8LINKRES)" != ""
-
-.IF "$(TARGETTYPE)" == "GUI"
- @echo NAME $(APP8TARGET) WINDOWAPI > $(MISC)/$(APP8TARGET).def
-.ENDIF
-
- .IF "$(VERBOSE)" == "TRUE"
- @+echo $(APP8LINKFLAGS) \
- $(LINKFLAGSAPP) $(APP8BASEX) \
- $(APP8STACKN) \
- -o $@ \
- -Zmap -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(STDOBJ) \
- $(APP8LINKRES) \
- $(APP8RES) \
- $(APP8DEF) \
- $(APP8OBJS) \
- $(APP8LIBS) \
- $(APP8STDLIBS:^"-l") \
- $(APP8STDLIB:^"-l") $(STDLIB8:^"-l")
- .ENDIF
- $(COMMAND_ECHO)$(APP8LINKER) -v \
- $(APP8LINKFLAGS) \
- $(LINKFLAGSAPP) $(APP8BASEX) \
- $(APP8STACKN) \
- -o $@ \
- -Zmap -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(STDOBJ) \
- $(APP8LINKRES) \
- $(APP8RES) \
- $(APP8DEF) \
- $(APP8OBJS) \
- $(APP8LIBS) \
- $(APP8STDLIBS:^"-l") \
- $(APP8STDLIB:^"-l") $(STDLIB8:^"-l")
-
-
-.IF "$(APP8TARGET)" == "loader"
- $(COMMAND_ECHO)+$(PERL) loader.pl $@
- $(COMMAND_ECHO)+$(TYPE) $(@) $(@:d)unloader.exe > $(@:d)_new.exe
- $(COMMAND_ECHO)+$(RM) $@
- $(COMMAND_ECHO)+$(RENAME) $(@:d)_new.exe $(@:d)loader.exe
-.ENDIF # "$(TARGET)" == "setup"
-
-.ENDIF # "$(GUI)" == "OS2"
-
.ENDIF # "$(APP8TARGETN)"!=""
# Instruction for linking
# unroll begin
-.IF "$(GUI)" == "OS2" && "$(TARGETTYPE)" == "GUI"
-APP9DEF = $(MISC)/$(APP9TARGET).def
-.ENDIF
-
.IF "$(APP9LINKTYPE)" != ""
#must be either STATIC or SHARED
APP9LINKTYPEFLAG=$(APPLINK$(APP9LINKTYPE))
@@ -2331,7 +1751,7 @@ APP9PRODUCTDEF+:=-DPRODUCT_NAME=\"$(APP9PRODUCTNAME)\"
.ENDIF # "$(APP9PRODUCTNAME)"!=""
.IF "$(linkinc)"!=""
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(APP9LIBS)"!=""
$(MISC)/$(APP9TARGET)_linkinc.ls .PHONY:
@@-$(RM) $@
@@ -2346,16 +1766,8 @@ $(APP9TARGETN) : $(LINKINCTARGETS)
# Allow for target specific LIBSALCPPRT override
APP9LIBSALCPPRT*=$(LIBSALCPPRT)
-.IF "$(GUI)" == "OS2"
-_APP9IMP_ORD = $(APP9STDLIBS:^"$(SOLARVERSION)/$(INPATH)/lib/") $(APP9STDLIBS:^"$(LB)/")
-APP9IMP_ORD = $(foreach,i,$(_APP9IMP_ORD) $(shell @-ls $i))
-.ELSE
-APP9IMP_ORD =
-.ENDIF
-
$(APP9TARGETN): $(APP9OBJS) $(APP9LIBS) \
$(APP9RES) \
- $(APP9IMP_ORD) \
$(APP9ICON) $(APP9DEPN) $(USE_APP9DEF)
@echo "Making: " $(@:f)
.IF "$(GUI)"=="UNX"
@@ -2366,7 +1778,7 @@ $(APP9TARGETN): $(APP9OBJS) $(APP9LIBS) \
@-$(RM) $(MISC)/$(@:b).strip
@echo $(STDSLO) $(APP9OBJS:s/.obj/.o/) \
`cat /dev/null $(APP9LIBS) | sed s\#$(ROUT)\#$(OUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list
- @echo -n $(APP9LINKER) $(APP9LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) -o $@ \
+ @/bin/echo -n $(APP9LINKER) $(APP9LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) -o $@ \
$(APP9LINKTYPEFLAG) $(APP9STDLIBS) $(APP9STDLIB) $(STDLIB9) -filelist $(MISC)/$(@:b).list > $(MISC)/$(TARGET).$(@:b)_9.cmd
@$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
`cat $(MISC)/$(TARGET).$(@:b)_9.cmd` \
@@ -2419,7 +1831,7 @@ $(APP9TARGETN): $(APP9OBJS) $(APP9LIBS) \
@echo mingw
.IF "$(APP9LINKRES)" != "" || "$(APP9RES)" != ""
@cat $(APP9LINKRES) $(subst,/res/,/res{$(subst,$(BIN), $(@:d))} $(APP9RES)) > $(MISC)/$(@:b)_all.res
- windres $(MISC)/$(@:b)_all.res $(APP9RESO)
+ $(WINDRES) $(MISC)/$(@:b)_all.res $(APP9RESO)
.ENDIF
@echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) $(STDSLO) \
$(APP9BASEX) $(APP9STACKN) -o $@ $(APP9OBJS) \
@@ -2490,76 +1902,12 @@ $(APP9TARGETN): $(APP9OBJS) $(APP9LIBS) \
.ENDIF # "$(GUI)" == "WNT"
-.IF "$(GUI)" == "OS2"
- @+-$(MKDIR) $(@:d:d) >& $(NULLDEV)
-.IF "$(APP9LINKRES)" != ""
- @+-$(RM) $(MISC)/$(APP9LINKRES:b).rc >& $(NULLDEV)
-.IF "$(APP9ICON)" != ""
- @-+$(WRAPCMD) echo 1 ICON $(EMQ)"$(APP9ICON)$(EMQ)" | $(SED) 'sX\\X\\\\Xg' >> $(MISC)/$(APP9LINKRES:b).rc
-.ENDIF # "$(APP9ICON)" != ""
-.IF "$(APP9VERINFO)" != ""
- @-+echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(APP9LINKRES:b).rc
- @-+echo $(EMQ)#include $(EMQ)"$(APP9VERINFO)$(EMQ)" >> $(MISC)/$(APP9LINKRES:b).rc
-.ENDIF # "$(APP9VERINFO)" != ""
- $(COMMAND_ECHO)$(RC) -r -DOS2 $(APP9PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(APP9LINKRES:b).rc
-.ENDIF # "$(APP9LINKRES)" != ""
-
-.IF "$(TARGETTYPE)" == "GUI"
- @echo NAME $(APP9TARGET) WINDOWAPI > $(MISC)/$(APP9TARGET).def
-.ENDIF
-
- .IF "$(VERBOSE)" == "TRUE"
- @+echo $(APP9LINKFLAGS) \
- $(LINKFLAGSAPP) $(APP9BASEX) \
- $(APP9STACKN) \
- -o $@ \
- -Zmap -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(STDOBJ) \
- $(APP9LINKRES) \
- $(APP9RES) \
- $(APP9DEF) \
- $(APP9OBJS) \
- $(APP9LIBS) \
- $(APP9STDLIBS:^"-l") \
- $(APP9STDLIB:^"-l") $(STDLIB9:^"-l")
- .ENDIF
- $(COMMAND_ECHO)$(APP9LINKER) -v \
- $(APP9LINKFLAGS) \
- $(LINKFLAGSAPP) $(APP9BASEX) \
- $(APP9STACKN) \
- -o $@ \
- -Zmap -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(STDOBJ) \
- $(APP9LINKRES) \
- $(APP9RES) \
- $(APP9DEF) \
- $(APP9OBJS) \
- $(APP9LIBS) \
- $(APP9STDLIBS:^"-l") \
- $(APP9STDLIB:^"-l") $(STDLIB9:^"-l")
-
-
-.IF "$(APP9TARGET)" == "loader"
- $(COMMAND_ECHO)+$(PERL) loader.pl $@
- $(COMMAND_ECHO)+$(TYPE) $(@) $(@:d)unloader.exe > $(@:d)_new.exe
- $(COMMAND_ECHO)+$(RM) $@
- $(COMMAND_ECHO)+$(RENAME) $(@:d)_new.exe $(@:d)loader.exe
-.ENDIF # "$(TARGET)" == "setup"
-
-.ENDIF # "$(GUI)" == "OS2"
-
.ENDIF # "$(APP9TARGETN)"!=""
# Instruction for linking
# unroll begin
-.IF "$(GUI)" == "OS2" && "$(TARGETTYPE)" == "GUI"
-APP10DEF = $(MISC)/$(APP10TARGET).def
-.ENDIF
-
.IF "$(APP10LINKTYPE)" != ""
#must be either STATIC or SHARED
APP10LINKTYPEFLAG=$(APPLINK$(APP10LINKTYPE))
@@ -2615,7 +1963,7 @@ APP10PRODUCTDEF+:=-DPRODUCT_NAME=\"$(APP10PRODUCTNAME)\"
.ENDIF # "$(APP10PRODUCTNAME)"!=""
.IF "$(linkinc)"!=""
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(APP10LIBS)"!=""
$(MISC)/$(APP10TARGET)_linkinc.ls .PHONY:
@@-$(RM) $@
@@ -2630,16 +1978,8 @@ $(APP10TARGETN) : $(LINKINCTARGETS)
# Allow for target specific LIBSALCPPRT override
APP10LIBSALCPPRT*=$(LIBSALCPPRT)
-.IF "$(GUI)" == "OS2"
-_APP10IMP_ORD = $(APP10STDLIBS:^"$(SOLARVERSION)/$(INPATH)/lib/") $(APP10STDLIBS:^"$(LB)/")
-APP10IMP_ORD = $(foreach,i,$(_APP10IMP_ORD) $(shell @-ls $i))
-.ELSE
-APP10IMP_ORD =
-.ENDIF
-
$(APP10TARGETN): $(APP10OBJS) $(APP10LIBS) \
$(APP10RES) \
- $(APP10IMP_ORD) \
$(APP10ICON) $(APP10DEPN) $(USE_APP10DEF)
@echo "Making: " $(@:f)
.IF "$(GUI)"=="UNX"
@@ -2650,7 +1990,7 @@ $(APP10TARGETN): $(APP10OBJS) $(APP10LIBS) \
@-$(RM) $(MISC)/$(@:b).strip
@echo $(STDSLO) $(APP10OBJS:s/.obj/.o/) \
`cat /dev/null $(APP10LIBS) | sed s\#$(ROUT)\#$(OUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list
- @echo -n $(APP10LINKER) $(APP10LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) -o $@ \
+ @/bin/echo -n $(APP10LINKER) $(APP10LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) -o $@ \
$(APP10LINKTYPEFLAG) $(APP10STDLIBS) $(APP10STDLIB) $(STDLIB10) -filelist $(MISC)/$(@:b).list > $(MISC)/$(TARGET).$(@:b)_10.cmd
@$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
`cat $(MISC)/$(TARGET).$(@:b)_10.cmd` \
@@ -2703,7 +2043,7 @@ $(APP10TARGETN): $(APP10OBJS) $(APP10LIBS) \
@echo mingw
.IF "$(APP10LINKRES)" != "" || "$(APP10RES)" != ""
@cat $(APP10LINKRES) $(subst,/res/,/res{$(subst,$(BIN), $(@:d))} $(APP10RES)) > $(MISC)/$(@:b)_all.res
- windres $(MISC)/$(@:b)_all.res $(APP10RESO)
+ $(WINDRES) $(MISC)/$(@:b)_all.res $(APP10RESO)
.ENDIF
@echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) $(STDSLO) \
$(APP10BASEX) $(APP10STACKN) -o $@ $(APP10OBJS) \
@@ -2774,66 +2114,6 @@ $(APP10TARGETN): $(APP10OBJS) $(APP10LIBS) \
.ENDIF # "$(GUI)" == "WNT"
-.IF "$(GUI)" == "OS2"
- @+-$(MKDIR) $(@:d:d) >& $(NULLDEV)
-.IF "$(APP10LINKRES)" != ""
- @+-$(RM) $(MISC)/$(APP10LINKRES:b).rc >& $(NULLDEV)
-.IF "$(APP10ICON)" != ""
- @-+$(WRAPCMD) echo 1 ICON $(EMQ)"$(APP10ICON)$(EMQ)" | $(SED) 'sX\\X\\\\Xg' >> $(MISC)/$(APP10LINKRES:b).rc
-.ENDIF # "$(APP10ICON)" != ""
-.IF "$(APP10VERINFO)" != ""
- @-+echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(APP10LINKRES:b).rc
- @-+echo $(EMQ)#include $(EMQ)"$(APP10VERINFO)$(EMQ)" >> $(MISC)/$(APP10LINKRES:b).rc
-.ENDIF # "$(APP10VERINFO)" != ""
- $(COMMAND_ECHO)$(RC) -r -DOS2 $(APP10PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(APP10LINKRES:b).rc
-.ENDIF # "$(APP10LINKRES)" != ""
-
-.IF "$(TARGETTYPE)" == "GUI"
- @echo NAME $(APP10TARGET) WINDOWAPI > $(MISC)/$(APP10TARGET).def
-.ENDIF
-
- .IF "$(VERBOSE)" == "TRUE"
- @+echo $(APP10LINKFLAGS) \
- $(LINKFLAGSAPP) $(APP10BASEX) \
- $(APP10STACKN) \
- -o $@ \
- -Zmap -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(STDOBJ) \
- $(APP10LINKRES) \
- $(APP10RES) \
- $(APP10DEF) \
- $(APP10OBJS) \
- $(APP10LIBS) \
- $(APP10STDLIBS:^"-l") \
- $(APP10STDLIB:^"-l") $(STDLIB10:^"-l")
- .ENDIF
- $(COMMAND_ECHO)$(APP10LINKER) -v \
- $(APP10LINKFLAGS) \
- $(LINKFLAGSAPP) $(APP10BASEX) \
- $(APP10STACKN) \
- -o $@ \
- -Zmap -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(STDOBJ) \
- $(APP10LINKRES) \
- $(APP10RES) \
- $(APP10DEF) \
- $(APP10OBJS) \
- $(APP10LIBS) \
- $(APP10STDLIBS:^"-l") \
- $(APP10STDLIB:^"-l") $(STDLIB10:^"-l")
-
-
-.IF "$(APP10TARGET)" == "loader"
- $(COMMAND_ECHO)+$(PERL) loader.pl $@
- $(COMMAND_ECHO)+$(TYPE) $(@) $(@:d)unloader.exe > $(@:d)_new.exe
- $(COMMAND_ECHO)+$(RM) $@
- $(COMMAND_ECHO)+$(RENAME) $(@:d)_new.exe $(@:d)loader.exe
-.ENDIF # "$(TARGET)" == "setup"
-
-.ENDIF # "$(GUI)" == "OS2"
-
.ENDIF # "$(APP10TARGETN)"!=""
diff --git a/solenv/inc/_tg_def.mk b/solenv/inc/_tg_def.mk
index cf4414ae4e1f..ea9d53ed5ea2 100644
--- a/solenv/inc/_tg_def.mk
+++ b/solenv/inc/_tg_def.mk
@@ -26,7 +26,7 @@ $(DEF1EXPORTFILE) : $(SHL1VERSIONMAP)
$(COMMAND_ECHO)-$(GREP) "\*\|?" $@ > $@.symbols-regexp
# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
# Extract RTTI symbols from all the objects that will be used to build a shared library
- $(COMMAND_ECHO)nm -gP $(SHL1OBJS) \
+ $(COMMAND_ECHO)$(NM) -gP $(SHL1OBJS) \
`$(TYPE) /dev/null $(foreach,j,$(SHL1LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
| $(SOLARENV)/bin/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
# overwrite the map file generate into the local output tree with the generated
@@ -36,12 +36,6 @@ $(DEF1EXPORTFILE) : $(SHL1VERSIONMAP)
.ENDIF # "$(GUI)"=="WNT"
-.IF "$(GUI)"=="OS2"
-DEF1EXPORTFILE=$(MISC)/$(SHL1VERSIONMAP:b)_$(SHL1TARGET).dxp
-$(DEF1EXPORTFILE) : $(SHL1VERSIONMAP)
- $(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
-.ENDIF # "$(GUI)"=="OS2"
-
.ENDIF # "$(DEF1EXPORTFILE)"==""
.ENDIF # "$(SHL1VERSIONMAP)"!=""
@@ -163,112 +157,6 @@ $(DEF1TARGETN) .PHONY :
@$(RENAME) $@.tmpfile $@
.ENDIF # "$(GUI)"=="WNT"
-.IF "$(GUI)"=="OS2"
-
-#21/02/2006 YD dll names must be 8.3, invoke fix script
-#check osl/os2/module.c/osl_loadModule()
-SHL1TARGET8=$(shell @fix_shl $(SHL1TARGETN:f))
-
-DEF1FILTER=$(SOLARENV)/inc/dummy.flt
-DEF1NAMELIST=$(foreach,i,$(DEFLIB1NAME) $(SLB)/$(i).lib)
-
-.IF "$(link_always)"==""
-$(DEF1TARGETN) : \
- $(DEF1DEPN) \
- $(DEF1EXPORTFILE)
-.ELSE # "$(link_always)"==""
-$(DEF1TARGETN) .PHONY :
-.ENDIF # "$(link_always)"==""
- @+-$(RM) $@.tmpfile
- @echo "Making: module definition file" $(@:f)
- @echo LIBRARY $(SHL1TARGET8) INITINSTANCE TERMINSTANCE >$@.tmpfile
- @echo DATA MULTIPLE >>$@.tmpfile
- @echo DESCRIPTION 'StarView 3.00 $(DEF1DES) $(UPD) $(UPDMINOR)' >>$@.tmpfile
- @echo EXPORTS >>$@.tmpfile
-.IF "$(VERSIONOBJ)"!=""
-# getversioninfo fuer alle!!
- @echo _GetVersionInfo >$@.tmp_ord
-.ENDIF
-
-.IF "$(DEFLIB1NAME)"!=""
- @+echo $(SLB)/$(DEFLIB1NAME).lib
- @+emxexpr $(DEF1NAMELIST) | fix_exp_file >> $@.tmp_ord
-.ENDIF # "$(DEFLIB1NAME)"!=""
-
-.IF "$(DEF1EXPORT1)"!=""
- @echo $(DEF1EXPORT1) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF1EXPORT2)"!=""
- @echo $(DEF1EXPORT2) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF1EXPORT3)"!=""
- @echo $(DEF1EXPORT3) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF1EXPORT4)"!=""
- @echo $(DEF1EXPORT4) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF1EXPORT5)"!=""
- @echo $(DEF1EXPORT5) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF1EXPORT6)"!=""
- @echo $(DEF1EXPORT6) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF1EXPORT7)"!=""
- @echo $(DEF1EXPORT7) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF1EXPORT8)"!=""
- @echo $(DEF1EXPORT8) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF1EXPORT9)"!=""
- @echo $(DEF1EXPORT9) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF1EXPORT10)"!=""
- @echo $(DEF1EXPORT10) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF1EXPORT11)"!=""
- @echo $(DEF1EXPORT11) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF1EXPORT12)"!=""
- @echo $(DEF1EXPORT12) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF1EXPORT13)"!=""
- @echo $(DEF1EXPORT13) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF1EXPORT14)"!=""
- @echo $(DEF1EXPORT14) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF1EXPORT15)"!=""
- @echo $(DEF1EXPORT15) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF1EXPORT16)"!=""
- @echo $(DEF1EXPORT16) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF1EXPORT17)"!=""
- @echo $(DEF1EXPORT17) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF1EXPORT18)"!=""
- @echo $(DEF1EXPORT18) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF1EXPORT19)"!=""
- @echo $(DEF1EXPORT19) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF1EXPORT20)"!=""
- @echo $(DEF1EXPORT20) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF1EXPORTFILE)"!=""
- @fix_def_file < $(DEF1EXPORTFILE) >> $@.tmp_ord
-.ENDIF
- @sort < $@.tmp_ord | uniq > $@.exptmpfile
- @fix_def_ord < $@.exptmpfile >> $@.tmpfile
- @+-$(RM) $@
- $(COMMAND_ECHO)+$(RENAME) $@.tmpfile $@
- @+-$(RM) $@.tmp_ord
- @+-$(RM) $@.exptmpfile
- $(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(SHL1IMPLIBN:s/.lib/.a/) $@
- $(COMMAND_ECHO)+emxomf -o $(SHL1IMPLIBN) $(SHL1IMPLIBN:s/.lib/.a/)
-
-.ENDIF # "$(GUI)"=="OS2"
-
.IF "$(GUI)"=="UNX"
$(DEF1TARGETN): \
$(DEF1DEPN) \
@@ -307,7 +195,7 @@ $(DEF2EXPORTFILE) : $(SHL2VERSIONMAP)
$(COMMAND_ECHO)-$(GREP) "\*\|?" $@ > $@.symbols-regexp
# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
# Extract RTTI symbols from all the objects that will be used to build a shared library
- $(COMMAND_ECHO)nm -gP $(SHL2OBJS) \
+ $(COMMAND_ECHO)$(NM) -gP $(SHL2OBJS) \
`$(TYPE) /dev/null $(foreach,j,$(SHL2LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
| $(SOLARENV)/bin/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
# overwrite the map file generate into the local output tree with the generated
@@ -317,12 +205,6 @@ $(DEF2EXPORTFILE) : $(SHL2VERSIONMAP)
.ENDIF # "$(GUI)"=="WNT"
-.IF "$(GUI)"=="OS2"
-DEF2EXPORTFILE=$(MISC)/$(SHL2VERSIONMAP:b)_$(SHL2TARGET).dxp
-$(DEF2EXPORTFILE) : $(SHL2VERSIONMAP)
- $(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
-.ENDIF # "$(GUI)"=="OS2"
-
.ENDIF # "$(DEF2EXPORTFILE)"==""
.ENDIF # "$(SHL2VERSIONMAP)"!=""
@@ -444,112 +326,6 @@ $(DEF2TARGETN) .PHONY :
@$(RENAME) $@.tmpfile $@
.ENDIF # "$(GUI)"=="WNT"
-.IF "$(GUI)"=="OS2"
-
-#21/02/2006 YD dll names must be 8.3, invoke fix script
-#check osl/os2/module.c/osl_loadModule()
-SHL2TARGET8=$(shell @fix_shl $(SHL2TARGETN:f))
-
-DEF2FILTER=$(SOLARENV)/inc/dummy.flt
-DEF2NAMELIST=$(foreach,i,$(DEFLIB2NAME) $(SLB)/$(i).lib)
-
-.IF "$(link_always)"==""
-$(DEF2TARGETN) : \
- $(DEF2DEPN) \
- $(DEF2EXPORTFILE)
-.ELSE # "$(link_always)"==""
-$(DEF2TARGETN) .PHONY :
-.ENDIF # "$(link_always)"==""
- @+-$(RM) $@.tmpfile
- @echo "Making: module definition file" $(@:f)
- @echo LIBRARY $(SHL2TARGET8) INITINSTANCE TERMINSTANCE >$@.tmpfile
- @echo DATA MULTIPLE >>$@.tmpfile
- @echo DESCRIPTION 'StarView 3.00 $(DEF2DES) $(UPD) $(UPDMINOR)' >>$@.tmpfile
- @echo EXPORTS >>$@.tmpfile
-.IF "$(VERSIONOBJ)"!=""
-# getversioninfo fuer alle!!
- @echo _GetVersionInfo >$@.tmp_ord
-.ENDIF
-
-.IF "$(DEFLIB2NAME)"!=""
- @+echo $(SLB)/$(DEFLIB2NAME).lib
- @+emxexpr $(DEF2NAMELIST) | fix_exp_file >> $@.tmp_ord
-.ENDIF # "$(DEFLIB2NAME)"!=""
-
-.IF "$(DEF2EXPORT1)"!=""
- @echo $(DEF2EXPORT1) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF2EXPORT2)"!=""
- @echo $(DEF2EXPORT2) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF2EXPORT3)"!=""
- @echo $(DEF2EXPORT3) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF2EXPORT4)"!=""
- @echo $(DEF2EXPORT4) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF2EXPORT5)"!=""
- @echo $(DEF2EXPORT5) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF2EXPORT6)"!=""
- @echo $(DEF2EXPORT6) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF2EXPORT7)"!=""
- @echo $(DEF2EXPORT7) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF2EXPORT8)"!=""
- @echo $(DEF2EXPORT8) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF2EXPORT9)"!=""
- @echo $(DEF2EXPORT9) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF2EXPORT10)"!=""
- @echo $(DEF2EXPORT10) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF2EXPORT11)"!=""
- @echo $(DEF2EXPORT11) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF2EXPORT12)"!=""
- @echo $(DEF2EXPORT12) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF2EXPORT13)"!=""
- @echo $(DEF2EXPORT13) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF2EXPORT14)"!=""
- @echo $(DEF2EXPORT14) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF2EXPORT15)"!=""
- @echo $(DEF2EXPORT15) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF2EXPORT16)"!=""
- @echo $(DEF2EXPORT16) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF2EXPORT17)"!=""
- @echo $(DEF2EXPORT17) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF2EXPORT18)"!=""
- @echo $(DEF2EXPORT18) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF2EXPORT19)"!=""
- @echo $(DEF2EXPORT19) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF2EXPORT20)"!=""
- @echo $(DEF2EXPORT20) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF2EXPORTFILE)"!=""
- @fix_def_file < $(DEF2EXPORTFILE) >> $@.tmp_ord
-.ENDIF
- @sort < $@.tmp_ord | uniq > $@.exptmpfile
- @fix_def_ord < $@.exptmpfile >> $@.tmpfile
- @+-$(RM) $@
- $(COMMAND_ECHO)+$(RENAME) $@.tmpfile $@
- @+-$(RM) $@.tmp_ord
- @+-$(RM) $@.exptmpfile
- $(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(SHL2IMPLIBN:s/.lib/.a/) $@
- $(COMMAND_ECHO)+emxomf -o $(SHL2IMPLIBN) $(SHL2IMPLIBN:s/.lib/.a/)
-
-.ENDIF # "$(GUI)"=="OS2"
-
.IF "$(GUI)"=="UNX"
$(DEF2TARGETN): \
$(DEF2DEPN) \
@@ -588,7 +364,7 @@ $(DEF3EXPORTFILE) : $(SHL3VERSIONMAP)
$(COMMAND_ECHO)-$(GREP) "\*\|?" $@ > $@.symbols-regexp
# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
# Extract RTTI symbols from all the objects that will be used to build a shared library
- $(COMMAND_ECHO)nm -gP $(SHL3OBJS) \
+ $(COMMAND_ECHO)$(NM) -gP $(SHL3OBJS) \
`$(TYPE) /dev/null $(foreach,j,$(SHL3LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
| $(SOLARENV)/bin/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
# overwrite the map file generate into the local output tree with the generated
@@ -598,12 +374,6 @@ $(DEF3EXPORTFILE) : $(SHL3VERSIONMAP)
.ENDIF # "$(GUI)"=="WNT"
-.IF "$(GUI)"=="OS2"
-DEF3EXPORTFILE=$(MISC)/$(SHL3VERSIONMAP:b)_$(SHL3TARGET).dxp
-$(DEF3EXPORTFILE) : $(SHL3VERSIONMAP)
- $(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
-.ENDIF # "$(GUI)"=="OS2"
-
.ENDIF # "$(DEF3EXPORTFILE)"==""
.ENDIF # "$(SHL3VERSIONMAP)"!=""
@@ -725,112 +495,6 @@ $(DEF3TARGETN) .PHONY :
@$(RENAME) $@.tmpfile $@
.ENDIF # "$(GUI)"=="WNT"
-.IF "$(GUI)"=="OS2"
-
-#21/02/2006 YD dll names must be 8.3, invoke fix script
-#check osl/os2/module.c/osl_loadModule()
-SHL3TARGET8=$(shell @fix_shl $(SHL3TARGETN:f))
-
-DEF3FILTER=$(SOLARENV)/inc/dummy.flt
-DEF3NAMELIST=$(foreach,i,$(DEFLIB3NAME) $(SLB)/$(i).lib)
-
-.IF "$(link_always)"==""
-$(DEF3TARGETN) : \
- $(DEF3DEPN) \
- $(DEF3EXPORTFILE)
-.ELSE # "$(link_always)"==""
-$(DEF3TARGETN) .PHONY :
-.ENDIF # "$(link_always)"==""
- @+-$(RM) $@.tmpfile
- @echo "Making: module definition file" $(@:f)
- @echo LIBRARY $(SHL3TARGET8) INITINSTANCE TERMINSTANCE >$@.tmpfile
- @echo DATA MULTIPLE >>$@.tmpfile
- @echo DESCRIPTION 'StarView 3.00 $(DEF3DES) $(UPD) $(UPDMINOR)' >>$@.tmpfile
- @echo EXPORTS >>$@.tmpfile
-.IF "$(VERSIONOBJ)"!=""
-# getversioninfo fuer alle!!
- @echo _GetVersionInfo >$@.tmp_ord
-.ENDIF
-
-.IF "$(DEFLIB3NAME)"!=""
- @+echo $(SLB)/$(DEFLIB3NAME).lib
- @+emxexpr $(DEF3NAMELIST) | fix_exp_file >> $@.tmp_ord
-.ENDIF # "$(DEFLIB3NAME)"!=""
-
-.IF "$(DEF3EXPORT1)"!=""
- @echo $(DEF3EXPORT1) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF3EXPORT2)"!=""
- @echo $(DEF3EXPORT2) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF3EXPORT3)"!=""
- @echo $(DEF3EXPORT3) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF3EXPORT4)"!=""
- @echo $(DEF3EXPORT4) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF3EXPORT5)"!=""
- @echo $(DEF3EXPORT5) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF3EXPORT6)"!=""
- @echo $(DEF3EXPORT6) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF3EXPORT7)"!=""
- @echo $(DEF3EXPORT7) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF3EXPORT8)"!=""
- @echo $(DEF3EXPORT8) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF3EXPORT9)"!=""
- @echo $(DEF3EXPORT9) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF3EXPORT10)"!=""
- @echo $(DEF3EXPORT10) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF3EXPORT11)"!=""
- @echo $(DEF3EXPORT11) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF3EXPORT12)"!=""
- @echo $(DEF3EXPORT12) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF3EXPORT13)"!=""
- @echo $(DEF3EXPORT13) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF3EXPORT14)"!=""
- @echo $(DEF3EXPORT14) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF3EXPORT15)"!=""
- @echo $(DEF3EXPORT15) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF3EXPORT16)"!=""
- @echo $(DEF3EXPORT16) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF3EXPORT17)"!=""
- @echo $(DEF3EXPORT17) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF3EXPORT18)"!=""
- @echo $(DEF3EXPORT18) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF3EXPORT19)"!=""
- @echo $(DEF3EXPORT19) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF3EXPORT20)"!=""
- @echo $(DEF3EXPORT20) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF3EXPORTFILE)"!=""
- @fix_def_file < $(DEF3EXPORTFILE) >> $@.tmp_ord
-.ENDIF
- @sort < $@.tmp_ord | uniq > $@.exptmpfile
- @fix_def_ord < $@.exptmpfile >> $@.tmpfile
- @+-$(RM) $@
- $(COMMAND_ECHO)+$(RENAME) $@.tmpfile $@
- @+-$(RM) $@.tmp_ord
- @+-$(RM) $@.exptmpfile
- $(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(SHL3IMPLIBN:s/.lib/.a/) $@
- $(COMMAND_ECHO)+emxomf -o $(SHL3IMPLIBN) $(SHL3IMPLIBN:s/.lib/.a/)
-
-.ENDIF # "$(GUI)"=="OS2"
-
.IF "$(GUI)"=="UNX"
$(DEF3TARGETN): \
$(DEF3DEPN) \
@@ -869,7 +533,7 @@ $(DEF4EXPORTFILE) : $(SHL4VERSIONMAP)
$(COMMAND_ECHO)-$(GREP) "\*\|?" $@ > $@.symbols-regexp
# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
# Extract RTTI symbols from all the objects that will be used to build a shared library
- $(COMMAND_ECHO)nm -gP $(SHL4OBJS) \
+ $(COMMAND_ECHO)$(NM) -gP $(SHL4OBJS) \
`$(TYPE) /dev/null $(foreach,j,$(SHL4LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
| $(SOLARENV)/bin/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
# overwrite the map file generate into the local output tree with the generated
@@ -879,12 +543,6 @@ $(DEF4EXPORTFILE) : $(SHL4VERSIONMAP)
.ENDIF # "$(GUI)"=="WNT"
-.IF "$(GUI)"=="OS2"
-DEF4EXPORTFILE=$(MISC)/$(SHL4VERSIONMAP:b)_$(SHL4TARGET).dxp
-$(DEF4EXPORTFILE) : $(SHL4VERSIONMAP)
- $(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
-.ENDIF # "$(GUI)"=="OS2"
-
.ENDIF # "$(DEF4EXPORTFILE)"==""
.ENDIF # "$(SHL4VERSIONMAP)"!=""
@@ -1006,112 +664,6 @@ $(DEF4TARGETN) .PHONY :
@$(RENAME) $@.tmpfile $@
.ENDIF # "$(GUI)"=="WNT"
-.IF "$(GUI)"=="OS2"
-
-#21/02/2006 YD dll names must be 8.3, invoke fix script
-#check osl/os2/module.c/osl_loadModule()
-SHL4TARGET8=$(shell @fix_shl $(SHL4TARGETN:f))
-
-DEF4FILTER=$(SOLARENV)/inc/dummy.flt
-DEF4NAMELIST=$(foreach,i,$(DEFLIB4NAME) $(SLB)/$(i).lib)
-
-.IF "$(link_always)"==""
-$(DEF4TARGETN) : \
- $(DEF4DEPN) \
- $(DEF4EXPORTFILE)
-.ELSE # "$(link_always)"==""
-$(DEF4TARGETN) .PHONY :
-.ENDIF # "$(link_always)"==""
- @+-$(RM) $@.tmpfile
- @echo "Making: module definition file" $(@:f)
- @echo LIBRARY $(SHL4TARGET8) INITINSTANCE TERMINSTANCE >$@.tmpfile
- @echo DATA MULTIPLE >>$@.tmpfile
- @echo DESCRIPTION 'StarView 3.00 $(DEF4DES) $(UPD) $(UPDMINOR)' >>$@.tmpfile
- @echo EXPORTS >>$@.tmpfile
-.IF "$(VERSIONOBJ)"!=""
-# getversioninfo fuer alle!!
- @echo _GetVersionInfo >$@.tmp_ord
-.ENDIF
-
-.IF "$(DEFLIB4NAME)"!=""
- @+echo $(SLB)/$(DEFLIB4NAME).lib
- @+emxexpr $(DEF4NAMELIST) | fix_exp_file >> $@.tmp_ord
-.ENDIF # "$(DEFLIB4NAME)"!=""
-
-.IF "$(DEF4EXPORT1)"!=""
- @echo $(DEF4EXPORT1) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF4EXPORT2)"!=""
- @echo $(DEF4EXPORT2) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF4EXPORT3)"!=""
- @echo $(DEF4EXPORT3) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF4EXPORT4)"!=""
- @echo $(DEF4EXPORT4) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF4EXPORT5)"!=""
- @echo $(DEF4EXPORT5) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF4EXPORT6)"!=""
- @echo $(DEF4EXPORT6) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF4EXPORT7)"!=""
- @echo $(DEF4EXPORT7) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF4EXPORT8)"!=""
- @echo $(DEF4EXPORT8) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF4EXPORT9)"!=""
- @echo $(DEF4EXPORT9) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF4EXPORT10)"!=""
- @echo $(DEF4EXPORT10) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF4EXPORT11)"!=""
- @echo $(DEF4EXPORT11) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF4EXPORT12)"!=""
- @echo $(DEF4EXPORT12) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF4EXPORT13)"!=""
- @echo $(DEF4EXPORT13) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF4EXPORT14)"!=""
- @echo $(DEF4EXPORT14) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF4EXPORT15)"!=""
- @echo $(DEF4EXPORT15) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF4EXPORT16)"!=""
- @echo $(DEF4EXPORT16) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF4EXPORT17)"!=""
- @echo $(DEF4EXPORT17) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF4EXPORT18)"!=""
- @echo $(DEF4EXPORT18) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF4EXPORT19)"!=""
- @echo $(DEF4EXPORT19) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF4EXPORT20)"!=""
- @echo $(DEF4EXPORT20) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF4EXPORTFILE)"!=""
- @fix_def_file < $(DEF4EXPORTFILE) >> $@.tmp_ord
-.ENDIF
- @sort < $@.tmp_ord | uniq > $@.exptmpfile
- @fix_def_ord < $@.exptmpfile >> $@.tmpfile
- @+-$(RM) $@
- $(COMMAND_ECHO)+$(RENAME) $@.tmpfile $@
- @+-$(RM) $@.tmp_ord
- @+-$(RM) $@.exptmpfile
- $(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(SHL4IMPLIBN:s/.lib/.a/) $@
- $(COMMAND_ECHO)+emxomf -o $(SHL4IMPLIBN) $(SHL4IMPLIBN:s/.lib/.a/)
-
-.ENDIF # "$(GUI)"=="OS2"
-
.IF "$(GUI)"=="UNX"
$(DEF4TARGETN): \
$(DEF4DEPN) \
@@ -1150,7 +702,7 @@ $(DEF5EXPORTFILE) : $(SHL5VERSIONMAP)
$(COMMAND_ECHO)-$(GREP) "\*\|?" $@ > $@.symbols-regexp
# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
# Extract RTTI symbols from all the objects that will be used to build a shared library
- $(COMMAND_ECHO)nm -gP $(SHL5OBJS) \
+ $(COMMAND_ECHO)$(NM) -gP $(SHL5OBJS) \
`$(TYPE) /dev/null $(foreach,j,$(SHL5LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
| $(SOLARENV)/bin/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
# overwrite the map file generate into the local output tree with the generated
@@ -1160,12 +712,6 @@ $(DEF5EXPORTFILE) : $(SHL5VERSIONMAP)
.ENDIF # "$(GUI)"=="WNT"
-.IF "$(GUI)"=="OS2"
-DEF5EXPORTFILE=$(MISC)/$(SHL5VERSIONMAP:b)_$(SHL5TARGET).dxp
-$(DEF5EXPORTFILE) : $(SHL5VERSIONMAP)
- $(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
-.ENDIF # "$(GUI)"=="OS2"
-
.ENDIF # "$(DEF5EXPORTFILE)"==""
.ENDIF # "$(SHL5VERSIONMAP)"!=""
@@ -1287,112 +833,6 @@ $(DEF5TARGETN) .PHONY :
@$(RENAME) $@.tmpfile $@
.ENDIF # "$(GUI)"=="WNT"
-.IF "$(GUI)"=="OS2"
-
-#21/02/2006 YD dll names must be 8.3, invoke fix script
-#check osl/os2/module.c/osl_loadModule()
-SHL5TARGET8=$(shell @fix_shl $(SHL5TARGETN:f))
-
-DEF5FILTER=$(SOLARENV)/inc/dummy.flt
-DEF5NAMELIST=$(foreach,i,$(DEFLIB5NAME) $(SLB)/$(i).lib)
-
-.IF "$(link_always)"==""
-$(DEF5TARGETN) : \
- $(DEF5DEPN) \
- $(DEF5EXPORTFILE)
-.ELSE # "$(link_always)"==""
-$(DEF5TARGETN) .PHONY :
-.ENDIF # "$(link_always)"==""
- @+-$(RM) $@.tmpfile
- @echo "Making: module definition file" $(@:f)
- @echo LIBRARY $(SHL5TARGET8) INITINSTANCE TERMINSTANCE >$@.tmpfile
- @echo DATA MULTIPLE >>$@.tmpfile
- @echo DESCRIPTION 'StarView 3.00 $(DEF5DES) $(UPD) $(UPDMINOR)' >>$@.tmpfile
- @echo EXPORTS >>$@.tmpfile
-.IF "$(VERSIONOBJ)"!=""
-# getversioninfo fuer alle!!
- @echo _GetVersionInfo >$@.tmp_ord
-.ENDIF
-
-.IF "$(DEFLIB5NAME)"!=""
- @+echo $(SLB)/$(DEFLIB5NAME).lib
- @+emxexpr $(DEF5NAMELIST) | fix_exp_file >> $@.tmp_ord
-.ENDIF # "$(DEFLIB5NAME)"!=""
-
-.IF "$(DEF5EXPORT1)"!=""
- @echo $(DEF5EXPORT1) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF5EXPORT2)"!=""
- @echo $(DEF5EXPORT2) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF5EXPORT3)"!=""
- @echo $(DEF5EXPORT3) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF5EXPORT4)"!=""
- @echo $(DEF5EXPORT4) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF5EXPORT5)"!=""
- @echo $(DEF5EXPORT5) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF5EXPORT6)"!=""
- @echo $(DEF5EXPORT6) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF5EXPORT7)"!=""
- @echo $(DEF5EXPORT7) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF5EXPORT8)"!=""
- @echo $(DEF5EXPORT8) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF5EXPORT9)"!=""
- @echo $(DEF5EXPORT9) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF5EXPORT10)"!=""
- @echo $(DEF5EXPORT10) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF5EXPORT11)"!=""
- @echo $(DEF5EXPORT11) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF5EXPORT12)"!=""
- @echo $(DEF5EXPORT12) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF5EXPORT13)"!=""
- @echo $(DEF5EXPORT13) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF5EXPORT14)"!=""
- @echo $(DEF5EXPORT14) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF5EXPORT15)"!=""
- @echo $(DEF5EXPORT15) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF5EXPORT16)"!=""
- @echo $(DEF5EXPORT16) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF5EXPORT17)"!=""
- @echo $(DEF5EXPORT17) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF5EXPORT18)"!=""
- @echo $(DEF5EXPORT18) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF5EXPORT19)"!=""
- @echo $(DEF5EXPORT19) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF5EXPORT20)"!=""
- @echo $(DEF5EXPORT20) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF5EXPORTFILE)"!=""
- @fix_def_file < $(DEF5EXPORTFILE) >> $@.tmp_ord
-.ENDIF
- @sort < $@.tmp_ord | uniq > $@.exptmpfile
- @fix_def_ord < $@.exptmpfile >> $@.tmpfile
- @+-$(RM) $@
- $(COMMAND_ECHO)+$(RENAME) $@.tmpfile $@
- @+-$(RM) $@.tmp_ord
- @+-$(RM) $@.exptmpfile
- $(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(SHL5IMPLIBN:s/.lib/.a/) $@
- $(COMMAND_ECHO)+emxomf -o $(SHL5IMPLIBN) $(SHL5IMPLIBN:s/.lib/.a/)
-
-.ENDIF # "$(GUI)"=="OS2"
-
.IF "$(GUI)"=="UNX"
$(DEF5TARGETN): \
$(DEF5DEPN) \
@@ -1431,7 +871,7 @@ $(DEF6EXPORTFILE) : $(SHL6VERSIONMAP)
$(COMMAND_ECHO)-$(GREP) "\*\|?" $@ > $@.symbols-regexp
# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
# Extract RTTI symbols from all the objects that will be used to build a shared library
- $(COMMAND_ECHO)nm -gP $(SHL6OBJS) \
+ $(COMMAND_ECHO)$(NM) -gP $(SHL6OBJS) \
`$(TYPE) /dev/null $(foreach,j,$(SHL6LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
| $(SOLARENV)/bin/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
# overwrite the map file generate into the local output tree with the generated
@@ -1441,12 +881,6 @@ $(DEF6EXPORTFILE) : $(SHL6VERSIONMAP)
.ENDIF # "$(GUI)"=="WNT"
-.IF "$(GUI)"=="OS2"
-DEF6EXPORTFILE=$(MISC)/$(SHL6VERSIONMAP:b)_$(SHL6TARGET).dxp
-$(DEF6EXPORTFILE) : $(SHL6VERSIONMAP)
- $(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
-.ENDIF # "$(GUI)"=="OS2"
-
.ENDIF # "$(DEF6EXPORTFILE)"==""
.ENDIF # "$(SHL6VERSIONMAP)"!=""
@@ -1568,112 +1002,6 @@ $(DEF6TARGETN) .PHONY :
@$(RENAME) $@.tmpfile $@
.ENDIF # "$(GUI)"=="WNT"
-.IF "$(GUI)"=="OS2"
-
-#21/02/2006 YD dll names must be 8.3, invoke fix script
-#check osl/os2/module.c/osl_loadModule()
-SHL6TARGET8=$(shell @fix_shl $(SHL6TARGETN:f))
-
-DEF6FILTER=$(SOLARENV)/inc/dummy.flt
-DEF6NAMELIST=$(foreach,i,$(DEFLIB6NAME) $(SLB)/$(i).lib)
-
-.IF "$(link_always)"==""
-$(DEF6TARGETN) : \
- $(DEF6DEPN) \
- $(DEF6EXPORTFILE)
-.ELSE # "$(link_always)"==""
-$(DEF6TARGETN) .PHONY :
-.ENDIF # "$(link_always)"==""
- @+-$(RM) $@.tmpfile
- @echo "Making: module definition file" $(@:f)
- @echo LIBRARY $(SHL6TARGET8) INITINSTANCE TERMINSTANCE >$@.tmpfile
- @echo DATA MULTIPLE >>$@.tmpfile
- @echo DESCRIPTION 'StarView 3.00 $(DEF6DES) $(UPD) $(UPDMINOR)' >>$@.tmpfile
- @echo EXPORTS >>$@.tmpfile
-.IF "$(VERSIONOBJ)"!=""
-# getversioninfo fuer alle!!
- @echo _GetVersionInfo >$@.tmp_ord
-.ENDIF
-
-.IF "$(DEFLIB6NAME)"!=""
- @+echo $(SLB)/$(DEFLIB6NAME).lib
- @+emxexpr $(DEF6NAMELIST) | fix_exp_file >> $@.tmp_ord
-.ENDIF # "$(DEFLIB6NAME)"!=""
-
-.IF "$(DEF6EXPORT1)"!=""
- @echo $(DEF6EXPORT1) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF6EXPORT2)"!=""
- @echo $(DEF6EXPORT2) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF6EXPORT3)"!=""
- @echo $(DEF6EXPORT3) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF6EXPORT4)"!=""
- @echo $(DEF6EXPORT4) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF6EXPORT5)"!=""
- @echo $(DEF6EXPORT5) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF6EXPORT6)"!=""
- @echo $(DEF6EXPORT6) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF6EXPORT7)"!=""
- @echo $(DEF6EXPORT7) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF6EXPORT8)"!=""
- @echo $(DEF6EXPORT8) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF6EXPORT9)"!=""
- @echo $(DEF6EXPORT9) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF6EXPORT10)"!=""
- @echo $(DEF6EXPORT10) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF6EXPORT11)"!=""
- @echo $(DEF6EXPORT11) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF6EXPORT12)"!=""
- @echo $(DEF6EXPORT12) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF6EXPORT13)"!=""
- @echo $(DEF6EXPORT13) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF6EXPORT14)"!=""
- @echo $(DEF6EXPORT14) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF6EXPORT15)"!=""
- @echo $(DEF6EXPORT15) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF6EXPORT16)"!=""
- @echo $(DEF6EXPORT16) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF6EXPORT17)"!=""
- @echo $(DEF6EXPORT17) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF6EXPORT18)"!=""
- @echo $(DEF6EXPORT18) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF6EXPORT19)"!=""
- @echo $(DEF6EXPORT19) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF6EXPORT20)"!=""
- @echo $(DEF6EXPORT20) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF6EXPORTFILE)"!=""
- @fix_def_file < $(DEF6EXPORTFILE) >> $@.tmp_ord
-.ENDIF
- @sort < $@.tmp_ord | uniq > $@.exptmpfile
- @fix_def_ord < $@.exptmpfile >> $@.tmpfile
- @+-$(RM) $@
- $(COMMAND_ECHO)+$(RENAME) $@.tmpfile $@
- @+-$(RM) $@.tmp_ord
- @+-$(RM) $@.exptmpfile
- $(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(SHL6IMPLIBN:s/.lib/.a/) $@
- $(COMMAND_ECHO)+emxomf -o $(SHL6IMPLIBN) $(SHL6IMPLIBN:s/.lib/.a/)
-
-.ENDIF # "$(GUI)"=="OS2"
-
.IF "$(GUI)"=="UNX"
$(DEF6TARGETN): \
$(DEF6DEPN) \
@@ -1712,7 +1040,7 @@ $(DEF7EXPORTFILE) : $(SHL7VERSIONMAP)
$(COMMAND_ECHO)-$(GREP) "\*\|?" $@ > $@.symbols-regexp
# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
# Extract RTTI symbols from all the objects that will be used to build a shared library
- $(COMMAND_ECHO)nm -gP $(SHL7OBJS) \
+ $(COMMAND_ECHO)$(NM) -gP $(SHL7OBJS) \
`$(TYPE) /dev/null $(foreach,j,$(SHL7LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
| $(SOLARENV)/bin/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
# overwrite the map file generate into the local output tree with the generated
@@ -1722,12 +1050,6 @@ $(DEF7EXPORTFILE) : $(SHL7VERSIONMAP)
.ENDIF # "$(GUI)"=="WNT"
-.IF "$(GUI)"=="OS2"
-DEF7EXPORTFILE=$(MISC)/$(SHL7VERSIONMAP:b)_$(SHL7TARGET).dxp
-$(DEF7EXPORTFILE) : $(SHL7VERSIONMAP)
- $(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
-.ENDIF # "$(GUI)"=="OS2"
-
.ENDIF # "$(DEF7EXPORTFILE)"==""
.ENDIF # "$(SHL7VERSIONMAP)"!=""
@@ -1849,112 +1171,6 @@ $(DEF7TARGETN) .PHONY :
@$(RENAME) $@.tmpfile $@
.ENDIF # "$(GUI)"=="WNT"
-.IF "$(GUI)"=="OS2"
-
-#21/02/2006 YD dll names must be 8.3, invoke fix script
-#check osl/os2/module.c/osl_loadModule()
-SHL7TARGET8=$(shell @fix_shl $(SHL7TARGETN:f))
-
-DEF7FILTER=$(SOLARENV)/inc/dummy.flt
-DEF7NAMELIST=$(foreach,i,$(DEFLIB7NAME) $(SLB)/$(i).lib)
-
-.IF "$(link_always)"==""
-$(DEF7TARGETN) : \
- $(DEF7DEPN) \
- $(DEF7EXPORTFILE)
-.ELSE # "$(link_always)"==""
-$(DEF7TARGETN) .PHONY :
-.ENDIF # "$(link_always)"==""
- @+-$(RM) $@.tmpfile
- @echo "Making: module definition file" $(@:f)
- @echo LIBRARY $(SHL7TARGET8) INITINSTANCE TERMINSTANCE >$@.tmpfile
- @echo DATA MULTIPLE >>$@.tmpfile
- @echo DESCRIPTION 'StarView 3.00 $(DEF7DES) $(UPD) $(UPDMINOR)' >>$@.tmpfile
- @echo EXPORTS >>$@.tmpfile
-.IF "$(VERSIONOBJ)"!=""
-# getversioninfo fuer alle!!
- @echo _GetVersionInfo >$@.tmp_ord
-.ENDIF
-
-.IF "$(DEFLIB7NAME)"!=""
- @+echo $(SLB)/$(DEFLIB7NAME).lib
- @+emxexpr $(DEF7NAMELIST) | fix_exp_file >> $@.tmp_ord
-.ENDIF # "$(DEFLIB7NAME)"!=""
-
-.IF "$(DEF7EXPORT1)"!=""
- @echo $(DEF7EXPORT1) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF7EXPORT2)"!=""
- @echo $(DEF7EXPORT2) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF7EXPORT3)"!=""
- @echo $(DEF7EXPORT3) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF7EXPORT4)"!=""
- @echo $(DEF7EXPORT4) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF7EXPORT5)"!=""
- @echo $(DEF7EXPORT5) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF7EXPORT6)"!=""
- @echo $(DEF7EXPORT6) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF7EXPORT7)"!=""
- @echo $(DEF7EXPORT7) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF7EXPORT8)"!=""
- @echo $(DEF7EXPORT8) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF7EXPORT9)"!=""
- @echo $(DEF7EXPORT9) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF7EXPORT10)"!=""
- @echo $(DEF7EXPORT10) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF7EXPORT11)"!=""
- @echo $(DEF7EXPORT11) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF7EXPORT12)"!=""
- @echo $(DEF7EXPORT12) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF7EXPORT13)"!=""
- @echo $(DEF7EXPORT13) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF7EXPORT14)"!=""
- @echo $(DEF7EXPORT14) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF7EXPORT15)"!=""
- @echo $(DEF7EXPORT15) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF7EXPORT16)"!=""
- @echo $(DEF7EXPORT16) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF7EXPORT17)"!=""
- @echo $(DEF7EXPORT17) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF7EXPORT18)"!=""
- @echo $(DEF7EXPORT18) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF7EXPORT19)"!=""
- @echo $(DEF7EXPORT19) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF7EXPORT20)"!=""
- @echo $(DEF7EXPORT20) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF7EXPORTFILE)"!=""
- @fix_def_file < $(DEF7EXPORTFILE) >> $@.tmp_ord
-.ENDIF
- @sort < $@.tmp_ord | uniq > $@.exptmpfile
- @fix_def_ord < $@.exptmpfile >> $@.tmpfile
- @+-$(RM) $@
- $(COMMAND_ECHO)+$(RENAME) $@.tmpfile $@
- @+-$(RM) $@.tmp_ord
- @+-$(RM) $@.exptmpfile
- $(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(SHL7IMPLIBN:s/.lib/.a/) $@
- $(COMMAND_ECHO)+emxomf -o $(SHL7IMPLIBN) $(SHL7IMPLIBN:s/.lib/.a/)
-
-.ENDIF # "$(GUI)"=="OS2"
-
.IF "$(GUI)"=="UNX"
$(DEF7TARGETN): \
$(DEF7DEPN) \
@@ -1993,7 +1209,7 @@ $(DEF8EXPORTFILE) : $(SHL8VERSIONMAP)
$(COMMAND_ECHO)-$(GREP) "\*\|?" $@ > $@.symbols-regexp
# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
# Extract RTTI symbols from all the objects that will be used to build a shared library
- $(COMMAND_ECHO)nm -gP $(SHL8OBJS) \
+ $(COMMAND_ECHO)$(NM) -gP $(SHL8OBJS) \
`$(TYPE) /dev/null $(foreach,j,$(SHL8LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
| $(SOLARENV)/bin/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
# overwrite the map file generate into the local output tree with the generated
@@ -2003,12 +1219,6 @@ $(DEF8EXPORTFILE) : $(SHL8VERSIONMAP)
.ENDIF # "$(GUI)"=="WNT"
-.IF "$(GUI)"=="OS2"
-DEF8EXPORTFILE=$(MISC)/$(SHL8VERSIONMAP:b)_$(SHL8TARGET).dxp
-$(DEF8EXPORTFILE) : $(SHL8VERSIONMAP)
- $(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
-.ENDIF # "$(GUI)"=="OS2"
-
.ENDIF # "$(DEF8EXPORTFILE)"==""
.ENDIF # "$(SHL8VERSIONMAP)"!=""
@@ -2130,112 +1340,6 @@ $(DEF8TARGETN) .PHONY :
@$(RENAME) $@.tmpfile $@
.ENDIF # "$(GUI)"=="WNT"
-.IF "$(GUI)"=="OS2"
-
-#21/02/2006 YD dll names must be 8.3, invoke fix script
-#check osl/os2/module.c/osl_loadModule()
-SHL8TARGET8=$(shell @fix_shl $(SHL8TARGETN:f))
-
-DEF8FILTER=$(SOLARENV)/inc/dummy.flt
-DEF8NAMELIST=$(foreach,i,$(DEFLIB8NAME) $(SLB)/$(i).lib)
-
-.IF "$(link_always)"==""
-$(DEF8TARGETN) : \
- $(DEF8DEPN) \
- $(DEF8EXPORTFILE)
-.ELSE # "$(link_always)"==""
-$(DEF8TARGETN) .PHONY :
-.ENDIF # "$(link_always)"==""
- @+-$(RM) $@.tmpfile
- @echo "Making: module definition file" $(@:f)
- @echo LIBRARY $(SHL8TARGET8) INITINSTANCE TERMINSTANCE >$@.tmpfile
- @echo DATA MULTIPLE >>$@.tmpfile
- @echo DESCRIPTION 'StarView 3.00 $(DEF8DES) $(UPD) $(UPDMINOR)' >>$@.tmpfile
- @echo EXPORTS >>$@.tmpfile
-.IF "$(VERSIONOBJ)"!=""
-# getversioninfo fuer alle!!
- @echo _GetVersionInfo >$@.tmp_ord
-.ENDIF
-
-.IF "$(DEFLIB8NAME)"!=""
- @+echo $(SLB)/$(DEFLIB8NAME).lib
- @+emxexpr $(DEF8NAMELIST) | fix_exp_file >> $@.tmp_ord
-.ENDIF # "$(DEFLIB8NAME)"!=""
-
-.IF "$(DEF8EXPORT1)"!=""
- @echo $(DEF8EXPORT1) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF8EXPORT2)"!=""
- @echo $(DEF8EXPORT2) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF8EXPORT3)"!=""
- @echo $(DEF8EXPORT3) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF8EXPORT4)"!=""
- @echo $(DEF8EXPORT4) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF8EXPORT5)"!=""
- @echo $(DEF8EXPORT5) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF8EXPORT6)"!=""
- @echo $(DEF8EXPORT6) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF8EXPORT7)"!=""
- @echo $(DEF8EXPORT7) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF8EXPORT8)"!=""
- @echo $(DEF8EXPORT8) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF8EXPORT9)"!=""
- @echo $(DEF8EXPORT9) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF8EXPORT10)"!=""
- @echo $(DEF8EXPORT10) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF8EXPORT11)"!=""
- @echo $(DEF8EXPORT11) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF8EXPORT12)"!=""
- @echo $(DEF8EXPORT12) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF8EXPORT13)"!=""
- @echo $(DEF8EXPORT13) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF8EXPORT14)"!=""
- @echo $(DEF8EXPORT14) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF8EXPORT15)"!=""
- @echo $(DEF8EXPORT15) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF8EXPORT16)"!=""
- @echo $(DEF8EXPORT16) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF8EXPORT17)"!=""
- @echo $(DEF8EXPORT17) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF8EXPORT18)"!=""
- @echo $(DEF8EXPORT18) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF8EXPORT19)"!=""
- @echo $(DEF8EXPORT19) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF8EXPORT20)"!=""
- @echo $(DEF8EXPORT20) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF8EXPORTFILE)"!=""
- @fix_def_file < $(DEF8EXPORTFILE) >> $@.tmp_ord
-.ENDIF
- @sort < $@.tmp_ord | uniq > $@.exptmpfile
- @fix_def_ord < $@.exptmpfile >> $@.tmpfile
- @+-$(RM) $@
- $(COMMAND_ECHO)+$(RENAME) $@.tmpfile $@
- @+-$(RM) $@.tmp_ord
- @+-$(RM) $@.exptmpfile
- $(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(SHL8IMPLIBN:s/.lib/.a/) $@
- $(COMMAND_ECHO)+emxomf -o $(SHL8IMPLIBN) $(SHL8IMPLIBN:s/.lib/.a/)
-
-.ENDIF # "$(GUI)"=="OS2"
-
.IF "$(GUI)"=="UNX"
$(DEF8TARGETN): \
$(DEF8DEPN) \
@@ -2274,7 +1378,7 @@ $(DEF9EXPORTFILE) : $(SHL9VERSIONMAP)
$(COMMAND_ECHO)-$(GREP) "\*\|?" $@ > $@.symbols-regexp
# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
# Extract RTTI symbols from all the objects that will be used to build a shared library
- $(COMMAND_ECHO)nm -gP $(SHL9OBJS) \
+ $(COMMAND_ECHO)$(NM) -gP $(SHL9OBJS) \
`$(TYPE) /dev/null $(foreach,j,$(SHL9LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
| $(SOLARENV)/bin/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
# overwrite the map file generate into the local output tree with the generated
@@ -2284,12 +1388,6 @@ $(DEF9EXPORTFILE) : $(SHL9VERSIONMAP)
.ENDIF # "$(GUI)"=="WNT"
-.IF "$(GUI)"=="OS2"
-DEF9EXPORTFILE=$(MISC)/$(SHL9VERSIONMAP:b)_$(SHL9TARGET).dxp
-$(DEF9EXPORTFILE) : $(SHL9VERSIONMAP)
- $(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
-.ENDIF # "$(GUI)"=="OS2"
-
.ENDIF # "$(DEF9EXPORTFILE)"==""
.ENDIF # "$(SHL9VERSIONMAP)"!=""
@@ -2411,112 +1509,6 @@ $(DEF9TARGETN) .PHONY :
@$(RENAME) $@.tmpfile $@
.ENDIF # "$(GUI)"=="WNT"
-.IF "$(GUI)"=="OS2"
-
-#21/02/2006 YD dll names must be 8.3, invoke fix script
-#check osl/os2/module.c/osl_loadModule()
-SHL9TARGET8=$(shell @fix_shl $(SHL9TARGETN:f))
-
-DEF9FILTER=$(SOLARENV)/inc/dummy.flt
-DEF9NAMELIST=$(foreach,i,$(DEFLIB9NAME) $(SLB)/$(i).lib)
-
-.IF "$(link_always)"==""
-$(DEF9TARGETN) : \
- $(DEF9DEPN) \
- $(DEF9EXPORTFILE)
-.ELSE # "$(link_always)"==""
-$(DEF9TARGETN) .PHONY :
-.ENDIF # "$(link_always)"==""
- @+-$(RM) $@.tmpfile
- @echo "Making: module definition file" $(@:f)
- @echo LIBRARY $(SHL9TARGET8) INITINSTANCE TERMINSTANCE >$@.tmpfile
- @echo DATA MULTIPLE >>$@.tmpfile
- @echo DESCRIPTION 'StarView 3.00 $(DEF9DES) $(UPD) $(UPDMINOR)' >>$@.tmpfile
- @echo EXPORTS >>$@.tmpfile
-.IF "$(VERSIONOBJ)"!=""
-# getversioninfo fuer alle!!
- @echo _GetVersionInfo >$@.tmp_ord
-.ENDIF
-
-.IF "$(DEFLIB9NAME)"!=""
- @+echo $(SLB)/$(DEFLIB9NAME).lib
- @+emxexpr $(DEF9NAMELIST) | fix_exp_file >> $@.tmp_ord
-.ENDIF # "$(DEFLIB9NAME)"!=""
-
-.IF "$(DEF9EXPORT1)"!=""
- @echo $(DEF9EXPORT1) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF9EXPORT2)"!=""
- @echo $(DEF9EXPORT2) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF9EXPORT3)"!=""
- @echo $(DEF9EXPORT3) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF9EXPORT4)"!=""
- @echo $(DEF9EXPORT4) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF9EXPORT5)"!=""
- @echo $(DEF9EXPORT5) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF9EXPORT6)"!=""
- @echo $(DEF9EXPORT6) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF9EXPORT7)"!=""
- @echo $(DEF9EXPORT7) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF9EXPORT8)"!=""
- @echo $(DEF9EXPORT8) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF9EXPORT9)"!=""
- @echo $(DEF9EXPORT9) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF9EXPORT10)"!=""
- @echo $(DEF9EXPORT10) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF9EXPORT11)"!=""
- @echo $(DEF9EXPORT11) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF9EXPORT12)"!=""
- @echo $(DEF9EXPORT12) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF9EXPORT13)"!=""
- @echo $(DEF9EXPORT13) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF9EXPORT14)"!=""
- @echo $(DEF9EXPORT14) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF9EXPORT15)"!=""
- @echo $(DEF9EXPORT15) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF9EXPORT16)"!=""
- @echo $(DEF9EXPORT16) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF9EXPORT17)"!=""
- @echo $(DEF9EXPORT17) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF9EXPORT18)"!=""
- @echo $(DEF9EXPORT18) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF9EXPORT19)"!=""
- @echo $(DEF9EXPORT19) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF9EXPORT20)"!=""
- @echo $(DEF9EXPORT20) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF9EXPORTFILE)"!=""
- @fix_def_file < $(DEF9EXPORTFILE) >> $@.tmp_ord
-.ENDIF
- @sort < $@.tmp_ord | uniq > $@.exptmpfile
- @fix_def_ord < $@.exptmpfile >> $@.tmpfile
- @+-$(RM) $@
- $(COMMAND_ECHO)+$(RENAME) $@.tmpfile $@
- @+-$(RM) $@.tmp_ord
- @+-$(RM) $@.exptmpfile
- $(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(SHL9IMPLIBN:s/.lib/.a/) $@
- $(COMMAND_ECHO)+emxomf -o $(SHL9IMPLIBN) $(SHL9IMPLIBN:s/.lib/.a/)
-
-.ENDIF # "$(GUI)"=="OS2"
-
.IF "$(GUI)"=="UNX"
$(DEF9TARGETN): \
$(DEF9DEPN) \
@@ -2555,7 +1547,7 @@ $(DEF10EXPORTFILE) : $(SHL10VERSIONMAP)
$(COMMAND_ECHO)-$(GREP) "\*\|?" $@ > $@.symbols-regexp
# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
# Extract RTTI symbols from all the objects that will be used to build a shared library
- $(COMMAND_ECHO)nm -gP $(SHL10OBJS) \
+ $(COMMAND_ECHO)$(NM) -gP $(SHL10OBJS) \
`$(TYPE) /dev/null $(foreach,j,$(SHL10LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
| $(SOLARENV)/bin/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
# overwrite the map file generate into the local output tree with the generated
@@ -2565,12 +1557,6 @@ $(DEF10EXPORTFILE) : $(SHL10VERSIONMAP)
.ENDIF # "$(GUI)"=="WNT"
-.IF "$(GUI)"=="OS2"
-DEF10EXPORTFILE=$(MISC)/$(SHL10VERSIONMAP:b)_$(SHL10TARGET).dxp
-$(DEF10EXPORTFILE) : $(SHL10VERSIONMAP)
- $(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
-.ENDIF # "$(GUI)"=="OS2"
-
.ENDIF # "$(DEF10EXPORTFILE)"==""
.ENDIF # "$(SHL10VERSIONMAP)"!=""
@@ -2692,112 +1678,6 @@ $(DEF10TARGETN) .PHONY :
@$(RENAME) $@.tmpfile $@
.ENDIF # "$(GUI)"=="WNT"
-.IF "$(GUI)"=="OS2"
-
-#21/02/2006 YD dll names must be 8.3, invoke fix script
-#check osl/os2/module.c/osl_loadModule()
-SHL10TARGET8=$(shell @fix_shl $(SHL10TARGETN:f))
-
-DEF10FILTER=$(SOLARENV)/inc/dummy.flt
-DEF10NAMELIST=$(foreach,i,$(DEFLIB10NAME) $(SLB)/$(i).lib)
-
-.IF "$(link_always)"==""
-$(DEF10TARGETN) : \
- $(DEF10DEPN) \
- $(DEF10EXPORTFILE)
-.ELSE # "$(link_always)"==""
-$(DEF10TARGETN) .PHONY :
-.ENDIF # "$(link_always)"==""
- @+-$(RM) $@.tmpfile
- @echo "Making: module definition file" $(@:f)
- @echo LIBRARY $(SHL10TARGET8) INITINSTANCE TERMINSTANCE >$@.tmpfile
- @echo DATA MULTIPLE >>$@.tmpfile
- @echo DESCRIPTION 'StarView 3.00 $(DEF10DES) $(UPD) $(UPDMINOR)' >>$@.tmpfile
- @echo EXPORTS >>$@.tmpfile
-.IF "$(VERSIONOBJ)"!=""
-# getversioninfo fuer alle!!
- @echo _GetVersionInfo >$@.tmp_ord
-.ENDIF
-
-.IF "$(DEFLIB10NAME)"!=""
- @+echo $(SLB)/$(DEFLIB10NAME).lib
- @+emxexpr $(DEF10NAMELIST) | fix_exp_file >> $@.tmp_ord
-.ENDIF # "$(DEFLIB10NAME)"!=""
-
-.IF "$(DEF10EXPORT1)"!=""
- @echo $(DEF10EXPORT1) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF10EXPORT2)"!=""
- @echo $(DEF10EXPORT2) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF10EXPORT3)"!=""
- @echo $(DEF10EXPORT3) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF10EXPORT4)"!=""
- @echo $(DEF10EXPORT4) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF10EXPORT5)"!=""
- @echo $(DEF10EXPORT5) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF10EXPORT6)"!=""
- @echo $(DEF10EXPORT6) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF10EXPORT7)"!=""
- @echo $(DEF10EXPORT7) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF10EXPORT8)"!=""
- @echo $(DEF10EXPORT8) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF10EXPORT9)"!=""
- @echo $(DEF10EXPORT9) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF10EXPORT10)"!=""
- @echo $(DEF10EXPORT10) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF10EXPORT11)"!=""
- @echo $(DEF10EXPORT11) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF10EXPORT12)"!=""
- @echo $(DEF10EXPORT12) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF10EXPORT13)"!=""
- @echo $(DEF10EXPORT13) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF10EXPORT14)"!=""
- @echo $(DEF10EXPORT14) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF10EXPORT15)"!=""
- @echo $(DEF10EXPORT15) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF10EXPORT16)"!=""
- @echo $(DEF10EXPORT16) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF10EXPORT17)"!=""
- @echo $(DEF10EXPORT17) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF10EXPORT18)"!=""
- @echo $(DEF10EXPORT18) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF10EXPORT19)"!=""
- @echo $(DEF10EXPORT19) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF10EXPORT20)"!=""
- @echo $(DEF10EXPORT20) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF10EXPORTFILE)"!=""
- @fix_def_file < $(DEF10EXPORTFILE) >> $@.tmp_ord
-.ENDIF
- @sort < $@.tmp_ord | uniq > $@.exptmpfile
- @fix_def_ord < $@.exptmpfile >> $@.tmpfile
- @+-$(RM) $@
- $(COMMAND_ECHO)+$(RENAME) $@.tmpfile $@
- @+-$(RM) $@.tmp_ord
- @+-$(RM) $@.exptmpfile
- $(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(SHL10IMPLIBN:s/.lib/.a/) $@
- $(COMMAND_ECHO)+emxomf -o $(SHL10IMPLIBN) $(SHL10IMPLIBN:s/.lib/.a/)
-
-.ENDIF # "$(GUI)"=="OS2"
-
.IF "$(GUI)"=="UNX"
$(DEF10TARGETN): \
$(DEF10DEPN) \
diff --git a/solenv/inc/_tg_lib.mk b/solenv/inc/_tg_lib.mk
index 378c3230420b..5b6c463559f4 100644
--- a/solenv/inc/_tg_lib.mk
+++ b/solenv/inc/_tg_lib.mk
@@ -8,12 +8,6 @@ $(LIB1ARCHIV) : $(LIB1TARGET)
@@-$(RM) $@
.IF "$(GUI)"=="UNX"
@-$(RM) $(MISC)/$(LIB1ARCHIV:b).cmd
-.IF "$(OS)" =="HPUX_FRAG_HR"
- @-$(RM) $(MISC)/$(LIB1ARCHIV:b)_closetempl.cmd
- @echo $(LINK) +inst_close -c `cat $(LIB1TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(MISC)/$(LIB1ARCHIV:b)_closetempl.cmd
- @cat $(MISC)/$(LIB1ARCHIV:b)_closetempl.cmd
- @+source $(MISC)/$(LIB1ARCHIV:b)_closetempl.cmd
-.ENDIF
@echo $(LIBMGR) $(LIB1FLAGS) $(LIBFLAGS) $(LIB1ARCHIV) `cat $(LIB1TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(MISC)/$(LIB1ARCHIV:b).cmd
.IF "$(OS)$(COM)"=="NETBSDGCC"
@echo ranlib $(LIB1ARCHIV) >> $(MISC)/$(LIB1ARCHIV:b).cmd
@@ -29,7 +23,7 @@ $(LIB1ARCHIV) : $(LIB1TARGET)
.IF "$(GUI)$(COM)"=="WNTGCC"
@+-$(RM) $(MISC)/$(LIB1ARCHIV:b).cmd
@+echo $(LIBMGR) $(LIB1FLAGS) $(LIBFLAGS) $(LIB1ARCHIV) `cat $(LIB1TARGET) | sed s#'^'$(ROUT)#$(PRJ)/$(ROUT)#g` > $(MISC)/$(LIB1ARCHIV:b).cmd
- @+echo ranlib $(LIB1ARCHIV) >> $(MISC)/$(LIB1ARCHIV:b).cmd
+ @+echo $(RANLIB) $(LIB1ARCHIV) >> $(MISC)/$(LIB1ARCHIV:b).cmd
.IF "$(VERBOSE)" == "TRUE"
@cat $(MISC)/$(LIB1ARCHIV:b).cmd
.ENDIF
@@ -62,17 +56,6 @@ $(LIB1TARGET) : $(LIB1FILES) \
@nm `cat $(LIB1TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(@:d)$(@:b).dump
.ENDIF
-.ELIF "$(GUI)"=="OS2"
- $(COMMAND_ECHO)$(LIBMGR) $(LIBFLAGS) $@ $(LIB1FILES) $(LIB1OBJFILES)
- @+-$(RM) $(@:s/.lib/.lin/)
-.IF "$(LIB1OBJFILES)"!=""
- @+$(TYPE) $(mktmp $(LIB1OBJFILES)) > $(null,$(LIB1OBJFILES) $(NULLDEV) $(@:s/.lib/.lin/))
-.ENDIF # "$(LIB1OBJFILES)"!=""
-.IF "$(LIB1FILES)"!=""
- @-$(TYPE) $(foreach,i,$(LIB1FILES) $(i:s/.lib/.lin/)) >> $(@:s/.lib/.lin/)
-.ENDIF # "$(LIB1FILES)"!=""
- @+$(ECHONL)
-
.ELSE # "$(GUI)"=="UNX"
.IF "$(GUI)"=="WNT"
.IF "$(COM)"=="GCC"
@@ -110,12 +93,6 @@ $(LIB2ARCHIV) : $(LIB2TARGET)
@@-$(RM) $@
.IF "$(GUI)"=="UNX"
@-$(RM) $(MISC)/$(LIB2ARCHIV:b).cmd
-.IF "$(OS)" =="HPUX_FRAG_HR"
- @-$(RM) $(MISC)/$(LIB2ARCHIV:b)_closetempl.cmd
- @echo $(LINK) +inst_close -c `cat $(LIB2TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(MISC)/$(LIB2ARCHIV:b)_closetempl.cmd
- @cat $(MISC)/$(LIB2ARCHIV:b)_closetempl.cmd
- @+source $(MISC)/$(LIB2ARCHIV:b)_closetempl.cmd
-.ENDIF
@echo $(LIBMGR) $(LIB2FLAGS) $(LIBFLAGS) $(LIB2ARCHIV) `cat $(LIB2TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(MISC)/$(LIB2ARCHIV:b).cmd
.IF "$(OS)$(COM)"=="NETBSDGCC"
@echo ranlib $(LIB2ARCHIV) >> $(MISC)/$(LIB2ARCHIV:b).cmd
@@ -131,7 +108,7 @@ $(LIB2ARCHIV) : $(LIB2TARGET)
.IF "$(GUI)$(COM)"=="WNTGCC"
@+-$(RM) $(MISC)/$(LIB2ARCHIV:b).cmd
@+echo $(LIBMGR) $(LIB2FLAGS) $(LIBFLAGS) $(LIB2ARCHIV) `cat $(LIB2TARGET) | sed s#'^'$(ROUT)#$(PRJ)/$(ROUT)#g` > $(MISC)/$(LIB2ARCHIV:b).cmd
- @+echo ranlib $(LIB2ARCHIV) >> $(MISC)/$(LIB2ARCHIV:b).cmd
+ @+echo $(RANLIB) $(LIB2ARCHIV) >> $(MISC)/$(LIB2ARCHIV:b).cmd
.IF "$(VERBOSE)" == "TRUE"
@cat $(MISC)/$(LIB2ARCHIV:b).cmd
.ENDIF
@@ -164,17 +141,6 @@ $(LIB2TARGET) : $(LIB2FILES) \
@nm `cat $(LIB2TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(@:d)$(@:b).dump
.ENDIF
-.ELIF "$(GUI)"=="OS2"
- $(COMMAND_ECHO)$(LIBMGR) $(LIBFLAGS) $@ $(LIB2FILES) $(LIB2OBJFILES)
- @+-$(RM) $(@:s/.lib/.lin/)
-.IF "$(LIB2OBJFILES)"!=""
- @+$(TYPE) $(mktmp $(LIB2OBJFILES)) > $(null,$(LIB2OBJFILES) $(NULLDEV) $(@:s/.lib/.lin/))
-.ENDIF # "$(LIB2OBJFILES)"!=""
-.IF "$(LIB2FILES)"!=""
- @-$(TYPE) $(foreach,i,$(LIB2FILES) $(i:s/.lib/.lin/)) >> $(@:s/.lib/.lin/)
-.ENDIF # "$(LIB2FILES)"!=""
- @+$(ECHONL)
-
.ELSE # "$(GUI)"=="UNX"
.IF "$(GUI)"=="WNT"
.IF "$(COM)"=="GCC"
@@ -212,12 +178,6 @@ $(LIB3ARCHIV) : $(LIB3TARGET)
@@-$(RM) $@
.IF "$(GUI)"=="UNX"
@-$(RM) $(MISC)/$(LIB3ARCHIV:b).cmd
-.IF "$(OS)" =="HPUX_FRAG_HR"
- @-$(RM) $(MISC)/$(LIB3ARCHIV:b)_closetempl.cmd
- @echo $(LINK) +inst_close -c `cat $(LIB3TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(MISC)/$(LIB3ARCHIV:b)_closetempl.cmd
- @cat $(MISC)/$(LIB3ARCHIV:b)_closetempl.cmd
- @+source $(MISC)/$(LIB3ARCHIV:b)_closetempl.cmd
-.ENDIF
@echo $(LIBMGR) $(LIB3FLAGS) $(LIBFLAGS) $(LIB3ARCHIV) `cat $(LIB3TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(MISC)/$(LIB3ARCHIV:b).cmd
.IF "$(OS)$(COM)"=="NETBSDGCC"
@echo ranlib $(LIB3ARCHIV) >> $(MISC)/$(LIB3ARCHIV:b).cmd
@@ -233,7 +193,7 @@ $(LIB3ARCHIV) : $(LIB3TARGET)
.IF "$(GUI)$(COM)"=="WNTGCC"
@+-$(RM) $(MISC)/$(LIB3ARCHIV:b).cmd
@+echo $(LIBMGR) $(LIB3FLAGS) $(LIBFLAGS) $(LIB3ARCHIV) `cat $(LIB3TARGET) | sed s#'^'$(ROUT)#$(PRJ)/$(ROUT)#g` > $(MISC)/$(LIB3ARCHIV:b).cmd
- @+echo ranlib $(LIB3ARCHIV) >> $(MISC)/$(LIB3ARCHIV:b).cmd
+ @+echo $(RANLIB) $(LIB3ARCHIV) >> $(MISC)/$(LIB3ARCHIV:b).cmd
.IF "$(VERBOSE)" == "TRUE"
@cat $(MISC)/$(LIB3ARCHIV:b).cmd
.ENDIF
@@ -266,17 +226,6 @@ $(LIB3TARGET) : $(LIB3FILES) \
@nm `cat $(LIB3TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(@:d)$(@:b).dump
.ENDIF
-.ELIF "$(GUI)"=="OS2"
- $(COMMAND_ECHO)$(LIBMGR) $(LIBFLAGS) $@ $(LIB3FILES) $(LIB3OBJFILES)
- @+-$(RM) $(@:s/.lib/.lin/)
-.IF "$(LIB3OBJFILES)"!=""
- @+$(TYPE) $(mktmp $(LIB3OBJFILES)) > $(null,$(LIB3OBJFILES) $(NULLDEV) $(@:s/.lib/.lin/))
-.ENDIF # "$(LIB3OBJFILES)"!=""
-.IF "$(LIB3FILES)"!=""
- @-$(TYPE) $(foreach,i,$(LIB3FILES) $(i:s/.lib/.lin/)) >> $(@:s/.lib/.lin/)
-.ENDIF # "$(LIB3FILES)"!=""
- @+$(ECHONL)
-
.ELSE # "$(GUI)"=="UNX"
.IF "$(GUI)"=="WNT"
.IF "$(COM)"=="GCC"
@@ -314,12 +263,6 @@ $(LIB4ARCHIV) : $(LIB4TARGET)
@@-$(RM) $@
.IF "$(GUI)"=="UNX"
@-$(RM) $(MISC)/$(LIB4ARCHIV:b).cmd
-.IF "$(OS)" =="HPUX_FRAG_HR"
- @-$(RM) $(MISC)/$(LIB4ARCHIV:b)_closetempl.cmd
- @echo $(LINK) +inst_close -c `cat $(LIB4TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(MISC)/$(LIB4ARCHIV:b)_closetempl.cmd
- @cat $(MISC)/$(LIB4ARCHIV:b)_closetempl.cmd
- @+source $(MISC)/$(LIB4ARCHIV:b)_closetempl.cmd
-.ENDIF
@echo $(LIBMGR) $(LIB4FLAGS) $(LIBFLAGS) $(LIB4ARCHIV) `cat $(LIB4TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(MISC)/$(LIB4ARCHIV:b).cmd
.IF "$(OS)$(COM)"=="NETBSDGCC"
@echo ranlib $(LIB4ARCHIV) >> $(MISC)/$(LIB4ARCHIV:b).cmd
@@ -335,7 +278,7 @@ $(LIB4ARCHIV) : $(LIB4TARGET)
.IF "$(GUI)$(COM)"=="WNTGCC"
@+-$(RM) $(MISC)/$(LIB4ARCHIV:b).cmd
@+echo $(LIBMGR) $(LIB4FLAGS) $(LIBFLAGS) $(LIB4ARCHIV) `cat $(LIB4TARGET) | sed s#'^'$(ROUT)#$(PRJ)/$(ROUT)#g` > $(MISC)/$(LIB4ARCHIV:b).cmd
- @+echo ranlib $(LIB4ARCHIV) >> $(MISC)/$(LIB4ARCHIV:b).cmd
+ @+echo $(RANLIB) $(LIB4ARCHIV) >> $(MISC)/$(LIB4ARCHIV:b).cmd
.IF "$(VERBOSE)" == "TRUE"
@cat $(MISC)/$(LIB4ARCHIV:b).cmd
.ENDIF
@@ -368,17 +311,6 @@ $(LIB4TARGET) : $(LIB4FILES) \
@nm `cat $(LIB4TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(@:d)$(@:b).dump
.ENDIF
-.ELIF "$(GUI)"=="OS2"
- $(COMMAND_ECHO)$(LIBMGR) $(LIBFLAGS) $@ $(LIB4FILES) $(LIB4OBJFILES)
- @+-$(RM) $(@:s/.lib/.lin/)
-.IF "$(LIB4OBJFILES)"!=""
- @+$(TYPE) $(mktmp $(LIB4OBJFILES)) > $(null,$(LIB4OBJFILES) $(NULLDEV) $(@:s/.lib/.lin/))
-.ENDIF # "$(LIB4OBJFILES)"!=""
-.IF "$(LIB4FILES)"!=""
- @-$(TYPE) $(foreach,i,$(LIB4FILES) $(i:s/.lib/.lin/)) >> $(@:s/.lib/.lin/)
-.ENDIF # "$(LIB4FILES)"!=""
- @+$(ECHONL)
-
.ELSE # "$(GUI)"=="UNX"
.IF "$(GUI)"=="WNT"
.IF "$(COM)"=="GCC"
@@ -416,12 +348,6 @@ $(LIB5ARCHIV) : $(LIB5TARGET)
@@-$(RM) $@
.IF "$(GUI)"=="UNX"
@-$(RM) $(MISC)/$(LIB5ARCHIV:b).cmd
-.IF "$(OS)" =="HPUX_FRAG_HR"
- @-$(RM) $(MISC)/$(LIB5ARCHIV:b)_closetempl.cmd
- @echo $(LINK) +inst_close -c `cat $(LIB5TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(MISC)/$(LIB5ARCHIV:b)_closetempl.cmd
- @cat $(MISC)/$(LIB5ARCHIV:b)_closetempl.cmd
- @+source $(MISC)/$(LIB5ARCHIV:b)_closetempl.cmd
-.ENDIF
@echo $(LIBMGR) $(LIB5FLAGS) $(LIBFLAGS) $(LIB5ARCHIV) `cat $(LIB5TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(MISC)/$(LIB5ARCHIV:b).cmd
.IF "$(OS)$(COM)"=="NETBSDGCC"
@echo ranlib $(LIB5ARCHIV) >> $(MISC)/$(LIB5ARCHIV:b).cmd
@@ -437,7 +363,7 @@ $(LIB5ARCHIV) : $(LIB5TARGET)
.IF "$(GUI)$(COM)"=="WNTGCC"
@+-$(RM) $(MISC)/$(LIB5ARCHIV:b).cmd
@+echo $(LIBMGR) $(LIB5FLAGS) $(LIBFLAGS) $(LIB5ARCHIV) `cat $(LIB5TARGET) | sed s#'^'$(ROUT)#$(PRJ)/$(ROUT)#g` > $(MISC)/$(LIB5ARCHIV:b).cmd
- @+echo ranlib $(LIB5ARCHIV) >> $(MISC)/$(LIB5ARCHIV:b).cmd
+ @+echo $(RANLIB) $(LIB5ARCHIV) >> $(MISC)/$(LIB5ARCHIV:b).cmd
.IF "$(VERBOSE)" == "TRUE"
@cat $(MISC)/$(LIB5ARCHIV:b).cmd
.ENDIF
@@ -470,17 +396,6 @@ $(LIB5TARGET) : $(LIB5FILES) \
@nm `cat $(LIB5TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(@:d)$(@:b).dump
.ENDIF
-.ELIF "$(GUI)"=="OS2"
- $(COMMAND_ECHO)$(LIBMGR) $(LIBFLAGS) $@ $(LIB5FILES) $(LIB5OBJFILES)
- @+-$(RM) $(@:s/.lib/.lin/)
-.IF "$(LIB5OBJFILES)"!=""
- @+$(TYPE) $(mktmp $(LIB5OBJFILES)) > $(null,$(LIB5OBJFILES) $(NULLDEV) $(@:s/.lib/.lin/))
-.ENDIF # "$(LIB5OBJFILES)"!=""
-.IF "$(LIB5FILES)"!=""
- @-$(TYPE) $(foreach,i,$(LIB5FILES) $(i:s/.lib/.lin/)) >> $(@:s/.lib/.lin/)
-.ENDIF # "$(LIB5FILES)"!=""
- @+$(ECHONL)
-
.ELSE # "$(GUI)"=="UNX"
.IF "$(GUI)"=="WNT"
.IF "$(COM)"=="GCC"
@@ -518,12 +433,6 @@ $(LIB6ARCHIV) : $(LIB6TARGET)
@@-$(RM) $@
.IF "$(GUI)"=="UNX"
@-$(RM) $(MISC)/$(LIB6ARCHIV:b).cmd
-.IF "$(OS)" =="HPUX_FRAG_HR"
- @-$(RM) $(MISC)/$(LIB6ARCHIV:b)_closetempl.cmd
- @echo $(LINK) +inst_close -c `cat $(LIB6TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(MISC)/$(LIB6ARCHIV:b)_closetempl.cmd
- @cat $(MISC)/$(LIB6ARCHIV:b)_closetempl.cmd
- @+source $(MISC)/$(LIB6ARCHIV:b)_closetempl.cmd
-.ENDIF
@echo $(LIBMGR) $(LIB6FLAGS) $(LIBFLAGS) $(LIB6ARCHIV) `cat $(LIB6TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(MISC)/$(LIB6ARCHIV:b).cmd
.IF "$(OS)$(COM)"=="NETBSDGCC"
@echo ranlib $(LIB6ARCHIV) >> $(MISC)/$(LIB6ARCHIV:b).cmd
@@ -539,7 +448,7 @@ $(LIB6ARCHIV) : $(LIB6TARGET)
.IF "$(GUI)$(COM)"=="WNTGCC"
@+-$(RM) $(MISC)/$(LIB6ARCHIV:b).cmd
@+echo $(LIBMGR) $(LIB6FLAGS) $(LIBFLAGS) $(LIB6ARCHIV) `cat $(LIB6TARGET) | sed s#'^'$(ROUT)#$(PRJ)/$(ROUT)#g` > $(MISC)/$(LIB6ARCHIV:b).cmd
- @+echo ranlib $(LIB6ARCHIV) >> $(MISC)/$(LIB6ARCHIV:b).cmd
+ @+echo $(RANLIB) $(LIB6ARCHIV) >> $(MISC)/$(LIB6ARCHIV:b).cmd
.IF "$(VERBOSE)" == "TRUE"
@cat $(MISC)/$(LIB6ARCHIV:b).cmd
.ENDIF
@@ -572,17 +481,6 @@ $(LIB6TARGET) : $(LIB6FILES) \
@nm `cat $(LIB6TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(@:d)$(@:b).dump
.ENDIF
-.ELIF "$(GUI)"=="OS2"
- $(COMMAND_ECHO)$(LIBMGR) $(LIBFLAGS) $@ $(LIB6FILES) $(LIB6OBJFILES)
- @+-$(RM) $(@:s/.lib/.lin/)
-.IF "$(LIB6OBJFILES)"!=""
- @+$(TYPE) $(mktmp $(LIB6OBJFILES)) > $(null,$(LIB6OBJFILES) $(NULLDEV) $(@:s/.lib/.lin/))
-.ENDIF # "$(LIB6OBJFILES)"!=""
-.IF "$(LIB6FILES)"!=""
- @-$(TYPE) $(foreach,i,$(LIB6FILES) $(i:s/.lib/.lin/)) >> $(@:s/.lib/.lin/)
-.ENDIF # "$(LIB6FILES)"!=""
- @+$(ECHONL)
-
.ELSE # "$(GUI)"=="UNX"
.IF "$(GUI)"=="WNT"
.IF "$(COM)"=="GCC"
@@ -620,12 +518,6 @@ $(LIB7ARCHIV) : $(LIB7TARGET)
@@-$(RM) $@
.IF "$(GUI)"=="UNX"
@-$(RM) $(MISC)/$(LIB7ARCHIV:b).cmd
-.IF "$(OS)" =="HPUX_FRAG_HR"
- @-$(RM) $(MISC)/$(LIB7ARCHIV:b)_closetempl.cmd
- @echo $(LINK) +inst_close -c `cat $(LIB7TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(MISC)/$(LIB7ARCHIV:b)_closetempl.cmd
- @cat $(MISC)/$(LIB7ARCHIV:b)_closetempl.cmd
- @+source $(MISC)/$(LIB7ARCHIV:b)_closetempl.cmd
-.ENDIF
@echo $(LIBMGR) $(LIB7FLAGS) $(LIBFLAGS) $(LIB7ARCHIV) `cat $(LIB7TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(MISC)/$(LIB7ARCHIV:b).cmd
.IF "$(OS)$(COM)"=="NETBSDGCC"
@echo ranlib $(LIB7ARCHIV) >> $(MISC)/$(LIB7ARCHIV:b).cmd
@@ -641,7 +533,7 @@ $(LIB7ARCHIV) : $(LIB7TARGET)
.IF "$(GUI)$(COM)"=="WNTGCC"
@+-$(RM) $(MISC)/$(LIB7ARCHIV:b).cmd
@+echo $(LIBMGR) $(LIB7FLAGS) $(LIBFLAGS) $(LIB7ARCHIV) `cat $(LIB7TARGET) | sed s#'^'$(ROUT)#$(PRJ)/$(ROUT)#g` > $(MISC)/$(LIB7ARCHIV:b).cmd
- @+echo ranlib $(LIB7ARCHIV) >> $(MISC)/$(LIB7ARCHIV:b).cmd
+ @+echo $(RANLIB) $(LIB7ARCHIV) >> $(MISC)/$(LIB7ARCHIV:b).cmd
.IF "$(VERBOSE)" == "TRUE"
@cat $(MISC)/$(LIB7ARCHIV:b).cmd
.ENDIF
@@ -674,17 +566,6 @@ $(LIB7TARGET) : $(LIB7FILES) \
@nm `cat $(LIB7TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(@:d)$(@:b).dump
.ENDIF
-.ELIF "$(GUI)"=="OS2"
- $(COMMAND_ECHO)$(LIBMGR) $(LIBFLAGS) $@ $(LIB7FILES) $(LIB7OBJFILES)
- @+-$(RM) $(@:s/.lib/.lin/)
-.IF "$(LIB7OBJFILES)"!=""
- @+$(TYPE) $(mktmp $(LIB7OBJFILES)) > $(null,$(LIB7OBJFILES) $(NULLDEV) $(@:s/.lib/.lin/))
-.ENDIF # "$(LIB7OBJFILES)"!=""
-.IF "$(LIB7FILES)"!=""
- @-$(TYPE) $(foreach,i,$(LIB7FILES) $(i:s/.lib/.lin/)) >> $(@:s/.lib/.lin/)
-.ENDIF # "$(LIB7FILES)"!=""
- @+$(ECHONL)
-
.ELSE # "$(GUI)"=="UNX"
.IF "$(GUI)"=="WNT"
.IF "$(COM)"=="GCC"
@@ -722,12 +603,6 @@ $(LIB8ARCHIV) : $(LIB8TARGET)
@@-$(RM) $@
.IF "$(GUI)"=="UNX"
@-$(RM) $(MISC)/$(LIB8ARCHIV:b).cmd
-.IF "$(OS)" =="HPUX_FRAG_HR"
- @-$(RM) $(MISC)/$(LIB8ARCHIV:b)_closetempl.cmd
- @echo $(LINK) +inst_close -c `cat $(LIB8TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(MISC)/$(LIB8ARCHIV:b)_closetempl.cmd
- @cat $(MISC)/$(LIB8ARCHIV:b)_closetempl.cmd
- @+source $(MISC)/$(LIB8ARCHIV:b)_closetempl.cmd
-.ENDIF
@echo $(LIBMGR) $(LIB8FLAGS) $(LIBFLAGS) $(LIB8ARCHIV) `cat $(LIB8TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(MISC)/$(LIB8ARCHIV:b).cmd
.IF "$(OS)$(COM)"=="NETBSDGCC"
@echo ranlib $(LIB8ARCHIV) >> $(MISC)/$(LIB8ARCHIV:b).cmd
@@ -743,7 +618,7 @@ $(LIB8ARCHIV) : $(LIB8TARGET)
.IF "$(GUI)$(COM)"=="WNTGCC"
@+-$(RM) $(MISC)/$(LIB8ARCHIV:b).cmd
@+echo $(LIBMGR) $(LIB8FLAGS) $(LIBFLAGS) $(LIB8ARCHIV) `cat $(LIB8TARGET) | sed s#'^'$(ROUT)#$(PRJ)/$(ROUT)#g` > $(MISC)/$(LIB8ARCHIV:b).cmd
- @+echo ranlib $(LIB8ARCHIV) >> $(MISC)/$(LIB8ARCHIV:b).cmd
+ @+echo $(RANLIB) $(LIB8ARCHIV) >> $(MISC)/$(LIB8ARCHIV:b).cmd
.IF "$(VERBOSE)" == "TRUE"
@cat $(MISC)/$(LIB8ARCHIV:b).cmd
.ENDIF
@@ -776,17 +651,6 @@ $(LIB8TARGET) : $(LIB8FILES) \
@nm `cat $(LIB8TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(@:d)$(@:b).dump
.ENDIF
-.ELIF "$(GUI)"=="OS2"
- $(COMMAND_ECHO)$(LIBMGR) $(LIBFLAGS) $@ $(LIB8FILES) $(LIB8OBJFILES)
- @+-$(RM) $(@:s/.lib/.lin/)
-.IF "$(LIB8OBJFILES)"!=""
- @+$(TYPE) $(mktmp $(LIB8OBJFILES)) > $(null,$(LIB8OBJFILES) $(NULLDEV) $(@:s/.lib/.lin/))
-.ENDIF # "$(LIB8OBJFILES)"!=""
-.IF "$(LIB8FILES)"!=""
- @-$(TYPE) $(foreach,i,$(LIB8FILES) $(i:s/.lib/.lin/)) >> $(@:s/.lib/.lin/)
-.ENDIF # "$(LIB8FILES)"!=""
- @+$(ECHONL)
-
.ELSE # "$(GUI)"=="UNX"
.IF "$(GUI)"=="WNT"
.IF "$(COM)"=="GCC"
@@ -824,12 +688,6 @@ $(LIB9ARCHIV) : $(LIB9TARGET)
@@-$(RM) $@
.IF "$(GUI)"=="UNX"
@-$(RM) $(MISC)/$(LIB9ARCHIV:b).cmd
-.IF "$(OS)" =="HPUX_FRAG_HR"
- @-$(RM) $(MISC)/$(LIB9ARCHIV:b)_closetempl.cmd
- @echo $(LINK) +inst_close -c `cat $(LIB9TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(MISC)/$(LIB9ARCHIV:b)_closetempl.cmd
- @cat $(MISC)/$(LIB9ARCHIV:b)_closetempl.cmd
- @+source $(MISC)/$(LIB9ARCHIV:b)_closetempl.cmd
-.ENDIF
@echo $(LIBMGR) $(LIB9FLAGS) $(LIBFLAGS) $(LIB9ARCHIV) `cat $(LIB9TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(MISC)/$(LIB9ARCHIV:b).cmd
.IF "$(OS)$(COM)"=="NETBSDGCC"
@echo ranlib $(LIB9ARCHIV) >> $(MISC)/$(LIB9ARCHIV:b).cmd
@@ -845,7 +703,7 @@ $(LIB9ARCHIV) : $(LIB9TARGET)
.IF "$(GUI)$(COM)"=="WNTGCC"
@+-$(RM) $(MISC)/$(LIB9ARCHIV:b).cmd
@+echo $(LIBMGR) $(LIB9FLAGS) $(LIBFLAGS) $(LIB9ARCHIV) `cat $(LIB9TARGET) | sed s#'^'$(ROUT)#$(PRJ)/$(ROUT)#g` > $(MISC)/$(LIB9ARCHIV:b).cmd
- @+echo ranlib $(LIB9ARCHIV) >> $(MISC)/$(LIB9ARCHIV:b).cmd
+ @+echo $(RANLIB) $(LIB9ARCHIV) >> $(MISC)/$(LIB9ARCHIV:b).cmd
.IF "$(VERBOSE)" == "TRUE"
@cat $(MISC)/$(LIB9ARCHIV:b).cmd
.ENDIF
@@ -878,17 +736,6 @@ $(LIB9TARGET) : $(LIB9FILES) \
@nm `cat $(LIB9TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(@:d)$(@:b).dump
.ENDIF
-.ELIF "$(GUI)"=="OS2"
- $(COMMAND_ECHO)$(LIBMGR) $(LIBFLAGS) $@ $(LIB9FILES) $(LIB9OBJFILES)
- @+-$(RM) $(@:s/.lib/.lin/)
-.IF "$(LIB9OBJFILES)"!=""
- @+$(TYPE) $(mktmp $(LIB9OBJFILES)) > $(null,$(LIB9OBJFILES) $(NULLDEV) $(@:s/.lib/.lin/))
-.ENDIF # "$(LIB9OBJFILES)"!=""
-.IF "$(LIB9FILES)"!=""
- @-$(TYPE) $(foreach,i,$(LIB9FILES) $(i:s/.lib/.lin/)) >> $(@:s/.lib/.lin/)
-.ENDIF # "$(LIB9FILES)"!=""
- @+$(ECHONL)
-
.ELSE # "$(GUI)"=="UNX"
.IF "$(GUI)"=="WNT"
.IF "$(COM)"=="GCC"
@@ -926,12 +773,6 @@ $(LIB10ARCHIV) : $(LIB10TARGET)
@@-$(RM) $@
.IF "$(GUI)"=="UNX"
@-$(RM) $(MISC)/$(LIB10ARCHIV:b).cmd
-.IF "$(OS)" =="HPUX_FRAG_HR"
- @-$(RM) $(MISC)/$(LIB10ARCHIV:b)_closetempl.cmd
- @echo $(LINK) +inst_close -c `cat $(LIB10TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(MISC)/$(LIB10ARCHIV:b)_closetempl.cmd
- @cat $(MISC)/$(LIB10ARCHIV:b)_closetempl.cmd
- @+source $(MISC)/$(LIB10ARCHIV:b)_closetempl.cmd
-.ENDIF
@echo $(LIBMGR) $(LIB10FLAGS) $(LIBFLAGS) $(LIB10ARCHIV) `cat $(LIB10TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(MISC)/$(LIB10ARCHIV:b).cmd
.IF "$(OS)$(COM)"=="NETBSDGCC"
@echo ranlib $(LIB10ARCHIV) >> $(MISC)/$(LIB10ARCHIV:b).cmd
@@ -980,17 +821,6 @@ $(LIB10TARGET) : $(LIB10FILES) \
@nm `cat $(LIB10TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(@:d)$(@:b).dump
.ENDIF
-.ELIF "$(GUI)"=="OS2"
- $(COMMAND_ECHO)$(LIBMGR) $(LIBFLAGS) $@ $(LIB10FILES) $(LIB10OBJFILES)
- @+-$(RM) $(@:s/.lib/.lin/)
-.IF "$(LIB10OBJFILES)"!=""
- @+$(TYPE) $(mktmp $(LIB10OBJFILES)) > $(null,$(LIB10OBJFILES) $(NULLDEV) $(@:s/.lib/.lin/))
-.ENDIF # "$(LIB10OBJFILES)"!=""
-.IF "$(LIB10FILES)"!=""
- @-$(TYPE) $(foreach,i,$(LIB10FILES) $(i:s/.lib/.lin/)) >> $(@:s/.lib/.lin/)
-.ENDIF # "$(LIB10FILES)"!=""
- @+$(ECHONL)
-
.ELSE # "$(GUI)"=="UNX"
.IF "$(GUI)"=="WNT"
.IF "$(COM)"=="GCC"
diff --git a/solenv/inc/_tg_rslb.mk b/solenv/inc/_tg_rslb.mk
index 561b4224e649..1edebb8a04df 100755
--- a/solenv/inc/_tg_rslb.mk
+++ b/solenv/inc/_tg_rslb.mk
@@ -13,12 +13,11 @@ $(RSC_MULTI1) : \
$(foreach,i,$(alllangiso) -lg$i \
$(null,$(rescharset_{$i}) $(default$(LANG_GUI)) $(rescharset_{$i})) \
-fs={$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(BIN))/$(RESLIB1NAME)$i.res} \
- $(foreach,j,$(subst,$(PRJ),$(SOLARSRC)/$(RSCDEFIMG)/$(PRJNAME) $(RESLIB1IMAGES)) -lip={$j}/$i \
+ $(foreach,j,$(subst,$(PRJ),$(SOLARDEFIMG)/$(PRJNAME) $(RESLIB1IMAGES)) -lip={$j}/$i \
-lip={$j} ) \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/res/$i -lip=$(SOLARSRC)/$(RSCDEFIMG)/res \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/$i -lip=$(SOLARSRC)/$(RSCDEFIMG) ) \
- -subMODULE=$(SOLARSRC)/$(RSCDEFIMG) \
- -subGLOBALRES=$(SOLARSRC)/$(RSCDEFIMG)/res \
+ -lip=$(SOLARDEFIMG)/res/$i -lip=$(SOLARDEFIMG)/res ) \
+ -subMODULE=$(SOLARDEFIMG) \
+ -subGLOBALRES=$(SOLARDEFIMG)/res \
-oil={$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(BIN))} \
-ft=$@ \
$(RSC1HEADER) $(RESLIB1SRSFILES) \
@@ -29,12 +28,11 @@ $(RSC_MULTI1) : \
$(foreach,i,$(alllangiso) -lg$i \
$(null,$(rescharset_{$i}) $(default$(LANG_GUI)) $(rescharset_{$i})) \
-fs={$(BIN)/$(RESLIB1NAME)$i.res} \
- $(foreach,j,$(subst,$(PRJ),$(SOLARSRC)/$(RSCDEFIMG)/$(PRJNAME) $(RESLIB1IMAGES)) -lip={$j}/$i \
+ $(foreach,j,$(subst,$(PRJ),$(SOLARDEFIMG)/$(PRJNAME) $(RESLIB1IMAGES)) -lip={$j}/$i \
-lip={$j} ) \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/res/$i -lip=$(SOLARSRC)/$(RSCDEFIMG)/res \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/$i -lip=$(SOLARSRC)/$(RSCDEFIMG) ) \
- -subMODULE=$(SOLARSRC)/$(RSCDEFIMG) \
- -subGLOBALRES=$(SOLARSRC)/$(RSCDEFIMG)/res \
+ -lip=$(SOLARDEFIMG)/res/$i -lip=$(SOLARDEFIMG)/res ) \
+ -subMODULE=$(SOLARDEFIMG) \
+ -subGLOBALRES=$(SOLARDEFIMG)/res \
-oil=$(BIN) \
-ft=$@ \
$(RSC1HEADER) $(RESLIB1SRSFILES) \
@@ -76,12 +74,11 @@ $(RSC_MULTI2) : \
$(foreach,i,$(alllangiso) -lg$i \
$(null,$(rescharset_{$i}) $(default$(LANG_GUI)) $(rescharset_{$i})) \
-fs={$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(BIN))/$(RESLIB2NAME)$i.res} \
- $(foreach,j,$(subst,$(PRJ),$(SOLARSRC)/$(RSCDEFIMG)/$(PRJNAME) $(RESLIB2IMAGES)) -lip={$j}/$i \
+ $(foreach,j,$(subst,$(PRJ),$(SOLARDEFIMG)/$(PRJNAME) $(RESLIB2IMAGES)) -lip={$j}/$i \
-lip={$j} ) \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/res/$i -lip=$(SOLARSRC)/$(RSCDEFIMG)/res \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/$i -lip=$(SOLARSRC)/$(RSCDEFIMG) ) \
- -subMODULE=$(SOLARSRC)/$(RSCDEFIMG) \
- -subGLOBALRES=$(SOLARSRC)/$(RSCDEFIMG)/res \
+ -lip=$(SOLARDEFIMG)/res/$i -lip=$(SOLARDEFIMG)/res ) \
+ -subMODULE=$(SOLARDEFIMG) \
+ -subGLOBALRES=$(SOLARDEFIMG)/res \
-oil={$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(BIN))} \
-ft=$@ \
$(RSC2HEADER) $(RESLIB2SRSFILES) \
@@ -92,12 +89,11 @@ $(RSC_MULTI2) : \
$(foreach,i,$(alllangiso) -lg$i \
$(null,$(rescharset_{$i}) $(default$(LANG_GUI)) $(rescharset_{$i})) \
-fs={$(BIN)/$(RESLIB2NAME)$i.res} \
- $(foreach,j,$(subst,$(PRJ),$(SOLARSRC)/$(RSCDEFIMG)/$(PRJNAME) $(RESLIB2IMAGES)) -lip={$j}/$i \
+ $(foreach,j,$(subst,$(PRJ),$(SOLARDEFIMG)/$(PRJNAME) $(RESLIB2IMAGES)) -lip={$j}/$i \
-lip={$j} ) \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/res/$i -lip=$(SOLARSRC)/$(RSCDEFIMG)/res \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/$i -lip=$(SOLARSRC)/$(RSCDEFIMG) ) \
- -subMODULE=$(SOLARSRC)/$(RSCDEFIMG) \
- -subGLOBALRES=$(SOLARSRC)/$(RSCDEFIMG)/res \
+ -lip=$(SOLARDEFIMG)/res/$i -lip=$(SOLARDEFIMG)/res ) \
+ -subMODULE=$(SOLARDEFIMG) \
+ -subGLOBALRES=$(SOLARDEFIMG)/res \
-oil=$(BIN) \
-ft=$@ \
$(RSC2HEADER) $(RESLIB2SRSFILES) \
@@ -139,12 +135,11 @@ $(RSC_MULTI3) : \
$(foreach,i,$(alllangiso) -lg$i \
$(null,$(rescharset_{$i}) $(default$(LANG_GUI)) $(rescharset_{$i})) \
-fs={$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(BIN))/$(RESLIB3NAME)$i.res} \
- $(foreach,j,$(subst,$(PRJ),$(SOLARSRC)/$(RSCDEFIMG)/$(PRJNAME) $(RESLIB3IMAGES)) -lip={$j}/$i \
+ $(foreach,j,$(subst,$(PRJ),$(SOLARDEFIMG)/$(PRJNAME) $(RESLIB3IMAGES)) -lip={$j}/$i \
-lip={$j} ) \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/res/$i -lip=$(SOLARSRC)/$(RSCDEFIMG)/res \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/$i -lip=$(SOLARSRC)/$(RSCDEFIMG) ) \
- -subMODULE=$(SOLARSRC)/$(RSCDEFIMG) \
- -subGLOBALRES=$(SOLARSRC)/$(RSCDEFIMG)/res \
+ -lip=$(SOLARDEFIMG)/res/$i -lip=$(SOLARDEFIMG)/res ) \
+ -subMODULE=$(SOLARDEFIMG) \
+ -subGLOBALRES=$(SOLARDEFIMG)/res \
-oil={$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(BIN))} \
-ft=$@ \
$(RSC3HEADER) $(RESLIB3SRSFILES) \
@@ -155,12 +150,11 @@ $(RSC_MULTI3) : \
$(foreach,i,$(alllangiso) -lg$i \
$(null,$(rescharset_{$i}) $(default$(LANG_GUI)) $(rescharset_{$i})) \
-fs={$(BIN)/$(RESLIB3NAME)$i.res} \
- $(foreach,j,$(subst,$(PRJ),$(SOLARSRC)/$(RSCDEFIMG)/$(PRJNAME) $(RESLIB3IMAGES)) -lip={$j}/$i \
+ $(foreach,j,$(subst,$(PRJ),$(SOLARDEFIMG)/$(PRJNAME) $(RESLIB3IMAGES)) -lip={$j}/$i \
-lip={$j} ) \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/res/$i -lip=$(SOLARSRC)/$(RSCDEFIMG)/res \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/$i -lip=$(SOLARSRC)/$(RSCDEFIMG) ) \
- -subMODULE=$(SOLARSRC)/$(RSCDEFIMG) \
- -subGLOBALRES=$(SOLARSRC)/$(RSCDEFIMG)/res \
+ -lip=$(SOLARDEFIMG)/res/$i -lip=$(SOLARDEFIMG)/res ) \
+ -subMODULE=$(SOLARDEFIMG) \
+ -subGLOBALRES=$(SOLARDEFIMG)/res \
-oil=$(BIN) \
-ft=$@ \
$(RSC3HEADER) $(RESLIB3SRSFILES) \
@@ -202,12 +196,11 @@ $(RSC_MULTI4) : \
$(foreach,i,$(alllangiso) -lg$i \
$(null,$(rescharset_{$i}) $(default$(LANG_GUI)) $(rescharset_{$i})) \
-fs={$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(BIN))/$(RESLIB4NAME)$i.res} \
- $(foreach,j,$(subst,$(PRJ),$(SOLARSRC)/$(RSCDEFIMG)/$(PRJNAME) $(RESLIB4IMAGES)) -lip={$j}/$i \
+ $(foreach,j,$(subst,$(PRJ),$(SOLARDEFIMG)/$(PRJNAME) $(RESLIB4IMAGES)) -lip={$j}/$i \
-lip={$j} ) \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/res/$i -lip=$(SOLARSRC)/$(RSCDEFIMG)/res \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/$i -lip=$(SOLARSRC)/$(RSCDEFIMG) ) \
- -subMODULE=$(SOLARSRC)/$(RSCDEFIMG) \
- -subGLOBALRES=$(SOLARSRC)/$(RSCDEFIMG)/res \
+ -lip=$(SOLARDEFIMG)/res/$i -lip=$(SOLARDEFIMG)/res ) \
+ -subMODULE=$(SOLARDEFIMG) \
+ -subGLOBALRES=$(SOLARDEFIMG)/res \
-oil={$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(BIN))} \
-ft=$@ \
$(RSC4HEADER) $(RESLIB4SRSFILES) \
@@ -218,12 +211,11 @@ $(RSC_MULTI4) : \
$(foreach,i,$(alllangiso) -lg$i \
$(null,$(rescharset_{$i}) $(default$(LANG_GUI)) $(rescharset_{$i})) \
-fs={$(BIN)/$(RESLIB4NAME)$i.res} \
- $(foreach,j,$(subst,$(PRJ),$(SOLARSRC)/$(RSCDEFIMG)/$(PRJNAME) $(RESLIB4IMAGES)) -lip={$j}/$i \
+ $(foreach,j,$(subst,$(PRJ),$(SOLARDEFIMG)/$(PRJNAME) $(RESLIB4IMAGES)) -lip={$j}/$i \
-lip={$j} ) \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/res/$i -lip=$(SOLARSRC)/$(RSCDEFIMG)/res \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/$i -lip=$(SOLARSRC)/$(RSCDEFIMG) ) \
- -subMODULE=$(SOLARSRC)/$(RSCDEFIMG) \
- -subGLOBALRES=$(SOLARSRC)/$(RSCDEFIMG)/res \
+ -lip=$(SOLARDEFIMG)/res/$i -lip=$(SOLARDEFIMG)/res ) \
+ -subMODULE=$(SOLARDEFIMG) \
+ -subGLOBALRES=$(SOLARDEFIMG)/res \
-oil=$(BIN) \
-ft=$@ \
$(RSC4HEADER) $(RESLIB4SRSFILES) \
@@ -265,12 +257,11 @@ $(RSC_MULTI5) : \
$(foreach,i,$(alllangiso) -lg$i \
$(null,$(rescharset_{$i}) $(default$(LANG_GUI)) $(rescharset_{$i})) \
-fs={$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(BIN))/$(RESLIB5NAME)$i.res} \
- $(foreach,j,$(subst,$(PRJ),$(SOLARSRC)/$(RSCDEFIMG)/$(PRJNAME) $(RESLIB5IMAGES)) -lip={$j}/$i \
+ $(foreach,j,$(subst,$(PRJ),$(SOLARDEFIMG)/$(PRJNAME) $(RESLIB5IMAGES)) -lip={$j}/$i \
-lip={$j} ) \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/res/$i -lip=$(SOLARSRC)/$(RSCDEFIMG)/res \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/$i -lip=$(SOLARSRC)/$(RSCDEFIMG) ) \
- -subMODULE=$(SOLARSRC)/$(RSCDEFIMG) \
- -subGLOBALRES=$(SOLARSRC)/$(RSCDEFIMG)/res \
+ -lip=$(SOLARDEFIMG)/res/$i -lip=$(SOLARDEFIMG)/res ) \
+ -subMODULE=$(SOLARDEFIMG) \
+ -subGLOBALRES=$(SOLARDEFIMG)/res \
-oil={$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(BIN))} \
-ft=$@ \
$(RSC5HEADER) $(RESLIB5SRSFILES) \
@@ -281,12 +272,11 @@ $(RSC_MULTI5) : \
$(foreach,i,$(alllangiso) -lg$i \
$(null,$(rescharset_{$i}) $(default$(LANG_GUI)) $(rescharset_{$i})) \
-fs={$(BIN)/$(RESLIB5NAME)$i.res} \
- $(foreach,j,$(subst,$(PRJ),$(SOLARSRC)/$(RSCDEFIMG)/$(PRJNAME) $(RESLIB5IMAGES)) -lip={$j}/$i \
+ $(foreach,j,$(subst,$(PRJ),$(SOLARDEFIMG)/$(PRJNAME) $(RESLIB5IMAGES)) -lip={$j}/$i \
-lip={$j} ) \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/res/$i -lip=$(SOLARSRC)/$(RSCDEFIMG)/res \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/$i -lip=$(SOLARSRC)/$(RSCDEFIMG) ) \
- -subMODULE=$(SOLARSRC)/$(RSCDEFIMG) \
- -subGLOBALRES=$(SOLARSRC)/$(RSCDEFIMG)/res \
+ -lip=$(SOLARDEFIMG)/res/$i -lip=$(SOLARDEFIMG)/res ) \
+ -subMODULE=$(SOLARDEFIMG) \
+ -subGLOBALRES=$(SOLARDEFIMG)/res \
-oil=$(BIN) \
-ft=$@ \
$(RSC5HEADER) $(RESLIB5SRSFILES) \
@@ -328,12 +318,11 @@ $(RSC_MULTI6) : \
$(foreach,i,$(alllangiso) -lg$i \
$(null,$(rescharset_{$i}) $(default$(LANG_GUI)) $(rescharset_{$i})) \
-fs={$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(BIN))/$(RESLIB6NAME)$i.res} \
- $(foreach,j,$(subst,$(PRJ),$(SOLARSRC)/$(RSCDEFIMG)/$(PRJNAME) $(RESLIB6IMAGES)) -lip={$j}/$i \
+ $(foreach,j,$(subst,$(PRJ),$(SOLARDEFIMG)/$(PRJNAME) $(RESLIB6IMAGES)) -lip={$j}/$i \
-lip={$j} ) \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/res/$i -lip=$(SOLARSRC)/$(RSCDEFIMG)/res \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/$i -lip=$(SOLARSRC)/$(RSCDEFIMG) ) \
- -subMODULE=$(SOLARSRC)/$(RSCDEFIMG) \
- -subGLOBALRES=$(SOLARSRC)/$(RSCDEFIMG)/res \
+ -lip=$(SOLARDEFIMG)/res/$i -lip=$(SOLARDEFIMG)/res ) \
+ -subMODULE=$(SOLARDEFIMG) \
+ -subGLOBALRES=$(SOLARDEFIMG)/res \
-oil={$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(BIN))} \
-ft=$@ \
$(RSC6HEADER) $(RESLIB6SRSFILES) \
@@ -344,12 +333,11 @@ $(RSC_MULTI6) : \
$(foreach,i,$(alllangiso) -lg$i \
$(null,$(rescharset_{$i}) $(default$(LANG_GUI)) $(rescharset_{$i})) \
-fs={$(BIN)/$(RESLIB6NAME)$i.res} \
- $(foreach,j,$(subst,$(PRJ),$(SOLARSRC)/$(RSCDEFIMG)/$(PRJNAME) $(RESLIB6IMAGES)) -lip={$j}/$i \
+ $(foreach,j,$(subst,$(PRJ),$(SOLARDEFIMG)/$(PRJNAME) $(RESLIB6IMAGES)) -lip={$j}/$i \
-lip={$j} ) \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/res/$i -lip=$(SOLARSRC)/$(RSCDEFIMG)/res \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/$i -lip=$(SOLARSRC)/$(RSCDEFIMG) ) \
- -subMODULE=$(SOLARSRC)/$(RSCDEFIMG) \
- -subGLOBALRES=$(SOLARSRC)/$(RSCDEFIMG)/res \
+ -lip=$(SOLARDEFIMG)/res/$i -lip=$(SOLARDEFIMG)/res ) \
+ -subMODULE=$(SOLARDEFIMG) \
+ -subGLOBALRES=$(SOLARDEFIMG)/res \
-oil=$(BIN) \
-ft=$@ \
$(RSC6HEADER) $(RESLIB6SRSFILES) \
@@ -391,12 +379,11 @@ $(RSC_MULTI7) : \
$(foreach,i,$(alllangiso) -lg$i \
$(null,$(rescharset_{$i}) $(default$(LANG_GUI)) $(rescharset_{$i})) \
-fs={$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(BIN))/$(RESLIB7NAME)$i.res} \
- $(foreach,j,$(subst,$(PRJ),$(SOLARSRC)/$(RSCDEFIMG)/$(PRJNAME) $(RESLIB7IMAGES)) -lip={$j}/$i \
+ $(foreach,j,$(subst,$(PRJ),$(SOLARDEFIMG)/$(PRJNAME) $(RESLIB7IMAGES)) -lip={$j}/$i \
-lip={$j} ) \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/res/$i -lip=$(SOLARSRC)/$(RSCDEFIMG)/res \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/$i -lip=$(SOLARSRC)/$(RSCDEFIMG) ) \
- -subMODULE=$(SOLARSRC)/$(RSCDEFIMG) \
- -subGLOBALRES=$(SOLARSRC)/$(RSCDEFIMG)/res \
+ -lip=$(SOLARDEFIMG)/res/$i -lip=$(SOLARDEFIMG)/res ) \
+ -subMODULE=$(SOLARDEFIMG) \
+ -subGLOBALRES=$(SOLARDEFIMG)/res \
-oil={$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(BIN))} \
-ft=$@ \
$(RSC7HEADER) $(RESLIB7SRSFILES) \
@@ -407,12 +394,11 @@ $(RSC_MULTI7) : \
$(foreach,i,$(alllangiso) -lg$i \
$(null,$(rescharset_{$i}) $(default$(LANG_GUI)) $(rescharset_{$i})) \
-fs={$(BIN)/$(RESLIB7NAME)$i.res} \
- $(foreach,j,$(subst,$(PRJ),$(SOLARSRC)/$(RSCDEFIMG)/$(PRJNAME) $(RESLIB7IMAGES)) -lip={$j}/$i \
+ $(foreach,j,$(subst,$(PRJ),$(SOLARDEFIMG)/$(PRJNAME) $(RESLIB7IMAGES)) -lip={$j}/$i \
-lip={$j} ) \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/res/$i -lip=$(SOLARSRC)/$(RSCDEFIMG)/res \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/$i -lip=$(SOLARSRC)/$(RSCDEFIMG) ) \
- -subMODULE=$(SOLARSRC)/$(RSCDEFIMG) \
- -subGLOBALRES=$(SOLARSRC)/$(RSCDEFIMG)/res \
+ -lip=$(SOLARDEFIMG)/res/$i -lip=$(SOLARDEFIMG)/res ) \
+ -subMODULE=$(SOLARDEFIMG) \
+ -subGLOBALRES=$(SOLARDEFIMG)/res \
-oil=$(BIN) \
-ft=$@ \
$(RSC7HEADER) $(RESLIB7SRSFILES) \
@@ -454,12 +440,11 @@ $(RSC_MULTI8) : \
$(foreach,i,$(alllangiso) -lg$i \
$(null,$(rescharset_{$i}) $(default$(LANG_GUI)) $(rescharset_{$i})) \
-fs={$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(BIN))/$(RESLIB8NAME)$i.res} \
- $(foreach,j,$(subst,$(PRJ),$(SOLARSRC)/$(RSCDEFIMG)/$(PRJNAME) $(RESLIB8IMAGES)) -lip={$j}/$i \
+ $(foreach,j,$(subst,$(PRJ),$(SOLARDEFIMG)/$(PRJNAME) $(RESLIB8IMAGES)) -lip={$j}/$i \
-lip={$j} ) \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/res/$i -lip=$(SOLARSRC)/$(RSCDEFIMG)/res \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/$i -lip=$(SOLARSRC)/$(RSCDEFIMG) ) \
- -subMODULE=$(SOLARSRC)/$(RSCDEFIMG) \
- -subGLOBALRES=$(SOLARSRC)/$(RSCDEFIMG)/res \
+ -lip=$(SOLARDEFIMG)/res/$i -lip=$(SOLARDEFIMG)/res ) \
+ -subMODULE=$(SOLARDEFIMG) \
+ -subGLOBALRES=$(SOLARDEFIMG)/res \
-oil={$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(BIN))} \
-ft=$@ \
$(RSC8HEADER) $(RESLIB8SRSFILES) \
@@ -470,12 +455,11 @@ $(RSC_MULTI8) : \
$(foreach,i,$(alllangiso) -lg$i \
$(null,$(rescharset_{$i}) $(default$(LANG_GUI)) $(rescharset_{$i})) \
-fs={$(BIN)/$(RESLIB8NAME)$i.res} \
- $(foreach,j,$(subst,$(PRJ),$(SOLARSRC)/$(RSCDEFIMG)/$(PRJNAME) $(RESLIB8IMAGES)) -lip={$j}/$i \
+ $(foreach,j,$(subst,$(PRJ),$(SOLARDEFIMG)/$(PRJNAME) $(RESLIB8IMAGES)) -lip={$j}/$i \
-lip={$j} ) \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/res/$i -lip=$(SOLARSRC)/$(RSCDEFIMG)/res \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/$i -lip=$(SOLARSRC)/$(RSCDEFIMG) ) \
- -subMODULE=$(SOLARSRC)/$(RSCDEFIMG) \
- -subGLOBALRES=$(SOLARSRC)/$(RSCDEFIMG)/res \
+ -lip=$(SOLARDEFIMG)/res/$i -lip=$(SOLARDEFIMG)/res ) \
+ -subMODULE=$(SOLARDEFIMG) \
+ -subGLOBALRES=$(SOLARDEFIMG)/res \
-oil=$(BIN) \
-ft=$@ \
$(RSC8HEADER) $(RESLIB8SRSFILES) \
@@ -517,12 +501,11 @@ $(RSC_MULTI9) : \
$(foreach,i,$(alllangiso) -lg$i \
$(null,$(rescharset_{$i}) $(default$(LANG_GUI)) $(rescharset_{$i})) \
-fs={$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(BIN))/$(RESLIB9NAME)$i.res} \
- $(foreach,j,$(subst,$(PRJ),$(SOLARSRC)/$(RSCDEFIMG)/$(PRJNAME) $(RESLIB9IMAGES)) -lip={$j}/$i \
+ $(foreach,j,$(subst,$(PRJ),$(SOLARDEFIMG)/$(PRJNAME) $(RESLIB9IMAGES)) -lip={$j}/$i \
-lip={$j} ) \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/res/$i -lip=$(SOLARSRC)/$(RSCDEFIMG)/res \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/$i -lip=$(SOLARSRC)/$(RSCDEFIMG) ) \
- -subMODULE=$(SOLARSRC)/$(RSCDEFIMG) \
- -subGLOBALRES=$(SOLARSRC)/$(RSCDEFIMG)/res \
+ -lip=$(SOLARDEFIMG)/res/$i -lip=$(SOLARDEFIMG)/res ) \
+ -subMODULE=$(SOLARDEFIMG) \
+ -subGLOBALRES=$(SOLARDEFIMG)/res \
-oil={$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(BIN))} \
-ft=$@ \
$(RSC9HEADER) $(RESLIB9SRSFILES) \
@@ -533,12 +516,11 @@ $(RSC_MULTI9) : \
$(foreach,i,$(alllangiso) -lg$i \
$(null,$(rescharset_{$i}) $(default$(LANG_GUI)) $(rescharset_{$i})) \
-fs={$(BIN)/$(RESLIB9NAME)$i.res} \
- $(foreach,j,$(subst,$(PRJ),$(SOLARSRC)/$(RSCDEFIMG)/$(PRJNAME) $(RESLIB9IMAGES)) -lip={$j}/$i \
+ $(foreach,j,$(subst,$(PRJ),$(SOLARDEFIMG)/$(PRJNAME) $(RESLIB9IMAGES)) -lip={$j}/$i \
-lip={$j} ) \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/res/$i -lip=$(SOLARSRC)/$(RSCDEFIMG)/res \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/$i -lip=$(SOLARSRC)/$(RSCDEFIMG) ) \
- -subMODULE=$(SOLARSRC)/$(RSCDEFIMG) \
- -subGLOBALRES=$(SOLARSRC)/$(RSCDEFIMG)/res \
+ -lip=$(SOLARDEFIMG)/res/$i -lip=$(SOLARDEFIMG)/res ) \
+ -subMODULE=$(SOLARDEFIMG) \
+ -subGLOBALRES=$(SOLARDEFIMG)/res \
-oil=$(BIN) \
-ft=$@ \
$(RSC9HEADER) $(RESLIB9SRSFILES) \
@@ -580,12 +562,11 @@ $(RSC_MULTI10) : \
$(foreach,i,$(alllangiso) -lg$i \
$(null,$(rescharset_{$i}) $(default$(LANG_GUI)) $(rescharset_{$i})) \
-fs={$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(BIN))/$(RESLIB10NAME)$i.res} \
- $(foreach,j,$(subst,$(PRJ),$(SOLARSRC)/$(RSCDEFIMG)/$(PRJNAME) $(RESLIB10IMAGES)) -lip={$j}/$i \
+ $(foreach,j,$(subst,$(PRJ),$(SOLARDEFIMG)/$(PRJNAME) $(RESLIB10IMAGES)) -lip={$j}/$i \
-lip={$j} ) \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/res/$i -lip=$(SOLARSRC)/$(RSCDEFIMG)/res \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/$i -lip=$(SOLARSRC)/$(RSCDEFIMG) ) \
- -subMODULE=$(SOLARSRC)/$(RSCDEFIMG) \
- -subGLOBALRES=$(SOLARSRC)/$(RSCDEFIMG)/res \
+ -lip=$(SOLARDEFIMG)/res/$i -lip=$(SOLARDEFIMG)/res ) \
+ -subMODULE=$(SOLARDEFIMG) \
+ -subGLOBALRES=$(SOLARDEFIMG)/res \
-oil={$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(BIN))} \
-ft=$@ \
$(RSC10HEADER) $(RESLIB10SRSFILES) \
@@ -596,12 +577,11 @@ $(RSC_MULTI10) : \
$(foreach,i,$(alllangiso) -lg$i \
$(null,$(rescharset_{$i}) $(default$(LANG_GUI)) $(rescharset_{$i})) \
-fs={$(BIN)/$(RESLIB10NAME)$i.res} \
- $(foreach,j,$(subst,$(PRJ),$(SOLARSRC)/$(RSCDEFIMG)/$(PRJNAME) $(RESLIB10IMAGES)) -lip={$j}/$i \
+ $(foreach,j,$(subst,$(PRJ),$(SOLARDEFIMG)/$(PRJNAME) $(RESLIB10IMAGES)) -lip={$j}/$i \
-lip={$j} ) \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/res/$i -lip=$(SOLARSRC)/$(RSCDEFIMG)/res \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/$i -lip=$(SOLARSRC)/$(RSCDEFIMG) ) \
- -subMODULE=$(SOLARSRC)/$(RSCDEFIMG) \
- -subGLOBALRES=$(SOLARSRC)/$(RSCDEFIMG)/res \
+ -lip=$(SOLARDEFIMG)/res/$i -lip=$(SOLARDEFIMG)/res ) \
+ -subMODULE=$(SOLARDEFIMG) \
+ -subGLOBALRES=$(SOLARDEFIMG)/res \
-oil=$(BIN) \
-ft=$@ \
$(RSC10HEADER) $(RESLIB10SRSFILES) \
diff --git a/solenv/inc/_tg_shl.mk b/solenv/inc/_tg_shl.mk
index ac930bdd8a08..4f1d099dbdf8 100644
--- a/solenv/inc/_tg_shl.mk
+++ b/solenv/inc/_tg_shl.mk
@@ -2,10 +2,6 @@
.IF "$(SHL1TARGETN)"!=""
-.IF "$(OS)"=="AIX"
-SHL1STDLIBS=
-.ENDIF
-
.IF "$(SHLLINKARCONLY)" != ""
SHL1STDLIBS=
STDSHL=
@@ -62,20 +58,23 @@ $(MISC)/$(SHL1VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL1VERSIO
.ENDIF
.IF "$(GUI)" != "UNX"
-.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)" == "WNT"
.IF "$(SHL1IMPLIB)" == ""
SHL1IMPLIB=i$(TARGET)_t1
.ENDIF # "$(SHL1IMPLIB)" == ""
.IF "$(COM)" != "GCC"
USE_1IMPLIB=-implib:$(LB)/$(SHL1IMPLIB).lib
-.ENDIF # "$(COM)" != "GCC"
SHL1IMPLIBN=$(LB)/$(SHL1IMPLIB).lib
+.ELSE
+SHL1IMPLIBN=$(LB)/lib$(SHL1IMPLIB).dll.a
+USE_1IMPLIB=-Wl,--out-implib=$(SHL1IMPLIBN)
+.ENDIF # "$(COM)" != "GCC"
ALLTAR : $(SHL1IMPLIBN)
.IF "$(USE_DEFFILE)"==""
USE_1IMPLIB_DEPS=$(LB)/$(SHL1IMPLIB).lib
.ENDIF # "$(USE_DEFFILE)"==""
-.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
+.ENDIF # "$(GUI)" == "WNT"
USE_SHL1DEF=$(SHL1DEF)
.ELSE # "$(GUI)" != "UNX"
USE_SHL1DEF=
@@ -100,7 +99,9 @@ $(USE_SHL1VERSIONMAP) .PHONY:
.ENDIF # "$(SHL1VERSIONMAP)"!=""
+.IF "$(OS)" != "AIX"
SHL1VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL1VERSIONMAP)
+.ENDIF
$(USE_SHL1VERSIONMAP): \
$(SHL1OBJS)\
@@ -137,7 +138,9 @@ $(USE_SHL1VERSIONMAP) :
#and now for the plain non-generic way...
.IF "$(SHL1VERSIONMAP)"!=""
USE_SHL1VERSIONMAP=$(MISC)/$(SHL1VERSIONMAP:b)_$(SHL1TARGET)$(SHL1VERSIONMAP:e)
+.IF "$(OS)" != "AIX"
SHL1VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL1VERSIONMAP)
+.ENDIF
.IF "$(OS)"=="MACOSX"
$(USE_SHL1VERSIONMAP): $(SHL1OBJS) $(SHL1LIBS)
@@ -185,7 +188,7 @@ $(USE_SHL1VERSIONMAP) .ERRREMOVE: $(SHL1VERSIONMAP)
.ENDIF # "$(GUI)" != "UNX"
.IF "$(UNIXVERSIONNAMES)"!=""
-.IF "$(OS)"!="MACOSX"
+.IF "$(OS)"!="MACOSX" && "$(OS)"!="IOS" && "$(OS)"!="AIX"
.IF "$(GUI)"=="UNX"
SHL1SONAME=\"$(SONAME_SWITCH)$(SHL1TARGETN:f)\"
.ENDIF # "$(GUI)"!="UNX"
@@ -208,7 +211,7 @@ SHL1LINKRESO*=$(MISC)/$(SHL1TARGET)_res.o
#.IF "$(SHL1TARGETN)"!=""
.IF "$(linkinc)"!=""
-.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(SHL1LIBS)"!=""
$(MISC)/$(SHL1TARGET)_linkinc.ls .PHONY:
@@-$(RM) $@
@@ -221,7 +224,7 @@ $(SHL1TARGETN) : $(LINKINCTARGETS)
.ELSE
.IF "$(SHL1USE_EXPORTS)"=="name"
-.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(COM)"!="GCC"
.IF "$(SHL1LIBS)"!=""
SHL1LINKLIST=$(MISC)/$(SHL1TARGET)_link.lst
@@ -238,20 +241,6 @@ $(MISC)/%linkinc.ls:
@echo . > $@
.ENDIF # "$(linkinc)"!=""
-.IF "$(GUI)" == "OS2"
-#21/02/2006 YD dll names must be 8.3, invoke fix script
-#check osl/os2/module.c/osl_loadModule()
-SHL1TARGET8=$(shell @fix_shl $(SHL1TARGET))
-.ENDIF
-
-.IF "$(GUI)" == "OS2"
-_SHL1IMP_ORD = $(SHL1STDLIBS:^"$(SOLARVERSION)/$(INPATH)/lib/") $(SHL1STDLIBS:^"$(LB)/")
-SHL1IMP_ORD = $(foreach,i,$(_SHL1IMP_ORD) $(shell @-ls $i))
-.ELSE
-SHL1IMP_ORD =
-.ENDIF
-
-
$(SHL1TARGETN) : \
$(SHL1OBJS)\
$(SHL1LIBS)\
@@ -260,7 +249,6 @@ $(SHL1TARGETN) : \
$(USE_SHL1VERSIONMAP)\
$(SHL1RES)\
$(SHL1DEPN) \
- $(SHL1IMP_ORD) \
$(SHL1LINKLIST)
@echo "Making: " $(@:f)
.IF "$(GUI)" == "WNT"
@@ -282,39 +270,69 @@ $(SHL1TARGETN) : \
@echo $(EMQ)#define INTERNAL_NAME $(SHL1TARGET:b) >> $(MISC)/$(SHL1DEFAULTRES:b).rc
@echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL1DEFAULTRES:b).rc
.ENDIF # "$(use_shl_versions)" != ""
- $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL1DEFAULTRES:b).rc
+.IF "$(RCFLAGSOUTRES)"!=""
+# rc, takes separate flag naming output file, source .rc file last
+ $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(RCFLAGSOUTRES)$(SHL1DEFAULTRES) $(MISC)/$(SHL1DEFAULTRES:b).rc
+.ELSE
+# windres, just takes output file last
+ $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL1DEFAULTRES:b).rc $(SHL1DEFAULTRES)
+.ENDIF
.ENDIF # "$(SHL1DEFAULTRES)"!=""
.IF "$(SHL1ALLRES)"!=""
$(COMMAND_ECHO)$(TYPE) $(SHL1ALLRES) > $(SHL1LINKRES)
.IF "$(COM)"=="GCC"
- windres $(SHL1LINKRES) $(SHL1LINKRESO)
+ $(WINDRES) $(SHL1LINKRES) $(SHL1LINKRESO)
.ENDIF # "$(COM)"=="GCC"
.ENDIF # "$(SHL1ALLRES)"!=""
.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
- @echo dlltool --dllname $(SHL1TARGET)$(DLLPOST) \
- --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_1.cmd
+# GNU ld since 2.17 supports @cmdfile syntax
+.IF "$(USE_DEFFILE)"!=""
+ @$(COMMAND_ECHO)$(LINK) @$(mktmp $(strip \
+ $(SHL1LINKFLAGS) \
+ $(LINKFLAGSSHL) \
+ $(SOLARLIB) \
+ $(MINGWSSTDOBJ) \
+ -o $@ \
+ -Wl,-Map,$(MISC)/$(@:b).map \
+ $(SHL1DEF) \
+ $(USE_1IMPLIB) \
+ $(STDOBJ) \
+ $(SHL1VERSIONOBJ) $(SHL1OBJS) \
+ $(subst,$(ROUT),$(PRJ)/$(ROUT) $(shell cat /dev/null $(SHL1LIBS))) \
+ -Wl,--exclude-libs,ALL,--start-group $(SHL1STDLIBS) -Wl,--end-group \
+ $(SHL1STDSHL) $(STDSHL1) \
+ $(SHL1LINKRESO) \
+ ))
+.ELSE
@noop $(assign ALL1OBJLIST:=$(STDOBJ) $(SHL1OBJS) $(SHL1LINKRESO) $(shell $(TYPE) /dev/null $(SHL1LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g))
.IF "$(DEFLIB1NAME)"!="" # do not have to include objs
@noop $(assign DEF1OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB1NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g))
@noop $(foreach,i,$(DEF1OBJLIST) $(assign ALL1OBJLIST:=$(ALL1OBJLIST:s?$i??)))
.ENDIF # "$(DEFLIB1NAME)"!=""
- @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_1.cmd
-.IF "$(SHL1DEF)"!=""
- @echo --input-def $(SHL1DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_1.cmd
-.ELSE
- @echo $(SHL1VERSIONOBJ) $(SHL1DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_1.cmd
-.ENDIF
- @echo $(ALL1OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_1.cmd
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \
- $(STDOBJ) $(SHL1VERSIONOBJ) $(SHL1DESCRIPTIONOBJ) $(SHL1OBJS) $(SHL1LINKRESO) \
- `$(TYPE) /dev/null $(SHL1LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
+ $(COMMAND_ECHO)$(DLLTOOL) @@(mktmp \
+ --dllname $(SHL1TARGET)$(DLLPOST) \
+ --kill-at \
+ --output-exp $(MISC)/$(@:b)_exp.o \
+ $(SHL1VERSIONOBJ) \
+ @(ALL1OBJLIST)
+ )
+ $(COMMAND_ECHO)$(LINK) @$(mktmp $(strip \
+ $(SHL1LINKFLAGS) \
+ $(LINKFLAGSSHL) \
+ $(SOLARLIB) \
+ $(MINGWSSTDOBJ) \
+ -o $@ \
+ -Wl,-Map,$(MISC)/$(@:b).map \
+ $(MISC)/$(@:b)_exp.o \
+ $(USE_1IMPLIB) \
+ $(STDOBJ) \
+ $(SHL1VERSIONOBJ) $(SHL1OBJS) \
+ $(subst,$(ROUT),$(PRJ)/$(ROUT) $(shell cat /dev/null $(SHL1LIBS))) \
-Wl,--exclude-libs,ALL,--start-group $(SHL1STDLIBS) -Wl,--end-group \
- $(SHL1STDSHL) $(STDSHL1) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \
- -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_1.cmd
- .IF "$(VERBOSE)" == "TRUE"
- @$(TYPE) $(MISC)/$(TARGET).$(@:b)_1.cmd
- .ENDIF
- @+source $(MISC)/$(TARGET).$(@:b)_1.cmd
+ $(SHL1STDSHL) $(STDSHL1) \
+ $(SHL1LINKRESO) \
+ ))
+.ENDIF
.ELSE
.IF "$(linkinc)"==""
.IF "$(SHL1USE_EXPORTS)"!="name"
@@ -429,7 +447,7 @@ $(SHL1TARGETN) : \
@echo $(STDSLO) $(SHL1OBJS:s/.obj/.o/) \
$(SHL1VERSIONOBJ) \
`cat /dev/null $(SHL1LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list
- @echo -n $(SHL1LINKER) $(SHL1LINKFLAGS) $(SHL1VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \
+ @/bin/echo -n $(SHL1LINKER) $(SHL1LINKFLAGS) $(SHL1VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \
$(SHL1STDLIBS) $(SHL1ARCHIVES) $(SHL1STDSHL) $(STDSHL1) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_1.cmd
@$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
`cat $(MISC)/$(TARGET).$(@:b)_1.cmd` \
@@ -449,6 +467,9 @@ $(SHL1TARGETN) : \
$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS1) $(SHL1TARGETN)
.ENDIF # "$(SHL1NOCHECK)"!=""
.ENDIF
+.ELIF "$(OS)"=="IOS"
+ $(COMMAND_ECHO)$(AR) $(LIB1FLAGS) $(LIBFLAGS) $@ $(subst,.obj,.o $(SHL1OBJS)) $(shell cat /dev/null $(LIB1TARGET) $(SHL1LIBS) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g)
+ $(COMMAND_ECHO)$(RANLIB) $@
.ELSE # "$(OS)"=="MACOSX"
@-$(RM) $(MISC)/$(TARGET).$(@:b)_1.cmd
@echo $(SHL1LINKER) $(SHL1LINKFLAGS) $(SHL1SONAME) $(LINKFLAGSSHL) $(SHL1VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL1OBJS:s/.obj/.o/) \
@@ -471,7 +492,7 @@ $(SHL1TARGETN) : \
.ENDIF # "$(SHL1NOCHECK)"!=""
.ENDIF # "$(UPDATER)"=="YES"
.ENDIF # "$(OS)"=="MACOSX"
-.IF "$(UNIXVERSIONNAMES)"!=""
+.IF "$(UNIXVERSIONNAMES)"!="" && "$(OS)"!="IOS"
$(COMMAND_ECHO)$(RM) $(LB)/$(SHL1TARGETN:b)
$(COMMAND_ECHO)cd $(LB) && ln -s $(SHL1TARGETN:f) $(SHL1TARGETN:b)
.ENDIF # "$(UNIXVERSIONNAMES)"!=""
@@ -480,75 +501,12 @@ $(SHL1TARGETN) : \
.ENDIF
.ENDIF # "$(GUI)" == "UNX"
-.IF "$(GUI)" == "OS2"
-
-.IF "$(SHL1DEFAULTRES)"!=""
- @+-$(RM) $(MISC)/$(SHL1DEFAULTRES:b).rc >& $(NULLDEV)
-.IF "$(SHL1ICON)" != ""
- @-+echo 1 ICON $(SHL1ICON) >> $(MISC)/$(SHL1DEFAULTRES:b).rc
-.ENDIF
-.IF "$(use_shl_versions)" != ""
-.IF "$(SHL1ADD_VERINFO)"!=""
- @-+echo $(EMQ)#include $(EMQ)"$(SHL1ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL1DEFAULTRES:b).rc
-.ENDIF # "$(SHL1ADD_VERINFO)"!=""
- @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL1DEFAULTRES:b).rc
-# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL1DEFAULTRES:b).rc
-.ENDIF # "$(use_shl_versions)" != ""
-# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR)
- $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL1DEFAULTRES:b).rc
-.ENDIF # "$(SHL1DEFAULTRES)"!=""
-
-.IF "$(SHL1ALLRES)"!=""
- $(COMMAND_ECHO)+$(TYPE) $(SHL1ALLRES) > $(SHL1LINKRES)
-.ENDIF # "$(SHL1ALLRES)"!=""
-
-.IF "$(USE_DEFFILE)"!=""
-
- $(COMMAND_ECHO)$(SHL1LINKER) $(SHL1LINKFLAGS) $(LINKFLAGSSHL) -o $@ \
- $(SHL1DEF) \
- $(STDOBJ) \
- -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(SHL1OBJS) $(SHL1VERSIONOBJ) \
- $(SHL1LIBS) \
- $(SHL1STDLIBS:^"-l") \
- $(SHL1LINKRES) \
- $(SHL1STDSHL:^"-l") $(STDSHL1:^"-l")
-
-.ELSE # "$(USE_DEFFILE)"!=""
-
- $(COMMAND_ECHO)$(SHL1LINKER) -v $(SHL1LINKFLAGS) \
- $(LINKFLAGSSHL) $(SHL1BASEX) \
- $(SHL1STACK) -o $(SHL1TARGETN) \
- $(SHL1DEF) \
- $(STDOBJ) \
- -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(SHL1OBJS) $(SHL1VERSIONOBJ) \
- $(SHL1LIBS) \
- $(SHL1STDLIBS:^"-l") \
- $(SHL1LINKRES) \
- $(SHL1STDSHL:^"-l") $(STDSHL1:^"-l") \
- @$(LS) $@ >& $(NULLDEV)
-
-.ENDIF # "$(USE_DEFFILE)"!=""
-
-.IF "$(SHL1TARGET8)" != "$(SHL1TARGET)"
- $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL1TARGET8).dll
-.ENDIF
-
-.ENDIF # "$(GUI)" == "OS2"
-
.ENDIF # "$(SHL1TARGETN)"!=""
# unroll begin
.IF "$(SHL2TARGETN)"!=""
-.IF "$(OS)"=="AIX"
-SHL2STDLIBS=
-.ENDIF
-
.IF "$(SHLLINKARCONLY)" != ""
SHL2STDLIBS=
STDSHL=
@@ -605,20 +563,23 @@ $(MISC)/$(SHL2VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL2VERSIO
.ENDIF
.IF "$(GUI)" != "UNX"
-.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)" == "WNT"
.IF "$(SHL2IMPLIB)" == ""
SHL2IMPLIB=i$(TARGET)_t2
.ENDIF # "$(SHL2IMPLIB)" == ""
.IF "$(COM)" != "GCC"
USE_2IMPLIB=-implib:$(LB)/$(SHL2IMPLIB).lib
-.ENDIF # "$(COM)" != "GCC"
SHL2IMPLIBN=$(LB)/$(SHL2IMPLIB).lib
+.ELSE
+SHL2IMPLIBN=$(LB)/lib$(SHL2IMPLIB).dll.a
+USE_2IMPLIB=-Wl,--out-implib=$(SHL2IMPLIBN)
+.ENDIF # "$(COM)" != "GCC"
ALLTAR : $(SHL2IMPLIBN)
.IF "$(USE_DEFFILE)"==""
USE_2IMPLIB_DEPS=$(LB)/$(SHL2IMPLIB).lib
.ENDIF # "$(USE_DEFFILE)"==""
-.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
+.ENDIF # "$(GUI)" == "WNT"
USE_SHL2DEF=$(SHL2DEF)
.ELSE # "$(GUI)" != "UNX"
USE_SHL2DEF=
@@ -643,7 +604,9 @@ $(USE_SHL2VERSIONMAP) .PHONY:
.ENDIF # "$(SHL2VERSIONMAP)"!=""
+.IF "$(OS)" != "AIX"
SHL2VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL2VERSIONMAP)
+.ENDIF
$(USE_SHL2VERSIONMAP): \
$(SHL2OBJS)\
@@ -680,7 +643,9 @@ $(USE_SHL2VERSIONMAP) :
#and now for the plain non-generic way...
.IF "$(SHL2VERSIONMAP)"!=""
USE_SHL2VERSIONMAP=$(MISC)/$(SHL2VERSIONMAP:b)_$(SHL2TARGET)$(SHL2VERSIONMAP:e)
+.IF "$(OS)" != "AIX"
SHL2VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL2VERSIONMAP)
+.ENDIF
.IF "$(OS)"=="MACOSX"
$(USE_SHL2VERSIONMAP): $(SHL2OBJS) $(SHL2LIBS)
@@ -728,7 +693,7 @@ $(USE_SHL2VERSIONMAP) .ERRREMOVE: $(SHL2VERSIONMAP)
.ENDIF # "$(GUI)" != "UNX"
.IF "$(UNIXVERSIONNAMES)"!=""
-.IF "$(OS)"!="MACOSX"
+.IF "$(OS)"!="MACOSX" && "$(OS)"!="IOS" && "$(OS)"!="AIX"
.IF "$(GUI)"=="UNX"
SHL2SONAME=\"$(SONAME_SWITCH)$(SHL2TARGETN:f)\"
.ENDIF # "$(GUI)"!="UNX"
@@ -751,7 +716,7 @@ SHL2LINKRESO*=$(MISC)/$(SHL2TARGET)_res.o
#.IF "$(SHL2TARGETN)"!=""
.IF "$(linkinc)"!=""
-.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(SHL2LIBS)"!=""
$(MISC)/$(SHL2TARGET)_linkinc.ls .PHONY:
@@-$(RM) $@
@@ -764,7 +729,7 @@ $(SHL2TARGETN) : $(LINKINCTARGETS)
.ELSE
.IF "$(SHL2USE_EXPORTS)"=="name"
-.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(COM)"!="GCC"
.IF "$(SHL2LIBS)"!=""
SHL2LINKLIST=$(MISC)/$(SHL2TARGET)_link.lst
@@ -781,20 +746,6 @@ $(MISC)/%linkinc.ls:
@echo . > $@
.ENDIF # "$(linkinc)"!=""
-.IF "$(GUI)" == "OS2"
-#21/02/2006 YD dll names must be 8.3, invoke fix script
-#check osl/os2/module.c/osl_loadModule()
-SHL2TARGET8=$(shell @fix_shl $(SHL2TARGET))
-.ENDIF
-
-.IF "$(GUI)" == "OS2"
-_SHL2IMP_ORD = $(SHL2STDLIBS:^"$(SOLARVERSION)/$(INPATH)/lib/") $(SHL2STDLIBS:^"$(LB)/")
-SHL2IMP_ORD = $(foreach,i,$(_SHL2IMP_ORD) $(shell @-ls $i))
-.ELSE
-SHL2IMP_ORD =
-.ENDIF
-
-
$(SHL2TARGETN) : \
$(SHL2OBJS)\
$(SHL2LIBS)\
@@ -803,7 +754,6 @@ $(SHL2TARGETN) : \
$(USE_SHL2VERSIONMAP)\
$(SHL2RES)\
$(SHL2DEPN) \
- $(SHL2IMP_ORD) \
$(SHL2LINKLIST)
@echo "Making: " $(@:f)
.IF "$(GUI)" == "WNT"
@@ -825,39 +775,69 @@ $(SHL2TARGETN) : \
@echo $(EMQ)#define INTERNAL_NAME $(SHL2TARGET:b) >> $(MISC)/$(SHL2DEFAULTRES:b).rc
@echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL2DEFAULTRES:b).rc
.ENDIF # "$(use_shl_versions)" != ""
- $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL2DEFAULTRES:b).rc
+.IF "$(RCFLAGSOUTRES)"!=""
+# rc, takes separate flag naming output file, source .rc file last
+ $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(RCFLAGSOUTRES)$(SHL2DEFAULTRES) $(MISC)/$(SHL2DEFAULTRES:b).rc
+.ELSE
+# windres, just takes output file last
+ $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL2DEFAULTRES:b).rc $(SHL2DEFAULTRES)
+.ENDIF
.ENDIF # "$(SHL2DEFAULTRES)"!=""
.IF "$(SHL2ALLRES)"!=""
$(COMMAND_ECHO)$(TYPE) $(SHL2ALLRES) > $(SHL2LINKRES)
.IF "$(COM)"=="GCC"
- windres $(SHL2LINKRES) $(SHL2LINKRESO)
+ $(WINDRES) $(SHL2LINKRES) $(SHL2LINKRESO)
.ENDIF # "$(COM)"=="GCC"
.ENDIF # "$(SHL2ALLRES)"!=""
.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
- @echo dlltool --dllname $(SHL2TARGET)$(DLLPOST) \
- --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_2.cmd
+# GNU ld since 2.17 supports @cmdfile syntax
+.IF "$(USE_DEFFILE)"!=""
+ @$(COMMAND_ECHO)$(LINK) @$(mktmp $(strip \
+ $(SHL2LINKFLAGS) \
+ $(LINKFLAGSSHL) \
+ $(SOLARLIB) \
+ $(MINGWSSTDOBJ) \
+ -o $@ \
+ -Wl,-Map,$(MISC)/$(@:b).map \
+ $(SHL2DEF) \
+ $(USE_2IMPLIB) \
+ $(STDOBJ) \
+ $(SHL2VERSIONOBJ) $(SHL2OBJS) \
+ $(subst,$(ROUT),$(PRJ)/$(ROUT) $(shell cat /dev/null $(SHL2LIBS))) \
+ -Wl,--exclude-libs,ALL,--start-group $(SHL2STDLIBS) -Wl,--end-group \
+ $(SHL2STDSHL) $(STDSHL2) \
+ $(SHL2LINKRESO) \
+ ))
+.ELSE
@noop $(assign ALL2OBJLIST:=$(STDOBJ) $(SHL2OBJS) $(SHL2LINKRESO) $(shell $(TYPE) /dev/null $(SHL2LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g))
.IF "$(DEFLIB2NAME)"!="" # do not have to include objs
@noop $(assign DEF2OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB2NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g))
@noop $(foreach,i,$(DEF2OBJLIST) $(assign ALL2OBJLIST:=$(ALL2OBJLIST:s?$i??)))
.ENDIF # "$(DEFLIB2NAME)"!=""
- @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_2.cmd
-.IF "$(SHL2DEF)"!=""
- @echo --input-def $(SHL2DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_2.cmd
-.ELSE
- @echo $(SHL2VERSIONOBJ) $(SHL2DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_2.cmd
-.ENDIF
- @echo $(ALL2OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_2.cmd
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \
- $(STDOBJ) $(SHL2VERSIONOBJ) $(SHL2DESCRIPTIONOBJ) $(SHL2OBJS) $(SHL2LINKRESO) \
- `$(TYPE) /dev/null $(SHL2LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
+ $(COMMAND_ECHO)$(DLLTOOL) @@(mktmp \
+ --dllname $(SHL2TARGET)$(DLLPOST) \
+ --kill-at \
+ --output-exp $(MISC)/$(@:b)_exp.o \
+ $(SHL2VERSIONOBJ) \
+ @(ALL2OBJLIST)
+ )
+ $(COMMAND_ECHO)$(LINK) @$(mktmp $(strip \
+ $(SHL2LINKFLAGS) \
+ $(LINKFLAGSSHL) \
+ $(SOLARLIB) \
+ $(MINGWSSTDOBJ) \
+ -o $@ \
+ -Wl,-Map,$(MISC)/$(@:b).map \
+ $(MISC)/$(@:b)_exp.o \
+ $(USE_2IMPLIB) \
+ $(STDOBJ) \
+ $(SHL2VERSIONOBJ) $(SHL2OBJS) \
+ $(subst,$(ROUT),$(PRJ)/$(ROUT) $(shell cat /dev/null $(SHL2LIBS))) \
-Wl,--exclude-libs,ALL,--start-group $(SHL2STDLIBS) -Wl,--end-group \
- $(SHL2STDSHL) $(STDSHL2) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \
- -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_2.cmd
- .IF "$(VERBOSE)" == "TRUE"
- @$(TYPE) $(MISC)/$(TARGET).$(@:b)_2.cmd
- .ENDIF
- @+source $(MISC)/$(TARGET).$(@:b)_2.cmd
+ $(SHL2STDSHL) $(STDSHL2) \
+ $(SHL2LINKRESO) \
+ ))
+.ENDIF
.ELSE
.IF "$(linkinc)"==""
.IF "$(SHL2USE_EXPORTS)"!="name"
@@ -972,7 +952,7 @@ $(SHL2TARGETN) : \
@echo $(STDSLO) $(SHL2OBJS:s/.obj/.o/) \
$(SHL2VERSIONOBJ) \
`cat /dev/null $(SHL2LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list
- @echo -n $(SHL2LINKER) $(SHL2LINKFLAGS) $(SHL2VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \
+ @/bin/echo -n $(SHL2LINKER) $(SHL2LINKFLAGS) $(SHL2VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \
$(SHL2STDLIBS) $(SHL2ARCHIVES) $(SHL2STDSHL) $(STDSHL2) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_2.cmd
@$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
`cat $(MISC)/$(TARGET).$(@:b)_2.cmd` \
@@ -992,6 +972,9 @@ $(SHL2TARGETN) : \
$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS2) $(SHL2TARGETN)
.ENDIF # "$(SHL2NOCHECK)"!=""
.ENDIF
+.ELIF "$(OS)"=="IOS"
+ $(COMMAND_ECHO)$(AR) $(LIB2FLAGS) $(LIBFLAGS) $@ $(subst,.obj,.o $(SHL2OBJS)) $(shell cat /dev/null $(LIB2TARGET) $(SHL2LIBS) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g)
+ $(COMMAND_ECHO)$(RANLIB) $@
.ELSE # "$(OS)"=="MACOSX"
@-$(RM) $(MISC)/$(TARGET).$(@:b)_2.cmd
@echo $(SHL2LINKER) $(SHL2LINKFLAGS) $(SHL2SONAME) $(LINKFLAGSSHL) $(SHL2VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL2OBJS:s/.obj/.o/) \
@@ -1014,7 +997,7 @@ $(SHL2TARGETN) : \
.ENDIF # "$(SHL2NOCHECK)"!=""
.ENDIF # "$(UPDATER)"=="YES"
.ENDIF # "$(OS)"=="MACOSX"
-.IF "$(UNIXVERSIONNAMES)"!=""
+.IF "$(UNIXVERSIONNAMES)"!="" && "$(OS)"!="IOS"
$(COMMAND_ECHO)$(RM) $(LB)/$(SHL2TARGETN:b)
$(COMMAND_ECHO)cd $(LB) && ln -s $(SHL2TARGETN:f) $(SHL2TARGETN:b)
.ENDIF # "$(UNIXVERSIONNAMES)"!=""
@@ -1023,75 +1006,12 @@ $(SHL2TARGETN) : \
.ENDIF
.ENDIF # "$(GUI)" == "UNX"
-.IF "$(GUI)" == "OS2"
-
-.IF "$(SHL2DEFAULTRES)"!=""
- @+-$(RM) $(MISC)/$(SHL2DEFAULTRES:b).rc >& $(NULLDEV)
-.IF "$(SHL2ICON)" != ""
- @-+echo 1 ICON $(SHL2ICON) >> $(MISC)/$(SHL2DEFAULTRES:b).rc
-.ENDIF
-.IF "$(use_shl_versions)" != ""
-.IF "$(SHL2ADD_VERINFO)"!=""
- @-+echo $(EMQ)#include $(EMQ)"$(SHL2ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL2DEFAULTRES:b).rc
-.ENDIF # "$(SHL2ADD_VERINFO)"!=""
- @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL2DEFAULTRES:b).rc
-# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL2DEFAULTRES:b).rc
-.ENDIF # "$(use_shl_versions)" != ""
-# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR)
- $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL2DEFAULTRES:b).rc
-.ENDIF # "$(SHL2DEFAULTRES)"!=""
-
-.IF "$(SHL2ALLRES)"!=""
- $(COMMAND_ECHO)+$(TYPE) $(SHL2ALLRES) > $(SHL2LINKRES)
-.ENDIF # "$(SHL2ALLRES)"!=""
-
-.IF "$(USE_DEFFILE)"!=""
-
- $(COMMAND_ECHO)$(SHL2LINKER) $(SHL2LINKFLAGS) $(LINKFLAGSSHL) -o $@ \
- $(SHL2DEF) \
- $(STDOBJ) \
- -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(SHL2OBJS) $(SHL2VERSIONOBJ) \
- $(SHL2LIBS) \
- $(SHL2STDLIBS:^"-l") \
- $(SHL2LINKRES) \
- $(SHL2STDSHL:^"-l") $(STDSHL2:^"-l")
-
-.ELSE # "$(USE_DEFFILE)"!=""
-
- $(COMMAND_ECHO)$(SHL2LINKER) -v $(SHL2LINKFLAGS) \
- $(LINKFLAGSSHL) $(SHL2BASEX) \
- $(SHL2STACK) -o $(SHL2TARGETN) \
- $(SHL2DEF) \
- $(STDOBJ) \
- -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(SHL2OBJS) $(SHL2VERSIONOBJ) \
- $(SHL2LIBS) \
- $(SHL2STDLIBS:^"-l") \
- $(SHL2LINKRES) \
- $(SHL2STDSHL:^"-l") $(STDSHL2:^"-l") \
- @$(LS) $@ >& $(NULLDEV)
-
-.ENDIF # "$(USE_DEFFILE)"!=""
-
-.IF "$(SHL2TARGET8)" != "$(SHL2TARGET)"
- $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL2TARGET8).dll
-.ENDIF
-
-.ENDIF # "$(GUI)" == "OS2"
-
.ENDIF # "$(SHL2TARGETN)"!=""
# unroll begin
.IF "$(SHL3TARGETN)"!=""
-.IF "$(OS)"=="AIX"
-SHL3STDLIBS=
-.ENDIF
-
.IF "$(SHLLINKARCONLY)" != ""
SHL3STDLIBS=
STDSHL=
@@ -1148,20 +1068,23 @@ $(MISC)/$(SHL3VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL3VERSIO
.ENDIF
.IF "$(GUI)" != "UNX"
-.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)" == "WNT"
.IF "$(SHL3IMPLIB)" == ""
SHL3IMPLIB=i$(TARGET)_t3
.ENDIF # "$(SHL3IMPLIB)" == ""
.IF "$(COM)" != "GCC"
USE_3IMPLIB=-implib:$(LB)/$(SHL3IMPLIB).lib
-.ENDIF # "$(COM)" != "GCC"
SHL3IMPLIBN=$(LB)/$(SHL3IMPLIB).lib
+.ELSE
+SHL3IMPLIBN=$(LB)/lib$(SHL3IMPLIB).dll.a
+USE_3IMPLIB=-Wl,--out-implib=$(SHL3IMPLIBN)
+.ENDIF # "$(COM)" != "GCC"
ALLTAR : $(SHL3IMPLIBN)
.IF "$(USE_DEFFILE)"==""
USE_3IMPLIB_DEPS=$(LB)/$(SHL3IMPLIB).lib
.ENDIF # "$(USE_DEFFILE)"==""
-.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
+.ENDIF # "$(GUI)" == "WNT"
USE_SHL3DEF=$(SHL3DEF)
.ELSE # "$(GUI)" != "UNX"
USE_SHL3DEF=
@@ -1186,7 +1109,9 @@ $(USE_SHL3VERSIONMAP) .PHONY:
.ENDIF # "$(SHL3VERSIONMAP)"!=""
+.IF "$(OS)" != "AIX"
SHL3VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL3VERSIONMAP)
+.ENDIF
$(USE_SHL3VERSIONMAP): \
$(SHL3OBJS)\
@@ -1223,7 +1148,9 @@ $(USE_SHL3VERSIONMAP) :
#and now for the plain non-generic way...
.IF "$(SHL3VERSIONMAP)"!=""
USE_SHL3VERSIONMAP=$(MISC)/$(SHL3VERSIONMAP:b)_$(SHL3TARGET)$(SHL3VERSIONMAP:e)
+.IF "$(OS)" != "AIX"
SHL3VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL3VERSIONMAP)
+.ENDIF
.IF "$(OS)"=="MACOSX"
$(USE_SHL3VERSIONMAP): $(SHL3OBJS) $(SHL3LIBS)
@@ -1271,7 +1198,7 @@ $(USE_SHL3VERSIONMAP) .ERRREMOVE: $(SHL3VERSIONMAP)
.ENDIF # "$(GUI)" != "UNX"
.IF "$(UNIXVERSIONNAMES)"!=""
-.IF "$(OS)"!="MACOSX"
+.IF "$(OS)"!="MACOSX" && "$(OS)"!="IOS" && "$(OS)"!="AIX"
.IF "$(GUI)"=="UNX"
SHL3SONAME=\"$(SONAME_SWITCH)$(SHL3TARGETN:f)\"
.ENDIF # "$(GUI)"!="UNX"
@@ -1294,7 +1221,7 @@ SHL3LINKRESO*=$(MISC)/$(SHL3TARGET)_res.o
#.IF "$(SHL3TARGETN)"!=""
.IF "$(linkinc)"!=""
-.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(SHL3LIBS)"!=""
$(MISC)/$(SHL3TARGET)_linkinc.ls .PHONY:
@@-$(RM) $@
@@ -1307,7 +1234,7 @@ $(SHL3TARGETN) : $(LINKINCTARGETS)
.ELSE
.IF "$(SHL3USE_EXPORTS)"=="name"
-.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(COM)"!="GCC"
.IF "$(SHL3LIBS)"!=""
SHL3LINKLIST=$(MISC)/$(SHL3TARGET)_link.lst
@@ -1324,20 +1251,6 @@ $(MISC)/%linkinc.ls:
@echo . > $@
.ENDIF # "$(linkinc)"!=""
-.IF "$(GUI)" == "OS2"
-#21/02/2006 YD dll names must be 8.3, invoke fix script
-#check osl/os2/module.c/osl_loadModule()
-SHL3TARGET8=$(shell @fix_shl $(SHL3TARGET))
-.ENDIF
-
-.IF "$(GUI)" == "OS2"
-_SHL3IMP_ORD = $(SHL3STDLIBS:^"$(SOLARVERSION)/$(INPATH)/lib/") $(SHL3STDLIBS:^"$(LB)/")
-SHL3IMP_ORD = $(foreach,i,$(_SHL3IMP_ORD) $(shell @-ls $i))
-.ELSE
-SHL3IMP_ORD =
-.ENDIF
-
-
$(SHL3TARGETN) : \
$(SHL3OBJS)\
$(SHL3LIBS)\
@@ -1346,7 +1259,6 @@ $(SHL3TARGETN) : \
$(USE_SHL3VERSIONMAP)\
$(SHL3RES)\
$(SHL3DEPN) \
- $(SHL3IMP_ORD) \
$(SHL3LINKLIST)
@echo "Making: " $(@:f)
.IF "$(GUI)" == "WNT"
@@ -1368,39 +1280,69 @@ $(SHL3TARGETN) : \
@echo $(EMQ)#define INTERNAL_NAME $(SHL3TARGET:b) >> $(MISC)/$(SHL3DEFAULTRES:b).rc
@echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL3DEFAULTRES:b).rc
.ENDIF # "$(use_shl_versions)" != ""
- $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL3DEFAULTRES:b).rc
+.IF "$(RCFLAGSOUTRES)"!=""
+# rc, takes separate flag naming output file, source .rc file last
+ $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(RCFLAGSOUTRES)$(SHL3DEFAULTRES) $(MISC)/$(SHL3DEFAULTRES:b).rc
+.ELSE
+# windres, just takes output file last
+ $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL3DEFAULTRES:b).rc $(SHL3DEFAULTRES)
+.ENDIF
.ENDIF # "$(SHL3DEFAULTRES)"!=""
.IF "$(SHL3ALLRES)"!=""
$(COMMAND_ECHO)$(TYPE) $(SHL3ALLRES) > $(SHL3LINKRES)
.IF "$(COM)"=="GCC"
- windres $(SHL3LINKRES) $(SHL3LINKRESO)
+ $(WINDRES) $(SHL3LINKRES) $(SHL3LINKRESO)
.ENDIF # "$(COM)"=="GCC"
.ENDIF # "$(SHL3ALLRES)"!=""
.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
- @echo dlltool --dllname $(SHL3TARGET)$(DLLPOST) \
- --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_3.cmd
+# GNU ld since 2.17 supports @cmdfile syntax
+.IF "$(USE_DEFFILE)"!=""
+ @$(COMMAND_ECHO)$(LINK) @$(mktmp $(strip \
+ $(SHL3LINKFLAGS) \
+ $(LINKFLAGSSHL) \
+ $(SOLARLIB) \
+ $(MINGWSSTDOBJ) \
+ -o $@ \
+ -Wl,-Map,$(MISC)/$(@:b).map \
+ $(SHL3DEF) \
+ $(USE_3IMPLIB) \
+ $(STDOBJ) \
+ $(SHL3VERSIONOBJ) $(SHL3OBJS) \
+ $(subst,$(ROUT),$(PRJ)/$(ROUT) $(shell cat /dev/null $(SHL3LIBS))) \
+ -Wl,--exclude-libs,ALL,--start-group $(SHL3STDLIBS) -Wl,--end-group \
+ $(SHL3STDSHL) $(STDSHL3) \
+ $(SHL3LINKRESO) \
+ ))
+.ELSE
@noop $(assign ALL3OBJLIST:=$(STDOBJ) $(SHL3OBJS) $(SHL3LINKRESO) $(shell $(TYPE) /dev/null $(SHL3LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g))
.IF "$(DEFLIB3NAME)"!="" # do not have to include objs
@noop $(assign DEF3OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB3NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g))
@noop $(foreach,i,$(DEF3OBJLIST) $(assign ALL3OBJLIST:=$(ALL3OBJLIST:s?$i??)))
.ENDIF # "$(DEFLIB3NAME)"!=""
- @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_3.cmd
-.IF "$(SHL3DEF)"!=""
- @echo --input-def $(SHL3DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_3.cmd
-.ELSE
- @echo $(SHL3VERSIONOBJ) $(SHL3DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_3.cmd
-.ENDIF
- @echo $(ALL3OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_3.cmd
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \
- $(STDOBJ) $(SHL3VERSIONOBJ) $(SHL3DESCRIPTIONOBJ) $(SHL3OBJS) $(SHL3LINKRESO) \
- `$(TYPE) /dev/null $(SHL3LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
+ $(COMMAND_ECHO)$(DLLTOOL) @@(mktmp \
+ --dllname $(SHL3TARGET)$(DLLPOST) \
+ --kill-at \
+ --output-exp $(MISC)/$(@:b)_exp.o \
+ $(SHL3VERSIONOBJ) \
+ @(ALL3OBJLIST)
+ )
+ $(COMMAND_ECHO)$(LINK) @$(mktmp $(strip \
+ $(SHL3LINKFLAGS) \
+ $(LINKFLAGSSHL) \
+ $(SOLARLIB) \
+ $(MINGWSSTDOBJ) \
+ -o $@ \
+ -Wl,-Map,$(MISC)/$(@:b).map \
+ $(MISC)/$(@:b)_exp.o \
+ $(USE_3IMPLIB) \
+ $(STDOBJ) \
+ $(SHL3VERSIONOBJ) $(SHL3OBJS) \
+ $(subst,$(ROUT),$(PRJ)/$(ROUT) $(shell cat /dev/null $(SHL3LIBS))) \
-Wl,--exclude-libs,ALL,--start-group $(SHL3STDLIBS) -Wl,--end-group \
- $(SHL3STDSHL) $(STDSHL3) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \
- -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_3.cmd
- .IF "$(VERBOSE)" == "TRUE"
- @$(TYPE) $(MISC)/$(TARGET).$(@:b)_3.cmd
- .ENDIF
- @+source $(MISC)/$(TARGET).$(@:b)_3.cmd
+ $(SHL3STDSHL) $(STDSHL3) \
+ $(SHL3LINKRESO) \
+ ))
+.ENDIF
.ELSE
.IF "$(linkinc)"==""
.IF "$(SHL3USE_EXPORTS)"!="name"
@@ -1515,7 +1457,7 @@ $(SHL3TARGETN) : \
@echo $(STDSLO) $(SHL3OBJS:s/.obj/.o/) \
$(SHL3VERSIONOBJ) \
`cat /dev/null $(SHL3LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list
- @echo -n $(SHL3LINKER) $(SHL3LINKFLAGS) $(SHL3VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \
+ @/bin/echo -n $(SHL3LINKER) $(SHL3LINKFLAGS) $(SHL3VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \
$(SHL3STDLIBS) $(SHL3ARCHIVES) $(SHL3STDSHL) $(STDSHL3) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_3.cmd
@$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
`cat $(MISC)/$(TARGET).$(@:b)_3.cmd` \
@@ -1535,6 +1477,9 @@ $(SHL3TARGETN) : \
$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS3) $(SHL3TARGETN)
.ENDIF # "$(SHL3NOCHECK)"!=""
.ENDIF
+.ELIF "$(OS)"=="IOS"
+ $(COMMAND_ECHO)$(AR) $(LIB3FLAGS) $(LIBFLAGS) $@ $(subst,.obj,.o $(SHL3OBJS)) $(shell cat /dev/null $(LIB3TARGET) $(SHL3LIBS) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g)
+ $(COMMAND_ECHO)$(RANLIB) $@
.ELSE # "$(OS)"=="MACOSX"
@-$(RM) $(MISC)/$(TARGET).$(@:b)_3.cmd
@echo $(SHL3LINKER) $(SHL3LINKFLAGS) $(SHL3SONAME) $(LINKFLAGSSHL) $(SHL3VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL3OBJS:s/.obj/.o/) \
@@ -1557,7 +1502,7 @@ $(SHL3TARGETN) : \
.ENDIF # "$(SHL3NOCHECK)"!=""
.ENDIF # "$(UPDATER)"=="YES"
.ENDIF # "$(OS)"=="MACOSX"
-.IF "$(UNIXVERSIONNAMES)"!=""
+.IF "$(UNIXVERSIONNAMES)"!="" && "$(OS)"!="IOS"
$(COMMAND_ECHO)$(RM) $(LB)/$(SHL3TARGETN:b)
$(COMMAND_ECHO)cd $(LB) && ln -s $(SHL3TARGETN:f) $(SHL3TARGETN:b)
.ENDIF # "$(UNIXVERSIONNAMES)"!=""
@@ -1566,75 +1511,12 @@ $(SHL3TARGETN) : \
.ENDIF
.ENDIF # "$(GUI)" == "UNX"
-.IF "$(GUI)" == "OS2"
-
-.IF "$(SHL3DEFAULTRES)"!=""
- @+-$(RM) $(MISC)/$(SHL3DEFAULTRES:b).rc >& $(NULLDEV)
-.IF "$(SHL3ICON)" != ""
- @-+echo 1 ICON $(SHL3ICON) >> $(MISC)/$(SHL3DEFAULTRES:b).rc
-.ENDIF
-.IF "$(use_shl_versions)" != ""
-.IF "$(SHL3ADD_VERINFO)"!=""
- @-+echo $(EMQ)#include $(EMQ)"$(SHL3ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL3DEFAULTRES:b).rc
-.ENDIF # "$(SHL3ADD_VERINFO)"!=""
- @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL3DEFAULTRES:b).rc
-# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL3DEFAULTRES:b).rc
-.ENDIF # "$(use_shl_versions)" != ""
-# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR)
- $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL3DEFAULTRES:b).rc
-.ENDIF # "$(SHL3DEFAULTRES)"!=""
-
-.IF "$(SHL3ALLRES)"!=""
- $(COMMAND_ECHO)+$(TYPE) $(SHL3ALLRES) > $(SHL3LINKRES)
-.ENDIF # "$(SHL3ALLRES)"!=""
-
-.IF "$(USE_DEFFILE)"!=""
-
- $(COMMAND_ECHO)$(SHL3LINKER) $(SHL3LINKFLAGS) $(LINKFLAGSSHL) -o $@ \
- $(SHL3DEF) \
- $(STDOBJ) \
- -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(SHL3OBJS) $(SHL3VERSIONOBJ) \
- $(SHL3LIBS) \
- $(SHL3STDLIBS:^"-l") \
- $(SHL3LINKRES) \
- $(SHL3STDSHL:^"-l") $(STDSHL3:^"-l")
-
-.ELSE # "$(USE_DEFFILE)"!=""
-
- $(COMMAND_ECHO)$(SHL3LINKER) -v $(SHL3LINKFLAGS) \
- $(LINKFLAGSSHL) $(SHL3BASEX) \
- $(SHL3STACK) -o $(SHL3TARGETN) \
- $(SHL3DEF) \
- $(STDOBJ) \
- -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(SHL3OBJS) $(SHL3VERSIONOBJ) \
- $(SHL3LIBS) \
- $(SHL3STDLIBS:^"-l") \
- $(SHL3LINKRES) \
- $(SHL3STDSHL:^"-l") $(STDSHL3:^"-l") \
- @$(LS) $@ >& $(NULLDEV)
-
-.ENDIF # "$(USE_DEFFILE)"!=""
-
-.IF "$(SHL3TARGET8)" != "$(SHL3TARGET)"
- $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL3TARGET8).dll
-.ENDIF
-
-.ENDIF # "$(GUI)" == "OS2"
-
.ENDIF # "$(SHL3TARGETN)"!=""
# unroll begin
.IF "$(SHL4TARGETN)"!=""
-.IF "$(OS)"=="AIX"
-SHL4STDLIBS=
-.ENDIF
-
.IF "$(SHLLINKARCONLY)" != ""
SHL4STDLIBS=
STDSHL=
@@ -1691,20 +1573,23 @@ $(MISC)/$(SHL4VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL4VERSIO
.ENDIF
.IF "$(GUI)" != "UNX"
-.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)" == "WNT"
.IF "$(SHL4IMPLIB)" == ""
SHL4IMPLIB=i$(TARGET)_t4
.ENDIF # "$(SHL4IMPLIB)" == ""
.IF "$(COM)" != "GCC"
USE_4IMPLIB=-implib:$(LB)/$(SHL4IMPLIB).lib
-.ENDIF # "$(COM)" != "GCC"
SHL4IMPLIBN=$(LB)/$(SHL4IMPLIB).lib
+.ELSE
+SHL4IMPLIBN=$(LB)/lib$(SHL4IMPLIB).dll.a
+USE_4IMPLIB=-Wl,--out-implib=$(SHL4IMPLIBN)
+.ENDIF # "$(COM)" != "GCC"
ALLTAR : $(SHL4IMPLIBN)
.IF "$(USE_DEFFILE)"==""
USE_4IMPLIB_DEPS=$(LB)/$(SHL4IMPLIB).lib
.ENDIF # "$(USE_DEFFILE)"==""
-.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
+.ENDIF # "$(GUI)" == "WNT"
USE_SHL4DEF=$(SHL4DEF)
.ELSE # "$(GUI)" != "UNX"
USE_SHL4DEF=
@@ -1729,7 +1614,9 @@ $(USE_SHL4VERSIONMAP) .PHONY:
.ENDIF # "$(SHL4VERSIONMAP)"!=""
+.IF "$(OS)" != "AIX"
SHL4VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL4VERSIONMAP)
+.ENDIF
$(USE_SHL4VERSIONMAP): \
$(SHL4OBJS)\
@@ -1766,7 +1653,9 @@ $(USE_SHL4VERSIONMAP) :
#and now for the plain non-generic way...
.IF "$(SHL4VERSIONMAP)"!=""
USE_SHL4VERSIONMAP=$(MISC)/$(SHL4VERSIONMAP:b)_$(SHL4TARGET)$(SHL4VERSIONMAP:e)
+.IF "$(OS)" != "AIX"
SHL4VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL4VERSIONMAP)
+.ENDIF
.IF "$(OS)"=="MACOSX"
$(USE_SHL4VERSIONMAP): $(SHL4OBJS) $(SHL4LIBS)
@@ -1814,7 +1703,7 @@ $(USE_SHL4VERSIONMAP) .ERRREMOVE: $(SHL4VERSIONMAP)
.ENDIF # "$(GUI)" != "UNX"
.IF "$(UNIXVERSIONNAMES)"!=""
-.IF "$(OS)"!="MACOSX"
+.IF "$(OS)"!="MACOSX" && "$(OS)"!="IOS" && "$(OS)"!="AIX"
.IF "$(GUI)"=="UNX"
SHL4SONAME=\"$(SONAME_SWITCH)$(SHL4TARGETN:f)\"
.ENDIF # "$(GUI)"!="UNX"
@@ -1837,7 +1726,7 @@ SHL4LINKRESO*=$(MISC)/$(SHL4TARGET)_res.o
#.IF "$(SHL4TARGETN)"!=""
.IF "$(linkinc)"!=""
-.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(SHL4LIBS)"!=""
$(MISC)/$(SHL4TARGET)_linkinc.ls .PHONY:
@@-$(RM) $@
@@ -1850,7 +1739,7 @@ $(SHL4TARGETN) : $(LINKINCTARGETS)
.ELSE
.IF "$(SHL4USE_EXPORTS)"=="name"
-.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(COM)"!="GCC"
.IF "$(SHL4LIBS)"!=""
SHL4LINKLIST=$(MISC)/$(SHL4TARGET)_link.lst
@@ -1867,20 +1756,6 @@ $(MISC)/%linkinc.ls:
@echo . > $@
.ENDIF # "$(linkinc)"!=""
-.IF "$(GUI)" == "OS2"
-#21/02/2006 YD dll names must be 8.3, invoke fix script
-#check osl/os2/module.c/osl_loadModule()
-SHL4TARGET8=$(shell @fix_shl $(SHL4TARGET))
-.ENDIF
-
-.IF "$(GUI)" == "OS2"
-_SHL4IMP_ORD = $(SHL4STDLIBS:^"$(SOLARVERSION)/$(INPATH)/lib/") $(SHL4STDLIBS:^"$(LB)/")
-SHL4IMP_ORD = $(foreach,i,$(_SHL4IMP_ORD) $(shell @-ls $i))
-.ELSE
-SHL4IMP_ORD =
-.ENDIF
-
-
$(SHL4TARGETN) : \
$(SHL4OBJS)\
$(SHL4LIBS)\
@@ -1889,7 +1764,6 @@ $(SHL4TARGETN) : \
$(USE_SHL4VERSIONMAP)\
$(SHL4RES)\
$(SHL4DEPN) \
- $(SHL4IMP_ORD) \
$(SHL4LINKLIST)
@echo "Making: " $(@:f)
.IF "$(GUI)" == "WNT"
@@ -1911,39 +1785,69 @@ $(SHL4TARGETN) : \
@echo $(EMQ)#define INTERNAL_NAME $(SHL4TARGET:b) >> $(MISC)/$(SHL4DEFAULTRES:b).rc
@echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL4DEFAULTRES:b).rc
.ENDIF # "$(use_shl_versions)" != ""
- $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL4DEFAULTRES:b).rc
+.IF "$(RCFLAGSOUTRES)"!=""
+# rc, takes separate flag naming output file, source .rc file last
+ $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(RCFLAGSOUTRES)$(SHL4DEFAULTRES) $(MISC)/$(SHL4DEFAULTRES:b).rc
+.ELSE
+# windres, just takes output file last
+ $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL4DEFAULTRES:b).rc $(SHL4DEFAULTRES)
+.ENDIF
.ENDIF # "$(SHL4DEFAULTRES)"!=""
.IF "$(SHL4ALLRES)"!=""
$(COMMAND_ECHO)$(TYPE) $(SHL4ALLRES) > $(SHL4LINKRES)
.IF "$(COM)"=="GCC"
- windres $(SHL4LINKRES) $(SHL4LINKRESO)
+ $(WINDRES) $(SHL4LINKRES) $(SHL4LINKRESO)
.ENDIF # "$(COM)"=="GCC"
.ENDIF # "$(SHL4ALLRES)"!=""
.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
- @echo dlltool --dllname $(SHL4TARGET)$(DLLPOST) \
- --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_4.cmd
+# GNU ld since 2.17 supports @cmdfile syntax
+.IF "$(USE_DEFFILE)"!=""
+ @$(COMMAND_ECHO)$(LINK) @$(mktmp $(strip \
+ $(SHL4LINKFLAGS) \
+ $(LINKFLAGSSHL) \
+ $(SOLARLIB) \
+ $(MINGWSSTDOBJ) \
+ -o $@ \
+ -Wl,-Map,$(MISC)/$(@:b).map \
+ $(SHL4DEF) \
+ $(USE_4IMPLIB) \
+ $(STDOBJ) \
+ $(SHL4VERSIONOBJ) $(SHL4OBJS) \
+ $(subst,$(ROUT),$(PRJ)/$(ROUT) $(shell cat /dev/null $(SHL4LIBS))) \
+ -Wl,--exclude-libs,ALL,--start-group $(SHL4STDLIBS) -Wl,--end-group \
+ $(SHL4STDSHL) $(STDSHL4) \
+ $(SHL4LINKRESO) \
+ ))
+.ELSE
@noop $(assign ALL4OBJLIST:=$(STDOBJ) $(SHL4OBJS) $(SHL4LINKRESO) $(shell $(TYPE) /dev/null $(SHL4LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g))
.IF "$(DEFLIB4NAME)"!="" # do not have to include objs
@noop $(assign DEF4OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB4NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g))
@noop $(foreach,i,$(DEF4OBJLIST) $(assign ALL4OBJLIST:=$(ALL4OBJLIST:s?$i??)))
.ENDIF # "$(DEFLIB4NAME)"!=""
- @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_4.cmd
-.IF "$(SHL4DEF)"!=""
- @echo --input-def $(SHL4DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_4.cmd
-.ELSE
- @echo $(SHL4VERSIONOBJ) $(SHL4DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_4.cmd
-.ENDIF
- @echo $(ALL4OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_4.cmd
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \
- $(STDOBJ) $(SHL4VERSIONOBJ) $(SHL4DESCRIPTIONOBJ) $(SHL4OBJS) $(SHL4LINKRESO) \
- `$(TYPE) /dev/null $(SHL4LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
+ $(COMMAND_ECHO)$(DLLTOOL) @@(mktmp \
+ --dllname $(SHL4TARGET)$(DLLPOST) \
+ --kill-at \
+ --output-exp $(MISC)/$(@:b)_exp.o \
+ $(SHL4VERSIONOBJ) \
+ @(ALL4OBJLIST)
+ )
+ $(COMMAND_ECHO)$(LINK) @$(mktmp $(strip \
+ $(SHL4LINKFLAGS) \
+ $(LINKFLAGSSHL) \
+ $(SOLARLIB) \
+ $(MINGWSSTDOBJ) \
+ -o $@ \
+ -Wl,-Map,$(MISC)/$(@:b).map \
+ $(MISC)/$(@:b)_exp.o \
+ $(USE_4IMPLIB) \
+ $(STDOBJ) \
+ $(SHL4VERSIONOBJ) $(SHL4OBJS) \
+ $(subst,$(ROUT),$(PRJ)/$(ROUT) $(shell cat /dev/null $(SHL4LIBS))) \
-Wl,--exclude-libs,ALL,--start-group $(SHL4STDLIBS) -Wl,--end-group \
- $(SHL4STDSHL) $(STDSHL4) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \
- -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_4.cmd
- .IF "$(VERBOSE)" == "TRUE"
- @$(TYPE) $(MISC)/$(TARGET).$(@:b)_4.cmd
- .ENDIF
- @+source $(MISC)/$(TARGET).$(@:b)_4.cmd
+ $(SHL4STDSHL) $(STDSHL4) \
+ $(SHL4LINKRESO) \
+ ))
+.ENDIF
.ELSE
.IF "$(linkinc)"==""
.IF "$(SHL4USE_EXPORTS)"!="name"
@@ -2058,7 +1962,7 @@ $(SHL4TARGETN) : \
@echo $(STDSLO) $(SHL4OBJS:s/.obj/.o/) \
$(SHL4VERSIONOBJ) \
`cat /dev/null $(SHL4LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list
- @echo -n $(SHL4LINKER) $(SHL4LINKFLAGS) $(SHL4VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \
+ @/bin/echo -n $(SHL4LINKER) $(SHL4LINKFLAGS) $(SHL4VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \
$(SHL4STDLIBS) $(SHL4ARCHIVES) $(SHL4STDSHL) $(STDSHL4) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_4.cmd
@$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
`cat $(MISC)/$(TARGET).$(@:b)_4.cmd` \
@@ -2078,6 +1982,9 @@ $(SHL4TARGETN) : \
$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS4) $(SHL4TARGETN)
.ENDIF # "$(SHL4NOCHECK)"!=""
.ENDIF
+.ELIF "$(OS)"=="IOS"
+ $(COMMAND_ECHO)$(AR) $(LIB4FLAGS) $(LIBFLAGS) $@ $(subst,.obj,.o $(SHL4OBJS)) $(shell cat /dev/null $(LIB4TARGET) $(SHL4LIBS) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g)
+ $(COMMAND_ECHO)$(RANLIB) $@
.ELSE # "$(OS)"=="MACOSX"
@-$(RM) $(MISC)/$(TARGET).$(@:b)_4.cmd
@echo $(SHL4LINKER) $(SHL4LINKFLAGS) $(SHL4SONAME) $(LINKFLAGSSHL) $(SHL4VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL4OBJS:s/.obj/.o/) \
@@ -2100,7 +2007,7 @@ $(SHL4TARGETN) : \
.ENDIF # "$(SHL4NOCHECK)"!=""
.ENDIF # "$(UPDATER)"=="YES"
.ENDIF # "$(OS)"=="MACOSX"
-.IF "$(UNIXVERSIONNAMES)"!=""
+.IF "$(UNIXVERSIONNAMES)"!="" && "$(OS)"!="IOS"
$(COMMAND_ECHO)$(RM) $(LB)/$(SHL4TARGETN:b)
$(COMMAND_ECHO)cd $(LB) && ln -s $(SHL4TARGETN:f) $(SHL4TARGETN:b)
.ENDIF # "$(UNIXVERSIONNAMES)"!=""
@@ -2109,75 +2016,12 @@ $(SHL4TARGETN) : \
.ENDIF
.ENDIF # "$(GUI)" == "UNX"
-.IF "$(GUI)" == "OS2"
-
-.IF "$(SHL4DEFAULTRES)"!=""
- @+-$(RM) $(MISC)/$(SHL4DEFAULTRES:b).rc >& $(NULLDEV)
-.IF "$(SHL4ICON)" != ""
- @-+echo 1 ICON $(SHL4ICON) >> $(MISC)/$(SHL4DEFAULTRES:b).rc
-.ENDIF
-.IF "$(use_shl_versions)" != ""
-.IF "$(SHL4ADD_VERINFO)"!=""
- @-+echo $(EMQ)#include $(EMQ)"$(SHL4ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL4DEFAULTRES:b).rc
-.ENDIF # "$(SHL4ADD_VERINFO)"!=""
- @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL4DEFAULTRES:b).rc
-# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL4DEFAULTRES:b).rc
-.ENDIF # "$(use_shl_versions)" != ""
-# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR)
- $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL4DEFAULTRES:b).rc
-.ENDIF # "$(SHL4DEFAULTRES)"!=""
-
-.IF "$(SHL4ALLRES)"!=""
- $(COMMAND_ECHO)+$(TYPE) $(SHL4ALLRES) > $(SHL4LINKRES)
-.ENDIF # "$(SHL4ALLRES)"!=""
-
-.IF "$(USE_DEFFILE)"!=""
-
- $(COMMAND_ECHO)$(SHL4LINKER) $(SHL4LINKFLAGS) $(LINKFLAGSSHL) -o $@ \
- $(SHL4DEF) \
- $(STDOBJ) \
- -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(SHL4OBJS) $(SHL4VERSIONOBJ) \
- $(SHL4LIBS) \
- $(SHL4STDLIBS:^"-l") \
- $(SHL4LINKRES) \
- $(SHL4STDSHL:^"-l") $(STDSHL4:^"-l")
-
-.ELSE # "$(USE_DEFFILE)"!=""
-
- $(COMMAND_ECHO)$(SHL4LINKER) -v $(SHL4LINKFLAGS) \
- $(LINKFLAGSSHL) $(SHL4BASEX) \
- $(SHL4STACK) -o $(SHL4TARGETN) \
- $(SHL4DEF) \
- $(STDOBJ) \
- -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(SHL4OBJS) $(SHL4VERSIONOBJ) \
- $(SHL4LIBS) \
- $(SHL4STDLIBS:^"-l") \
- $(SHL4LINKRES) \
- $(SHL4STDSHL:^"-l") $(STDSHL4:^"-l") \
- @$(LS) $@ >& $(NULLDEV)
-
-.ENDIF # "$(USE_DEFFILE)"!=""
-
-.IF "$(SHL4TARGET8)" != "$(SHL4TARGET)"
- $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL4TARGET8).dll
-.ENDIF
-
-.ENDIF # "$(GUI)" == "OS2"
-
.ENDIF # "$(SHL4TARGETN)"!=""
# unroll begin
.IF "$(SHL5TARGETN)"!=""
-.IF "$(OS)"=="AIX"
-SHL5STDLIBS=
-.ENDIF
-
.IF "$(SHLLINKARCONLY)" != ""
SHL5STDLIBS=
STDSHL=
@@ -2234,20 +2078,23 @@ $(MISC)/$(SHL5VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL5VERSIO
.ENDIF
.IF "$(GUI)" != "UNX"
-.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)" == "WNT"
.IF "$(SHL5IMPLIB)" == ""
SHL5IMPLIB=i$(TARGET)_t5
.ENDIF # "$(SHL5IMPLIB)" == ""
.IF "$(COM)" != "GCC"
USE_5IMPLIB=-implib:$(LB)/$(SHL5IMPLIB).lib
-.ENDIF # "$(COM)" != "GCC"
SHL5IMPLIBN=$(LB)/$(SHL5IMPLIB).lib
+.ELSE
+SHL5IMPLIBN=$(LB)/lib$(SHL5IMPLIB).dll.a
+USE_5IMPLIB=-Wl,--out-implib=$(SHL5IMPLIBN)
+.ENDIF # "$(COM)" != "GCC"
ALLTAR : $(SHL5IMPLIBN)
.IF "$(USE_DEFFILE)"==""
USE_5IMPLIB_DEPS=$(LB)/$(SHL5IMPLIB).lib
.ENDIF # "$(USE_DEFFILE)"==""
-.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
+.ENDIF # "$(GUI)" == "WNT"
USE_SHL5DEF=$(SHL5DEF)
.ELSE # "$(GUI)" != "UNX"
USE_SHL5DEF=
@@ -2272,7 +2119,9 @@ $(USE_SHL5VERSIONMAP) .PHONY:
.ENDIF # "$(SHL5VERSIONMAP)"!=""
+.IF "$(OS)" != "AIX"
SHL5VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL5VERSIONMAP)
+.ENDIF
$(USE_SHL5VERSIONMAP): \
$(SHL5OBJS)\
@@ -2309,7 +2158,9 @@ $(USE_SHL5VERSIONMAP) :
#and now for the plain non-generic way...
.IF "$(SHL5VERSIONMAP)"!=""
USE_SHL5VERSIONMAP=$(MISC)/$(SHL5VERSIONMAP:b)_$(SHL5TARGET)$(SHL5VERSIONMAP:e)
+.IF "$(OS)" != "AIX"
SHL5VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL5VERSIONMAP)
+.ENDIF
.IF "$(OS)"=="MACOSX"
$(USE_SHL5VERSIONMAP): $(SHL5OBJS) $(SHL5LIBS)
@@ -2357,7 +2208,7 @@ $(USE_SHL5VERSIONMAP) .ERRREMOVE: $(SHL5VERSIONMAP)
.ENDIF # "$(GUI)" != "UNX"
.IF "$(UNIXVERSIONNAMES)"!=""
-.IF "$(OS)"!="MACOSX"
+.IF "$(OS)"!="MACOSX" && "$(OS)"!="IOS" && "$(OS)"!="AIX"
.IF "$(GUI)"=="UNX"
SHL5SONAME=\"$(SONAME_SWITCH)$(SHL5TARGETN:f)\"
.ENDIF # "$(GUI)"!="UNX"
@@ -2380,7 +2231,7 @@ SHL5LINKRESO*=$(MISC)/$(SHL5TARGET)_res.o
#.IF "$(SHL5TARGETN)"!=""
.IF "$(linkinc)"!=""
-.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(SHL5LIBS)"!=""
$(MISC)/$(SHL5TARGET)_linkinc.ls .PHONY:
@@-$(RM) $@
@@ -2393,7 +2244,7 @@ $(SHL5TARGETN) : $(LINKINCTARGETS)
.ELSE
.IF "$(SHL5USE_EXPORTS)"=="name"
-.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(COM)"!="GCC"
.IF "$(SHL5LIBS)"!=""
SHL5LINKLIST=$(MISC)/$(SHL5TARGET)_link.lst
@@ -2410,20 +2261,6 @@ $(MISC)/%linkinc.ls:
@echo . > $@
.ENDIF # "$(linkinc)"!=""
-.IF "$(GUI)" == "OS2"
-#21/02/2006 YD dll names must be 8.3, invoke fix script
-#check osl/os2/module.c/osl_loadModule()
-SHL5TARGET8=$(shell @fix_shl $(SHL5TARGET))
-.ENDIF
-
-.IF "$(GUI)" == "OS2"
-_SHL5IMP_ORD = $(SHL5STDLIBS:^"$(SOLARVERSION)/$(INPATH)/lib/") $(SHL5STDLIBS:^"$(LB)/")
-SHL5IMP_ORD = $(foreach,i,$(_SHL5IMP_ORD) $(shell @-ls $i))
-.ELSE
-SHL5IMP_ORD =
-.ENDIF
-
-
$(SHL5TARGETN) : \
$(SHL5OBJS)\
$(SHL5LIBS)\
@@ -2432,7 +2269,6 @@ $(SHL5TARGETN) : \
$(USE_SHL5VERSIONMAP)\
$(SHL5RES)\
$(SHL5DEPN) \
- $(SHL5IMP_ORD) \
$(SHL5LINKLIST)
@echo "Making: " $(@:f)
.IF "$(GUI)" == "WNT"
@@ -2454,39 +2290,69 @@ $(SHL5TARGETN) : \
@echo $(EMQ)#define INTERNAL_NAME $(SHL5TARGET:b) >> $(MISC)/$(SHL5DEFAULTRES:b).rc
@echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL5DEFAULTRES:b).rc
.ENDIF # "$(use_shl_versions)" != ""
- $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL5DEFAULTRES:b).rc
+.IF "$(RCFLAGSOUTRES)"!=""
+# rc, takes separate flag naming output file, source .rc file last
+ $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(RCFLAGSOUTRES)$(SHL5DEFAULTRES) $(MISC)/$(SHL5DEFAULTRES:b).rc
+.ELSE
+# windres, just takes output file last
+ $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL5DEFAULTRES:b).rc $(SHL5DEFAULTRES)
+.ENDIF
.ENDIF # "$(SHL5DEFAULTRES)"!=""
.IF "$(SHL5ALLRES)"!=""
$(COMMAND_ECHO)$(TYPE) $(SHL5ALLRES) > $(SHL5LINKRES)
.IF "$(COM)"=="GCC"
- windres $(SHL5LINKRES) $(SHL5LINKRESO)
+ $(WINDRES) $(SHL5LINKRES) $(SHL5LINKRESO)
.ENDIF # "$(COM)"=="GCC"
.ENDIF # "$(SHL5ALLRES)"!=""
.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
- @echo dlltool --dllname $(SHL5TARGET)$(DLLPOST) \
- --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_5.cmd
+# GNU ld since 2.17 supports @cmdfile syntax
+.IF "$(USE_DEFFILE)"!=""
+ @$(COMMAND_ECHO)$(LINK) @$(mktmp $(strip \
+ $(SHL5LINKFLAGS) \
+ $(LINKFLAGSSHL) \
+ $(SOLARLIB) \
+ $(MINGWSSTDOBJ) \
+ -o $@ \
+ -Wl,-Map,$(MISC)/$(@:b).map \
+ $(SHL5DEF) \
+ $(USE_5IMPLIB) \
+ $(STDOBJ) \
+ $(SHL5VERSIONOBJ) $(SHL5OBJS) \
+ $(subst,$(ROUT),$(PRJ)/$(ROUT) $(shell cat /dev/null $(SHL5LIBS))) \
+ -Wl,--exclude-libs,ALL,--start-group $(SHL5STDLIBS) -Wl,--end-group \
+ $(SHL5STDSHL) $(STDSHL5) \
+ $(SHL5LINKRESO) \
+ ))
+.ELSE
@noop $(assign ALL5OBJLIST:=$(STDOBJ) $(SHL5OBJS) $(SHL5LINKRESO) $(shell $(TYPE) /dev/null $(SHL5LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g))
.IF "$(DEFLIB5NAME)"!="" # do not have to include objs
@noop $(assign DEF5OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB5NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g))
@noop $(foreach,i,$(DEF5OBJLIST) $(assign ALL5OBJLIST:=$(ALL5OBJLIST:s?$i??)))
.ENDIF # "$(DEFLIB5NAME)"!=""
- @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_5.cmd
-.IF "$(SHL5DEF)"!=""
- @echo --input-def $(SHL5DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_5.cmd
-.ELSE
- @echo $(SHL5VERSIONOBJ) $(SHL5DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_5.cmd
-.ENDIF
- @echo $(ALL5OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_5.cmd
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \
- $(STDOBJ) $(SHL5VERSIONOBJ) $(SHL5DESCRIPTIONOBJ) $(SHL5OBJS) $(SHL5LINKRESO) \
- `$(TYPE) /dev/null $(SHL5LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
+ $(COMMAND_ECHO)$(DLLTOOL) @@(mktmp \
+ --dllname $(SHL5TARGET)$(DLLPOST) \
+ --kill-at \
+ --output-exp $(MISC)/$(@:b)_exp.o \
+ $(SHL5VERSIONOBJ) \
+ @(ALL5OBJLIST)
+ )
+ $(COMMAND_ECHO)$(LINK) @$(mktmp $(strip \
+ $(SHL5LINKFLAGS) \
+ $(LINKFLAGSSHL) \
+ $(SOLARLIB) \
+ $(MINGWSSTDOBJ) \
+ -o $@ \
+ -Wl,-Map,$(MISC)/$(@:b).map \
+ $(MISC)/$(@:b)_exp.o \
+ $(USE_5IMPLIB) \
+ $(STDOBJ) \
+ $(SHL5VERSIONOBJ) $(SHL5OBJS) \
+ $(subst,$(ROUT),$(PRJ)/$(ROUT) $(shell cat /dev/null $(SHL5LIBS))) \
-Wl,--exclude-libs,ALL,--start-group $(SHL5STDLIBS) -Wl,--end-group \
- $(SHL5STDSHL) $(STDSHL5) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \
- -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_5.cmd
- .IF "$(VERBOSE)" == "TRUE"
- @$(TYPE) $(MISC)/$(TARGET).$(@:b)_5.cmd
- .ENDIF
- @+source $(MISC)/$(TARGET).$(@:b)_5.cmd
+ $(SHL5STDSHL) $(STDSHL5) \
+ $(SHL5LINKRESO) \
+ ))
+.ENDIF
.ELSE
.IF "$(linkinc)"==""
.IF "$(SHL5USE_EXPORTS)"!="name"
@@ -2601,7 +2467,7 @@ $(SHL5TARGETN) : \
@echo $(STDSLO) $(SHL5OBJS:s/.obj/.o/) \
$(SHL5VERSIONOBJ) \
`cat /dev/null $(SHL5LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list
- @echo -n $(SHL5LINKER) $(SHL5LINKFLAGS) $(SHL5VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \
+ @/bin/echo -n $(SHL5LINKER) $(SHL5LINKFLAGS) $(SHL5VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \
$(SHL5STDLIBS) $(SHL5ARCHIVES) $(SHL5STDSHL) $(STDSHL5) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_5.cmd
@$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
`cat $(MISC)/$(TARGET).$(@:b)_5.cmd` \
@@ -2621,6 +2487,9 @@ $(SHL5TARGETN) : \
$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS5) $(SHL5TARGETN)
.ENDIF # "$(SHL5NOCHECK)"!=""
.ENDIF
+.ELIF "$(OS)"=="IOS"
+ $(COMMAND_ECHO)$(AR) $(LIB5FLAGS) $(LIBFLAGS) $@ $(subst,.obj,.o $(SHL5OBJS)) $(shell cat /dev/null $(LIB5TARGET) $(SHL5LIBS) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g)
+ $(COMMAND_ECHO)$(RANLIB) $@
.ELSE # "$(OS)"=="MACOSX"
@-$(RM) $(MISC)/$(TARGET).$(@:b)_5.cmd
@echo $(SHL5LINKER) $(SHL5LINKFLAGS) $(SHL5SONAME) $(LINKFLAGSSHL) $(SHL5VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL5OBJS:s/.obj/.o/) \
@@ -2643,7 +2512,7 @@ $(SHL5TARGETN) : \
.ENDIF # "$(SHL5NOCHECK)"!=""
.ENDIF # "$(UPDATER)"=="YES"
.ENDIF # "$(OS)"=="MACOSX"
-.IF "$(UNIXVERSIONNAMES)"!=""
+.IF "$(UNIXVERSIONNAMES)"!="" && "$(OS)"!="IOS"
$(COMMAND_ECHO)$(RM) $(LB)/$(SHL5TARGETN:b)
$(COMMAND_ECHO)cd $(LB) && ln -s $(SHL5TARGETN:f) $(SHL5TARGETN:b)
.ENDIF # "$(UNIXVERSIONNAMES)"!=""
@@ -2652,75 +2521,12 @@ $(SHL5TARGETN) : \
.ENDIF
.ENDIF # "$(GUI)" == "UNX"
-.IF "$(GUI)" == "OS2"
-
-.IF "$(SHL5DEFAULTRES)"!=""
- @+-$(RM) $(MISC)/$(SHL5DEFAULTRES:b).rc >& $(NULLDEV)
-.IF "$(SHL5ICON)" != ""
- @-+echo 1 ICON $(SHL5ICON) >> $(MISC)/$(SHL5DEFAULTRES:b).rc
-.ENDIF
-.IF "$(use_shl_versions)" != ""
-.IF "$(SHL5ADD_VERINFO)"!=""
- @-+echo $(EMQ)#include $(EMQ)"$(SHL5ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL5DEFAULTRES:b).rc
-.ENDIF # "$(SHL5ADD_VERINFO)"!=""
- @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL5DEFAULTRES:b).rc
-# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL5DEFAULTRES:b).rc
-.ENDIF # "$(use_shl_versions)" != ""
-# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR)
- $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL5DEFAULTRES:b).rc
-.ENDIF # "$(SHL5DEFAULTRES)"!=""
-
-.IF "$(SHL5ALLRES)"!=""
- $(COMMAND_ECHO)+$(TYPE) $(SHL5ALLRES) > $(SHL5LINKRES)
-.ENDIF # "$(SHL5ALLRES)"!=""
-
-.IF "$(USE_DEFFILE)"!=""
-
- $(COMMAND_ECHO)$(SHL5LINKER) $(SHL5LINKFLAGS) $(LINKFLAGSSHL) -o $@ \
- $(SHL5DEF) \
- $(STDOBJ) \
- -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(SHL5OBJS) $(SHL5VERSIONOBJ) \
- $(SHL5LIBS) \
- $(SHL5STDLIBS:^"-l") \
- $(SHL5LINKRES) \
- $(SHL5STDSHL:^"-l") $(STDSHL5:^"-l")
-
-.ELSE # "$(USE_DEFFILE)"!=""
-
- $(COMMAND_ECHO)$(SHL5LINKER) -v $(SHL5LINKFLAGS) \
- $(LINKFLAGSSHL) $(SHL5BASEX) \
- $(SHL5STACK) -o $(SHL5TARGETN) \
- $(SHL5DEF) \
- $(STDOBJ) \
- -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(SHL5OBJS) $(SHL5VERSIONOBJ) \
- $(SHL5LIBS) \
- $(SHL5STDLIBS:^"-l") \
- $(SHL5LINKRES) \
- $(SHL5STDSHL:^"-l") $(STDSHL5:^"-l") \
- @$(LS) $@ >& $(NULLDEV)
-
-.ENDIF # "$(USE_DEFFILE)"!=""
-
-.IF "$(SHL5TARGET8)" != "$(SHL5TARGET)"
- $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL5TARGET8).dll
-.ENDIF
-
-.ENDIF # "$(GUI)" == "OS2"
-
.ENDIF # "$(SHL5TARGETN)"!=""
# unroll begin
.IF "$(SHL6TARGETN)"!=""
-.IF "$(OS)"=="AIX"
-SHL6STDLIBS=
-.ENDIF
-
.IF "$(SHLLINKARCONLY)" != ""
SHL6STDLIBS=
STDSHL=
@@ -2777,20 +2583,23 @@ $(MISC)/$(SHL6VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL6VERSIO
.ENDIF
.IF "$(GUI)" != "UNX"
-.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)" == "WNT"
.IF "$(SHL6IMPLIB)" == ""
SHL6IMPLIB=i$(TARGET)_t6
.ENDIF # "$(SHL6IMPLIB)" == ""
.IF "$(COM)" != "GCC"
USE_6IMPLIB=-implib:$(LB)/$(SHL6IMPLIB).lib
-.ENDIF # "$(COM)" != "GCC"
SHL6IMPLIBN=$(LB)/$(SHL6IMPLIB).lib
+.ELSE
+SHL6IMPLIBN=$(LB)/lib$(SHL6IMPLIB).dll.a
+USE_6IMPLIB=-Wl,--out-implib=$(SHL6IMPLIBN)
+.ENDIF # "$(COM)" != "GCC"
ALLTAR : $(SHL6IMPLIBN)
.IF "$(USE_DEFFILE)"==""
USE_6IMPLIB_DEPS=$(LB)/$(SHL6IMPLIB).lib
.ENDIF # "$(USE_DEFFILE)"==""
-.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
+.ENDIF # "$(GUI)" == "WNT"
USE_SHL6DEF=$(SHL6DEF)
.ELSE # "$(GUI)" != "UNX"
USE_SHL6DEF=
@@ -2815,7 +2624,9 @@ $(USE_SHL6VERSIONMAP) .PHONY:
.ENDIF # "$(SHL6VERSIONMAP)"!=""
+.IF "$(OS)" != "AIX"
SHL6VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL6VERSIONMAP)
+.ENDIF
$(USE_SHL6VERSIONMAP): \
$(SHL6OBJS)\
@@ -2852,7 +2663,9 @@ $(USE_SHL6VERSIONMAP) :
#and now for the plain non-generic way...
.IF "$(SHL6VERSIONMAP)"!=""
USE_SHL6VERSIONMAP=$(MISC)/$(SHL6VERSIONMAP:b)_$(SHL6TARGET)$(SHL6VERSIONMAP:e)
+.IF "$(OS)" != "AIX"
SHL6VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL6VERSIONMAP)
+.ENDIF
.IF "$(OS)"=="MACOSX"
$(USE_SHL6VERSIONMAP): $(SHL6OBJS) $(SHL6LIBS)
@@ -2900,7 +2713,7 @@ $(USE_SHL6VERSIONMAP) .ERRREMOVE: $(SHL6VERSIONMAP)
.ENDIF # "$(GUI)" != "UNX"
.IF "$(UNIXVERSIONNAMES)"!=""
-.IF "$(OS)"!="MACOSX"
+.IF "$(OS)"!="MACOSX" && "$(OS)"!="IOS" && "$(OS)"!="AIX"
.IF "$(GUI)"=="UNX"
SHL6SONAME=\"$(SONAME_SWITCH)$(SHL6TARGETN:f)\"
.ENDIF # "$(GUI)"!="UNX"
@@ -2923,7 +2736,7 @@ SHL6LINKRESO*=$(MISC)/$(SHL6TARGET)_res.o
#.IF "$(SHL6TARGETN)"!=""
.IF "$(linkinc)"!=""
-.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(SHL6LIBS)"!=""
$(MISC)/$(SHL6TARGET)_linkinc.ls .PHONY:
@@-$(RM) $@
@@ -2936,7 +2749,7 @@ $(SHL6TARGETN) : $(LINKINCTARGETS)
.ELSE
.IF "$(SHL6USE_EXPORTS)"=="name"
-.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(COM)"!="GCC"
.IF "$(SHL6LIBS)"!=""
SHL6LINKLIST=$(MISC)/$(SHL6TARGET)_link.lst
@@ -2953,20 +2766,6 @@ $(MISC)/%linkinc.ls:
@echo . > $@
.ENDIF # "$(linkinc)"!=""
-.IF "$(GUI)" == "OS2"
-#21/02/2006 YD dll names must be 8.3, invoke fix script
-#check osl/os2/module.c/osl_loadModule()
-SHL6TARGET8=$(shell @fix_shl $(SHL6TARGET))
-.ENDIF
-
-.IF "$(GUI)" == "OS2"
-_SHL6IMP_ORD = $(SHL6STDLIBS:^"$(SOLARVERSION)/$(INPATH)/lib/") $(SHL6STDLIBS:^"$(LB)/")
-SHL6IMP_ORD = $(foreach,i,$(_SHL6IMP_ORD) $(shell @-ls $i))
-.ELSE
-SHL6IMP_ORD =
-.ENDIF
-
-
$(SHL6TARGETN) : \
$(SHL6OBJS)\
$(SHL6LIBS)\
@@ -2975,7 +2774,6 @@ $(SHL6TARGETN) : \
$(USE_SHL6VERSIONMAP)\
$(SHL6RES)\
$(SHL6DEPN) \
- $(SHL6IMP_ORD) \
$(SHL6LINKLIST)
@echo "Making: " $(@:f)
.IF "$(GUI)" == "WNT"
@@ -2997,39 +2795,69 @@ $(SHL6TARGETN) : \
@echo $(EMQ)#define INTERNAL_NAME $(SHL6TARGET:b) >> $(MISC)/$(SHL6DEFAULTRES:b).rc
@echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL6DEFAULTRES:b).rc
.ENDIF # "$(use_shl_versions)" != ""
- $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL6DEFAULTRES:b).rc
+.IF "$(RCFLAGSOUTRES)"!=""
+# rc, takes separate flag naming output file, source .rc file last
+ $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(RCFLAGSOUTRES)$(SHL6DEFAULTRES) $(MISC)/$(SHL6DEFAULTRES:b).rc
+.ELSE
+# windres, just takes output file last
+ $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL6DEFAULTRES:b).rc $(SHL6DEFAULTRES)
+.ENDIF
.ENDIF # "$(SHL6DEFAULTRES)"!=""
.IF "$(SHL6ALLRES)"!=""
$(COMMAND_ECHO)$(TYPE) $(SHL6ALLRES) > $(SHL6LINKRES)
.IF "$(COM)"=="GCC"
- windres $(SHL6LINKRES) $(SHL6LINKRESO)
+ $(WINDRES) $(SHL6LINKRES) $(SHL6LINKRESO)
.ENDIF # "$(COM)"=="GCC"
.ENDIF # "$(SHL6ALLRES)"!=""
.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
- @echo dlltool --dllname $(SHL6TARGET)$(DLLPOST) \
- --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_6.cmd
+# GNU ld since 2.17 supports @cmdfile syntax
+.IF "$(USE_DEFFILE)"!=""
+ @$(COMMAND_ECHO)$(LINK) @$(mktmp $(strip \
+ $(SHL6LINKFLAGS) \
+ $(LINKFLAGSSHL) \
+ $(SOLARLIB) \
+ $(MINGWSSTDOBJ) \
+ -o $@ \
+ -Wl,-Map,$(MISC)/$(@:b).map \
+ $(SHL6DEF) \
+ $(USE_6IMPLIB) \
+ $(STDOBJ) \
+ $(SHL6VERSIONOBJ) $(SHL6OBJS) \
+ $(subst,$(ROUT),$(PRJ)/$(ROUT) $(shell cat /dev/null $(SHL6LIBS))) \
+ -Wl,--exclude-libs,ALL,--start-group $(SHL6STDLIBS) -Wl,--end-group \
+ $(SHL6STDSHL) $(STDSHL6) \
+ $(SHL6LINKRESO) \
+ ))
+.ELSE
@noop $(assign ALL6OBJLIST:=$(STDOBJ) $(SHL6OBJS) $(SHL6LINKRESO) $(shell $(TYPE) /dev/null $(SHL6LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g))
.IF "$(DEFLIB6NAME)"!="" # do not have to include objs
@noop $(assign DEF6OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB6NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g))
@noop $(foreach,i,$(DEF6OBJLIST) $(assign ALL6OBJLIST:=$(ALL6OBJLIST:s?$i??)))
.ENDIF # "$(DEFLIB6NAME)"!=""
- @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_6.cmd
-.IF "$(SHL6DEF)"!=""
- @echo --input-def $(SHL6DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_6.cmd
-.ELSE
- @echo $(SHL6VERSIONOBJ) $(SHL6DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_6.cmd
-.ENDIF
- @echo $(ALL6OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_6.cmd
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \
- $(STDOBJ) $(SHL6VERSIONOBJ) $(SHL6DESCRIPTIONOBJ) $(SHL6OBJS) $(SHL6LINKRESO) \
- `$(TYPE) /dev/null $(SHL6LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
+ $(COMMAND_ECHO)$(DLLTOOL) @@(mktmp \
+ --dllname $(SHL6TARGET)$(DLLPOST) \
+ --kill-at \
+ --output-exp $(MISC)/$(@:b)_exp.o \
+ $(SHL6VERSIONOBJ) \
+ @(ALL6OBJLIST)
+ )
+ $(COMMAND_ECHO)$(LINK) @$(mktmp $(strip \
+ $(SHL6LINKFLAGS) \
+ $(LINKFLAGSSHL) \
+ $(SOLARLIB) \
+ $(MINGWSSTDOBJ) \
+ -o $@ \
+ -Wl,-Map,$(MISC)/$(@:b).map \
+ $(MISC)/$(@:b)_exp.o \
+ $(USE_6IMPLIB) \
+ $(STDOBJ) \
+ $(SHL6VERSIONOBJ) $(SHL6OBJS) \
+ $(subst,$(ROUT),$(PRJ)/$(ROUT) $(shell cat /dev/null $(SHL6LIBS))) \
-Wl,--exclude-libs,ALL,--start-group $(SHL6STDLIBS) -Wl,--end-group \
- $(SHL6STDSHL) $(STDSHL6) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \
- -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_6.cmd
- .IF "$(VERBOSE)" == "TRUE"
- @$(TYPE) $(MISC)/$(TARGET).$(@:b)_6.cmd
- .ENDIF
- @+source $(MISC)/$(TARGET).$(@:b)_6.cmd
+ $(SHL6STDSHL) $(STDSHL6) \
+ $(SHL6LINKRESO) \
+ ))
+.ENDIF
.ELSE
.IF "$(linkinc)"==""
.IF "$(SHL6USE_EXPORTS)"!="name"
@@ -3144,7 +2972,7 @@ $(SHL6TARGETN) : \
@echo $(STDSLO) $(SHL6OBJS:s/.obj/.o/) \
$(SHL6VERSIONOBJ) \
`cat /dev/null $(SHL6LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list
- @echo -n $(SHL6LINKER) $(SHL6LINKFLAGS) $(SHL6VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \
+ @/bin/echo -n $(SHL6LINKER) $(SHL6LINKFLAGS) $(SHL6VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \
$(SHL6STDLIBS) $(SHL6ARCHIVES) $(SHL6STDSHL) $(STDSHL6) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_6.cmd
@$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
`cat $(MISC)/$(TARGET).$(@:b)_6.cmd` \
@@ -3164,6 +2992,9 @@ $(SHL6TARGETN) : \
$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS6) $(SHL6TARGETN)
.ENDIF # "$(SHL6NOCHECK)"!=""
.ENDIF
+.ELIF "$(OS)"=="IOS"
+ $(COMMAND_ECHO)$(AR) $(LIB6FLAGS) $(LIBFLAGS) $@ $(subst,.obj,.o $(SHL6OBJS)) $(shell cat /dev/null $(LIB6TARGET) $(SHL6LIBS) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g)
+ $(COMMAND_ECHO)$(RANLIB) $@
.ELSE # "$(OS)"=="MACOSX"
@-$(RM) $(MISC)/$(TARGET).$(@:b)_6.cmd
@echo $(SHL6LINKER) $(SHL6LINKFLAGS) $(SHL6SONAME) $(LINKFLAGSSHL) $(SHL6VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL6OBJS:s/.obj/.o/) \
@@ -3186,7 +3017,7 @@ $(SHL6TARGETN) : \
.ENDIF # "$(SHL6NOCHECK)"!=""
.ENDIF # "$(UPDATER)"=="YES"
.ENDIF # "$(OS)"=="MACOSX"
-.IF "$(UNIXVERSIONNAMES)"!=""
+.IF "$(UNIXVERSIONNAMES)"!="" && "$(OS)"!="IOS"
$(COMMAND_ECHO)$(RM) $(LB)/$(SHL6TARGETN:b)
$(COMMAND_ECHO)cd $(LB) && ln -s $(SHL6TARGETN:f) $(SHL6TARGETN:b)
.ENDIF # "$(UNIXVERSIONNAMES)"!=""
@@ -3195,75 +3026,12 @@ $(SHL6TARGETN) : \
.ENDIF
.ENDIF # "$(GUI)" == "UNX"
-.IF "$(GUI)" == "OS2"
-
-.IF "$(SHL6DEFAULTRES)"!=""
- @+-$(RM) $(MISC)/$(SHL6DEFAULTRES:b).rc >& $(NULLDEV)
-.IF "$(SHL6ICON)" != ""
- @-+echo 1 ICON $(SHL6ICON) >> $(MISC)/$(SHL6DEFAULTRES:b).rc
-.ENDIF
-.IF "$(use_shl_versions)" != ""
-.IF "$(SHL6ADD_VERINFO)"!=""
- @-+echo $(EMQ)#include $(EMQ)"$(SHL6ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL6DEFAULTRES:b).rc
-.ENDIF # "$(SHL6ADD_VERINFO)"!=""
- @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL6DEFAULTRES:b).rc
-# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL6DEFAULTRES:b).rc
-.ENDIF # "$(use_shl_versions)" != ""
-# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR)
- $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL6DEFAULTRES:b).rc
-.ENDIF # "$(SHL6DEFAULTRES)"!=""
-
-.IF "$(SHL6ALLRES)"!=""
- $(COMMAND_ECHO)+$(TYPE) $(SHL6ALLRES) > $(SHL6LINKRES)
-.ENDIF # "$(SHL6ALLRES)"!=""
-
-.IF "$(USE_DEFFILE)"!=""
-
- $(COMMAND_ECHO)$(SHL6LINKER) $(SHL6LINKFLAGS) $(LINKFLAGSSHL) -o $@ \
- $(SHL6DEF) \
- $(STDOBJ) \
- -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(SHL6OBJS) $(SHL6VERSIONOBJ) \
- $(SHL6LIBS) \
- $(SHL6STDLIBS:^"-l") \
- $(SHL6LINKRES) \
- $(SHL6STDSHL:^"-l") $(STDSHL6:^"-l")
-
-.ELSE # "$(USE_DEFFILE)"!=""
-
- $(COMMAND_ECHO)$(SHL6LINKER) -v $(SHL6LINKFLAGS) \
- $(LINKFLAGSSHL) $(SHL6BASEX) \
- $(SHL6STACK) -o $(SHL6TARGETN) \
- $(SHL6DEF) \
- $(STDOBJ) \
- -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(SHL6OBJS) $(SHL6VERSIONOBJ) \
- $(SHL6LIBS) \
- $(SHL6STDLIBS:^"-l") \
- $(SHL6LINKRES) \
- $(SHL6STDSHL:^"-l") $(STDSHL6:^"-l") \
- @$(LS) $@ >& $(NULLDEV)
-
-.ENDIF # "$(USE_DEFFILE)"!=""
-
-.IF "$(SHL6TARGET8)" != "$(SHL6TARGET)"
- $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL6TARGET8).dll
-.ENDIF
-
-.ENDIF # "$(GUI)" == "OS2"
-
.ENDIF # "$(SHL6TARGETN)"!=""
# unroll begin
.IF "$(SHL7TARGETN)"!=""
-.IF "$(OS)"=="AIX"
-SHL7STDLIBS=
-.ENDIF
-
.IF "$(SHLLINKARCONLY)" != ""
SHL7STDLIBS=
STDSHL=
@@ -3320,20 +3088,23 @@ $(MISC)/$(SHL7VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL7VERSIO
.ENDIF
.IF "$(GUI)" != "UNX"
-.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)" == "WNT"
.IF "$(SHL7IMPLIB)" == ""
SHL7IMPLIB=i$(TARGET)_t7
.ENDIF # "$(SHL7IMPLIB)" == ""
.IF "$(COM)" != "GCC"
USE_7IMPLIB=-implib:$(LB)/$(SHL7IMPLIB).lib
-.ENDIF # "$(COM)" != "GCC"
SHL7IMPLIBN=$(LB)/$(SHL7IMPLIB).lib
+.ELSE
+SHL7IMPLIBN=$(LB)/lib$(SHL7IMPLIB).dll.a
+USE_7IMPLIB=-Wl,--out-implib=$(SHL7IMPLIBN)
+.ENDIF # "$(COM)" != "GCC"
ALLTAR : $(SHL7IMPLIBN)
.IF "$(USE_DEFFILE)"==""
USE_7IMPLIB_DEPS=$(LB)/$(SHL7IMPLIB).lib
.ENDIF # "$(USE_DEFFILE)"==""
-.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
+.ENDIF # "$(GUI)" == "WNT"
USE_SHL7DEF=$(SHL7DEF)
.ELSE # "$(GUI)" != "UNX"
USE_SHL7DEF=
@@ -3358,7 +3129,9 @@ $(USE_SHL7VERSIONMAP) .PHONY:
.ENDIF # "$(SHL7VERSIONMAP)"!=""
+.IF "$(OS)" != "AIX"
SHL7VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL7VERSIONMAP)
+.ENDIF
$(USE_SHL7VERSIONMAP): \
$(SHL7OBJS)\
@@ -3395,7 +3168,9 @@ $(USE_SHL7VERSIONMAP) :
#and now for the plain non-generic way...
.IF "$(SHL7VERSIONMAP)"!=""
USE_SHL7VERSIONMAP=$(MISC)/$(SHL7VERSIONMAP:b)_$(SHL7TARGET)$(SHL7VERSIONMAP:e)
+.IF "$(OS)" != "AIX"
SHL7VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL7VERSIONMAP)
+.ENDIF
.IF "$(OS)"=="MACOSX"
$(USE_SHL7VERSIONMAP): $(SHL7OBJS) $(SHL7LIBS)
@@ -3443,7 +3218,7 @@ $(USE_SHL7VERSIONMAP) .ERRREMOVE: $(SHL7VERSIONMAP)
.ENDIF # "$(GUI)" != "UNX"
.IF "$(UNIXVERSIONNAMES)"!=""
-.IF "$(OS)"!="MACOSX"
+.IF "$(OS)"!="MACOSX" && "$(OS)"!="IOS" && "$(OS)"!="AIX"
.IF "$(GUI)"=="UNX"
SHL7SONAME=\"$(SONAME_SWITCH)$(SHL7TARGETN:f)\"
.ENDIF # "$(GUI)"!="UNX"
@@ -3466,7 +3241,7 @@ SHL7LINKRESO*=$(MISC)/$(SHL7TARGET)_res.o
#.IF "$(SHL7TARGETN)"!=""
.IF "$(linkinc)"!=""
-.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(SHL7LIBS)"!=""
$(MISC)/$(SHL7TARGET)_linkinc.ls .PHONY:
@@-$(RM) $@
@@ -3479,7 +3254,7 @@ $(SHL7TARGETN) : $(LINKINCTARGETS)
.ELSE
.IF "$(SHL7USE_EXPORTS)"=="name"
-.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(COM)"!="GCC"
.IF "$(SHL7LIBS)"!=""
SHL7LINKLIST=$(MISC)/$(SHL7TARGET)_link.lst
@@ -3496,20 +3271,6 @@ $(MISC)/%linkinc.ls:
@echo . > $@
.ENDIF # "$(linkinc)"!=""
-.IF "$(GUI)" == "OS2"
-#21/02/2006 YD dll names must be 8.3, invoke fix script
-#check osl/os2/module.c/osl_loadModule()
-SHL7TARGET8=$(shell @fix_shl $(SHL7TARGET))
-.ENDIF
-
-.IF "$(GUI)" == "OS2"
-_SHL7IMP_ORD = $(SHL7STDLIBS:^"$(SOLARVERSION)/$(INPATH)/lib/") $(SHL7STDLIBS:^"$(LB)/")
-SHL7IMP_ORD = $(foreach,i,$(_SHL7IMP_ORD) $(shell @-ls $i))
-.ELSE
-SHL7IMP_ORD =
-.ENDIF
-
-
$(SHL7TARGETN) : \
$(SHL7OBJS)\
$(SHL7LIBS)\
@@ -3518,7 +3279,6 @@ $(SHL7TARGETN) : \
$(USE_SHL7VERSIONMAP)\
$(SHL7RES)\
$(SHL7DEPN) \
- $(SHL7IMP_ORD) \
$(SHL7LINKLIST)
@echo "Making: " $(@:f)
.IF "$(GUI)" == "WNT"
@@ -3540,39 +3300,69 @@ $(SHL7TARGETN) : \
@echo $(EMQ)#define INTERNAL_NAME $(SHL7TARGET:b) >> $(MISC)/$(SHL7DEFAULTRES:b).rc
@echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL7DEFAULTRES:b).rc
.ENDIF # "$(use_shl_versions)" != ""
- $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL7DEFAULTRES:b).rc
+.IF "$(RCFLAGSOUTRES)"!=""
+# rc, takes separate flag naming output file, source .rc file last
+ $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(RCFLAGSOUTRES)$(SHL7DEFAULTRES) $(MISC)/$(SHL7DEFAULTRES:b).rc
+.ELSE
+# windres, just takes output file last
+ $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL7DEFAULTRES:b).rc $(SHL7DEFAULTRES)
+.ENDIF
.ENDIF # "$(SHL7DEFAULTRES)"!=""
.IF "$(SHL7ALLRES)"!=""
$(COMMAND_ECHO)$(TYPE) $(SHL7ALLRES) > $(SHL7LINKRES)
.IF "$(COM)"=="GCC"
- windres $(SHL7LINKRES) $(SHL7LINKRESO)
+ $(WINDRES) $(SHL7LINKRES) $(SHL7LINKRESO)
.ENDIF # "$(COM)"=="GCC"
.ENDIF # "$(SHL7ALLRES)"!=""
.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
- @echo dlltool --dllname $(SHL7TARGET)$(DLLPOST) \
- --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_7.cmd
+# GNU ld since 2.17 supports @cmdfile syntax
+.IF "$(USE_DEFFILE)"!=""
+ @$(COMMAND_ECHO)$(LINK) @$(mktmp $(strip \
+ $(SHL7LINKFLAGS) \
+ $(LINKFLAGSSHL) \
+ $(SOLARLIB) \
+ $(MINGWSSTDOBJ) \
+ -o $@ \
+ -Wl,-Map,$(MISC)/$(@:b).map \
+ $(SHL7DEF) \
+ $(USE_7IMPLIB) \
+ $(STDOBJ) \
+ $(SHL7VERSIONOBJ) $(SHL7OBJS) \
+ $(subst,$(ROUT),$(PRJ)/$(ROUT) $(shell cat /dev/null $(SHL7LIBS))) \
+ -Wl,--exclude-libs,ALL,--start-group $(SHL7STDLIBS) -Wl,--end-group \
+ $(SHL7STDSHL) $(STDSHL7) \
+ $(SHL7LINKRESO) \
+ ))
+.ELSE
@noop $(assign ALL7OBJLIST:=$(STDOBJ) $(SHL7OBJS) $(SHL7LINKRESO) $(shell $(TYPE) /dev/null $(SHL7LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g))
.IF "$(DEFLIB7NAME)"!="" # do not have to include objs
@noop $(assign DEF7OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB7NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g))
@noop $(foreach,i,$(DEF7OBJLIST) $(assign ALL7OBJLIST:=$(ALL7OBJLIST:s?$i??)))
.ENDIF # "$(DEFLIB7NAME)"!=""
- @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_7.cmd
-.IF "$(SHL7DEF)"!=""
- @echo --input-def $(SHL7DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_7.cmd
-.ELSE
- @echo $(SHL7VERSIONOBJ) $(SHL7DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_7.cmd
-.ENDIF
- @echo $(ALL7OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_7.cmd
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \
- $(STDOBJ) $(SHL7VERSIONOBJ) $(SHL7DESCRIPTIONOBJ) $(SHL7OBJS) $(SHL7LINKRESO) \
- `$(TYPE) /dev/null $(SHL7LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
+ $(COMMAND_ECHO)$(DLLTOOL) @@(mktmp \
+ --dllname $(SHL7TARGET)$(DLLPOST) \
+ --kill-at \
+ --output-exp $(MISC)/$(@:b)_exp.o \
+ $(SHL7VERSIONOBJ) \
+ @(ALL7OBJLIST)
+ )
+ $(COMMAND_ECHO)$(LINK) @$(mktmp $(strip \
+ $(SHL7LINKFLAGS) \
+ $(LINKFLAGSSHL) \
+ $(SOLARLIB) \
+ $(MINGWSSTDOBJ) \
+ -o $@ \
+ -Wl,-Map,$(MISC)/$(@:b).map \
+ $(MISC)/$(@:b)_exp.o \
+ $(USE_7IMPLIB) \
+ $(STDOBJ) \
+ $(SHL7VERSIONOBJ) $(SHL7OBJS) \
+ $(subst,$(ROUT),$(PRJ)/$(ROUT) $(shell cat /dev/null $(SHL7LIBS))) \
-Wl,--exclude-libs,ALL,--start-group $(SHL7STDLIBS) -Wl,--end-group \
- $(SHL7STDSHL) $(STDSHL7) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \
- -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_7.cmd
- .IF "$(VERBOSE)" == "TRUE"
- @$(TYPE) $(MISC)/$(TARGET).$(@:b)_7.cmd
- .ENDIF
- @+source $(MISC)/$(TARGET).$(@:b)_7.cmd
+ $(SHL7STDSHL) $(STDSHL7) \
+ $(SHL7LINKRESO) \
+ ))
+.ENDIF
.ELSE
.IF "$(linkinc)"==""
.IF "$(SHL7USE_EXPORTS)"!="name"
@@ -3687,7 +3477,7 @@ $(SHL7TARGETN) : \
@echo $(STDSLO) $(SHL7OBJS:s/.obj/.o/) \
$(SHL7VERSIONOBJ) \
`cat /dev/null $(SHL7LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list
- @echo -n $(SHL7LINKER) $(SHL7LINKFLAGS) $(SHL7VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \
+ @/bin/echo -n $(SHL7LINKER) $(SHL7LINKFLAGS) $(SHL7VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \
$(SHL7STDLIBS) $(SHL7ARCHIVES) $(SHL7STDSHL) $(STDSHL7) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_7.cmd
@$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
`cat $(MISC)/$(TARGET).$(@:b)_7.cmd` \
@@ -3707,6 +3497,9 @@ $(SHL7TARGETN) : \
$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS7) $(SHL7TARGETN)
.ENDIF # "$(SHL7NOCHECK)"!=""
.ENDIF
+.ELIF "$(OS)"=="IOS"
+ $(COMMAND_ECHO)$(AR) $(LIB7FLAGS) $(LIBFLAGS) $@ $(subst,.obj,.o $(SHL7OBJS)) $(shell cat /dev/null $(LIB7TARGET) $(SHL7LIBS) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g)
+ $(COMMAND_ECHO)$(RANLIB) $@
.ELSE # "$(OS)"=="MACOSX"
@-$(RM) $(MISC)/$(TARGET).$(@:b)_7.cmd
@echo $(SHL7LINKER) $(SHL7LINKFLAGS) $(SHL7SONAME) $(LINKFLAGSSHL) $(SHL7VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL7OBJS:s/.obj/.o/) \
@@ -3729,7 +3522,7 @@ $(SHL7TARGETN) : \
.ENDIF # "$(SHL7NOCHECK)"!=""
.ENDIF # "$(UPDATER)"=="YES"
.ENDIF # "$(OS)"=="MACOSX"
-.IF "$(UNIXVERSIONNAMES)"!=""
+.IF "$(UNIXVERSIONNAMES)"!="" && "$(OS)"!="IOS"
$(COMMAND_ECHO)$(RM) $(LB)/$(SHL7TARGETN:b)
$(COMMAND_ECHO)cd $(LB) && ln -s $(SHL7TARGETN:f) $(SHL7TARGETN:b)
.ENDIF # "$(UNIXVERSIONNAMES)"!=""
@@ -3738,75 +3531,12 @@ $(SHL7TARGETN) : \
.ENDIF
.ENDIF # "$(GUI)" == "UNX"
-.IF "$(GUI)" == "OS2"
-
-.IF "$(SHL7DEFAULTRES)"!=""
- @+-$(RM) $(MISC)/$(SHL7DEFAULTRES:b).rc >& $(NULLDEV)
-.IF "$(SHL7ICON)" != ""
- @-+echo 1 ICON $(SHL7ICON) >> $(MISC)/$(SHL7DEFAULTRES:b).rc
-.ENDIF
-.IF "$(use_shl_versions)" != ""
-.IF "$(SHL7ADD_VERINFO)"!=""
- @-+echo $(EMQ)#include $(EMQ)"$(SHL7ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL7DEFAULTRES:b).rc
-.ENDIF # "$(SHL7ADD_VERINFO)"!=""
- @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL7DEFAULTRES:b).rc
-# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL7DEFAULTRES:b).rc
-.ENDIF # "$(use_shl_versions)" != ""
-# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR)
- $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL7DEFAULTRES:b).rc
-.ENDIF # "$(SHL7DEFAULTRES)"!=""
-
-.IF "$(SHL7ALLRES)"!=""
- $(COMMAND_ECHO)+$(TYPE) $(SHL7ALLRES) > $(SHL7LINKRES)
-.ENDIF # "$(SHL7ALLRES)"!=""
-
-.IF "$(USE_DEFFILE)"!=""
-
- $(COMMAND_ECHO)$(SHL7LINKER) $(SHL7LINKFLAGS) $(LINKFLAGSSHL) -o $@ \
- $(SHL7DEF) \
- $(STDOBJ) \
- -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(SHL7OBJS) $(SHL7VERSIONOBJ) \
- $(SHL7LIBS) \
- $(SHL7STDLIBS:^"-l") \
- $(SHL7LINKRES) \
- $(SHL7STDSHL:^"-l") $(STDSHL7:^"-l")
-
-.ELSE # "$(USE_DEFFILE)"!=""
-
- $(COMMAND_ECHO)$(SHL7LINKER) -v $(SHL7LINKFLAGS) \
- $(LINKFLAGSSHL) $(SHL7BASEX) \
- $(SHL7STACK) -o $(SHL7TARGETN) \
- $(SHL7DEF) \
- $(STDOBJ) \
- -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(SHL7OBJS) $(SHL7VERSIONOBJ) \
- $(SHL7LIBS) \
- $(SHL7STDLIBS:^"-l") \
- $(SHL7LINKRES) \
- $(SHL7STDSHL:^"-l") $(STDSHL7:^"-l") \
- @$(LS) $@ >& $(NULLDEV)
-
-.ENDIF # "$(USE_DEFFILE)"!=""
-
-.IF "$(SHL7TARGET8)" != "$(SHL7TARGET)"
- $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL7TARGET8).dll
-.ENDIF
-
-.ENDIF # "$(GUI)" == "OS2"
-
.ENDIF # "$(SHL7TARGETN)"!=""
# unroll begin
.IF "$(SHL8TARGETN)"!=""
-.IF "$(OS)"=="AIX"
-SHL8STDLIBS=
-.ENDIF
-
.IF "$(SHLLINKARCONLY)" != ""
SHL8STDLIBS=
STDSHL=
@@ -3863,20 +3593,23 @@ $(MISC)/$(SHL8VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL8VERSIO
.ENDIF
.IF "$(GUI)" != "UNX"
-.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)" == "WNT"
.IF "$(SHL8IMPLIB)" == ""
SHL8IMPLIB=i$(TARGET)_t8
.ENDIF # "$(SHL8IMPLIB)" == ""
.IF "$(COM)" != "GCC"
USE_8IMPLIB=-implib:$(LB)/$(SHL8IMPLIB).lib
-.ENDIF # "$(COM)" != "GCC"
SHL8IMPLIBN=$(LB)/$(SHL8IMPLIB).lib
+.ELSE
+SHL8IMPLIBN=$(LB)/lib$(SHL8IMPLIB).dll.a
+USE_8IMPLIB=-Wl,--out-implib=$(SHL8IMPLIBN)
+.ENDIF # "$(COM)" != "GCC"
ALLTAR : $(SHL8IMPLIBN)
.IF "$(USE_DEFFILE)"==""
USE_8IMPLIB_DEPS=$(LB)/$(SHL8IMPLIB).lib
.ENDIF # "$(USE_DEFFILE)"==""
-.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
+.ENDIF # "$(GUI)" == "WNT"
USE_SHL8DEF=$(SHL8DEF)
.ELSE # "$(GUI)" != "UNX"
USE_SHL8DEF=
@@ -3901,7 +3634,9 @@ $(USE_SHL8VERSIONMAP) .PHONY:
.ENDIF # "$(SHL8VERSIONMAP)"!=""
+.IF "$(OS)" != "AIX"
SHL8VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL8VERSIONMAP)
+.ENDIF
$(USE_SHL8VERSIONMAP): \
$(SHL8OBJS)\
@@ -3938,7 +3673,9 @@ $(USE_SHL8VERSIONMAP) :
#and now for the plain non-generic way...
.IF "$(SHL8VERSIONMAP)"!=""
USE_SHL8VERSIONMAP=$(MISC)/$(SHL8VERSIONMAP:b)_$(SHL8TARGET)$(SHL8VERSIONMAP:e)
+.IF "$(OS)" != "AIX"
SHL8VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL8VERSIONMAP)
+.ENDIF
.IF "$(OS)"=="MACOSX"
$(USE_SHL8VERSIONMAP): $(SHL8OBJS) $(SHL8LIBS)
@@ -3986,7 +3723,7 @@ $(USE_SHL8VERSIONMAP) .ERRREMOVE: $(SHL8VERSIONMAP)
.ENDIF # "$(GUI)" != "UNX"
.IF "$(UNIXVERSIONNAMES)"!=""
-.IF "$(OS)"!="MACOSX"
+.IF "$(OS)"!="MACOSX" && "$(OS)"!="IOS" && "$(OS)"!="AIX"
.IF "$(GUI)"=="UNX"
SHL8SONAME=\"$(SONAME_SWITCH)$(SHL8TARGETN:f)\"
.ENDIF # "$(GUI)"!="UNX"
@@ -4009,7 +3746,7 @@ SHL8LINKRESO*=$(MISC)/$(SHL8TARGET)_res.o
#.IF "$(SHL8TARGETN)"!=""
.IF "$(linkinc)"!=""
-.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(SHL8LIBS)"!=""
$(MISC)/$(SHL8TARGET)_linkinc.ls .PHONY:
@@-$(RM) $@
@@ -4022,7 +3759,7 @@ $(SHL8TARGETN) : $(LINKINCTARGETS)
.ELSE
.IF "$(SHL8USE_EXPORTS)"=="name"
-.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(COM)"!="GCC"
.IF "$(SHL8LIBS)"!=""
SHL8LINKLIST=$(MISC)/$(SHL8TARGET)_link.lst
@@ -4039,20 +3776,6 @@ $(MISC)/%linkinc.ls:
@echo . > $@
.ENDIF # "$(linkinc)"!=""
-.IF "$(GUI)" == "OS2"
-#21/02/2006 YD dll names must be 8.3, invoke fix script
-#check osl/os2/module.c/osl_loadModule()
-SHL8TARGET8=$(shell @fix_shl $(SHL8TARGET))
-.ENDIF
-
-.IF "$(GUI)" == "OS2"
-_SHL8IMP_ORD = $(SHL8STDLIBS:^"$(SOLARVERSION)/$(INPATH)/lib/") $(SHL8STDLIBS:^"$(LB)/")
-SHL8IMP_ORD = $(foreach,i,$(_SHL8IMP_ORD) $(shell @-ls $i))
-.ELSE
-SHL8IMP_ORD =
-.ENDIF
-
-
$(SHL8TARGETN) : \
$(SHL8OBJS)\
$(SHL8LIBS)\
@@ -4061,7 +3784,6 @@ $(SHL8TARGETN) : \
$(USE_SHL8VERSIONMAP)\
$(SHL8RES)\
$(SHL8DEPN) \
- $(SHL8IMP_ORD) \
$(SHL8LINKLIST)
@echo "Making: " $(@:f)
.IF "$(GUI)" == "WNT"
@@ -4083,39 +3805,69 @@ $(SHL8TARGETN) : \
@echo $(EMQ)#define INTERNAL_NAME $(SHL8TARGET:b) >> $(MISC)/$(SHL8DEFAULTRES:b).rc
@echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL8DEFAULTRES:b).rc
.ENDIF # "$(use_shl_versions)" != ""
- $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL8DEFAULTRES:b).rc
+.IF "$(RCFLAGSOUTRES)"!=""
+# rc, takes separate flag naming output file, source .rc file last
+ $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(RCFLAGSOUTRES)$(SHL8DEFAULTRES) $(MISC)/$(SHL8DEFAULTRES:b).rc
+.ELSE
+# windres, just takes output file last
+ $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL8DEFAULTRES:b).rc $(SHL8DEFAULTRES)
+.ENDIF
.ENDIF # "$(SHL8DEFAULTRES)"!=""
.IF "$(SHL8ALLRES)"!=""
$(COMMAND_ECHO)$(TYPE) $(SHL8ALLRES) > $(SHL8LINKRES)
.IF "$(COM)"=="GCC"
- windres $(SHL8LINKRES) $(SHL8LINKRESO)
+ $(WINDRES) $(SHL8LINKRES) $(SHL8LINKRESO)
.ENDIF # "$(COM)"=="GCC"
.ENDIF # "$(SHL8ALLRES)"!=""
.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
- @echo dlltool --dllname $(SHL8TARGET)$(DLLPOST) \
- --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_8.cmd
+# GNU ld since 2.17 supports @cmdfile syntax
+.IF "$(USE_DEFFILE)"!=""
+ @$(COMMAND_ECHO)$(LINK) @$(mktmp $(strip \
+ $(SHL8LINKFLAGS) \
+ $(LINKFLAGSSHL) \
+ $(SOLARLIB) \
+ $(MINGWSSTDOBJ) \
+ -o $@ \
+ -Wl,-Map,$(MISC)/$(@:b).map \
+ $(SHL8DEF) \
+ $(USE_8IMPLIB) \
+ $(STDOBJ) \
+ $(SHL8VERSIONOBJ) $(SHL8OBJS) \
+ $(subst,$(ROUT),$(PRJ)/$(ROUT) $(shell cat /dev/null $(SHL8LIBS))) \
+ -Wl,--exclude-libs,ALL,--start-group $(SHL8STDLIBS) -Wl,--end-group \
+ $(SHL8STDSHL) $(STDSHL8) \
+ $(SHL8LINKRESO) \
+ ))
+.ELSE
@noop $(assign ALL8OBJLIST:=$(STDOBJ) $(SHL8OBJS) $(SHL8LINKRESO) $(shell $(TYPE) /dev/null $(SHL8LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g))
.IF "$(DEFLIB8NAME)"!="" # do not have to include objs
@noop $(assign DEF8OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB8NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g))
@noop $(foreach,i,$(DEF8OBJLIST) $(assign ALL8OBJLIST:=$(ALL8OBJLIST:s?$i??)))
.ENDIF # "$(DEFLIB8NAME)"!=""
- @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_8.cmd
-.IF "$(SHL8DEF)"!=""
- @echo --input-def $(SHL8DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_8.cmd
-.ELSE
- @echo $(SHL8VERSIONOBJ) $(SHL8DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_8.cmd
-.ENDIF
- @echo $(ALL8OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_8.cmd
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \
- $(STDOBJ) $(SHL8VERSIONOBJ) $(SHL8DESCRIPTIONOBJ) $(SHL8OBJS) $(SHL8LINKRESO) \
- `$(TYPE) /dev/null $(SHL8LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
+ $(COMMAND_ECHO)$(DLLTOOL) @@(mktmp \
+ --dllname $(SHL8TARGET)$(DLLPOST) \
+ --kill-at \
+ --output-exp $(MISC)/$(@:b)_exp.o \
+ $(SHL8VERSIONOBJ) \
+ @(ALL8OBJLIST)
+ )
+ $(COMMAND_ECHO)$(LINK) @$(mktmp $(strip \
+ $(SHL8LINKFLAGS) \
+ $(LINKFLAGSSHL) \
+ $(SOLARLIB) \
+ $(MINGWSSTDOBJ) \
+ -o $@ \
+ -Wl,-Map,$(MISC)/$(@:b).map \
+ $(MISC)/$(@:b)_exp.o \
+ $(USE_8IMPLIB) \
+ $(STDOBJ) \
+ $(SHL8VERSIONOBJ) $(SHL8OBJS) \
+ $(subst,$(ROUT),$(PRJ)/$(ROUT) $(shell cat /dev/null $(SHL8LIBS))) \
-Wl,--exclude-libs,ALL,--start-group $(SHL8STDLIBS) -Wl,--end-group \
- $(SHL8STDSHL) $(STDSHL8) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \
- -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_8.cmd
- .IF "$(VERBOSE)" == "TRUE"
- @$(TYPE) $(MISC)/$(TARGET).$(@:b)_8.cmd
- .ENDIF
- @+source $(MISC)/$(TARGET).$(@:b)_8.cmd
+ $(SHL8STDSHL) $(STDSHL8) \
+ $(SHL8LINKRESO) \
+ ))
+.ENDIF
.ELSE
.IF "$(linkinc)"==""
.IF "$(SHL8USE_EXPORTS)"!="name"
@@ -4230,7 +3982,7 @@ $(SHL8TARGETN) : \
@echo $(STDSLO) $(SHL8OBJS:s/.obj/.o/) \
$(SHL8VERSIONOBJ) \
`cat /dev/null $(SHL8LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list
- @echo -n $(SHL8LINKER) $(SHL8LINKFLAGS) $(SHL8VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \
+ @/bin/echo -n $(SHL8LINKER) $(SHL8LINKFLAGS) $(SHL8VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \
$(SHL8STDLIBS) $(SHL8ARCHIVES) $(SHL8STDSHL) $(STDSHL8) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_8.cmd
@$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
`cat $(MISC)/$(TARGET).$(@:b)_8.cmd` \
@@ -4250,6 +4002,9 @@ $(SHL8TARGETN) : \
$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS8) $(SHL8TARGETN)
.ENDIF # "$(SHL8NOCHECK)"!=""
.ENDIF
+.ELIF "$(OS)"=="IOS"
+ $(COMMAND_ECHO)$(AR) $(LIB8FLAGS) $(LIBFLAGS) $@ $(subst,.obj,.o $(SHL8OBJS)) $(shell cat /dev/null $(LIB8TARGET) $(SHL8LIBS) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g)
+ $(COMMAND_ECHO)$(RANLIB) $@
.ELSE # "$(OS)"=="MACOSX"
@-$(RM) $(MISC)/$(TARGET).$(@:b)_8.cmd
@echo $(SHL8LINKER) $(SHL8LINKFLAGS) $(SHL8SONAME) $(LINKFLAGSSHL) $(SHL8VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL8OBJS:s/.obj/.o/) \
@@ -4272,7 +4027,7 @@ $(SHL8TARGETN) : \
.ENDIF # "$(SHL8NOCHECK)"!=""
.ENDIF # "$(UPDATER)"=="YES"
.ENDIF # "$(OS)"=="MACOSX"
-.IF "$(UNIXVERSIONNAMES)"!=""
+.IF "$(UNIXVERSIONNAMES)"!="" && "$(OS)"!="IOS"
$(COMMAND_ECHO)$(RM) $(LB)/$(SHL8TARGETN:b)
$(COMMAND_ECHO)cd $(LB) && ln -s $(SHL8TARGETN:f) $(SHL8TARGETN:b)
.ENDIF # "$(UNIXVERSIONNAMES)"!=""
@@ -4281,75 +4036,12 @@ $(SHL8TARGETN) : \
.ENDIF
.ENDIF # "$(GUI)" == "UNX"
-.IF "$(GUI)" == "OS2"
-
-.IF "$(SHL8DEFAULTRES)"!=""
- @+-$(RM) $(MISC)/$(SHL8DEFAULTRES:b).rc >& $(NULLDEV)
-.IF "$(SHL8ICON)" != ""
- @-+echo 1 ICON $(SHL8ICON) >> $(MISC)/$(SHL8DEFAULTRES:b).rc
-.ENDIF
-.IF "$(use_shl_versions)" != ""
-.IF "$(SHL8ADD_VERINFO)"!=""
- @-+echo $(EMQ)#include $(EMQ)"$(SHL8ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL8DEFAULTRES:b).rc
-.ENDIF # "$(SHL8ADD_VERINFO)"!=""
- @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL8DEFAULTRES:b).rc
-# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL8DEFAULTRES:b).rc
-.ENDIF # "$(use_shl_versions)" != ""
-# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR)
- $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL8DEFAULTRES:b).rc
-.ENDIF # "$(SHL8DEFAULTRES)"!=""
-
-.IF "$(SHL8ALLRES)"!=""
- $(COMMAND_ECHO)+$(TYPE) $(SHL8ALLRES) > $(SHL8LINKRES)
-.ENDIF # "$(SHL8ALLRES)"!=""
-
-.IF "$(USE_DEFFILE)"!=""
-
- $(COMMAND_ECHO)$(SHL8LINKER) $(SHL8LINKFLAGS) $(LINKFLAGSSHL) -o $@ \
- $(SHL8DEF) \
- $(STDOBJ) \
- -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(SHL8OBJS) $(SHL8VERSIONOBJ) \
- $(SHL8LIBS) \
- $(SHL8STDLIBS:^"-l") \
- $(SHL8LINKRES) \
- $(SHL8STDSHL:^"-l") $(STDSHL8:^"-l")
-
-.ELSE # "$(USE_DEFFILE)"!=""
-
- $(COMMAND_ECHO)$(SHL8LINKER) -v $(SHL8LINKFLAGS) \
- $(LINKFLAGSSHL) $(SHL8BASEX) \
- $(SHL8STACK) -o $(SHL8TARGETN) \
- $(SHL8DEF) \
- $(STDOBJ) \
- -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(SHL8OBJS) $(SHL8VERSIONOBJ) \
- $(SHL8LIBS) \
- $(SHL8STDLIBS:^"-l") \
- $(SHL8LINKRES) \
- $(SHL8STDSHL:^"-l") $(STDSHL8:^"-l") \
- @$(LS) $@ >& $(NULLDEV)
-
-.ENDIF # "$(USE_DEFFILE)"!=""
-
-.IF "$(SHL8TARGET8)" != "$(SHL8TARGET)"
- $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL8TARGET8).dll
-.ENDIF
-
-.ENDIF # "$(GUI)" == "OS2"
-
.ENDIF # "$(SHL8TARGETN)"!=""
# unroll begin
.IF "$(SHL9TARGETN)"!=""
-.IF "$(OS)"=="AIX"
-SHL9STDLIBS=
-.ENDIF
-
.IF "$(SHLLINKARCONLY)" != ""
SHL9STDLIBS=
STDSHL=
@@ -4406,20 +4098,23 @@ $(MISC)/$(SHL9VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL9VERSIO
.ENDIF
.IF "$(GUI)" != "UNX"
-.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)" == "WNT"
.IF "$(SHL9IMPLIB)" == ""
SHL9IMPLIB=i$(TARGET)_t9
.ENDIF # "$(SHL9IMPLIB)" == ""
.IF "$(COM)" != "GCC"
USE_9IMPLIB=-implib:$(LB)/$(SHL9IMPLIB).lib
-.ENDIF # "$(COM)" != "GCC"
SHL9IMPLIBN=$(LB)/$(SHL9IMPLIB).lib
+.ELSE
+SHL9IMPLIBN=$(LB)/lib$(SHL9IMPLIB).dll.a
+USE_9IMPLIB=-Wl,--out-implib=$(SHL9IMPLIBN)
+.ENDIF # "$(COM)" != "GCC"
ALLTAR : $(SHL9IMPLIBN)
.IF "$(USE_DEFFILE)"==""
USE_9IMPLIB_DEPS=$(LB)/$(SHL9IMPLIB).lib
.ENDIF # "$(USE_DEFFILE)"==""
-.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
+.ENDIF # "$(GUI)" == "WNT"
USE_SHL9DEF=$(SHL9DEF)
.ELSE # "$(GUI)" != "UNX"
USE_SHL9DEF=
@@ -4444,7 +4139,9 @@ $(USE_SHL9VERSIONMAP) .PHONY:
.ENDIF # "$(SHL9VERSIONMAP)"!=""
+.IF "$(OS)" != "AIX"
SHL9VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL9VERSIONMAP)
+.ENDIF
$(USE_SHL9VERSIONMAP): \
$(SHL9OBJS)\
@@ -4481,7 +4178,9 @@ $(USE_SHL9VERSIONMAP) :
#and now for the plain non-generic way...
.IF "$(SHL9VERSIONMAP)"!=""
USE_SHL9VERSIONMAP=$(MISC)/$(SHL9VERSIONMAP:b)_$(SHL9TARGET)$(SHL9VERSIONMAP:e)
+.IF "$(OS)" != "AIX"
SHL9VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL9VERSIONMAP)
+.ENDIF
.IF "$(OS)"=="MACOSX"
$(USE_SHL9VERSIONMAP): $(SHL9OBJS) $(SHL9LIBS)
@@ -4529,7 +4228,7 @@ $(USE_SHL9VERSIONMAP) .ERRREMOVE: $(SHL9VERSIONMAP)
.ENDIF # "$(GUI)" != "UNX"
.IF "$(UNIXVERSIONNAMES)"!=""
-.IF "$(OS)"!="MACOSX"
+.IF "$(OS)"!="MACOSX" && "$(OS)"!="IOS" && "$(OS)"!="AIX"
.IF "$(GUI)"=="UNX"
SHL9SONAME=\"$(SONAME_SWITCH)$(SHL9TARGETN:f)\"
.ENDIF # "$(GUI)"!="UNX"
@@ -4552,7 +4251,7 @@ SHL9LINKRESO*=$(MISC)/$(SHL9TARGET)_res.o
#.IF "$(SHL9TARGETN)"!=""
.IF "$(linkinc)"!=""
-.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(SHL9LIBS)"!=""
$(MISC)/$(SHL9TARGET)_linkinc.ls .PHONY:
@@-$(RM) $@
@@ -4565,7 +4264,7 @@ $(SHL9TARGETN) : $(LINKINCTARGETS)
.ELSE
.IF "$(SHL9USE_EXPORTS)"=="name"
-.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(COM)"!="GCC"
.IF "$(SHL9LIBS)"!=""
SHL9LINKLIST=$(MISC)/$(SHL9TARGET)_link.lst
@@ -4582,20 +4281,6 @@ $(MISC)/%linkinc.ls:
@echo . > $@
.ENDIF # "$(linkinc)"!=""
-.IF "$(GUI)" == "OS2"
-#21/02/2006 YD dll names must be 8.3, invoke fix script
-#check osl/os2/module.c/osl_loadModule()
-SHL9TARGET8=$(shell @fix_shl $(SHL9TARGET))
-.ENDIF
-
-.IF "$(GUI)" == "OS2"
-_SHL9IMP_ORD = $(SHL9STDLIBS:^"$(SOLARVERSION)/$(INPATH)/lib/") $(SHL9STDLIBS:^"$(LB)/")
-SHL9IMP_ORD = $(foreach,i,$(_SHL9IMP_ORD) $(shell @-ls $i))
-.ELSE
-SHL9IMP_ORD =
-.ENDIF
-
-
$(SHL9TARGETN) : \
$(SHL9OBJS)\
$(SHL9LIBS)\
@@ -4604,7 +4289,6 @@ $(SHL9TARGETN) : \
$(USE_SHL9VERSIONMAP)\
$(SHL9RES)\
$(SHL9DEPN) \
- $(SHL9IMP_ORD) \
$(SHL9LINKLIST)
@echo "Making: " $(@:f)
.IF "$(GUI)" == "WNT"
@@ -4626,39 +4310,69 @@ $(SHL9TARGETN) : \
@echo $(EMQ)#define INTERNAL_NAME $(SHL9TARGET:b) >> $(MISC)/$(SHL9DEFAULTRES:b).rc
@echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL9DEFAULTRES:b).rc
.ENDIF # "$(use_shl_versions)" != ""
- $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL9DEFAULTRES:b).rc
+.IF "$(RCFLAGSOUTRES)"!=""
+# rc, takes separate flag naming output file, source .rc file last
+ $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(RCFLAGSOUTRES)$(SHL9DEFAULTRES) $(MISC)/$(SHL9DEFAULTRES:b).rc
+.ELSE
+# windres, just takes output file last
+ $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL9DEFAULTRES:b).rc $(SHL9DEFAULTRES)
+.ENDIF
.ENDIF # "$(SHL9DEFAULTRES)"!=""
.IF "$(SHL9ALLRES)"!=""
$(COMMAND_ECHO)$(TYPE) $(SHL9ALLRES) > $(SHL9LINKRES)
.IF "$(COM)"=="GCC"
- windres $(SHL9LINKRES) $(SHL9LINKRESO)
+ $(WINDRES) $(SHL9LINKRES) $(SHL9LINKRESO)
.ENDIF # "$(COM)"=="GCC"
.ENDIF # "$(SHL9ALLRES)"!=""
.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
- @echo dlltool --dllname $(SHL9TARGET)$(DLLPOST) \
- --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_9.cmd
+# GNU ld since 2.17 supports @cmdfile syntax
+.IF "$(USE_DEFFILE)"!=""
+ @$(COMMAND_ECHO)$(LINK) @$(mktmp $(strip \
+ $(SHL9LINKFLAGS) \
+ $(LINKFLAGSSHL) \
+ $(SOLARLIB) \
+ $(MINGWSSTDOBJ) \
+ -o $@ \
+ -Wl,-Map,$(MISC)/$(@:b).map \
+ $(SHL9DEF) \
+ $(USE_9IMPLIB) \
+ $(STDOBJ) \
+ $(SHL9VERSIONOBJ) $(SHL9OBJS) \
+ $(subst,$(ROUT),$(PRJ)/$(ROUT) $(shell cat /dev/null $(SHL9LIBS))) \
+ -Wl,--exclude-libs,ALL,--start-group $(SHL9STDLIBS) -Wl,--end-group \
+ $(SHL9STDSHL) $(STDSHL9) \
+ $(SHL9LINKRESO) \
+ ))
+.ELSE
@noop $(assign ALL9OBJLIST:=$(STDOBJ) $(SHL9OBJS) $(SHL9LINKRESO) $(shell $(TYPE) /dev/null $(SHL9LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g))
.IF "$(DEFLIB9NAME)"!="" # do not have to include objs
@noop $(assign DEF9OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB9NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g))
@noop $(foreach,i,$(DEF9OBJLIST) $(assign ALL9OBJLIST:=$(ALL9OBJLIST:s?$i??)))
.ENDIF # "$(DEFLIB9NAME)"!=""
- @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_9.cmd
-.IF "$(SHL9DEF)"!=""
- @echo --input-def $(SHL9DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_9.cmd
-.ELSE
- @echo $(SHL9VERSIONOBJ) $(SHL9DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_9.cmd
-.ENDIF
- @echo $(ALL9OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_9.cmd
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \
- $(STDOBJ) $(SHL9VERSIONOBJ) $(SHL9DESCRIPTIONOBJ) $(SHL9OBJS) $(SHL9LINKRESO) \
- `$(TYPE) /dev/null $(SHL9LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
+ $(COMMAND_ECHO)$(DLLTOOL) @@(mktmp \
+ --dllname $(SHL9TARGET)$(DLLPOST) \
+ --kill-at \
+ --output-exp $(MISC)/$(@:b)_exp.o \
+ $(SHL9VERSIONOBJ) \
+ @(ALL9OBJLIST)
+ )
+ $(COMMAND_ECHO)$(LINK) @$(mktmp $(strip \
+ $(SHL9LINKFLAGS) \
+ $(LINKFLAGSSHL) \
+ $(SOLARLIB) \
+ $(MINGWSSTDOBJ) \
+ -o $@ \
+ -Wl,-Map,$(MISC)/$(@:b).map \
+ $(MISC)/$(@:b)_exp.o \
+ $(USE_9IMPLIB) \
+ $(STDOBJ) \
+ $(SHL9VERSIONOBJ) $(SHL9OBJS) \
+ $(subst,$(ROUT),$(PRJ)/$(ROUT) $(shell cat /dev/null $(SHL9LIBS))) \
-Wl,--exclude-libs,ALL,--start-group $(SHL9STDLIBS) -Wl,--end-group \
- $(SHL9STDSHL) $(STDSHL9) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \
- -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_9.cmd
- .IF "$(VERBOSE)" == "TRUE"
- @$(TYPE) $(MISC)/$(TARGET).$(@:b)_9.cmd
- .ENDIF
- @+source $(MISC)/$(TARGET).$(@:b)_9.cmd
+ $(SHL9STDSHL) $(STDSHL9) \
+ $(SHL9LINKRESO) \
+ ))
+.ENDIF
.ELSE
.IF "$(linkinc)"==""
.IF "$(SHL9USE_EXPORTS)"!="name"
@@ -4773,7 +4487,7 @@ $(SHL9TARGETN) : \
@echo $(STDSLO) $(SHL9OBJS:s/.obj/.o/) \
$(SHL9VERSIONOBJ) \
`cat /dev/null $(SHL9LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list
- @echo -n $(SHL9LINKER) $(SHL9LINKFLAGS) $(SHL9VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \
+ @/bin/echo -n $(SHL9LINKER) $(SHL9LINKFLAGS) $(SHL9VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \
$(SHL9STDLIBS) $(SHL9ARCHIVES) $(SHL9STDSHL) $(STDSHL9) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_9.cmd
@$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
`cat $(MISC)/$(TARGET).$(@:b)_9.cmd` \
@@ -4793,6 +4507,9 @@ $(SHL9TARGETN) : \
$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS9) $(SHL9TARGETN)
.ENDIF # "$(SHL9NOCHECK)"!=""
.ENDIF
+.ELIF "$(OS)"=="IOS"
+ $(COMMAND_ECHO)$(AR) $(LIB9FLAGS) $(LIBFLAGS) $@ $(subst,.obj,.o $(SHL9OBJS)) $(shell cat /dev/null $(LIB9TARGET) $(SHL9LIBS) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g)
+ $(COMMAND_ECHO)$(RANLIB) $@
.ELSE # "$(OS)"=="MACOSX"
@-$(RM) $(MISC)/$(TARGET).$(@:b)_9.cmd
@echo $(SHL9LINKER) $(SHL9LINKFLAGS) $(SHL9SONAME) $(LINKFLAGSSHL) $(SHL9VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL9OBJS:s/.obj/.o/) \
@@ -4815,7 +4532,7 @@ $(SHL9TARGETN) : \
.ENDIF # "$(SHL9NOCHECK)"!=""
.ENDIF # "$(UPDATER)"=="YES"
.ENDIF # "$(OS)"=="MACOSX"
-.IF "$(UNIXVERSIONNAMES)"!=""
+.IF "$(UNIXVERSIONNAMES)"!="" && "$(OS)"!="IOS"
$(COMMAND_ECHO)$(RM) $(LB)/$(SHL9TARGETN:b)
$(COMMAND_ECHO)cd $(LB) && ln -s $(SHL9TARGETN:f) $(SHL9TARGETN:b)
.ENDIF # "$(UNIXVERSIONNAMES)"!=""
@@ -4824,75 +4541,12 @@ $(SHL9TARGETN) : \
.ENDIF
.ENDIF # "$(GUI)" == "UNX"
-.IF "$(GUI)" == "OS2"
-
-.IF "$(SHL9DEFAULTRES)"!=""
- @+-$(RM) $(MISC)/$(SHL9DEFAULTRES:b).rc >& $(NULLDEV)
-.IF "$(SHL9ICON)" != ""
- @-+echo 1 ICON $(SHL9ICON) >> $(MISC)/$(SHL9DEFAULTRES:b).rc
-.ENDIF
-.IF "$(use_shl_versions)" != ""
-.IF "$(SHL9ADD_VERINFO)"!=""
- @-+echo $(EMQ)#include $(EMQ)"$(SHL9ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL9DEFAULTRES:b).rc
-.ENDIF # "$(SHL9ADD_VERINFO)"!=""
- @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL9DEFAULTRES:b).rc
-# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL9DEFAULTRES:b).rc
-.ENDIF # "$(use_shl_versions)" != ""
-# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR)
- $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL9DEFAULTRES:b).rc
-.ENDIF # "$(SHL9DEFAULTRES)"!=""
-
-.IF "$(SHL9ALLRES)"!=""
- $(COMMAND_ECHO)+$(TYPE) $(SHL9ALLRES) > $(SHL9LINKRES)
-.ENDIF # "$(SHL9ALLRES)"!=""
-
-.IF "$(USE_DEFFILE)"!=""
-
- $(COMMAND_ECHO)$(SHL9LINKER) $(SHL9LINKFLAGS) $(LINKFLAGSSHL) -o $@ \
- $(SHL9DEF) \
- $(STDOBJ) \
- -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(SHL9OBJS) $(SHL9VERSIONOBJ) \
- $(SHL9LIBS) \
- $(SHL9STDLIBS:^"-l") \
- $(SHL9LINKRES) \
- $(SHL9STDSHL:^"-l") $(STDSHL9:^"-l")
-
-.ELSE # "$(USE_DEFFILE)"!=""
-
- $(COMMAND_ECHO)$(SHL9LINKER) -v $(SHL9LINKFLAGS) \
- $(LINKFLAGSSHL) $(SHL9BASEX) \
- $(SHL9STACK) -o $(SHL9TARGETN) \
- $(SHL9DEF) \
- $(STDOBJ) \
- -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(SHL9OBJS) $(SHL9VERSIONOBJ) \
- $(SHL9LIBS) \
- $(SHL9STDLIBS:^"-l") \
- $(SHL9LINKRES) \
- $(SHL9STDSHL:^"-l") $(STDSHL9:^"-l") \
- @$(LS) $@ >& $(NULLDEV)
-
-.ENDIF # "$(USE_DEFFILE)"!=""
-
-.IF "$(SHL9TARGET8)" != "$(SHL9TARGET)"
- $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL9TARGET8).dll
-.ENDIF
-
-.ENDIF # "$(GUI)" == "OS2"
-
.ENDIF # "$(SHL9TARGETN)"!=""
# unroll begin
.IF "$(SHL10TARGETN)"!=""
-.IF "$(OS)"=="AIX"
-SHL10STDLIBS=
-.ENDIF
-
.IF "$(SHLLINKARCONLY)" != ""
SHL10STDLIBS=
STDSHL=
@@ -4949,20 +4603,23 @@ $(MISC)/$(SHL10VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL10VERS
.ENDIF
.IF "$(GUI)" != "UNX"
-.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)" == "WNT"
.IF "$(SHL10IMPLIB)" == ""
SHL10IMPLIB=i$(TARGET)_t10
.ENDIF # "$(SHL10IMPLIB)" == ""
.IF "$(COM)" != "GCC"
USE_10IMPLIB=-implib:$(LB)/$(SHL10IMPLIB).lib
-.ENDIF # "$(COM)" != "GCC"
SHL10IMPLIBN=$(LB)/$(SHL10IMPLIB).lib
+.ELSE
+SHL10IMPLIBN=$(LB)/lib$(SHL10IMPLIB).dll.a
+USE_10IMPLIB=-Wl,--out-implib=$(SHL10IMPLIBN)
+.ENDIF # "$(COM)" != "GCC"
ALLTAR : $(SHL10IMPLIBN)
.IF "$(USE_DEFFILE)"==""
USE_10IMPLIB_DEPS=$(LB)/$(SHL10IMPLIB).lib
.ENDIF # "$(USE_DEFFILE)"==""
-.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
+.ENDIF # "$(GUI)" == "WNT"
USE_SHL10DEF=$(SHL10DEF)
.ELSE # "$(GUI)" != "UNX"
USE_SHL10DEF=
@@ -4987,7 +4644,9 @@ $(USE_SHL10VERSIONMAP) .PHONY:
.ENDIF # "$(SHL10VERSIONMAP)"!=""
+.IF "$(OS)" != "AIX"
SHL10VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL10VERSIONMAP)
+.ENDIF
$(USE_SHL10VERSIONMAP): \
$(SHL10OBJS)\
@@ -5024,7 +4683,9 @@ $(USE_SHL10VERSIONMAP) :
#and now for the plain non-generic way...
.IF "$(SHL10VERSIONMAP)"!=""
USE_SHL10VERSIONMAP=$(MISC)/$(SHL10VERSIONMAP:b)_$(SHL10TARGET)$(SHL10VERSIONMAP:e)
+.IF "$(OS)" != "AIX"
SHL10VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL10VERSIONMAP)
+.ENDIF
.IF "$(OS)"=="MACOSX"
$(USE_SHL10VERSIONMAP): $(SHL10OBJS) $(SHL10LIBS)
@@ -5072,7 +4733,7 @@ $(USE_SHL10VERSIONMAP) .ERRREMOVE: $(SHL10VERSIONMAP)
.ENDIF # "$(GUI)" != "UNX"
.IF "$(UNIXVERSIONNAMES)"!=""
-.IF "$(OS)"!="MACOSX"
+.IF "$(OS)"!="MACOSX" && "$(OS)"!="IOS" && "$(OS)"!="AIX"
.IF "$(GUI)"=="UNX"
SHL10SONAME=\"$(SONAME_SWITCH)$(SHL10TARGETN:f)\"
.ENDIF # "$(GUI)"!="UNX"
@@ -5095,7 +4756,7 @@ SHL10LINKRESO*=$(MISC)/$(SHL10TARGET)_res.o
#.IF "$(SHL10TARGETN)"!=""
.IF "$(linkinc)"!=""
-.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(SHL10LIBS)"!=""
$(MISC)/$(SHL10TARGET)_linkinc.ls .PHONY:
@@-$(RM) $@
@@ -5108,7 +4769,7 @@ $(SHL10TARGETN) : $(LINKINCTARGETS)
.ELSE
.IF "$(SHL10USE_EXPORTS)"=="name"
-.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(COM)"!="GCC"
.IF "$(SHL10LIBS)"!=""
SHL10LINKLIST=$(MISC)/$(SHL10TARGET)_link.lst
@@ -5125,20 +4786,6 @@ $(MISC)/%linkinc.ls:
@echo . > $@
.ENDIF # "$(linkinc)"!=""
-.IF "$(GUI)" == "OS2"
-#21/02/2006 YD dll names must be 8.3, invoke fix script
-#check osl/os2/module.c/osl_loadModule()
-SHL10TARGET8=$(shell @fix_shl $(SHL10TARGET))
-.ENDIF
-
-.IF "$(GUI)" == "OS2"
-_SHL10IMP_ORD = $(SHL10STDLIBS:^"$(SOLARVERSION)/$(INPATH)/lib/") $(SHL10STDLIBS:^"$(LB)/")
-SHL10IMP_ORD = $(foreach,i,$(_SHL10IMP_ORD) $(shell @-ls $i))
-.ELSE
-SHL10IMP_ORD =
-.ENDIF
-
-
$(SHL10TARGETN) : \
$(SHL10OBJS)\
$(SHL10LIBS)\
@@ -5147,7 +4794,6 @@ $(SHL10TARGETN) : \
$(USE_SHL10VERSIONMAP)\
$(SHL10RES)\
$(SHL10DEPN) \
- $(SHL10IMP_ORD) \
$(SHL10LINKLIST)
@echo "Making: " $(@:f)
.IF "$(GUI)" == "WNT"
@@ -5169,39 +4815,69 @@ $(SHL10TARGETN) : \
@echo $(EMQ)#define INTERNAL_NAME $(SHL10TARGET:b) >> $(MISC)/$(SHL10DEFAULTRES:b).rc
@echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL10DEFAULTRES:b).rc
.ENDIF # "$(use_shl_versions)" != ""
- $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL10DEFAULTRES:b).rc
+.IF "$(RCFLAGSOUTRES)"!=""
+# rc, takes separate flag naming output file, source .rc file last
+ $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(RCFLAGSOUTRES)$(SHL10DEFAULTRES) $(MISC)/$(SHL10DEFAULTRES:b).rc
+.ELSE
+# windres, just takes output file last
+ $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL10DEFAULTRES:b).rc $(SHL10DEFAULTRES)
+.ENDIF
.ENDIF # "$(SHL10DEFAULTRES)"!=""
.IF "$(SHL10ALLRES)"!=""
$(COMMAND_ECHO)$(TYPE) $(SHL10ALLRES) > $(SHL10LINKRES)
.IF "$(COM)"=="GCC"
- windres $(SHL10LINKRES) $(SHL10LINKRESO)
+ $(WINDRES) $(SHL10LINKRES) $(SHL10LINKRESO)
.ENDIF # "$(COM)"=="GCC"
.ENDIF # "$(SHL10ALLRES)"!=""
.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
- @echo dlltool --dllname $(SHL10TARGET)$(DLLPOST) \
- --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_10.cmd
+# GNU ld since 2.17 supports @cmdfile syntax
+.IF "$(USE_DEFFILE)"!=""
+ @$(COMMAND_ECHO)$(LINK) @$(mktmp $(strip \
+ $(SHL10LINKFLAGS) \
+ $(LINKFLAGSSHL) \
+ $(SOLARLIB) \
+ $(MINGWSSTDOBJ) \
+ -o $@ \
+ -Wl,-Map,$(MISC)/$(@:b).map \
+ $(SHL10DEF) \
+ $(USE_10IMPLIB) \
+ $(STDOBJ) \
+ $(SHL10VERSIONOBJ) $(SHL10OBJS) \
+ $(subst,$(ROUT),$(PRJ)/$(ROUT) $(shell cat /dev/null $(SHL10LIBS))) \
+ -Wl,--exclude-libs,ALL,--start-group $(SHL10STDLIBS) -Wl,--end-group \
+ $(SHL10STDSHL) $(STDSHL10) \
+ $(SHL10LINKRESO) \
+ ))
+.ELSE
@noop $(assign ALL10OBJLIST:=$(STDOBJ) $(SHL10OBJS) $(SHL10LINKRESO) $(shell $(TYPE) /dev/null $(SHL10LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g))
.IF "$(DEFLIB10NAME)"!="" # do not have to include objs
@noop $(assign DEF10OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB10NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g))
@noop $(foreach,i,$(DEF10OBJLIST) $(assign ALL10OBJLIST:=$(ALL10OBJLIST:s?$i??)))
.ENDIF # "$(DEFLIB10NAME)"!=""
- @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_10.cmd
-.IF "$(SHL10DEF)"!=""
- @echo --input-def $(SHL10DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_10.cmd
-.ELSE
- @echo $(SHL10VERSIONOBJ) $(SHL10DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_10.cmd
-.ENDIF
- @echo $(ALL10OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_10.cmd
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \
- $(STDOBJ) $(SHL10VERSIONOBJ) $(SHL10DESCRIPTIONOBJ) $(SHL10OBJS) $(SHL10LINKRESO) \
- `$(TYPE) /dev/null $(SHL10LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
+ $(COMMAND_ECHO)$(DLLTOOL) @@(mktmp \
+ --dllname $(SHL10TARGET)$(DLLPOST) \
+ --kill-at \
+ --output-exp $(MISC)/$(@:b)_exp.o \
+ $(SHL10VERSIONOBJ) \
+ @(ALL10OBJLIST)
+ )
+ $(COMMAND_ECHO)$(LINK) @$(mktmp $(strip \
+ $(SHL10LINKFLAGS) \
+ $(LINKFLAGSSHL) \
+ $(SOLARLIB) \
+ $(MINGWSSTDOBJ) \
+ -o $@ \
+ -Wl,-Map,$(MISC)/$(@:b).map \
+ $(MISC)/$(@:b)_exp.o \
+ $(USE_10IMPLIB) \
+ $(STDOBJ) \
+ $(SHL10VERSIONOBJ) $(SHL10OBJS) \
+ $(subst,$(ROUT),$(PRJ)/$(ROUT) $(shell cat /dev/null $(SHL10LIBS))) \
-Wl,--exclude-libs,ALL,--start-group $(SHL10STDLIBS) -Wl,--end-group \
- $(SHL10STDSHL) $(STDSHL10) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \
- -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_10.cmd
- .IF "$(VERBOSE)" == "TRUE"
- @$(TYPE) $(MISC)/$(TARGET).$(@:b)_10.cmd
- .ENDIF
- @+source $(MISC)/$(TARGET).$(@:b)_10.cmd
+ $(SHL10STDSHL) $(STDSHL10) \
+ $(SHL10LINKRESO) \
+ ))
+.ENDIF
.ELSE
.IF "$(linkinc)"==""
.IF "$(SHL10USE_EXPORTS)"!="name"
@@ -5316,7 +4992,7 @@ $(SHL10TARGETN) : \
@echo $(STDSLO) $(SHL10OBJS:s/.obj/.o/) \
$(SHL10VERSIONOBJ) \
`cat /dev/null $(SHL10LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list
- @echo -n $(SHL10LINKER) $(SHL10LINKFLAGS) $(SHL10VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \
+ @/bin/echo -n $(SHL10LINKER) $(SHL10LINKFLAGS) $(SHL10VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \
$(SHL10STDLIBS) $(SHL10ARCHIVES) $(SHL10STDSHL) $(STDSHL10) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_10.cmd
@$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
`cat $(MISC)/$(TARGET).$(@:b)_10.cmd` \
@@ -5336,6 +5012,9 @@ $(SHL10TARGETN) : \
$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS10) $(SHL10TARGETN)
.ENDIF # "$(SHL10NOCHECK)"!=""
.ENDIF
+.ELIF "$(OS)"=="IOS"
+ $(COMMAND_ECHO)$(AR) $(LIB10FLAGS) $(LIBFLAGS) $@ $(subst,.obj,.o $(SHL10OBJS)) $(shell cat /dev/null $(LIB10TARGET) $(SHL10LIBS) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g)
+ $(COMMAND_ECHO)$(RANLIB) $@
.ELSE # "$(OS)"=="MACOSX"
@-$(RM) $(MISC)/$(TARGET).$(@:b)_10.cmd
@echo $(SHL10LINKER) $(SHL10LINKFLAGS) $(SHL10SONAME) $(LINKFLAGSSHL) $(SHL10VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL10OBJS:s/.obj/.o/) \
@@ -5358,7 +5037,7 @@ $(SHL10TARGETN) : \
.ENDIF # "$(SHL10NOCHECK)"!=""
.ENDIF # "$(UPDATER)"=="YES"
.ENDIF # "$(OS)"=="MACOSX"
-.IF "$(UNIXVERSIONNAMES)"!=""
+.IF "$(UNIXVERSIONNAMES)"!="" && "$(OS)"!="IOS"
$(COMMAND_ECHO)$(RM) $(LB)/$(SHL10TARGETN:b)
$(COMMAND_ECHO)cd $(LB) && ln -s $(SHL10TARGETN:f) $(SHL10TARGETN:b)
.ENDIF # "$(UNIXVERSIONNAMES)"!=""
@@ -5367,65 +5046,6 @@ $(SHL10TARGETN) : \
.ENDIF
.ENDIF # "$(GUI)" == "UNX"
-.IF "$(GUI)" == "OS2"
-
-.IF "$(SHL10DEFAULTRES)"!=""
- @+-$(RM) $(MISC)/$(SHL10DEFAULTRES:b).rc >& $(NULLDEV)
-.IF "$(SHL10ICON)" != ""
- @-+echo 1 ICON $(SHL10ICON) >> $(MISC)/$(SHL10DEFAULTRES:b).rc
-.ENDIF
-.IF "$(use_shl_versions)" != ""
-.IF "$(SHL10ADD_VERINFO)"!=""
- @-+echo $(EMQ)#include $(EMQ)"$(SHL10ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL10DEFAULTRES:b).rc
-.ENDIF # "$(SHL10ADD_VERINFO)"!=""
- @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL10DEFAULTRES:b).rc
-# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL10DEFAULTRES:b).rc
-.ENDIF # "$(use_shl_versions)" != ""
-# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR)
- $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL10DEFAULTRES:b).rc
-.ENDIF # "$(SHL10DEFAULTRES)"!=""
-
-.IF "$(SHL10ALLRES)"!=""
- $(COMMAND_ECHO)+$(TYPE) $(SHL10ALLRES) > $(SHL10LINKRES)
-.ENDIF # "$(SHL10ALLRES)"!=""
-
-.IF "$(USE_DEFFILE)"!=""
-
- $(COMMAND_ECHO)$(SHL10LINKER) $(SHL10LINKFLAGS) $(LINKFLAGSSHL) -o $@ \
- $(SHL10DEF) \
- $(STDOBJ) \
- -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(SHL10OBJS) $(SHL10VERSIONOBJ) \
- $(SHL10LIBS) \
- $(SHL10STDLIBS:^"-l") \
- $(SHL10LINKRES) \
- $(SHL10STDSHL:^"-l") $(STDSHL10:^"-l")
-
-.ELSE # "$(USE_DEFFILE)"!=""
-
- $(COMMAND_ECHO)$(SHL10LINKER) -v $(SHL10LINKFLAGS) \
- $(LINKFLAGSSHL) $(SHL10BASEX) \
- $(SHL10STACK) -o $(SHL10TARGETN) \
- $(SHL10DEF) \
- $(STDOBJ) \
- -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(SHL10OBJS) $(SHL10VERSIONOBJ) \
- $(SHL10LIBS) \
- $(SHL10STDLIBS:^"-l") \
- $(SHL10LINKRES) \
- $(SHL10STDSHL:^"-l") $(STDSHL10:^"-l") \
- @$(LS) $@ >& $(NULLDEV)
-
-.ENDIF # "$(USE_DEFFILE)"!=""
-
-.IF "$(SHL10TARGET8)" != "$(SHL10TARGET)"
- $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL10TARGET8).dll
-.ENDIF
-
-.ENDIF # "$(GUI)" == "OS2"
-
.ENDIF # "$(SHL10TARGETN)"!=""
# unroll begin
@@ -5441,6 +5061,7 @@ USELIB1DEPN+=$(SHL1LIBS)
USE_SHL1TARGET=$(SHL1TARGETN)
.ENDIF
+.IF "$(GUI)$(COM)" != "WNTGCC"
.IF "$(GUI)" != "UNX"
$(SHL1IMPLIBN): \
$(SHL1DEF) \
@@ -5453,11 +5074,6 @@ $(SHL1IMPLIBN): \
.ENDIF
@echo "Making: " $(@:f)
.IF "$(GUI)" == "WNT"
-.IF "$(COM)"=="GCC"
- @echo no ImportLibs on mingw
- @-$(RM) $@
- @$(TOUCH) $@
-.ELSE # "$(COM)=="GCC"
# bei use_deffile implib von linker erstellt
.IF "$(USE_DEFFILE)"==""
$(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL1IMPLIBN) \
@@ -5466,14 +5082,6 @@ $(SHL1IMPLIBN): \
@echo build of $(SHL1TARGETN) creates $@
@$(TOUCH) $@
.ENDIF # "$(USE_DEFFILE)==""
-.ENDIF # "$(COM)"=="GCC"
-
-.ELIF "$(GUI)" == "OS2"
-
-# touch creates an empty file, but this is not good for emxomfar, so
-# create a dummy lib here
- $(COMMAND_ECHO)-$(LIBMGR) $(LIBFLAGS) $@ $(SHL1VERSIONOBJ)
- +@echo build of $(SHL1TARGETN) creates $@
.ELSE
@echo no ImportLibs on Mac and *ix
@@ -5481,6 +5089,7 @@ $(SHL1IMPLIBN): \
@$(TOUCH) $@
.ENDIF
.ENDIF
+.ENDIF
# unroll begin
@@ -5495,6 +5104,7 @@ USELIB2DEPN+=$(SHL2LIBS)
USE_SHL2TARGET=$(SHL2TARGETN)
.ENDIF
+.IF "$(GUI)$(COM)" != "WNTGCC"
.IF "$(GUI)" != "UNX"
$(SHL2IMPLIBN): \
$(SHL2DEF) \
@@ -5507,11 +5117,6 @@ $(SHL2IMPLIBN): \
.ENDIF
@echo "Making: " $(@:f)
.IF "$(GUI)" == "WNT"
-.IF "$(COM)"=="GCC"
- @echo no ImportLibs on mingw
- @-$(RM) $@
- @$(TOUCH) $@
-.ELSE # "$(COM)=="GCC"
# bei use_deffile implib von linker erstellt
.IF "$(USE_DEFFILE)"==""
$(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL2IMPLIBN) \
@@ -5520,14 +5125,6 @@ $(SHL2IMPLIBN): \
@echo build of $(SHL2TARGETN) creates $@
@$(TOUCH) $@
.ENDIF # "$(USE_DEFFILE)==""
-.ENDIF # "$(COM)"=="GCC"
-
-.ELIF "$(GUI)" == "OS2"
-
-# touch creates an empty file, but this is not good for emxomfar, so
-# create a dummy lib here
- $(COMMAND_ECHO)-$(LIBMGR) $(LIBFLAGS) $@ $(SHL2VERSIONOBJ)
- +@echo build of $(SHL2TARGETN) creates $@
.ELSE
@echo no ImportLibs on Mac and *ix
@@ -5535,6 +5132,7 @@ $(SHL2IMPLIBN): \
@$(TOUCH) $@
.ENDIF
.ENDIF
+.ENDIF
# unroll begin
@@ -5549,6 +5147,7 @@ USELIB3DEPN+=$(SHL3LIBS)
USE_SHL3TARGET=$(SHL3TARGETN)
.ENDIF
+.IF "$(GUI)$(COM)" != "WNTGCC"
.IF "$(GUI)" != "UNX"
$(SHL3IMPLIBN): \
$(SHL3DEF) \
@@ -5561,11 +5160,6 @@ $(SHL3IMPLIBN): \
.ENDIF
@echo "Making: " $(@:f)
.IF "$(GUI)" == "WNT"
-.IF "$(COM)"=="GCC"
- @echo no ImportLibs on mingw
- @-$(RM) $@
- @$(TOUCH) $@
-.ELSE # "$(COM)=="GCC"
# bei use_deffile implib von linker erstellt
.IF "$(USE_DEFFILE)"==""
$(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL3IMPLIBN) \
@@ -5574,14 +5168,6 @@ $(SHL3IMPLIBN): \
@echo build of $(SHL3TARGETN) creates $@
@$(TOUCH) $@
.ENDIF # "$(USE_DEFFILE)==""
-.ENDIF # "$(COM)"=="GCC"
-
-.ELIF "$(GUI)" == "OS2"
-
-# touch creates an empty file, but this is not good for emxomfar, so
-# create a dummy lib here
- $(COMMAND_ECHO)-$(LIBMGR) $(LIBFLAGS) $@ $(SHL3VERSIONOBJ)
- +@echo build of $(SHL3TARGETN) creates $@
.ELSE
@echo no ImportLibs on Mac and *ix
@@ -5589,6 +5175,7 @@ $(SHL3IMPLIBN): \
@$(TOUCH) $@
.ENDIF
.ENDIF
+.ENDIF
# unroll begin
@@ -5603,6 +5190,7 @@ USELIB4DEPN+=$(SHL4LIBS)
USE_SHL4TARGET=$(SHL4TARGETN)
.ENDIF
+.IF "$(GUI)$(COM)" != "WNTGCC"
.IF "$(GUI)" != "UNX"
$(SHL4IMPLIBN): \
$(SHL4DEF) \
@@ -5615,11 +5203,6 @@ $(SHL4IMPLIBN): \
.ENDIF
@echo "Making: " $(@:f)
.IF "$(GUI)" == "WNT"
-.IF "$(COM)"=="GCC"
- @echo no ImportLibs on mingw
- @-$(RM) $@
- @$(TOUCH) $@
-.ELSE # "$(COM)=="GCC"
# bei use_deffile implib von linker erstellt
.IF "$(USE_DEFFILE)"==""
$(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL4IMPLIBN) \
@@ -5628,14 +5211,6 @@ $(SHL4IMPLIBN): \
@echo build of $(SHL4TARGETN) creates $@
@$(TOUCH) $@
.ENDIF # "$(USE_DEFFILE)==""
-.ENDIF # "$(COM)"=="GCC"
-
-.ELIF "$(GUI)" == "OS2"
-
-# touch creates an empty file, but this is not good for emxomfar, so
-# create a dummy lib here
- $(COMMAND_ECHO)-$(LIBMGR) $(LIBFLAGS) $@ $(SHL4VERSIONOBJ)
- +@echo build of $(SHL4TARGETN) creates $@
.ELSE
@echo no ImportLibs on Mac and *ix
@@ -5643,6 +5218,7 @@ $(SHL4IMPLIBN): \
@$(TOUCH) $@
.ENDIF
.ENDIF
+.ENDIF
# unroll begin
@@ -5657,6 +5233,7 @@ USELIB5DEPN+=$(SHL5LIBS)
USE_SHL5TARGET=$(SHL5TARGETN)
.ENDIF
+.IF "$(GUI)$(COM)" != "WNTGCC"
.IF "$(GUI)" != "UNX"
$(SHL5IMPLIBN): \
$(SHL5DEF) \
@@ -5669,11 +5246,6 @@ $(SHL5IMPLIBN): \
.ENDIF
@echo "Making: " $(@:f)
.IF "$(GUI)" == "WNT"
-.IF "$(COM)"=="GCC"
- @echo no ImportLibs on mingw
- @-$(RM) $@
- @$(TOUCH) $@
-.ELSE # "$(COM)=="GCC"
# bei use_deffile implib von linker erstellt
.IF "$(USE_DEFFILE)"==""
$(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL5IMPLIBN) \
@@ -5682,14 +5254,6 @@ $(SHL5IMPLIBN): \
@echo build of $(SHL5TARGETN) creates $@
@$(TOUCH) $@
.ENDIF # "$(USE_DEFFILE)==""
-.ENDIF # "$(COM)"=="GCC"
-
-.ELIF "$(GUI)" == "OS2"
-
-# touch creates an empty file, but this is not good for emxomfar, so
-# create a dummy lib here
- $(COMMAND_ECHO)-$(LIBMGR) $(LIBFLAGS) $@ $(SHL5VERSIONOBJ)
- +@echo build of $(SHL5TARGETN) creates $@
.ELSE
@echo no ImportLibs on Mac and *ix
@@ -5697,6 +5261,7 @@ $(SHL5IMPLIBN): \
@$(TOUCH) $@
.ENDIF
.ENDIF
+.ENDIF
# unroll begin
@@ -5711,6 +5276,7 @@ USELIB6DEPN+=$(SHL6LIBS)
USE_SHL6TARGET=$(SHL6TARGETN)
.ENDIF
+.IF "$(GUI)$(COM)" != "WNTGCC"
.IF "$(GUI)" != "UNX"
$(SHL6IMPLIBN): \
$(SHL6DEF) \
@@ -5723,11 +5289,6 @@ $(SHL6IMPLIBN): \
.ENDIF
@echo "Making: " $(@:f)
.IF "$(GUI)" == "WNT"
-.IF "$(COM)"=="GCC"
- @echo no ImportLibs on mingw
- @-$(RM) $@
- @$(TOUCH) $@
-.ELSE # "$(COM)=="GCC"
# bei use_deffile implib von linker erstellt
.IF "$(USE_DEFFILE)"==""
$(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL6IMPLIBN) \
@@ -5736,14 +5297,6 @@ $(SHL6IMPLIBN): \
@echo build of $(SHL6TARGETN) creates $@
@$(TOUCH) $@
.ENDIF # "$(USE_DEFFILE)==""
-.ENDIF # "$(COM)"=="GCC"
-
-.ELIF "$(GUI)" == "OS2"
-
-# touch creates an empty file, but this is not good for emxomfar, so
-# create a dummy lib here
- $(COMMAND_ECHO)-$(LIBMGR) $(LIBFLAGS) $@ $(SHL6VERSIONOBJ)
- +@echo build of $(SHL6TARGETN) creates $@
.ELSE
@echo no ImportLibs on Mac and *ix
@@ -5751,6 +5304,7 @@ $(SHL6IMPLIBN): \
@$(TOUCH) $@
.ENDIF
.ENDIF
+.ENDIF
# unroll begin
@@ -5765,6 +5319,7 @@ USELIB7DEPN+=$(SHL7LIBS)
USE_SHL7TARGET=$(SHL7TARGETN)
.ENDIF
+.IF "$(GUI)$(COM)" != "WNTGCC"
.IF "$(GUI)" != "UNX"
$(SHL7IMPLIBN): \
$(SHL7DEF) \
@@ -5777,11 +5332,6 @@ $(SHL7IMPLIBN): \
.ENDIF
@echo "Making: " $(@:f)
.IF "$(GUI)" == "WNT"
-.IF "$(COM)"=="GCC"
- @echo no ImportLibs on mingw
- @-$(RM) $@
- @$(TOUCH) $@
-.ELSE # "$(COM)=="GCC"
# bei use_deffile implib von linker erstellt
.IF "$(USE_DEFFILE)"==""
$(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL7IMPLIBN) \
@@ -5790,14 +5340,6 @@ $(SHL7IMPLIBN): \
@echo build of $(SHL7TARGETN) creates $@
@$(TOUCH) $@
.ENDIF # "$(USE_DEFFILE)==""
-.ENDIF # "$(COM)"=="GCC"
-
-.ELIF "$(GUI)" == "OS2"
-
-# touch creates an empty file, but this is not good for emxomfar, so
-# create a dummy lib here
- $(COMMAND_ECHO)-$(LIBMGR) $(LIBFLAGS) $@ $(SHL7VERSIONOBJ)
- +@echo build of $(SHL7TARGETN) creates $@
.ELSE
@echo no ImportLibs on Mac and *ix
@@ -5805,6 +5347,7 @@ $(SHL7IMPLIBN): \
@$(TOUCH) $@
.ENDIF
.ENDIF
+.ENDIF
# unroll begin
@@ -5819,6 +5362,7 @@ USELIB8DEPN+=$(SHL8LIBS)
USE_SHL8TARGET=$(SHL8TARGETN)
.ENDIF
+.IF "$(GUI)$(COM)" != "WNTGCC"
.IF "$(GUI)" != "UNX"
$(SHL8IMPLIBN): \
$(SHL8DEF) \
@@ -5831,11 +5375,6 @@ $(SHL8IMPLIBN): \
.ENDIF
@echo "Making: " $(@:f)
.IF "$(GUI)" == "WNT"
-.IF "$(COM)"=="GCC"
- @echo no ImportLibs on mingw
- @-$(RM) $@
- @$(TOUCH) $@
-.ELSE # "$(COM)=="GCC"
# bei use_deffile implib von linker erstellt
.IF "$(USE_DEFFILE)"==""
$(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL8IMPLIBN) \
@@ -5844,14 +5383,6 @@ $(SHL8IMPLIBN): \
@echo build of $(SHL8TARGETN) creates $@
@$(TOUCH) $@
.ENDIF # "$(USE_DEFFILE)==""
-.ENDIF # "$(COM)"=="GCC"
-
-.ELIF "$(GUI)" == "OS2"
-
-# touch creates an empty file, but this is not good for emxomfar, so
-# create a dummy lib here
- $(COMMAND_ECHO)-$(LIBMGR) $(LIBFLAGS) $@ $(SHL8VERSIONOBJ)
- +@echo build of $(SHL8TARGETN) creates $@
.ELSE
@echo no ImportLibs on Mac and *ix
@@ -5859,6 +5390,7 @@ $(SHL8IMPLIBN): \
@$(TOUCH) $@
.ENDIF
.ENDIF
+.ENDIF
# unroll begin
@@ -5873,6 +5405,7 @@ USELIB9DEPN+=$(SHL9LIBS)
USE_SHL9TARGET=$(SHL9TARGETN)
.ENDIF
+.IF "$(GUI)$(COM)" != "WNTGCC"
.IF "$(GUI)" != "UNX"
$(SHL9IMPLIBN): \
$(SHL9DEF) \
@@ -5885,11 +5418,6 @@ $(SHL9IMPLIBN): \
.ENDIF
@echo "Making: " $(@:f)
.IF "$(GUI)" == "WNT"
-.IF "$(COM)"=="GCC"
- @echo no ImportLibs on mingw
- @-$(RM) $@
- @$(TOUCH) $@
-.ELSE # "$(COM)=="GCC"
# bei use_deffile implib von linker erstellt
.IF "$(USE_DEFFILE)"==""
$(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL9IMPLIBN) \
@@ -5898,14 +5426,6 @@ $(SHL9IMPLIBN): \
@echo build of $(SHL9TARGETN) creates $@
@$(TOUCH) $@
.ENDIF # "$(USE_DEFFILE)==""
-.ENDIF # "$(COM)"=="GCC"
-
-.ELIF "$(GUI)" == "OS2"
-
-# touch creates an empty file, but this is not good for emxomfar, so
-# create a dummy lib here
- $(COMMAND_ECHO)-$(LIBMGR) $(LIBFLAGS) $@ $(SHL9VERSIONOBJ)
- +@echo build of $(SHL9TARGETN) creates $@
.ELSE
@echo no ImportLibs on Mac and *ix
@@ -5913,6 +5433,7 @@ $(SHL9IMPLIBN): \
@$(TOUCH) $@
.ENDIF
.ENDIF
+.ENDIF
# unroll begin
@@ -5927,6 +5448,7 @@ USELIB10DEPN+=$(SHL10LIBS)
USE_SHL10TARGET=$(SHL10TARGETN)
.ENDIF
+.IF "$(GUI)$(COM)" != "WNTGCC"
.IF "$(GUI)" != "UNX"
$(SHL10IMPLIBN): \
$(SHL10DEF) \
@@ -5939,11 +5461,6 @@ $(SHL10IMPLIBN): \
.ENDIF
@echo "Making: " $(@:f)
.IF "$(GUI)" == "WNT"
-.IF "$(COM)"=="GCC"
- @echo no ImportLibs on mingw
- @-$(RM) $@
- @$(TOUCH) $@
-.ELSE # "$(COM)=="GCC"
# bei use_deffile implib von linker erstellt
.IF "$(USE_DEFFILE)"==""
$(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL10IMPLIBN) \
@@ -5952,14 +5469,6 @@ $(SHL10IMPLIBN): \
@echo build of $(SHL10TARGETN) creates $@
@$(TOUCH) $@
.ENDIF # "$(USE_DEFFILE)==""
-.ENDIF # "$(COM)"=="GCC"
-
-.ELIF "$(GUI)" == "OS2"
-
-# touch creates an empty file, but this is not good for emxomfar, so
-# create a dummy lib here
- $(COMMAND_ECHO)-$(LIBMGR) $(LIBFLAGS) $@ $(SHL10VERSIONOBJ)
- +@echo build of $(SHL10TARGETN) creates $@
.ELSE
@echo no ImportLibs on Mac and *ix
@@ -5967,4 +5476,5 @@ $(SHL10IMPLIBN): \
@$(TOUCH) $@
.ENDIF
.ENDIF
+.ENDIF
diff --git a/solenv/inc/_tg_zip.mk b/solenv/inc/_tg_zip.mk
index 608819da6596..c60480bc5288 100644
--- a/solenv/inc/_tg_zip.mk
+++ b/solenv/inc/_tg_zip.mk
@@ -4,8 +4,6 @@
command_seperator=&&
#command_seperator=^
avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
-.ELIF "$(GUI)"=="OS2"
-command_seperator=&&
.ELSE
command_seperator=;
avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
@@ -14,6 +12,11 @@ avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
.IF "$(ZIP1TARGET)"!=""
+.IF "$(ZIP1STRIPLANGUAGETAGS)" != ""
+CALLXSLTPROC:=$(XSLTPROC)
+.EXPORT: CALLXSLTPROC
+.ENDIF
+
ZIP1EXT*=.zip
.IF "$(common_build_zip)"!=""
.IF "$(ZIP1LIST:s/LANGDIR//)" == "$(ZIP1LIST)"
@@ -117,6 +120,11 @@ $(ZIP1TARGETN) : delzip $(ZIP1DEPS)
$(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
$(PERL) -w $(SOLARENV)/bin/cleanzip.pl $@ \
$(FI)
+.IF "$(ZIP1STRIPLANGUAGETAGS)" != ""
+ $(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
+ $(SOLARENV)/bin/striplanguagetags.sh $@ \
+ $(FI)
+.ENDIF
.ENDIF # "$(ZIP1DIR)" != ""
.ENDIF # "$(common_build_zip)"!=""
.ENDIF
@@ -127,8 +135,6 @@ $(ZIP1TARGETN) : delzip $(ZIP1DEPS)
command_seperator=&&
#command_seperator=^
avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
-.ELIF "$(GUI)"=="OS2"
-command_seperator=&&
.ELSE
command_seperator=;
avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
@@ -137,6 +143,11 @@ avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
.IF "$(ZIP2TARGET)"!=""
+.IF "$(ZIP2STRIPLANGUAGETAGS)" != ""
+CALLXSLTPROC:=$(XSLTPROC)
+.EXPORT: CALLXSLTPROC
+.ENDIF
+
ZIP2EXT*=.zip
.IF "$(common_build_zip)"!=""
.IF "$(ZIP2LIST:s/LANGDIR//)" == "$(ZIP2LIST)"
@@ -240,6 +251,11 @@ $(ZIP2TARGETN) : delzip $(ZIP2DEPS)
$(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
$(PERL) -w $(SOLARENV)/bin/cleanzip.pl $@ \
$(FI)
+.IF "$(ZIP2STRIPLANGUAGETAGS)" != ""
+ $(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
+ $(SOLARENV)/bin/striplanguagetags.sh $@ \
+ $(FI)
+.ENDIF
.ENDIF # "$(ZIP2DIR)" != ""
.ENDIF # "$(common_build_zip)"!=""
.ENDIF
@@ -250,8 +266,6 @@ $(ZIP2TARGETN) : delzip $(ZIP2DEPS)
command_seperator=&&
#command_seperator=^
avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
-.ELIF "$(GUI)"=="OS2"
-command_seperator=&&
.ELSE
command_seperator=;
avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
@@ -260,6 +274,11 @@ avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
.IF "$(ZIP3TARGET)"!=""
+.IF "$(ZIP3STRIPLANGUAGETAGS)" != ""
+CALLXSLTPROC:=$(XSLTPROC)
+.EXPORT: CALLXSLTPROC
+.ENDIF
+
ZIP3EXT*=.zip
.IF "$(common_build_zip)"!=""
.IF "$(ZIP3LIST:s/LANGDIR//)" == "$(ZIP3LIST)"
@@ -363,6 +382,11 @@ $(ZIP3TARGETN) : delzip $(ZIP3DEPS)
$(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
$(PERL) -w $(SOLARENV)/bin/cleanzip.pl $@ \
$(FI)
+.IF "$(ZIP3STRIPLANGUAGETAGS)" != ""
+ $(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
+ $(SOLARENV)/bin/striplanguagetags.sh $@ \
+ $(FI)
+.ENDIF
.ENDIF # "$(ZIP3DIR)" != ""
.ENDIF # "$(common_build_zip)"!=""
.ENDIF
@@ -373,8 +397,6 @@ $(ZIP3TARGETN) : delzip $(ZIP3DEPS)
command_seperator=&&
#command_seperator=^
avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
-.ELIF "$(GUI)"=="OS2"
-command_seperator=&&
.ELSE
command_seperator=;
avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
@@ -383,6 +405,11 @@ avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
.IF "$(ZIP4TARGET)"!=""
+.IF "$(ZIP4STRIPLANGUAGETAGS)" != ""
+CALLXSLTPROC:=$(XSLTPROC)
+.EXPORT: CALLXSLTPROC
+.ENDIF
+
ZIP4EXT*=.zip
.IF "$(common_build_zip)"!=""
.IF "$(ZIP4LIST:s/LANGDIR//)" == "$(ZIP4LIST)"
@@ -486,6 +513,11 @@ $(ZIP4TARGETN) : delzip $(ZIP4DEPS)
$(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
$(PERL) -w $(SOLARENV)/bin/cleanzip.pl $@ \
$(FI)
+.IF "$(ZIP4STRIPLANGUAGETAGS)" != ""
+ $(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
+ $(SOLARENV)/bin/striplanguagetags.sh $@ \
+ $(FI)
+.ENDIF
.ENDIF # "$(ZIP4DIR)" != ""
.ENDIF # "$(common_build_zip)"!=""
.ENDIF
@@ -496,8 +528,6 @@ $(ZIP4TARGETN) : delzip $(ZIP4DEPS)
command_seperator=&&
#command_seperator=^
avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
-.ELIF "$(GUI)"=="OS2"
-command_seperator=&&
.ELSE
command_seperator=;
avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
@@ -506,6 +536,11 @@ avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
.IF "$(ZIP5TARGET)"!=""
+.IF "$(ZIP5STRIPLANGUAGETAGS)" != ""
+CALLXSLTPROC:=$(XSLTPROC)
+.EXPORT: CALLXSLTPROC
+.ENDIF
+
ZIP5EXT*=.zip
.IF "$(common_build_zip)"!=""
.IF "$(ZIP5LIST:s/LANGDIR//)" == "$(ZIP5LIST)"
@@ -609,6 +644,11 @@ $(ZIP5TARGETN) : delzip $(ZIP5DEPS)
$(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
$(PERL) -w $(SOLARENV)/bin/cleanzip.pl $@ \
$(FI)
+.IF "$(ZIP5STRIPLANGUAGETAGS)" != ""
+ $(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
+ $(SOLARENV)/bin/striplanguagetags.sh $@ \
+ $(FI)
+.ENDIF
.ENDIF # "$(ZIP5DIR)" != ""
.ENDIF # "$(common_build_zip)"!=""
.ENDIF
@@ -619,8 +659,6 @@ $(ZIP5TARGETN) : delzip $(ZIP5DEPS)
command_seperator=&&
#command_seperator=^
avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
-.ELIF "$(GUI)"=="OS2"
-command_seperator=&&
.ELSE
command_seperator=;
avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
@@ -629,6 +667,11 @@ avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
.IF "$(ZIP6TARGET)"!=""
+.IF "$(ZIP6STRIPLANGUAGETAGS)" != ""
+CALLXSLTPROC:=$(XSLTPROC)
+.EXPORT: CALLXSLTPROC
+.ENDIF
+
ZIP6EXT*=.zip
.IF "$(common_build_zip)"!=""
.IF "$(ZIP6LIST:s/LANGDIR//)" == "$(ZIP6LIST)"
@@ -732,6 +775,11 @@ $(ZIP6TARGETN) : delzip $(ZIP6DEPS)
$(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
$(PERL) -w $(SOLARENV)/bin/cleanzip.pl $@ \
$(FI)
+.IF "$(ZIP6STRIPLANGUAGETAGS)" != ""
+ $(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
+ $(SOLARENV)/bin/striplanguagetags.sh $@ \
+ $(FI)
+.ENDIF
.ENDIF # "$(ZIP6DIR)" != ""
.ENDIF # "$(common_build_zip)"!=""
.ENDIF
@@ -742,8 +790,6 @@ $(ZIP6TARGETN) : delzip $(ZIP6DEPS)
command_seperator=&&
#command_seperator=^
avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
-.ELIF "$(GUI)"=="OS2"
-command_seperator=&&
.ELSE
command_seperator=;
avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
@@ -752,6 +798,11 @@ avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
.IF "$(ZIP7TARGET)"!=""
+.IF "$(ZIP7STRIPLANGUAGETAGS)" != ""
+CALLXSLTPROC:=$(XSLTPROC)
+.EXPORT: CALLXSLTPROC
+.ENDIF
+
ZIP7EXT*=.zip
.IF "$(common_build_zip)"!=""
.IF "$(ZIP7LIST:s/LANGDIR//)" == "$(ZIP7LIST)"
@@ -855,6 +906,11 @@ $(ZIP7TARGETN) : delzip $(ZIP7DEPS)
$(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
$(PERL) -w $(SOLARENV)/bin/cleanzip.pl $@ \
$(FI)
+.IF "$(ZIP7STRIPLANGUAGETAGS)" != ""
+ $(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
+ $(SOLARENV)/bin/striplanguagetags.sh $@ \
+ $(FI)
+.ENDIF
.ENDIF # "$(ZIP7DIR)" != ""
.ENDIF # "$(common_build_zip)"!=""
.ENDIF
@@ -865,8 +921,6 @@ $(ZIP7TARGETN) : delzip $(ZIP7DEPS)
command_seperator=&&
#command_seperator=^
avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
-.ELIF "$(GUI)"=="OS2"
-command_seperator=&&
.ELSE
command_seperator=;
avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
@@ -875,6 +929,11 @@ avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
.IF "$(ZIP8TARGET)"!=""
+.IF "$(ZIP8STRIPLANGUAGETAGS)" != ""
+CALLXSLTPROC:=$(XSLTPROC)
+.EXPORT: CALLXSLTPROC
+.ENDIF
+
ZIP8EXT*=.zip
.IF "$(common_build_zip)"!=""
.IF "$(ZIP8LIST:s/LANGDIR//)" == "$(ZIP8LIST)"
@@ -978,6 +1037,11 @@ $(ZIP8TARGETN) : delzip $(ZIP8DEPS)
$(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
$(PERL) -w $(SOLARENV)/bin/cleanzip.pl $@ \
$(FI)
+.IF "$(ZIP8STRIPLANGUAGETAGS)" != ""
+ $(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
+ $(SOLARENV)/bin/striplanguagetags.sh $@ \
+ $(FI)
+.ENDIF
.ENDIF # "$(ZIP8DIR)" != ""
.ENDIF # "$(common_build_zip)"!=""
.ENDIF
@@ -988,8 +1052,6 @@ $(ZIP8TARGETN) : delzip $(ZIP8DEPS)
command_seperator=&&
#command_seperator=^
avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
-.ELIF "$(GUI)"=="OS2"
-command_seperator=&&
.ELSE
command_seperator=;
avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
@@ -998,6 +1060,11 @@ avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
.IF "$(ZIP9TARGET)"!=""
+.IF "$(ZIP9STRIPLANGUAGETAGS)" != ""
+CALLXSLTPROC:=$(XSLTPROC)
+.EXPORT: CALLXSLTPROC
+.ENDIF
+
ZIP9EXT*=.zip
.IF "$(common_build_zip)"!=""
.IF "$(ZIP9LIST:s/LANGDIR//)" == "$(ZIP9LIST)"
@@ -1101,6 +1168,11 @@ $(ZIP9TARGETN) : delzip $(ZIP9DEPS)
$(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
$(PERL) -w $(SOLARENV)/bin/cleanzip.pl $@ \
$(FI)
+.IF "$(ZIP9STRIPLANGUAGETAGS)" != ""
+ $(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
+ $(SOLARENV)/bin/striplanguagetags.sh $@ \
+ $(FI)
+.ENDIF
.ENDIF # "$(ZIP9DIR)" != ""
.ENDIF # "$(common_build_zip)"!=""
.ENDIF
@@ -1111,8 +1183,6 @@ $(ZIP9TARGETN) : delzip $(ZIP9DEPS)
command_seperator=&&
#command_seperator=^
avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
-.ELIF "$(GUI)"=="OS2"
-command_seperator=&&
.ELSE
command_seperator=;
avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
@@ -1121,6 +1191,11 @@ avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
.IF "$(ZIP10TARGET)"!=""
+.IF "$(ZIP10STRIPLANGUAGETAGS)" != ""
+CALLXSLTPROC:=$(XSLTPROC)
+.EXPORT: CALLXSLTPROC
+.ENDIF
+
ZIP10EXT*=.zip
.IF "$(common_build_zip)"!=""
.IF "$(ZIP10LIST:s/LANGDIR//)" == "$(ZIP10LIST)"
@@ -1224,6 +1299,11 @@ $(ZIP10TARGETN) : delzip $(ZIP10DEPS)
$(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
$(PERL) -w $(SOLARENV)/bin/cleanzip.pl $@ \
$(FI)
+.IF "$(ZIP10STRIPLANGUAGETAGS)" != ""
+ $(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
+ $(SOLARENV)/bin/striplanguagetags.sh $@ \
+ $(FI)
+.ENDIF
.ENDIF # "$(ZIP10DIR)" != ""
.ENDIF # "$(common_build_zip)"!=""
.ENDIF
diff --git a/solenv/inc/ant.mk b/solenv/inc/ant.mk
index 2d182a66a437..dd86f7e4a825 100644
--- a/solenv/inc/ant.mk
+++ b/solenv/inc/ant.mk
@@ -53,7 +53,7 @@ CLASSPATH!:=$(CLASSPATH)$(PATH_SEPERATOR)$(ANT_CLASSPATH)$(PATH_SEPERATOR)$(JAVA
# --- TARGETS -----------------------------------------------------
-$(CLASSDIR)/solar.properties : $(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT)/minormkchanged.flg $(SOLARENV)/inc/ant.properties
+$(CLASSDIR)/solar.properties : $(SOLARVERSION)/$(INPATH)/inc/minormkchanged.flg $(SOLARENV)/inc/ant.properties
@echo "Making: " $@
@echo solar.build=$(BUILD) > $@
@echo solar.rscversion=$(USQ)$(RSCVERSION)$(USQ) >> $@
@@ -65,13 +65,13 @@ $(CLASSDIR)/solar.properties : $(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT)/minor
@cat $(DMAKEROOT)/../ant.properties >> $@
ANTBUILD .PHONY:
- $(ANT) $(ANT_FLAGS)
+ $(COMMAND_ECHO)$(ANT) $(ANT_FLAGS)
clean .PHONY:
- $(ANT) $(ANT_FLAGS) $@
+ $(COMMAND_ECHO)$(ANT) $(ANT_FLAGS) $@
prepare .PHONY:
- $(ANT) $(ANT_FLAGS) $@
+ $(COMMAND_ECHO)$(ANT) $(ANT_FLAGS) $@
main: .PHONY:
$(ANT) $(ANT_FLAGS) $@
@@ -80,21 +80,19 @@ info: .PHONY
$(ANT) $(ANT_FLAGS) $@
jar .PHONY:
- $(ANT) $(ANT_FLAGS) $@
+ $(COMMAND_ECHO)$(ANT) $(ANT_FLAGS) $@
compile .PHONY:
- $(ANT) $(ANT_FLAGS) $@
+ $(COMMAND_ECHO)$(ANT) $(ANT_FLAGS) $@
depend .PHONY:
- $(ANT) $(ANT_FLAGS) $@
+ $(COMMAND_ECHO)$(ANT) $(ANT_FLAGS) $@
javadoc .PHONY:
- $(ANT) $(ANT_FLAGS) $@
+ $(COMMAND_ECHO)$(ANT) $(ANT_FLAGS) $@
config .PHONY:
- $(ANT) $(ANT_FLAGS) $@
+ $(COMMAND_ECHO)$(ANT) $(ANT_FLAGS) $@
test .PHONY:
- $(ANT) $(ANT_FLAGS) $@
-
-
+ $(COMMAND_ECHO)$(ANT) $(ANT_FLAGS) $@
diff --git a/solenv/inc/antsettings.mk b/solenv/inc/antsettings.mk
index 5a28b242967d..fda4a82896ab 100644
--- a/solenv/inc/antsettings.mk
+++ b/solenv/inc/antsettings.mk
@@ -40,6 +40,18 @@ PATH!:=$(ANT_HOME)/bin:$(PATH)
ANT*:=$(ANT_HOME)/bin/ant
ANT_BUILDFILE*=build.xml
+.IF "$(ANT_COMPILER_FLAGS)"==""
+.IF "$(JAVACISGCJ)" == "yes"
+ANT_COMPILER_FLAGS=-Dbuild.compiler=gcj
+.ENDIF
+.ENDIF
+
+.IF "$(ANT_JAVA_VER_FLAGS)"==""
+.IF "$(JDK)" != "gcj" && $(JAVACISKAFFE) != "yes"
+ANT_JAVA_VER_FLAGS=-Dant.build.javac.source=$(JAVA_SOURCE_VER) -Dant.build.javac.target=$(JAVA_TARGET_VER)
+.ENDIF
+.ENDIF
+
.IF "$(ANT_DEBUG)"==""
.IF "$(debug)"==""
ANT_DEBUG=off
@@ -56,26 +68,24 @@ ANT_OPT=on
.ENDIF
.ENDIF
+.IF "$(VERBOSE)" == "TRUE"
+ ANT_VERBOSE=-v
+.ELSE
+ ANT_VERBOSE=-q
+.ENDIF
+
.IF "$(JDK)"=="gcj"
JAVA_HOME=
.EXPORT : JAVA_HOME
.ENDIF
-.IF "$(JAVACISGCJ)" == "yes"
-ANT_FLAGS!:=-Dbuild.compiler=gcj -Dprj=$(PRJ) -Dprjname=$(PRJNAME) -Ddebug=$(ANT_DEBUG) \
- -Doptimize=$(ANT_OPT) -Dtarget=$(TARGET) -Dsolar.update=on -Dout=$(OUT) -Dinpath=$(INPATH) \
- -Dproext="$(PROEXT)" -Dsolar.bin=$(SOLARBINDIR) -Dsolar.jar=$(SOLARBINDIR) \
- -Dsolar.doc=$(SOLARDOCDIR) -Dcommon.jar=$(SOLARCOMMONBINDIR) \
+ANT_FLAGS!:=$(ANT_COMPILER_FLAGS) -Dprj=$(PRJ) -Dprjname=$(PRJNAME) $(ANT_JAVA_VER_FLAGS) \
+ -Ddebug=$(ANT_DEBUG) -Doptimize=$(ANT_OPT) -Dtarget=$(TARGET) -Dsolar.update=on \
+ -Dout=$(OUT) -Dinpath=$(INPATH) -Dproext="$(PROEXT)" -Dsolar.bin=$(SOLARBINDIR) \
+ -Dsolar.jar=$(SOLARBINDIR) -Dsolar.doc=$(SOLARDOCDIR) -Dcommon.jar=$(SOLARCOMMONBINDIR) \
-Dcommon.doc=$(SOLARCOMMONDOCDIR) -Dsolar.sourceversion=$(SOURCEVERSION) \
- -Dsolar.lastminor=$(LAST_MINOR) -Dsolar.build=$(BUILD) -f $(ANT_BUILDFILE) $(ANT_FLAGS) -emacs
-.ELSE
-ANT_FLAGS!:=-Dprj=$(PRJ) -Dprjname=$(PRJNAME) -Ddebug=$(ANT_DEBUG) -Doptimize=$(ANT_OPT) \
- -Dtarget=$(TARGET) -Dsolar.update=on -Dout=$(OUT) -Dinpath=$(INPATH) -Dproext="$(PROEXT)" \
- -Dsolar.bin=$(SOLARBINDIR) -Dsolar.jar=$(SOLARBINDIR) -Dsolar.doc=$(SOLARDOCDIR) \
- -Dcommon.jar=$(SOLARCOMMONBINDIR) -Dcommon.doc=$(SOLARCOMMONDOCDIR) \
- -Dsolar.sourceversion=$(SOURCEVERSION) -Dsolar.lastminor=$(LAST_MINOR) \
- -Dsolar.build=$(BUILD) -f $(ANT_BUILDFILE) $(ANT_FLAGS) -emacs
-.ENDIF
+ -Dsolar.lastminor=$(LAST_MINOR) -Dsolar.build=$(BUILD) -f $(ANT_BUILDFILE) $(ANT_FLAGS) \
+ -emacs $(ANT_VERBOSE)
.ELSE # No java
ANT=
ANT_FLAGS=
diff --git a/solenv/inc/doxygen.cfg b/solenv/inc/doxygen.cfg
new file mode 100644
index 000000000000..7aa1548c0d22
--- /dev/null
+++ b/solenv/inc/doxygen.cfg
@@ -0,0 +1,1314 @@
+# Doxyfile 1.5.3
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+# TAG = value [value, ...]
+# For lists items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file that
+# follow. The default is UTF-8 which is also the encoding used for all text before
+# the first occurrence of this tag. Doxygen uses libiconv (or the iconv built into
+# libc) for the transcoding. See http://www.gnu.org/software/libiconv for the list of
+# possible encodings.
+
+DOXYFILE_ENCODING = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+# by quotes) that should identify the project.
+
+PROJECT_NAME = "$(DOXYGEN_PROJECTNAME) ($(DOXYGEN_VERSION)) "
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER = 1
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY = $(DOXYGEN_OUTPUT)
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
+# 4096 sub-directories (in 2 levels) under the output directory of each output
+# format and will distribute the generated files over these directories.
+# Enabling this option can be useful when feeding doxygen a huge amount of
+# source files, where putting all generated files in the same directory would
+# otherwise cause performance problems for the file system.
+
+CREATE_SUBDIRS = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
+# Croatian, Czech, Danish, Dutch, Finnish, French, German, Greek, Hungarian,
+# Italian, Japanese, Japanese-en (Japanese with English messages), Korean,
+# Korean-en, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian,
+# Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian.
+
+OUTPUT_LANGUAGE = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator
+# that is used to form the text in various listings. Each string
+# in this list, if found as the leading text of the brief description, will be
+# stripped from the text and the result after processing the whole list, is
+# used as the annotated text. Otherwise, the brief description is used as-is.
+# If left blank, the following values are used ("$name" is automatically
+# replaced with the name of the entity): "The $name class" "The $name widget"
+# "The $name file" "is" "provides" "specifies" "contains"
+# "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF =
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+
+INLINE_INHERITED_MEMB = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user-defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the
+# path to strip.
+
+STRIP_FROM_PATH =
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
+# the path mentioned in the documentation of a class, which tells
+# the reader which header file to include in order to use a class.
+# If left blank only the name of the header file containing the class
+# definition is used. Otherwise one should specify the include paths that
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful is your file systems
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like regular Qt-style comments
+# (thus requiring an explicit @brief command for a brief description.)
+
+JAVADOC_AUTOBRIEF = YES
+
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
+# interpret the first line (until the first dot) of a Qt-style
+# comment as the brief description. If set to NO, the comments
+# will behave just like regular Qt-style comments (thus requiring
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the DETAILS_AT_TOP tag is set to YES then Doxygen
+# will output the detailed description near the top, like JavaDoc.
+# If set to NO, the detailed description appears after the member
+# documentation.
+
+DETAILS_AT_TOP = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# re-implements.
+
+INHERIT_DOCS = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
+# a new page for each member. If set to NO, the documentation of a member will
+# be part of the file/class/namespace that contains it.
+
+SEPARATE_MEMBER_PAGES = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE = 4
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user-defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES = "tpl=\par Template parameter: \n" "since=\par Available since: \n" "derive=\par Derive: \n" "attention=\par Attention: \n"
+# precond throws see path todo(own section, can enable!)
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
+# sources only. Doxygen will then generate output that is more tailored for C.
+# For instance, some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
+# sources only. Doxygen will then generate output that is more tailored for Java.
+# For instance, namespaces will be presented as packages, qualified scopes
+# will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA = NO
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to
+# include (a tag file for) the STL sources as input, then you should
+# set this tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
+# func(std::string) {}). This also make the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+
+BUILTIN_STL_SUPPORT = NO
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+
+CPP_CLI_SUPPORT = NO
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
+# the same type (for instance a group of public functions) to be put as a
+# subgroup of that type (e.g. under the Public Functions section). Set it to
+# NO to prevent subgrouping. Alternatively, this can be done per class using
+# the \nosubgrouping command.
+
+SUBGROUPING = YES
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE = YES
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC = YES
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES = YES
+
+# This flag is only useful for Objective-C code. When set to YES local
+# methods, which are defined in the implementation section but not in
+# the interface are included in the documentation.
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be extracted
+# and appear in the documentation as a namespace called 'anonymous_namespace{file}',
+# where file will be replaced with the base name of the file that contains the anonymous
+# namespace. By default anonymous namespace are hidden.
+
+EXTRACT_ANON_NSPACES = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these classes will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
+# documentation blocks found inside the body of a function.
+# If set to NO (the default) these blocks will be appended to the
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS = NO
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put a list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
+# brief documentation of file, namespace and class members alphabetically
+# by member name. If set to NO (the default) the members will appear in
+# declaration order.
+
+SORT_BRIEF_DOCS = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
+# sorted by fully-qualified names, including namespaces. If set to
+# NO (the default), the class list will be sorted only by class name,
+# not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST = NO
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST = NO
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST = NO
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or define consists of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and defines in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES = YES
+
+# If the sources in your project are distributed over multiple directories
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
+# in the documentation. The default is NO.
+
+SHOW_DIRECTORIES = NO
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from the
+# version control system). Doxygen will invoke the program by executing (via
+# popen()) the command <command> <input-file>, where <command> is the value of
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
+# provided by doxygen. Whatever the program writes to standard output
+# is used as the file version. See the manual for examples.
+
+FILE_VERSION_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED = NO
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some
+# parameters in a documented function, or documenting parameters that
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR = YES
+
+# This WARN_NO_PARAMDOC option can be abled to get warnings for
+# functions that are documented, but have no documentation for their parameters
+# or return value. If set to NO (the default) doxygen will only warn about
+# wrong or incomplete parameter documentation, but not about the absence of
+# documentation.
+
+WARN_NO_PARAMDOC = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text. Optionally the format may contain
+# $version, which will be replaced by the version of the file (if it could
+# be obtained via FILE_VERSION_FILTER)
+
+WARN_FORMAT =
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
+WARN_LOGFILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+INPUT = $(DOXYGEN_INPUT)
+
+# This tag can be used to specify the character encoding of the source files that
+# doxygen parses. Internally doxygen uses the UTF-8 encoding, which is also the default
+# input encoding. Doxygen uses libiconv (or the iconv built into libc) for the transcoding.
+# See http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+INPUT_ENCODING = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
+# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py
+
+FILE_PATTERNS =
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE =
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
+# directories that are symbolic links (a Unix filesystem feature) are excluded
+# from the input.
+
+EXCLUDE_SYMLINKS = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories. Note that the wildcards are matched
+# against the file with absolute path, so to exclude all test directories
+# for example use the pattern */test/*
+
+EXCLUDE_PATTERNS =
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the output.
+# The symbol name can be a fully qualified name, a word, or if the wildcard * is used,
+# a substring. Examples: ANamespace, AClass, AClass::ANamespace, ANamespace::*Test
+
+EXCLUDE_SYMBOLS =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH =
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+EXAMPLE_PATTERNS =
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output. If FILTER_PATTERNS is specified, this tag will be
+# ignored.
+
+INPUT_FILTER =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis. Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match. The filters are a list of the form:
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
+# is applied to all files.
+
+FILTER_PATTERNS =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+# Note: To get rid of all source code in the generated output, make sure also
+# VERBATIM_HEADERS is set to NO. If you have enabled CALL_GRAPH or CALLER_GRAPH
+# then you must also enable this option. If you don't then doxygen will produce
+# a warning and turn it on anyway
+
+SOURCE_BROWSER = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES (the default)
+# then for each documented function all documented
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES (the default)
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION = YES
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
+# link to the source code. Otherwise they will link to the documentstion.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code
+# will point to the HTML generated by the htags(1) tool instead of doxygen
+# built-in source browser. The htags tool is part of GNU's global source
+# tagging system (see http://www.gnu.org/software/global/global.html). You
+# will need version 4.8.6 or higher.
+
+USE_HTAGS = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX = YES
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT =
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header.
+
+HTML_HEADER =
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER =
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet. Note that doxygen will try to copy
+# the style sheet file to the HTML output directory, so don't put your own
+# stylesheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET =
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP = NO
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded. For this to work a browser that supports
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+
+HTML_DYNAMIC_SECTIONS = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
+# written to the html output directory.
+
+CHM_FILE =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND = NO
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
+# top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it.
+
+DISABLE_INDEX = NO
+
+# This tag can be used to set the number of enum values (range [1..20])
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE = 1
+
+# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
+# generated containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
+# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
+# probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
+TREEVIEW_WIDTH = 250
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT =
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked. If left blank `latex' will be used as the default command name.
+
+LATEX_CMD_NAME = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank `makeindex' will be used as the
+# default command name.
+
+MAKEINDEX_CMD_NAME = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, a4wide, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS = NO
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
+USE_PDFLATEX = NO
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
+# include the index chapters (such as File Index, Compound Index, etc.)
+# in the output.
+
+LATEX_HIDE_INDICES = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimized for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
+GENERATE_RTF = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT =
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_RTF = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assignments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
+GENERATE_MAN = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT =
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION =
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation.
+
+GENERATE_XML = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_SCHEMA =
+
+# The XML_DTD tag can be used to specify an XML DTD,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_DTD =
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
+# dump the program listings (including syntax highlighting
+# and cross-referencing information) to the XML output. Note that
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
+# generate a Perl module file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_PERLMOD = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
+# nicely formatted so it can be parsed by a human reader. This is useful
+# if you want to understand what is going on. On the other hand, if this
+# tag is set to NO the size of the Perl module output will be much smaller
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY = YES
+
+# The names of the make variables in the generated doxyrules.make file
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
+# This is useful so different doxyrules.make files included by the same
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
+ENABLE_PREPROCESSING = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_DEFINED tags.
+
+EXPAND_ONLY_PREDEF = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
+INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH)
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
+INCLUDE_FILE_PATTERNS =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed. To prevent a macro definition from being
+# undefined via #undef or recursively expanded use the := operator
+# instead of the = operator.
+
+PREDEFINED = LINUX \
+ UNX \
+ VCL \
+ GCC \
+ C341 \
+ X86_64 \
+ _DEBUG_RUNTIME \
+ VER=C341 \
+ NPTL \
+ GLIBC=2 \
+ NEW_SOLAR \
+ _USE_NAMESPACE=1 \
+ UNIX \
+ SUPD=300 \
+ DEBUG \
+ DBG_UTIL \
+ OSL_DEBUG_LEVEL=2 \
+ CUI \
+ SOLAR_JAVA \
+ EXCEPTIONS_ON
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all function-like macros that are alone
+# on a line, have an all uppercase name, and do not end with a semicolon. Such
+# function macros are typically used for boiler-plate code, and will confuse
+# the parser if not removed.
+
+SKIP_FUNCTION_MACROS = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles.
+# Optionally an initial location of the external documentation
+# can be added for each tagfile. The format of a tag file without
+# this location is as follows:
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where "loc1" and "loc2" can be relative or absolute paths or
+# URLs. If a location is present for each tag, the installdox tool
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES = $(DOXYGEN_REF_TAGFILES)
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE = $(DOXYGEN_OUR_TAGFILE)
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
+ALLEXTERNALS = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will
+# be listed.
+
+EXTERNAL_GROUPS = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
+# or super classes. Setting the tag to NO turns the diagrams off. Note that
+# this option is superseded by the HAVE_DOT option below. This is only a
+# fallback. It is recommended to install and use dot, since it yields more
+# powerful graphs.
+
+CLASS_DIAGRAMS = YES
+
+# You can define message sequence charts within doxygen comments using the \msc
+# command. Doxygen will then run the mscgen tool (see http://www.mcternan.me.uk/mscgen/) to
+# produce the chart and insert it in the documentation. The MSCGEN_PATH tag allows you to
+# specify the directory where the mscgen tool resides. If left empty the tool is assumed to
+# be found in the default search path.
+
+MSCGEN_PATH =
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT = YES
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH = YES
+
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for groups, showing the direct groups dependencies
+
+GROUP_GRAPHS = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+
+UML_LOOK = NO
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
+# other documented files.
+
+INCLUDE_GRAPH = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH = YES
+
+# If the CALL_GRAPH, SOURCE_BROWSER and HAVE_DOT tags are set to YES then doxygen will
+# generate a call dependency graph for every global function or class method.
+# Note that enabling this option will significantly increase the time of a run.
+# So in most cases it will be better to enable call graphs for selected
+# functions only using the \callgraph command.
+
+CALL_GRAPH = NO
+
+# If the CALLER_GRAPH, SOURCE_BROWSER and HAVE_DOT tags are set to YES then doxygen will
+# generate a caller dependency graph for every global function or class method.
+# Note that enabling this option will significantly increase the time of a run.
+# So in most cases it will be better to enable caller graphs for selected
+# functions only using the \callergraph command.
+
+CALLER_GRAPH = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY = YES
+
+# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
+# then doxygen will show the dependencies a directory has on other directories
+# in a graphical way. The dependency relations are determined by the #include
+# relations between the files in the directories.
+
+DIRECTORY_GRAPH = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. Possible values are png, jpg, or gif
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT = png
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found in the path.
+
+DOT_PATH =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
+DOTFILE_DIRS =
+
+# The MAX_DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
+# nodes that will be shown in the graph. If the number of nodes in a graph
+# becomes larger than this value, doxygen will truncate the graph, which is
+# visualized by representing a node as a red box. Note that doxygen if the number
+# of direct children of the root node in a graph is already larger than
+# MAX_DOT_GRAPH_NOTES then the graph will not be shown at all. Also note
+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+
+DOT_GRAPH_MAX_NODES = 50
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
+# graphs generated by dot. A depth value of 3 means that only nodes reachable
+# from the root by following a path via at most 3 edges will be shown. Nodes
+# that lay further from the root node will be omitted. Note that setting this
+# option to 1 or 2 may greatly reduce the computation time needed for large
+# code bases. Also note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+
+MAX_DOT_GRAPH_DEPTH = 0
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is disabled by default, which results in a white background.
+# Warning: Depending on the platform used, enabling this option may lead to
+# badly anti-aliased labels on the edges of a graph (i.e. they become hard to
+# read).
+
+DOT_TRANSPARENT = NO
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10)
+# support this, this feature is disabled by default.
+
+DOT_MULTI_TARGETS = NO
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermediate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP = NO
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine
+#---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be
+# used. If set to NO the values of all tags below this one will be ignored.
+
+SEARCHENGINE = NO
diff --git a/solenv/inc/extension_helplink.mk b/solenv/inc/extension_helplink.mk
index e375696bda18..c9fa15e6770b 100644
--- a/solenv/inc/extension_helplink.mk
+++ b/solenv/inc/extension_helplink.mk
@@ -1,7 +1,7 @@
#*************************************************************************
#
# 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
@@ -32,10 +32,10 @@ my_cp!:=$(my_cp)$(PATH_SEPERATOR)$(LUCENE_CORE_JAR)$(PATH_SEPERATOR)$(LUCENE_ANA
.ELSE
my_cp!:=$(my_cp)$(PATH_SEPERATOR)$(SOLARBINDIR)/lucene-core-2.3.jar$(PATH_SEPERATOR)$(SOLARBINDIR)/lucene-analyzers-2.3.jar
.ENDIF
-
+
.IF "$(SYSTEM_DB)" != "YES"
JAVA_LIBRARY_PATH= -Djava.library.path=$(SOLARSHAREDBIN)
-.ENDIF
+.ENDIF
#aux_alllangiso*:=$(foreach,i,$(alllangiso) $(foreach,j,$(aux_langdirs) $(eq,$i,$j $i $(NULL))))
aux_alllangiso*:=$(alllangiso)
@@ -77,4 +77,3 @@ $(HELPLINKALLTARGETS) : $(foreach,i,$(LINKLINKFILES) $(XHPLINKSRC)/$$(@:b:s/_/./
-$(RM) $(XHPLINKSRC)/$(@:b)/content/*.*
-$(RM) $(XHPLINKSRC)/$(@:b)/caption/*.*
.ENDIF
-
diff --git a/solenv/inc/extension_post.mk b/solenv/inc/extension_post.mk
index 7b8c99b37fe8..5204af7dd29a 100644
--- a/solenv/inc/extension_post.mk
+++ b/solenv/inc/extension_post.mk
@@ -85,7 +85,7 @@ $(EXTENSIONDIR) :
$(PACK_RUNTIME_FLAG) : $(EXTENSIONDIR)
@@-$(MKDIRHIER) $(@:d)
-.IF "$(OS)$(CPU)"=="WNTI"
+.IF "$(OS)$(CPU)"=="WNTI" && "$(WITH_EXTENSION_INTEGRATION)"!="YES"
.IF "$(COM)"=="GCC"
$(GNUCOPY) $(SOLARBINDIR)/mingwm10.dll $(EXTENSIONDIR)
.IF "$(MINGW_GCCDLL)"!=""
@@ -131,7 +131,7 @@ $(PACK_RUNTIME_FLAG) : $(EXTENSIONDIR)
.ENDIF # "$(CCNUMVER)" <= "001399999999"
.ENDIF # "$(PACKMS)"!=""
.ENDIF #"$(COM)"=="GCC"
-.ENDIF # "$(OS)$(CPU)"=="WNTI"
+.ENDIF # "$(OS)$(CPU)"=="WNTI" && "$(WITH_EXTENSION_INTEGRATION)"!="YES"
@$(TOUCH) $@
.ENDIF # "$(PACK_RUNTIME)"!=""
@@ -146,25 +146,22 @@ $(DESCRIPTION) $(PHONYDESC) : $(DESCRIPTION_SRC)
@@-$(MKDIRHIER) $(@:d)
@echo LAST_WITH_LANG=$(WITH_LANG) > $(MISC)/$(TARGET)_lang_track.mk
- $(COMMAND_ECHO)$(PERL) $(SOLARENV)/bin/licinserter.pl $(DESCRIPTION_SRC) $(COMPONENT_LIC_TEMPL) $@.1.$(EXTNAME)
+ $(COMMAND_ECHO)$(PERL) $(SOLARENV)/bin/transform_description.pl $(DESCRIPTION_SRC) $@.1.$(EXTNAME)
- $(COMMAND_ECHO)$(PERL) $(SOLARENV)/bin/transform_description.pl $@.1.$(EXTNAME) $@.2.$(EXTNAME)
+ $(COMMAND_ECHO)$(TYPE) $@.1.$(EXTNAME) | sed s/UPDATED_IDENTIFIER/$(IMPLEMENTATION_IDENTIFIER)/ > $@.2.$(EXTNAME)
@@-$(RM) $@.1.$(EXTNAME)
- $(COMMAND_ECHO)$(TYPE) $@.2.$(EXTNAME) | sed s/UPDATED_IDENTIFIER/$(IMPLEMENTATION_IDENTIFIER)/ > $@.3.$(EXTNAME)
+ $(COMMAND_ECHO)$(TYPE) $@.2.$(EXTNAME) | sed s/UPDATED_SUPPORTED_PLATFORM/$(PLATFORMID)/ > $@
@@-$(RM) $@.2.$(EXTNAME)
- $(COMMAND_ECHO)$(TYPE) $@.3.$(EXTNAME) | sed s/UPDATED_SUPPORTED_PLATFORM/$(PLATFORMID)/ > $@
- @@-$(RM) $@.3.$(EXTNAME)
-
.ENDIF # "$(DESCRIPTION)"!=""
# default OOo license text!!!
# may not fit...
.IF "$(CUSTOM_LICENSE)"==""
.IF "$(GUI)" == "WNT"
-PACKLICDEPS=$(SOLARBINDIR)/osl/license$$(@:b:s/_/./:e:s/./_/)$$(@:e)
+PACKLICDEPS=$(SOLARBINDIR)/osl/license.txt
.ELSE # "$(GUI)" == "WNT"
-PACKLICDEPS=$(SOLARBINDIR)/osl/LICENSE$$(@:b:s/_/./:e:s/./_/)$$(@:e)
+PACKLICDEPS=$(SOLARBINDIR)/osl/LICENSE
.ENDIF # "$(GUI)" == "WNT"
.ELSE # "$(CUSTOM_LICENSE)" == ""
PACKLICDEPS=$(CUSTOM_LICENSE)
diff --git a/solenv/inc/extension_pre.mk b/solenv/inc/extension_pre.mk
index abef2e7f8b73..7fd8f5d86c85 100644
--- a/solenv/inc/extension_pre.mk
+++ b/solenv/inc/extension_pre.mk
@@ -39,11 +39,11 @@ COMPONENT_MANIFEST*:=$(EXTENSIONDIR)/META-INF/manifest.xml
MANIFEST_SRC*:=manifest.xml
.IF "$(GUI)" == "WIN" || "$(GUI)" == "WNT"
-PACKLICS*:=$(foreach,i,$(alllangiso) $(EXTENSIONDIR)/registration/license_$i.txt)
-COMPONENT_LIC_TEMPL*:=registration/license_xxx.txt
+PACKLICS*:=$(EXTENSIONDIR)/registration/license.txt
+COMPONENT_LIC_TEMPL*:=registration/license.txt
.ELSE
-PACKLICS*:=$(foreach,i,$(alllangiso) $(EXTENSIONDIR)/registration/LICENSE_$i)
-COMPONENT_LIC_TEMPL*:=registration/LICENSE_xxx
+PACKLICS*:=$(EXTENSIONDIR)/registration/LICENSE
+COMPONENT_LIC_TEMPL*:=registration/LICENSE
.ENDIF
#TODO: check ZIP9TARGET for previous use!
diff --git a/solenv/inc/installationtest.mk b/solenv/inc/installationtest.mk
index 8553a739d5d1..bc4baa85bb12 100644
--- a/solenv/inc/installationtest.mk
+++ b/solenv/inc/installationtest.mk
@@ -51,28 +51,28 @@ my_file = file://
.IF "$(UPDATER)" == "YES" && "$(SHIPDRIVE)" != "" && \
"$(CWS_WORK_STAMP)" == "" && "$(SOLARENV:s/$(SOL_TMP)//" == "$(SOLARENV)"
my_instsets = $(shell ls -dt \
- $(SHIPDRIVE)/$(INPATH)/OpenOffice/archive/$(WORK_STAMP)_$(LAST_MINOR)_native_packed-*_$(defaultlangiso).$(BUILD))
+ $(SHIPDRIVE)/$(INPATH)/LibreOffice/archive/$(WORK_STAMP)_$(LAST_MINOR)_native_packed-*_$(defaultlangiso).$(BUILD))
installationtest_instset = $(my_instsets:1)
.ELSE
installationtest_instset = \
- $(SOLARSRC)/instsetoo_native/$(INPATH)/OpenOffice/archive/install/$(defaultlangiso)
+ $(SOLARSRC)/instsetoo_native/$(INPATH)/LibreOffice/archive/install/$(defaultlangiso)
.END
.IF "$(OS)" == "WNT"
installationtest_instpath = `cat $(MISC)/$(TARGET)/installation.flag`
.ELSE
-installationtest_instpath = $(SOLARVERSION)/$(INPATH)/installation$(UPDMINOREXT)
+installationtest_instpath = $(SOLARVERSION)/$(INPATH)/installation
.END
.IF "$(OS)" == "MACOSX"
my_sofficepath = \
- $(installationtest_instpath)/opt/OpenOffice.org.app/Contents/MacOS/soffice
+ $(installationtest_instpath)/opt/LibreOffice.app/Contents/MacOS/soffice
.ELIF "$(OS)" == "WNT"
my_sofficepath = \
- $(installationtest_instpath)'/opt/OpenOffice.org 3/program/soffice.exe'
+ $(installationtest_instpath)'/opt/LibreOffice 3/program/soffice.exe'
.ELSE
my_sofficepath = \
- $(installationtest_instpath)/opt/openoffice.org3/program/soffice
+ $(installationtest_instpath)/opt/program/soffice
.END
.IF "$(OOO_TEST_SOFFICE)" == ""
@@ -97,10 +97,10 @@ my_javaenv = \
.IF "$(OS)" == "WNT" && "$(OOO_TEST_SOFFICE)" == ""
OOO_EXTRACT_TO:=$(shell cygpath -m `mktemp -dt ooosmoke.XXXXXX`)
$(MISC)/$(TARGET)/installation.flag : $(shell \
- ls $(installationtest_instset)/OOo_*_install-arc_$(defaultlangiso).zip)
+ ls $(installationtest_instset)/LibO_*_install-arc_$(defaultlangiso).zip)
$(COMMAND_ECHO)$(MKDIRHIER) $(@:d)
- $(COMMAND_ECHO)unzip -q $(installationtest_instset)/OOo_*_install-arc_$(defaultlangiso).zip -d "$(OOO_EXTRACT_TO)"
- $(COMMAND_ECHO)mv "$(OOO_EXTRACT_TO)"/OOo_*_install-arc_$(defaultlangiso) "$(OOO_EXTRACT_TO)"/opt
+ $(COMMAND_ECHO)unzip -q $(installationtest_instset)/LibO_*_install-arc_$(defaultlangiso).zip -d "$(OOO_EXTRACT_TO)"
+ $(COMMAND_ECHO)mv "$(OOO_EXTRACT_TO)"/LibO_*_install-arc_$(defaultlangiso) "$(OOO_EXTRACT_TO)"/opt
$(COMMAND_ECHO)echo "$(OOO_EXTRACT_TO)" > $@
.END
diff --git a/solenv/inc/langlist.mk b/solenv/inc/langlist.mk
index bbf940e77406..0e58717c6a2e 100644
--- a/solenv/inc/langlist.mk
+++ b/solenv/inc/langlist.mk
@@ -25,21 +25,18 @@
#
#*************************************************************************
+# Complete list of all supported localizations (ISO codes)
completelangiso=af \
ar \
as \
-as-IN \
ast \
-be-BY \
+be \
bo \
bg \
br \
brx \
bn \
-bn-BD \
-bn-IN \
bs \
-by \
ca \
ca-XV \
cs \
@@ -59,26 +56,18 @@ eu \
fa \
fi \
fr \
-fur \
ga \
-gd \
gl \
gu \
-gu-IN \
he \
hi \
-hi-IN \
hr \
-ht \
hu \
+id \
is \
it \
ja \
-jbo \
-kid \
-ky \
ka \
-kab \
kk \
km \
kn \
@@ -93,11 +82,8 @@ mai \
mk \
mn \
mni \
-ms \
ml \
-ml-IN \
mr \
-mr-IN \
my \
ne \
nb \
@@ -105,48 +91,31 @@ nl \
nn \
nr \
nso \
-ny \
om \
-oms \
oc \
or \
-or-IN \
-pap \
-pa \
pa-IN \
pl \
-ps \
pt \
pt-BR \
-gug \
-pyg \
ro \
ru \
rw \
sat \
-sa \
sa-IN \
si \
-sc \
sd \
sq \
sk \
sl \
sh \
-so \
sr \
ss \
st \
sv \
-sw \
sw-TZ \
te \
-te-IN \
-ti \
-ti-ER \
ta \
-ta-IN \
-tlh \
th \
tn \
tr \
@@ -154,8 +123,6 @@ tk \
ts \
tg \
ug \
-ur \
-ur-IN \
uk \
uz \
ve \
diff --git a/solenv/inc/layout.mk b/solenv/inc/layout.mk
index 0fb4c39454c9..7b808f0b35aa 100644
--- a/solenv/inc/layout.mk
+++ b/solenv/inc/layout.mk
@@ -1,4 +1,4 @@
-TRALAY=$(AUGMENT_LIBRARY_PATH) tralay
+TRALAY=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/tralay
XML_DEST=$(DLLDEST)
XML_LANGS=$(alllangiso)
diff --git a/solenv/inc/libs.mk b/solenv/inc/libs.mk
index 6533a619591f..0d1a7b00e334 100644
--- a/solenv/inc/libs.mk
+++ b/solenv/inc/libs.mk
@@ -26,7 +26,16 @@
#*************************************************************************
LIBSMKREV!:="$$Revision: 1.134.2.3 $$"
-.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2"
+.INCLUDE .IGNORE : icuversion.mk
+.INCLUDE .IGNORE : i18npool/version.mk
+.INCLUDE .IGNORE : comphelper/version.mk
+.INCLUDE .IGNORE : ucbhelper/version.mk
+.INCLUDE .IGNORE : connectivity/version.mk
+
+.IF ("$(GUI)"=="UNX" || "$(COM)"=="GCC")
+
+# No ODMA on UNX
+ODMA_LIB_LIB=
#
#externe libs in plattform.mk
@@ -37,28 +46,22 @@ AWTLIB*=$(JAVA_HOME)/lib/jawt.lib
AWTLIB*=-ljawt
.ENDIF # "$(GUI)$(COM)"=="WNTGCC"
AVMEDIALIB=-lavmedia$(DLLPOSTFIX)
-.IF "$(GUI)$(COM)"=="WNTGCC"
-.INCLUDE .IGNORE : icuversion.mk
+.IF "$(GUI)$(COM)"=="WNTGCC" && "$(SYSTEM_ICU)"!="YES"
ICUINLIB=-licuin$(ICU_MAJOR)$(ICU_MINOR)
ICULELIB=-licule$(ICU_MAJOR)$(ICU_MINOR)
ICUUCLIB=-licuuc$(ICU_MAJOR)$(ICU_MINOR)
ICUDATALIB=-licudt$(ICU_MAJOR)$(ICU_MINOR)
-.ELSE # "$(GUI)$(COM)"=="WNTGCC"
+.ELSE # "$(GUI)$(COM)"=="WNTGCC" && "$(SYSTEM_ICU)"!="YES"
ICUINLIB=-licui18n
ICULELIB=-licule
ICUUCLIB=-licuuc
ICUDATALIB=-licudata
-.ENDIF # "$(GUI)$(COM)"=="WNTGCC"
+.ENDIF # "$(GUI)$(COM)"=="WNTGCC" && "$(SYSTEM_ICU)"!="YES"
I18NUTILLIB=-li18nutil$(COMID)
-.INCLUDE .IGNORE : i18npool/version.mk
I18NISOLANGLIB=-li18nisolang$(ISOLANG_MAJOR)$(COMID)
I18NPAPERLIB=-li18npaper$(DLLPOSTFIX)
I18NREGEXPLIB=-li18nregexp$(DLLPOSTFIX)
-.IF "$(GUI)$(COM)"=="WNTGCC"
-SALHELPERLIB=-lsalhelper$(UDK_MAJOR)$(COMID)
-.ELSE # "$(GUI)$(COM)"=="WNTGCC"
SALHELPERLIB=-luno_salhelper$(COMID)
-.ENDIF # "$(GUI)$(COM)"=="WNTGCC"
XMLSCRIPTLIB =-lxcr$(DLLPOSTFIX)
COMPHELPERLIB=-lcomphelp$(COMID)
CONNECTIVITYLIB=-lconnectivity
@@ -73,7 +76,6 @@ CPPUHELPERLIB=-lcppuhelper$(UDK_MAJOR)$(COMID)
CPPULIB=-luno_cppu
CPPUHELPERLIB=-luno_cppuhelper$(COMID)
.ENDIF # "$(GUI)$(COM)"=="WNTGCC"
-.INCLUDE .IGNORE : ucbhelper/version.mk
UCBHELPERLIB=-lucbhelper4$(COMID)
.IF "$(SYSTEM_OPENSSL)" == "YES"
OPENSSLLIB=$(OPENSSL_LIBS)
@@ -91,18 +93,15 @@ REGLIB=-lreg$(UDK_MAJOR)
.ELSE # "$(GUI)$(COM)"=="WNTGCC"
REGLIB=-lreg
.ENDIF # "$(GUI)$(COM)"=="WNTGCC"
-.INCLUDE .IGNORE : vos/version.mk
-VOSLIB=-lvos$(VOS_MAJOR)$(COMID)
XMLOFFLIB=-lxo$(DLLPOSTFIX)
XMLOFFLLIB=-lxol
.IF "$(GUI)$(COM)"=="WNTGCC"
STORELIB=-lstore$(UDK_MAJOR)
-SALLIB=-lsal$(UDK_MAJOR)
+SALLIB=-luno_sal$(UDK_MAJOR)
.ELSE # "$(GUI)$(COM)"=="WNTGCC"
STORELIB=-lstore
SALLIB=-luno_sal
.ENDIF # "$(GUI)$(COM)"=="WNTGCC"
-.INCLUDE .IGNORE : connectivity/version.mk
ODBCLIB=-lodbc$(DLLPOSTFIX)
ODBCBASELIB=-lodbcbase$(DLLPOSTFIX)
DBFILELIB=-lfile$(DLLPOSTFIX)
@@ -113,7 +112,6 @@ RMCXTLIB=-lrmcxt
.ENDIF # "$(GUI)$(COM)"=="WNTGCC"
BTSTRPLIB=-lbtstrp
BTSTRPDTLIB=-lbootstrpdt$(DLLPOSTFIX)
-SOLDEPLIB=-lsoldep$(DLLPOSTFIX)
TRANSEXLIB=-ltransex
OTXLIB=-lotx_ind
OSXLIB=-losx
@@ -201,18 +199,7 @@ ZLIB3RDLIB=-lz
ZLIB3RDLIB=-lzlib
.ENDIF
.IF "$(SYSTEM_JPEG)"=="YES"
-.IF "$(SOLAR_JAVA)" != "" && "$(JDK)" != "gcj" && "$(OS)" != "MACOSX"
-#i34482# Blackdown/Sun jdk is in the libsearch patch and has a libjpeg :-(
-.IF "$(OS)" == "FREEBSD"
-JPEG3RDLIB=/usr/local/lib/libjpeg.so
-.ELIF "$(CPUNAME)" == "X86_64" || "$(CPUNAME)" == "S390X" || "$(CPUNAME)" == "POWERPC64"
-JPEG3RDLIB=/usr/lib64/libjpeg.so
-.ELSE
-JPEG3RDLIB=/usr/lib/libjpeg.so
-.ENDIF
-.ELSE
JPEG3RDLIB=-ljpeg
-.ENDIF
.ELSE
JPEG3RDLIB=-ljpeglib
.ENDIF
@@ -226,14 +213,13 @@ NEON3RDLIB=$(SOLARLIBDIR)/libneon.dylib
NEON3RDLIB=-lneon
.ENDIF
.IF "$(SYSTEM_DB)" == "YES"
-BERKELEYLIB=-ldb
+BERKELEYLIB=-l$(DB_LIB)
.ELSE
BERKELEYLIB=-ldb-4.7
.ENDIF
CURLLIB=-lcurl
SFX2LIB=-lsfx$(DLLPOSTFIX)
SFXLIB=-lsfx$(DLLPOSTFIX)
-EGGTRAYLIB=-leggtray$(DLLPOSTFIX)
SFXDEBUGLIB=
FWELIB=-lfwe$(DLLPOSTFIX)
FWILIB=-lfwi$(DLLPOSTFIX)
@@ -251,6 +237,7 @@ SCHLIB=-lysch
SMLIB=-lysm
OFALIB=-lofa$(DLLPOSTFIX)
PRXLIB=-llprx2$(DLLPOSTFIX)
+PACKAGE2LIB=-lpackage2
PAPILIB=-lpap$(DLLPOSTFIX)
SCLIB=-lsclib
SDLIB=-lsdlib
@@ -319,7 +306,7 @@ BFSVTOOLLIB=-lbf_svt$(DLLPOSTFIX)
# Libraries
USED_OSL_LIBS =
USED_VOS_LIBS = $(OSLLIB)
-USED_UNO_LIBS = $(VOSLIB) $(OSLLIB)
+USED_UNO_LIBS = $(OSLLIB)
USED_TOOLS_LIBS =
USED_SOT_LIBS = $(TOOLSLIB)
USED_VCL_LIBS = $(SOTLIB) $(TOOLSLIB) $(USED_UNO_LIBS)
@@ -354,18 +341,15 @@ UNOPKGAPPLIB=-lunopkgapp
TESTLIB=-ltest
XMLREADERLIB=-lxmlreader
-.ELSE # ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2"
+.ELSE # ("$(GUI)"=="UNX" || "$(COM)"=="GCC")
+ODMA_LIB_LIB=odma_lib.lib
AWTLIB*=jawt.lib
AVMEDIALIB=iavmedia.lib
ICUINLIB=icuin.lib
ICULELIB=icule.lib
ICUUCLIB=icuuc.lib
-.IF "$(GUI)"=="OS2"
ICUDATALIB=icudt.lib
-.ELSE
-ICUDATALIB=icudata.lib
-.ENDIF
I18NUTILLIB=ii18nutil.lib
I18NISOLANGLIB=ii18nisolang.lib
I18NPAPERLIB=ii18npaper.lib
@@ -378,11 +362,7 @@ LDAPBERLIB=ldapber.lib
CPPULIB=icppu.lib
CPPUHELPERLIB=icppuhelper.lib
UCBHELPERLIB=iucbhelper.lib
-.IF "$(GUI)"=="OS2"
-OPENSSLLIB=ssl.lib crypto.lib
-.ELSE
OPENSSLLIB=ssleay32.lib libeay32.lib
-.ENDIF
ODBCLIB=iodbc.lib
ODBCBASELIB=iodbcbase.lib
DBFILELIB=ifile.lib
@@ -390,7 +370,6 @@ TOOLSLIB=itools.lib
TOOLSLIBST=atools.lib
BPICONVLIB=bpiconv.lib
SALLIB=isal.lib
-VOSLIB=ivos.lib
UNOTOOLSLIB=iutl.lib
RMCXTLIB=irmcxt.lib
XMLOFFLIB=ixo.lib
@@ -411,7 +390,6 @@ FWELIB=ifwe.lib
FWILIB=ifwi.lib
BTSTRPLIB=btstrp.lib
BTSTRPDTLIB=bootstrpdt.lib
-SOLDEPLIB=soldep.lib
TRANSEXLIB=transex.lib
ICOLIB=icom.lib
SVTOOLLIB=svtool.lib
@@ -437,7 +415,6 @@ DOCMGRLIB=docmgr.lib
BASICLIB=basic.lib
VBAHELPERLIB=vbahelper.lib
TKTLIB=tkt.lib
-SJLIB=sj.lib
SVXCORELIB=isvxcore.lib
MSFILTERLIB=imsfilter.lib
SVXLIB=isvx.lib
@@ -468,6 +445,7 @@ SDLIB=sdlib.lib
SDLLIB=sdl.lib
SWLIB=swlib.lib
PRXLIB=ilprx2.lib
+PACKAGE2LIB=ipackage.lib
ISWLIB=_sw.lib
ISCLIB=sci.lib
ISDLIB=sdi.lib
@@ -490,11 +468,7 @@ HELPLINKERLIB=ihelplinker.lib
JVMACCESSLIB = ijvmaccess.lib
CPPUNITLIB = icppunit_dll.lib
XSLTLIB = libxslt.lib $(LIBXML2LIB)
-.IF "$(GUI)"=="OS2"
-REDLANDLIB = raptor.a rasqal.a rdf.a $(LIBXML2LIB) $(OPENSSLLIB) pthread.lib
-.ELSE
REDLANDLIB = librdf.lib
-.ENDIF
JVMFWKLIB = ijvmfwk.lib
@@ -535,6 +509,7 @@ LPSOLVELIB=lpsolve55.lib
SOFFICELIB=isofficeapp.lib
UNOPKGAPPLIB=iunopkgapp.lib
TESTLIB=itest.lib
+BOOSTTHREADLIB=boostthread.lib
XMLREADERLIB=ixmlreader.lib
-.ENDIF # ("$(GUI)"=="UNX" || "$(COM)"=="GCC") && "$(GUI)"!="OS2"
+.ENDIF # ("$(GUI)"=="UNX" || "$(COM)"=="GCC")
diff --git a/solenv/inc/minor.mk b/solenv/inc/minor.mk
index 4b42cd7b34c9..38646f16b5b3 100644
--- a/solenv/inc/minor.mk
+++ b/solenv/inc/minor.mk
@@ -1,5 +1,5 @@
-RSCVERSION=300
-RSCREVISION=300m106(Build:9582)
-BUILD=9582
-LAST_MINOR=m106
-SOURCEVERSION=DEV300
+RSCVERSION=350
+RSCREVISION=350m1(Build:1)
+BUILD=1
+LAST_MINOR=m1
+SOURCEVERSION=OOO350
diff --git a/solenv/inc/os2.mk b/solenv/inc/os2.mk
deleted file mode 100644
index 981479f184c4..000000000000
--- a/solenv/inc/os2.mk
+++ /dev/null
@@ -1,333 +0,0 @@
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-# --- OS2-Environment ----------------------------------------------
-
-.IF "$(GUI)" == "OS2"
-
-# YD defined in os2env.cmd
-#.IF "$(NOSOLAR_JAVA)"==""
-#SOLAR_JAVA=TRUE
-#.ENDIF
-
-.IF "$(SOLAR_JAVA)"!=""
-JAVADEF=-DSOLAR_JAVA
-.ENDIF
-JAVAFLAGSDEBUG=-g
-
-# --- Borland ---
-.IF "$(COM)" == "BLC"
-
-JAVADEF=-DSOLAR_JAVA
-
-ASM=tasm
-AFLAGS=
-
-CXX=bcc
-CC=bcc
-CFLAGS=-c -3 -a1 -X -d -wbbf -weas -wucp -w-hid -w-par -I. $(MINUS_I)$(INCLUDE)
-CFLAGSCXX=-Pcxx -RT- -x- -V
-CFLAGSOBJGUIST=
-CFLAGSOBJCUIST=
-CFLAGSOBJGUIMT=-sm
-CFLAGSOBJCUIMT=-sm
-CFLAGSSLOGUIMT=-sm -sd
-CFLAGSSLOCUIMT=-sm -sd
-CFLAGSPROF=
-CFLAGSDEBUG=-v
-CFLAGSDBGUTIL=
-CFLAGSOPT=-Os -Ob -k-
-CFLAGSNOOPT=-Od
-CFLAGSOUTOBJ=-o
-
-LINK=tlink
-LINKFLAGS=/m /L$(LIB)
-#LINKFLAGSAPPGUI=/Toe /B:0x10000 /aa
-#Base wg. lxopt raus
-LINKFLAGSAPPGUI=/Toe /aa
-LINKFLAGSSHLGUI=/Tod
-LINKFLAGSAPPCUI=/Toe /B:0x10000 /ap
-LINKFLAGSSHLCUI=/Tod
-LINKFLAGSTACK=/S:
-LINKFLAGSPROF=
-LINKFLAGSDEBUG=/v
-.IF "$(SOLAR_JAVA)"==""
-LINKFLAGSOPT=/Oc
-.ENDIF
-
-STDOBJVCL=$(L)/salmain.obj
-STDOBJGUI=c02.obj
-STDSLOGUI=c02d.obj
-STDOBJCUI=c02.obj
-STDSLOCUI=c02d.obj
-STDLIBGUIST=c2.lib os2.lib
-STDLIBCUIST=c2.lib os2.lib
-STDLIBGUIMT=c2mt.lib os2.lib
-STDLIBCUIMT=c2mt.lib os2.lib
-STDSHLGUIMT=c2mt.lib os2.lib
-STDSHLCUIMT=c2mt.lib os2.lib
-
-LIBMGR=tlib
-LIBFLAGS=/C /P128
-
-IMPLIB=implib
-IMPLIBFLAGS=/c
-
-MAPSYM=
-MAPSYMFLAGS=
-
-RC=rc
-RCFLAGS=-r $(RCFILES) $@
-RCLINK=rc
-RCLINKFLAGS=
-RCSETVERSION=
-
-DLLPOSTFIX=bo
-
-.ENDIF
-
-# --- IBM ---
-.IF "$(COM)" == "ICC"
-
-ASM=tasm
-AFLAGS=/ml /oi
-
-CXX=icc
-CC=icc
-.IF "$(COMEX)"=="3"
-CFLAGS=/C+ /Q+ /Gf+ /Sp1 /G4 /Se /Gs+ /Gt+ /Gd+ /J- /W2 /D__EXTENDED__ /Si+ /Xi+ $(MINUS_I)$(INCLUDE) /Wvft-
-.ELSE
-.IF "$(COMEX)"=="I"
-CFLAGS=/C+ /Tl10 /Q+ /Gf+ /Sp4 /G4 /Sc /Gs- /D__EXTENDED__ /Si+ /Su4
-.ELSE
-CFLAGS=/C+ /Tl10 /Q+ /Gf+ /Sp1 /G4 /Sc /Gs+ /D__EXTENDED__ /Si+
-.ENDIF
-.ENDIF
-
-CFLAGSCXX=/Tdp
-
-CFLAGSEXCEPTIONS=-Gx-
-CFLAGS_NO_EXCEPTIONS=-Gx+
-
-CFLAGSOBJGUIST=/Ge+
-CFLAGSOBJCUIST=/Ge+
-.IF "$(COMEX)"=="I"
-CFLAGSOBJGUIMT=/Ge+ /Gm+
-CFLAGSOBJCUIMT=/Ge+ /Gm+
-CFLAGSSLOGUIMT=/Ge- /Gm+
-CFLAGSSLOCUIMT=/Ge- /Gm+
-.ELSE
-CFLAGSOBJGUIMT=/Ge+ /Gm+
-CFLAGSOBJCUIMT=/Ge+ /Gm+
-CFLAGSSLOGUIMT=/Ge- /Gm+
-CFLAGSSLOCUIMT=/Ge- /Gm+
-.ENDIF
-CFLAGSPROF=/Gh+
-CFLAGSDEBUG=/Ti+
-CFLAGSDBGUTIL=
-CFLAGSOPT=/O+ /Oi+ /Oc+
-CFLAGSNOOPT=/O-
-CFLAGSOUTOBJ=/Fo
-
-CDEFS+=-D_STD_NO_NAMESPACE -D_VOS_NO_NAMESPACE -D_UNO_NO_NAMESPACE
-
-LINK=ilink
-#LINKFLAGS=/PACKCODE:8192 /ALIGN:16 /NOD /NOE /NOI /MAP /NOFREE
-
-#bei too many segments ist /SEGMENTS:nnnn hilfreich. 3072 ist max!
-.IF "$(CPPRTST)"!=""
-LINKFLAGS=/NOFREE /NOD /NOE /NOI /MAP /OPTFUNC /PACKD:65536 /EXEPACK:2
-.ELSE
-LINKFLAGS=/NOFREE /NOD /NOE /NOI /MAP /OPTFUNC /PACKD:65536
-.ENDIF
-LINKFLAGSAPPGUI=/PM:PM /NOBASE
-LINKFLAGSSHLGUI=
-LINKFLAGSAPPCUI=/PM:VIO /NOBASE
-LINKFLAGSSHLCUI=
-LINKFLAGSTACK=/STACK:
-LINKFLAGSPROF=
-LINKFLAGSDEBUG=/COD
-#LINKFLAGSOPT=/EXEPACK:2 /OPTFUNC
-LINKFLAGSOPT=
-#.IF "$(product)"!="full" && "$(product)"!="demo" && "$(product)"!="compact"
-#LINKFLAGS=$(LINKFLAGS) /COD
-#.ELSE
-#LINKFLAGS=$(LINKFLAGS)
-#.ENDIF
-
-.IF "$(product)"=="full" || "$(product)"=="demo" || "$(product)"=="compact"
-# LINKFLAGS=$(LINKFLAGS)
-.ELSE
-LINKFLAGS+=/COD
-.ENDIF
-
-STDOBJVCL=$(L)/salmain.obj
-STDOBJGUI=
-STDSLOGUI=
-STDOBJCUI=
-STDSLOCUI=
-.IF "$(COMEX)"=="3"
-.IF "$(CPPRTST)"!=""
-STDLIBGUIST=cppom30o.lib cpprtst.lib os2386.lib
-STDLIBCUIST=cppom30o.lib cpprtst.lib os2386.lib
-STDLIBGUIMT=cppom30o.lib cpprtst.lib os2386.lib
-STDLIBCUIMT=cppom30o.lib cpprtst.lib os2386.lib
-STDSHLGUIMT=cppom30o.lib cpprtst.lib os2386.lib
-STDSHLCUIMT=cppom30o.lib cpprtst.lib os2386.lib
-.ELSE
-STDLIBGUIST=cppom30o.lib cppom30i.lib os2386.lib
-STDLIBCUIST=cppom30o.lib cppom30i.lib os2386.lib
-STDLIBGUIMT=cppom30o.lib cppom30i.lib os2386.lib
-STDLIBCUIMT=cppom30o.lib cppom30i.lib os2386.lib
-STDSHLGUIMT=cppom30o.lib cppom30i.lib os2386.lib
-STDSHLCUIMT=cppom30o.lib cppom30i.lib os2386.lib
-.ENDIF
-.ELSE
-STDLIBGUIST=dde4sbs.lib os2386.lib
-STDLIBCUIST=dde4sbs.lib os2386.lib
-STDLIBGUIMT=dde4mbs.lib os2386.lib
-STDLIBCUIMT=dde4mbs.lib os2386.lib
-STDSHLGUIMT=dde4mbs.lib os2386.lib
-STDSHLCUIMT=dde4mbs.lib os2386.lib
-.ENDIF
-
-.IF "$(COMEX)"=="3"
-LIBMGR=ilib
-.ELSE
-LIBMGR=lib
-.ENDIF
-LIBFLAGS=/NOI
-
-IMPLIB=implib
-IMPLIBFLAGS=/noi
-
-MAPSYM=
-MAPSYMFLAGS=
-
-RC=rc
-RCFLAGS=-r $(RCFILES) $@
-RCLINK=rc
-RCLINKFLAGS=
-RCSETVERSION=
-
-DLLPOSTFIX=co
-
-.ENDIF
-
-# --- GNU ---
-.IF "$(COM)" == "GCC"
-
-.INCLUDE : os2gcci.mk
-
-.ENDIF
-
-# --- Watcom ---
-.IF "$(COM)" == "WTC"
-
-ASM=wasm
-AFLAGS=/ml /4pr
-
-CC=wcl386
-CXX=wcl386
-.IF "$(e2p)" != ""
-CFLAGS=-c -W3 -Zp4 -Zld $(MINUS_I)$(INCLUDE) -bt=os2 -zq -zm -ep -ee
-.ELSE
-CFLAGS=-c -Zp4 -W3 -Zl -Zld $(MINUS_I)$(INCLUDE) -bt=os2 -zq -s
-.ENDIF
-CFLAGSCXX=-cc++ -xst
-CFLAGSOBJGUIST= #-Alfd -GA -GEfs
-CFLAGSOBJCUIST=
-CFLAGSOBJGUIMT=-bm #-Alfw -GA -GEd
-CFLAGSOBJCUIMT=-bm
-CFLAGSSLOGUIMT=-bm -bd #-Alfw -GD -GEfd
-CFLAGSSLOCUIMT=-bm -bd
-CFLAGSPROF=
-CFLAGSDEBUG=/d2
-CFLAGSDBGUTIL=
-.IF "$(e2p)" != ""
-CFLAGSOPT=-otexan -3s
-CFLAGSNOOPT=-od -3s
-.ELSE
-CFLAGSOPT=-otexan -4s
-CFLAGSNOOPT=-od -4s
-.ENDIF
-CFLAGSOUTOBJ=-Fo
-
-LINK=wlink
-LINKFLAGS=op symf op caseexact op statics op MANY
-LINKFLAGSAPPGUI=sys os2v2 pm
-LINKFLAGSSHLGUI=sys os2v2 dll INITINSTANCE TERMINSTANCE
-LINKFLAGSAPPCUI=sys os2v2
-LINKFLAGSSHLCUI=sys os2v2 dll
-LINKFLAGSTACK=op stack=
-LINKFLAGSPROF=
-LINKFLAGSDEBUG=debug all op undefsok
-LINKFLAGSOPT=
-
-STDOBJVCL=$(L)/salmain.obj
-STDOBJGUI=libr clib3s.lib libr plib3s.lib libr math387s.lib
-STDSLOGUI=libr clib3s.lib libr os2386.lib libr plib3s.lib libr math387s.lib
-STDOBJCUI=libr clib3s.lib libr plib3s.lib libr math387s.lib
-STDSLOCUI=libr clib3s.lib libr plib3s.lib libr math387s.lib
-STDLIBGUIST=libr os2386.lib libr clib3s.lib libr plib3s.lib
-STDLIBCUIST=libr os2386.lib libr clib3s.lib libr plib3s.lib
-STDLIBGUIMT=libr os2386.lib libr clib3s.lib libr plib3s.lib
-STDLIBCUIMT=libr os2386.lib libr clib3s.lib libr plib3s.lib
-STDSHLGUIMT=libr os2386.lib libr clib3s.lib libr plibmt3s.lib libr math387s.lib libr plib3s.lib libr noemu387.lib
-STDSHLCUIMT=libr os2386.lib libr clib3s.lib libr plibmt3s.lib libr matg387s.lib libr plib3s.lib
-
-LIBMGR=wlib
-LIBFLAGS=/p=128 /c /m
-
-IMPLIB=echo
-IMPLIBFLAGS=
-
-MAPSYM=mapsym
-MAPSYMFLAGS=
-
-RC=rc
-RCFLAGS=-r $(RCFILES) $@
-RCLINK=rc
-RCLINKFLAGS=
-RCSETVERSION=
-
-DLLPOSTFIX=wo
-
-.ENDIF
-
-# --- OS2 Allgemein ---
-HC=toipf
-HCFLAGS=
-PATH_SEPERATOR*=;
-DLLPRE=
-DLLPOST=.dll
-EXECPOST=.exe
-SCPPOST=.ins
-DLLDEST=$(BIN)
-SOLARSHAREDBIN=$(SOLARBINDIR)
-
-.ENDIF
diff --git a/solenv/inc/os2gcci.mk b/solenv/inc/os2gcci.mk
deleted file mode 100644
index 46dcba24aaa1..000000000000
--- a/solenv/inc/os2gcci.mk
+++ /dev/null
@@ -1,288 +0,0 @@
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-# --- OS2-Environment ----------------------------------------------
-
-#change output dir name using the object binary format.
-#.IF "$(aout)"==""
-#OUTFMT=omf
-#.ELSE
-#OUTFMT=aout
-#.ENDIF
-#OUTPATH+=OUTFMT
-#INPATH+=OUTFMT
-#GVERDIR+=OUTFMT
-
-# mk file for os2gcci
-ASM=as
-AFLAGS=
-
-#//YD SOLAR_JAVA=TRUE
-JAVAFLAGSDEBUG=-g
-
-# filter for supressing verbose messages from linker
-#not needed at the moment
-#LINKOUTPUT_FILTER=" |& $(SOLARENV)/bin/msg_filter"
-
-.IF "$(ttt)"!=""
-CDEFS+=-E
-.ENDIF
-
-# _PTHREADS is needed for the stl
-CDEFS+=-DX86 -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400
-
-# this is a platform with JAVA support
-.IF "$(SOLAR_JAVA)"!=""
-JAVADEF=-DSOLAR_JAVA
-.IF "$(debug)"==""
-JAVA_RUNTIME=javai.lib
-.ELSE
-JAVA_RUNTIME=javai_g.lib
-.ENDIF
-.ENDIF
-
-# 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
-ARCH_FLAGS*=
-
-# name of C++ Compiler
-CXX*=g++
-# name of C Compiler
-CC*=gcc
-# flags for C and C++ Compiler
-CFLAGS+=-c
-# flags for the C++ Compiler
-CFLAGSCC= $(ARCH_FLAGS)
-
-.IF "$(aout)"==""
-CFLAGS+=-Zomf
-.ENDIF
-
-# Flags for enabling exception handling
-CFLAGSEXCEPTIONS=-fexceptions
-# Flags for disabling exception handling
-CFLAGS_NO_EXCEPTIONS=-fno-exceptions
-
-CFLAGSCXX= -frtti $(ARCH_FLAGS)
-CFLAGSCXX+= -Wno-ctor-dtor-privacy -fmessage-length=0
-PICSWITCH:=
-
-# Compiler flags for compiling static object in single threaded environment with graphical user interface
-CFLAGSOBJGUIST=-Zcrtdll
-# Compiler flags for compiling static object in single threaded environment with character user interface
-CFLAGSOBJCUIST=-Zcrtdll
-# Compiler flags for compiling static object in multi threaded environment with graphical user interface
-CFLAGSOBJGUIMT=-Zcrtdll
-# Compiler flags for compiling static object in multi threaded environment with character user interface
-CFLAGSOBJCUIMT=-Zcrtdll
-# Compiler flags for compiling shared object in multi threaded environment with graphical user interface
-CFLAGSSLOGUIMT=$(PICSWITCH) -Zdll -Zcrtdll
-# Compiler flags for compiling shared object in multi threaded environment with character user interface
-CFLAGSSLOCUIMT=$(PICSWITCH) -Zdll -Zcrtdll
-# Compiler flags for profiling
-CFLAGSPROF=
-# Compiler flags for debugging
-CFLAGSDEBUG=-g
-CFLAGSDBGUTIL=
-# Compiler flags for enabling optimazations
-CFLAGSOPT=-s -O1 -march=pentium -mtune=pentium4
-# Compiler flags for disabling optimazations
-CFLAGSNOOPT=-O0
-# Compiler flags for discibing the output path
-CFLAGSOUTOBJ=-o
-
-# Warnings switched off for CXX:
-# - doubunder: we have many identifiers containing double underscores, some of
-# them in the stable UDK API we cannot change
-# - inllargeuse: "function is too large and will not be expanded inline" is
-# merely a hint
-# - inllargeint: "function is too large to generate inline, consider writing
-# it yourself" is merely a hint
-# - notemsource: "could not find source for function" appears to be spurious
-# - reftotemp: warns about calling non-const functions on temporary objects,
-# something legally done by boost::scoped_array<T>::reset, for example
-# (this_type(p).swap(*this))
-# - truncwarn: "conversion of 64 bit type value to smaller type causes
-# truncation" at least with CC 5.8 is reported only at the end of a
-# compilation unit that uses std::hash_map<sal_Int64, sal_Int64> (see
-# sfx2/source/toolbox/imgmgr.cxx:1.27) and thus unfortunately needs to be
-# disabled globally
-CFLAGSWARNCC=
-CFLAGSWARNCXX=+w2 -erroff=doubunder,inllargeuse,inllargeint,notemsource,reftotemp,truncwarn
-CFLAGSWARNCXX=
-CFLAGSWALLCC=$(CFLAGSWARNCC)
-CFLAGSWALLCXX=$(CFLAGSWARNCXX)
-CFLAGSWERRCC=-errwarn=%all
-CFLAGSWERRCXX=-xwe
-
-# Once all modules on this platform compile without warnings, set
-# COMPILER_WARN_ERRORS=TRUE here instead of setting MODULES_WITH_WARNINGS (see
-# settings.mk):
-MODULES_WITH_WARNINGS := \
- b_server \
- basctl \
- basebmp \
- canvas \
- chart2 \
- cppcanvas \
- desktop \
- devtools \
- dxcanvas \
- extensions \
- filter \
- glcanvas \
- lingu \
- r_tools \
- sc \
- sd \
- slideshow \
- starmath \
- svx \
- sw \
- writerperfect \
- xmlsecurity
-
-
-# switches for dynamic and static linking
-STATIC =
-DYNAMIC =
-
-# this is needed to allow stl headers to include os2.h instead of svpm.h
-# in earlier stages of project build. Once svpm.h is in place, we can
-# compile without this flag.
-.IF "$(STL_OS2_BUILDING)" != ""
-CFLAGS+=-DSTL_OS2_BUILDING
-CFLAGSCXX+=-DSTL_OS2_BUILDING
-.ENDIF
-
-# name of linker
-LINK*=gcc
-# default linker flags
-LINKFLAGS= -Zbin-files -Zmap
-#27/01/06 bin-files confuses transex/rsc work, removed.
-LINKFLAGS= -Zno-fork -Zhigh-mem -Zmap
-.IF "$(OS2_ARGS_WILD)" != ""
-LINKFLAGS+=-Zargs-wild -Zargs-resp
-.ENDIF
-
-.IF "$(aout)"==""
-#LINKFLAGS+= -Zlinker /NOI -Zlinker /PACKD:65536 -Zlinker /EXEPACK:2
-#LINKFLAGS+= -Zlinker /NOExtdictionary
-LINKFLAGS+= -Zomf
-#LINKFLAGS+= -Zlinker "DISABLE 1121"
-.ENDIF
-
-
-# linker flags for linking applications
-.IF "$(aout)"==""
-#LINKFLAGSAPPGUI= -Zlinker /PM:PM -Zstack 0x2000
-#LINKFLAGSAPPCUI= -Zlinker /PM:VIO
-.ELSE
-LINKFLAGSAPPGUI=
-LINKFLAGSAPPCUI=
-.ENDIF
-
-# linker flags for linking shared libraries
-LINKFLAGSSHLGUI= -Zdll #-Zsym
-LINKFLAGSSHLCUI= -Zdll #-Zsym
-
-.IF "$(aout)"==""
-LINKFLAGSTACK=-Zlinker /STACK:
-LINKFLAGSPROF=
-#LINKFLAGSDEBUG=-Zlinker /DEBUG
-LINKFLAGSDEBUG=-g
-LINKFLAGSOPT=-g
-.ELSE
-LINKFLAGSTACK=-Zstack
-LINKFLAGSPROF=
-LINKFLAGSDEBUG=-g
-LINKFLAGSOPT=-s
-.ENDIF
-
-.IF "$(NO_BSYMBOLIC)"==""
-.IF "$(PRJNAME)" != "envtest"
-LINKFLAGSSHLGUI+=
-LINKFLAGSSHLCUI+=
-.ENDIF
-.ENDIF # "$(NO_BSYMBOLIC)"==""
-
-LINKVERSIONMAPFLAG=-Wl,--version-script
-
-SONAME_SWITCH=-Wl,-h
-
-# Sequence of libs does matter !
-
-#STDLIBCPP=stdc++ supc++ gcc_eh
-#STDLIBCPP=stdc++ gcc432
-STDLIBCPP=stdc432 gcc432
-
-# default objectfilenames to link
-STDOBJVCL=$(L)/salmain.obj
-STDOBJGUI=
-STDSLOGUI=
-STDOBJCUI=
-STDSLOCUI=
-
-# libraries for linking applications
-STDLIBCUIST=$(STDLIBCPP)
-STDLIBGUIMT=$(STDLIBCPP)
-STDLIBCUIMT=$(STDLIBCPP)
-STDLIBGUIST=$(STDLIBCPP)
-# libraries for linking shared libraries
-STDSHLGUIMT=$(STDLIBCPP)
-STDSHLCUIMT=$(STDLIBCPP)
-
-LIBSTLPORT=$(DYNAMIC) stlp45.lib
-LIBSTLPORTST=$(STATIC) stlp45.lib $(DYNAMIC)
-
-
-# name of library manager
-LIBMGR=ar
-LIBFLAGS=crv
-
-.IF "$(aout)"==""
-LIBMGR=emxomfar -p2048
-.ENDIF
-
-# tool for generating import libraries
-IMPLIB=emximp
-IMPLIBFLAGS=-o
-
-MAPSYM=mapsym
-MAPSYMFLAGS=
-
-RC=wrc -bt=os2 -i$(PATH_EMXPGCC)\include
-RCFLAGS=-r $(RCFILES) -fo=$@
-RCLINK=wrc -bt=os2
-RCLINKFLAGS=
-RCSETVERSION=
-
-# platform specific identifier for shared libs
-DLLPOSTFIX=go
-DLLPRE=lib
-DLLPOST=.dll
-
diff --git a/solenv/inc/postmac.h b/solenv/inc/postmac.h
index 8a36af4c4389..f53ee6ae0e03 100644
--- a/solenv/inc/postmac.h
+++ b/solenv/inc/postmac.h
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -43,10 +44,11 @@
#undef LSize
#undef ModalDialog
#undef SetCursor
-//#undef ShowWindow
#undef StringPtr
#undef DirInfo
//#undef ULONG
#undef Line
#undef TimeValue
#undef Pattern
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/solenv/inc/postset.mk b/solenv/inc/postset.mk
index 59d37a95405e..3d4f4158d08f 100644
--- a/solenv/inc/postset.mk
+++ b/solenv/inc/postset.mk
@@ -29,7 +29,7 @@
# This language will be always included!
defaultlangiso=en-US
-# Complete list of all supported ISO codes
+# Complete list of all supported localizations (ISO codes)
.INCLUDE : langlist.mk
alllangiso=$(strip $(defaultlangiso) $(subst,$(defaultlangiso), $(uniq $(subst,ALL,$(completelangiso) $(WITH_LANG)))))
diff --git a/solenv/inc/postwin.h b/solenv/inc/postwin.h
new file mode 100644
index 000000000000..1ec09435b5cb
--- /dev/null
+++ b/solenv/inc/postwin.h
@@ -0,0 +1,252 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+/* nicht geschuetz, muss als gegenstueck zu prewin.h includet werden */
+
+#ifdef WNT
+#ifdef __cplusplus
+}
+#endif
+#endif
+
+#undef Region
+#undef PolyPolygon
+#undef Polygon
+#undef Rectangle
+#undef DELETE
+
+#undef Folder
+#undef GradientStyle_RECT
+
+/* Hilfe-Ids umbenennen */
+#define WIN_HELP_INDEX 0x0003
+#define WIN_HELP_HELPONHELP 0x0004
+#undef HELP_INDEX
+#undef HELP_HELPONHELP
+
+#define WIN_MOUSE_MOVED 0x0001
+#undef MOUSE_MOVED
+
+#define WIN_WB_LEFT 0
+#define WIN_WB_RIGHT 1
+#undef WB_LEFT
+#undef WB_RIGHT
+
+#ifdef GetObject
+#undef GetObject
+#ifdef UNICODE
+#define WIN_GetObject GetObjectW
+#else
+#define WIN_GetObject GetObjectA
+#endif
+#else
+#define WIN_GetObject GetObject
+#endif
+
+#ifdef SetPrinter
+#undef SetPrinter
+#ifdef UNICODE
+#define WIN_SetPrinter SetPrinterW
+#else
+#define WIN_SetPrinter SetPrinterA
+#endif
+#else
+#define WIN_SetPrinter SetPrinter
+#endif
+
+#ifdef GetPrinter
+#undef GetPrinter
+#ifdef UNICODE
+#define WIN_GetPrinter GetPrinterW
+#else
+#define WIN_GetPrinter GetPrinterA
+#endif
+#else
+#define WIN_GetPrinter GetPrinter
+#endif
+
+#ifdef DrawText
+#undef DrawText
+#ifdef UNICODE
+#define WIN_DrawText DrawTextW
+#else
+#define WIN_DrawText DrawTextA
+#endif
+#else
+#define WIN_DrawText DrawText
+#endif
+
+#ifdef mciSetCommand
+#undef mciSetCommand
+#ifdef UNICODE
+#define WIN_mciSetCommand mciSetCommandW
+#else
+#define WIN_mciSetCommand mciSetCommandA
+#endif
+#else
+#define mciSetCommand mciSetCommand
+#endif
+
+#ifdef SetPort
+#undef SetPort
+#ifdef UNICODE
+#define WIN_SetPort SetPortW
+#else
+#define WIN_SetPort SetPortA
+#endif
+#else
+#define WIN_SetPort SetPort
+#endif
+
+#ifdef CopyFile
+#undef CopyFile
+#ifdef UNICODE
+#define WIN_CopyFile CopyFileW
+#else
+#define WIN_CopyFile CopyFileA
+#endif
+#else
+#define WIN_CopyFile CopyFile
+#endif
+
+
+#ifdef GetUserName
+#undef GetUserName
+#ifdef UNICODE
+#define WIN_GetUserName GetUserNameW
+#else
+#define WIN_GetUserName GetUserNameA
+#endif
+#else
+#define WIN_GetUserName GetUserName
+#endif
+
+#ifdef GetClassName
+#undef GetClassName
+#ifdef UNICODE
+#define WIN_GetClassName GetClassNameW
+#else
+#define WIN_GetClassName GetClassNameA
+#endif
+#else
+#define WIN_GetClassName GetClassName
+#endif
+
+#ifdef GetCharWidth
+#undef GetCharWidth
+#ifdef UNICODE
+#define WIN_GetCharWidth GetCharWidthW
+#else
+#define WIN_GetCharWidth GetCharWidthA
+#endif
+#else
+#define WIN_GetCharWidth GetCharWidth
+#endif
+
+#ifdef GetMetaFile
+#undef GetMetaFile
+#ifdef UNICODE
+#define WIN_GetMetaFile GetMetaFileW
+#else
+#define WIN_GetMetaFile GetMetaFileA
+#endif
+#else
+#define WIN_GetMetaFile GetMetaFile
+#endif
+
+#ifdef GetNumberFormat
+#undef GetNumberFormat
+#ifdef UNICODE
+#define WIN_GetNumberFormat GetNumberFormatW
+#else
+#define WIN_GetNumberFormat GetNumberFormatA
+#endif
+#else
+#define WIN_GetNumberFormat GetNumberFormat
+#endif
+
+#ifdef GetGlyphOutline
+#undef GetGlyphOutline
+#ifdef UNICODE
+#define WIN_GetGlyphOutline GetGlyphOutlineW
+#else
+#define WIN_GetGlyphOutline GetGlyphOutlineA
+#endif
+#else
+#define WIN_GetGlyphOutline GetGlyphOutline
+#endif
+
+#ifdef GetKerningPairs
+#undef GetKerningPairs
+#ifdef UNICODE
+#define WIN_GetKerningPairs GetKerningPairsW
+#else
+#define WIN_GetKerningPairs GetKerningPairsA
+#endif
+#else
+#define WIN_GetKerningPairs GetKerningPairs
+#endif
+
+#ifdef FindWindow
+#undef FindWindow
+#ifdef UNICODE
+#define WIN_FindWindow FindWindowW
+#else
+#define WIN_FindWindow FindWindowA
+#endif
+#else
+#define WIN_FindWindow FindWindow
+#endif
+
+// keine Yield-Definition
+#undef Yield
+
+/* new StretchBlt() Modes (simpler names) */
+#ifndef STRETCH_ANDSCANS
+#define STRETCH_ANDSCANS 1
+#endif
+#ifndef STRETCH_ORSCANS
+#define STRETCH_ORSCANS 2
+#endif
+#ifndef STRETCH_DELETESCANS
+#define STRETCH_DELETESCANS 3
+#endif
+
+#ifdef WNT
+extern "C"
+{
+BOOL WINAPI WIN_Rectangle( HDC hDC, int X1, int Y1, int X2, int Y2 );
+BOOL WINAPI WIN_Polygon( HDC hDC, CONST POINT * ppt, int ncnt );
+BOOL WINAPI WIN_PolyPolygon( HDC hDC, CONST POINT * ppt, LPINT npcnt, int ncnt );
+}
+#endif
+
+// svwin.h nicht mehr includen
+#define _SVWIN_H
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/solenv/inc/preinclude.h b/solenv/inc/preinclude.h
index dee99bc6d3f4..f05dc8399138 100644
--- a/solenv/inc/preinclude.h
+++ b/solenv/inc/preinclude.h
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -36,3 +37,5 @@
#include <wchar.h>
#include <features.h>
#include <assert.h>
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/solenv/inc/premac.h b/solenv/inc/premac.h
index 1c453c8f51a7..abf0a7b6ca92 100644
--- a/solenv/inc/premac.h
+++ b/solenv/inc/premac.h
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -43,10 +44,11 @@
#define LSize MacOSLSize
#define ModalDialog MacOSModalDialog
#define SetCursor MacOSSetCursor
-//#define ShowWindow MacOSShowWindow
#define StringPtr MacOSStringPtr
#define DirInfo MacOSDirInfo
//#define ULONG MacOSULONG
#define Line MacOSLine
#define TimeValue MacOSTimeValue
#define Pattern MacOSPattern
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/solenv/inc/prewin.h b/solenv/inc/prewin.h
new file mode 100644
index 000000000000..0eedfe122963
--- /dev/null
+++ b/solenv/inc/prewin.h
@@ -0,0 +1,74 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+/* nicht geschuetzt, darf nur einmal includet werden */
+
+#if defined WNT
+
+#define Rectangle BLA_Rectangle
+#define Polygon BLA_Polygon
+#define PolyPolygon BLA_PolyPolygon
+#define Region WIN_Region
+#define Folder WIN_Folder
+#define GradientStyle_RECT WIN_GradientStyle_RECT
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define STRICT
+#ifdef _MSC_VER
+#pragma warning(push, 1)
+#endif
+#include <windows.h>
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+#include <shellapi.h>
+#include <commdlg.h>
+#include <dlgs.h>
+#ifdef USE_TOOLHELP
+#include <tlhelp32.h>
+#endif
+#ifdef USE_IMAGEHLP
+#include <imagehlp.h>
+#endif
+#ifdef INCLUDE_MMSYSTEM
+#include <mmsystem.h>
+#endif
+#ifdef _MSC_VER
+#pragma warning(push, 1)
+#endif
+#include <commctrl.h>
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/solenv/inc/sc.mk b/solenv/inc/productversion.mk
index ad2102a92b4f..15ea3085f0e7 100644
--- a/solenv/inc/sc.mk
+++ b/solenv/inc/productversion.mk
@@ -1,7 +1,7 @@
#*************************************************************************
#
# 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
@@ -25,4 +25,8 @@
#
#*************************************************************************
-# TODO: remove usage and file...
+PRODUCTLIST = libreoffice oxygenoffice
+
+# default values to minimize maintainance effort
+PRODUCTVERSION = 3.4
+PRODUCTVERSIONSHORT = 3
diff --git a/solenv/inc/pstrules.mk b/solenv/inc/pstrules.mk
index a845b9ae86fe..9dd6cc1963c4 100644
--- a/solenv/inc/pstrules.mk
+++ b/solenv/inc/pstrules.mk
@@ -138,9 +138,6 @@ $(PAR)/%.par :
$(COMMAND_ECHO)$(CPPLCC) -+ -P $(INCLUDE) $(CDEFS) $(SCPDEFS) -DDLLPOSTFIX=$(DLLPOSTFIX) $(*:b).scp > $(MISC)/{$(subst,$(@:d:d:d), $(@:d:d))}/$(*:b).pre
.ENDIF
# YD: INCLUDE macro too long, include only few items (scp2 compile)
-.IF "$(GUI)"=="OS2"
- $(CPPLCC) -+ -P -I..\..\inc -I..\..\os2gcci.pro\inc $(CDEFS) $(SCPDEFS) -DDLLPOSTFIX=$(DLLPOSTFIX) $(*:b).scp > $(MISC)$/{$(subst,$(@:d:d:d), $(@:d:d))}$/$(*:b).pre
-.ENDIF
.IF "$(GUI)"=="UNX"
$(COMMAND_ECHO)$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/cpp.lcc -+ -P $(CDEFS) $(SCPDEFS) -DDLLPOSTFIX=$(DLLPOSTFIX) -I. -I$(INC) -I$(INCLOCAL) -I$(INCGUI) -I$(INCCOM) $(SOLARINC) $(*:b).scp > $(MISC)/{$(subst,$(@:d:d:d), $(@:d:d))}/$(*:b).pre
.ENDIF
diff --git a/solenv/inc/rules.mk b/solenv/inc/rules.mk
index 2155ab8842d5..0ff659c7ec1b 100644
--- a/solenv/inc/rules.mk
+++ b/solenv/inc/rules.mk
@@ -637,7 +637,7 @@ $(MISC)/%.dpj :
$(SLO)/%.obj : %.asm
@echo $(COMPILE_ECHO_SWITCH) Compiling: $(PRJNAME)/$(PATH_IN_MODULE)/$(COMPILE_ECHO_FILE)
.IF "$(COM)"=="GCC"
-.IF "$(ASM)"=="ml"
+.IF "$(ASM)"=="ml" || "$(ASM)"=="ml64"
$(COMMAND_ECHO)$(ASM) $(AFLAGS) -D$(COM) /Fo$(SLO)/$*.obj $*.asm
@@-$(RM) $*.err
.ELSE # "$(ASM)"=="ml"
@@ -650,7 +650,7 @@ $(SLO)/%.obj : %.asm
@-$(IFEXIST) $*.err $(THEN) $(RM:s/+//) $*.err $(FI)
.ELSE
.IF "$(COM)"=="MSC"
-.IF "$(ASM)"=="ml"
+.IF "$(ASM)"=="ml" || "$(ASM)"=="ml64"
$(COMMAND_ECHO)$(ASM) $(AFLAGS) -D$(COM) /Fo$(SLO)/$*.obj $*.asm
@-$(IFEXIST) $*.err $(THEN) $(RM:s/+//) $*.err $(FI)
.ELSE # "$(ASM)"=="ml"
@@ -715,14 +715,14 @@ $(MISC)/%.sh : %.sh
.IF "$(WITH_LANG)"!=""
$(COMMONMISC)/$(TARGET)/%.ulf : %.ulf
@echo "Making: " $(@:f)
- $(COMMAND_ECHO)-$(MKDIR) $(@:d)
+ $(COMMAND_ECHO)-$(MKDIRHIER) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
$(COMMAND_ECHO)$(ULFEX) -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $@.$(INPATH) $@
$(COMMAND_ECHO)-$(RM) $@.$(INPATH)
$(COMMONMISC)/$(TARGET)/%.xrb : %.xrb
- $(COMMAND_ECHO)-$(MKDIR) $(@:d)
+ $(COMMAND_ECHO)-$(MKDIRHIER) $(@:d)
$(COMMAND_ECHO)-$(RM) $@
$(COMMAND_ECHO)$(XMLEX) -t xrb -p $(PRJNAME) -i $(@:f) -o $(@).$(INPATH) -m $(LOCALIZESDF) -l all
$(COMMAND_ECHO)$(RENAME) $@.$(INPATH) $@
diff --git a/solenv/inc/set_wntx64.mk b/solenv/inc/set_wntx64.mk
index 412fb3bd2821..bc8fb7445dfd 100755..100644
--- a/solenv/inc/set_wntx64.mk
+++ b/solenv/inc/set_wntx64.mk
@@ -35,18 +35,18 @@
.IF "$(BUILD_X64)"!=""
# ----------------- settings for x64 --------------------
-CC_X64*:=$(WRAPCMD) $(CXX_X64_BINARY)
-CXX_X64*:=$(WRAPCMD) $(CXX_X64_BINARY)
-LINK_X64*:=$(WRAPCMD) $(LINK_X64_BINARY) $(NOLOGO) -MACHINE:X64
-LIBMGR_X64=$(WRAPCMD) $(LIBMGR_X64_BINARY) $(NOLOGO)
-IMPLIB_X64=$(WRAPCMD) $(LIBMGR_X64_BINARY)
+CC_X64*:="$(CXX_X64_BINARY)"
+CXX_X64*:="$(CXX_X64_BINARY)"
+LINK_X64*:="$(LINK_X64_BINARY)" $(NOLOGO) -MACHINE:X64
+LIBMGR_X64="$(LIBMGR_X64_BINARY)" $(NOLOGO)
+IMPLIB_X64="$(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
+USE_CDEFS_X64+= -D$(OS) -D$(GUI) -D$(GVER) -D$(COM) -DX86_64 -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
USE_CDEFS_X64+=-DDEBUG
@@ -114,7 +114,7 @@ STDSLOCUI_X64=
IMPLIBFLAGS_X64=-machine:X64
-LIBPATH_X64=$(PSDK)/lib/x64
+LIBPATH_X64=$(WINDOWS_SDK_HOME)/lib/x64
LIBPATH_VC_X64=$(COMPATH)/lib/amd64
ADVAPI32LIB_X64=$(LIBPATH_X64)/advapi32.lib
@@ -127,7 +127,6 @@ WINSPOOLLIB_X64=$(LIBPATH_X64)/winspool.lib
IMM32LIB_X64=$(LIBPATH_X64)/imm32.lib
VERSIONLIB_X64=$(LIBPATH_X64)/version.lib
WINMMLIB_X64=$(LIBPATH_X64)/winmm.lib
-WSOCK32LIB_X64=$(LIBPATH_X64)/wsock32.lib
MPRLIB_X64=$(LIBPATH_X64)/mpr.lib
WS2_32LIB_X64=$(LIBPATH_X64)/ws2_32.lib
KERNEL32LIB_X64=$(LIBPATH_X64)/kernel32.lib
@@ -142,7 +141,6 @@ MSILIB_X64=$(LIBPATH_X64)/msi.lib
DDRAWLIB_X64=$(LIBPATH_X64)/ddraw.lib
SHLWAPILIB_X64=$(LIBPATH_X64)/shlwapi.lib
URLMONLIB_X64=$(LIBPATH_X64)/urlmon.lib
-UNICOWSLIB_X64=$(LIBPATH_X64)/unicows.lib
WININETLIB_X64=$(LIBPATH_X64)/wininet.lib
OLDNAMESLIB_X64=$(LIBPATH_VC_X64)/oldnames.lib
MSIMG32LIB_X64=$(LIBPATH_X64)/msimg32.lib
@@ -158,7 +156,7 @@ L_X64=$(SOLARLIBDIR_X64)
VERSIONOBJ_X64=$(SLO_X64)/_version.obj
BIN_X64=$(BIN)/x64
RES_X64=$(RES)/x64
-SOLARLIBDIR_X64=$(SOLARVERSION)/$(INPATH)/lib$(UPDMINOREXT)/x64
+SOLARLIBDIR_X64=$(SOLARVERSION)/$(INPATH)/lib/x64
LIB_X64:=$(LB_X64);$(SLB_X64);$(ILIB_X64)
.IF "$(LIBTARGET)"==""
diff --git a/solenv/inc/settings.mk b/solenv/inc/settings.mk
index b0872169bfc6..e44458fc99a7 100644
--- a/solenv/inc/settings.mk
+++ b/solenv/inc/settings.mk
@@ -64,16 +64,16 @@ EXTNAME*=$(EXTENSIONNAME)_in
WRONG_SOURCEVERSION
.ENDIF
-# Create $(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT)/$(UPD)minor.mk if needed
+# Create $(SOLARVERSION)/$(INPATH)/inc/$(UPD)minor.mk if needed
%minor.mk : $(SOLARENV)/inc/minor.mk
- @@-$(MKDIRHIER) $(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT)
- @@$(COPY) $(SOLARENV)/inc/minor.mk $(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT)/$(UPD)minor.mk
- @@$(TOUCH) $(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT)/minormkchanged.flg
+ @@-$(MKDIRHIER) $(SOLARVERSION)/$(INPATH)/inc
+ @@$(COPY) $(SOLARENV)/inc/minor.mk $(SOLARVERSION)/$(INPATH)/inc/$(UPD)minor.mk
+ @@$(TOUCH) $(SOLARVERSION)/$(INPATH)/inc/minormkchanged.flg
.ENDIF # "$(UPDATER)"!="" || "$(CWS_WORK_STAMP)"!=""
-# Force creation of $(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT)/
+# Force creation of $(SOLARVERSION)/$(INPATH)/inc/
# $(UPD)minor.mk could be empty as it's contents were already included from minor.mk
-.INCLUDE : $(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT)/$(UPD)minor.mk
+.INCLUDE : $(SOLARVERSION)/$(INPATH)/inc/$(UPD)minor.mk
.IF "$(BSCLIENT)"=="TRUE"
.IF "$(UPDATER)"!="YES"
@@ -147,6 +147,9 @@ JAVAI:=$(JAVAINTERPRETER)
.IF "$(JAVACISGCJ)" == "yes"
JAVAC+=--encoding=UTF-8 -O2 -fno-assert -Wno-deprecated -C
.ENDIF
+.IF "$(JDK)" != "gcj" && $(JAVACISKAFFE) != "yes"
+JAVAC+=-source $(JAVA_SOURCE_VER) -target $(JAVA_TARGET_VER)
+.ENDIF
#classpath and response
.IF "$(JDK)" == "J++"
@@ -299,11 +302,11 @@ dbgutil=
# ---------------------------------------------------------------------------
DMAKE_WORK_DIR*:=$(subst,/,/ $(PWD))
-.IF "$(GUI)"=="WNT"
+.IF "$(GUI_FOR_BUILD)"=="WNT"
posix_PWD:=/cygdrive/$(PWD:s/://)
-.ELSE #GUI)"=="WNT"
+.ELSE
posix_PWD:=$(PWD)
-.ENDIF #GUI)"=="WNT"
+.ENDIF
.IF "$(TMP)"!=""
@@ -351,10 +354,6 @@ DBG_LEVEL=$(dbglevel)
nodebug=$(NODEBUG)
.ENDIF
-.IF "$(hbtoolkit)"!=""
-HBTOOLKIT=$(hbtoolkit)
-.ENDIF
-
.IF "$(PRODUCT)"!=""
product*=$(PRODUCT)
.ENDIF
@@ -389,10 +388,6 @@ COMPILER_WARN_ALL=TRUE
COMPILER_WARN_ERRORS=TRUE
.ENDIF
-.IF "$(RSC_ONCE)"!=""
-rsc_once*=$(RSC_ONCE)
-.ENDIF
-
#.IF "$(COMMON_BUILD)"!=""
#common_build*=$(COMMON_BUILD)
#.ENDIF
@@ -468,7 +463,7 @@ product=full
.ENDIF
.IF "$(debug)"!=""
-DBG_LEVEL*=2
+DBG_LEVEL*=1
.ENDIF
# Produkt auf einen Wert setzen (alles klein)
@@ -488,7 +483,7 @@ DBG_LEVEL*=0
optimize!=true
dbgutil!=true
DBG_LEVEL*=1
-USE_STLP_DEBUG*=TRUE
+USE_DEBUG_RUNTIME*=TRUE
.ENDIF
.IF "$(debug)"!=""
@@ -534,25 +529,30 @@ TARGETTYPE=CUI
# profile has to be first for not getting the .pro extension
.IF "$(profile)"!=""
OUT=$(PRJ)/$(OUTPATH).cap
+OUT_FOR_BUILD=$(PRJ)/$(OUTPATH_FOR_BUILD).cap
ROUT=$(OUTPATH).cap
.ELSE
.IF "$(product)"!=""
OUT=$(PRJ)/$(OUTPATH).pro
+OUT_FOR_BUILD=$(PRJ)/$(OUTPATH_FOR_BUILD).pro
ROUT=$(OUTPATH).pro
.ELSE
.IF "$(profile)"!=""
OUT=$(PRJ)/$(OUTPATH).cap
+OUT_FOR_BUILD=$(PRJ)/$(OUTPATH_FOR_BUILD).cap
ROUT=$(OUTPATH).cap
.ENDIF
.IF "$(dbcs)"!=""
OUT=$(PRJ)/$(OUTPATH).w
+OUT_FOR_BUILD=$(PRJ)/$(OUTPATH_FOR_BUILD).w
ROUT=$(OUTPATH).w
.ENDIF
# could already be set by makefile.mk
.IF "$(OUT)" == ""
OUT*=$(PRJ)/$(OUTPATH)
+OUT_FOR_BUILD*=$(PRJ)/$(OUTPATH_FOR_BUILD)
ROUT*=$(OUTPATH)
.ENDIF
.ENDIF
@@ -560,19 +560,17 @@ ROUT*=$(OUTPATH)
.IF "$(bndchk)" != ""
OUT:=$(PRJ)/$(OUTPATH).bnd
+OUT_FOR_BUILD=$(PRJ)/$(OUTPATH_FOR_BUILD).bnd
ROUT=$(OUTPATH).bnd
.ENDIF
.IF "$(truetime)" != ""
OUT=$(PRJ)/$(OUTPATH).tt
+OUT_FOR_BUILD=$(PRJ)/$(OUTPATH_FOR_BUILD).tt
ROUT=$(OUTPATH).tt
.ENDIF
-.IF "$(hbtoolkit)"!=""
-OUT=$(PRJ)/$(OUTPATH).tlk
-ROUT=$(OUTPATH).tlk
-.ENDIF
.IF "$(PRJ)"!="."
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
PATH_IN_MODULE:=\
$(subst,$(normpath $(shell @+cd $(PRJ) && pwd $(PWDFLAGS)))/, $(PWD))
.ELSE # "$(GUI)"=="WNT"
@@ -602,6 +600,7 @@ COMMON_OUTDIR:=$(OUTPATH)
#.ENDIF # "$(common_build)"!=""
LOCAL_OUT:=$(OUT)
+LOCAL_OUT_FOR_BUILD:=$(OUT_FOR_BUILD)
LOCAL_COMMON_OUT:=$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(OUT))
.EXPORT : LOCAL_OUT LOCAL_COMMON_OUT
@@ -635,6 +634,7 @@ MISCX=$(OUT)/umisc
MISC=$(OUT)/umisc
.ELSE
MISC=$(OUT)/misc
+MISC_FOR_BUILD=$(OUT_FOR_BUILD)/misc
# pointing to misc in common output tree if exists
COMMONMISC={$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(MISC))}
.ENDIF
@@ -699,7 +699,7 @@ PROCESSOUT*:=$(MISC)
# Makros fuer die Librarynamen des Solar
.INCLUDE : libs.mk
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
VERSIONOBJ=$(SLO)/_version.obj
.ENDIF
@@ -707,11 +707,11 @@ VERSIONOBJ=$(SLO)/_version.obj
VERSIONOBJ=$(SLO)/_version.o
.ENDIF
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
WINVERSIONNAMES=$(UNIXVERSIONNAMES)
.ENDIF # "$(GUI)"=="WNT"
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(COM)"=="GCC"
SHELLLIB=-lgdi32 -lshell32 -ladvapi32 -lcomdlg32
.ELSE
@@ -768,39 +768,35 @@ BIN=$(PRJ)/$(OUTPATH).xl/bin
# damit gezielt Abhaengigkeiten auf s: angegeben werden koennen
.IF "$(common_build)"!=""
-SOLARIDLDIR=$(SOLARVERSION)/common$(PROEXT)/idl$(UPDMINOREXT)
+SOLARIDLDIR=$(SOLARVERSION)/common$(PROEXT)/idl
.ELSE
-SOLARIDLDIR=$(SOLARVERSION)/$(INPATH)/idl$(UPDMINOREXT)
+SOLARIDLDIR=$(SOLARVERSION)/$(INPATH)/idl
.ENDIF
-#.IF "$(UPDMINOR)" != ""
-#UPDMINOREXT=.$(UPDMINOR)
-#.ELSE
-#UPDMINOREXT=
-#.ENDIF
-SOLARRESDIR=$(SOLARVERSION)/$(INPATH)/res$(UPDMINOREXT)
-SOLARRESXDIR=$(SOLARVERSION)/$(INPATH)/res$(UPDMINOREXT)
-SOLARLIBDIR=$(SOLARVERSION)/$(INPATH)/lib$(UPDMINOREXT)
-SOLARJAVADIR=$(SOLARVERSION)/$(INPATH)/java$(UPDMINOREXT)
-SOLARINCDIR=$(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT)
-SOLARINCXDIR=$(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT)
+SOLARRESDIR=$(SOLARVERSION)/$(INPATH)/res
+SOLARRESXDIR=$(SOLARVERSION)/$(INPATH)/res
+SOLARLIBDIR=$(SOLARVERSION)/$(INPATH)/lib
+SOLARLIBDIR_FOR_BUILD=$(SOLARVERSION)/$(INPATH_FOR_BUILD)/lib
+SOLARJAVADIR=$(SOLARVERSION)/$(INPATH)/java
+SOLARINCDIR=$(SOLARVERSION)/$(INPATH)/inc
+SOLARINCXDIR=$(SOLARVERSION)/$(INPATH)/inc
.IF "$(SOLARLANG)"!="deut"
.IF "$(SOLARLANG)" != ""
-SOLARINCXDIR=$(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT)/$(SOLARLANG)
-SOLARRESXDIR=$(SOLARVERSION)/$(INPATH)/res$(UPDMINOREXT)/$(SOLARLANG)
-.ENDIF
-.ENDIF
-SOLARBINDIR:=$(SOLARVERSION)/$(INPATH)/bin$(UPDMINOREXT)
-SOLARUCRDIR=$(SOLARVERSION)/$(INPATH)/ucr$(UPDMINOREXT)
-SOLARPARDIR=$(SOLARVERSION)/$(INPATH)/par$(UPDMINOREXT)
-SOLARXMLDIR=$(SOLARVERSION)/$(INPATH)/xml$(UPDMINOREXT)
-SOLARDOCDIR=$(SOLARVERSION)/$(INPATH)/doc$(UPDMINOREXT)
-SOLARPCKDIR=$(SOLARVERSION)/$(INPATH)/pck$(UPDMINOREXT)
-SOLARSDFDIR=$(SOLARVERSION)/$(INPATH)/sdf$(UPDMINOREXT)
-SOLARCOMMONBINDIR=$(SOLARVERSION)/common$(PROEXT)/bin$(UPDMINOREXT)
-SOLARCOMMONRESDIR=$(SOLARVERSION)/common$(PROEXT)/res$(UPDMINOREXT)
-SOLARCOMMONPCKDIR=$(SOLARVERSION)/common$(PROEXT)/pck$(UPDMINOREXT)
-SOLARCOMMONSDFDIR=$(SOLARVERSION)/common$(PROEXT)/sdf$(UPDMINOREXT)
+SOLARINCXDIR=$(SOLARVERSION)/$(INPATH)/inc/$(SOLARLANG)
+SOLARRESXDIR=$(SOLARVERSION)/$(INPATH)/res/$(SOLARLANG)
+.ENDIF
+.ENDIF
+SOLARBINDIR:=$(SOLARVERSION)/$(INPATH_FOR_BUILD)/bin
+SOLARUCRDIR=$(SOLARVERSION)/$(INPATH)/ucr
+SOLARPARDIR=$(SOLARVERSION)/$(INPATH)/par
+SOLARXMLDIR=$(SOLARVERSION)/$(INPATH)/xml
+SOLARDOCDIR=$(SOLARVERSION)/$(INPATH)/doc
+SOLARPCKDIR=$(SOLARVERSION)/$(INPATH)/pck
+SOLARSDFDIR=$(SOLARVERSION)/$(INPATH)/sdf
+SOLARCOMMONBINDIR=$(SOLARVERSION)/common$(PROEXT)/bin
+SOLARCOMMONRESDIR=$(SOLARVERSION)/common$(PROEXT)/res
+SOLARCOMMONPCKDIR=$(SOLARVERSION)/common$(PROEXT)/pck
+SOLARCOMMONSDFDIR=$(SOLARVERSION)/common$(PROEXT)/sdf
.IF "$(common_build)"==""
SOLARCOMMONBINDIR=$(SOLARBINDIR)
SOLARCOMMONRESDIR=$(SOLARRESDIR)
@@ -810,19 +806,9 @@ SOLARCOMMONSDFDIR=$(SOLARSDFDIR)
.EXPORT : SOLARBINDIR
-L10N_MODULE*=$(SOURCE_ROOT_DIR)/l10n/l10n
-ALT_L10N_MODULE*=$(SOLARSRC)$/l10n_so
-
.IF "$(WITH_LANG)"!=""
.INCLUDE .IGNORE: $(L10N_MODULE)/$(COMMON_OUTDIR)$(PROEXT)/inc/localization_present.mk
-.INCLUDE .IGNORE: $(ALT_L10N_MODULE)/$(COMMON_OUTDIR)$(PROEXT)/inc/localization_present.mk
-
-# check for localizations not hosted in l10n module. if a file exists there
-# it won't in l10n
-.IF "$(ALT_LOCALIZATION_FOUND)"!=""
-TRYALTSDF:=$(ALT_L10N_MODULE)$/$(COMMON_OUTDIR)$(PROEXT)$/misc/sdf$/$(PRJNAME)$/$(PATH_IN_MODULE)$/localize.sdf
-LOCALIZESDF:=$(strip $(shell @+$(IFEXIST) $(TRYALTSDF) $(THEN) echo $(TRYALTSDF) $(FI)))
-.ENDIF # "$(ALT_LOCALIZATION_FOUND)"!=""
+
# if the l10n module exists, use split localize.sdf directly from there
.IF "$(LOCALIZATION_FOUND)"!="" && "$(LOCALIZESDF)"==""
# still check for existence as there may be no localization yet
@@ -863,8 +849,8 @@ LIB:=$(LB);$(BIN);$(ILIB)
CPUNAME=CPUNAME_HAS_TO_BE_SET_IN_ENVIRONMENT
.ENDIF
-.IF "$(USE_STLP_DEBUG)" != ""
-SCPCDEFS+=-D_STLP_DEBUG
+.IF "$(USE_DEBUG_RUNTIME)" != ""
+SCPCDEFS+=-D_DEBUG_RUNTIME
.ENDIF
.IF "$(UDK_MAJOR)"!=""
@@ -876,10 +862,6 @@ SCPDEFS+=-DCCNUMVER=$(CCNUMVER)
.IF "$(COM)"=="GCC"
SCPDEFS+=-DSHORTSTDCPP3=$(SHORTSTDCPP3) -DSHORTSTDC3=$(SHORTSTDC3)
.ENDIF # "$(SHORTSTDCPP3)"!=""
-# extend library path for OS/2 gcc/wlink
-.IF "$(GUI)"=="OS2"
-LIB:=$(LB);$(SLB);$(ILIB)
-.ENDIF
UNOIDLDEFS+=-DSUPD=$(UPD) -DUPD=$(UPD)
@@ -888,10 +870,10 @@ UNOIDLDEPFLAGS=-Mdepend=$(SOLARVER)
UNOIDLINC+=-I. -I.. -I$(PRJ) -I$(PRJ)/inc -I$(PRJ)/$(INPATH)/idl -I$(OUT)/inc -I$(SOLARIDLDIR) -I$(SOLARINCDIR)
-CDEFS= -D$(OS) -D$(GUI) -D$(GVER) -D$(COM) -D$(CVER) -D$(CPUNAME)
+CDEFS= -D$(OS) -D$(GUI) -D$(GVER) -D$(COM) -D$(CPUNAME)
-.IF "$(USE_STLP_DEBUG)" != "" && "$(GUI)"!="OS2"
-CDEFS+=-D_STLP_DEBUG
+.IF "$(USE_DEBUG_RUNTIME)" != ""
+CDEFS+=-D_DEBUG_RUNTIME
.ENDIF
.IF "$(CDEFS_PRESET)" != ""
@@ -904,7 +886,11 @@ CDEFS+=-DTIMELOG
CDEFSCXX=
CDEFSOBJ=
+.IF "$(OS)"=="IOS"
+CDEFSSLO=
+.ELSE
CDEFSSLO=-DSHAREDLIB -D_DLL_
+.ENDIF
CDEFSGUI=-DGUI
CDEFSCUI=-DCUI
#CDEFSMT=-DMULTITHREAD
@@ -917,9 +903,9 @@ CDEFSOPT=-DOPTIMIZE
MKDEPFLAGS+=-I$(INCDEPN:s/ / -I/:s/-I-I/-I/)
MKDEPALLINC=$(SOLARINC:s/-I/ -I/)
-MKDEPPREINC=-I$(PREPATH)/$(INPATH)/inc$(UPDMINOREXT)
-MKDEPSOLENV=-I$(SOLARENV)/inc -I$(SOLARENV)/$(GUI)$(CVER)$(COMEX)/inc
-MKDEPSOLVER=-I$(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT) -I$(SOLARVERSION)/$(INPATH)/inc
+MKDEPPREINC=-I$(PREPATH)/$(INPATH)/inc
+MKDEPSOLENV=-I$(SOLARENV)/inc -I$(SOLARENV)/$(GUI)$(COMEX)/inc
+MKDEPSOLVER=-I$(SOLARVERSION)/$(INPATH)/inc
MKDEPLOCAL=-I$(INCCOM)
.IF "$(MKDEPENDALL)"!=""
@@ -970,10 +956,8 @@ RSC=$(AUGMENT_LIBRARY_PATH) $(FLIPCMD) $(SOLARBINDIR)/rsc
VERBOSITY=-verbose
.ELSE
COMMAND_ECHO=@
- .IF "$(VERBOSE)" == "FALSE"
- VERBOSITY=-quiet
- ZIP_VERBOSITY=-q
- .ENDIF
+ VERBOSITY=-quiet
+ ZIP_VERBOSITY=-q
.ENDIF # "$(VERBOSE)" == "TRUE"
COMPILE_ECHO_SWITCH=
COMPILE_ECHO_FILE=$(<:f)
@@ -983,7 +967,7 @@ RSCUPDVER=$(RSCREVISION)
RSCUPDVERDEF=-DUPDVER="$(RSCUPDVER)"
RSCFLAGS=-s
-RSCDEFS=-D$(GUI) -D$(GVER) -D$(COM) -D$(CVER) $(JAVADEF)
+RSCDEFS=-D$(GUI) -D$(GVER) -D$(COM) $(JAVADEF)
.IF "$(BUILD_SPECIAL)"!=""
RSCDEFS+=-DBUILD_SPECIAL=$(BUILD_SPECIAL)
@@ -1019,9 +1003,7 @@ LNTFLAGSOUTOBJ=-os
.INCLUDE : unx.mk
.ENDIF
-.IF "$(GUI)" == "OS2"
-.INCLUDE : os2.mk
-.ENDIF
+DLLPOSTFIX=lo
.IF "$(OOO_LIBRARY_PATH_VAR)" != ""
# Add SOLARLIBDIR at the begin of a (potentially previously undefined) library
@@ -1035,32 +1017,43 @@ AUGMENT_LIBRARY_PATH_LOCAL = : && \
$(OOO_LIBRARY_PATH_VAR)=$(normpath, $(PWD)/$(DLLDEST)):$(normpath, $(SOLARSHAREDBIN))$${{$(OOO_LIBRARY_PATH_VAR):+:$${{$(OOO_LIBRARY_PATH_VAR)}}}}
.END
-# remove if .Net 2003 support has expired
-.IF "$(debug)"!=""
-.IF "$(OS)$(COM)$(CPU)" == "WNTMSCI"
-.IF "$(COMEX)" == "10"
-.IF "$(SLOFILES)$(OBJFILES)$(DEPOBJFILES)"!=""
-MAXPROCESS!:=1
-.EXPORT : MAXPROCESS
-.ENDIF # "$(SLOFILES)$(OBJFILES)$(DEPOBJFILES)"!=""
-.ENDIF # "$(COMEX)" == "10"
-.ENDIF # "$(OS)$(COM)$(CPU)" == "WNTMSCI"
-.ENDIF # "$(debug)"!=""
-
# for multiprocess building in external modules
# allow seperate handling
EXTMAXPROCESS*=$(MAXPROCESS)
+GDBTRACE=gdb -nx --command=$(SOLARENV)/bin/gdbtrycatchtrace --args
+
+#use with export VALGRIND=memcheck, that method of invocation is used because
+#hunspell will aslo run its own unit tests under valgrind when this variable is
+#set.
+.IF "$(VALGRIND)" != ""
+VALGRINDTOOL=valgrind --tool=$(VALGRIND) --num-callers=50
+.IF "$(VALGRIND)" == "memcheck"
+VALGRINDTOOL+=--leak-check=yes
+G_SLICE*:=always-malloc
+.EXPORT : G_SLICE
+.ENDIF
+.ENDIF
+
IDLC*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/idlc
-REGMERGE*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/regmerge
-REGCOMPARE*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/regcompare
-REGCOMP*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/regcomp
+REGMERGE*=$(AUGMENT_LIBRARY_PATH) $(VALGRINDTOOL) $(SOLARBINDIR)/regmerge
+REGCOMPARE*=$(AUGMENT_LIBRARY_PATH) $(VALGRINDTOOL) $(SOLARBINDIR)/regcompare
+
+.IF "$(DEBUGREGCOMP)" != "" || "$(debugregcomp)" != ""
+GDBREGCOMPTRACE=$(GDBTRACE)
+.ENDIF
+
+REGCOMP*=$(AUGMENT_LIBRARY_PATH_LOCAL) $(GDBREGCOMPTRACE) $(SOLARBINDIR)/regcomp
CPPUMAKER*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/cppumaker
JAVAMAKER*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/javamaker
RDBMAKER*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/rdbmaker
CLIMAKER*=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/climaker
-CPPUNITTESTER=$(AUGMENT_LIBRARY_PATH_LOCAL) $(SOLARBINDIR)/cppunittester
+.IF "$(DEBUGCPPUNIT)" != "" || "$(debugcppunit)" != ""
+GDBCPPUNITTRACE=$(GDBTRACE)
+.ENDIF
+
+CPPUNITTESTER=$(AUGMENT_LIBRARY_PATH_LOCAL) $(GDBCPPUNITTRACE) $(VALGRINDTOOL) $(SOLARBINDIR)/cppunit/cppunittester
HELPEX=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/helpex
LNGCONVEX=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/lngconvex
HELPLINKER=$(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/HelpLinker
@@ -1101,9 +1094,12 @@ CDEFS+= -DSUPD=$(UPD)
# flags to enable build with symbols; required for crashdump feature
.IF ("$(ENABLE_CRASHDUMP)"!="" && "$(ENABLE_CRASHDUMP)"!="DUMMY") || "$(ENABLE_SYMBOLS)"!=""
+# if debug is enabled, this may enable less debug info than debug, so rely just on debug
+.IF "$(debug)" == ""
CFLAGSENABLESYMBOLS_CC_ONLY*=$(CFLAGSENABLESYMBOLS)
CFLAGSCXX+=$(CFLAGSENABLESYMBOLS)
CFLAGSCC+=$(CFLAGSENABLESYMBOLS_CC_ONLY)
+.ENDIF # "$(DEBUG)" == ""
.ENDIF # ("$(ENABLE_CRASHDUMP)"!="" && "$(ENABLE_CRASHDUMP)"!="DUMMY") || "$(ENABLE_SYMBOLS)"!=""
.IF "$(profile)"!=""
@@ -1173,6 +1169,10 @@ CDEFS+=-DENABLE_LAYOUT_EXPERIMENTAL=1
CFLAGS+=-DENABLE_LAYOUT_EXPERIMENTAL=0
.ENDIF # ENABLE_LAYOUT_EXPERIMENTAL != TRUE
+.IF "$(ENABLE_GSTREAMER)" == "TRUE"
+CDEFS+=-DGSTREAMER
+.ENDIF
+
# compose flags and defines for GUI
.IF "$(TARGETTYPE)"=="GUI"
CDEFS+= $(CDEFSGUI)
@@ -1209,15 +1209,6 @@ STDSHL=$(STDSHLCUIMT)
.EXPORT : PICSWITCH
-.IF "$(USE_SYSTEM_STL)"=="YES"
-LIBSTLPORT=""
-.ENDIF
-
-.IF "$(NO_DEFAULT_STL)"==""
-STDLIB+=$(LIBSTLPORT)
-STDSHL+=$(LIBSTLPORT)
-.ENDIF # "$(NO_DEFAULT_STL)"==""
-
# fill up unresolved symbols not found else where
.IF "$(FILLUPARC)"!=""
STDLIB+=$(FILLUPARC)
@@ -1234,11 +1225,13 @@ CDEFS+=$(JAVADEF)
# .mk file for that platform should set COMPILER_WARN_ERRORS=TRUE and no longer
# set MODULES_WITH_WARNINGS, and once no platform sets MODULES_WITH_WARNINGS any
# longer, this code can go away:
-.IF "$(MODULES_WITH_WARNINGS)" != ""
+.IF "$(MODULES_WITH_WARNINGS)" == ""
+COMPILER_WARN_ERRORS=TRUE
+.ELSE
MODULES_WITH_WARNINGS_1 := $(foreach,i,$(MODULES_WITH_WARNINGS) .$(i).)
MODULES_WITH_WARNINGS_2 := $(subst,.$(PRJNAME)., $(MODULES_WITH_WARNINGS_1))
.IF "$(MODULES_WITH_WARNINGS_1)" == "$(MODULES_WITH_WARNINGS_2)"
-COMPILER_WARN_ERRORS = TRUE
+COMPILER_WARN_ERRORS=TRUE
.ENDIF
.ENDIF
diff --git a/solenv/inc/shlinfo.rc b/solenv/inc/shlinfo.rc
index 3e090272408d..5896f2b55c12 100644
--- a/solenv/inc/shlinfo.rc
+++ b/solenv/inc/shlinfo.rc
@@ -25,19 +25,8 @@
*
************************************************************************/
-#if !defined(ENGLISH)
-#define LG_D // generate always german version
-#endif
-
#define VER_FIRSTYEAR 2010
-
-#if defined(OS2)
-
-#define OS2_VERSION "hello world"
-
-#else
-
#include <windows.h>
#include "version.hrc"
@@ -45,16 +34,16 @@
// version information
// -----------------------------------------------------------------------
-VS_VERSION_INFO versioninfo
+VS_VERSION_INFO VERSIONINFO
#ifndef SUBVERSION
- fileversion VERSION, 0, VERVARIANT, VER_COUNT
- productversion VERSION, 0, VERVARIANT, VER_COUNT
+ FILEVERSION VERSION, 0, VERVARIANT, VER_COUNT
+ PRODUCTVERSION VERSION, 0, VERVARIANT, VER_COUNT
#else
- fileversion VERSION, SUBVERSION, VERVARIANT, VER_COUNT
- productversion VERSION, SUBVERSION, VERVARIANT, VER_COUNT
+ FILEVERSION VERSION, SUBVERSION, VERVARIANT, VER_COUNT
+ PRODUCTVERSION VERSION, SUBVERSION, VERVARIANT, VER_COUNT
#endif
- fileflagsmask 0x3F
- fileflags
+ FILEFLAGSMASK 0x3F
+ FILEFLAGS
#if defined(DEBUG)
VS_FF_DEBUG |
#endif
@@ -62,52 +51,27 @@ VS_VERSION_INFO versioninfo
VS_FF_PRERELEASE |
#endif
0
-#ifndef WIN32
- fileos VOS_DOS_WINDOWS16
-#else
- fileos VOS_NT_WINDOWS32
-#endif
- filetype VFT_APP
+ FILEOS VOS_NT_WINDOWS32
+ FILETYPE VFT_APP
{
- block "StringFileInfo"
+ BLOCK "StringFileInfo"
{
-#ifdef LG_D
- block "040704E4"
- {
- // German StringTable
- value "CompanyName", "OpenOffice.org\0"
- value "FileVersion", PPS(VER_LEVEL) "\0"
- value "OriginalFilename", PPS(ORG_NAME) "\0"
- value "InternalName", PPS(INTERNAL_NAME) "\0"
- value "LegalCopyright", S_CRIGHT " Oracle, Inc.\0"
- ADDITIONAL_VERINFO1
- ADDITIONAL_VERINFO2
- ADDITIONAL_VERINFO3
- }
-#else
- block "040904E4"
+ BLOCK "040904E4"
{
// International StringTable
- value "CompanyName", "OpenOffice.org\0"
- value "FileVersion", PPS(VER_LEVEL) "\0"
- value "OriginalFilename", PPS(ORG_NAME) "\0"
- value "InternalName", PPS(INTERNAL_NAME) "\0"
- value "LegalCopyright", S_CRIGHT " Oracle, Inc.\0"
+ VALUE "CompanyName", "The Document Foundation\0"
+ VALUE "FileVersion", PPS(VER_LEVEL) "\0"
+ VALUE "OriginalFilename", PPS(ORG_NAME) "\0"
+ VALUE "InternalName", PPS(INTERNAL_NAME) "\0"
+ VALUE "LegalCopyright", S_CRIGHT " The Document Foundation\0"
ADDITIONAL_VERINFO1
ADDITIONAL_VERINFO2
ADDITIONAL_VERINFO3
}
-#endif
}
- block "VarFileInfo"
+ BLOCK "VarFileInfo"
{
-#ifdef LG_D
- value "Translation", 0x0407, 1252
-#else
- value "Translation", 0x0409, 1252
-#endif
+ VALUE "Translation", 0x0409, 1252
}
}
-
-#endif // OS2
diff --git a/solenv/inc/startup/startup.mk b/solenv/inc/startup/startup.mk
index b4aa9a74353a..da4f38e5e5ad 100644
--- a/solenv/inc/startup/startup.mk
+++ b/solenv/inc/startup/startup.mk
@@ -30,10 +30,10 @@ CALLMACROS:=$(MAKEMACROS)
CALLTARGETS=$(MAKETARGETS)
.ENDIF # "$(TNR)" == ""
-.INCLUDEDIRS : $(DMAKE_INC) $(SOLARVERSION)$/$(INPATH)$/inc$(UPDMINOREXT) $(SOLARENV)$/inc
+.INCLUDEDIRS : $(DMAKE_INC) $(SOLARVERSION)$/$(INPATH)$/inc $(SOLARENV)$/inc
# Grab key definitions from the environment
-# .IMPORT .IGNORE : OS TMPDIR UPD INPATH OUTPATH GUI COM EX CLASSPATH PRODUCT GUIBASE SOLARENV SOLARVER GUIENV CPU CPUNAME CVER GVER COMPATH LIB INCLUDE TR SORT UNIQ ROOTDIR SED AWK TOUCH IENV ILIB PRODUCT_ENV COMEX UPD BUILD DEVROOT VCL SO3 ENVCFLAGS
+# .IMPORT .IGNORE : OS TMPDIR UPD INPATH OUTPATH GUI COM EX CLASSPATH PRODUCT GUIBASE SOLARENV SOLARVER GUIENV CPU CPUNAME GVER COMPATH LIB INCLUDE TR SORT UNIQ ROOTDIR SED AWK TOUCH IENV ILIB PRODUCT_ENV COMEX UPD BUILD DEVROOT VCL SO3 ENVCFLAGS
.IF "$(OS)" == "" || "$(OS)" == "Windows_NT"
.ERROR : ; @echo Forced error: Environment variable OS has to be set for OOo build!
@@ -42,9 +42,7 @@ OS_variable_needed
# Customize macro definitions based on seting of OS.
# This must come before the default macro definitions which follow.
-.IF "$(OS)" == "OS2"
-.INCLUDE: $(INCFILENAME:d)OS2/macros.mk
-.ELIF "$(OS)" == "WNT"
+.IF "$(OS_FOR_BUILD)" == "WNT"
.INCLUDE: $(INCFILENAME:d)wnt/macros.mk
.END
diff --git a/solenv/inc/startup/wnt/macros.mk b/solenv/inc/startup/wnt/macros.mk
index 2d8181439e81..391c1a9145d4 100644
--- a/solenv/inc/startup/wnt/macros.mk
+++ b/solenv/inc/startup/wnt/macros.mk
@@ -1,12 +1,7 @@
-# Define additional MSDOS specific settings.
+# Define additional Windows-specific settings.
#
-# --- Set Wrapper command ---
-# Provide a macro that can be used to access the wrapper and to avoid
-# hardcoding the program name everywhere
-GUWCMD*=guw.exe
-
-# This is a no-op for native W32 dmake
+# This is a no-op for native Windows dmake
.WINPATH !:= yes
# Directory cache configuration.
@@ -24,9 +19,6 @@ E *:= .exe # Executables
__.DIVSEP-sh-no *:= \\
DIRSEPSTR :=/
-.EXPORT : GUWCMD
-
# Does not respect case of filenames.
.DIRCACHERESPCASE := no
NAMEMAX = 256
-
diff --git a/solenv/inc/target.mk b/solenv/inc/target.mk
index 6e8007425454..ed4a7b9c7566 100644
--- a/solenv/inc/target.mk
+++ b/solenv/inc/target.mk
@@ -31,9 +31,6 @@ MKFILENAME:=TARGET.MK
# INCLUDE-Path
# ------------------------------------------------------------------
-.IF "$(STL_OS2_BUILDING)" != ""
-CDEFS+=-DSTL_OS2_BUILDING
-.ENDIF
.IF "$(VISIBILITY_HIDDEN)" != ""
.IF "$(COMNAME)" == "gcc3" && "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
CFLAGS += -fvisibility=hidden
@@ -197,7 +194,7 @@ DEPIDLFILES:=$(foreach,i,$(IDLFILES) $(IDLDIRS)/$i)
DEPIDLFILES:=$(IDLFILES)
.ENDIF # "$(EXTERNIDLFILES)"!=""
.ELSE # "$(LOCALIDLFILES)$(EXTERNIDLFILES)"!=""
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
DEPIDLFILES:=$(foreach,i,$(IDLFILES) $(!null,$(shell @$(FIND) . -name $i) $i $(shell @($(FIND) $(IDLDIRS) -name $(i:f)) | $(SED) s/\//\\/g )))
.ELSE # "$(GUI)"=="WNT"
DEPIDLFILES:=$(foreach,i,$(IDLFILES) $(!null,$(shell @$(FIND) . -name $i -print) $i $(shell @$(FIND) $(IDLDIRS) -name $(i:f) -print ) ))
@@ -209,7 +206,7 @@ DEPIDLFILES:=$(foreach,i,$(IDLFILES) $(!null,$(shell @$(FIND) . -name $i -print)
.IF "$(JARFILES)"!=""
LOCALJARS:=$(foreach,i,$(shell @@-cd $(JARDIR) && ls -1 $(JARFILES) ) $(JARDIR)/$i)
NEWCLASS:=$(LOCALJARS)
-NEWCLASS+:=$(foreach,i,$(JARFILES) $(eq,$(LOCALJARS),$(subst,$i, $(LOCALJARS)) $(SOLARBINDIR)/$i $(NULL)))
+NEWCLASS+:=$(foreach,i,$(JARFILES) $(eq,$(LOCALJARS),$(subst,$i, $(LOCALJARS)) $(SOLARVERSION)$/$(INPATH)$/bin$/$i $(NULL)))
.ENDIF # "$(JARFILES)"!=""
NEWCLASS+=$(EXTRAJARFILES)
.IF "$(GENJAVACLASSFILES)"!=""
@@ -344,14 +341,8 @@ JAVATARGET:=$(MISC)/$(TARGET)_dummy.java
.IF "$(JARTARGET)"!=""
JARCLASSDIRS*=.
-.IF "$(NEW_JAR_PACK)"!=""
JARMANIFEST*=$(CLASSDIR)/$(TARGET)/META-INF/MANIFEST.MF
-.ENDIF # "$(NEW_JAR_PACK)"!=""
JARTARGETN=$(CLASSDIR)/$(JARTARGET)
-.IF "$(NOJARDEP)$(NEW_JAR_PACK)"==""
-JARTARGETDEP=$(JARTARGET).dep
-JARTARGETDEPN=$(MISC)/$(JARTARGET).dep
-.ENDIF # "$(NOJARDEP)$(NEW_JAR_PACK)"==""
.ENDIF # "$(JARTARGET)"!=""
.ELSE # "$(SOLAR_JAVA)"!=""
JAVACLASSFILES:=
@@ -441,7 +432,7 @@ APP2BASEX=/BASE:$(APP2BASE)
.IF "$(APP3TARGET)"!=""
APP3TARGETN=$(BIN)/$(APP3TARGET)$(EXECPOST)
.IF "$(BASE)" != ""
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(APP3BASE)"==""
APP3BASE=$(BASE)
.ENDIF
@@ -501,7 +492,7 @@ APP7BASEX=/BASE:$(APP7BASE)
.IF "$(APP8TARGET)"!=""
APP8TARGETN=$(BIN)/$(APP8TARGET)$(EXECPOST)
.IF "$(BASE)" != ""
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(APP8BASE)"==""
APP8BASE=$(BASE)
.ENDIF
@@ -513,7 +504,7 @@ APP8BASEX=/BASE:$(APP8BASE)
.IF "$(APP9TARGET)"!=""
APP9TARGETN=$(BIN)/$(APP9TARGET)$(EXECPOST)
.IF "$(BASE)" != ""
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(APP9BASE)"==""
APP9BASE=$(BASE)
.ENDIF
@@ -529,7 +520,7 @@ SHL1TARGET!:=$(SHL1TARGET)$($(WINVERSIONNAMES)_MAJOR)
SHL1DLLPRE*=$(DLLPRE)
SHL1TARGETN=$(DLLDEST)/$(SHL1DLLPRE)$(SHL1TARGET)$(DLLPOST)
.IF "$(BASE)" != ""
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(SHL1BASE)"==""
SHL1BASE=$(BASE)
.ENDIF
@@ -545,7 +536,7 @@ SHL2TARGET!:=$(SHL2TARGET)$($(WINVERSIONNAMES)_MAJOR)
SHL2DLLPRE*=$(DLLPRE)
SHL2TARGETN=$(DLLDEST)/$(SHL2DLLPRE)$(SHL2TARGET)$(DLLPOST)
.IF "$(BASE)" != ""
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(SHL2BASE)"==""
SHL2BASE=$(BASE)
.ENDIF
@@ -561,7 +552,7 @@ SHL3TARGET!:=$(SHL3TARGET)$($(WINVERSIONNAMES)_MAJOR)
SHL3DLLPRE*=$(DLLPRE)
SHL3TARGETN=$(DLLDEST)/$(SHL3DLLPRE)$(SHL3TARGET)$(DLLPOST)
.IF "$(BASE)" != ""
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(SHL3BASE)"==""
SHL3BASE=$(BASE)
.ENDIF
@@ -577,7 +568,7 @@ SHL4TARGET!:=$(SHL4TARGET)$($(WINVERSIONNAMES)_MAJOR)
SHL4DLLPRE*=$(DLLPRE)
SHL4TARGETN=$(DLLDEST)/$(SHL4DLLPRE)$(SHL4TARGET)$(DLLPOST)
.IF "$(BASE)" != ""
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(SHL4BASE)"==""
SHL4BASE=$(BASE)
.ENDIF
@@ -593,7 +584,7 @@ SHL5TARGET!:=$(SHL5TARGET)$($(WINVERSIONNAMES)_MAJOR)
SHL5DLLPRE*=$(DLLPRE)
SHL5TARGETN=$(DLLDEST)/$(SHL5DLLPRE)$(SHL5TARGET)$(DLLPOST)
.IF "$(BASE)" != ""
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(SHL5BASE)"==""
SHL5BASE=$(BASE)
.ENDIF
@@ -609,7 +600,7 @@ SHL6TARGET!:=$(SHL6TARGET)$($(WINVERSIONNAMES)_MAJOR)
SHL6DLLPRE*=$(DLLPRE)
SHL6TARGETN=$(DLLDEST)/$(SHL6DLLPRE)$(SHL6TARGET)$(DLLPOST)
.IF "$(BASE)" != ""
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(SHL6BASE)"==""
SHL6BASE=$(BASE)
.ENDIF
@@ -625,7 +616,7 @@ SHL7TARGET!:=$(SHL7TARGET)$($(WINVERSIONNAMES)_MAJOR)
SHL7DLLPRE*=$(DLLPRE)
SHL7TARGETN=$(DLLDEST)/$(SHL7DLLPRE)$(SHL7TARGET)$(DLLPOST)
.IF "$(BASE)" != ""
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(SHL7BASE)"==""
SHL7BASE=$(BASE)
.ENDIF
@@ -641,7 +632,7 @@ SHL8TARGET!:=$(SHL8TARGET)$($(WINVERSIONNAMES)_MAJOR)
SHL8DLLPRE*=$(DLLPRE)
SHL8TARGETN=$(DLLDEST)/$(SHL8DLLPRE)$(SHL8TARGET)$(DLLPOST)
.IF "$(BASE)" != ""
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(SHL8BASE)"==""
SHL8BASE=$(BASE)
.ENDIF
@@ -657,7 +648,7 @@ SHL9TARGET!:=$(SHL9TARGET)$($(WINVERSIONNAMES)_MAJOR)
SHL9DLLPRE*=$(DLLPRE)
SHL9TARGETN=$(DLLDEST)/$(SHL9DLLPRE)$(SHL9TARGET)$(DLLPOST)
.IF "$(BASE)" != ""
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(SHL9BASE)"==""
SHL9BASE=$(BASE)
.ENDIF
@@ -779,7 +770,7 @@ LIB8TARGETN=$(LIB8TARGET)
LIB9TARGETN=$(LIB9TARGET)
.ENDIF
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(COM)"!="GCC"
LIB1ARCHIV=
LIB2ARCHIV=
@@ -1035,7 +1026,7 @@ ALL_JAVA_TARGETS= \
.IF "$(lintit)"==""
.IF "$(L10N_framework)"!=""
ALLTAR: \
- "$(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT)/$(UPD)minor.mk" \
+ "$(SOLARVERSION)/$(INPATH)/inc/$(UPD)minor.mk" \
$(SUBDIRS) \
$(DPRTARGET) \
$(DPZTARGET) \
@@ -1083,7 +1074,7 @@ ALLTAR: \
.ELSE # "$(L10N_framework)"!=""
ALLTAR: \
- "$(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT)/$(UPD)minor.mk" \
+ "$(SOLARVERSION)/$(INPATH)/inc/$(UPD)minor.mk" \
$(MAKEDEMODIR) $(MAKECOMPDIR) $(MAKEXLDIR) \
$(COMPVERMK) \
$(JAVAVERMK) \
@@ -1363,7 +1354,7 @@ $(UNIXTEXT) : $(UNIXTEXT:f)
$(TOUCH) $@
.IF "$(LOCALIZATION_FOUND)"==""
-.IF "$(LOCALSDFFILE)"!=""
+.IF "$(LOCALSDFFILE)"!="" && "$(LOCALSDFFILE)"=="$(LOCALIZESDF)"
"$(LOCALIZESDF)" : $(SOLARCOMMONSDFDIR)/$(PRJNAME).zip
@@-$(MKDIRHIER) $(@:d)
@@-$(MKDIRHIER) $(COMMONMISC)/$(PRJNAME)_$(TARGET)
@@ -1422,7 +1413,7 @@ $(SCP_PRODUCT_TYPE):
.ENDIF # "$(PARFILES)"!=""
-"$(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT)/minormkchanged.flg" :
+"$(SOLARVERSION)/$(INPATH)/inc/minormkchanged.flg" :
$(TOUCH) $@
.IF "$(COMPVERMK)"!=""
@@ -1431,7 +1422,7 @@ $(SCP_PRODUCT_TYPE):
COMPVERMK_PHONY:=.PHONY
.ENDIF # "$(COMPATH:s!\!/!)"!="$(COMPATH_STORED)"
COMPVTMP:=$(mktmp iii)
-"$(COMPVERMK)" $(COMPVERMK_PHONY): $(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT)/minormkchanged.flg
+"$(COMPVERMK)" $(COMPVERMK_PHONY): $(SOLARVERSION)/$(INPATH)/inc/minormkchanged.flg
.IF "$(CCNUMVER)"!=""
@echo COMNAME:=$(COMNAME) > $(COMPVTMP)
@echo COMID:=$(COMID) >> $(COMPVTMP)
@@ -1459,7 +1450,7 @@ COMPVTMP:=$(mktmp iii)
.IF "$(JAVALOCATION)"!="$(JAVA_HOME)"
"$(JAVAVERMK)" .PHONY :
.ELSE # "$(JAVALOCATION)"!="$(JAVA_HOME)"
-"$(JAVAVERMK)" : $(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT)/minormkchanged.flg
+"$(JAVAVERMK)" : $(SOLARVERSION)/$(INPATH)/inc/minormkchanged.flg
.ENDIF # "$(JAVALOCATION)"!="$(JAVA_HOME)"
@-$(RM) $@
@echo JAVAVER:=$(JAVAVER) > $@
@@ -1756,7 +1747,7 @@ ALLTAR : forcedeps
@$(TOUCH) $(TMP)/makedt.don
killbin:
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
@$(IFEXIST) $(BIN)/$(SHL1TARGET).dll $(THEN) $(RM:s/+//) $(BIN)/$(SHL1TARGET).dll $(FI)
@$(IFEXIST) $(BIN)/$(SHL2TARGET).dll $(THEN) $(RM:s/+//) $(BIN)/$(SHL2TARGET).dll $(FI)
@$(IFEXIST) $(BIN)/$(SHL3TARGET).dll $(THEN) $(RM:s/+//) $(BIN)/$(SHL3TARGET).dll $(FI)
@@ -1963,7 +1954,7 @@ $(MISC)/$(TARGET).dpz $(ZIPDEPPHONY) : $(ZIP1TARGETN) $(ZIP2TARGETN) $(ZIP3TARGE
.ENDIF
VERSIONTMP:=$(mktmp iii)
-$(INCCOM)/%_version.h : $(SOLARVERSION)/$(INPATH)/inc$(UPDMINOREXT)/minormkchanged.flg
+$(INCCOM)/%_version.h : $(SOLARVERSION)/$(INPATH)/inc/minormkchanged.flg
@echo $(EMQ)#define _BUILD $(EMQ)"$(BUILD)$(EMQ)" > $(VERSIONTMP)
@echo $(EMQ)#define _UPD $(EMQ)"$(UPD)$(EMQ)" >> $(VERSIONTMP)
@echo $(EMQ)#define _LAST_MINOR $(EMQ)"$(LAST_MINOR)$(EMQ)" >> $(VERSIONTMP)
diff --git a/solenv/inc/tg_app.mk b/solenv/inc/tg_app.mk
index cefdf14db033..cd9d44424369 100644
--- a/solenv/inc/tg_app.mk
+++ b/solenv/inc/tg_app.mk
@@ -29,10 +29,6 @@
# instructions for linking
# unroll begin
-.IF "$(GUI)" == "OS2" && "$(TARGETTYPE)" == "GUI"
-APP$(TNR)DEF = $(MISC)/$(APP$(TNR)TARGET).def
-.ENDIF
-
.IF "$(APP$(TNR)LINKTYPE)" != ""
#must be either STATIC or SHARED
APP$(TNR)LINKTYPEFLAG=$(APPLINK$(APP$(TNR)LINKTYPE))
@@ -88,7 +84,7 @@ APP$(TNR)PRODUCTDEF+:=-DPRODUCT_NAME=\"$(APP$(TNR)PRODUCTNAME)\"
.ENDIF # "$(APP$(TNR)PRODUCTNAME)"!=""
.IF "$(linkinc)"!=""
-.IF "$(GUI)"=="WNT" || "$(GUI)"=="OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(APP$(TNR)LIBS)"!=""
$(MISC)/$(APP$(TNR)TARGET)_linkinc.ls .PHONY:
@@-$(RM) $@
@@ -103,16 +99,8 @@ $(APP$(TNR)TARGETN) : $(LINKINCTARGETS)
# Allow for target specific LIBSALCPPRT override
APP$(TNR)LIBSALCPPRT*=$(LIBSALCPPRT)
-.IF "$(GUI)" == "OS2"
-_APP$(TNR)IMP_ORD = $(APP$(TNR)STDLIBS:^"$(SOLARVERSION)/$(INPATH)/lib/") $(APP$(TNR)STDLIBS:^"$(LB)/")
-APP$(TNR)IMP_ORD = $(foreach,i,$(_APP$(TNR)IMP_ORD) $(shell @-ls $i))
-.ELSE
-APP$(TNR)IMP_ORD =
-.ENDIF
-
$(APP$(TNR)TARGETN): $(APP$(TNR)OBJS) $(APP$(TNR)LIBS) \
$(APP$(TNR)RES) \
- $(APP$(TNR)IMP_ORD) \
$(APP$(TNR)ICON) $(APP$(TNR)DEPN) $(USE_APP$(TNR)DEF)
@echo "Making: " $(@:f)
.IF "$(GUI)"=="UNX"
@@ -123,7 +111,7 @@ $(APP$(TNR)TARGETN): $(APP$(TNR)OBJS) $(APP$(TNR)LIBS) \
@-$(RM) $(MISC)/$(@:b).strip
@echo $(STDSLO) $(APP$(TNR)OBJS:s/.obj/.o/) \
`cat /dev/null $(APP$(TNR)LIBS) | sed s\#$(ROUT)\#$(OUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list
- @echo -n $(APP$(TNR)LINKER) $(APP$(TNR)LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) -o $@ \
+ @/bin/echo -n $(APP$(TNR)LINKER) $(APP$(TNR)LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) -o $@ \
$(APP$(TNR)LINKTYPEFLAG) $(APP$(TNR)STDLIBS) $(APP$(TNR)STDLIB) $(STDLIB$(TNR)) -filelist $(MISC)/$(@:b).list > $(MISC)/$(TARGET).$(@:b)_$(TNR).cmd
@$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
`cat $(MISC)/$(TARGET).$(@:b)_$(TNR).cmd` \
@@ -176,7 +164,7 @@ $(APP$(TNR)TARGETN): $(APP$(TNR)OBJS) $(APP$(TNR)LIBS) \
@echo mingw
.IF "$(APP$(TNR)LINKRES)" != "" || "$(APP$(TNR)RES)" != ""
@cat $(APP$(TNR)LINKRES) $(subst,/res/,/res{$(subst,$(BIN), $(@:d))} $(APP$(TNR)RES)) > $(MISC)/$(@:b)_all.res
- windres $(MISC)/$(@:b)_all.res $(APP$(TNR)RESO)
+ $(WINDRES) $(MISC)/$(@:b)_all.res $(APP$(TNR)RESO)
.ENDIF
@echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) $(MINGWSSTDOBJ) -L$(PRJ)/$(INPATH)/lib $(SOLARLIB) $(STDSLO) \
$(APP$(TNR)BASEX) $(APP$(TNR)STACKN) -o $@ $(APP$(TNR)OBJS) \
@@ -247,66 +235,6 @@ $(APP$(TNR)TARGETN): $(APP$(TNR)OBJS) $(APP$(TNR)LIBS) \
.ENDIF # "$(GUI)" == "WNT"
-.IF "$(GUI)" == "OS2"
- @+-$(MKDIR) $(@:d:d) >& $(NULLDEV)
-.IF "$(APP$(TNR)LINKRES)" != ""
- @+-$(RM) $(MISC)/$(APP$(TNR)LINKRES:b).rc >& $(NULLDEV)
-.IF "$(APP$(TNR)ICON)" != ""
- @-+$(WRAPCMD) echo 1 ICON $(EMQ)"$(APP$(TNR)ICON)$(EMQ)" | $(SED) 'sX\\X\\\\Xg' >> $(MISC)/$(APP$(TNR)LINKRES:b).rc
-.ENDIF # "$(APP$(TNR)ICON)" != ""
-.IF "$(APP$(TNR)VERINFO)" != ""
- @-+echo $(EMQ)#define VERVARIANT $(BUILD) >> $(MISC)/$(APP$(TNR)LINKRES:b).rc
- @-+echo $(EMQ)#include $(EMQ)"$(APP$(TNR)VERINFO)$(EMQ)" >> $(MISC)/$(APP$(TNR)LINKRES:b).rc
-.ENDIF # "$(APP$(TNR)VERINFO)" != ""
- $(COMMAND_ECHO)$(RC) -r -DOS2 $(APP$(TNR)PRODUCTDEF) -I$(SOLARRESDIR) $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(APP$(TNR)LINKRES:b).rc
-.ENDIF # "$(APP$(TNR)LINKRES)" != ""
-
-.IF "$(TARGETTYPE)" == "GUI"
- @echo NAME $(APP$(TNR)TARGET) WINDOWAPI > $(MISC)/$(APP$(TNR)TARGET).def
-.ENDIF
-
- .IF "$(VERBOSE)" == "TRUE"
- @+echo $(APP$(TNR)LINKFLAGS) \
- $(LINKFLAGSAPP) $(APP$(TNR)BASEX) \
- $(APP$(TNR)STACKN) \
- -o $@ \
- -Zmap -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(STDOBJ) \
- $(APP$(TNR)LINKRES) \
- $(APP$(TNR)RES) \
- $(APP$(TNR)DEF) \
- $(APP$(TNR)OBJS) \
- $(APP$(TNR)LIBS) \
- $(APP$(TNR)STDLIBS:^"-l") \
- $(APP$(TNR)STDLIB:^"-l") $(STDLIB$(TNR):^"-l")
- .ENDIF
- $(COMMAND_ECHO)$(APP$(TNR)LINKER) -v \
- $(APP$(TNR)LINKFLAGS) \
- $(LINKFLAGSAPP) $(APP$(TNR)BASEX) \
- $(APP$(TNR)STACKN) \
- -o $@ \
- -Zmap -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(STDOBJ) \
- $(APP$(TNR)LINKRES) \
- $(APP$(TNR)RES) \
- $(APP$(TNR)DEF) \
- $(APP$(TNR)OBJS) \
- $(APP$(TNR)LIBS) \
- $(APP$(TNR)STDLIBS:^"-l") \
- $(APP$(TNR)STDLIB:^"-l") $(STDLIB$(TNR):^"-l")
-
-
-.IF "$(APP$(TNR)TARGET)" == "loader"
- $(COMMAND_ECHO)+$(PERL) loader.pl $@
- $(COMMAND_ECHO)+$(TYPE) $(@) $(@:d)unloader.exe > $(@:d)_new.exe
- $(COMMAND_ECHO)+$(RM) $@
- $(COMMAND_ECHO)+$(RENAME) $(@:d)_new.exe $(@:d)loader.exe
-.ENDIF # "$(TARGET)" == "setup"
-
-.ENDIF # "$(GUI)" == "OS2"
-
.ENDIF # "$(APP$(TNR)TARGETN)"!=""
diff --git a/solenv/inc/tg_compv.mk b/solenv/inc/tg_compv.mk
index c68ae5af430e..a9fc9202ea2c 100644
--- a/solenv/inc/tg_compv.mk
+++ b/solenv/inc/tg_compv.mk
@@ -68,9 +68,11 @@ CCVER:=$(shell @-$(CXX) $(CFLAGSVERSION_CMD))
CCNUMVER:=$(shell @-$(CXX) $(CFLAGSNUMVERSION_CMD))
.IF "$(COM)"=="MSC"
-.IF "$(CCNUMVER)">="001200000000"
COMID=MSC
+.IF "$(CPU)"=="I"
COMNAME=msci
+.ELSE
+COMNAME=mscx
.ENDIF
.ENDIF
diff --git a/solenv/inc/tg_config.mk b/solenv/inc/tg_config.mk
index cfe2fe147ebe..bd3e7bbd9413 100644
--- a/solenv/inc/tg_config.mk
+++ b/solenv/inc/tg_config.mk
@@ -32,10 +32,6 @@ XCSROOTURL!:=$(ABSXCSROOT)
XCSROOTURL!:=file:///$(subst,\,/ $(XCSROOTURL))
.ENDIF
SYSXSLDIR*:=$(XSLDIR)/
-.IF $(GUI)==OS2
-XCSROOTURL!:=$(subst,\,/ $(XCSROOTURL))
-SYSXSLDIR!:=$(subst,\,/ $(SYSXSLDIR))/
-.ENDIF
#
# --- XCS ---
diff --git a/solenv/inc/tg_def.mk b/solenv/inc/tg_def.mk
index 0bbd1f6b1ab1..763ad26e5021 100644
--- a/solenv/inc/tg_def.mk
+++ b/solenv/inc/tg_def.mk
@@ -55,7 +55,7 @@ $(DEF$(TNR)EXPORTFILE) : $(SHL$(TNR)VERSIONMAP)
$(COMMAND_ECHO)-$(GREP) "\*\|?" $@ > $@.symbols-regexp
# Shared libraries will be build out of the *.obj files specified in SHL?OBJS and SHL?LIBS
# Extract RTTI symbols from all the objects that will be used to build a shared library
- $(COMMAND_ECHO)nm -gP $(SHL$(TNR)OBJS) \
+ $(COMMAND_ECHO)$(NM) -gP $(SHL$(TNR)OBJS) \
`$(TYPE) /dev/null $(foreach,j,$(SHL$(TNR)LIBS) $j) | $(SED) s\#$(ROUT)\#$(PRJ)$/$(ROUT)\#g` \
| $(SOLARENV)/bin/addsym-mingw.sh $@.symbols-regexp $@.symbols-regexp.tmp >> $@.exported-symbols
# overwrite the map file generate into the local output tree with the generated
@@ -65,12 +65,6 @@ $(DEF$(TNR)EXPORTFILE) : $(SHL$(TNR)VERSIONMAP)
.ENDIF # "$(GUI)"=="WNT"
-.IF "$(GUI)"=="OS2"
-DEF$(TNR)EXPORTFILE=$(MISC)/$(SHL$(TNR)VERSIONMAP:b)_$(SHL$(TNR)TARGET).dxp
-$(DEF$(TNR)EXPORTFILE) : $(SHL$(TNR)VERSIONMAP)
- $(TYPE) $< | $(AWK) -f $(SOLARENV)/bin/getcsym.awk > $@
-.ENDIF # "$(GUI)"=="OS2"
-
.ENDIF # "$(DEF$(TNR)EXPORTFILE)"==""
.ENDIF # "$(SHL$(TNR)VERSIONMAP)"!=""
@@ -192,112 +186,6 @@ $(DEF$(TNR)TARGETN) .PHONY :
@$(RENAME) $@.tmpfile $@
.ENDIF # "$(GUI)"=="WNT"
-.IF "$(GUI)"=="OS2"
-
-#21/02/2006 YD dll names must be 8.3, invoke fix script
-#check osl/os2/module.c/osl_loadModule()
-SHL$(TNR)TARGET8=$(shell @fix_shl $(SHL$(TNR)TARGETN:f))
-
-DEF$(TNR)FILTER=$(SOLARENV)/inc/dummy.flt
-DEF$(TNR)NAMELIST=$(foreach,i,$(DEFLIB$(TNR)NAME) $(SLB)/$(i).lib)
-
-.IF "$(link_always)"==""
-$(DEF$(TNR)TARGETN) : \
- $(DEF$(TNR)DEPN) \
- $(DEF$(TNR)EXPORTFILE)
-.ELSE # "$(link_always)"==""
-$(DEF$(TNR)TARGETN) .PHONY :
-.ENDIF # "$(link_always)"==""
- @+-$(RM) $@.tmpfile
- @echo "Making: module definition file" $(@:f)
- @echo LIBRARY $(SHL$(TNR)TARGET8) INITINSTANCE TERMINSTANCE >$@.tmpfile
- @echo DATA MULTIPLE >>$@.tmpfile
- @echo DESCRIPTION 'StarView 3.00 $(DEF$(TNR)DES) $(UPD) $(UPDMINOR)' >>$@.tmpfile
- @echo EXPORTS >>$@.tmpfile
-.IF "$(VERSIONOBJ)"!=""
-# getversioninfo fuer alle!!
- @echo _GetVersionInfo >$@.tmp_ord
-.ENDIF
-
-.IF "$(DEFLIB$(TNR)NAME)"!=""
- @+echo $(SLB)/$(DEFLIB$(TNR)NAME).lib
- @+emxexpr $(DEF$(TNR)NAMELIST) | fix_exp_file >> $@.tmp_ord
-.ENDIF # "$(DEFLIB$(TNR)NAME)"!=""
-
-.IF "$(DEF$(TNR)EXPORT1)"!=""
- @echo $(DEF$(TNR)EXPORT1) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF$(TNR)EXPORT2)"!=""
- @echo $(DEF$(TNR)EXPORT2) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF$(TNR)EXPORT3)"!=""
- @echo $(DEF$(TNR)EXPORT3) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF$(TNR)EXPORT4)"!=""
- @echo $(DEF$(TNR)EXPORT4) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF$(TNR)EXPORT5)"!=""
- @echo $(DEF$(TNR)EXPORT5) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF$(TNR)EXPORT6)"!=""
- @echo $(DEF$(TNR)EXPORT6) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF$(TNR)EXPORT7)"!=""
- @echo $(DEF$(TNR)EXPORT7) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF$(TNR)EXPORT8)"!=""
- @echo $(DEF$(TNR)EXPORT8) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF$(TNR)EXPORT9)"!=""
- @echo $(DEF$(TNR)EXPORT9) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF$(TNR)EXPORT10)"!=""
- @echo $(DEF$(TNR)EXPORT10) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF$(TNR)EXPORT11)"!=""
- @echo $(DEF$(TNR)EXPORT11) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF$(TNR)EXPORT12)"!=""
- @echo $(DEF$(TNR)EXPORT12) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF$(TNR)EXPORT13)"!=""
- @echo $(DEF$(TNR)EXPORT13) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF$(TNR)EXPORT14)"!=""
- @echo $(DEF$(TNR)EXPORT14) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF$(TNR)EXPORT15)"!=""
- @echo $(DEF$(TNR)EXPORT15) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF$(TNR)EXPORT16)"!=""
- @echo $(DEF$(TNR)EXPORT16) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF$(TNR)EXPORT17)"!=""
- @echo $(DEF$(TNR)EXPORT17) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF$(TNR)EXPORT18)"!=""
- @echo $(DEF$(TNR)EXPORT18) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF$(TNR)EXPORT19)"!=""
- @echo $(DEF$(TNR)EXPORT19) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF$(TNR)EXPORT20)"!=""
- @echo $(DEF$(TNR)EXPORT20) >>$@.tmpfile
-.ENDIF
-.IF "$(DEF$(TNR)EXPORTFILE)"!=""
- @fix_def_file < $(DEF$(TNR)EXPORTFILE) >> $@.tmp_ord
-.ENDIF
- @sort < $@.tmp_ord | uniq > $@.exptmpfile
- @fix_def_ord < $@.exptmpfile >> $@.tmpfile
- @+-$(RM) $@
- $(COMMAND_ECHO)+$(RENAME) $@.tmpfile $@
- @+-$(RM) $@.tmp_ord
- @+-$(RM) $@.exptmpfile
- $(COMMAND_ECHO)+$(IMPLIB) $(IMPLIBFLAGS) $(SHL$(TNR)IMPLIBN:s/.lib/.a/) $@
- $(COMMAND_ECHO)+emxomf -o $(SHL$(TNR)IMPLIBN) $(SHL$(TNR)IMPLIBN:s/.lib/.a/)
-
-.ENDIF # "$(GUI)"=="OS2"
-
.IF "$(GUI)"=="UNX"
$(DEF$(TNR)TARGETN): \
$(DEF$(TNR)DEPN) \
diff --git a/solenv/inc/tg_ext.mk b/solenv/inc/tg_ext.mk
index 63c0c995f42a..a4217779094b 100644
--- a/solenv/inc/tg_ext.mk
+++ b/solenv/inc/tg_ext.mk
@@ -29,11 +29,7 @@
# setup INCLUDE variable for use by VC++
.IF "$(GUI)$(COM)"=="WNTMSC"
-.IF "$(EXT_USE_STLPORT)"==""
-INCLUDE!:=. $(subst,/stl, $(SOLARINC))
-.ELSE # "$(EXT_USE_STLPORT)"==""
INCLUDE!:=. $(SOLARINC)
-.ENDIF # "$(EXT_USE_STLPORT)"==""
INCLUDE!:=$(INCLUDE:s/ -I/;/)
.EXPORT : INCLUDE
.ENDIF # "$(GUI)$(COM)"=="WNTMSC"
@@ -43,7 +39,7 @@ LDFLAGS!:=$(EXTRA_LINKFLAGS) $(LDFLAGS)
.EXPORT : LDFLAGS
.ENDIF
-.IF "$(GUI)"=="WNT"
+.IF "$(GUI_FOR_BUILD)"=="WNT"
PATH!:=.:$(SOLARBINDIR:^"/cygdrive/":s/://):$(PATH)
.ELSE # "$(GUI)"=="WNT"
PATH!:=.$(PATH_SEPERATOR)$(SOLARBINDIR)$(PATH_SEPERATOR)$(PATH)
@@ -110,9 +106,9 @@ clean:
$(MISC)/%.unpack : $(TARFILE_LOCATION2)/%.tar.bz2
@-$(RM) $@
.IF "$(GUI)"=="UNX"
- @noop $(assign UNPACKCMD := sh -c "bzip2 -cd $(TARFILE_LOCATION)/$(TARFILE_MD5)-$(TARFILE_NAME).tar.bz2 $(TARFILE_FILTER) | $(GNUTAR) -x$(tar_verbose_switch)f - ")
+ @noop $(assign UNPACKCMD := sh -c "bzip2 -cd $(TARFILE_LOCATION)/$(TARFILE_MD5)-$(TARFILE_NAME).tar.bz2 $(TARFILE_FILTER) | $(GNUTAR) --no-same-owner -x$(tar_verbose_switch)f - ")
.ELSE # "$(GUI)"=="UNX"
- @noop $(assign UNPACKCMD := bzip2 -cd $(TARFILE_LOCATION)/$(TARFILE_MD5)-$(TARFILE_NAME).tar.bz2 $(TARFILE_FILTER) | $(GNUTAR) -x$(tar_verbose_switch)f - )
+ @noop $(assign UNPACKCMD := bzip2 -cd $(TARFILE_LOCATION)/$(TARFILE_MD5)-$(TARFILE_NAME).tar.bz2 $(TARFILE_FILTER) | $(GNUTAR) --no-same-owner -x$(tar_verbose_switch)f - )
.ENDIF # "$(GUI)"=="UNX"
@$(TYPE) $(mktmp $(UNPACKCMD)) > $@.$(INPATH)
@$(RENAME) $@.$(INPATH) $@
@@ -120,28 +116,28 @@ $(MISC)/%.unpack : $(TARFILE_LOCATION2)/%.tar.bz2
$(MISC)/%.unpack : $(TARFILE_LOCATION2)/%.tar.Z
@-$(RM) $@
.IF "$(GUI)"=="UNX"
- @noop $(assign UNPACKCMD := sh -c "uncompress -c $(TARFILE_LOCATION)/$(TARFILE_MD5)-$(TARFILE_NAME).tar.Z | $(GNUTAR) -x$(tar_verbose_switch)f - ")
+ @noop $(assign UNPACKCMD := sh -c "uncompress -c $(TARFILE_LOCATION)/$(TARFILE_MD5)-$(TARFILE_NAME).tar.Z | $(GNUTAR) --no-same-owner -x$(tar_verbose_switch)f - ")
.ELSE # "$(GUI)"=="UNX"
- @noop $(assign UNPACKCMD := uncompress -c $(TARFILE_LOCATION)/$(TARFILE_MD5)-$(TARFILE_NAME).tar.Z | $(GNUTAR) -x$(tar_verbose_switch)f - )
+ @noop $(assign UNPACKCMD := uncompress -c $(TARFILE_LOCATION)/$(TARFILE_MD5)-$(TARFILE_NAME).tar.Z | $(GNUTAR) --no-same-owner -x$(tar_verbose_switch)f - )
.ENDIF # "$(GUI)"=="UNX"
@$(TYPE) $(mktmp $(UNPACKCMD)) > $@.$(INPATH)
@$(RENAME) $@.$(INPATH) $@
$(MISC)/%.unpack : $(TARFILE_LOCATION2)/%.tar.gz
@-$(RM) $@
- @noop $(assign UNPACKCMD := gzip -d -c $(subst,\,/ $(TARFILE_LOCATION)/$(TARFILE_MD5)-$(TARFILE_NAME).tar.gz) $(TARFILE_FILTER) | $(GNUTAR) -x$(tar_verbose_switch)f - )
+ @noop $(assign UNPACKCMD := gzip -d -c $(subst,\,/ $(TARFILE_LOCATION)/$(TARFILE_MD5)-$(TARFILE_NAME).tar.gz) $(TARFILE_FILTER) | $(GNUTAR) --no-same-owner -x$(tar_verbose_switch)f - )
@$(TYPE) $(mktmp $(UNPACKCMD)) > $@.$(INPATH)
@$(RENAME) $@.$(INPATH) $@
$(MISC)/%.unpack : $(TARFILE_LOCATION2)/%.tgz
@-$(RM) $@
- @noop $(assign UNPACKCMD := gzip -d -c $(subst,\,/ $(TARFILE_LOCATION)/$(TARFILE_MD5)-$(TARFILE_NAME).tgz) $(TARFILE_FILTER) | $(GNUTAR) -x$(tar_verbose_switch)f - )
+ @noop $(assign UNPACKCMD := gzip -d -c $(subst,\,/ $(TARFILE_LOCATION)/$(TARFILE_MD5)-$(TARFILE_NAME).tgz) $(TARFILE_FILTER) | $(GNUTAR) --no-same-owner -x$(tar_verbose_switch)f - )
@$(TYPE) $(mktmp $(UNPACKCMD)) > $@.$(INPATH)
@$(RENAME) $@.$(INPATH) $@
$(MISC)/%.unpack : $(TARFILE_LOCATION2)/%.tar
@-$(RM) $@
- @noop $(assign UNPACKCMD := $(GNUTAR) -x$(tar_verbose_switch)f $(TARFILE_LOCATION)/$(TARFILE_MD5)-$(TARFILE_NAME).tar)
+ @noop $(assign UNPACKCMD := $(GNUTAR) --no-same-owner -x$(tar_verbose_switch)f $(TARFILE_LOCATION)/$(TARFILE_MD5)-$(TARFILE_NAME).tar)
@$(TYPE) $(mktmp $(UNPACKCMD)) > $@.$(INPATH)
@$(RENAME) $@.$(INPATH) $@
@@ -151,6 +147,12 @@ $(MISC)/%.unpack : $(TARFILE_LOCATION2)/%.zip
@$(TYPE) $(mktmp $(UNPACKCMD)) > $@.$(INPATH)
@$(RENAME) $@.$(INPATH) $@
+$(MISC)/%.unpack : $(TARFILE_LOCATION2)/%.oxt
+ @-$(RM) $@
+ @noop $(assign UNPACKCMD := unzip $(unzip_quiet_switch) -o $(TARFILE_LOCATION)/$(TARFILE_MD5)-$(TARFILE_NAME).oxt)
+ @$(TYPE) $(mktmp $(UNPACKCMD)) > $@.$(INPATH)
+ @$(RENAME) $@.$(INPATH) $@
+
$(MISC)/%.unpack : $(TARFILE_LOCATION2)/%.jar
@-$(RM) $@
.IF "$(OS)"=="SOLARIS"
@@ -163,13 +165,14 @@ $(MISC)/%.unpack : $(TARFILE_LOCATION2)/%.jar
#do unpack
$(PACKAGE_DIR)/$(UNTAR_FLAG_FILE) : $(PRJ)/$(ROUT)/misc/$(TARFILE_MD5)-$(TARFILE_NAME).unpack $(PATCH_FILE_DEP)
- $(IFEXIST) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR) $(THEN) $(RENAME:s/+//) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)_removeme $(FI)
+ $(IFEXIST) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR).exists $(THEN) $(RENAME:s/+//) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)_removeme $(FI)
$(COMMAND_ECHO)-rm -rf $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)_removeme
@-$(MKDIRHIER) $(PACKAGE_DIR)$(fake_root_dir)
+ @$(TOUCH) $(PACKAGE_DIR)/$(TARFILE_ROOTDIR).exists # $(IFEXIST) only works with files
$(COMMAND_ECHO)cd $(PACKAGE_DIR)$(fake_root_dir) && ( $(shell @$(TYPE) $(PRJ)/$(ROUT)/misc/$(TARFILE_MD5)-$(TARFILE_NAME).unpack)) && $(TOUCH) $(UNTAR_FLAG_FILE)
@echo make writeable...
- @cd $(PACKAGE_DIR) && chmod -R +rw $(TARFILE_ROOTDIR) && $(TOUCH) $(UNTAR_FLAG_FILE)
- @cd $(PACKAGE_DIR) && find $(TARFILE_ROOTDIR) -type d -exec chmod a+x {{}} \;
+ @-cd $(PACKAGE_DIR) && chmod -R +rw $(TARFILE_ROOTDIR) && $(TOUCH) $(UNTAR_FLAG_FILE)
+ @-cd $(PACKAGE_DIR) && find $(TARFILE_ROOTDIR) -type d -print0 | xargs -0 chmod a+x
#add new files to patch
$(PACKAGE_DIR)/$(ADD_FILES_FLAG_FILE) : $(PACKAGE_DIR)/$(UNTAR_FLAG_FILE) $(T_ADDITIONAL_FILES:+".dummy")
@@ -186,13 +189,7 @@ $(PACKAGE_DIR)/$(PATCH_FLAG_FILE) : $(PACKAGE_DIR)/$(ADD_FILES_FLAG_FILE)
$(COMMAND_ECHO)$(TOUCH) $@
.ELSE # "$(PATCH_FILES)"=="none" || "$(PATCH_FILES)"==""
.IF "$(GUI)"=="WNT"
-# hack to make 4nt version 4,01 work and still get propper
-# errorcodes for versions < 3,00
-#.IF "$(my4ver:s/.//:s/,//)" >= "300"
-# $(COMMAND_ECHO)cd $(PACKAGE_DIR) && ( $(TYPE:s/+//) $(BACK_PATH)$(PATH_IN_MODULE)/{$(PATCH_FILES)} | tr -d "\015" | patch $(PATCHFLAGS) -p2 ) && $(TOUCH) $(PATCH_FLAG_FILE)
-#.ELSE # "$(my4ver:s/.//:s/,//)" >= "300"
$(COMMAND_ECHO)cd $(PACKAGE_DIR) && $(TYPE:s/+//) $(BACK_PATH)$(PATH_IN_MODULE)/{$(PATCH_FILES)} | tr -d "\015" | patch $(PATCHFLAGS) -p2 && $(TOUCH) $(PATCH_FLAG_FILE)
-#.ENDIF # "$(my4ver:s/.//:s/,//)" >= "300"
.ELSE # "$(GUI)"=="WNT"
.IF "$(BSCLIENT)"=="TRUE"
$(COMMAND_ECHO)cd $(PACKAGE_DIR) && $(TYPE) $(BACK_PATH)$(PATH_IN_MODULE)/{$(PATCH_FILES)} | $(GNUPATCH) -f $(PATCHFLAGS) -p2 && $(TOUCH) $(PATCH_FLAG_FILE)
@@ -202,7 +199,7 @@ $(PACKAGE_DIR)/$(PATCH_FLAG_FILE) : $(PACKAGE_DIR)/$(ADD_FILES_FLAG_FILE)
.ENDIF # "$(GUI)"=="WNT"
.ENDIF # "$(PATCH_FILES)"=="none" || "$(PATCH_FILES)"==""
.IF "$(T_ADDITIONAL_FILES)"!=""
-.IF "$(GUI)"=="WNT"
+.IF "$(GUI_FOR_BUILD)"=="WNT"
# Native W32 tools generate only filedates with even seconds, cygwin also with odd seconds
$(DELAY) 2
.ENDIF # "$(GUI)"=="WNT"
@@ -230,11 +227,7 @@ $(PACKAGE_DIR)/$(CONFIGURE_FLAG_FILE) : $(PACKAGE_DIR)/$(PATCH_FLAG_FILE)
$(COMMAND_ECHO)$(TOUCH) $(PACKAGE_DIR)/$(CONFIGURE_FLAG_FILE)
.ELSE # "$(CONFIGURE_ACTION)"=="none" || "$(CONFIGURE_ACTION)"==""
$(COMMAND_ECHO)-$(MKDIR) $(P_CONFIGURE_DIR)
-.IF "$(OS)"=="OS2"
- $(COMMAND_ECHO)cd $(P_CONFIGURE_DIR) && sh -c "$(CONFIGURE_ACTION:s!\!/!) $(CONFIGURE_FLAGS:s!\!/!)" && $(TOUCH) $(CONFIGURE_FLAG_FILE)
-.ELSE
$(COMMAND_ECHO)cd $(P_CONFIGURE_DIR) && $(CONFIGURE_ACTION) $(CONFIGURE_FLAGS) && $(TOUCH) $(CONFIGURE_FLAG_FILE)
-.ENDIF
$(COMMAND_ECHO)mv $(P_CONFIGURE_DIR)/$(CONFIGURE_FLAG_FILE) $(PACKAGE_DIR)/$(CONFIGURE_FLAG_FILE)
.ENDIF # "$(CONFIGURE_ACTION)"=="none" || "$(CONFIGURE_ACTION)"==""
diff --git a/solenv/inc/tg_jar.mk b/solenv/inc/tg_jar.mk
index fa6ae24110b7..df39ba65229f 100644
--- a/solenv/inc/tg_jar.mk
+++ b/solenv/inc/tg_jar.mk
@@ -26,7 +26,7 @@
#*************************************************************************
-.IF "$(VERBOSE)"=="FALSE"
+.IF "$(VERBOSE)"!="TRUE"
ZIP_VERBOSITY=-q
.ENDIF
@@ -36,11 +36,8 @@ ZIP_VERBOSITY=-q
JARCOMPRESS_FLAG=0
.ENDIF
-.IF "$(NEW_JAR_PACK)"!=""
$(JARTARGETN) : $(JARMANIFEST) $(JAVACLASSFILES) $(JAVATARGET)
-.ENDIF # "$(NEW_JAR_PACK)"!=""
-.IF "$(NEW_JAR_PACK)"!=""
.IF "$(JARMANIFEST)"!=""
.IF "$(CUSTOMMANIFESTFILE)"!=""
@@ -65,7 +62,6 @@ $(JARMANIFEST) .PHONY : $(CUSTOMMANIFESTFILEDEP)
$(COMMAND_ECHO)$(TYPE) $(MISC)/$(TARGET)_$(CUSTOMMANIFESTFILE:f) >> $@
.ENDIF # "$(CUSTOMMANIFESTFILE)"!=""
.ENDIF # "$(JARMANIFEST)"!=""
-.ENDIF # "$(NEW_JAR_PACK)"!=""
.IF "$(JARCLASSEXCLUDES)" == ""
ZIPJAR_EXCLUDE=
@@ -78,14 +74,8 @@ ZIPJAR_EXCLUDE=$(foreach,i,$(JARCLASSEXCLUDES) -x "$i")
#
# build jar
#
-.IF "$(NOJARDEP)"!="" || "$(NEW_JAR_PACK)"!=""
$(JARTARGETN) .PHONY :
# $(JARMANIFEST)
-.ELSE # "$(NOJARDEP)"!="" || "$(NEW_JAR_PACK)"!=""
-.DIRCACHE = no
-$(JARTARGETN) :
-#$(JARTARGETN) .SETDIR=$(CLASSDIR) .SEQUENTIAL : $(JARTARGETDEP) $(shell @-cat -s $(MISC)/$(JARTARGETN).dep )
-.ENDIF # "$(NOJARDEP)"!="" || "$(NEW_JAR_PACK)"!=""
.IF "$(OS)$(CPU)"=="SOLARISS"
@-find . -type d -user $(USER) ! -perm -5 -print | xargs test "$$1" != "" && chmod +r $$1
.ENDIF
diff --git a/solenv/inc/tg_java.mk b/solenv/inc/tg_java.mk
index c85d2d9bdfd2..054dcc5fbaff 100644
--- a/solenv/inc/tg_java.mk
+++ b/solenv/inc/tg_java.mk
@@ -51,23 +51,23 @@ $(CLASSDIR)/%.class .NOINFER .IGNORE : %.java
$(JAVATARGET) : $(JAVAFILES) $(JAVACLASSFILES)
.IF "$(JAVARESPONSE)"!=""
- $(JAVAC) @<<
+ $(COMMAND_ECHO)$(JAVAC) @<<
$(JAVACPS) $(CLASSPATH) -d $(CLASSDIR) $(JAVAFLAGS) $(JAVAFILES)
<<keep
.ELSE # "$(JAVARESPONSE)"!=""
.IF "$(use_jdep)"!=""
- $(JAVAC) -depend $(JAVACPS) $(CLASSPATH) -d $(CLASSDIR) $(JAVAFLAGS) $(JAVAFILES)
+ $(COMMAND_ECHO)$(JAVAC) -depend $(JAVACPS) $(CLASSPATH) -d $(CLASSDIR) $(JAVAFLAGS) $(JAVAFILES)
.ELSE # "$(use_jdep)"!=""
.IF "$(javauno)"!=""
.IF "$(JAVAFILES:d)"==""
- $(JAVAC) $(JAVACPS) $(CLASSPATH) -d $(CLASSDIR) $(JAVAFLAGS) $(JAVAFILES)
+ $(COMMAND_ECHO)$(JAVAC) $(JAVACPS) $(CLASSPATH) -d $(CLASSDIR) $(JAVAFLAGS) $(JAVAFILES)
.ELSE # "$(JAVAFILES:d)"==""
@@$(TOUCH) $(INPATH)_$(VCSID)_a_dummy.java
- $(JAVAC) $(JAVACPS) $(CLASSPATH) -d $(CLASSDIR) $(JAVAFLAGS) ./*.java $(uniq $(JAVAFILES:d:+"*.java"))
+ $(COMMAND_ECHO)$(JAVAC) $(JAVACPS) $(CLASSPATH) -d $(CLASSDIR) $(JAVAFLAGS) ./*.java $(uniq $(JAVAFILES:d:+"*.java"))
@@-$(RM) $(INPATH)_$(VCSID)_a_dummy.java
.ENDIF # "$(JAVAFILES:d)"==""
.ELSE # "$(javauno)"!=""
- $(JAVAC) $(JAVACPS) "$(CLASSPATH)" -d $(CLASSDIR) $(JAVAFLAGS) @$(mktmp $(strip $(JAVAFILES)))
+ $(COMMAND_ECHO)$(JAVAC) $(JAVACPS) "$(CLASSPATH)" -d $(CLASSDIR) $(JAVAFLAGS) @$(mktmp $(strip $(JAVAFILES)))
.ENDIF # "$(javauno)"!=""
.ENDIF # "$(use_jdep)"!=""
.ENDIF # "$(JAVARESPONSE)"!=""
diff --git a/solenv/inc/tg_lib.mk b/solenv/inc/tg_lib.mk
index 08909156b729..a93d6ad5602c 100644
--- a/solenv/inc/tg_lib.mk
+++ b/solenv/inc/tg_lib.mk
@@ -37,12 +37,6 @@ $(LIB$(TNR)ARCHIV) : $(LIB$(TNR)TARGET)
@@-$(RM) $@
.IF "$(GUI)"=="UNX"
@-$(RM) $(MISC)/$(LIB$(TNR)ARCHIV:b).cmd
-.IF "$(OS)" =="HPUX_FRAG_HR"
- @-$(RM) $(MISC)/$(LIB$(TNR)ARCHIV:b)_closetempl.cmd
- @echo $(LINK) +inst_close -c `cat $(LIB$(TNR)TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(MISC)/$(LIB$(TNR)ARCHIV:b)_closetempl.cmd
- @cat $(MISC)/$(LIB$(TNR)ARCHIV:b)_closetempl.cmd
- @+source $(MISC)/$(LIB$(TNR)ARCHIV:b)_closetempl.cmd
-.ENDIF
@echo $(LIBMGR) $(LIB$(TNR)FLAGS) $(LIBFLAGS) $(LIB$(TNR)ARCHIV) `cat $(LIB$(TNR)TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(MISC)/$(LIB$(TNR)ARCHIV:b).cmd
.IF "$(OS)$(COM)"=="NETBSDGCC"
@echo ranlib $(LIB$(TNR)ARCHIV) >> $(MISC)/$(LIB$(TNR)ARCHIV:b).cmd
@@ -58,7 +52,7 @@ $(LIB$(TNR)ARCHIV) : $(LIB$(TNR)TARGET)
.IF "$(GUI)$(COM)"=="WNTGCC"
@+-$(RM) $(MISC)/$(LIB$(TNR)ARCHIV:b).cmd
@+echo $(LIBMGR) $(LIB$(TNR)FLAGS) $(LIBFLAGS) $(LIB$(TNR)ARCHIV) `cat $(LIB$(TNR)TARGET) | sed s#'^'$(ROUT)#$(PRJ)/$(ROUT)#g` > $(MISC)/$(LIB$(TNR)ARCHIV:b).cmd
- @+echo ranlib $(LIB$(TNR)ARCHIV) >> $(MISC)/$(LIB$(TNR)ARCHIV:b).cmd
+ @+echo $(RANLIB) $(LIB$(TNR)ARCHIV) >> $(MISC)/$(LIB$(TNR)ARCHIV:b).cmd
.IF "$(VERBOSE)" == "TRUE"
@cat $(MISC)/$(LIB$(TNR)ARCHIV:b).cmd
.ENDIF
@@ -91,17 +85,6 @@ $(LIB$(TNR)TARGET) : $(LIB$(TNR)FILES) \
@nm `cat $(LIB$(TNR)TARGET) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g` > $(@:d)$(@:b).dump
.ENDIF
-.ELIF "$(GUI)"=="OS2"
- $(COMMAND_ECHO)$(LIBMGR) $(LIBFLAGS) $@ $(LIB$(TNR)FILES) $(LIB$(TNR)OBJFILES)
- @+-$(RM) $(@:s/.lib/.lin/)
-.IF "$(LIB$(TNR)OBJFILES)"!=""
- @+$(TYPE) $(mktmp $(LIB$(TNR)OBJFILES)) > $(null,$(LIB$(TNR)OBJFILES) $(NULLDEV) $(@:s/.lib/.lin/))
-.ENDIF # "$(LIB$(TNR)OBJFILES)"!=""
-.IF "$(LIB$(TNR)FILES)"!=""
- @-$(TYPE) $(foreach,i,$(LIB$(TNR)FILES) $(i:s/.lib/.lin/)) >> $(@:s/.lib/.lin/)
-.ENDIF # "$(LIB$(TNR)FILES)"!=""
- @+$(ECHONL)
-
.ELSE # "$(GUI)"=="UNX"
.IF "$(GUI)"=="WNT"
.IF "$(COM)"=="GCC"
diff --git a/solenv/inc/tg_merge.mk b/solenv/inc/tg_merge.mk
index a40d48a81c66..19f44cb828af 100644
--- a/solenv/inc/tg_merge.mk
+++ b/solenv/inc/tg_merge.mk
@@ -31,36 +31,27 @@ MKFILENAME:=tg_merge.mk
.IF "$(WITH_LANG)"!=""
.IF "$(ULFFILES)"!=""
-$(foreach,i,$(ULFFILES) $(COMMONMISC)/$(TARGET)/$i) : $$(@:f) $(LOCALIZESDF)
-.ENDIF # "$(ULFFILES)"!=""
+$(foreach,i,$(ULFFILES) $(COMMONMISC)/$(TARGET)/$i) : $$(@:f) $(LOCALIZESDF)
+.ENDIF
# *.xrb merge
.IF "$(XMLPROPERTIES)"!=""
-$(foreach,i,$(XMLPROPERTIES) $(COMMONMISC)/$(TARGET)/$i) : $$(@:f) $(LOCALIZESDF)
-.ENDIF # "$(ULFFILES)"!=""
+$(foreach,i,$(XMLPROPERTIES) $(COMMONMISC)/$(TARGET)/$i) : $$(@:f) $(LOCALIZESDF)
+.ENDIF
# *.xrm merge
.IF "$(READMEFILES)"!=""
-$(foreach,i,$(READMEFILES) $(COMMONMISC)/$(TARGET)/$(i:b).xrm) : $$(@:f) $(LOCALIZESDF)
-.ENDIF # "$(ULFFILES)"!=""
+$(foreach,i,$(READMEFILES) $(COMMONMISC)/$(TARGET)/$(i:b).xrm) : $$(@:f) $(LOCALIZESDF)
+.ENDIF
-# *.xrm merge
-#.IF "$(APOCHELPFILES)"!=""
-#$(foreach,i,$(APOCHELPFILES) $(COMMONMISC)/$(MYPATH)/$(i:b).xrm) : $$(@:f) $(LOCALIZESDF)
-#.ENDIF # "$(ULFFILES)"!=""
# *.xcu merge
.IF "$(LOCALIZEDFILES)"!=""
$(foreach,i,$(LOCALIZEDFILES) $(PROCESSOUT)/merge/{$(subst,.,/ $(PACKAGE))}/$(i:b).xcu) : $$(@:f) $(LOCALIZESDF)
-.ENDIF # "$(ULFFILES)"!=""
-.ENDIF # "$(WITH_LANG)"!=""
+.ENDIF
+.ENDIF # "$(WITH_LANG)"!=""
# dependencies from *.ulf to par-files
.IF "$(ULFPARFILES)"!=""
$(ULFPARFILES) : $(COMMONMISC)/$(TARGET)/$$(@:b).$(LANGFILEEXT)
.ENDIF # "$(ULFPARFILES)"!=""
-# *.xrm merge
-#.IF "$(READMEFILES)"!=""
-#$(uniq $(foreach,i,$(READMEFILES) $(COMMONMISC)/$(TARGET)/$(i:b).xrm)) : $$(@:f) $(LOCALIZESDF)
-#.ENDIF # "$(ULFFILES)"!=""
-
diff --git a/solenv/inc/tg_obj.mk b/solenv/inc/tg_obj.mk
index 3a597c2409b3..73fae59d6762 100644
--- a/solenv/inc/tg_obj.mk
+++ b/solenv/inc/tg_obj.mk
@@ -30,12 +30,6 @@ MKFILENAME:=TG_OBJ.MK
.IF "$(OBJTARGET)"!=""
$(OBJTARGET): $(OBJFILES) $(IDLOBJFILES)
@echo "Making: " $(@:f)
-.IF "$(GUI)"=="OS2"
-.IF "$(LIBTARGET)"!="NO"
- @-$(TYPE) $(mktmp $(&:+"\n")) > $(@:s/.lib/.lin/)
-.ENDIF # "$(LIBTARGET)"!="NO"
- $(COMMAND_ECHO)$(LIBMGR) $(LIBFLAGS) $@ $(&)
-.ENDIF # "$(GUI)"=="OS2"
.IF "$(GUI)"=="WNT"
.IF "$(COM)"=="GCC"
@@ -62,12 +56,6 @@ $(OBJTARGET): $(OBJFILES) $(IDLOBJFILES)
.IF "$($(SECOND_BUILD)OBJTARGET)"!=""
$($(SECOND_BUILD)OBJTARGET): $(REAL_$(SECOND_BUILD)_OBJFILES)
@echo "Making: " $(@:f)
-.IF "$(GUI)"=="OS2"
-.IF "$(LIBTARGET)"!="NO"
- @-$(TYPE) $(mktmp $(&:+"\n")) > $(@:s/.lib/.lin/)
-.ENDIF # "$(LIBTARGET)"!="NO"
- $(COMMAND_ECHO)$(LIBMGR) $(LIBFLAGS) $@ $(&)
-.ENDIF # "$(GUI)"=="OS2"
.IF "$(GUI)"=="WNT"
.IF "$(COM)"=="GCC"
@@ -85,10 +73,3 @@ $($(SECOND_BUILD)OBJTARGET): $(REAL_$(SECOND_BUILD)_OBJFILES)
.ENDIF # "$(GUI)"=="UNX"
.ENDIF # "$($(SECOND_BUILD)OBJTARGET)"!=""
.ENDIF # "$(SECOND_BUILD)"!=""
-
-.IF "$(GUI)"=="OS2"
-.IF "$(LIBTARGET)"!="NO"
- @-$(TYPE) $(mktmp $(&:+"\n")) > $(@:s/.lib/.lin/)
-.ENDIF # "$(LIBTARGET)"!="NO"
- $(COMMAND_ECHO)$(LIBMGR) $(LIBFLAGS) $@ $(&)
-.ENDIF # "$(GUI)"=="OS2"
diff --git a/solenv/inc/tg_res.mk b/solenv/inc/tg_res.mk
index cad40533e7b8..2a99f61216a1 100644
--- a/solenv/inc/tg_res.mk
+++ b/solenv/inc/tg_res.mk
@@ -30,14 +30,13 @@
$(RCTARGET): $(RCFILES) \
$(RCDEPN)
@echo "Making: " $(@:f)
-.IF "$(CCNUMVER)" > "001300000000"
+.IF "$(COM)"=="MSC"
.IF "$(MFC_INCLUDE)"!=""
- $(COMMAND_ECHO)$(RC) $(INCLUDE) -I$(SOLARRESDIR) $(foreach,i,$(ATL_INCLUDE) -I$(i)) -I$(MFC_INCLUDE) $(RCLANGFLAGS_$(@:d:d:b)) $(RCFLAGS)
+ $(COMMAND_ECHO)$(RC) $(INCLUDE) -I$(SOLARRESDIR) $(foreach,i,$(ATL_INCLUDE) -I$(i)) -I$(MFC_INCLUDE) $(RCLANGFLAGS_$(@:d:d:b)) $(RCFLAGSOUTRES)$@ $(RCFLAGS)
.ELSE
- $(COMMAND_ECHO)$(RC) $(INCLUDE) -I$(SOLARRESDIR) $(foreach,i,$(ATL_INCLUDE) -I$(i)) $(RCLANGFLAGS_$(@:d:d:b)) $(RCFLAGS)
+ $(COMMAND_ECHO)$(RC) $(INCLUDE) -I$(SOLARRESDIR) $(foreach,i,$(ATL_INCLUDE) -I$(i)) $(RCLANGFLAGS_$(@:d:d:b)) $(RCFLAGSOUTRES)$@ $(RCFLAGS)
.ENDIF
.ELSE
- $(COMMAND_ECHO)$(RC) $(INCLUDE) -I$(SOLARRESDIR) $(RCLANGFLAGS_$(@:d:d:b)) $(RCFLAGS)
+ $(COMMAND_ECHO)$(RC) $(INCLUDE) -I$(SOLARRESDIR) $(RCLANGFLAGS_$(@:d:d:b)) $(RCFLAGS) $@
.ENDIF
.ENDIF
-
diff --git a/solenv/inc/tg_rslb.mk b/solenv/inc/tg_rslb.mk
index 1f0aff311903..0b1659a28796 100644
--- a/solenv/inc/tg_rslb.mk
+++ b/solenv/inc/tg_rslb.mk
@@ -41,12 +41,11 @@ $(RSC_MULTI$(TNR)) : \
$(foreach,i,$(alllangiso) -lg$i \
$(null,$(rescharset_{$i}) $(default$(LANG_GUI)) $(rescharset_{$i})) \
-fs={$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(BIN))/$(RESLIB$(TNR)NAME)$i.res} \
- $(foreach,j,$(subst,$(PRJ),$(SOLARSRC)/$(RSCDEFIMG)/$(PRJNAME) $(RESLIB$(TNR)IMAGES)) -lip={$j}/$i \
+ $(foreach,j,$(subst,$(PRJ),$(SOLARDEFIMG)/$(PRJNAME) $(RESLIB$(TNR)IMAGES)) -lip={$j}/$i \
-lip={$j} ) \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/res/$i -lip=$(SOLARSRC)/$(RSCDEFIMG)/res \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/$i -lip=$(SOLARSRC)/$(RSCDEFIMG) ) \
- -subMODULE=$(SOLARSRC)/$(RSCDEFIMG) \
- -subGLOBALRES=$(SOLARSRC)/$(RSCDEFIMG)/res \
+ -lip=$(SOLARDEFIMG)/res/$i -lip=$(SOLARDEFIMG)/res ) \
+ -subMODULE=$(SOLARDEFIMG) \
+ -subGLOBALRES=$(SOLARDEFIMG)/res \
-oil={$(subst,$(OUTPATH),$(COMMON_OUTDIR) $(BIN))} \
-ft=$@ \
$(RSC$(TNR)HEADER) $(RESLIB$(TNR)SRSFILES) \
@@ -57,12 +56,11 @@ $(RSC_MULTI$(TNR)) : \
$(foreach,i,$(alllangiso) -lg$i \
$(null,$(rescharset_{$i}) $(default$(LANG_GUI)) $(rescharset_{$i})) \
-fs={$(BIN)/$(RESLIB$(TNR)NAME)$i.res} \
- $(foreach,j,$(subst,$(PRJ),$(SOLARSRC)/$(RSCDEFIMG)/$(PRJNAME) $(RESLIB$(TNR)IMAGES)) -lip={$j}/$i \
+ $(foreach,j,$(subst,$(PRJ),$(SOLARDEFIMG)/$(PRJNAME) $(RESLIB$(TNR)IMAGES)) -lip={$j}/$i \
-lip={$j} ) \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/res/$i -lip=$(SOLARSRC)/$(RSCDEFIMG)/res \
- -lip=$(SOLARSRC)/$(RSCDEFIMG)/$i -lip=$(SOLARSRC)/$(RSCDEFIMG) ) \
- -subMODULE=$(SOLARSRC)/$(RSCDEFIMG) \
- -subGLOBALRES=$(SOLARSRC)/$(RSCDEFIMG)/res \
+ -lip=$(SOLARDEFIMG)/res/$i -lip=$(SOLARDEFIMG)/res ) \
+ -subMODULE=$(SOLARDEFIMG) \
+ -subGLOBALRES=$(SOLARDEFIMG)/res \
-oil=$(BIN) \
-ft=$@ \
$(RSC$(TNR)HEADER) $(RESLIB$(TNR)SRSFILES) \
diff --git a/solenv/inc/tg_shl.mk b/solenv/inc/tg_shl.mk
index 1bcebb8c72e3..e8c2b7596a16 100644
--- a/solenv/inc/tg_shl.mk
+++ b/solenv/inc/tg_shl.mk
@@ -31,10 +31,6 @@
.IF "$(SHL$(TNR)TARGETN)"!=""
-.IF "$(OS)"=="AIX"
-SHL$(TNR)STDLIBS=
-.ENDIF
-
.IF "$(SHLLINKARCONLY)" != ""
SHL$(TNR)STDLIBS=
STDSHL=
@@ -91,20 +87,23 @@ $(MISC)/$(SHL$(TNR)VERSIONOBJ:b).c : $(SOLARENV)/src/version.c $(INCCOM)/$(SHL$(
.ENDIF
.IF "$(GUI)" != "UNX"
-.IF "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)" == "WNT"
.IF "$(SHL$(TNR)IMPLIB)" == ""
SHL$(TNR)IMPLIB=i$(TARGET)_t$(TNR)
.ENDIF # "$(SHL$(TNR)IMPLIB)" == ""
.IF "$(COM)" != "GCC"
USE_$(TNR)IMPLIB=-implib:$(LB)/$(SHL$(TNR)IMPLIB).lib
-.ENDIF # "$(COM)" != "GCC"
SHL$(TNR)IMPLIBN=$(LB)/$(SHL$(TNR)IMPLIB).lib
+.ELSE
+SHL$(TNR)IMPLIBN=$(LB)/lib$(SHL$(TNR)IMPLIB).dll.a
+USE_$(TNR)IMPLIB=-Wl,--out-implib=$(SHL$(TNR)IMPLIBN)
+.ENDIF # "$(COM)" != "GCC"
ALLTAR : $(SHL$(TNR)IMPLIBN)
.IF "$(USE_DEFFILE)"==""
USE_$(TNR)IMPLIB_DEPS=$(LB)/$(SHL$(TNR)IMPLIB).lib
.ENDIF # "$(USE_DEFFILE)"==""
-.ENDIF # "$(GUI)" == "WNT" || "$(GUI)" == "OS2"
+.ENDIF # "$(GUI)" == "WNT"
USE_SHL$(TNR)DEF=$(SHL$(TNR)DEF)
.ELSE # "$(GUI)" != "UNX"
USE_SHL$(TNR)DEF=
@@ -129,7 +128,9 @@ $(USE_SHL$(TNR)VERSIONMAP) .PHONY:
.ENDIF # "$(SHL$(TNR)VERSIONMAP)"!=""
+.IF "$(OS)" != "AIX"
SHL$(TNR)VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL$(TNR)VERSIONMAP)
+.ENDIF
$(USE_SHL$(TNR)VERSIONMAP): \
$(SHL$(TNR)OBJS)\
@@ -166,7 +167,9 @@ $(USE_SHL$(TNR)VERSIONMAP) :
#and now for the plain non-generic way...
.IF "$(SHL$(TNR)VERSIONMAP)"!=""
USE_SHL$(TNR)VERSIONMAP=$(MISC)/$(SHL$(TNR)VERSIONMAP:b)_$(SHL$(TNR)TARGET)$(SHL$(TNR)VERSIONMAP:e)
+.IF "$(OS)" != "AIX"
SHL$(TNR)VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL$(TNR)VERSIONMAP)
+.ENDIF
.IF "$(OS)"=="MACOSX"
$(USE_SHL$(TNR)VERSIONMAP): $(SHL$(TNR)OBJS) $(SHL$(TNR)LIBS)
@@ -214,7 +217,7 @@ $(USE_SHL$(TNR)VERSIONMAP) .ERRREMOVE: $(SHL$(TNR)VERSIONMAP)
.ENDIF # "$(GUI)" != "UNX"
.IF "$(UNIXVERSIONNAMES)"!=""
-.IF "$(OS)"!="MACOSX"
+.IF "$(OS)"!="MACOSX" && "$(OS)"!="IOS" && "$(OS)"!="AIX"
.IF "$(GUI)"=="UNX"
SHL$(TNR)SONAME=\"$(SONAME_SWITCH)$(SHL$(TNR)TARGETN:f)\"
.ENDIF # "$(GUI)"!="UNX"
@@ -237,7 +240,7 @@ SHL$(TNR)LINKRESO*=$(MISC)/$(SHL$(TNR)TARGET)_res.o
#.IF "$(SHL$(TNR)TARGETN)"!=""
.IF "$(linkinc)"!=""
-.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(SHL$(TNR)LIBS)"!=""
$(MISC)/$(SHL$(TNR)TARGET)_linkinc.ls .PHONY:
@@-$(RM) $@
@@ -250,7 +253,7 @@ $(SHL$(TNR)TARGETN) : $(LINKINCTARGETS)
.ELSE
.IF "$(SHL$(TNR)USE_EXPORTS)"=="name"
-.IF "$(GUI)"=="WNT" || "$(GUI)" == "OS2"
+.IF "$(GUI)"=="WNT"
.IF "$(COM)"!="GCC"
.IF "$(SHL$(TNR)LIBS)"!=""
SHL$(TNR)LINKLIST=$(MISC)/$(SHL$(TNR)TARGET)_link.lst
@@ -267,20 +270,6 @@ $(MISC)/%linkinc.ls:
@echo . > $@
.ENDIF # "$(linkinc)"!=""
-.IF "$(GUI)" == "OS2"
-#21/02/2006 YD dll names must be 8.3, invoke fix script
-#check osl/os2/module.c/osl_loadModule()
-SHL$(TNR)TARGET8=$(shell @fix_shl $(SHL$(TNR)TARGET))
-.ENDIF
-
-.IF "$(GUI)" == "OS2"
-_SHL$(TNR)IMP_ORD = $(SHL$(TNR)STDLIBS:^"$(SOLARVERSION)/$(INPATH)/lib/") $(SHL$(TNR)STDLIBS:^"$(LB)/")
-SHL$(TNR)IMP_ORD = $(foreach,i,$(_SHL$(TNR)IMP_ORD) $(shell @-ls $i))
-.ELSE
-SHL$(TNR)IMP_ORD =
-.ENDIF
-
-
$(SHL$(TNR)TARGETN) : \
$(SHL$(TNR)OBJS)\
$(SHL$(TNR)LIBS)\
@@ -289,7 +278,6 @@ $(SHL$(TNR)TARGETN) : \
$(USE_SHL$(TNR)VERSIONMAP)\
$(SHL$(TNR)RES)\
$(SHL$(TNR)DEPN) \
- $(SHL$(TNR)IMP_ORD) \
$(SHL$(TNR)LINKLIST)
@echo "Making: " $(@:f)
.IF "$(GUI)" == "WNT"
@@ -311,39 +299,69 @@ $(SHL$(TNR)TARGETN) : \
@echo $(EMQ)#define INTERNAL_NAME $(SHL$(TNR)TARGET:b) >> $(MISC)/$(SHL$(TNR)DEFAULTRES:b).rc
@echo $(EMQ)#include $(EMQ)"shlinfo.rc$(EMQ)" >> $(MISC)/$(SHL$(TNR)DEFAULTRES:b).rc
.ENDIF # "$(use_shl_versions)" != ""
- $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL$(TNR)DEFAULTRES:b).rc
+.IF "$(RCFLAGSOUTRES)"!=""
+# rc, takes separate flag naming output file, source .rc file last
+ $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(RCFLAGSOUTRES)$(SHL$(TNR)DEFAULTRES) $(MISC)/$(SHL$(TNR)DEFAULTRES:b).rc
+.ELSE
+# windres, just takes output file last
+ $(COMMAND_ECHO)$(RC) -DWIN32 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL$(TNR)DEFAULTRES:b).rc $(SHL$(TNR)DEFAULTRES)
+.ENDIF
.ENDIF # "$(SHL$(TNR)DEFAULTRES)"!=""
.IF "$(SHL$(TNR)ALLRES)"!=""
$(COMMAND_ECHO)$(TYPE) $(SHL$(TNR)ALLRES) > $(SHL$(TNR)LINKRES)
.IF "$(COM)"=="GCC"
- windres $(SHL$(TNR)LINKRES) $(SHL$(TNR)LINKRESO)
+ $(WINDRES) $(SHL$(TNR)LINKRES) $(SHL$(TNR)LINKRESO)
.ENDIF # "$(COM)"=="GCC"
.ENDIF # "$(SHL$(TNR)ALLRES)"!=""
.IF "$(COM)"=="GCC" # always have to call dlltool explicitly as ld cannot handle # comment in .def
- @echo dlltool --dllname $(SHL$(TNR)TARGET)$(DLLPOST) \
- --kill-at \\ > $(MISC)/$(TARGET).$(@:b)_$(TNR).cmd
+# GNU ld since 2.17 supports @cmdfile syntax
+.IF "$(USE_DEFFILE)"!=""
+ @$(COMMAND_ECHO)$(LINK) @$(mktmp $(strip \
+ $(SHL$(TNR)LINKFLAGS) \
+ $(LINKFLAGSSHL) \
+ $(SOLARLIB) \
+ $(MINGWSSTDOBJ) \
+ -o $@ \
+ -Wl,-Map,$(MISC)/$(@:b).map \
+ $(SHL$(TNR)DEF) \
+ $(USE_$(TNR)IMPLIB) \
+ $(STDOBJ) \
+ $(SHL$(TNR)VERSIONOBJ) $(SHL$(TNR)OBJS) \
+ $(subst,$(ROUT),$(PRJ)/$(ROUT) $(shell cat /dev/null $(SHL$(TNR)LIBS))) \
+ -Wl,--exclude-libs,ALL,--start-group $(SHL$(TNR)STDLIBS) -Wl,--end-group \
+ $(SHL$(TNR)STDSHL) $(STDSHL$(TNR)) \
+ $(SHL$(TNR)LINKRESO) \
+ ))
+.ELSE
@noop $(assign ALL$(TNR)OBJLIST:=$(STDOBJ) $(SHL$(TNR)OBJS) $(SHL$(TNR)LINKRESO) $(shell $(TYPE) /dev/null $(SHL$(TNR)LIBS) | $(SED) s?$(ROUT)?$(PRJ)/$(ROUT)?g))
.IF "$(DEFLIB$(TNR)NAME)"!="" # do not have to include objs
@noop $(assign DEF$(TNR)OBJLIST:=$(shell $(TYPE) $(foreach,i,$(DEFLIB$(TNR)NAME) $(SLB)/$(i).lib) | sed s?$(ROUT)?$(PRJ)/$(ROUT)?g))
@noop $(foreach,i,$(DEF$(TNR)OBJLIST) $(assign ALL$(TNR)OBJLIST:=$(ALL$(TNR)OBJLIST:s?$i??)))
.ENDIF # "$(DEFLIB$(TNR)NAME)"!=""
- @echo --output-exp $(MISC)/$(@:b)_exp.o \\ >> $(MISC)/$(TARGET).$(@:b)_$(TNR).cmd
-.IF "$(SHL$(TNR)DEF)"!=""
- @echo --input-def $(SHL$(TNR)DEF) \\ >> $(MISC)/$(TARGET).$(@:b)_$(TNR).cmd
-.ELSE
- @echo $(SHL$(TNR)VERSIONOBJ) $(SHL$(TNR)DESCRIPTIONOBJ) \\ >> $(MISC)/$(TARGET).$(@:b)_$(TNR).cmd
-.ENDIF
- @echo $(ALL$(TNR)OBJLIST) >> $(MISC)/$(TARGET).$(@:b)_$(TNR).cmd
- @echo $(LINK) $(LINKFLAGS) $(LINKFLAGSSHL) $(MINGWSSTDOBJ) -o $@ \
- $(STDOBJ) $(SHL$(TNR)VERSIONOBJ) $(SHL$(TNR)DESCRIPTIONOBJ) $(SHL$(TNR)OBJS) $(SHL$(TNR)LINKRESO) \
- `$(TYPE) /dev/null $(SHL$(TNR)LIBS) | $(SED) s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` \
+ $(COMMAND_ECHO)$(DLLTOOL) @@(mktmp \
+ --dllname $(SHL$(TNR)TARGET)$(DLLPOST) \
+ --kill-at \
+ --output-exp $(MISC)/$(@:b)_exp.o \
+ $(SHL$(TNR)VERSIONOBJ) \
+ @(ALL$(TNR)OBJLIST)
+ )
+ $(COMMAND_ECHO)$(LINK) @$(mktmp $(strip \
+ $(SHL$(TNR)LINKFLAGS) \
+ $(LINKFLAGSSHL) \
+ $(SOLARLIB) \
+ $(MINGWSSTDOBJ) \
+ -o $@ \
+ -Wl,-Map,$(MISC)/$(@:b).map \
+ $(MISC)/$(@:b)_exp.o \
+ $(USE_$(TNR)IMPLIB) \
+ $(STDOBJ) \
+ $(SHL$(TNR)VERSIONOBJ) $(SHL$(TNR)OBJS) \
+ $(subst,$(ROUT),$(PRJ)/$(ROUT) $(shell cat /dev/null $(SHL$(TNR)LIBS))) \
-Wl,--exclude-libs,ALL,--start-group $(SHL$(TNR)STDLIBS) -Wl,--end-group \
- $(SHL$(TNR)STDSHL) $(STDSHL$(TNR)) $(MISC)/$(@:b)_exp.o $(MINGWSSTDENDOBJ) \
- -Wl,-Map,$(MISC)/$(@:b).map >> $(MISC)/$(TARGET).$(@:b)_$(TNR).cmd
- .IF "$(VERBOSE)" == "TRUE"
- @$(TYPE) $(MISC)/$(TARGET).$(@:b)_$(TNR).cmd
- .ENDIF
- @+source $(MISC)/$(TARGET).$(@:b)_$(TNR).cmd
+ $(SHL$(TNR)STDSHL) $(STDSHL$(TNR)) \
+ $(SHL$(TNR)LINKRESO) \
+ ))
+.ENDIF
.ELSE
.IF "$(linkinc)"==""
.IF "$(SHL$(TNR)USE_EXPORTS)"!="name"
@@ -458,7 +476,7 @@ $(SHL$(TNR)TARGETN) : \
@echo $(STDSLO) $(SHL$(TNR)OBJS:s/.obj/.o/) \
$(SHL$(TNR)VERSIONOBJ) \
`cat /dev/null $(SHL$(TNR)LIBS) | sed s\#$(ROUT)\#$(PRJ)/$(ROUT)\#g` | tr -s " " "\n" > $(MISC)/$(@:b).list
- @echo -n $(SHL$(TNR)LINKER) $(SHL$(TNR)LINKFLAGS) $(SHL$(TNR)VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \
+ @/bin/echo -n $(SHL$(TNR)LINKER) $(SHL$(TNR)LINKFLAGS) $(SHL$(TNR)VERSIONMAPPARA) $(LINKFLAGSSHL) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) -o $@ \
$(SHL$(TNR)STDLIBS) $(SHL$(TNR)ARCHIVES) $(SHL$(TNR)STDSHL) $(STDSHL$(TNR)) -filelist $(MISC)/$(@:b).list $(LINKOUTPUT_FILTER) > $(MISC)/$(TARGET).$(@:b)_$(TNR).cmd
@$(PERL) $(SOLARENV)/bin/macosx-dylib-link-list.pl \
`cat $(MISC)/$(TARGET).$(@:b)_$(TNR).cmd` \
@@ -478,6 +496,9 @@ $(SHL$(TNR)TARGETN) : \
$(SOLARENV)/bin/checkdll.sh -L$(LB) -L$(SOLARLIBDIR) $(EXTRALIBPATHS$(TNR)) $(SHL$(TNR)TARGETN)
.ENDIF # "$(SHL$(TNR)NOCHECK)"!=""
.ENDIF
+.ELIF "$(OS)"=="IOS"
+ $(COMMAND_ECHO)$(AR) $(LIB$(TNR)FLAGS) $(LIBFLAGS) $@ $(subst,.obj,.o $(SHL$(TNR)OBJS)) $(shell cat /dev/null $(LIB$(TNR)TARGET) $(SHL$(TNR)LIBS) | sed s\#'^'$(ROUT)\#$(PRJ)/$(ROUT)\#g)
+ $(COMMAND_ECHO)$(RANLIB) $@
.ELSE # "$(OS)"=="MACOSX"
@-$(RM) $(MISC)/$(TARGET).$(@:b)_$(TNR).cmd
@echo $(SHL$(TNR)LINKER) $(SHL$(TNR)LINKFLAGS) $(SHL$(TNR)SONAME) $(LINKFLAGSSHL) $(SHL$(TNR)VERSIONMAPPARA) -L$(PRJ)/$(ROUT)/lib $(SOLARLIB) $(STDSLO) $(SHL$(TNR)OBJS:s/.obj/.o/) \
@@ -500,7 +521,7 @@ $(SHL$(TNR)TARGETN) : \
.ENDIF # "$(SHL$(TNR)NOCHECK)"!=""
.ENDIF # "$(UPDATER)"=="YES"
.ENDIF # "$(OS)"=="MACOSX"
-.IF "$(UNIXVERSIONNAMES)"!=""
+.IF "$(UNIXVERSIONNAMES)"!="" && "$(OS)"!="IOS"
$(COMMAND_ECHO)$(RM) $(LB)/$(SHL$(TNR)TARGETN:b)
$(COMMAND_ECHO)cd $(LB) && ln -s $(SHL$(TNR)TARGETN:f) $(SHL$(TNR)TARGETN:b)
.ENDIF # "$(UNIXVERSIONNAMES)"!=""
@@ -509,65 +530,6 @@ $(SHL$(TNR)TARGETN) : \
.ENDIF
.ENDIF # "$(GUI)" == "UNX"
-.IF "$(GUI)" == "OS2"
-
-.IF "$(SHL$(TNR)DEFAULTRES)"!=""
- @+-$(RM) $(MISC)/$(SHL$(TNR)DEFAULTRES:b).rc >& $(NULLDEV)
-.IF "$(SHL$(TNR)ICON)" != ""
- @-+echo 1 ICON $(SHL$(TNR)ICON) >> $(MISC)/$(SHL$(TNR)DEFAULTRES:b).rc
-.ENDIF
-.IF "$(use_shl_versions)" != ""
-.IF "$(SHL$(TNR)ADD_VERINFO)"!=""
- @-+echo $(EMQ)#include $(EMQ)"$(SHL$(TNR)ADD_VERINFO)$(EMQ)" >> $(MISC)/$(SHL$(TNR)DEFAULTRES:b).rc
-.ENDIF # "$(SHL$(TNR)ADD_VERINFO)"!=""
- @-+echo MENU 1 BEGIN END >> $(MISC)/$(SHL$(TNR)DEFAULTRES:b).rc
-# @-+echo $(EMQ)RCDATA 1 { "Build string here" }$(EMQ) >> $(MISC)/$(SHL$(TNR)DEFAULTRES:b).rc
-.ENDIF # "$(use_shl_versions)" != ""
-# YD 04/07/06 seems null, confuses rc cli: -i $(SOLARTESDIR)
- $(COMMAND_ECHO)$(RC) -r -DOS2 $(INCLUDE) $(RCLINKFLAGS) $(MISC)/$(SHL$(TNR)DEFAULTRES:b).rc
-.ENDIF # "$(SHL$(TNR)DEFAULTRES)"!=""
-
-.IF "$(SHL$(TNR)ALLRES)"!=""
- $(COMMAND_ECHO)+$(TYPE) $(SHL$(TNR)ALLRES) > $(SHL$(TNR)LINKRES)
-.ENDIF # "$(SHL$(TNR)ALLRES)"!=""
-
-.IF "$(USE_DEFFILE)"!=""
-
- $(COMMAND_ECHO)$(SHL$(TNR)LINKER) $(SHL$(TNR)LINKFLAGS) $(LINKFLAGSSHL) -o $@ \
- $(SHL$(TNR)DEF) \
- $(STDOBJ) \
- -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(SHL$(TNR)OBJS) $(SHL$(TNR)VERSIONOBJ) \
- $(SHL$(TNR)LIBS) \
- $(SHL$(TNR)STDLIBS:^"-l") \
- $(SHL$(TNR)LINKRES) \
- $(SHL$(TNR)STDSHL:^"-l") $(STDSHL$(TNR):^"-l")
-
-.ELSE # "$(USE_DEFFILE)"!=""
-
- $(COMMAND_ECHO)$(SHL$(TNR)LINKER) -v $(SHL$(TNR)LINKFLAGS) \
- $(LINKFLAGSSHL) $(SHL$(TNR)BASEX) \
- $(SHL$(TNR)STACK) -o $(SHL$(TNR)TARGETN) \
- $(SHL$(TNR)DEF) \
- $(STDOBJ) \
- -L$(LB) \
- -L$(SOLARVERSION)/$(INPATH)/lib \
- $(SHL$(TNR)OBJS) $(SHL$(TNR)VERSIONOBJ) \
- $(SHL$(TNR)LIBS) \
- $(SHL$(TNR)STDLIBS:^"-l") \
- $(SHL$(TNR)LINKRES) \
- $(SHL$(TNR)STDSHL:^"-l") $(STDSHL$(TNR):^"-l") \
- @$(LS) $@ >& $(NULLDEV)
-
-.ENDIF # "$(USE_DEFFILE)"!=""
-
-.IF "$(SHL$(TNR)TARGET8)" != "$(SHL$(TNR)TARGET)"
- $(COMMAND_ECHO)+$(COPY) $@ $(@:d)$(SHL$(TNR)TARGET8).dll
-.ENDIF
-
-.ENDIF # "$(GUI)" == "OS2"
-
.ENDIF # "$(SHL$(TNR)TARGETN)"!=""
# unroll end
@@ -590,6 +552,7 @@ USELIB$(TNR)DEPN+=$(SHL$(TNR)LIBS)
USE_SHL$(TNR)TARGET=$(SHL$(TNR)TARGETN)
.ENDIF
+.IF "$(GUI)$(COM)" != "WNTGCC"
.IF "$(GUI)" != "UNX"
$(SHL$(TNR)IMPLIBN): \
$(SHL$(TNR)DEF) \
@@ -602,11 +565,6 @@ $(SHL$(TNR)IMPLIBN): \
.ENDIF
@echo "Making: " $(@:f)
.IF "$(GUI)" == "WNT"
-.IF "$(COM)"=="GCC"
- @echo no ImportLibs on mingw
- @-$(RM) $@
- @$(TOUCH) $@
-.ELSE # "$(COM)=="GCC"
# bei use_deffile implib von linker erstellt
.IF "$(USE_DEFFILE)"==""
$(IMPLIB) $(IMPLIBFLAGS) @$(mktmp -out:$(SHL$(TNR)IMPLIBN) \
@@ -615,14 +573,6 @@ $(SHL$(TNR)IMPLIBN): \
@echo build of $(SHL$(TNR)TARGETN) creates $@
@$(TOUCH) $@
.ENDIF # "$(USE_DEFFILE)==""
-.ENDIF # "$(COM)"=="GCC"
-
-.ELIF "$(GUI)" == "OS2"
-
-# touch creates an empty file, but this is not good for emxomfar, so
-# create a dummy lib here
- $(COMMAND_ECHO)-$(LIBMGR) $(LIBFLAGS) $@ $(SHL$(TNR)VERSIONOBJ)
- +@echo build of $(SHL$(TNR)TARGETN) creates $@
.ELSE
@echo no ImportLibs on Mac and *ix
@@ -630,6 +580,7 @@ $(SHL$(TNR)IMPLIBN): \
@$(TOUCH) $@
.ENDIF
.ENDIF
+.ENDIF
# unroll end
#######################################################
diff --git a/solenv/inc/tg_slo.mk b/solenv/inc/tg_slo.mk
index 0a0ae789a8c7..4195ffda1c1d 100644
--- a/solenv/inc/tg_slo.mk
+++ b/solenv/inc/tg_slo.mk
@@ -47,13 +47,6 @@ $(SLOTARGET): $(SLOFILES) $(IDLSLOFILES)
.ENDIF # "$(COM)"=="GCC"
.ENDIF # "$(GUI)"=="WNT"
-.IF "$(GUI)"=="OS2"
-.IF "$(LIBTARGET)"!="NO"
- @-$(TYPE) $(mktmp $(&:+"\n")) > $(@:s/.lib/.lin/)
-.ENDIF # "$(LIBTARGET)"!="NO"
- $(COMMAND_ECHO)$(LIBMGR) $(LIBFLAGS) $@ $(&)
-.ENDIF # "$(GUI)"=="OS2"
-
.IF "$(GUI)"=="UNX"
@echo $(foreach,i,$(SLOFILES:f) $(RSLO)/$(i:s/.obj/.o/)) | xargs -n1 > $@
.IF "$(OS)"=="MACOSX"
@@ -81,13 +74,6 @@ $($(SECOND_BUILD)SLOTARGET): $(REAL_$(SECOND_BUILD)_SLOFILES)
.ENDIF # "$(LIBTARGET)"!="NO"
$(COMMAND_ECHO)$(LIBMGR) $(LIBFLAGS) /OUT:$@ @$(mktmp $(&:+"\n"))
-.IF "$(GUI)"=="OS2"
-.IF "$(LIBTARGET)"!="NO"
- @-$(TYPE) $(mktmp $(&:+"\n")) > $(@:s/.lib/.lin/)
-.ENDIF # "$(LIBTARGET)"!="NO"
- $(COMMAND_ECHO)$(LIBMGR) $(LIBFLAGS) $@ $(&)
-.ENDIF # "$(GUI)"=="OS2"
-
.ENDIF # "$(COM)"=="GCC"
.ENDIF # "$(GUI)"=="WNT"
diff --git a/solenv/inc/tg_wntx64.mk b/solenv/inc/tg_wntx64.mk
index 85f60c0f95a0..05a3155fb97a 100644
--- a/solenv/inc/tg_wntx64.mk
+++ b/solenv/inc/tg_wntx64.mk
@@ -24,14 +24,12 @@
# for a copy of the LGPLv3 License.
#
#*************************************************************************
-###############################################
-# Windows 64 bit special
-# only used for 64 bit shell extension
-# ( Windows Vista )
-# ---------------------------------------------
-# THIS FILE WILL BE DELETED when a fully ported
-# Windows 64 bit version is available
-###############################################
+##############################################################################################
+# Used when building 64-bit Windows code for the 64-bit Explorer shell extension
+# in an otherwise 32-bit LibreOffice build. Don't confuse with
+# building a completely 64-bit LibreOffice on Windows, which is unfinished
+# and highly experimental work.
+##############################################################################################
.IF "$(BUILD_X64)"!=""
@@ -43,7 +41,7 @@ $(SLOTARGET_X64): $(SLOFILES_X64) $(IDLSLOFILES_X64)
.ENDIF
@echo ------------------------------
@echo Making: $@
- @-$(MKDIR) $(SLB_X64)
+ @-$(MKDIRHIER) $(SLB_X64)
.IF "$(LIBTARGET)"!="NO"
@-$(TYPE) $(mktmp $(&:+"\n")) > $(@:s/.lib/.lin/)
.ENDIF # "$(LIBTARGET)"!="NO"
@@ -73,10 +71,7 @@ SHL1IMPLIBN_X64=$(LB_X64)/$(SHL1IMPLIB_X64).lib
.ENDIF # "$(SLOFILES_X64)$(OBJFILES_X64)"!=""
make_x64_dirs :
- -$(MKDIR) $(BIN_X64)
- -$(MKDIR) $(MISC_X64)
- -$(MKDIR) $(LB_X64)
- -$(MKDIR) $(SLB_X64)
+ $(MKDIRHIER) $(BIN_X64) $(MISC_X64) $(LB_X64) $(SLB_X64)
.IF "$(LIBTARGET)" == ""
@@ -92,7 +87,7 @@ $(LIB1TARGET_X64) : $(LIB1FILES_X64) \
@echo using: $(LIB1TARGET_X64)
@echo ------------------------------
@echo Making: $@
- -$(MKDIR) $(SLB_X64)
+ $(MKDIRHIER) $(SLB_X64)
@@-$(RM) $@
$(LIBMGR_X64) $(LIBFLAGS_X64) /OUT:$@ @$(mktmp $(LIB1FILES_X64) $(LIB1OBJFILES_X64))
@-$(RM) $(@:s/.lib/.lin/)
@@ -113,7 +108,7 @@ $(LIB2TARGET_X64) : $(LIB2FILES_X64) \
@echo using: $(LIB2TARGET_X64)
@echo ------------------------------
@echo Making: $@
- -$(MKDIR) $(SLB_X64)
+ $(MKDIRHIER) $(SLB_X64)
@@-$(RM) $@
$(LIBMGR_X64) $(LIBFLAGS_X64) /OUT:$@ @$(mktmp $(LIB2FILES_X64) $(LIB2OBJFILES_X64))
@-$(RM) $(@:s/.lib/.lin/)
@@ -131,7 +126,7 @@ $(LIB2TARGET_X64) : $(LIB2FILES_X64) \
$(DEF1TARGETN_X64) : \
$(DEF1DEPN_X64) \
$(DEF1EXPORTFILE_X64)
- @-$(MKDIR) $(MISC_X64)
+ @-$(MKDIRHIER) $(MISC_X64)
@-$(RM) $@.tmpfile
@echo ------------------------------
@echo Making Module-Definitionfile : $@
@@ -169,7 +164,7 @@ $(DEF1TARGETN_X64) : \
$(DEF2TARGETN_X64) : \
$(DEF2DEPN_X64) \
$(DEF2EXPORTFILE_X64)
- @-$(MKDIR) $(MISC_X64)
+ @-$(MKDIRHIER) $(MISC_X64)
@-$(RM) $@.tmpfile
@echo Making Module-Definitionfile : $@
@echo LIBRARY $(EMQ)"$(SHL2TARGETN:f)$(EMQ)" >$@.tmpfile
@@ -325,7 +320,7 @@ $(SHL1IMPLIBN_X64): \
$(USELIBDEPN_X64)
@echo Making: $(SHL1IMPLIBN_X64)
# bei use_deffile implib von linker erstellt
- @-mkdir $(LB_X64)
+ @-$(MKDIRHIER) $(LB_X64)
.IF "$(USE_DEFFILE_X64)"==""
$(IMPLIB_X64) $(IMPLIBFLAGS_X64) @$(mktmp -out:$(SHL1IMPLIBN_X64) \
-def:$(SHL1DEF_X64) )
@@ -469,7 +464,7 @@ $(SHL2IMPLIBN_X64): \
$(USELIBDEPN_X64)
@echo Making: $(SHL2IMPLIBN_X64)
# bei use_deffile implib von linker erstellt
- @-mkdir $(LB_X64)
+ @-$(MKDIRHIER) $(LB_X64)
.IF "$(USE_DEFFILE_X64)"==""
$(IMPLIB_X64) $(IMPLIBFLAGS_X64) @$(mktmp -out:$(SHL2IMPLIBN_X64) \
-def:$(SHL2DEF_X64) )
@@ -484,21 +479,21 @@ $(SLO_X64)/%.obj : %.cpp
@echo ------------------------------
@echo Making: $@
@@-$(RM) $@ >& $(NULLDEV)
- -$(MKDIR) $(@:d)
- @-$(MKDIR) $(MISC_X64)
+ -$(MKDIRHIER) $(@:d)
+ @-$(MKDIRHIER) $(MISC_X64)
$(CAPTURE_COMMAND) $(CXX_X64) $(USE_CFLAGS_X64) $(INCLUDE_X64) $(CFLAGSCXX_X64) $(CFLAGSSLO_X64) $(USE_CDEFS_X64) $(CDEFSSLO_X64) $(CDEFSMT_X64) $(!eq,$(EXCEPTIONSFILES),$(subst,$@, $(EXCEPTIONSFILES)) $(LOCAL_EXCEPTIONS_FLAGS) $(GLOBAL_EXCEPTIONS_FLAGS)) $(CFLAGSAPPEND) $(CFLAGSOUTOBJ)$(SLO_X64)/$*.obj $(CFLAGSINCXX)$(PWD)/$*.cpp $(CAPTURE_OUTPUT)
$(SLO_X64)/%.obj : %.cxx
@echo Making: $@
@@-$(RM) $@ >& $(NULLDEV)
- $(COMMAND_ECHO)-$(MKDIR) $(@:d)
- $(COMMAND_ECHO)@-$(MKDIR) $(MISC_X64)
+ $(COMMAND_ECHO)$(MKDIRHIER) $(@:d)
+ $(COMMAND_ECHO)-$(MKDIRHIER) $(MISC_X64)
$(COMMAND_ECHO)$(CAPTURE_COMMAND) $(CXX_X64) $(USE_CFLAGS_X64) $(INCLUDE_X64) $(CFLAGSCXX_X64) $(CFLAGSSLO_X64) $(USE_CDEFS_X64) $(CDEFSSLO_X64) $(CDEFSMT_X64) $(!eq,$(EXCEPTIONSFILES),$(subst,$@, $(EXCEPTIONSFILES)) $(LOCAL_EXCEPTIONS_FLAGS) $(GLOBAL_EXCEPTIONS_FLAGS)) $(CFLAGSAPPEND) $(CFLAGSOUTOBJ)$(SLO_X64)/$*.obj $(CFLAGSINCXX)$(PWD)/$*.cxx $(CAPTURE_OUTPUT)
$(SLO_X64)/%.obj : $(MISC)/%.c
@echo Making: $@
- $(COMMAND_ECHO)-$(MKDIR) $(@:d)
- $(COMMAND_ECHO)@-$(MKDIR) $(MISC_X64)
+ $(COMMAND_ECHO)$(MKDIRHIER) $(@:d)
+ $(COMMAND_ECHO)$(MKDIRHIER) $(MISC_X64)
@@-$(RM) $@
@$(TYPE) $(mktmp $(CC_X64) $(USE_CFLAGS_X64) $(INCLUDE_C) $(CFLAGSCC_X64) $(CFLAGSSLO_X64) $(USE_CDEFS_X64) $(CDEFSSLO_X64) $(CFLAGSAPPEND_X64) $(CFLAGSOUTOBJ)$(SLO_X64)/$*.obj $(MISC)/$*.c )
@$(ECHONL)
@@ -506,8 +501,8 @@ $(SLO_X64)/%.obj : $(MISC)/%.c
$(SLO_X64)/%.obj : %.c
@echo Making: $@
- $(COMMAND_ECHO)-$(MKDIR) $(@:d)
- $(COMMAND_ECHO)@-$(MKDIR) $(MISC_X64)
+ $(COMMAND_ECHO)$(MKDIRHIER) $(@:d)
+ $(COMMAND_ECHO)$(MKDIRHIER) $(MISC_X64)
@@-$(RM) $@
$(COMMAND_ECHO)$(CC_X64) @$(mktmp $(USE_CFLAGS_X64) $(INCLUDE_C) $(CFLAGSCC_X64) $(CFLAGSSLO_X64) $(USE_CDEFS_X64) $(CDEFSSLO_X64) $(CDEFSMT_X64) $(CFLAGSAPPEND_X64) $(CFLAGSOUTOBJ)$(SLO_X64)/$*.obj $*.c )
diff --git a/solenv/inc/tg_zip.mk b/solenv/inc/tg_zip.mk
index 0a0364e02ab3..4468a2139397 100644
--- a/solenv/inc/tg_zip.mk
+++ b/solenv/inc/tg_zip.mk
@@ -32,8 +32,6 @@
command_seperator=&&
#command_seperator=^
avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
-.ELIF "$(GUI)"=="OS2"
-command_seperator=&&
.ELSE
command_seperator=;
avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
@@ -42,6 +40,11 @@ avoid_cvs_dir=-x "*CVS*" -x "*.svn*"
.IF "$(ZIP$(TNR)TARGET)"!=""
+.IF "$(ZIP$(TNR)STRIPLANGUAGETAGS)" != ""
+CALLXSLTPROC:=$(XSLTPROC)
+.EXPORT: CALLXSLTPROC
+.ENDIF
+
ZIP$(TNR)EXT*=.zip
.IF "$(common_build_zip)"!=""
.IF "$(ZIP$(TNR)LIST:s/LANGDIR//)" == "$(ZIP$(TNR)LIST)"
@@ -145,6 +148,11 @@ $(ZIP$(TNR)TARGETN) : delzip $(ZIP$(TNR)DEPS)
$(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
$(PERL) -w $(SOLARENV)/bin/cleanzip.pl $@ \
$(FI)
+.IF "$(ZIP$(TNR)STRIPLANGUAGETAGS)" != ""
+ $(COMMAND_ECHO)$(IFEXIST) $@ $(THEN) \
+ $(SOLARENV)/bin/striplanguagetags.sh $@ \
+ $(FI)
+.ENDIF
.ENDIF # "$(ZIP$(TNR)DIR)" != ""
.ENDIF # "$(common_build_zip)"!=""
.ENDIF
diff --git a/solenv/inc/unitools.mk b/solenv/inc/unitools.mk
index cea303c2ae0f..893340e9125f 100644
--- a/solenv/inc/unitools.mk
+++ b/solenv/inc/unitools.mk
@@ -107,9 +107,10 @@ PERL*=perl
TYPE=cat
CDD=cd
COPY=cp -f
-.IF "$(OS)"=="MACOSX"
+.IF "$(OS_FOR_BUILD)"=="MACOSX" || "$(OS_FOR_BUILD)"=="NETBSD" || "$(OS_FOR_BUILD)"=="OPENBSD" || \
+ "$(OS_FOR_BUILD)"=="DRAGONFLY"
COPYRECURSE=-R
-.ELSE #"$(OS)"=="MACOSX"
+.ELSE # Not BSD based ones:
COPYRECURSE=-r
.ENDIF
.IF "$(OS)"=="SOLARIS"
@@ -118,6 +119,12 @@ GNUCOPY*=gnucp
GNUPATCH*=gnupatch
GNUTAR*=/usr/sfw/bin/gtar
DEREFERENCE=
+.ELIF "$(OS)"=="AIX"
+AWK*=/opt/freeware/bin/awk
+GNUCOPY*=cp
+GNUPATCH*=/opt/freeware/bin/patch
+GNUTAR*=gtar
+DEREFERENCE=-L
.ELSE # "$(OS)"=="SOLARIS"
AWK*=awk
# this is not true, as BSD does not default to a GNU cp, but BSD cp
@@ -142,33 +149,6 @@ FIND=find
LS=ls
ECHON=echo -n
ECHONL=echo
-.ELIF "$(GUI)"=="OS2"
-SED*=sed
-SORT*=sort
-PERL*=perl
-TYPE=cat
-CDD=@cd
-COPY*=$(SHELL) /c copy /b
-COPYRECURSE=/s
-COPYUPDATE=/u
-DELAY=sleep
-ECHON*=echos
-ECHONL=+echo.
-AWK*=awk
-GNUCOPY*=cp
-GNUPATCH*=gnupatch
-GNUMAKE*=make
-TOUCH=touch /c
-#YD rename doesn't work across different drives!
-RENAME=mv
-MKDIR=+md
-MKDIRHIER=+md /s
-GREP=grep
-FIND=find
-LS=ls
-DUMPBIN=echo
-4nt_force_shell:=+
-
.ENDIF # "$(GUI)"=="UNX"
# (Global) Set if not set before
diff --git a/solenv/inc/unx.mk b/solenv/inc/unx.mk
index e558c9955d82..74ed8d5eb721 100644
--- a/solenv/inc/unx.mk
+++ b/solenv/inc/unx.mk
@@ -35,22 +35,6 @@
# --- Compiler ---
-.IF "$(COM)$(OS)$(CPU)" == "C50SOLARISS"
-.INCLUDE : unxsols2.mk
-.ENDIF
-
-.IF "$(COM)$(OS)$(CPU)" == "C50SOLARISI"
-.INCLUDE : unxsoli2.mk
-.ENDIF
-
-.IF "$(OS)$(CPU)$(COMEX)" == "SOLARISS3"
-.INCLUDE : unxsols3.mk
-.ENDIF
-
-.IF "$(OS)$(CPU)$(COMEX)" == "SOLARISI3"
-.INCLUDE : unxsoli3.mk
-.ENDIF
-
.IF "$(OS)$(CPU)$(COMEX)" == "SOLARISS4"
.INCLUDE : unxsols4.mk
.ENDIF
@@ -63,10 +47,6 @@
.INCLUDE : unxsolu4.mk
.ENDIF
-.IF "$(OS)$(CPU)$(COMEX)" == "SOLARISX4"
-.INCLUDE : unxsolx4.mk
-.ENDIF
-
.IF "$(COM)$(OS)$(CPU)" == "GCCSOLARISS"
.INCLUDE : unxsogs.mk
.ENDIF
@@ -75,10 +55,6 @@
.INCLUDE : unxsogi.mk
.ENDIF
-.IF "$(COM)$(OS)$(CPU)" == "GCCSCOI"
-.INCLUDE : unxscoi.mk
-.ENDIF
-
.IF "$(COM)$(OS)$(CPU)" == "GCCLINUXS"
.INCLUDE : unxlngs.mk
.ENDIF
@@ -99,6 +75,10 @@
.INCLUDE : unxlngppc64.mk
.ENDIF
+.IF "$(COM)$(OS)$(CPU)" == "GCCAIXP"
+.INCLUDE : unxaigppc.mk
+.ENDIF
+
.IF "$(COM)$(OS)$(CPU)$(CPUNAME)" == "GCCLINUX3S390"
.INCLUDE : unxlngs390.mk
.ENDIF
@@ -111,40 +91,28 @@
.INCLUDE : unxlngr.mk
.ENDIF
-.IF "$(COM)$(OS)$(CPU)" == "GCCLINUXA"
-.INCLUDE : unxlnga.mk
+.IF "$(COM)$(OS)$(CPU)" == "GCCANDROIDR"
+.INCLUDE : unxandr.mk
.ENDIF
-.IF "$(COM)$(OS)$(CPU)" == "ACCHPUXR"
-.INCLUDE : unxhpxr.mk
-.ENDIF
-
-.IF "$(COM)$(OS)$(CPU)" == "GCCHPUXR"
-.INCLUDE : unxhpgr.mk
-.ENDIF
-
-.IF "$(COM)$(OS)$(CPU)" == "GCCNETBSDA"
-.INCLUDE : unxbsda.mk
-.ENDIF
-
-.IF "$(COM)$(OS)$(CPU)" == "ICCAIXP"
-.INCLUDE : unxaixp.mk
+.IF "$(COM)$(OS)$(CPU)" == "GCCLINUXA"
+.INCLUDE : unxlnga.mk
.ENDIF
-.IF "$(COM)$(CVER)$(OS)$(CPU)" == "GCCC295NETBSDI"
-.INCLUDE : unxbsdi.mk
+.IF "$(COM)$(OS)" == "GCCNETBSD"
+.INCLUDE : unxnbsd.mk
.ENDIF
-.IF "$(COM)$(CVER)$(OS)$(CPU)" == "GCCC300NETBSDI"
-.INCLUDE : unxbsdi2.mk
+.IF "$(COM)$(OS)" == "GCCFREEBSD"
+.INCLUDE : unxfbsd.mk
.ENDIF
-.IF "$(COM)$(OS)$(CPU)" == "GCCNETBSDS"
-.INCLUDE : unxbsds.mk
+.IF "$(COM)$(OS)" == "GCCOPENBSD"
+.INCLUDE : unxobsd.mk
.ENDIF
-.IF "$(COM)$(OS)" == "GCCFREEBSD"
-.INCLUDE : unxfbsd.mk
+.IF "$(COM)$(OS)" == "GCCDRAGONFLY"
+.INCLUDE : unxdfly.mk
.ENDIF
.IF "$(COM)$(OS)$(CPU)" == "GCCMACOSXP"
@@ -155,6 +123,10 @@
.INCLUDE : unxmacxi.mk
.ENDIF
+.IF "$(COM)$(OS)$(CPU)" == "GCCIOSR"
+.INCLUDE : unxiosr.mk
+.ENDIF
+
.IF "$(COM)$(OS)$(CPU)" == "GCCLINUXM"
.INCLUDE : unxlngmips.mk
.ENDIF
@@ -186,11 +158,13 @@ YACCFLAGS*=-d -t
EXECPOST=
SCPPOST=.ins
DLLDEST=$(LB)
-SOLARSHAREDBIN=$(SOLARLIBDIR)
+SOLARSHAREDBIN=$(SOLARLIBDIR_FOR_BUILD)
SONAME_SWITCH*=-h
.IF "$(UNIXVERSIONNAMES)"!=""
+.IF "$(OS)"!="IOS"
DLLPOST!:=$(DLLPOST).$($(UNIXVERSIONNAMES)_MAJOR)
+.ENDIF
.ENDIF # "$(UNIXVERSIONNAMES)"!=""
# enable building/linking KDE-dependent code in both OOo and SO build environment
diff --git a/solenv/inc/unxaigppc.mk b/solenv/inc/unxaigppc.mk
new file mode 100644
index 000000000000..240aa9c03b09
--- /dev/null
+++ b/solenv/inc/unxaigppc.mk
@@ -0,0 +1,68 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+
+# mk file for Unix AIX PowerPC using GCC, please make generic modifications to unxlng.mk
+
+LIBSALCPPRT*=-Wl,-bnogc -lsalcpprt -Wl,-bgc
+
+.INCLUDE : unxlngppc.mk
+
+CDEFS+=-D_THREAD_SAFE
+
+.INCLUDE : productversion.mk
+
+COLON=":"
+URELIBDIRS=$(subst,$(SPACECHAR),$(COLON) $(foreach,i,{$(PRODUCTLIST)} /opt/$i$(PRODUCTVERSIONSHORT)/basis-link/ure-link/lib))
+UREBINDIRS=$(subst,$(SPACECHAR),$(COLON) $(foreach,i,{$(PRODUCTLIST)} /opt/$i$(PRODUCTVERSIONSHORT)/basis-link/ure-link/bin))
+BASISPROGRAMDIRS=$(subst,$(SPACECHAR),$(COLON) $(foreach,i,{$(PRODUCTLIST)} /opt/$i$(PRODUCTVERSIONSHORT)/basis-link/program))
+BRANDPROGRAMDIRS=$(subst,$(SPACECHAR),$(COLON) $(foreach,i,{$(PRODUCTLIST)} /opt/$i$(PRODUCTVERSIONSHORT)/program))
+
+LINKFLAGSRUNPATH_URELIB:=-Wl,-blibpath:$(URELIBDIRS):/usr/lib:/lib
+LINKFLAGSRUNPATH_UREBIN:=-Wl,-blibpath:$(URELIBDIRS):$(UREBINDIRS):/usr/lib:/lib
+LINKFLAGSRUNPATH_OOO:=-Wl,-blibpath:$(BASISPROGRAMDIRS):$(URELIBDIRS):/usr/lib:/lib
+LINKFLAGSRUNPATH_SDK:=-Wl,-blibpath:$(URELIBDIRS):/usr/lib:/lib
+LINKFLAGSRUNPATH_BRAND:=-Wl,-blibpath:$(BRANDPROGRAMDIRS):$(BASISPROGRAMDIRS):$(URELIBDIRS):/usr/lib:/lib
+LINKFLAGSRUNPATH_BOXT:=-Wl,-blibpath:$(BASISPROGRAMDIRS):/usr/lib:/lib
+LINKFLAGS:=-Wl,-brtl -Wl,-bnolibpath
+
+LINKFLAGSAPPGUI:=
+LINKFLAGSAPPCUI:=
+
+LINKVERSIONMAPFLAG:=
+
+SONAME_SWITCH:=
+
+STDLIBGUIMT:=-ldl -lpthread -lm
+STDLIBCUIMT:=-ldl -lpthread -lm
+STDSHLGUIMT:=-ldl -lpthread -lm
+STDSHLCUIMT:=-ldl -lpthread -lm
+X11LINK_DYNAMIC:=-lXext -lX11
+
+
+CFLAGSDEBUG:=
+
+OOO_LIBRARY_PATH_VAR=LIBPATH
diff --git a/solenv/inc/unxaixp.mk b/solenv/inc/unxaixp.mk
index 571cee1053c6..be35f438378d 100644
--- a/solenv/inc/unxaixp.mk
+++ b/solenv/inc/unxaixp.mk
@@ -101,10 +101,6 @@ RCLINK=
RCLINKFLAGS=
RCSETVERSION=
-DLLPOSTFIX= ap
-.IF "$(WORK_STAMP)"=="MIX364"
-DLLPOSTFIX=
-.ENDIF
DLLPRE= lib
DLLPOST= .so
diff --git a/solenv/inc/scpre.mk b/solenv/inc/unxandr.mk
index 1b9b7a7dacac..070db53af6c9 100644
--- a/solenv/inc/scpre.mk
+++ b/solenv/inc/unxandr.mk
@@ -25,26 +25,9 @@
#
#*************************************************************************
+# mk file for Android Linux ARM using GCC, please make generic modifications to unxgcc.mk
-
-#======================================================================
-# standardmaessig mit Optimierung, muss explizit mit nopt=t ausgeschaltet
-# werden, wenn nicht gewuenscht
-#----------------------------------------------------------------------
-
-#.IF defined(nopt) || defined(NOPT)
-#nopt=true
-#NOPT=TRUE
-#!undef optimize
-#!undef OPTIMIZE
-#.ELSE
-#.IF !(defined(debug) || defined(DEBUG))
-#optimize=true
-#OPTIMIZE=TRUE
-#.ENDIF
-#.ENDIF
-
-# falls dependencies auf s:\solver\... erstellt werden sollen
-# MKDEPENDSOLVER=YES
-
-
+CDEFAULTOPT=-Os
+.INCLUDE : unxgcc.mk
+CDEFS+=-DARM32
+CFLAGS+=-fno-omit-frame-pointer
diff --git a/solenv/inc/unxbsda.mk b/solenv/inc/unxbsda.mk
deleted file mode 100644
index fefaa1f02bd7..000000000000
--- a/solenv/inc/unxbsda.mk
+++ /dev/null
@@ -1,99 +0,0 @@
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-# mak file fuer unxbsda
-
-ASM=
-AFLAGS=
-
-ARCH_FLAGS*=
-
-CC= gcc -c
-CXX= g++ -c
-CDEFS+= -D_STD_NO_NAMESPACE -D_VOS_NO_NAMESPACE -D_UNO_NO_NAMESPACE
-CDEFS+= -D_REENTRANT # -D_PTHREADS -DPOSIX_PTHREAD_SEMANTICS
-CDEFS+= -DPRINTER_DUMMY
-CFLAGSCC= -fsigned-char $(ARCH_FLAGS)
-CFLAGSCXX= -fsigned-char $(ARCH_FLAGS)
-PICSWITCH:=-fPIC
-CFLAGSOBJGUIMT=
-CFLAGSOBJCUIMT=
-CFLAGSSLOGUIMT=$(PICSWITCH)
-CFLAGSSLOCUIMT=$(PICSWITCH)
-CFLAGSPROF=
-CFLAGSDEBUG= -g
-CFLAGSDBGUTIL=
-CFLAGSOPT= -O2
-CFLAGSNOOPT=
-CFLAGSOUTOBJ= -o
-
-STATIC= -Bstatic
-DYNAMIC= -Bdynamic
-
-THREADLIB= pthread
-LINK= ld -e start -dc -dp
-LINKFLAGS=
-LINKFLAGSAPPGUI=
-LINKFLAGSSHLGUI=
-LINKFLAGSAPPCUI=
-LINKFLAGSSHLCUI=
-LINKFLAGSTACK=
-LINKFLAGSPROF=
-LINKFLAGSDEBUG=
-LINKFLAGSOPT=
-
-STDOBJGUI= /usr/lib/crt0.o
-STDSLOGUI= /usr/lib/crt0.o
-STDOBJCUI= /usr/lib/crt0.o
-STDSLOCUI= /usr/lib/crt0.o
-STDLIBGUIMT= -Bdynamic -lc -Bstatic -lg++ -lstdc++ -Bdynamic -lm -lgcc -lc -lgcc
-STDLIBCUIMT= -Bdynamic -lc -Bstatic -lg++ -lstdc++ -Bdynamic -lm -lgcc -lc -lgcc
-STDSHLGUIMT= -Bdynamic -lc -Bstatic -lg++ -lstdc++ -Bdynamic -lm -lgcc -lc -lgcc
-STDSHLCUIMT= -Bdynamic -lc -Bstatic -lg++ -lstdc++ -Bdynamic -lm -lgcc -lc -lgcc
-
-LIBMGR= ar
-LIBFLAGS= -r
-LIBEXT= .a
-
-IMPLIB=
-IMPLIBFLAGS=
-
-MAPSYM=
-MAPSYMFLAGS=
-
-RC=irc
-RCFLAGS= -fo$@ $(RCFILES)
-RCLINK=
-RCLINKFLAGS=
-RCSETVERSION=
-
-DLLPOSTFIX= ba
-DLLPRE= lib
-DLLPOST= .so
-
-LDUMP=
-
diff --git a/solenv/inc/unxbsdi.mk b/solenv/inc/unxbsdi.mk
deleted file mode 100644
index 5e9c06605940..000000000000
--- a/solenv/inc/unxbsdi.mk
+++ /dev/null
@@ -1,179 +0,0 @@
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-# mk file for unxbsdi
-ASM=
-AFLAGS=
-
-SOLAR_JAVA=TRUE
-JAVAFLAGSDEBUG=-g
-
-# filter for supressing verbose messages from linker
-#not needed at the moment
-#LINKOUTPUT_FILTER=" |& $(SOLARENV)/bin/msg_filter"
-
-# _PTHREADS is needed for the stl
-CDEFS+=-DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=$(STLPORT_VER)
-
-# this is a platform with JAVA support
-.IF "$(SOLAR_JAVA)"!=""
-JAVADEF=-DSOLAR_JAVA
-.IF "$(debug)"==""
-JAVA_RUNTIME=-ljava
-.ELSE
-JAVA_RUNTIME=-ljava_g
-.ENDIF
-.ENDIF
-
-# 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
-ARCH_FLAGS*=-mpentiumpro
-
-# name of C++ Compiler
-CXX*=g++
-# name of C Compiler
-CC*=gcc
-# flags for C and C++ Compiler
-CFLAGS+=-c
-# flags for the C++ Compiler
-CFLAGSCC= -pipe $(ARCH_FLAGS)
-# Flags for enabling exception handling
-CFLAGSEXCEPTIONS=-fexceptions
-# Flags for disabling exception handling
-CFLAGS_NO_EXCEPTIONS=-fno-exceptions
-
-CFLAGSCXX= -pipe -frtti $(ARCH_FLAGS)
-PICSWITCH:=-fpic
-
-# Compiler flags for compiling static object in multi threaded environment with graphical user interface
-CFLAGSOBJGUIMT=
-# Compiler flags for compiling static object in multi threaded environment with character user interface
-CFLAGSOBJCUIMT=
-# Compiler flags for compiling shared object in multi threaded environment with graphical user interface
-CFLAGSSLOGUIMT=$(PICSWITCH)
-# Compiler flags for compiling shared object in multi threaded environment with character user interface
-CFLAGSSLOCUIMT=$(PICSWITCH)
-# Compiler flags for profiling
-CFLAGSPROF=
-# Compiler flags for debugging
-CFLAGSDEBUG=-g
-CFLAGSDBGUTIL=
-# Compiler flags for enabling optimizations
-CFLAGSOPT=-O2
-# Compiler flags for disabling optimizations
-CFLAGSNOOPT=-O
-# Compiler flags for describing the output path
-CFLAGSOUTOBJ=-o
-
-CFLAGSWARNCC=
-CFLAGSWARNCXX=$(CFLAGSWARNCC) -Wno-ctor-dtor-privacy
-# -Wshadow does not work for C with nested uses of pthread_cleanup_push:
-CFLAGSWALLCC=-Wall -Wextra -Wendif-labels
-CFLAGSWALLCXX=$(CFLAGSWALLCC) -Wshadow -Wno-ctor-dtor-privacy
-CFLAGSWERRCC=-Werror
-
-# switches for dynamic and static linking
-STATIC = -Wl,-Bstatic
-DYNAMIC = -Wl,-Bdynamic
-
-# name of linker
-LINK*=gcc
-# default linker flags
-LINKFLAGS=
-
-# linker flags for linking applications
-LINKFLAGSAPPGUI= -Wl,-export-dynamic
-LINKFLAGSAPPCUI= -Wl,-export-dynamic
-
-# linker flags for linking shared libraries
-LINKFLAGSSHLGUI= -shared
-LINKFLAGSSHLCUI= -shared
-
-LINKFLAGSTACK=
-LINKFLAGSPROF=
-LINKFLAGSDEBUG=-g
-LINKFLAGSOPT=
-
-.IF "$(NO_BSYMBOLIC)"==""
-.IF "$(PRJNAME)" != "envtest"
-LINKFLAGSSHLGUI+=-Wl,-Bsymbolic
-LINKFLAGSSHLCUI+=-Wl,-Bsymbolic
-.ENDIF
-.ENDIF # "$(NO_BSYMBOLIC)"==""
-
-LINKVERSIONMAPFLAG=-Wl,--version-script
-
-SONAME_SWITCH=-Wl,-h
-
-# Sequence of libs does matter !
-
-STDLIBCPP=-lstdc++
-
-# default objectfilenames to link
-STDOBJGUI=
-STDSLOGUI=
-STDOBJCUI=
-STDSLOCUI=
-
-# libraries for linking applications
-STDLIBGUIMT=-lX11 -lpthread -lm
-STDLIBCUIMT=-lpthread -lm
-# libraries for linking shared libraries
-STDSHLGUIMT=-lX11 -lXext -lpthread -lm
-STDSHLCUIMT=-lpthread -lm
-
-.IF "$(STLPORT_VER)" >= "500"
-LIBSTLPORT=$(DYNAMIC) -lstlport
-LIBSTLPORTST=$(STATIC) -lstlport $(DYNAMIC)
-.ELSE
-LIBSTLPORT=$(DYNAMIC) -lstlport_gcc
-LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC)
-.ENDIF
-
-
-# name of library manager
-LIBMGR=ar
-LIBFLAGS=-r
-
-# tool for generating import libraries
-IMPLIB=
-IMPLIBFLAGS=
-
-MAPSYM=
-MAPSYMFLAGS=
-
-RC=irc
-RCFLAGS=-fo$@ $(RCFILES)
-RCLINK=
-RCLINKFLAGS=
-RCSETVERSION=
-
-# platform specific identifier for shared libs
-DLLPOSTFIX=bi
-DLLPRE=lib
-DLLPOST=.so
-
diff --git a/solenv/inc/unxbsdi2.mk b/solenv/inc/unxbsdi2.mk
deleted file mode 100644
index f4206304501b..000000000000
--- a/solenv/inc/unxbsdi2.mk
+++ /dev/null
@@ -1,198 +0,0 @@
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-# mk file for unxbsdi2
-ASM=
-AFLAGS=
-
-SOLAR_JAVA=TRUE
-JAVAFLAGSDEBUG=-g
-
-# filter for supressing verbose messages from linker
-#not needed at the moment
-#LINKOUTPUT_FILTER=" |& $(SOLARENV)/bin/msg_filter"
-
-# _PTHREADS is needed for the stl
-CDEFS+= -DX86 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=$(STLPORT_VER)
-
-# this is a platform with JAVA support
-.IF "$(SOLAR_JAVA)"!=""
-JAVADEF=-DSOLAR_JAVA
-.IF "$(debug)"==""
-JAVA_RUNTIME=-ljava
-.ELSE
-JAVA_RUNTIME=-ljava_g
-.ENDIF
-.ENDIF
-
-# 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
-ARCH_FLAGS*=
-
-# name of C++ Compiler
-CXX*=g++
-# name of C Compiler
-CC*=gcc
-# flags for C and C++ Compiler
-CFLAGS+=-fmessage-length=0 -c
-
-# flags to enable build with symbols; required for crashdump feature
-.IF "$(ENABLE_SYMBOLS)"=="SMALL"
-CFLAGSENABLESYMBOLS=-g1
-.ELSE
-CFLAGSENABLESYMBOLS=-g
-.ENDIF
-
-# flags for the C++ Compiler
-CFLAGSCC= -pipe $(ARCH_FLAGS)
-# Flags for enabling exception handling
-CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs
-# Flags for disabling exception handling
-CFLAGS_NO_EXCEPTIONS=-fno-exceptions
-
-CFLAGSCXX= -pipe -frtti $(ARCH_FLAGS)
-PICSWITCH:=-fpic
-
-# Compiler flags for compiling static object in multi threaded environment with graphical user interface
-CFLAGSOBJGUIMT=
-# Compiler flags for compiling static object in multi threaded environment with character user interface
-CFLAGSOBJCUIMT=
-# Compiler flags for compiling shared object in multi threaded environment with graphical user interface
-CFLAGSSLOGUIMT=$(PICSWITCH)
-# Compiler flags for compiling shared object in multi threaded environment with character user interface
-CFLAGSSLOCUIMT=$(PICSWITCH)
-# Compiler flags for profiling
-CFLAGSPROF=
-# Compiler flags for debugging
-CFLAGSDEBUG=-g
-CFLAGSDBGUTIL=
-# Compiler flags for enabling optimizations
-# CFLAGSOPT=-O2
-# reduce to -O1 to avoid optimization problems
-CFLAGSOPT=-O1
-# Compiler flags for disabling optimizations
-CFLAGSNOOPT=-O
-# Compiler flags for describing the output path
-CFLAGSOUTOBJ=-o
-
-CFLAGSWARNCC=
-CFLAGSWARNCXX=$(CFLAGSWARNCC) -Wno-ctor-dtor-privacy
-# -Wshadow does not work for C with nested uses of pthread_cleanup_push:
-CFLAGSWALLCC=-Wall -Wextra -Wendif-labels
-CFLAGSWALLCXX=$(CFLAGSWALLCC) -Wshadow -Wno-ctor-dtor-privacy
-CFLAGSWERRCC=-Werror
-
-# switches for dynamic and static linking
-STATIC = -Wl,-Bstatic
-DYNAMIC = -Wl,-Bdynamic
-
-# name of linker
-LINK*=$(CC)
-
-# default linker flags
-LINKFLAGSDEFS*=-z defs
-LINKFLAGSRUNPATH_URELIB=-Wl,-rpath,\''$$ORIGIN'\'
-LINKFLAGSRUNPATH_UREBIN=-Wl,-rpath,\''$$ORIGIN/../lib:$$ORIGIN'\'
- #TODO: drop $ORIGIN once no URE executable is also shipped in OOo
-LINKFLAGSRUNPATH_OOO=-Wl,-rpath,\''$$ORIGIN:$$ORIGIN/../ure-link/lib'\'
-LINKFLAGSRUNPATH_SDK=-Wl,-rpath,\''$$ORIGIN/../../ure-link/lib'\'
-LINKFLAGSRUNPATH_BRAND=-Wl,-rpath,\''$$ORIGIN:$$ORIGIN/../basis-link/program:$$ORIGIN/../basis-link/ure-link/lib'\'
-LINKFLAGSRUNPATH_OXT=
-LINKFLAGSRUNPATH_NONE=
-LINKFLAGS=-z combreloc $(LINKFLAGSDEFS)
-
-# linker flags for linking applications
-LINKFLAGSAPPGUI= -Wl,-export-dynamic
-LINKFLAGSAPPCUI= -Wl,-export-dynamic
-
-# linker flags for linking shared libraries
-LINKFLAGSSHLGUI= -shared
-LINKFLAGSSHLCUI= -shared
-
-LINKFLAGSTACK=
-LINKFLAGSPROF=
-LINKFLAGSDEBUG=-g
-LINKFLAGSOPT=
-
-# linker flags for optimization (symbol hashtable)
-# for now, applied to symbol scoped libraries, only
-LINKFLAGSOPTIMIZE*=-Wl,-O1
-LINKVERSIONMAPFLAG=$(LINKFLAGSOPTIMIZE) -Wl,--version-script
-
-SONAME_SWITCH=-Wl,-h
-
-# Sequence of libs does matter !
-
-STDLIBCPP=-lstdc++
-
-# default objectfilenames to link
-STDOBJGUI=
-STDSLOGUI=
-STDOBJCUI=
-STDSLOCUI=
-
-# libraries for linking applications
-STDLIBGUIMT=-lX11 -lpthread -lm
-STDLIBCUIMT=-lpthread -lm
-# libraries for linking shared libraries
-STDSHLGUIMT=-lX11 -lXext -lpthread -lm
-STDSHLCUIMT=-lpthread -lm
-
-LIBSALCPPRT*=-Wl,--whole-archive -lsalcpprt -Wl,--no-whole-archive
-
-.IF "$(STLPORT_VER)" >= "500"
-LIBSTLPORT=$(DYNAMIC) -lstlport -lstdc++
-LIBSTLPORTST=$(STATIC) -lstlport $(DYNAMIC)
-.ELSE
-LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -lstdc++
-LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC)
-.ENDIF
-
-#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC)
-
-# name of library manager
-LIBMGR=ar
-LIBFLAGS=-r
-
-# tool for generating import libraries
-IMPLIB=
-IMPLIBFLAGS=
-
-MAPSYM=
-MAPSYMFLAGS=
-
-RC=irc
-RCFLAGS=-fo$@ $(RCFILES)
-RCLINK=
-RCLINKFLAGS=
-RCSETVERSION=
-
-# platform specific identifier for shared libs
-DLLPOSTFIX=bi
-DLLPRE=lib
-DLLPOST=.so
-
diff --git a/solenv/inc/unxbsds.mk b/solenv/inc/unxbsds.mk
deleted file mode 100644
index 0811c85a4c6d..000000000000
--- a/solenv/inc/unxbsds.mk
+++ /dev/null
@@ -1,179 +0,0 @@
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-# mk file for unxbsds
-ASM=gcc
-AFLAGS=-Wa,-Av8plusa,-K,PIC -x assembler-with-cpp -c $(CDEFS)
-
-SOLAR_JAVA=TRUE
-JAVAFLAGSDEBUG=-g
-
-# filter for supressing verbose messages from linker
-#not needed at the moment
-#LINKOUTPUT_FILTER=" |& $(SOLARENV)/bin/msg_filter"
-
-# _PTHREADS is needed for the stl
-CDEFS+=-D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=$(STLPORT_VER) -DOSL_USE_SYS_V_SEMAPHORE
-
-# this is a platform with JAVA support
-.IF "$(SOLAR_JAVA)"!=""
-JAVADEF=-DSOLAR_JAVA
-.IF "$(debug)"==""
-JAVA_RUNTIME=-ljava
-.ELSE
-JAVA_RUNTIME=-ljava_g
-.ENDIF
-.ENDIF
-
-# 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
-ARCH_FLAGS*=
-
-# name of C++ Compiler
-CXX=g++
-# name of C Compiler
-CC=gcc
-# flags for C and C++ Compiler
-CFLAGS=-c
-# flags for the C++ Compiler
-CFLAGSCC= -pipe $(ARCH_FLAGS)
-
-# Flags for enabling exception handling
-CFLAGSEXCEPTIONS=-fexceptions
-# Flags for disabling exception handling
-CFLAGS_NO_EXCEPTIONS=-fno-exceptions
-
-CFLAGSCXX= -pipe $(ARCH_FLAGS)
-PICSWITCH:=-fPIC
-
-# Compiler flags for compiling static object in multi threaded environment with graphical user interface
-CFLAGSOBJGUIMT=$(PICSWITCH)
-# Compiler flags for compiling static object in multi threaded environment with character user interface
-CFLAGSOBJCUIMT=$(PICSWITCH)
-# Compiler flags for compiling shared object in multi threaded environment with graphical user interface
-CFLAGSSLOGUIMT=$(PICSWITCH)
-# Compiler flags for compiling shared object in multi threaded environment with character user interface
-CFLAGSSLOCUIMT=$(PICSWITCH)
-# Compiler flags for profiling
-CFLAGSPROF=
-# Compiler flags for debugging
-CFLAGSDEBUG=-g
-CFLAGSDBGUTIL=
-# Compiler flags for enabling optimizations
-CFLAGSOPT=-O2
-# Compiler flags for disabling optimizations
-CFLAGSNOOPT=-O
-# Compiler flags for describing the output path
-CFLAGSOUTOBJ=-o
-
-CFLAGSWARNCC=
-CFLAGSWARNCXX=$(CFLAGSWARNCC) -Wno-ctor-dtor-privacy
-# -Wshadow does not work for C with nested uses of pthread_cleanup_push:
-CFLAGSWALLCC=-Wall -Wextra -Wendif-labels
-CFLAGSWALLCXX=$(CFLAGSWALLCC) -Wshadow -Wno-ctor-dtor-privacy
-CFLAGSWERRCC=-Werror
-
-# switches for dynamic and static linking
-STATIC = -Wl,-Bstatic
-DYNAMIC = -Wl,-Bdynamic
-
-# name of linker
-LINK=gcc
-# default linker flags
-LINKFLAGS=
-
-# linker flags for linking applications
-LINKFLAGSAPPGUI= -Wl,-export-dynamic
-LINKFLAGSAPPCUI= -Wl,-export-dynamic
-# linker flags for linking shared libraries
-LINKFLAGSSHLGUI= -shared
-LINKFLAGSSHLCUI= -shared
-
-LINKFLAGSTACK=
-LINKFLAGSPROF=
-LINKFLAGSDEBUG=-g
-LINKFLAGSOPT=
-
-.IF "$(NO_BSYMBOLIC)"==""
-.IF "$(PRJNAME)" != "envtest"
-LINKFLAGSSHLGUI+=-Wl,-Bsymbolic
-LINKFLAGSSHLCUI+=-Wl,-Bsymbolic
-.ENDIF
-.ENDIF # "$(NO_BSYMBOLIC)"==""
-
-LINKVERSIONMAPFLAG=-Wl,--version-script
-
-# Sequence of libs does matter !
-
-STDLIBCPP=-lstdc++
-
-# default objectfilenames to link
-STDOBJGUI=
-STDSLOGUI=
-STDOBJCUI=
-STDSLOCUI=
-
-# libraries for linking applications
-STDLIBGUIMT=-lX11 -lpthread -lm
-STDLIBCUIMT=-lpthread -lm
-# libraries for linking shared libraries
-STDSHLGUIMT=-lX11 -lXext -lpthread -lm
-STDSHLCUIMT=-lpthread -lm
-
-# STLport always needs pthread. This may yield some redundant -lpthread
-# but that doesn't matter.
-.IF "$(STLPORT_VER)" >= "500"
-LIBSTLPORT=$(DYNAMIC) -lstlport -lpthread
-LIBSTLPORTST=$(STATIC) -lstlport $(DYNAMIC) -lpthread
-.ELSE
-LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -lpthread
-LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) -lpthread
-.ENDIF
-
-
-# name of library manager
-LIBMGR=ar
-LIBFLAGS=-r
-
-# tool for generating import libraries
-IMPLIB=
-IMPLIBFLAGS=
-
-MAPSYM=
-MAPSYMFLAGS=
-
-RC=irc
-RCFLAGS=-fo$@ $(RCFILES)
-RCLINK=
-RCLINKFLAGS=
-RCSETVERSION=
-
-# platform specific identifier for shared libs
-DLLPOSTFIX=bs
-DLLPRE=lib
-DLLPOST=.so
-
diff --git a/solenv/inc/unxdfly.mk b/solenv/inc/unxdfly.mk
new file mode 100644
index 000000000000..55b331630b9f
--- /dev/null
+++ b/solenv/inc/unxdfly.mk
@@ -0,0 +1,45 @@
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License or as specified alternatively below. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Initial Developer of the Original Code is
+# François Tigeot <ftigeot@wolfpond.org>
+# Portions created by the Initial Developer are Copyright (C) 2011 the
+# Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+#
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+
+# Makefile for DragonFly BSD
+
+# arch specific defines
+.IF "$(CPUNAME)" == "INTEL"
+CDEFS+=-DX86
+.ENDIF
+
+.IF "$(CPUNAME)" == "X86_64"
+CDEFS+=-DX86_64
+BUILD64=1
+.ENDIF
+
+.INCLUDE : unxgcc.mk
+
+# Flags for disabling exception handling
+CFLAGS_NO_EXCEPTIONS=-fno-exceptions
+
+# default linker flags
+LINKFLAGSDEFS:=
diff --git a/solenv/inc/unxfbsd.mk b/solenv/inc/unxfbsd.mk
index 4a22beaec256..f751384c4bb8 100644
--- a/solenv/inc/unxfbsd.mk
+++ b/solenv/inc/unxfbsd.mk
@@ -46,7 +46,7 @@ JAVAFLAGSDEBUG=-g
#LINKOUTPUT_FILTER=" |& $(SOLARENV)/bin/msg_filter"
# _PTHREADS is needed for the stl
-CDEFS+=$(PTHREAD_CFLAGS) -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=450
+CDEFS+=$(PTHREAD_CFLAGS) -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1
# enable visibility define in "sal/types.h"
.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
@@ -74,13 +74,8 @@ CC+:=$(CFLAGS_SYSBASE)
.ENDIF # "$(SYSBASE)"!=""
CFLAGS+=-fmessage-length=0 -c
-# flags to enable build with symbols; required for crashdump feature
-.IF "$(ENABLE_SYMBOLS)"=="SMALL"
-CFLAGSENABLESYMBOLS=-g1
-.ELSE
-CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta
-
-.ENDIF
+# flags to enable build with symbols
+CFLAGSENABLESYMBOLS=-g
# flags for the C++ Compiler
CFLAGSCC= -pipe $(ARCH_FLAGS)
@@ -148,8 +143,8 @@ LINKFLAGSRUNPATH_NONE=
LINKFLAGS=-Wl,-z,combreloc $(LINKFLAGSDEFS)
# linker flags for linking applications
-LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,--noinhibit-exec
-LINKFLAGSAPPCUI= -Wl,-export-dynamic -Wl,--noinhibit-exec
+LINKFLAGSAPPGUI= -Wl,-export-dynamic
+LINKFLAGSAPPCUI= -Wl,-export-dynamic
# linker flags for linking shared libraries
LINKFLAGSSHLGUI= -shared
@@ -187,26 +182,6 @@ STDSHLCUIMT=$(PTHREAD_LIBS) -lm
LIBSALCPPRT*=-Wl,--whole-archive -lsalcpprt -Wl,--no-whole-archive
-.IF "$(USE_STLP_DEBUG)" != ""
-.IF "$(STLPORT_VER)" >= "500"
-LIBSTLPORT=$(DYNAMIC) -lstlportstlg
-LIBSTLPORTST=$(STATIC) -lstlportstlg $(DYNAMIC)
-.ELSE
-LIBSTLPORT=$(DYNAMIC) -lstlport_gcc_stldebug
-LIBSTLPORTST=$(STATIC) -lstlport_gcc_stldebug $(DYNAMIC)
-.ENDIF
-.ELSE # "$(USE_STLP_DEBUG)" != ""
-.IF "$(STLPORT_VER)" >= "500"
-LIBSTLPORT=$(DYNAMIC) -lstlport
-LIBSTLPORTST=$(STATIC) -lstlport $(DYNAMIC)
-.ELSE
-LIBSTLPORT=$(DYNAMIC) -lstlport_gcc
-LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC)
-.ENDIF
-.ENDIF # "$(USE_STLP_DEBUG)" != ""
-
-#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC)
-
# name of library manager
LIBMGR=ar
LIBFLAGS=-r
diff --git a/solenv/inc/unxfbsdi.mk b/solenv/inc/unxfbsdi.mk
index c1227a35f2d3..c01fc21fbb2d 100644
--- a/solenv/inc/unxfbsdi.mk
+++ b/solenv/inc/unxfbsdi.mk
@@ -41,6 +41,3 @@ CFLAGSOPT=-Os -fno-strict-aliasing # optimizing for products
.ELSE # "$(PRODUCT)"!=""
CFLAGSOPT= # no optimizing for non products
.ENDIF # "$(PRODUCT)"!=""
-
-# platform specific identifier for shared libs
-DLLPOSTFIX=fi
diff --git a/solenv/inc/unxfbsdx.mk b/solenv/inc/unxfbsdx.mk
index 4a8e120d318e..6fb0641d94d3 100644
--- a/solenv/inc/unxfbsdx.mk
+++ b/solenv/inc/unxfbsdx.mk
@@ -44,6 +44,4 @@ CFLAGSOPT=-O2 -fno-strict-aliasing # optimizing for products
CFLAGSOPT= # no optimizing for non products
.ENDIF # "$(PRODUCT)"!=""
-# platform specific identifier for shared libs
-DLLPOSTFIX=fx
BUILD64=1
diff --git a/solenv/inc/unxgcc.mk b/solenv/inc/unxgcc.mk
new file mode 100644
index 000000000000..752de80c7b36
--- /dev/null
+++ b/solenv/inc/unxgcc.mk
@@ -0,0 +1,266 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+
+# generic mk file for gcc on unix systems
+
+ASM*=
+AFLAGS*=
+SOLAR_JAVA*=
+# default optimization level for product code
+CDEFAULTOPT*=-O2
+# 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
+ARCH_FLAGS*=
+# position independent code switch
+PICSWITCH*:=-fpic
+JAVAFLAGSDEBUG=-g
+
+# filter for supressing verbose messages from linker
+#not needed at the moment
+#LINKOUTPUT_FILTER=" |& $(SOLARENV)/bin/msg_filter"
+
+# _PTHREADS is needed for the stl
+CDEFS+=-D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1
+
+# enable visibility define in "sal/types.h"
+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
+CDEFS += -DHAVE_GCC_VISIBILITY_FEATURE
+.ENDIF # "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
+
+# this is a platform with JAVA support
+.IF "$(SOLAR_JAVA)"!=""
+JAVADEF=-DSOLAR_JAVA
+.IF "$(debug)"==""
+JAVA_RUNTIME=-ljava
+.ELSE
+JAVA_RUNTIME=-ljava_g
+.ENDIF
+.ENDIF
+
+# name of C++ Compiler
+CXX*=g++
+# name of C Compiler
+CC*=gcc
+.IF "$(SYSBASE)"!=""
+CFLAGS_SYSBASE:=-isystem $(SYSBASE)$/usr$/include
+CXX+:=$(CFLAGS_SYSBASE)
+CC+:=$(CFLAGS_SYSBASE)
+.ENDIF # "$(SYSBASE)"!=""
+CFLAGS+=-fmessage-length=0 -c
+
+# flags to enable build with symbols
+CFLAGSENABLESYMBOLS=-g
+
+# flags for the C++ Compiler
+CFLAGSCC= -pipe $(ARCH_FLAGS)
+# Flags for enabling exception handling
+CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs
+# Flags for disabling exception handling
+CFLAGS_NO_EXCEPTIONS=-fno-exceptions
+
+# -fpermissive should be removed as soon as possible
+CFLAGSCXX= -pipe $(ARCH_FLAGS)
+.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE" && "$(HAVE_GCC_VISIBILITY_BROKEN)" != "TRUE"
+CFLAGSCXX+=-fvisibility-inlines-hidden
+.ENDIF # "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
+.IF "$(HAVE_CXX0X)" == "TRUE"
+CFLAGSCXX+=-std=c++0x -Wno-deprecated-declarations
+.ENDIF # "$(HAVE_CXX0X)" == "TRUE"
+
+CFLAGS_CREATE_PCH=-x c++-header -I$(INCPCH) -DPRECOMPILED_HEADERS
+CFLAGS_USE_PCH=-I$(SLO)$/pch -DPRECOMPILED_HEADERS -Winvalid-pch
+CFLAGS_USE_EXCEPTIONS_PCH=-I$(SLO)$/pch_ex -DPRECOMPILED_HEADERS -Winvalid-pch
+
+# Compiler flags for compiling static object in multi threaded environment with graphical user interface
+CFLAGSOBJGUIMT=
+# Compiler flags for compiling static object in multi threaded environment with character user interface
+CFLAGSOBJCUIMT=
+# Compiler flags for compiling shared object in multi threaded environment with graphical user interface
+CFLAGSSLOGUIMT=$(PICSWITCH)
+# Compiler flags for compiling shared object in multi threaded environment with character user interface
+CFLAGSSLOCUIMT=$(PICSWITCH)
+# Compiler flags for profiling
+CFLAGSPROF=
+# Compiler flags for debugging
+CFLAGSDEBUG=-g
+CFLAGSDBGUTIL=
+
+GCCNUMVERSION_CMD=-dumpversion $(PIPEERROR) $(AWK) -v num=true -f $(SOLARENV)/bin/getcompver.awk
+GCCNUMVER:=$(shell @-$(CXX) $(GCCNUMVERSION_CMD))
+
+# Compiler flags for enabling optimizations
+.IF "$(PRODUCT)"!=""
+CFLAGSOPT=$(CDEFAULTOPT) # optimizing for products
+.IF "$(GCCNUMVER)" <= "000400050000"
+#At least SLED 10.2 gcc 4.3 overly agressively optimizes
+#uno::Sequence into junk, so only strict-alias on compiler
+#later than 4.5.1
+CFLAGSOPT+=-fno-strict-aliasing
+.ENDIF
+.ELSE # "$(PRODUCT)"!=""
+CFLAGSOPT= # no optimizing for non products
+.ENDIF # "$(PRODUCT)"!=""
+
+# Compiler flags for disabling optimizations
+CFLAGSNOOPT=-O0
+# Compiler flags for describing the output path
+CFLAGSOUTOBJ=-o
+
+# -Wshadow does not work for C with nested uses of pthread_cleanup_push:
+CFLAGSWARNCC=-Wall -Wextra -Wendif-labels
+CFLAGSWARNCXX=$(CFLAGSWARNCC) -Wshadow -Wno-ctor-dtor-privacy \
+ -Wno-non-virtual-dtor -Woverloaded-virtual
+CFLAGSWALLCC=$(CFLAGSWARNCC)
+CFLAGSWALLCXX=$(CFLAGSWARNCXX)
+CFLAGSWERRCC=-Werror
+
+COMPILER_WARN_ERRORS=TRUE
+
+# switches for dynamic and static linking
+STATIC = -Wl,-Bstatic
+DYNAMIC = -Wl,-Bdynamic
+
+# name of linker
+LINK*=$(CXX)
+LINKC*=$(CC)
+
+# default linker flags
+.IF "$(SYSBASE)"!=""
+LINKFLAGS_SYSBASE:=-Wl,--sysroot=$(SYSBASE)
+.ENDIF # "$(SYSBASE)"!=""
+#
+# The DT RPATH value is used first, before any other path, specifically before
+# the path defined in the LD_LIBRARY_PATH environment variable. This is
+# problematic since it does not allow the user to overwrite the value.
+# Therefore DT_RPATH is deprecated. The introduction of the new variant,
+# DT_RUNPATH, corrects this oversight by requiring the value is used after the
+# path in LD_LIBRARY_PATH.
+#
+# The linker option --enable-new-dtags must be used to also add DT_RUNPATH
+# entry. This will cause both, DT_RPATH and DT_RUNPATH entries, to be created
+#
+LINKFLAGSDEFS*=-Wl,-z,defs
+LINKFLAGSRUNPATH_URELIB=-Wl,-rpath,\''$$ORIGIN'\',--enable-new-dtags
+LINKFLAGSRUNPATH_UREBIN=-Wl,-rpath,\''$$ORIGIN/../lib:$$ORIGIN'\',--enable-new-dtags
+ #TODO: drop $ORIGIN once no URE executable is also shipped in OOo
+LINKFLAGSRUNPATH_OOO=-Wl,-rpath,\''$$ORIGIN:$$ORIGIN/../ure-link/lib'\',--enable-new-dtags
+LINKFLAGSRUNPATH_SDK=-Wl,-rpath,\''$$ORIGIN/../../ure-link/lib'\',--enable-new-dtags
+LINKFLAGSRUNPATH_BRAND=-Wl,-rpath,\''$$ORIGIN:$$ORIGIN/../basis-link/program:$$ORIGIN/../basis-link/ure-link/lib'\',--enable-new-dtags
+LINKFLAGSRUNPATH_OXT=
+LINKFLAGSRUNPATH_BOXT=-Wl,-rpath,\''$$ORIGIN/../../../basis-link/program'\',--enable-new-dtags
+LINKFLAGSRUNPATH_NONE=
+# flag -Wl,-z,noexecstack sets the NX bit on the stack
+LINKFLAGS=-Wl,-z,noexecstack -Wl,-z,combreloc $(LINKFLAGSDEFS) $(LINKFLAGS_SYSBASE)
+.IF "$(HAVE_LD_BSYMBOLIC_FUNCTIONS)" == "TRUE"
+LINKFLAGS += -Wl,-Bsymbolic-functions -Wl,--dynamic-list-cpp-new -Wl,--dynamic-list-cpp-typeinfo
+.ENDIF
+
+# linker flags for linking applications
+LINKFLAGSAPPGUI= -Wl,-export-dynamic \
+ -Wl,-rpath-link,$(LB):$(SOLARLIBDIR):$(SYSBASE)/lib:$(SYSBASE)/usr/lib
+LINKFLAGSAPPCUI= -Wl,-export-dynamic \
+ -Wl,-rpath-link,$(LB):$(SOLARLIBDIR):$(SYSBASE)/lib:$(SYSBASE)/usr/lib
+
+# linker flags for linking shared libraries
+LINKFLAGSSHLGUI= -shared
+LINKFLAGSSHLCUI= -shared
+
+LINKFLAGSTACK=
+LINKFLAGSPROF=
+LINKFLAGSDEBUG=-g
+LINKFLAGSOPT=
+
+# linker flags for optimization (symbol hashtable)
+# for now, applied to symbol scoped libraries, only
+LINKFLAGSOPTIMIZE*=-Wl,-O1
+LINKVERSIONMAPFLAG=$(LINKFLAGSOPTIMIZE) -Wl,--version-script
+
+SONAME_SWITCH=-Wl,-h
+
+# Sequence of libs does matter !
+
+STDLIBCPP=-lstdc++
+
+# default objectfilenames to link
+STDOBJVCL=$(L)$/salmain.o
+STDOBJGUI=
+STDSLOGUI=
+STDOBJCUI=
+STDSLOCUI=
+
+.IF "$(ALLOC)" == "TCMALLOC"
+STDLIBGUIMT+=-ltcmalloc
+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=$(WITH_LINKER_HASH_STYLE)
+.ELSE
+LINKFLAGS += -Wl,-zdynsort
+.ENDIF
+
+# libraries for linking applications
+STDLIBGUIMT+=-Wl,--as-needed $(DL_LIB) $(PTHREAD_LIBS) -lm -Wl,--no-as-needed
+STDLIBCUIMT+=-Wl,--as-needed $(DL_LIB) $(PTHREAD_LIBS) -lm -Wl,--no-as-needed
+# libraries for linking shared libraries
+STDSHLGUIMT+=-Wl,--as-needed $(DL_LIB) $(PTHREAD_LIBS) -lm -Wl,--no-as-needed
+STDSHLCUIMT+=-Wl,--as-needed $(DL_LIB) $(PTHREAD_LIBS) -lm -Wl,--no-as-needed
+
+X11LINK_DYNAMIC = -Wl,--as-needed -lXext -lX11 -Wl,--no-as-needed
+
+LIBSALCPPRT*=-Wl,--whole-archive -lsalcpprt -Wl,--no-whole-archive
+
+# name of library manager
+LIBMGR*=$(AR)
+LIBFLAGS=-r
+
+# tool for generating import libraries
+IMPLIB=
+IMPLIBFLAGS=
+
+MAPSYM=
+MAPSYMFLAGS=
+
+RC=irc
+RCFLAGS=-fo$@ $(RCFILES)
+RCLINK=
+RCLINKFLAGS=
+RCSETVERSION=
+
+# platform specific identifier for shared libs
+DLLPRE=lib
+DLLPOST=.so
+PCHPOST=.gch
diff --git a/solenv/inc/unxhpgr.mk b/solenv/inc/unxhpgr.mk
deleted file mode 100644
index 9ac0c7e3daf1..000000000000
--- a/solenv/inc/unxhpgr.mk
+++ /dev/null
@@ -1,133 +0,0 @@
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-
-# mak file fuer unxhpxr
-ASM=
-AFLAGS=
-
-CDEFS+=-D_PTHREADS -D_STD_NO_NAMESPACE -D_VOS_NO_NAMESPACE -D_UNO_NO_NAMESPACE
-CDEFS+=-DSYSV -D_POSIX_PTHREAD_SEMANTICS -D_HPUX_SOURCE -DRWSTD_MULTI_THREAD -D_REENTRANT -D__HPACC_NOEH -D__STL_NO_EXCEPTIONS
- #CDEFS+= -D__hppa__
-
-# obernervige Warnungen abschalten
-# 67 = invalid pragma name
-# 251 = An object cannot be deleted using a pointer of type 'void *' since the
-# type of the object allocated is unknown.
-# 370 = The friend declaration is not in the correct form for either a function or a class.
-# (future error)
-# 600 = Type specifier is omitted; "int" is no longer assumed.
-DISWARN=+W67,251,370,600
-
-# 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
-ARCH_FLAGS*=
-
-#CXX=/opt/aCC/bin/aCC
-#CC=/opt/ansic/bin/cc
-CXX=g++
-CC=gcc
-CFLAGSWALL=-Wall
-CFLAGS=-nostdinc -c
-CFLAGSCC=-pipe -fguiding-decls $(ARCH_FLAGS)
-CFLAGSCXX=-pipe -fguiding-decls $(ARCH_FLAGS)
-PICSWITCH:=-fPIC
-CFLAGSOBJGUIMT=
-CFLAGSOBJCUIMT=
-CFLAGSSLOGUIMT=$(PICSWITCH)
-CFLAGSSLOCUIMT=$(PICSWITCH)
-CFLAGSPROF=
-CFLAGSDEBUG=-g
-CFLAGSDBGUTIL=
-CFLAGSOPT=-O2
-CFLAGSNOOPT=
-CFLAGSOUTOBJ=-o
-
-
- #THREADLIB=-L/opt/dce/lib -ldce
-# use native aCC to build or link with shared libs, for the sake of
-# global class-instances
-
-STATIC = -Bstatic
-DYNAMIC = -Bdynamic
-
-#LINK=$(SOLARENV)/unxhpgr/lib/gcc-lib/hppa1.1-hp-hpux10.20/egcs-2.90.29/ld
-LINK=ld
-LINKFLAGS=-L/nw386/dev/s/solenv/unxhpgr/lib/gcc-lib/hppa1.1-hp-hpux10.20/egcs-2.91.57/threads -L/nw386/dev/s/solenv/unxhpgr/lib/gcc-lib/hppa1.1-hp-hpux10.20/egcs-2.91.57
-LINKFLAGSAPPGUI= /usr/lib/crt0.o
-LINKFLAGSSHLGUI= -b -noinhibit-exec -Bsymbolic -G $(THREADLIB)
-LINKFLAGSAPPCUI= /usr/lib/crt0.o
-LINKFLAGSSHLCUI= -b -noinhibit-exec -warn-once -Bsymbolic -G
-LINKFLAGSTACK=
-APPLINKSTATIC=-Bstatic
-APPLINKSHARED=-Bsymbolic
-APP_LINKTYPE=
-
-# reihenfolge der libs NICHT egal!
-STDOBJGUI=
-STDSLOGUI=
-STDOBJCUI=
-STDSLOCUI=
-#STDLIBGUIMT= -lX11 -lXext -lcma -lsec -lcxx -ldld -lc_r -lm
-STDLIBGUIMT= -lX11 -lXext -ldce
-STDLIBCUIMT= -lc_r -lgcc -ldce
-#STDSHLGUIMT= -lX11 -lXext -lcma -lsec -lcxx -ldld -lc_r
-STDSHLGUIMT= -lcma -lsec -ldld -lc_r
-STDSHLCUIMT=
-# -L/opt/dce/lib -ldce -lsec -lcxx
-
-LIBMGR=ar
-LIBFLAGS=-r
-# LIBEXT=.so
-
-IMPLIB=
-IMPLIBFLAGS=
-
-MAPSYM=
-MAPSYMFLAGS=
-
-RC=
-RCFLAGS=
-RCLINK=
-RCLINKFLAGS=
-RCSETVERSION=
-
-DLLPOSTFIX=hg
-DLLPRE=lib
-DLLPOST=.sl
-
-LDUMP=c++filt
-
-.IF "$(PRJNAME)"=="uno" || "$(PRJNAME)"=="vos"
-#CFLAGS += -D_PTHREADS -U_REENTRANT -U_POSIX_PTHREAD_SEMANTICS
-#CFLAGSSLO += -instances=extern -template=wholeclass -ptr$(SLO)
-#CFLAGSOBJ += -instances=global -template=wholeclass -ptr$(SLO)
-#LINKFLAGS+= -temp=/tmp -PIC -instances=extern -ptr$(SLO)
-.ENDIF
-
-#SHLLINKARCONLY=yes
-
diff --git a/solenv/inc/unxhpxr.mk b/solenv/inc/unxhpxr.mk
deleted file mode 100644
index 174d61fc2b4c..000000000000
--- a/solenv/inc/unxhpxr.mk
+++ /dev/null
@@ -1,131 +0,0 @@
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-# mak file fuer unxhpxr
-ASM=
-AFLAGS=
-
-CDEFS+=-D_PTHREADS -D_STD_NO_NAMESPACE -D_VOS_NO_NAMESPACE -D_UNO_NO_NAMESPACE -DSYSV -D_POSIX_PTHREAD_SEMANTICS -D_HPUX_SOURCE -DRWSTD_MULTI_THREAD -D_REENTRANT -D__HPACC_NOEH -D__STL_NO_EXCEPTIONS
-
-# kann c++ was c braucht??
-
-# obernervige Warnungen abschalten
-# 67 = invalid pragma name
-# 251 = An object cannot be deleted using a pointer of type 'void *' since the
-# type of the object allocated is unknown.
-# 370 = The friend declaration is not in the correct form for either a function or a class.
-# (future error)
-# 600 = Type specifier is omitted; "int" is no longer assumed.
-DISWARN=+W67,251,370,600
-
-# 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
-ARCH_FLAGS*=
-
-#CXX=/opt/aCC/bin/aCC
-#CC=/opt/ansic/bin/cc
-CXX=aCC
-CC=cc
-CFLAGS= -c
-CFLAGSCC= -Aa +e +Z $(ARCH_FLAGS)
-CFLAGSCXX=$(DISWARN) +Z $(ARCH_FLAGS)
-CFLAGSOBJGUIMT=
-CFLAGSOBJCUIMT=
-CFLAGSSLOGUIMT=
-CFLAGSSLOCUIMT=
-CFLAGSPROF=
-CFLAGSDEBUG=-g
-CFLAGSDBGUTIL=
-CFLAGSOPT=-O
-CFLAGSNOOPT=
-CFLAGSOUTOBJ=-o
-
-
-THREADLIB=-L/opt/dce/lib -ldce
-# use native aCC to build or link with shared libs, for the sake of
-# global class-instances
-LINK=/opt/aCC/bin/aCC
-LINKFLAGS=
-LINKFLAGSAPPGUI=-Wl,+s
-LINKFLAGSSHLGUI=-b -L/usr/solar/lib -L/usr/contrib/X11R6/lib
-LINKFLAGSAPPCUI=-Wl,+s
-LINKFLAGSSHLCUI=-b -L/usr/contrib/X11R6/lib
-LINKFLAGSTACK=
-LINKFLAGSPROF=
-LINKFLAGSDEBUG=
-LINKFLAGSOPT=
-
-# reihenfolge der libs NICHT egal!
-STDOBJGUI=
-STDSLOGUI=
-STDOBJCUI=
-STDSLOCUI=
-#STDLIBGUIMT= -lX11 -lXext -lcma -lsec -lcxx -ldld -lc_r -lm
-STDLIBGUIMT= -lX11 -lXext -lpthread
-STDLIBCUIMT= -lcma
-#STDSHLGUIMT= -lX11 -lXext -lcma -lsec -lcxx -ldld -lc_r
-STDSHLCUIMT=
-# -L/opt/dce/lib -ldce -lsec -lcxx
-
-LIBMGR=ar
-LIBFLAGS=-r
-# LIBEXT=.so
-
-IMPLIB=
-IMPLIBFLAGS=
-
-MAPSYM=
-MAPSYMFLAGS=
-
-RC=
-RCFLAGS=
-RCLINK=
-RCLINKFLAGS=
-RCSETVERSION=
-
-DLLPOSTFIX=hr
-DLLPRE=lib
-DLLPOST=.sl
-
-LDUMP=c++filt
-
-.IF "$(WORK_STAMP)"!="MIX364"
-DLLPOSTFIX=ss
-.ELSE
-DLLPOSTFIX=
-.ENDIF
-
-
-.IF "$(PRJNAME)"=="uno" || "$(PRJNAME)"=="vos"
-#CFLAGS += -D_PTHREADS -U_REENTRANT -U_POSIX_PTHREAD_SEMANTICS
-#CFLAGSSLO += -instances=extern -template=wholeclass -ptr$(SLO)
-#CFLAGSOBJ += -instances=global -template=wholeclass -ptr$(SLO)
-#LINKFLAGS+= -temp=/tmp -PIC -instances=extern -ptr$(SLO)
-.ENDIF
-
-#SHLLINKARCONLY=yes
-
diff --git a/solenv/inc/unxiosr.mk b/solenv/inc/unxiosr.mk
new file mode 100644
index 000000000000..3235026c9846
--- /dev/null
+++ b/solenv/inc/unxiosr.mk
@@ -0,0 +1,76 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+
+# --- Unix Environment for iOS cross-compilation -------------
+
+CFLAGS=-c $(EXTRA_CFLAGS)
+
+LINKC*=$(CC)
+LINK*=$(CXX)
+
+STDLIBCUIMT=-framework CoreFoundation
+STDLIBGUIMT=-framework CoreFoundation
+STDSHLCUIMT=-framework CoreFoundation
+STDSHLGUIMT=-framework CoreFoundation
+
+LIBMGR*=ar
+LIBFLAGS=-r
+
+PROCESSOR_DEFINES=-DARM32
+
+DLLPRE=lib
+DLLPOST=.a
+
+# flags to enable build with symbols
+CFLAGSENABLESYMBOLS=-g
+
+# Flag for including debugging information in object files
+CFLAGSDEBUG=-g
+CFLAGSDBGUTIL=
+
+# Flag to specify output file to compiler/linker
+CFLAGSOUTOBJ=-o
+
+# # Include generic Mac OS X makefile
+# .INCLUDE : unxmacx.mk
+
+# --- general *ix settings ---
+HC=hc
+HCFLAGS=
+PATH_SEPERATOR*=:
+CDEFS+=-D__DMAKE
+
+CDEFS+=-DUNIX
+
+YACC*=yacc
+YACCFLAGS*=-d -t
+
+EXECPOST=
+SCPPOST=.ins
+DLLDEST=$(LB)
+
+OOO_LIBRARY_PATH_VAR = DYLD_LIBRARY_PATH
diff --git a/solenv/inc/unxlng.mk b/solenv/inc/unxlng.mk
index fd9f7832808d..62746cee4f15 100644
--- a/solenv/inc/unxlng.mk
+++ b/solenv/inc/unxlng.mk
@@ -25,244 +25,8 @@
#
#*************************************************************************
-# generic mk file for unxlng (unix linux glibc)
-ASM*=
-AFLAGS*=
-SOLAR_JAVA*=
-# default optimization level for product code
-CDEFAULTOPT*=-O2
-# 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
-ARCH_FLAGS*=
-# position independent code switch
-PICSWITCH*:=-fpic
-JAVAFLAGSDEBUG=-g
+CDEFS+=-DGLIBC=2
+PTHREAD_LIBS=-lpthread
+DL_LIB=-ldl
-# filter for supressing verbose messages from linker
-#not needed at the moment
-#LINKOUTPUT_FILTER=" |& $(SOLARENV)/bin/msg_filter"
-
-# _PTHREADS is needed for the stl
-CDEFS+=-DGLIBC=2 -D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=$(STLPORT_VER)
-
-# enable visibility define in "sal/types.h"
-.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
-CDEFS += -DHAVE_GCC_VISIBILITY_FEATURE
-.ENDIF # "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
-
-# this is a platform with JAVA support
-.IF "$(SOLAR_JAVA)"!=""
-JAVADEF=-DSOLAR_JAVA
-.IF "$(debug)"==""
-JAVA_RUNTIME=-ljava
-.ELSE
-JAVA_RUNTIME=-ljava_g
-.ENDIF
-.ENDIF
-
-# name of C++ Compiler
-CXX*=g++
-# name of C Compiler
-CC*=gcc
-.IF "$(SYSBASE)"!=""
-CFLAGS_SYSBASE:=--sysroot=$(SYSBASE)
-CXX+:=$(CFLAGS_SYSBASE)
-CC+:=$(CFLAGS_SYSBASE)
-.ENDIF # "$(SYSBASE)"!=""
-CFLAGS+=-fmessage-length=0 -c
-
-# flags to enable build with symbols; required for crashdump feature
-.IF "$(ENABLE_SYMBOLS)"=="SMALL"
-CFLAGSENABLESYMBOLS=-g1
-.ELSE
-CFLAGSENABLESYMBOLS=-g # was temporarily commented out, reenabled before Beta
-
-.ENDIF
-
-# flags for the C++ Compiler
-CFLAGSCC= -pipe $(ARCH_FLAGS)
-# Flags for enabling exception handling
-CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs
-# Flags for disabling exception handling
-CFLAGS_NO_EXCEPTIONS=-fno-exceptions
-
-# -fpermissive should be removed as soon as possible
-CFLAGSCXX= -pipe $(ARCH_FLAGS)
-.IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
-CFLAGSCXX += -fvisibility-inlines-hidden
-.ENDIF # "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
-
-CFLAGS_CREATE_PCH=-x c++-header -I$(INCPCH) -DPRECOMPILED_HEADERS
-CFLAGS_USE_PCH=-I$(SLO)$/pch -DPRECOMPILED_HEADERS -Winvalid-pch
-CFLAGS_USE_EXCEPTIONS_PCH=-I$(SLO)$/pch_ex -DPRECOMPILED_HEADERS -Winvalid-pch
-
-# Compiler flags for compiling static object in multi threaded environment with graphical user interface
-CFLAGSOBJGUIMT=
-# Compiler flags for compiling static object in multi threaded environment with character user interface
-CFLAGSOBJCUIMT=
-# Compiler flags for compiling shared object in multi threaded environment with graphical user interface
-CFLAGSSLOGUIMT=$(PICSWITCH)
-# Compiler flags for compiling shared object in multi threaded environment with character user interface
-CFLAGSSLOCUIMT=$(PICSWITCH)
-# Compiler flags for profiling
-CFLAGSPROF=
-# Compiler flags for debugging
-CFLAGSDEBUG=-g
-CFLAGSDBGUTIL=
-# Compiler flags for enabling optimizations
-.IF "$(PRODUCT)"!=""
-CFLAGSOPT=$(CDEFAULTOPT) -fno-strict-aliasing # optimizing for products
-.ELSE # "$(PRODUCT)"!=""
-CFLAGSOPT= # no optimizing for non products
-.ENDIF # "$(PRODUCT)"!=""
-# Compiler flags for disabling optimizations
-CFLAGSNOOPT=-O0
-# Compiler flags for describing the output path
-CFLAGSOUTOBJ=-o
-
-# -Wshadow does not work for C with nested uses of pthread_cleanup_push:
-CFLAGSWARNCC=-Wall -Wextra -Wendif-labels
-CFLAGSWARNCXX=$(CFLAGSWARNCC) -Wshadow -Wno-ctor-dtor-privacy \
- -Wno-non-virtual-dtor
-CFLAGSWALLCC=$(CFLAGSWARNCC)
-CFLAGSWALLCXX=$(CFLAGSWARNCXX)
-CFLAGSWERRCC=-Werror
-
-# Once all modules on this platform compile without warnings, set
-# COMPILER_WARN_ERRORS=TRUE here instead of setting MODULES_WITH_WARNINGS (see
-# settings.mk):
-MODULES_WITH_WARNINGS := \
- soldep
-
-# switches for dynamic and static linking
-STATIC = -Wl,-Bstatic
-DYNAMIC = -Wl,-Bdynamic
-
-# name of linker
-LINK*=$(CXX)
-LINKC*=$(CC)
-
-# default linker flags
-.IF "$(SYSBASE)"!=""
-LINKFLAGS_SYSBASE:=-Wl,--sysroot=$(SYSBASE)
-.ENDIF # "$(SYSBASE)"!=""
-LINKFLAGSDEFS*=-Wl,-z,defs
-LINKFLAGSRUNPATH_URELIB=-Wl,-rpath,\''$$ORIGIN'\'
-LINKFLAGSRUNPATH_UREBIN=-Wl,-rpath,\''$$ORIGIN/../lib:$$ORIGIN'\'
- #TODO: drop $ORIGIN once no URE executable is also shipped in OOo
-LINKFLAGSRUNPATH_OOO=-Wl,-rpath,\''$$ORIGIN:$$ORIGIN/../ure-link/lib'\'
-LINKFLAGSRUNPATH_SDK=-Wl,-rpath,\''$$ORIGIN/../../ure-link/lib'\'
-LINKFLAGSRUNPATH_BRAND=-Wl,-rpath,\''$$ORIGIN:$$ORIGIN/../basis-link/program:$$ORIGIN/../basis-link/ure-link/lib'\'
-LINKFLAGSRUNPATH_OXT=
-LINKFLAGSRUNPATH_BOXT=-Wl,-rpath,\''$$ORIGIN/../../../basis-link/program'\'
-LINKFLAGSRUNPATH_NONE=
-LINKFLAGS=-Wl,-z,combreloc $(LINKFLAGSDEFS) $(LINKFLAGS_SYSBASE)
-.IF "$(HAVE_LD_BSYMBOLIC_FUNCTIONS)" == "TRUE"
-LINKFLAGS += -Wl,-Bsymbolic-functions -Wl,--dynamic-list-cpp-new -Wl,--dynamic-list-cpp-typeinfo
-.ENDIF
-
-# linker flags for linking applications
-LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,--noinhibit-exec \
- -Wl,-rpath-link,$(LB):$(SOLARLIBDIR):$(SYSBASE)/lib:$(SYSBASE)/usr/lib
-LINKFLAGSAPPCUI= -Wl,-export-dynamic -Wl,--noinhibit-exec \
- -Wl,-rpath-link,$(LB):$(SOLARLIBDIR):$(SYSBASE)/lib:$(SYSBASE)/usr/lib
-
-# linker flags for linking shared libraries
-LINKFLAGSSHLGUI= -shared
-LINKFLAGSSHLCUI= -shared
-
-LINKFLAGSTACK=
-LINKFLAGSPROF=
-LINKFLAGSDEBUG=-g
-LINKFLAGSOPT=
-
-# linker flags for optimization (symbol hashtable)
-# for now, applied to symbol scoped libraries, only
-LINKFLAGSOPTIMIZE*=-Wl,-O1
-LINKVERSIONMAPFLAG=$(LINKFLAGSOPTIMIZE) -Wl,--version-script
-
-SONAME_SWITCH=-Wl,-h
-
-# Sequence of libs does matter !
-
-STDLIBCPP=-lstdc++
-
-# default objectfilenames to link
-STDOBJVCL=$(L)$/salmain.o
-STDOBJGUI=
-STDSLOGUI=
-STDOBJCUI=
-STDSLOCUI=
-
-.IF "$(ALLOC)" == "TCMALLOC"
-STDLIBGUIMT+=-ltcmalloc
-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
-LINKFLAGS += -Wl,-zdynsort
-.ENDIF
-
-# libraries for linking applications
-STDLIBGUIMT+=-Wl,--as-needed -ldl -lpthread -lm -Wl,--no-as-needed
-STDLIBCUIMT+=-Wl,--as-needed -ldl -lpthread -lm -Wl,--no-as-needed
-# libraries for linking shared libraries
-STDSHLGUIMT+=-Wl,--as-needed -ldl -lpthread -lm -Wl,--no-as-needed
-STDSHLCUIMT+=-Wl,--as-needed -ldl -lpthread -lm -Wl,--no-as-needed
-
-X11LINK_DYNAMIC = -Wl,--as-needed -lXext -lX11 -Wl,--no-as-needed
-
-LIBSALCPPRT*=-Wl,--whole-archive -lsalcpprt -Wl,--no-whole-archive
-
-.IF "$(USE_STLP_DEBUG)" != ""
-.IF "$(STLPORT_VER)" >= "500"
-LIBSTLPORT=$(DYNAMIC) -lstlportstlg
-LIBSTLPORTST=$(STATIC) -lstlportstlg $(DYNAMIC)
-.ELSE
-LIBSTLPORT=$(DYNAMIC) -lstlport_gcc_stldebug
-LIBSTLPORTST=$(STATIC) -lstlport_gcc_stldebug $(DYNAMIC)
-.ENDIF
-.ELSE # "$(USE_STLP_DEBUG)" != ""
-.IF "$(STLPORT_VER)" >= "500"
-LIBSTLPORT=$(DYNAMIC) -lstlport
-LIBSTLPORTST=$(STATIC) -lstlport $(DYNAMIC)
-.ELSE
-LIBSTLPORT=$(DYNAMIC) -lstlport_gcc
-LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC)
-.ENDIF
-.ENDIF # "$(USE_STLP_DEBUG)" != ""
-
-#FILLUPARC=$(STATIC) -lsupc++ $(DYNAMIC)
-
-# name of library manager
-LIBMGR*=ar
-LIBFLAGS=-r
-
-# tool for generating import libraries
-IMPLIB=
-IMPLIBFLAGS=
-
-MAPSYM=
-MAPSYMFLAGS=
-
-RC=irc
-RCFLAGS=-fo$@ $(RCFILES)
-RCLINK=
-RCLINKFLAGS=
-RCSETVERSION=
-
-# platform specific identifier for shared libs
-DLLPRE=lib
-DLLPOST=.so
-PCHPOST=.gch
+.INCLUDE : unxgcc.mk
diff --git a/solenv/inc/unxlnga.mk b/solenv/inc/unxlnga.mk
index da5d2fcd3d38..e7882f3a905a 100644
--- a/solenv/inc/unxlnga.mk
+++ b/solenv/inc/unxlnga.mk
@@ -29,5 +29,4 @@
.INCLUDE : unxlng.mk
CFLAGS+=-DIA64
-DLLPOSTFIX=la
BUILD64=1
diff --git a/solenv/inc/unxlngaxp.mk b/solenv/inc/unxlngaxp.mk
index bf7711a10c5b..fdeb932f2264 100644
--- a/solenv/inc/unxlngaxp.mk
+++ b/solenv/inc/unxlngaxp.mk
@@ -30,5 +30,5 @@
PICSWITCH:=-fPIC
.INCLUDE : unxlng.mk
CFLAGS+=-DAXP
-DLLPOSTFIX=ll
+LINKFLAGS+=-Wl,--no-relax
BUILD64=1
diff --git a/solenv/inc/unxlnghppa.mk b/solenv/inc/unxlnghppa.mk
index 7ae2d25c332e..41a428e31689 100644
--- a/solenv/inc/unxlnghppa.mk
+++ b/solenv/inc/unxlnghppa.mk
@@ -32,4 +32,3 @@ CDEFS+=-DHPPA
CFLAGS+=
CFLAGSCC+=
CFLAGSCXX+=
-DLLPOSTFIX=lh
diff --git a/solenv/inc/unxlngi.mk b/solenv/inc/unxlngi.mk
index d86aab185d0e..79c255c326a2 100644
--- a/solenv/inc/unxlngi.mk
+++ b/solenv/inc/unxlngi.mk
@@ -27,8 +27,11 @@
# mk file for Unix Linux Intel (X86) using GCC, please make generic modifications to unxlng.mk
CDEFAULTOPT=-Os
+.IF "$(GCCNUMVER)" >= "000400050000"
+ARCH_FLAGS*=-mtune=atom
+.ELSE
ARCH_FLAGS*=-mtune=pentiumpro
+.ENDIF
.INCLUDE : unxlng.mk
CDEFS+=-DX86
DLLPOST=.so
-DLLPOSTFIX=li
diff --git a/solenv/inc/unxlngm68k.mk b/solenv/inc/unxlngm68k.mk
index da6ed55d8cfd..b6a018a10a1d 100644
--- a/solenv/inc/unxlngm68k.mk
+++ b/solenv/inc/unxlngm68k.mk
@@ -34,4 +34,3 @@ CDEFS+=-DM68K
CFLAGS+=-fsigned-char -fno-omit-frame-pointer
CFLAGSCC+=-fsigned-char
CFLAGSCXX+=-fsigned-char
-DLLPOSTFIX=lm
diff --git a/solenv/inc/unxlngmips.mk b/solenv/inc/unxlngmips.mk
index 53c927d10b32..783305d6c9d1 100644
--- a/solenv/inc/unxlngmips.mk
+++ b/solenv/inc/unxlngmips.mk
@@ -30,4 +30,3 @@
CDEFAULTOPT=-Os
.INCLUDE : unxlng.mk
CDEFS+=-DMIPS
-DLLPOSTFIX=lm
diff --git a/solenv/inc/unxlngppc.mk b/solenv/inc/unxlngppc.mk
index 89b2501bf366..af528d96ee94 100644
--- a/solenv/inc/unxlngppc.mk
+++ b/solenv/inc/unxlngppc.mk
@@ -31,4 +31,3 @@ DEFAULTOPT=-Os
PICSWITCH:=-fPIC
.INCLUDE : unxlng.mk
CDEFS+=-DPOWERPC -DPPC
-DLLPOSTFIX=lp
diff --git a/solenv/inc/unxlngr.mk b/solenv/inc/unxlngr.mk
index 1bcbb6626219..81ee90ca4f0e 100644
--- a/solenv/inc/unxlngr.mk
+++ b/solenv/inc/unxlngr.mk
@@ -31,4 +31,3 @@ CDEFAULTOPT=-Os
.INCLUDE : unxlng.mk
CDEFS+=-DARM32
CFLAGS+=-fno-omit-frame-pointer
-DLLPOSTFIX=lr
diff --git a/solenv/inc/unxlngs.mk b/solenv/inc/unxlngs.mk
index b4e6f5f58f4d..390244f31d6c 100644
--- a/solenv/inc/unxlngs.mk
+++ b/solenv/inc/unxlngs.mk
@@ -33,4 +33,3 @@ CDEFAULTOPT=-Os
PICSWITCH:=-fPIC
.INCLUDE : unxlng.mk
CDEFS+=-DSPARC
-DLLPOSTFIX=ls
diff --git a/solenv/inc/unxlngs390.mk b/solenv/inc/unxlngs390.mk
index 47e2e37011e8..0eac39af0b9d 100644
--- a/solenv/inc/unxlngs390.mk
+++ b/solenv/inc/unxlngs390.mk
@@ -33,4 +33,3 @@ CDEFS+=-DS390
CFLAGS+=-fsigned-char -fno-omit-frame-pointer
CFLAGSCC+=-fsigned-char
CFLAGSCXX+=-fsigned-char
-DLLPOSTFIX=l3
diff --git a/solenv/inc/unxlngx.mk b/solenv/inc/unxlngx.mk
index 414f15d0dc92..9c89eddefad9 100644
--- a/solenv/inc/unxlngx.mk
+++ b/solenv/inc/unxlngx.mk
@@ -29,5 +29,4 @@
.INCLUDE : unxlng.mk
CDEFS+=-DX86_64
-DLLPOSTFIX=lx
BUILD64=1
diff --git a/solenv/inc/unxmacx.mk b/solenv/inc/unxmacx.mk
index ce049a672d23..c862f948b571 100644
--- a/solenv/inc/unxmacx.mk
+++ b/solenv/inc/unxmacx.mk
@@ -29,7 +29,7 @@
# Platform MAKEFILE for Mac OS X and Darwin on both PowerPC and Intel
##########################################################################
-# PROCESSOR_DEFINES and DLLPOSTFIX are defined in the particular platform file
+# PROCESSOR_DEFINES is defined in the particular platform file
ASM=
AFLAGS=
@@ -38,10 +38,7 @@ LINKOUTPUT_FILTER=
# Definitions that we may need on the compile line.
# -D_PTHREADS and -D_REENTRANT are needed for STLport, and must be specified when
# compiling STLport sources too, either internally or externally.
-CDEFS+=-DGLIBC=2 -D_PTHREADS -D_REENTRANT -DNO_PTHREAD_PRIORITY $(PROCESSOR_DEFINES) -DSTLPORT_VERSION=$(STLPORT_VER) -D_USE_NAMESPACE=1
-.IF "$(GUIBASE)"=="unx" && "$(USE_SYSTEM_STL)"!="YES"
-CDEFS+=-DX_LOCALE
-.ENDIF
+CDEFS+=-DGLIBC=2 -D_PTHREADS -D_REENTRANT -DNO_PTHREAD_PRIORITY $(PROCESSOR_DEFINES) -D_USE_NAMESPACE=1
.IF "$(GUIBASE)"=="aqua"
# MAXOSX_DEPLOYMENT_TARGET : The minimum version required to run the build,
# build can assume functions/libraries of that version to be available
@@ -166,27 +163,6 @@ CDEFS+=$(EXTRA_CDEFS)
STDLIBCPP=-lstdc++
# ---------------------------------
-# STLport library names
-# ---------------------------------
-.IF "$(USE_STLP_DEBUG)" != ""
-.IF "$(STLPORT_VER)" >= "500"
-LIBSTLPORT=-lstlportstlg
-LIBSTLPORTST=$(STATIC) -lstlportstlg
-.ELSE
-LIBSTLPORT=-lstlport_gcc_stldebug
-LIBSTLPORTST=$(SOLARVERSION)/$(INPATH)/lib/libstlport_gcc_stldebug.a
-.ENDIF
-.ELSE # "$(USE_STLP_DEBUG" != ""
-.IF "$(STLPORT_VER)" >= "500"
-LIBSTLPORT=-lstlport
-LIBSTLPORTST=$(STATIC) -lstlport
-.ELSE
-LIBSTLPORT=-lstlport_gcc
-LIBSTLPORTST=$(SOLARVERSION)/$(INPATH)/lib/libstlport_gcc.a
-.ENDIF
-.ENDIF # "$(USE_STLP_DEBUG" != ""
-
-# ---------------------------------
# Link stage flags
# ---------------------------------
# always link with gcc since you may be linking c code and don't want -lstdc++ linked in!
diff --git a/solenv/inc/unxmacxi.mk b/solenv/inc/unxmacxi.mk
index 7c7f0a88f4f4..1e620f34407b 100644
--- a/solenv/inc/unxmacxi.mk
+++ b/solenv/inc/unxmacxi.mk
@@ -31,8 +31,6 @@
PROCESSOR_DEFINES=-DX86
-DLLPOSTFIX=mxi
-
# special for SO build environment
.IF "$(SYSBASE)"!=""
.IF "$(EXTRA_CFLAGS)"!=""
@@ -42,12 +40,8 @@ CXXCPP*:=g++ -E $(EXTRA_CFLAGS)
.ENDIF # "$(EXTRA_CFLAGS)"!=""
.ENDIF # "$(SYSBASE)"!=""
-# flags to enable build with symbols; required by crashdump feature
-.IF "$(ENABLE_SYMBOLS)"=="SMALL"
-CFLAGSENABLESYMBOLS=-g1
-.ELSE
+# flags to enable build with symbols
CFLAGSENABLESYMBOLS=-g
-.ENDIF
# Include generic Mac OS X makefile
.INCLUDE : unxmacx.mk
diff --git a/solenv/inc/unxmacxp.mk b/solenv/inc/unxmacxp.mk
index 28b2881962de..805563a7fe14 100644
--- a/solenv/inc/unxmacxp.mk
+++ b/solenv/inc/unxmacxp.mk
@@ -31,7 +31,5 @@
PROCESSOR_DEFINES=-DPOWERPC -DPPC
-DLLPOSTFIX=mxp
-
# Include generic Mac OS X makefile
.INCLUDE : unxmacx.mk
diff --git a/solenv/inc/unxnbsd.mk b/solenv/inc/unxnbsd.mk
new file mode 100644
index 000000000000..b7d5e042e6fd
--- /dev/null
+++ b/solenv/inc/unxnbsd.mk
@@ -0,0 +1,25 @@
+#
+# mk file for NetBSD
+#
+
+# arch specific defines
+.IF "$(CPUNAME)" == "INTEL"
+CDEFS+=-DX86
+.ENDIF
+
+.IF "$(CPUNAME)" == "X86_64"
+CDEFS+=-DX86_64
+BUILD64=1
+.ENDIF
+
+.INCLUDE : unxgcc.mk
+
+# default linker flags
+# NetBSD has no support for using relative paths with $ORIGIN
+LINKFLAGSRUNPATH_UREBIN=
+LINKFLAGSRUNPATH_OOO=
+LINKFLAGSRUNPATH_SDK=
+LINKFLAGSRUNPATH_BRAND=
+
+LINKFLAGSDEFS=-Wl,--ignore-unresolved-symbol,environ
+LINKFLAGS=-Wl,-z,combreloc $(LINKFLAGSDEFS)
diff --git a/solenv/inc/unxobsd.mk b/solenv/inc/unxobsd.mk
new file mode 100644
index 000000000000..85fe81a12c52
--- /dev/null
+++ b/solenv/inc/unxobsd.mk
@@ -0,0 +1,85 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+
+# Makefile for OpenBSD
+
+<<<<<<< HEAD
+$(eval $(call gb_Module_add_moduledirs,ooo,\
+ basebmp \
+ basegfx \
+ dbaccess \
+ canvas \
+ comphelper \
+ cppcanvas \
+ editeng \
+ framework \
+ idl \
+ linguistic \
+ oox \
+ padmin \
+ regexp \
+ reportdesign \
+ sax \
+ sfx2 \
+ sot \
+ starmath \
+ svl \
+ svtools \
+ svx \
+ sw \
+ toolkit \
+ tools \
+ ucbhelper \
+ unotools \
+ unoxml \
+ vbahelper \
+ wizards \
+ writerfilter \
+ vcl \
+ xmloff \
+ xmlreader \
+ xmlscript \
+))
+=======
+# arch specific defines
+.IF "$(CPUNAME)" == "INTEL"
+CDEFS+=-DX86
+.ENDIF
+.IF "$(CPUNAME)" == "X86_64"
+CDEFS+=-DX86_64
+ARCH_FLAGS*=
+BUILD64=1
+.ENDIF
+>>>>>>> master
+
+.INCLUDE : unxgcc.mk
+
+# disable exceptions in boost
+CFLAGS_NO_EXCEPTIONS+=-DBOOST_NO_EXCEPTIONS
+
+# default linker flags
+LINKFLAGSDEFS:=
diff --git a/solenv/inc/unxscoi.mk b/solenv/inc/unxscoi.mk
deleted file mode 100644
index 901fe7b2cb22..000000000000
--- a/solenv/inc/unxscoi.mk
+++ /dev/null
@@ -1,140 +0,0 @@
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-
-# mak file fuer wnticci
-ASM=
-AFLAGS=
-
-CDEFS+=-D_PTHREADS -D_REENTRANT
-CDEFS+=-D_STD_NO_NAMESPACE -D_VOS_NO_NAMESPACE -D_UNO_NO_NAMESPACE -DX86 -DNEW_SOLAR
-# kann c++ was c braucht??
-
-# 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
-ARCH_FLAGS*=-mpentium
-
-CXX*=/nw386/dev/s/solenv/unxscoi/bin/g++
-CC*=/nw386/dev/s/solenv/unxscoi/bin/gcc
-CFLAGS=-c
-CFLAGSCC=$(ARCH_FLAGS)
-CFLAGSEXCEPTIONS=-fexceptions
-CFLAGS_NO_EXCEPTIONS=-fno-exceptions
-CFLAGSCXX=-fguiding-decls -frtti $(ARCH_FLAGS)
-PICSWITCH:=-fPIC
-CFLAGSOBJGUIMT=$(PICSWITCH)
-CFLAGSOBJCUIMT=$(PICSWITCH)
-CFLAGSSLOGUIMT=$(PICSWITCH)
-CFLAGSSLOCUIMT=$(PICSWITCH)
-CFLAGSPROF=
-CFLAGSDEBUG=-g
-CFLAGSDBGUTIL=
-CFLAGSOPT=-O2
-CFLAGSNOOPT=-O
-CFLAGSOUTOBJ=-o
-
-CFLAGSWARNCC=
-CFLAGSWARNCXX=$(CFLAGSWARNCC) -Wno-ctor-dtor-privacy
-# -Wshadow does not work for C with nested uses of pthread_cleanup_push:
-CFLAGSWALLCC=-Wall -Wextra -Wendif-labels
-CFLAGSWALLCXX=$(CFLAGSWALLCC) -Wshadow -Wno-ctor-dtor-privacy
-CFLAGSWERRCC=-Werror
-
-STATIC = -Wl,-Bstatic
-DYNAMIC = -Wl,-Bdynamic
-
-THREADLIB=
-LINK=/nw386/dev/s/solenv/unxscoi/bin/gcc
-LINKFLAGS=
-# SCO hat grosse Probleme mit fork/exec und einigen shared libraries
-# rsc2 muss daher statisch gelinkt werden
-.IF "$(PRJNAME)"=="rsc"
-LINKFLAGSAPPGUI=-L/nw386/dev/s/solenv/unxscoi/lib $(STATIC) -lpthread_init $(DYNAMIC)
-LINKFLAGSAPPCUI=-L/nw386/dev/s/solenv/unxscoi/lib $(STATIC) -lpthread_init $(DYNAMIC)
-.ELSE
-LINKFLAGSAPPGUI=-L/nw386/dev/s/solenv/unxscoi/lib -lpthread_init
-LINKFLAGSAPPCUI=-L/nw386/dev/s/solenv/unxscoi/lib -lpthread_init
-.ENDIF
-LINKFLAGSSHLGUI=-G -W,l,-Bsymbolic
-LINKFLAGSSHLCUI=-G -W,l,-Bsymbolic
-LINKFLAGSTACK=
-LINKFLAGSPROF=
-LINKFLAGSDEBUG=-g
-LINKFLAGSOPT=
-
-# standard C++ Library
-#
-# das statische dazulinken der libstdc++ macht jede shared library um 50k
-# (ungestrippt) oder so groesser, auch wenn sie ueberhaupt nicht gebraucht
-# wird. Da muessen wir uns was besseres ueberlegen.
-STDLIBCPP=-Wl,-Bstatic -lstdc++ -Wl,-Bdynamic
-
-# reihenfolge der libs NICHT egal!
-STDOBJGUI=
-STDSLOGUI=
-STDOBJCUI=
-STDSLOCUI=
-.IF "$(PRJNAME)"=="rsc"
-STDLIBGUIMT=-lXext -lX11 $(STATIC) -lpthread $(DYNAMIC) -ldl -lsocket -lm
-STDLIBCUIMT=$(STATIC) -lpthread $(DYNAMIC) -ldl -lsocket -lm
-.ELSE
-STDLIBGUIMT=-lXext -lX11 -lpthread -ldl -lsocket -lm
-STDLIBCUIMT=-lpthread -ldl -lsocket -lm
-.ENDIF
-#STDSHLGUIMT=-lXext -lX11 -lpthread -ldl -lsocket -lm
-#STDSHLCUIMT=-lpthread -ldl -lsocket -lm
-
-STDLIBCPP= -lstdc++
-SHLLINKARCONLY=yes
-
-LIBMGR=ar
-LIBFLAGS=-r
-# LIBEXT=.so
-
-IMPLIB=
-IMPLIBFLAGS=
-
-MAPSYM=
-MAPSYMFLAGS=
-
-RC=irc
-RCFLAGS=-fo$@ $(RCFILES)
-RCLINK=
-RCLINKFLAGS=
-RCSETVERSION=
-
-DLLPOSTFIX=ci
-DLLPRE=lib
-DLLPOST=.so
-
-LDUMP=cppfilt /b /n /o /p
-
-.IF "$(WORK_STAMP)"!="MIX364"
-DLLPOSTFIX=ci
-.ELSE
-DLLPOSTFIX=
-.ENDIF
diff --git a/solenv/inc/unxsogi.mk b/solenv/inc/unxsogi.mk
index ce82fca29fa9..1991089709f9 100644
--- a/solenv/inc/unxsogi.mk
+++ b/solenv/inc/unxsogi.mk
@@ -33,7 +33,7 @@ SOLAR_JAVA=TRUE
JAVAFLAGSDEBUG=-g
# _PTHREADS is needed for the stl
-CDEFS+=-D_PTHREADS -D_REENTRANT -DSYSV -DSUN -DSUN4 -D_POSIX_PTHREAD_SEMANTICS -DSTLPORT_VERSION=$(STLPORT_VER) -D_USE_NAMESPACE=1
+CDEFS+=-D_PTHREADS -D_REENTRANT -DSYSV -DSUN -DSUN4 -D_POSIX_PTHREAD_SEMANTICS -D_USE_NAMESPACE=1
.IF "$(SOLAR_JAVA)"!=""
@@ -112,14 +112,6 @@ STDSHLCUIMT=$(DYNAMIC) -lpthread -lthread -lm
STDLIBGUIMT+=-lX11
-.IF "$(STLPORT_VER)" >= "500"
-LIBSTLPORT=$(DYNAMIC) -lstlport
-LIBSTLPORTST=$(STATIC) -lstlport $(DYNAMIC)
-.ELSE
-LIBSTLPORT=$(DYNAMIC) -lstlport_gcc
-LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC)
-.ENDIF
-
LIBMGR=ar
LIBFLAGS=-r
# LIBEXT=.so
@@ -136,6 +128,5 @@ RCLINK=
RCLINKFLAGS=
RCSETVERSION=
-DLLPOSTFIX=sogi
DLLPRE=lib
DLLPOST=.so
diff --git a/solenv/inc/unxsogs.mk b/solenv/inc/unxsogs.mk
index dd0fb53272f8..5400be270e9b 100644
--- a/solenv/inc/unxsogs.mk
+++ b/solenv/inc/unxsogs.mk
@@ -33,7 +33,7 @@ SOLAR_JAVA=TRUE
JAVAFLAGSDEBUG=-g
# _PTHREADS is needed for the stl
-CDEFS+=-D_PTHREADS -D_REENTRANT -DSYSV -DSUN -DSUN4 -D_POSIX_PTHREAD_SEMANTICS -DSTLPORT_VERSION=$(STLPORT_VER) -D_USE_NAMESPACE=1
+CDEFS+=-D_PTHREADS -D_REENTRANT -DSYSV -DSUN -DSUN4 -D_POSIX_PTHREAD_SEMANTICS -D_USE_NAMESPACE=1
.IF "$(SOLAR_JAVA)"!=""
@@ -111,14 +111,6 @@ STDSHLCUIMT=$(DYNAMIC) -lpthread -lthread -lm
STDLIBGUIMT+=-lX11
-.IF "$(STLPORT_VER)" >= "500"
-LIBSTLPORT=$(DYNAMIC) -lstlport
-LIBSTLPORTST=$(STATIC) -lstlport $(DYNAMIC)
-.ELSE
-LIBSTLPORT=$(DYNAMIC) -lstlport_gcc
-LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC)
-.ENDIF
-
LIBMGR=ar
LIBFLAGS=-r
# LIBEXT=.so
@@ -135,6 +127,5 @@ RCLINK=
RCLINKFLAGS=
RCSETVERSION=
-DLLPOSTFIX=sogs
DLLPRE=lib
DLLPOST=.so
diff --git a/solenv/inc/unxsoli4.mk b/solenv/inc/unxsoli4.mk
index b1778a0edfde..a14da5da1a26 100644
--- a/solenv/inc/unxsoli4.mk
+++ b/solenv/inc/unxsoli4.mk
@@ -29,7 +29,7 @@
ASM=/usr/ccs/bin/as
AFLAGS=-P
-CDEFS+=-D_PTHREADS -DSYSV -DSUN -DSUN4 -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DSTLPORT_VERSION=$(STLPORT_VER)
+CDEFS+=-D_PTHREADS -DSYSV -DSUN -DSUN4 -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS
SOLAR_JAVA*=TRUE
.IF "$(SOLAR_JAVA)"!=""
@@ -87,7 +87,7 @@ CFLAGSOUTOBJ=-o
# (this_type(p).swap(*this))
# - truncwarn: "conversion of 64 bit type value to smaller type causes
# truncation" at least with CC 5.8 is reported only at the end of a
-# compilation unit that uses std::hash_map<sal_Int64, sal_Int64> (see
+# compilation unit that uses boost::unordered_map<sal_Int64, sal_Int64> (see
# sfx2/source/toolbox/imgmgr.cxx:1.27) and thus unfortunately needs to be
# disabled globally
# - wnoretvalue: warning about the last statement of a function not
@@ -106,8 +106,7 @@ CFLAGSWERRCXX=-xwe
# Once all modules on this platform compile without warnings, set
# COMPILER_WARN_ERRORS=TRUE here instead of setting MODULES_WITH_WARNINGS (see
# settings.mk):
-MODULES_WITH_WARNINGS := \
- soldep
+MODULES_WITH_WARNINGS :=
STDOBJVCL=$(L)/salmain.o
@@ -201,14 +200,6 @@ X11LINK_DYNAMIC = -lXext -lX11
# LIBSALCPPRT*=-z allextract -lsalcpprt -z defaultextract
LIBSALCPPRT=
-.IF "$(USE_STLP_DEBUG)" != ""
-LIBSTLPORT=$(DYNAMIC) -lstlport_sunpro_debug
-LIBSTLPORTST=$(STATIC) -lstlport_sunpro_debug $(DYNAMIC)
-.ELSE
-LIBSTLPORT=$(DYNAMIC) -lstlport_sunpro
-LIBSTLPORTST=$(STATIC) -lstlport_sunpro $(DYNAMIC)
-.ENDIF # "$(USE_STLP_DEBUG)" != ""
-
LIBMGR=CC
LIBFLAGS=-xar -o
@@ -225,8 +216,6 @@ RCLINK=
RCLINKFLAGS=
RCSETVERSION=
-DLLPOSTFIX=si
-
DLLPRE=lib
DLLPOST=.so
diff --git a/solenv/inc/unxsols4.mk b/solenv/inc/unxsols4.mk
index 4febb67d446a..11b6f15473aa 100644
--- a/solenv/inc/unxsols4.mk
+++ b/solenv/inc/unxsols4.mk
@@ -30,7 +30,7 @@ ASM=/usr/ccs/bin/as
# needs -D__sparcv8plus because it's not defined by the assembler with -xarch=v8plus
AFLAGS=-P -xarch=v8plus -D__sparcv8plus
-CDEFS+=-D_PTHREADS -DSYSV -DSUN -DSUN4 -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DSTLPORT_VERSION=$(STLPORT_VER)
+CDEFS+=-D_PTHREADS -DSYSV -DSUN -DSUN4 -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS
SOLAR_JAVA*=TRUE
.IF "$(SOLAR_JAVA)"!=""
@@ -93,7 +93,7 @@ CFLAGSOUTOBJ=-o
# (this_type(p).swap(*this))
# - truncwarn: "conversion of 64 bit type value to smaller type causes
# truncation" at least with CC 5.8 is reported only at the end of a
-# compilation unit that uses std::hash_map<sal_Int64, sal_Int64> (see
+# compilation unit that uses boost::unordered_map<sal_Int64, sal_Int64> (see
# sfx2/source/toolbox/imgmgr.cxx:1.27) and thus unfortunately needs to be
# disabled globally
# - wnoretvalue: warning about the last statement of a function not
@@ -112,8 +112,7 @@ CFLAGSWERRCXX=-xwe
# Once all modules on this platform compile without warnings, set
# COMPILER_WARN_ERRORS=TRUE here instead of setting MODULES_WITH_WARNINGS (see
# settings.mk):
-MODULES_WITH_WARNINGS := \
- soldep
+MODULES_WITH_WARNINGS :=
STDOBJVCL=$(L)/salmain.o
@@ -207,14 +206,6 @@ X11LINK_DYNAMIC = -lXext -lX11
# LIBSALCPPRT*=-z allextract -lsalcpprt -z defaultextract
LIBSALCPPRT=
-.IF "$(USE_STLP_DEBUG)" != ""
-LIBSTLPORT=$(DYNAMIC) -lstlport_sunpro_debug
-LIBSTLPORTST=$(STATIC) -lstlport_sunpro_debug $(DYNAMIC)
-.ELSE
-LIBSTLPORT=$(DYNAMIC) -lstlport_sunpro
-LIBSTLPORTST=$(STATIC) -lstlport_sunpro $(DYNAMIC)
-.ENDIF # "$(USE_STLP_DEBUG)" != ""
-
LIBMGR=CC
LIBFLAGS=-xar -o
@@ -231,8 +222,6 @@ RCLINK=
RCLINKFLAGS=
RCSETVERSION=
-DLLPOSTFIX=ss
-
DLLPRE=lib
DLLPOST=.so
diff --git a/solenv/inc/unxsolu4.mk b/solenv/inc/unxsolu4.mk
index c73d6fc37283..76da3103880a 100644
--- a/solenv/inc/unxsolu4.mk
+++ b/solenv/inc/unxsolu4.mk
@@ -55,7 +55,7 @@ CC*=cc
CFLAGS=$(PREENVCFLAGS) -c -temp=/tmp
CFLAGSCC=-xCC $(ARCH_FLAGS)
-CFLAGSCXX= -features=no%altspell -library=stlport4 $(ARCH_FLAGS)
+CFLAGSCXX= -features=no%altspell $(ARCH_FLAGS)
# flags to enable build with symbols; required for crashdump feature
CFLAGSENABLESYMBOLS=-g0 -xs # was temporarily commented out, reenabled before Beta
@@ -92,7 +92,7 @@ CFLAGSOUTOBJ=-o
# (this_type(p).swap(*this))
# - truncwarn: "conversion of 64 bit type value to smaller type causes
# truncation" at least with CC 5.8 is reported only at the end of a
-# compilation unit that uses std::hash_map<sal_Int64, sal_Int64> (see
+# compilation unit that uses boost::unordered_map<sal_Int64, sal_Int64> (see
# sfx2/source/toolbox/imgmgr.cxx:1.27) and thus unfortunately needs to be
# disabled globally
# - wnoretvalue: "The last statement should return a value."
@@ -111,8 +111,7 @@ CFLAGSWERRCXX=-xwe
# Once all modules on this platform compile without warnings, set
# COMPILER_WARN_ERRORS=TRUE here instead of setting MODULES_WITH_WARNINGS (see
# settings.mk):
-MODULES_WITH_WARNINGS := \
- soldep
+MODULES_WITH_WARNINGS :=
STDOBJVCL=$(L)/salmain.o
@@ -139,7 +138,7 @@ LINKFLAGSRUNPATH_BRAND=-R\''$$ORIGIN:$$ORIGIN/../basis-link/program:$$ORIGIN/../
LINKFLAGSRUNPATH_OXT=
LINKFLAGSRUNPATH_BOXT=-R\''$$ORIGIN/../../../basis-link/program'\'
LINKFLAGSRUNPATH_NONE=
-LINKFLAGS=-m64 -w -mt -z combreloc -PIC -temp=/tmp -norunpath -library=stlport4
+LINKFLAGS=-m64 -w -mt -z combreloc -PIC -temp=/tmp -norunpath
LINKCFLAGS=-m64 -w -mt -z combreloc -norunpath
# -z text force fatal error if non PIC code is linked into shared library. Such code
@@ -200,14 +199,6 @@ STDSHLGUIMT+=-lX11 -ldl
# LIBSALCPPRT*=-z allextract -lsalcpprt -z defaultextract
LIBSALCPPRT=
-.IF "$(USE_STLP_DEBUG)" != ""
-LIBSTLPORT=$(DYNAMIC) -lstlport_sunpro_debug
-LIBSTLPORTST=$(STATIC) -lstlport_sunpro_debug $(DYNAMIC)
-.ELSE
-LIBSTLPORT=$(DYNAMIC) -lstlport_sunpro
-LIBSTLPORTST=$(STATIC) -lstlport_sunpro $(DYNAMIC)
-.ENDIF # "$(USE_STLP_DEBUG)" != ""
-
LIBMGR=CC
LIBFLAGS=-xar -o
@@ -224,8 +215,6 @@ RCLINK=
RCLINKFLAGS=
RCSETVERSION=
-DLLPOSTFIX=su
-
DLLPRE=lib
DLLPOST=.so
diff --git a/solenv/inc/verinfo.hrc b/solenv/inc/verinfo.hrc
index d0a585af90ee..66f0ec6f8327 100644
--- a/solenv/inc/verinfo.hrc
+++ b/solenv/inc/verinfo.hrc
@@ -54,11 +54,7 @@
// define order of date parts --------------------------------------------
-#if defined(LG_D)
- #define VER_DMY
-#else
- #define VER_YMD
-#endif
+#define VER_YMD
// set VERVARIANT to 0 if not defined ------------------------------------
@@ -158,19 +154,11 @@
#elif VER_MONTH==2
#define VER2 Feb
#elif VER_MONTH==3
- #ifdef LG_D
- #define VER2 M\344r
- #else
- #define VER2 Mar
- #endif
+ #define VER2 Mar
#elif VER_MONTH==4
#define VER2 Apr
#elif VER_MONTH==5
- #ifdef LG_D
- #define VER2 Mai
- #else
- #define VER2 May
- #endif
+ #define VER2 May
#elif VER_MONTH==6
#define VER2 Jun
#elif VER_MONTH==7
@@ -180,26 +168,14 @@
#elif VER_MONTH==9
#define VER2 Sep
#elif VER_MONTH==10
- #ifdef LG_D
- #define VER2 Okt
- #else
- #define VER2 Oct
- #endif
+ #define VER2 Oct
#elif VER_MONTH==11
#define VER2 Nov
#elif VER_MONTH==12
- #ifdef LG_D
- #define VER2 Dez
- #else
- #define VER2 Dec
- #endif
+ #define VER2 Dec
#endif
-#ifdef LG_D
- #define VERC3(a, b, c) a.b.c
-#else
- #define VERC3(a, b, c) c-b-a
-#endif
+#define VERC3(a, b, c) c-b-a
#define VERC4(a, b, c) VERC3(a, b, c)
#define VER_DATE VERC4(VER5, VER2, VER_YEAR)
@@ -219,11 +195,7 @@
#define S_CRIGHT PPS(VERC6(VER_YEARRANGE))
-#ifdef LG_D
-#define S_VERSION PPS(Version VER_LEVEL vom VER_DATE)
-#else
#define S_VERSION PPS(Version VER_LEVEL of VER_DATE)
-#endif
#endif // _VERINFO_HRC
diff --git a/solenv/inc/version.hrc b/solenv/inc/version.hrc
index 0a0d0d103ac3..74dd722dc848 100755
--- a/solenv/inc/version.hrc
+++ b/solenv/inc/version.hrc
@@ -49,13 +49,8 @@
RCD_LANGUAGE rcdata
{
-#ifdef LG_D
- "040704B0", // Germany -> Unicode
- "040704E4", // Germany -> Windows, Multilingual
-#else
- "040904B0", // Germany -> Unicode
+ "040904B0", // USA -> Unicode
"040904E4", // USA -> Windows, Multilingual
-#endif
"04090000", // USA -> 7-Bit-ASCII
0 // end of table
}
@@ -66,5 +61,4 @@ VS_VERSION_INFO rcdata
{
0xF0, "sw", 0x0F, VER_YEAR, VER_MONTH, VER_DAY,
VERSION, SUBVERSION, VERVARIANT, VER_COUNT
-};
-
+}
diff --git a/solenv/inc/version_so.hrc b/solenv/inc/version_so.hrc
index 383f3530ccbf..2e4db98a2925 100755
--- a/solenv/inc/version_so.hrc
+++ b/solenv/inc/version_so.hrc
@@ -49,13 +49,8 @@
RCD_LANGUAGE rcdata
{
-#ifdef LG_D
- "040704B0", // Germany -> Unicode
- "040704E4", // Germany -> Windows, Multilingual
-#else
- "040904B0", // Germany -> Unicode
+ "040904B0", // USA -> Unicode
"040904E4", // USA -> Windows, Multilingual
-#endif
"04090000", // USA -> 7-Bit-ASCII
0 // end of table
}
diff --git a/solenv/inc/win32/jni_md.h b/solenv/inc/win32/jni_md.h
new file mode 100644
index 000000000000..b7aab253b350
--- /dev/null
+++ b/solenv/inc/win32/jni_md.h
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * 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.
+ */
+
+/* Fake jni_md.h for use when cross-compiling to Windows */
+
+#ifndef JNI_MD_H_INCLUDED
+#define JNI_MD_H_INCLUDED
+
+#define JNIEXPORT __declspec (dllexport)
+#define JNIIMPORT __declspec (dllimport)
+#define JNICALL __stdcall
+
+typedef long jint;
+typedef __int64 jlong;
+typedef char jbyte;
+
+#endif /* JNI_MD_H_INCLUDED */
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/solenv/inc/wnt.mk b/solenv/inc/wnt.mk
index f369bd15ad30..8b65c5f393e3 100644
--- a/solenv/inc/wnt.mk
+++ b/solenv/inc/wnt.mk
@@ -30,14 +30,11 @@
# --- Compiler ---
-.IF "$(OS)$(COM)$(CPU)" == "WNTMSCI"
-.IF "$(COMEX)" == "10"
-.INCLUDE : wntmsci10.mk
-.ELSE
-# for wntmsci11 (.Net 2005) and wntmsci12 (.Net 2008)
-.INCLUDE : wntmsci11.mk
-.ENDIF # "$(COMEX)" == "10"
-.ENDIF # "$(OS)$(COM)$(CPU)" == "WNTMSCI"
+.IF "$(OS)$(COM)" == "WNTMSC"
+# for wntmsci12, wntmscx12, wntmsci13 and wntmscx13
+# (MSVC 2008 and MSVC 2010, 32- and 64-bit)
+.INCLUDE : wntmsc.mk
+.ENDIF # "$(OS)$(COM)" == "WNTMSC"
.IF "$(COM)$(OS)$(CPU)" == "GCCWNTI"
.INCLUDE : wntgcci.mk
diff --git a/solenv/inc/wntgcci.mk b/solenv/inc/wntgcci.mk
index 5951538458a4..2622ca6b1927 100755..100644
--- a/solenv/inc/wntgcci.mk
+++ b/solenv/inc/wntgcci.mk
@@ -27,8 +27,7 @@
# mk file for Window Intel using GCC
-SOLAR_JAVA*=TRUE
-FULL_DESK=TRUE
+SOLAR_JAVA*=
JAVAFLAGSDEBUG=-g
# SOLAR JAva Unterstuetzung nur fuer wntmsci
@@ -40,14 +39,11 @@ AFLAGS=/c /Cp /coff
# exporting the variable ARCH_FLAGS="..." in the shell, which is used to start build
ARCH_FLAGS*=-march=pentium
-CXX*=gcc
-### Der gcc vertraegt kein Semikolon im Include-Pfad RT
-# old:
-#CFLAGS=-c -Wall -I$(INCLUDE) $(OLE2DEF)
-# new:
-#CYGINC=$(INCLUDE:s/-I /-I/:+" ":s/;/ -I/:s/-I //:s/ / /)
-CFLAGS=-fmessage-length=0 -c -nostdinc $(OLE2DEF)
-###
+CC*=i686-w64-mingw32-gcc
+CXX*=i686-w64-mingw32-g++
+
+CFLAGS+=-fmessage-length=0 -c
+
CFLAGSCC=-pipe $(ARCH_FLAGS)
CFLAGSCXX=-pipe $(ARCH_FLAGS)
CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs
@@ -77,7 +73,7 @@ CFLAGSNOOPT=-O0
# Compiler flags for describing the output path
CFLAGSOUTOBJ=-o
#plattform hart setzen
-CDEFS+=-DWIN32 -DWINVER=0x500 -D_WIN32_WINNT=0x500 -D_WIN32_IE=0x500 -D_M_IX86 -DSTLPORT_VERSION=450 -D_NATIVE_WCHAR_T_DEFINED -D_MSC_EXTENSIONS -D_FORCENAMELESSUNION
+CDEFS+=-DWIN32 -DWINVER=0x500 -D_WIN32_WINNT=0x500 -D_WIN32_IE=0x500 -D_M_IX86 -D_NATIVE_WCHAR_T_DEFINED -D_MSC_EXTENSIONS -D_FORCENAMELESSUNION
.IF "$(DYNAMIC_CRT)"!=""
CDEFS+=-D_DLL
.ENDIF
@@ -98,7 +94,6 @@ MODULES_WITH_WARNINGS := \
extensions \
lingu \
r_tools \
- soldep \
starmath \
sw \
xmlsecurity
@@ -110,18 +105,18 @@ LINK*=$(CXX)
LINKC*=$(CC)
CYGLIB=$(LIB:s/;/ -L/)
-LINKFLAGS=-nostdlib -Wl,--enable-stdcall-fixup,--enable-runtime-pseudo-reloc-v2 -L$(CYGLIB)
+LINKFLAGS= -Wl,--enable-stdcall-fixup,--enable-runtime-pseudo-reloc-v2 -L$(CYGLIB)
.IF "$(USE_MINGW)"=="cygwin"
MINGWLIBDIR=$(COMPATH)$/lib$/mingw
.ELSE
MINGWLIBDIR=$(COMPATH)$/lib
.ENDIF
-MINGWSSTDOBJ=$(MINGW_CLIB_DIR)$/crtbegin.o
-MINGWSSTDENDOBJ=$(MINGW_CLIB_DIR)$/crtend.o
-LINKFLAGSAPPGUI=-mwindows $(MINGWLIBDIR)$/crt2.o
-LINKFLAGSSHLGUI=--warn-once -mwindows -shared $(MINGWLIBDIR)$/dllcrt2.o
-LINKFLAGSAPPCUI=-mconsole $(MINGWLIBDIR)$/crt2.o
-LINKFLAGSSHLCUI=--warn-once -mconsole -shared $(MINGWLIBDIR)$/dllcrt2.o
+MINGWSSTDOBJ=
+MINGWSSTDENDOBJ=
+LINKFLAGSAPPGUI=-mwindows
+LINKFLAGSSHLGUI=-Wl,--warn-once -mwindows -shared
+LINKFLAGSAPPCUI=-mconsole
+LINKFLAGSSHLCUI=-Wl,--warn-once -mconsole -shared
LINKFLAGSTACK=
LINKFLAGSPROF=
LINKFLAGSDEBUG=-g
@@ -164,25 +159,19 @@ STDLIBCUIMT+=-lmingw32 -lmoldname -lmingwex -Wl,--end-group $(UWINAPILIB) -lm -l
STDSHLGUIMT+=-lmingw32 -lmoldname -lmingwex -Wl,--end-group $(UWINAPILIB) -lm -lkernel32 -luser32 -lmsvcrt
STDSHLCUIMT+=-lmingw32 -lmoldname -lmingwex -Wl,--end-group $(UWINAPILIB) -lm -lkernel32 -luser32 -lmsvcrt
-LIBSTLPORT=-lstlport_gcc
-LIBSTLPORTST=-lstlport_gcc_static $(STDLIBCPP)
-
-LIBMGR=ar
+LIBMGR=$(AR)
LIBFLAGS=-rsu
-IMPLIB=ld
-IMPLIBFLAGS=
-
-MAPSYM=tmapsym
+MAPSYM=
MAPSYMFLAGS=
-RC=rc
-RCFLAGS=-D__MINGW32__ -DWIN32 -D_WIN32_IE=0x400 -fo$@ $(RCFILES)
+RC=$(WINDRES)
+RCFLAGS=-D__MINGW32__ -DWIN32 -D_WIN32_IE=0x400 $(RCFILES)
+RCFLAGSOUTRES=
RCLINK=
RCLINKFLAGS=
RCSETVERSION=
-DLLPOSTFIX=gi
PCHPOST=.gch
ADVAPI32LIB=-ladvapi32
@@ -190,12 +179,11 @@ SHELL32LIB=-lshell32
GDI32LIB=-lgdi32
OLE32LIB=-lole32
OLEAUT32LIB=-loleaut32
-UUIDLIB=$(PSDK_HOME)$/lib$/uuid.lib
+UUIDLIB=-luuid
WINSPOOLLIB=-lwinspool
IMM32LIB=-limm32
VERSIONLIB=-lversion
WINMMLIB=-lwinmm
-WSOCK32LIB=-lwsock32
MPRLIB=-lmpr
WS2_32LIB=-lws2_32
KERNEL32LIB=-lkernel32
@@ -203,15 +191,26 @@ USER32LIB=-luser32
LIBCMT=-lmsvcrt
COMDLG32LIB=-lcomdlg32
COMCTL32LIB=-lcomctl32
-CRYPT32LIB=$(PSDK_HOME)$/lib$/crypt32.lib
-GDIPLUSLIB=$(PSDK_HOME)$/lib$/gdiplus.lib
-DBGHELPLIB=$(PSDK_HOME)$/lib$/dbghelp.lib
-MSILIB=$(PSDK_HOME)$/lib$/msi.lib
-DDRAWLIB=$(DIRECTXSDK_LIB)/ddraw.lib
-SHLWAPILIB=$(PSDK_HOME)$/lib$/shlwapi.lib
-URLMONLIB=$(PSDK_HOME)$/lib$/urlmon.lib
-UNICOWSLIB=$(PSDK_HOME)$/lib$/unicows.lib
+CRYPT32LIB=-lcrypt32
+DDRAWLIB=-lddraw
+SHLWAPILIB=-lshlwapi
WININETLIB=-lwininet
OLDNAMESLIB=-lmoldname
-MSIMG32LIB=$(PSDK_HOME)$/lib$/msimg32.lib
+MSIMG32LIB=-lmsimg32
PROPSYSLIB=-lpropsys
+
+# Libraries that neither mingw.org or mingw-w64 have.
+# Thus have to use the Windows SDK ones.
+GDIPLUSLIB=$(WINDOWS_SDK_HOME)$/lib$/gdiplus.lib
+MSILIB=$(WINDOWS_SDK_HOME)$/lib$/msi.lib
+URLMONLIB=$(WINDOWS_SDK_HOME)$/lib$/urlmon.lib
+
+# Libraries that mingw-w64 has but mingw.org doesn't. At least the OBS MinGW
+# cross-compiler is based on mingw-w64. When using MinGW natively on Windows
+# (which as such I don't think we want to support) let's use the Windows SDK
+# libraries.
+.IF "$(CROSS_COMPILING)"=="YES"
+DBGHELPLIB=-ldbghelp
+.ELSE
+DBGHELPLIB=$(WINDOWS_SDK_HOME)$/lib$/dbghelp.lib
+.ENDIF
diff --git a/solenv/inc/wntmsci11.mk b/solenv/inc/wntmsc.mk
index d70fb134f056..9aca574b0873 100755..100644
--- a/solenv/inc/wntmsci11.mk
+++ b/solenv/inc/wntmsc.mk
@@ -1,7 +1,7 @@
#*************************************************************************
#
# 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
@@ -25,16 +25,17 @@
#
#*************************************************************************
-# mk file for $(OS)$(COM)$(CPU)$(COMEX) == WNTMSCI11 and WNTMSCI12
+# mk file for $(OS)$(COM)$(CPU)$(COMEX) == WNTMSC[IX]{12,13}
-SOLAR_JAVA*=TRUE
-FULL_DESK=TRUE
JAVAFLAGSDEBUG=-g
-# SOLAR JAva Unterstuetzung nur fuer wntmsci
-
+.IF "$(CL_X64)" == ""
ASM=ml
AFLAGS=/c /Cp /coff /safeseh
+.ELSE
+ASM=ml64
+AFLAGS=/c /Cp
+.ENDIF
# 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
@@ -88,18 +89,16 @@ 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
+.IF "$(CL_X64)" == ""
+CDEFS+= -D_X86_=1 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NON_CONFORMING_SWPRINTFS -D_SCL_SECURE_NO_WARNINGS
+.ELSE
+CDEFS+= -D_AMD64_=1 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NON_CONFORMING_SWPRINTFS -D_SCL_SECURE_NO_WARNINGS
+.ENDIF
.IF "$(product)" != ""
CFLAGS+= -Gy
.ENDIF # "$(product)" != ""
-.IF "$(bndchk)" == ""
-.IF "$(VC_STANDARD)"==""
-CFLAGS+= -Ob1
-.ENDIF # "$(VC_STANDARD)"==""
-.ENDIF
-
# flags to enable build with symbols; required for crashdump feature
#CFLAGSENABLESYMBOLS=-Zi -Fd$(MISC)/_ooo_st_$(TARGET).PDB
CFLAGSENABLESYMBOLS=-Z7 -Yd
@@ -116,16 +115,13 @@ CFLAGS+= -Z7
.ENDIF
.ENDIF
-.IF "$(FULL_DESK)"!=""
-CDEFS+=-DFULL_DESK
-RSCDEFS+=-DFULL_DESK
-.ENDIF
-
CFLAGSEXCEPTIONS=-EHa
CFLAGS_NO_EXCEPTIONS=
+.IF "$(CL_X64)" == ""
# enable boost support for __cdecl (SAL_CALL) C++-UNO interface methods
CDEFS+=-DBOOST_MEM_FN_ENABLE_CDECL
+.ENDIF
# with the current debug switches PCH won't work
# anyway. so keep the existing .pch intact and don't
@@ -220,17 +216,20 @@ CFLAGSWERRCC=-WX
# Once all modules on this platform compile without warnings, set
# COMPILER_WARN_ERRORS=TRUE here instead of setting MODULES_WITH_WARNINGS (see
# settings.mk):
-MODULES_WITH_WARNINGS := \
- soldep
+MODULES_WITH_WARNINGS :=
-CDEFS+=-DSTLPORT_VERSION=400 -D_MT -DWINVER=0x0500 -D_WIN32_WINNT=0x0500 -D_WIN32_IE=0x0500
+CDEFS+=-D_MT -DWINVER=0x0500 -D_WIN32_WINNT=0x0500 -D_WIN32_IE=0x0500
.IF "$(COMEX)" == "11"
_VC_MANIFEST_BASENAME=__VC80
.ELSE
_VC_MANIFEST_BASENAME=__VC90
.ENDIF
+.IF "$(CL_X64)" == ""
LINK=link /MACHINE:IX86 /IGNORE:4102 /IGNORE:4197
+.ELSE
+LINK=link /MACHINE:X64
+.ENDIF
# do *not* add $(NOLOGO) to LINK or LINKFLAGS. Strangely, the wntmsci12 linker links fine then, but exits with
# a return value 1, which makes dmake think it failed
.IF "$(PRODUCT)"!="full"
@@ -239,7 +238,9 @@ LINKFLAGS=/MAP /OPT:NOREF
.ENDIF
# excetion handling protection
+.IF "$(CL_X64)" == ""
LINKFLAGS+=-safeseh
+.ENDIF
# enable DEP
LINKFLAGS+=-nxcompat
@@ -288,18 +289,22 @@ LINKFLAGSOPT=
UWINAPILIB*=uwinapi.lib
.IF "$(DYNAMIC_CRT)"!=""
-.IF "$(USE_STLP_DEBUG)" != ""
+.IF "$(USE_DEBUG_RUNTIME)" != ""
LIBCMT=msvcrtd.lib
-.ELSE # "$(USE_STLP_DEBUG)" != ""
+LIBCPMT=msvcprtd.lib
+.ELSE # "$(USE_DEBUG_RUNTIME)" != ""
LIBCMT=msvcrt.lib
-.ENDIF # "$(USE_STLP_DEBUG)" != ""
+LIBCPMT=msvcprt.lib
+.ENDIF # "$(USE_DEBUG_RUNTIME)" != ""
.ELSE # "$(DYNAMIC_CRT)"!=""
-.IF "$(USE_STLP_DEBUG)" != ""
+.IF "$(USE_DEBUG_RUNTIME)" != ""
LIBCMT=libcmtd.lib
+LIBCPMT=libcpmtd.lib
CDEFS+=-D_DEBUG
-.ELSE # "$(USE_STLP_DEBUG)" != ""
+.ELSE # "$(USE_DEBUG_RUNTIME)" != ""
LIBCMT=libcmt.lib
-.ENDIF # "$(USE_STLP_DEBUG)" != ""
+LIBCPMT=libcpmt.lib
+.ENDIF # "$(USE_DEBUG_RUNTIME)" != ""
.ENDIF # "$(DYNAMIC_CRT)"!=""
STDOBJVCL=$(L)/salmain.obj
@@ -308,42 +313,27 @@ STDSLOGUI=
STDOBJCUI=
STDSLOCUI=
-STDLIBGUIMT=$(LIBCMT) $(UWINAPILIB) kernel32.lib user32.lib oldnames.lib
-STDLIBCUIMT=$(LIBCMT) $(UWINAPILIB) kernel32.lib user32.lib oldnames.lib
-STDSHLGUIMT=$(LIBCMT) $(UWINAPILIB) kernel32.lib user32.lib oldnames.lib
-STDSHLCUIMT=$(LIBCMT) $(UWINAPILIB) kernel32.lib user32.lib oldnames.lib
-
-.IF "$(USE_STLP_DEBUG)" != ""
-LIBSTLPORT=stlport_vc71_stldebug.lib
-LIBSTLPORTST=stlport_vc71_stldebug_static.lib
-.ELSE
-LIBSTLPORT=stlport_vc71.lib
-LIBSTLPORTST=stlport_vc71_static.lib
-.ENDIF
-
-.IF "$(PROF_EDITION)" == ""
-ATL_INCLUDE*=$(COMPATH)/PlatformSDK/include/atl
-ATL_LIB*=$(COMPATH)/atlmfc/lib
-MFC_INCLUDE*=$(COMPATH)/PlatformSDK/include/mfc
-MFC_LIB*=$(COMPATH)/atlmfc/lib
-.ELSE
-ATL_INCLUDE*=$(COMPATH)/atlmfc/include
-ATL_LIB*=$(COMPATH)/atlmfc/lib
-MFC_INCLUDE*=$(COMPATH)/atlmfc/include
-MFC_LIB*=$(COMPATH)/atlmfc/lib
-.ENDIF
+STDLIBGUIMT=$(LIBCMT) $(LIBCPMT) $(UWINAPILIB) kernel32.lib user32.lib oldnames.lib
+STDLIBCUIMT=$(LIBCMT) $(LIBCPMT) $(UWINAPILIB) kernel32.lib user32.lib oldnames.lib
+STDSHLGUIMT=$(LIBCMT) $(LIBCPMT) $(UWINAPILIB) kernel32.lib user32.lib oldnames.lib
+STDSHLCUIMT=$(LIBCMT) $(LIBCPMT) $(UWINAPILIB) kernel32.lib user32.lib oldnames.lib
LIBMGR=lib $(NOLOGO)
IMPLIB=lib
LIBFLAGS=
+.IF "$(CL_X64)" == ""
IMPLIBFLAGS=-machine:IX86
+.ELSE
+IMPLIBFLAGS=-machine:X64
+.ENDIF
MAPSYM=
MAPSYMFLAGS=
RC=rc
-RCFLAGS=-r -DWIN32 -fo$@ $(RCFILES)
+RCFLAGS=-r -DWIN32 $(RCFILES)
+RCFLAGSOUTRES=-fo
RCLINK=rc
RCLINKFLAGS=
RCSETVERSION=
@@ -352,7 +342,6 @@ MT=mt.exe
MTFLAGS=$(NOLOGO)
-DLLPOSTFIX=mi
PCHPOST=.pch
CSC*=$(FLIPCMD) csc
@@ -368,7 +357,6 @@ WINSPOOLLIB=winspool.lib
IMM32LIB=imm32.lib
VERSIONLIB=version.lib
WINMMLIB=winmm.lib
-WSOCK32LIB=wsock32.lib
MPRLIB=mpr.lib
WS2_32LIB=ws2_32.lib
KERNEL32LIB=kernel32.lib
@@ -382,9 +370,7 @@ MSILIB=msi.lib
DDRAWLIB=ddraw.lib
SHLWAPILIB=shlwapi.lib
URLMONLIB=urlmon.lib
-UNICOWSLIB=unicows.lib
WININETLIB=wininet.lib
OLDNAMESLIB=oldnames.lib
MSIMG32LIB=msimg32.lib
PROPSYSLIB=propsys.lib
-
diff --git a/solenv/inc/wntmsci10.mk b/solenv/inc/wntmsci10.mk
deleted file mode 100644
index 5c959f7d0e3c..000000000000
--- a/solenv/inc/wntmsci10.mk
+++ /dev/null
@@ -1,343 +0,0 @@
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-# mk file for $(OS)$(COM)$(CPU)$(COMEX) == WNTMSCI10
-
-SOLAR_JAVA*=TRUE
-FULL_DESK=TRUE
-JAVAFLAGSDEBUG=-g
-
-# SOLAR JAva Unterstuetzung nur fuer wntmsci
-
-ASM=ml
-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
-ARCH_FLAGS*=
-
-CC*:=cl
-.IF "$(bndchk)" != ""
-CXX*=nmcl
-.ELSE
-.IF "$(truetime)" != ""
-CXX*=nmcl /NMttOn
-.ELSE
-CXX*:=cl
-.ENDIF
-.ENDIF # "$(bndchk)" != ""
-
-.IF "$(stoponerror)" != ""
-CXX+= /NMstoponerror
-.ENDIF
-
-.IF "$(nmpass)" != ""
-CXX+= /NMpass
-.ENDIF
-
-.IF "$(ttinlines)" != ""
-CXX+= /NMttInlines
-.ENDIF
-
-.IF "$(ttnolines)" != ""
-CXX+= /NMttNoLines
-.ENDIF
-
-# Flags for COMEX == 10
-
-CFLAGS+=-Zm500 -Zc:forScope -GR
-CFLAGS+=-c -nologo -Gs $(NOLOGO)
-
-CDEFS+= -D_X86_=1
-
-.IF "$(product)" != ""
-CFLAGS+= -Gy
-.ENDIF # "$(product)" != ""
-
-.IF "$(bndchk)" == ""
-.IF "$(VC_STANDARD)"==""
-CFLAGS+= -Ob1
-.ENDIF # "$(VC_STANDARD)"==""
-.ENDIF
-
-# flags to enable build with symbols; required for crashdump feature
-#CFLAGSENABLESYMBOLS=-Zi -Fd$(MISC)/_ooo_st_$(TARGET).PDB
-# full debug for RE builds only due to size concerns
-.IF "$(UPDATER)"!=""
-CFLAGSENABLESYMBOLS=-Z7 -Yd
-.ELSE # "$(UPDATER)"!=""
-# -Zd got higher priority and overrides debug switches
-.IF "$(debug)"==""
-CFLAGSENABLESYMBOLS=-Zd
-.ENDIF # "$(debug)"==""
-.ENDIF # "$(UPDATER)"!=""
-
-.IF "$(bndchk)" != ""
-.IF "$(debug)" == ""
-CFLAGS+= -Z7
-.ENDIF
-.ENDIF
-
-.IF "$(truetime)" != ""
-.IF "$(debug)" == ""
-CFLAGS+= -Z7
-.ENDIF
-.ENDIF
-
-.IF "$(FULL_DESK)"!=""
-CDEFS+=-DFULL_DESK
-RSCDEFS+=-DFULL_DESK
-.ENDIF
-
-CFLAGSEXCEPTIONS=-GX
-CFLAGS_NO_EXCEPTIONS=
-
-CFLAGS_CREATE_PCH=-I$(INCPCH) -Fo$(SLO)/pchname.obj -Ycprecompiled_$(PRJNAME).hxx -DPRECOMPILED_HEADERS
-CFLAGS_USE_PCH=-I$(INCPCH) -Yuprecompiled_$(PRJNAME).hxx -Fp$(SLO)/pch/precompiled_$(PRJNAME).hxx$(PCHPOST) -DPRECOMPILED_HEADERS
-CFLAGS_USE_EXCEPTIONS_PCH=-I$(INCPCH) -Yuprecompiled_$(PRJNAME).hxx -Fp$(SLO)/pch_ex/precompiled_$(PRJNAME).hxx$(PCHPOST) -DPRECOMPILED_HEADERS
-.IF "$(CALL_CDECL)"=="TRUE"
-CFLAGSCALL=-Gd
-.ELSE # "$(CALL_CDECL)"=="TRUE"
-CFLAGSCALL=-Gz
-.ENDIF # "$(CALL_CDECL)"=="TRUE"
-
-CFLAGSCC=$(ARCH_FLAGS)
-.IF "$(DYNAMIC_CRT)"!=""
-CDEFSSLOMT+=-DWIN32 -D_MT -D_DLL
-CDEFSSLOMT+=-DWIN32 -D_MT -D_DLL
-.IF "$(NO_DYNAMIC_OBJ)"==""
-CDEFSOBJMT+=-DWIN32 -D_MT -D_DLL
-CDEFSOBJMT+=-DWIN32 -D_MT -D_DLL
-.ELSE
-CDEFSOBJMT+=-DWIN32 -D_MT
-CDEFSOBJMT+=-DWIN32 -D_MT
-.ENDIF
-.ELSE
-CDEFSSLOMT+=-DWIN32 -D_MT
-CDEFSSLOMT+=-DWIN32 -D_MT
-CDEFSOBJMT+=-DWIN32 -D_MT
-CDEFSOBJMT+=-DWIN32 -D_MT
-.ENDIF
-CFLAGSPROF=-Gh -Fd$(MISC)/$(@:b).pdb
-CFLAGSDEBUG=-Zi -Fd$(MISC)\_ooo_st_$(TARGET).PDB
-CFLAGSDBGUTIL=
-.IF "$(VC_STANDARD)"==""
-CFLAGSOPT=-Oxs -Oy-
-CFLAGSNOOPT=-Od
-.ELSE # "$(VC_STANDARD)"==""
-CFLAGSOPT=
-CFLAGSNOOPT=
-.ENDIF # "$(VC_STANDARD)"==""
-CFLAGSOUTOBJ=-Fo
-
-# For C and C++, certain warnings are disabled globally, as they result in
-# spurious warnings and are hard or impossible to workaround:
-# - "warning C4061: enumerate in switch of enum is not explicitly handled by a
-# case label",
-# - "warning C4063: case 'identifier' is not a valid value for switch of enum
-# 'enumeration'",
-# - "warning C4127: conditional expression is constant",
-# - "warning C4191: unsafe conversion from function type to function type",
-# - "warning C4217: member template functions cannot be used for copy-assignment
-# or copy-construction",
-# - "warning C4250: 'class1' : inherits 'class2::member' via dominance",
-# - "warning C4292: compiler limit : terminating debug information emission",
-# - "warning C4344: behavior change: use of explicit template arguments results
-# in call to 'function",
-# - "warning C4347: behavior change: 'overload A' is called instead of
-# 'overload B'",
-# - "warning C4355: 'this' used in base member initializer list",
-# - "warning C4503: 'identifier': decorated name length exceeded, name was
-# truncated" (http://msdn2.microsoft.com/en-us/library/074af4b6.aspx),
-# - "warning C4511: copy constructor could not be generated",
-# - "warning C4512: assignment operator could not be generated",
-# - "warning C4514: unreferenced inline function has been removed",
-# - "warning C4611: interaction between '_setjmp' and C++ object destruction is
-# non-portable",
-# - "warning C4619: warning Cnnnn unknown",
-# - "warning C4625: copy constructor could not be generated because a base class
-# copy constructor is inaccessible",
-# - "warning C4626: assignment operator could not be generated because a base
-# class assignment operator is inaccessible",
-# - "warning C4675: resolved overload was found by argument-dependent lookup",
-# - "warning C4686: possible change in behavior, change in UDT return calling
-# convention",
-# - "warning C4710: function not inlined",
-# - "warning C4711: function selected for automatic inline expansion",
-# - "warning C4820: padding added after member".
-# For C, certain warnings from system headers (stdlib.h etc.) have to be
-# disabled globally (for C++, this is not necessary, as the system headers are
-# wrapped by STLport):
-# - "warning C4255: no function prototype given: converting '()' to '(void)'".
-CFLAGSWARNCXX=-Wall -wd4061 -wd4063 -wd4127 -wd4191 -wd4217 -wd4250 -wd4251 \
- -wd4275 -wd4290 -wd4292 -wd4294 -wd4344 -wd4347 -wd4355 -wd4503 -wd4511 \
- -wd4512 -wd4514 -wd4611 -wd4619 -wd4625 -wd4626 -wd4640 -wd4675 -wd4686 \
- -wd4710 -wd4711 -wd4786 -wd4800 -wd4820
-CFLAGSWARNCC=$(CFLAGSWARNCXX) -wd4255
-CFLAGSWALLCC=$(CFLAGSWARNCC)
-CFLAGSWALLCXX=$(CFLAGSWARNCXX)
-CFLAGSWERRCC=-WX
-
-# Once all modules on this platform compile without warnings, set
-# COMPILER_WARN_ERRORS=TRUE here instead of setting MODULES_WITH_WARNINGS (see
-# settings.mk):
-MODULES_WITH_WARNINGS := \
- lingucomponent \
- soldep
-
-CDEFS+=-DSTLPORT_VERSION=$(STLPORT_VER) -D_MT -DWINVER=0x0500 -D_WIN32_WINNT=0x0500 -D_WIN32_IE=0x0500
-
-COMMENTFLAG=/COMMENT:"$(PRJNAME)_$(UPD)_$(VCSID)_"
-
-LINK=link $(COMMENTFLAG) $(NOLOGO) /MACHINE:IX86
-LINKOUTPUTFILTER= $(PIPEERROR) $(GREP) -v "LNK4197:"
-.IF "$(PRODUCT)"!="full"
-.ELSE
-LINKFLAGS=/MAP /OPT:NOREF
-.ENDIF
-
-.IF "$(linkinc)" != ""
-LINKFLAGS=-NODEFAULTLIB -DEBUG:full -DEBUGTYPE:cv -INCREMENTAL:YES
-MAPFILE=
-.ELSE # "$(linkinc)" != ""
-.IF "$(PRODUCT)"!="full"
-LINKFLAGS+= -NODEFAULTLIB -DEBUG:full -DEBUGTYPE:cv
-.ELSE # "$(PRODUCT)"!="full"
-LINKFLAGS+= -NODEFAULTLIB -RELEASE -DEBUG:full
-.ENDIF # "$(PRODUCT)"!="full"
-MAPFILE=-out:$$@
-.ENDIF # "$(linkinc)" != ""
-
-.IF "$(bndchk)" != ""
-LINK=nmlink $(COMMENTFLAG) $(NOLOGO) -MACHINE:IX86
-LINKFLAGS=-NODEFAULTLIB -DEBUG:full -DEBUGTYPE:cv
-.ENDIF
-
-.IF "$(truetime)" != ""
-LINK=nmlink /NMttOn $(COMMENTFLAG) $(NOLOGO) /MACHINE:IX86
-LINKFLAGS=/NODEFAULTLIB /DEBUG:full /DEBUGTYPE:cv
-.ENDIF
-
-LINKFLAGSAPPGUI=/SUBSYSTEM:WINDOWS,4.0
-LINKFLAGSSHLGUI=/SUBSYSTEM:WINDOWS,4.0 /DLL
-LINKFLAGSAPPCUI=/SUBSYSTEM:CONSOLE /BASE:0x1b000000
-LINKFLAGSSHLCUI=/SUBSYSTEM:CONSOLE /DLL
-LINKFLAGSTACK=/STACK:
-LINKFLAGSPROF=-DEBUG:mapped,partial -DEBUGTYPE:coff cap.lib
-LINKFLAGSWST=-DEBUG:mapped,partial -DEBUGTYPE:coff wst.lib -NODEFAULTLIB
-LINKFLAGSDEBUG=-DEBUG:full -DEBUGTYPE:cv
-LINKFLAGSOPT=
-
-UWINAPILIB*=uwinapi.lib
-.IF "$(DYNAMIC_CRT)"!=""
-.IF "$(USE_STLP_DEBUG)" != ""
-LIBCMT=msvcrtd.lib
-.ELSE # "$(USE_STLP_DEBUG)" != ""
-LIBCMT=msvcrt.lib
-.ENDIF # "$(USE_STLP_DEBUG)" != ""
-.ELSE # "$(DYNAMIC_CRT)"!=""
-.IF "$(USE_STLP_DEBUG)" != ""
-LIBCMT=libcmtd.lib
-.ELSE # "$(USE_STLP_DEBUG)" != ""
-LIBCMT=libcmt.lib
-.ENDIF # "$(USE_STLP_DEBUG)" != ""
-.ENDIF # "$(DYNAMIC_CRT)"!=""
-
-STDOBJVCL=$(L)/salmain.obj
-STDOBJGUI=
-STDSLOGUI=
-STDOBJCUI=
-STDSLOCUI=
-
-STDLIBGUIMT=$(LIBCMT) $(UWINAPILIB) kernel32.lib user32.lib oldnames.lib psapi.lib
-STDLIBCUIMT=$(LIBCMT) $(UWINAPILIB) kernel32.lib user32.lib oldnames.lib psapi.lib
-STDSHLGUIMT=$(LIBCMT) $(UWINAPILIB) kernel32.lib user32.lib oldnames.lib psapi.lib
-STDSHLCUIMT=$(LIBCMT) $(UWINAPILIB) kernel32.lib user32.lib oldnames.lib psapi.lib
-
-.IF "$(USE_STLP_DEBUG)" != ""
-CFLAGS+=-MTd
-LIBSTLPORT=stlport_vc71_stldebug.lib
-LIBSTLPORTST=stlport_vc71_stldebug_static.lib
-.ELSE
-LIBSTLPORT=stlport_vc71.lib
-LIBSTLPORTST=stlport_vc71_static.lib
-.ENDIF
-
-ATL_INCLUDE*=$(COMPATH)/atlmfc/include
-ATL_LIB*=$(COMPATH)/atlmfc/lib
-
-LIBMGR=lib $(NOLOGO)
-IMPLIB=lib
-LIBFLAGS=
-
-IMPLIBFLAGS=-machine:IX86
-
-MAPSYM=
-MAPSYMFLAGS=
-
-RC=rc
-RCFLAGS=-r -DWIN32 -fo$@ $(RCFILES)
-RCLINK=rc
-RCLINKFLAGS=
-RCSETVERSION=
-
-
-DLLPOSTFIX=mi
-PCHPOST=.pch
-
-CSC*=$(FLIPCMD) csc
-VBC*=vbc
-
-ADVAPI32LIB=advapi32.lib
-SHELL32LIB=shell32.lib
-GDI32LIB=gdi32.lib
-OLE32LIB=ole32.lib
-OLEAUT32LIB=oleaut32.lib
-UUIDLIB=uuid.lib
-WINSPOOLLIB=winspool.lib
-IMM32LIB=imm32.lib
-VERSIONLIB=version.lib
-WINMMLIB=winmm.lib
-WSOCK32LIB=wsock32.lib
-MPRLIB=mpr.lib
-WS2_32LIB=ws2_32.lib
-KERNEL32LIB=kernel32.lib
-USER32LIB=user32.lib
-COMDLG32LIB=comdlg32.lib
-COMCTL32LIB=comctl32.lib
-CRYPT32LIB=crypt32.lib
-GDIPLUSLIB=gdiplus.lib
-DBGHELPLIB=dbghelp.lib
-MSILIB=msi.lib
-DDRAWLIB=ddraw.lib
-SHLWAPILIB=shlwapi.lib
-URLMONLIB=urlmon.lib
-UNICOWSLIB=unicows.lib
-WININETLIB=wininet.lib
-OLDNAMESLIB=oldnames.lib
-MSIMG32LIB=msimg32.lib
-
diff --git a/solenv/prj/d.lst b/solenv/prj/d.lst
index 05ceea226515..9972651fb090 100755
--- a/solenv/prj/d.lst
+++ b/solenv/prj/d.lst
@@ -1,4 +1,4 @@
-mkdir: %_DEST%\bin%_EXT%
-mkdir: %_DEST%\inc%_EXT%
-..\inc\version.lst %_DEST%\bin%_EXT%\version.lst
-..\%__SRC%\inc\versionlist.hrc %_DEST%\inc%_EXT%\versionlist.hrc
+mkdir: %_DEST%\bin
+mkdir: %_DEST%\inc
+..\inc\version.lst %_DEST%\bin\version.lst
+..\%__SRC%\inc\versionlist.hrc %_DEST%\inc\versionlist.hrc
diff --git a/solenv/src/version.c b/solenv/src/version.c
index b06b1510f300..f39f29872262 100644
--- a/solenv/src/version.c
+++ b/solenv/src/version.c
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -50,11 +51,11 @@ static const struct VersionInfo g_aVersionInfo =
_INPATH
};
-#if defined(WNT) || defined(OS2)
+#if defined(WNT)
__declspec(dllexport) const struct VersionInfo* GetVersionInfo(void);
#endif
-#if defined(WNT) || defined(OS2)
+#if defined(WNT)
__declspec(dllexport) const struct VersionInfo* GetVersionInfo(void)
#else
const struct VersionInfo *GetVersionInfo(void)
@@ -63,17 +64,4 @@ const struct VersionInfo *GetVersionInfo(void)
return &g_aVersionInfo;
}
-#if 0
-#include <stdio.h>
-
-int main( int argc, char **argv )
-{
- const VersionInfo *pInfo = GetVersionInfo();
- fprintf( stderr, "Date : %s\n", pInfo->pDate);
- fprintf( stderr, "Time : %s\n", pInfo->pTime);
- fprintf( stderr, "UPD : %s\n", pInfo->pUpd);
- delete pInfo;
- return 0;
-}
-#endif
-
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/solenv/unxmacxp/inc/poll.h b/solenv/unxmacxp/inc/poll.h
index 761b59dbec1f..00c6cbacf32a 100644
--- a/solenv/unxmacxp/inc/poll.h
+++ b/solenv/unxmacxp/inc/poll.h
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
// poll.h
// MacOS X does not implement poll(). Therefore, this replacement
// is required. It uses select().
@@ -171,3 +172,5 @@ inline int poll(struct pollfd *pollSet, int pollCount, int pollTimeout)
#undef FD_SETSIZE
#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */