[Libreoffice-commits] core.git: Branch 'feature/gccwrapper' - 13 commits - android/CustomTarget_android_desktop.mk android/CustomTarget_docloader.mk android/CustomTarget_lo4android.mk android/CustomTarget_sdremote.mk config_host/config_version.h.in configure.ac editeng/inc filter/source liblangtag/ar-lib liblangtag/ExternalPackage_langtag.mk liblangtag/ExternalProject_langtag.mk liblangtag/liblangtag-0.4.0-ar-lib.patch liblangtag/Module_liblangtag.mk liblangtag/StaticLibrary_langtag.mk liblangtag/UnpackedTarball_langtag.mk libvisio/ExternalPackage_libvisio.mk libvisio/ExternalProject_libvisio.mk oox/source padmin/source Repository.mk sd/source solenv/CustomTarget_versionlist.mk solenv/Executable_gcc-wrapper.mk solenv/Executable_g++-wrapper.mk solenv/gbuild solenv/gcc-wrappers solenv/inc solenv/Module_solenv.mk solenv/Package_inc.mk solenv/StaticLibrary_wrapper.mk sw/source unotools/source vcl/aqua vcl/generic vcl/source

Peter Foley pefoley2 at verizon.net
Tue Mar 12 17:09:25 PDT 2013


Rebased ref, commits from common ancestor:
commit 2f7b9c9caf22d6fb2434a859bc68e3da412ad625
Author: Peter Foley <pefoley2 at verizon.net>
Date:   Tue Mar 12 20:06:07 2013 -0400

    move liblangtag to gcc-wrapper
    
    Change-Id: I11c7509b63769f60bb2831a802e020ed43b3ab7b

diff --git a/liblangtag/ExternalPackage_langtag.mk b/liblangtag/ExternalPackage_langtag.mk
index a424f83..d56193e 100644
--- a/liblangtag/ExternalPackage_langtag.mk
+++ b/liblangtag/ExternalPackage_langtag.mk
@@ -11,6 +11,10 @@ $(eval $(call gb_ExternalPackage_ExternalPackage,langtag,langtag))
 
 $(eval $(call gb_ExternalPackage_use_external_project,langtag,langtag))
 
+ifeq ($(COM),MSC)
+$(eval $(call gb_ExternalPackage_add_file,langtag,lib/liblangtag.lib,liblangtag/.libs/liblangtag.lib))
+else
 $(eval $(call gb_ExternalPackage_add_file,langtag,lib/liblangtag.a,liblangtag/.libs/liblangtag.a))
+endif
 
 # vim: set noet sw=4 ts=4:
diff --git a/liblangtag/ExternalProject_langtag.mk b/liblangtag/ExternalProject_langtag.mk
index 051e035..6f6923c 100644
--- a/liblangtag/ExternalProject_langtag.mk
+++ b/liblangtag/ExternalProject_langtag.mk
@@ -10,8 +10,11 @@
 $(eval $(call gb_ExternalProject_ExternalProject,langtag))
 
 $(eval $(call gb_ExternalProject_use_unpacked,langtag,langtag))
+
 $(eval $(call gb_ExternalProject_use_external,langtag,libxml2))
 
+$(eval $(call gb_ExternalProject_use_autoconf,langtag,build))
+
 $(eval $(call gb_ExternalProject_register_targets,langtag,\
 	build \
 ))
@@ -21,7 +24,7 @@ $(call gb_ExternalProject_get_state_target,langtag,build):
 		./configure --disable-modules --disable-test --disable-introspection --disable-shared --enable-static --with-pic \
 		$(if $(filter TRUE,$(HAVE_GCC_BUILTIN_ATOMIC)),"lt_cv_has_atomic=yes","lt_cv_has_atomic=no") \
 		$(if $(filter YES,$(CROSS_COMPILING)),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \
-		$(if $(filter NO,$(SYSTEM_LIBXML)),LIBXML2_CFLAGS="-I$(call gb_UnpackedTarball_get_dir,xml2)/include",\
+		$(if $(filter NO,$(SYSTEM_LIBXML)),LIBXML2_CFLAGS="-I$(call gb_UnpackedTarball_get_dir,xml2)/include" LIBXML2_LIBS=" ",\
 		$(if $(filter MACOSX,$(OS)),LIBXML2_CFLAGS="$(LIBXML_CFLAGS)" LIBXML2_LIBS="$(LIBXML_LIBS)")) \
 		$(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \
 		$(if $(filter-out LINUX FREEBSD,$(OS)),,LDFLAGS="-Wl$(COMMA)-z$(COMMA)origin -Wl$(COMMA)-rpath,\\"\$$\$$ORIGIN:'\'\$$\$$ORIGIN/../ure-link/lib) \
diff --git a/liblangtag/Module_liblangtag.mk b/liblangtag/Module_liblangtag.mk
index 8d75f2d..b5e9cc3 100644
--- a/liblangtag/Module_liblangtag.mk
+++ b/liblangtag/Module_liblangtag.mk
@@ -15,20 +15,11 @@ ifeq ($(SYSTEM_LIBLANGTAG),NO)
 $(eval $(call gb_Module_add_targets,liblangtag,\
 	UnpackedTarball_langtag \
 	ExternalPackage_langtag_data \
-	Zip_liblangtag_data \
-))
-
-ifeq ($(COM),MSC)
-$(eval $(call gb_Module_add_targets,liblangtag,\
-	StaticLibrary_langtag \
-))
-else
-$(eval $(call gb_Module_add_targets,liblangtag,\
 	ExternalPackage_langtag \
 	ExternalProject_langtag \
+	Zip_liblangtag_data \
 ))
 endif
 endif
-endif
 
 # vim: set noet sw=4 ts=4:
diff --git a/liblangtag/StaticLibrary_langtag.mk b/liblangtag/StaticLibrary_langtag.mk
deleted file mode 100755
index fed7565..0000000
--- a/liblangtag/StaticLibrary_langtag.mk
+++ /dev/null
@@ -1,73 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-#
-# This file is part of the LibreOffice project.
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#
-
-$(eval $(call gb_StaticLibrary_StaticLibrary,langtag))
-
-$(eval $(call gb_StaticLibrary_set_warnings_not_errors,langtag))
-
-$(eval $(call gb_StaticLibrary_use_unpacked,langtag,langtag))
-
-$(eval $(call gb_StaticLibrary_use_external,langtag,libxml2))
-
-$(eval $(call gb_StaticLibrary_set_include,langtag,\
-	$$(INCLUDE) \
-	-I$(call gb_UnpackedTarball_get_dir,langtag) \
-	-I$(call gb_UnpackedTarball_get_dir,langtag)/liblangtag \
-))
-
-# Hardcoded for MSVC
-$(eval $(call gb_StaticLibrary_add_defs,langtag,\
-	-D__LANGTAG_COMPILATION \
-	-DREGDATADIR \
-	-DLT_HAVE___INLINE \
-	-DLT_CAN_INLINE \
-	-DALIGNOF_VOID_P=4 \
-))
-
-$(eval $(call gb_StaticLibrary_add_generated_cobjects,langtag,\
-	UnpackedTarball/langtag/liblangtag/lt-database \
-	UnpackedTarball/langtag/liblangtag/lt-error \
-	UnpackedTarball/langtag/liblangtag/lt-ext-module \
-	UnpackedTarball/langtag/liblangtag/lt-ext-module-data \
-	UnpackedTarball/langtag/liblangtag/lt-extension \
-	UnpackedTarball/langtag/liblangtag/lt-extlang \
-	UnpackedTarball/langtag/liblangtag/lt-extlang-db \
-	UnpackedTarball/langtag/liblangtag/lt-grandfathered \
-	UnpackedTarball/langtag/liblangtag/lt-grandfathered-db \
-	UnpackedTarball/langtag/liblangtag/lt-lang \
-	UnpackedTarball/langtag/liblangtag/lt-lang-db \
-	UnpackedTarball/langtag/liblangtag/lt-list \
-	UnpackedTarball/langtag/liblangtag/lt-mem \
-	UnpackedTarball/langtag/liblangtag/lt-messages \
-	UnpackedTarball/langtag/liblangtag/lt-redundant \
-	UnpackedTarball/langtag/liblangtag/lt-redundant-db \
-	UnpackedTarball/langtag/liblangtag/lt-region \
-	UnpackedTarball/langtag/liblangtag/lt-region-db \
-	UnpackedTarball/langtag/liblangtag/lt-script \
-	UnpackedTarball/langtag/liblangtag/lt-script-db \
-	UnpackedTarball/langtag/liblangtag/lt-string \
-	UnpackedTarball/langtag/liblangtag/lt-tag \
-	UnpackedTarball/langtag/liblangtag/lt-trie \
-	UnpackedTarball/langtag/liblangtag/lt-utils \
-	UnpackedTarball/langtag/liblangtag/lt-variant \
-	UnpackedTarball/langtag/liblangtag/lt-variant-db \
-	UnpackedTarball/langtag/liblangtag/lt-xml \
-))
-
-$(eval $(call gb_StaticLibrary_add_generated_cobjects,langtag,\
-	UnpackedTarball/langtag/extensions/lt-ext-ldml-t \
-	, -DLT_MODULE_PREFIX=lt_module_ext_t \
-))
-
-$(eval $(call gb_StaticLibrary_add_generated_cobjects,langtag,\
-	UnpackedTarball/langtag/extensions/lt-ext-ldml-u \
-	, -DLT_MODULE_PREFIX=lt_module_ext_u \
-))
-
-# vim: set noet sw=4 ts=4:
diff --git a/liblangtag/UnpackedTarball_langtag.mk b/liblangtag/UnpackedTarball_langtag.mk
index f610ea3..cb4708d 100644
--- a/liblangtag/UnpackedTarball_langtag.mk
+++ b/liblangtag/UnpackedTarball_langtag.mk
@@ -51,6 +51,10 @@ else
 $(eval $(call gb_UnpackedTarball_add_patches,langtag,\
 	liblangtag/liblangtag-0.4.0-msc-configure.patch \
 	liblangtag/liblangtag-0.4.0-cross.patch \
+	liblangtag/liblangtag-0.4.0-ar-lib.patch \
+))
+$(eval $(call gb_UnpackedTarball_add_files,langtag,,\
+	liblangtag/ar-lib \
 ))
 endif
 endif
diff --git a/liblangtag/ar-lib b/liblangtag/ar-lib
new file mode 100755
index 0000000..0f62c6f
--- /dev/null
+++ b/liblangtag/ar-lib
@@ -0,0 +1,270 @@
+#! /bin/sh
+# Wrapper for Microsoft lib.exe
+
+me=ar-lib
+scriptversion=2012-03-01.08; # UTC
+
+# Copyright (C) 2010, 2012 Free Software Foundation, Inc.
+# Written by Peter Rosin <peda at lysator.liu.se>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program 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 General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake at gnu.org> or send patches to
+# <automake-patches at gnu.org>.
+
+
+# func_error message
+func_error ()
+{
+  echo "$me: $1" 1>&2
+  exit 1
+}
+
+file_conv=
+
+# func_file_conv build_file
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts.
+func_file_conv ()
+{
+  file=$1
+  case $file in
+    / | /[!/]*) # absolute file, and not a UNC file
+      if test -z "$file_conv"; then
+	# lazily determine how to convert abs files
+	case `uname -s` in
+	  MINGW*)
+	    file_conv=mingw
+	    ;;
+	  CYGWIN*)
+	    file_conv=cygwin
+	    ;;
+	  *)
+	    file_conv=wine
+	    ;;
+	esac
+      fi
+      case $file_conv in
+	mingw)
+	  file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+	  ;;
+	cygwin)
+	  file=`cygpath -m "$file" || echo "$file"`
+	  ;;
+	wine)
+	  file=`winepath -w "$file" || echo "$file"`
+	  ;;
+      esac
+      ;;
+  esac
+}
+
+# func_at_file at_file operation archive
+# Iterate over all members in AT_FILE performing OPERATION on ARCHIVE
+# for each of them.
+# When interpreting the content of the @FILE, do NOT use func_file_conv,
+# since the user would need to supply preconverted file names to
+# binutils ar, at least for MinGW.
+func_at_file ()
+{
+  operation=$2
+  archive=$3
+  at_file_contents=`cat "$1"`
+  eval set x "$at_file_contents"
+  shift
+
+  for member
+  do
+    $AR -NOLOGO $operation:"$member" "$archive" || exit $?
+  done
+}
+
+case $1 in
+  '')
+     func_error "no command.  Try '$0 --help' for more information."
+     ;;
+  -h | --h*)
+    cat <<EOF
+Usage: $me [--help] [--version] PROGRAM ACTION ARCHIVE [MEMBER...]
+
+Members may be specified in a file named with @FILE.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "$me, version $scriptversion"
+    exit $?
+    ;;
+esac
+
+if test $# -lt 3; then
+  func_error "you must specify a program, an action and an archive"
+fi
+
+AR=$1
+shift
+while :
+do
+  if test $# -lt 2; then
+    func_error "you must specify a program, an action and an archive"
+  fi
+  case $1 in
+    -lib | -LIB \
+    | -ltcg | -LTCG \
+    | -machine* | -MACHINE* \
+    | -subsystem* | -SUBSYSTEM* \
+    | -verbose | -VERBOSE \
+    | -wx* | -WX* )
+      AR="$AR $1"
+      shift
+      ;;
+    *)
+      action=$1
+      shift
+      break
+      ;;
+  esac
+done
+orig_archive=$1
+shift
+func_file_conv "$orig_archive"
+archive=$file
+
+# strip leading dash in $action
+action=${action#-}
+
+delete=
+extract=
+list=
+quick=
+replace=
+index=
+create=
+
+while test -n "$action"
+do
+  case $action in
+    d*) delete=yes  ;;
+    x*) extract=yes ;;
+    t*) list=yes    ;;
+    q*) quick=yes   ;;
+    r*) replace=yes ;;
+    s*) index=yes   ;;
+    S*)             ;; # the index is always updated implicitly
+    c*) create=yes  ;;
+    u*)             ;; # TODO: don't ignore the update modifier
+    v*)             ;; # TODO: don't ignore the verbose modifier
+    *)
+      func_error "unknown action specified"
+      ;;
+  esac
+  action=${action#?}
+done
+
+case $delete$extract$list$quick$replace,$index in
+  yes,* | ,yes)
+    ;;
+  yesyes*)
+    func_error "more than one action specified"
+    ;;
+  *)
+    func_error "no action specified"
+    ;;
+esac
+
+if test -n "$delete"; then
+  if test ! -f "$orig_archive"; then
+    func_error "archive not found"
+  fi
+  for member
+  do
+    case $1 in
+      @*)
+        func_at_file "${1#@}" -REMOVE "$archive"
+        ;;
+      *)
+        func_file_conv "$1"
+        $AR -NOLOGO -REMOVE:"$file" "$archive" || exit $?
+        ;;
+    esac
+  done
+
+elif test -n "$extract"; then
+  if test ! -f "$orig_archive"; then
+    func_error "archive not found"
+  fi
+  if test $# -gt 0; then
+    for member
+    do
+      case $1 in
+        @*)
+          func_at_file "${1#@}" -EXTRACT "$archive"
+          ;;
+        *)
+          func_file_conv "$1"
+          $AR -NOLOGO -EXTRACT:"$file" "$archive" || exit $?
+          ;;
+      esac
+    done
+  else
+    $AR -NOLOGO -LIST "$archive" | sed -e 's/\\/\\\\/g' | while read member
+    do
+      $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $?
+    done
+  fi
+
+elif test -n "$quick$replace"; then
+  if test ! -f "$orig_archive"; then
+    if test -z "$create"; then
+      echo "$me: creating $orig_archive"
+    fi
+    orig_archive=
+  else
+    orig_archive=$archive
+  fi
+
+  for member
+  do
+    case $1 in
+    @*)
+      func_file_conv "${1#@}"
+      set x "$@" "@$file"
+      ;;
+    *)
+      func_file_conv "$1"
+      set x "$@" "$file"
+      ;;
+    esac
+    shift
+    shift
+  done
+
+  if test -n "$orig_archive"; then
+    $AR -NOLOGO -OUT:"$archive" "$orig_archive" "$@" || exit $?
+  else
+    $AR -NOLOGO -OUT:"$archive" "$@" || exit $?
+  fi
+
+elif test -n "$list"; then
+  if test ! -f "$orig_archive"; then
+    func_error "archive not found"
+  fi
+  $AR -NOLOGO -LIST "$archive" || exit $?
+fi
diff --git a/liblangtag/liblangtag-0.4.0-ar-lib.patch b/liblangtag/liblangtag-0.4.0-ar-lib.patch
new file mode 100644
index 0000000..a929f5f
--- /dev/null
+++ b/liblangtag/liblangtag-0.4.0-ar-lib.patch
@@ -0,0 +1,982 @@
+--- build/langtag/Makefile.in	2012-10-21 23:47:24.000000000 -0400
++++ build/langtag/Makefile.in	2013-03-11 20:44:23.978000000 -0400
+@@ -60,8 +60,8 @@
+	$(srcdir)/liblangtag-gobject.pc.in \
+	$(srcdir)/liblangtag-uninstalled.pc.in \
+	$(srcdir)/liblangtag.pc.in $(top_srcdir)/configure AUTHORS \
+-	COPYING ChangeLog INSTALL NEWS config.guess config.sub depcomp \
+-	install-sh ltmain.sh missing mkinstalldirs
++	COPYING ChangeLog INSTALL NEWS ar-lib config.guess config.sub \
++	depcomp install-sh ltmain.sh missing mkinstalldirs
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/m4macros/ax_pthread.m4 \
+	$(top_srcdir)/m4macros/gtk-doc.m4 \
+--- build/langtag/aclocal.m4	2012-10-21 23:47:22.000000000 -0400
++++ build/langtag/aclocal.m4	2013-03-11 20:44:16.964000000 -0400
+@@ -343,7 +343,8 @@
+ # ----------------------------------
+ AC_DEFUN([PKG_PROG_PKG_CONFIG],
+ [m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+-m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
++m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
++m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
+ AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
+ AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
+ AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
+@@ -389,7 +390,8 @@
+     pkg_cv_[]$1="$$1"
+  elif test -n "$PKG_CONFIG"; then
+     PKG_CHECK_EXISTS([$3],
+-                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
++                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
++		      test "x$?" != "x0" && pkg_failed=yes ],
+		     [pkg_failed=yes])
+  else
+     pkg_failed=untried
+@@ -452,7 +454,7 @@
+ Consider adjusting the PKG_CONFIG_PATH environment variable if you
+ installed software in a non-standard prefix.
+
+-_PKG_TEXT])
++_PKG_TEXT])[]dnl
+         ])
+ elif test $pkg_failed = untried; then
+	AC_MSG_RESULT([no])
+@@ -463,7 +465,7 @@
+
+ _PKG_TEXT
+
+-To get pkg-config, see <http://pkg-config.freedesktop.org/>.])
++To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
+         ])
+ else
+	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+@@ -473,6 +475,61 @@
+ fi[]dnl
+ ])# PKG_CHECK_MODULES
+
++
++# PKG_INSTALLDIR(DIRECTORY)
++# -------------------------
++# Substitutes the variable pkgconfigdir as the location where a module
++# should install pkg-config .pc files. By default the directory is
++# $libdir/pkgconfig, but the default can be changed by passing
++# DIRECTORY. The user can override through the --with-pkgconfigdir
++# parameter.
++AC_DEFUN([PKG_INSTALLDIR],
++[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
++m4_pushdef([pkg_description],
++    [pkg-config installation directory @<:@]pkg_default[@:>@])
++AC_ARG_WITH([pkgconfigdir],
++    [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
++    [with_pkgconfigdir=]pkg_default)
++AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
++m4_popdef([pkg_default])
++m4_popdef([pkg_description])
++]) dnl PKG_INSTALLDIR
++
++
++# PKG_NOARCH_INSTALLDIR(DIRECTORY)
++# -------------------------
++# Substitutes the variable noarch_pkgconfigdir as the location where a
++# module should install arch-independent pkg-config .pc files. By
++# default the directory is $datadir/pkgconfig, but the default can be
++# changed by passing DIRECTORY. The user can override through the
++# --with-noarch-pkgconfigdir parameter.
++AC_DEFUN([PKG_NOARCH_INSTALLDIR],
++[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
++m4_pushdef([pkg_description],
++    [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
++AC_ARG_WITH([noarch-pkgconfigdir],
++    [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
++    [with_noarch_pkgconfigdir=]pkg_default)
++AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
++m4_popdef([pkg_default])
++m4_popdef([pkg_description])
++]) dnl PKG_NOARCH_INSTALLDIR
++
++
++# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
++# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
++# -------------------------------------------
++# Retrieves the value of the pkg-config variable for the given module.
++AC_DEFUN([PKG_CHECK_VAR],
++[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
++AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
++
++_PKG_CONFIG([$1], [variable="][$3]["], [$2])
++AS_VAR_COPY([$1], [pkg_cv_][$1])
++
++AS_VAR_IF([$1], [""], [$5], [$4])dnl
++])# PKG_CHECK_VAR
++
+ # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
+ # Foundation, Inc.
+ #
+@@ -512,6 +569,67 @@
+   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
++# Copyright (C) 2011 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 1
++
++# AM_PROG_AR([ACT-IF-FAIL])
++# -------------------------
++# Try to determine the archiver interface, and trigger the ar-lib wrapper
++# if it is needed.  If the detection of archiver interface fails, run
++# ACT-IF-FAIL (default is to abort configure with a proper error message).
++AC_DEFUN([AM_PROG_AR],
++[AC_BEFORE([$0], [LT_INIT])dnl
++AC_BEFORE([$0], [AC_PROG_LIBTOOL])dnl
++AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
++AC_REQUIRE_AUX_FILE([ar-lib])dnl
++AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false])
++: ${AR=ar}
++
++AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface],
++  [am_cv_ar_interface=ar
++   AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])],
++     [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
++      AC_TRY_EVAL([am_ar_try])
++      if test "$ac_status" -eq 0; then
++        am_cv_ar_interface=ar
++      else
++        am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&AS_MESSAGE_LOG_FD'
++        AC_TRY_EVAL([am_ar_try])
++        if test "$ac_status" -eq 0; then
++          am_cv_ar_interface=lib
++        else
++          am_cv_ar_interface=unknown
++        fi
++      fi
++      rm -f conftest.lib libconftest.a
++     ])
++   ])
++
++case $am_cv_ar_interface in
++ar)
++  ;;
++lib)
++  # Microsoft lib, so override with the ar-lib wrapper script.
++  # FIXME: It is wrong to rewrite AR.
++  # But if we don't then we get into trouble of one sort or another.
++  # A longer-term fix would be to have automake use am__AR in this case,
++  # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something
++  # similar.
++  AR="$am_aux_dir/ar-lib $AR"
++  ;;
++unknown)
++  m4_default([$1],
++             [AC_MSG_ERROR([could not determine $AR interface])])
++  ;;
++esac
++AC_SUBST([AR])dnl
++])
++
+ # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
+
+ # Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+--- build/langtag/configure	2013-03-11 20:36:29.241000000 -0400
++++ build/langtag/configure	2013-03-11 20:44:21.552000000 -0400
+@@ -681,8 +681,6 @@
+ DSYMUTIL
+ MANIFEST_TOOL
+ RANLIB
+-ac_ct_AR
+-AR
+ DLLTOOL
+ OBJDUMP
+ LN_S
+@@ -694,6 +692,15 @@
+ EGREP
+ GREP
+ SED
++host_os
++host_vendor
++host_cpu
++host
++build_os
++build_vendor
++build_cpu
++build
++LIBTOOL
+ am__fastdepCC_FALSE
+ am__fastdepCC_TRUE
+ CCDEPMODE
+@@ -711,15 +718,8 @@
+ LDFLAGS
+ CFLAGS
+ CC
+-host_os
+-host_vendor
+-host_cpu
+-host
+-build_os
+-build_vendor
+-build_cpu
+-build
+-LIBTOOL
++ac_ct_AR
++AR
+ MAINT
+ MAINTAINER_MODE_FALSE
+ MAINTAINER_MODE_TRUE
+@@ -793,11 +793,11 @@
+ enable_option_checking
+ enable_silent_rules
+ enable_maintainer_mode
++enable_dependency_tracking
+ enable_shared
+ enable_static
+ with_pic
+ enable_fast_install
+-enable_dependency_tracking
+ with_gnu_ld
+ with_sysroot
+ enable_libtool_lock
+@@ -1458,12 +1458,12 @@
+   --disable-silent-rules         verbose build output (undo: `make V=0')
+   --enable-maintainer-mode  enable make rules and dependencies not useful
+			  (and sometimes confusing) to the casual installer
++  --disable-dependency-tracking  speeds up one-time build
++  --enable-dependency-tracking   do not reject slow dependency extractors
+   --enable-shared[=PKGS]  build shared libraries [default=yes]
+   --enable-static[=PKGS]  build static libraries [default=yes]
+   --enable-fast-install[=PKGS]
+                           optimize for fast installation [default=yes]
+-  --disable-dependency-tracking  speeds up one-time build
+-  --enable-dependency-tracking   do not reject slow dependency extractors
+   --disable-libtool-lock  avoid locking (might break parallel builds)
+   --enable-compile-warnings=[no/minimum/yes/maximum/error]
+                           Turn on compiler warnings
+@@ -2967,171 +2967,6 @@
+
+
+
+-case `pwd` in
+-  *\ * | *\	*)
+-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
+-esac
+-
+-
+-
+-macro_version='2.4.2'
+-macro_revision='1.3337'
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-ltmain="$ac_aux_dir/ltmain.sh"
+-
+-# Make sure we can run config.sub.
+-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+-  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+-
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+-$as_echo_n "checking build system type... " >&6; }
+-if ${ac_cv_build+:} false; then :
+-  $as_echo_n "(cached) " >&6
+-else
+-  ac_build_alias=$build_alias
+-test "x$ac_build_alias" = x &&
+-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+-test "x$ac_build_alias" = x &&
+-  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+-  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+-
+-fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+-$as_echo "$ac_cv_build" >&6; }
+-case $ac_cv_build in
+-*-*-*) ;;
+-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+-esac
+-build=$ac_cv_build
+-ac_save_IFS=$IFS; IFS='-'
+-set x $ac_cv_build
+-shift
+-build_cpu=$1
+-build_vendor=$2
+-shift; shift
+-# Remember, the first character of IFS is used to create $*,
+-# except with old shells:
+-build_os=$*
+-IFS=$ac_save_IFS
+-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+-
+-
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+-$as_echo_n "checking host system type... " >&6; }
+-if ${ac_cv_host+:} false; then :
+-  $as_echo_n "(cached) " >&6
+-else
+-  if test "x$host_alias" = x; then
+-  ac_cv_host=$ac_cv_build
+-else
+-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+-fi
+-
+-fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+-$as_echo "$ac_cv_host" >&6; }
+-case $ac_cv_host in
+-*-*-*) ;;
+-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+-esac
+-host=$ac_cv_host
+-ac_save_IFS=$IFS; IFS='-'
+-set x $ac_cv_host
+-shift
+-host_cpu=$1
+-host_vendor=$2
+-shift; shift
+-# Remember, the first character of IFS is used to create $*,
+-# except with old shells:
+-host_os=$*
+-IFS=$ac_save_IFS
+-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+-
+-
+-# Backslashify metacharacters that are still active within
+-# double-quoted strings.
+-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+-
+-# Same as above, but do not quote variable references.
+-double_quote_subst='s/\(["`\\]\)/\\\1/g'
+-
+-# Sed substitution to delay expansion of an escaped shell variable in a
+-# double_quote_subst'ed string.
+-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+-
+-# Sed substitution to delay expansion of an escaped single quote.
+-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+-
+-# Sed substitution to avoid accidental globbing in evaled expressions
+-no_glob_subst='s/\*/\\\*/g'
+-
+-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+-
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+-$as_echo_n "checking how to print strings... " >&6; }
+-# Test print first, because it will be a builtin if present.
+-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+-   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+-  ECHO='print -r --'
+-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+-  ECHO='printf %s\n'
+-else
+-  # Use this function as a fallback that always works.
+-  func_fallback_echo ()
+-  {
+-    eval 'cat <<_LTECHO_EOF
+-$1
+-_LTECHO_EOF'
+-  }
+-  ECHO='func_fallback_echo'
+-fi
+-
+-# func_echo_all arg...
+-# Invoke $ECHO with all args, space-separated.
+-func_echo_all ()
+-{
+-    $ECHO ""
+-}
+-
+-case "$ECHO" in
+-  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
+-$as_echo "printf" >&6; } ;;
+-  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
+-$as_echo "print -r" >&6; } ;;
+-  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
+-$as_echo "cat" >&6; } ;;
+-esac
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+ DEPDIR="${am__leading_dot}deps"
+
+ ac_config_commands="$ac_config_commands depfiles"
+@@ -4113,6 +3948,332 @@
+ fi
+
+
++
++if test -n "$ac_tool_prefix"; then
++  for ac_prog in ar lib "link -lib"
++  do
++    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_AR+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$AR"; then
++  ac_cv_prog_AR="$AR" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++AR=$ac_cv_prog_AR
++if test -n "$AR"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
++$as_echo "$AR" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++    test -n "$AR" && break
++  done
++fi
++if test -z "$AR"; then
++  ac_ct_AR=$AR
++  for ac_prog in ar lib "link -lib"
++do
++  # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_ac_ct_AR+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_AR"; then
++  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_ac_ct_AR="$ac_prog"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_AR=$ac_cv_prog_ac_ct_AR
++if test -n "$ac_ct_AR"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
++$as_echo "$ac_ct_AR" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++  test -n "$ac_ct_AR" && break
++done
++
++  if test "x$ac_ct_AR" = x; then
++    AR="false"
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    AR=$ac_ct_AR
++  fi
++fi
++
++: ${AR=ar}
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the archiver ($AR) interface" >&5
++$as_echo_n "checking the archiver ($AR) interface... " >&6; }
++if ${am_cv_ar_interface+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  am_cv_ar_interface=ar
++   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++int some_variable = 0;
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&5'
++      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5
++  (eval $am_ar_try) 2>&5
++  ac_status=$?
++  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; }
++      if test "$ac_status" -eq 0; then
++        am_cv_ar_interface=ar
++      else
++        am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&5'
++        { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5
++  (eval $am_ar_try) 2>&5
++  ac_status=$?
++  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; }
++        if test "$ac_status" -eq 0; then
++          am_cv_ar_interface=lib
++        else
++          am_cv_ar_interface=unknown
++        fi
++      fi
++      rm -f conftest.lib libconftest.a
++
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5
++$as_echo "$am_cv_ar_interface" >&6; }
++
++case $am_cv_ar_interface in
++ar)
++  ;;
++lib)
++  # Microsoft lib, so override with the ar-lib wrapper script.
++  # FIXME: It is wrong to rewrite AR.
++  # But if we don't then we get into trouble of one sort or another.
++  # A longer-term fix would be to have automake use am__AR in this case,
++  # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something
++  # similar.
++  AR="$am_aux_dir/ar-lib $AR"
++  ;;
++unknown)
++  as_fn_error $? "could not determine $AR interface" "$LINENO" 5
++  ;;
++esac
++
++case `pwd` in
++  *\ * | *\	*)
++    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
++$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
++esac
++
++
++
++macro_version='2.4.2'
++macro_revision='1.3337'
++
++
++
++
++
++
++
++
++
++
++
++
++
++ltmain="$ac_aux_dir/ltmain.sh"
++
++# Make sure we can run config.sub.
++$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
++  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
++$as_echo_n "checking build system type... " >&6; }
++if ${ac_cv_build+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  ac_build_alias=$build_alias
++test "x$ac_build_alias" = x &&
++  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
++test "x$ac_build_alias" = x &&
++  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
++ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
++  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
++$as_echo "$ac_cv_build" >&6; }
++case $ac_cv_build in
++*-*-*) ;;
++*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
++esac
++build=$ac_cv_build
++ac_save_IFS=$IFS; IFS='-'
++set x $ac_cv_build
++shift
++build_cpu=$1
++build_vendor=$2
++shift; shift
++# Remember, the first character of IFS is used to create $*,
++# except with old shells:
++build_os=$*
++IFS=$ac_save_IFS
++case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
++$as_echo_n "checking host system type... " >&6; }
++if ${ac_cv_host+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test "x$host_alias" = x; then
++  ac_cv_host=$ac_cv_build
++else
++  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
++    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
++fi
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
++$as_echo "$ac_cv_host" >&6; }
++case $ac_cv_host in
++*-*-*) ;;
++*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
++esac
++host=$ac_cv_host
++ac_save_IFS=$IFS; IFS='-'
++set x $ac_cv_host
++shift
++host_cpu=$1
++host_vendor=$2
++shift; shift
++# Remember, the first character of IFS is used to create $*,
++# except with old shells:
++host_os=$*
++IFS=$ac_save_IFS
++case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
++
++
++# Backslashify metacharacters that are still active within
++# double-quoted strings.
++sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
++
++# Same as above, but do not quote variable references.
++double_quote_subst='s/\(["`\\]\)/\\\1/g'
++
++# Sed substitution to delay expansion of an escaped shell variable in a
++# double_quote_subst'ed string.
++delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
++
++# Sed substitution to delay expansion of an escaped single quote.
++delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
++
++# Sed substitution to avoid accidental globbing in evaled expressions
++no_glob_subst='s/\*/\\\*/g'
++
++ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
++ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
++ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
++$as_echo_n "checking how to print strings... " >&6; }
++# Test print first, because it will be a builtin if present.
++if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
++   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
++  ECHO='print -r --'
++elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
++  ECHO='printf %s\n'
++else
++  # Use this function as a fallback that always works.
++  func_fallback_echo ()
++  {
++    eval 'cat <<_LTECHO_EOF
++$1
++_LTECHO_EOF'
++  }
++  ECHO='func_fallback_echo'
++fi
++
++# func_echo_all arg...
++# Invoke $ECHO with all args, space-separated.
++func_echo_all ()
++{
++    $ECHO ""
++}
++
++case "$ECHO" in
++  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
++$as_echo "printf" >&6; } ;;
++  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
++$as_echo "print -r" >&6; } ;;
++  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
++$as_echo "cat" >&6; } ;;
++esac
++
++
++
++
++
++
++
++
++
++
++
++
++
++
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+ $as_echo_n "checking for a sed that does not truncate output... " >&6; }
+ if ${ac_cv_path_SED+:} false; then :
+@@ -5538,7 +5699,6 @@
+
+
+
+-
+ if test -n "$ac_tool_prefix"; then
+   for ac_prog in ar
+   do
+@@ -12605,8 +12765,8 @@
+ if ac_fn_c_try_link "$LINENO"; then :
+   as_fn_error $? "liblangtag has to be built with -march=i486 or later." "$LINENO" 5
+ else
+-       lt_cv_has_atomic=no
+-       CFLAGS="$_save_cflags"
++  lt_cv_has_atomic=no
++        CFLAGS="$_save_cflags"
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+     conftest$ac_exeext conftest.$ac_ext
+@@ -12838,6 +12998,7 @@
+
+
+
++
+ if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+	if test -n "$ac_tool_prefix"; then
+   # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+@@ -12966,6 +13127,7 @@
+   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+   test $ac_status = 0; }; then
+   pkg_cv_LIBXML2_CFLAGS=`$PKG_CONFIG --cflags "libxml-2.0 >= $LIBXML2_REQUIRED" 2>/dev/null`
++		      test "x$?" != "x0" && pkg_failed=yes
+ else
+   pkg_failed=yes
+ fi
+@@ -12982,6 +13144,7 @@
+   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+   test $ac_status = 0; }; then
+   pkg_cv_LIBXML2_LIBS=`$PKG_CONFIG --libs "libxml-2.0 >= $LIBXML2_REQUIRED" 2>/dev/null`
++		      test "x$?" != "x0" && pkg_failed=yes
+ else
+   pkg_failed=yes
+ fi
+@@ -13001,9 +13164,9 @@
+         _pkg_short_errors_supported=no
+ fi
+         if test $_pkg_short_errors_supported = yes; then
+-	        LIBXML2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libxml-2.0 >= $LIBXML2_REQUIRED" 2>&1`
++	        LIBXML2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libxml-2.0 >= $LIBXML2_REQUIRED" 2>&1`
+         else
+-	        LIBXML2_PKG_ERRORS=`$PKG_CONFIG --print-errors "libxml-2.0 >= $LIBXML2_REQUIRED" 2>&1`
++	        LIBXML2_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libxml-2.0 >= $LIBXML2_REQUIRED" 2>&1`
+         fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$LIBXML2_PKG_ERRORS" >&5
+@@ -13018,7 +13181,6 @@
+ Alternatively, you may set the environment variables LIBXML2_CFLAGS
+ and LIBXML2_LIBS to avoid the need to call pkg-config.
+ See the pkg-config man page for more details." "$LINENO" 5
+-
+ elif test $pkg_failed = untried; then
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+@@ -13034,7 +13196,6 @@
+
+ To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+ See \`config.log' for more details" "$LINENO" 5; }
+-
+ else
+	LIBXML2_CFLAGS=$pkg_cv_LIBXML2_CFLAGS
+	LIBXML2_LIBS=$pkg_cv_LIBXML2_LIBS
+@@ -13057,6 +13218,7 @@
+   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+   test $ac_status = 0; }; then
+   pkg_cv_GOBJECT_CFLAGS=`$PKG_CONFIG --cflags "gobject-2.0 >= $GOBJECT_REQUIRED" 2>/dev/null`
++		      test "x$?" != "x0" && pkg_failed=yes
+ else
+   pkg_failed=yes
+ fi
+@@ -13073,6 +13235,7 @@
+   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+   test $ac_status = 0; }; then
+   pkg_cv_GOBJECT_LIBS=`$PKG_CONFIG --libs "gobject-2.0 >= $GOBJECT_REQUIRED" 2>/dev/null`
++		      test "x$?" != "x0" && pkg_failed=yes
+ else
+   pkg_failed=yes
+ fi
+@@ -13092,9 +13255,9 @@
+         _pkg_short_errors_supported=no
+ fi
+         if test $_pkg_short_errors_supported = yes; then
+-	        GOBJECT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gobject-2.0 >= $GOBJECT_REQUIRED" 2>&1`
++	        GOBJECT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gobject-2.0 >= $GOBJECT_REQUIRED" 2>&1`
+         else
+-	        GOBJECT_PKG_ERRORS=`$PKG_CONFIG --print-errors "gobject-2.0 >= $GOBJECT_REQUIRED" 2>&1`
++	        GOBJECT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gobject-2.0 >= $GOBJECT_REQUIRED" 2>&1`
+         fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$GOBJECT_PKG_ERRORS" >&5
+@@ -13128,6 +13291,7 @@
+   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+   test $ac_status = 0; }; then
+   pkg_cv_CHECK_CFLAGS=`$PKG_CONFIG --cflags "check >= $CHECK_REQUIRED" 2>/dev/null`
++		      test "x$?" != "x0" && pkg_failed=yes
+ else
+   pkg_failed=yes
+ fi
+@@ -13144,6 +13308,7 @@
+   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+   test $ac_status = 0; }; then
+   pkg_cv_CHECK_LIBS=`$PKG_CONFIG --libs "check >= $CHECK_REQUIRED" 2>/dev/null`
++		      test "x$?" != "x0" && pkg_failed=yes
+ else
+   pkg_failed=yes
+ fi
+@@ -13163,9 +13328,9 @@
+         _pkg_short_errors_supported=no
+ fi
+         if test $_pkg_short_errors_supported = yes; then
+-	        CHECK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "check >= $CHECK_REQUIRED" 2>&1`
++	        CHECK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "check >= $CHECK_REQUIRED" 2>&1`
+         else
+-	        CHECK_PKG_ERRORS=`$PKG_CONFIG --print-errors "check >= $CHECK_REQUIRED" 2>&1`
++	        CHECK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "check >= $CHECK_REQUIRED" 2>&1`
+         fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$CHECK_PKG_ERRORS" >&5
+@@ -13195,6 +13360,10 @@
+ fi
+
+
++case $host_os in
++  cygwin* | mingw*)
++    ;;
++  *)
+
+
+ ac_ext=c
+@@ -13203,10 +13372,6 @@
+ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+-case $host_os in
+-  cygwin* | mingw*)
+-    ;;
+-  *)
+ ax_pthread_ok=no
+
+ # We used to check for pthread.h first, but this fails if pthread.h
+@@ -13588,8 +13753,6 @@
+         ax_pthread_ok=no
+         as_fn_error $? "*** pthread library are required" "$LINENO" 5
+ fi
+-;;
+-esac
+ ac_ext=c
+ ac_cpp='$CPP $CPPFLAGS'
+ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+@@ -13597,6 +13760,8 @@
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
++    ;;
++esac
+
+
+
+@@ -13879,6 +14044,7 @@
+   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+   test $ac_status = 0; }; then
+   pkg_cv_GTKDOC_DEPS_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0" 2>/dev/null`
++		      test "x$?" != "x0" && pkg_failed=yes
+ else
+   pkg_failed=yes
+ fi
+@@ -13895,6 +14061,7 @@
+   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+   test $ac_status = 0; }; then
+   pkg_cv_GTKDOC_DEPS_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0" 2>/dev/null`
++		      test "x$?" != "x0" && pkg_failed=yes
+ else
+   pkg_failed=yes
+ fi
+@@ -13914,9 +14081,9 @@
+         _pkg_short_errors_supported=no
+ fi
+         if test $_pkg_short_errors_supported = yes; then
+-	        GTKDOC_DEPS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0" 2>&1`
++	        GTKDOC_DEPS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0" 2>&1`
+         else
+-	        GTKDOC_DEPS_PKG_ERRORS=`$PKG_CONFIG --print-errors "glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0" 2>&1`
++	        GTKDOC_DEPS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0" 2>&1`
+         fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$GTKDOC_DEPS_PKG_ERRORS" >&5
+@@ -13931,7 +14098,6 @@
+ Alternatively, you may set the environment variables GTKDOC_DEPS_CFLAGS
+ and GTKDOC_DEPS_LIBS to avoid the need to call pkg-config.
+ See the pkg-config man page for more details." "$LINENO" 5
+-
+ elif test $pkg_failed = untried; then
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+@@ -13947,7 +14113,6 @@
+
+ To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+ See \`config.log' for more details" "$LINENO" 5; }
+-
+ else
+	GTKDOC_DEPS_CFLAGS=$pkg_cv_GTKDOC_DEPS_CFLAGS
+	GTKDOC_DEPS_LIBS=$pkg_cv_GTKDOC_DEPS_LIBS
+
+--- build/langtag/configure.ac	2013-03-11 20:36:29.238000000 -0400
++++ build/langtag/configure.ac	2013-03-11 20:38:35.690000000 -0400
+@@ -14,6 +14,7 @@
+ AM_CONFIG_HEADER([config.h])
+ AC_CONFIG_MACRO_DIR([m4macros])
+
++AM_PROG_AR
+ AC_PROG_LIBTOOL
+ AC_PROG_CC
commit 49426e5eae877f968261df495a16c1a608f7da43
Author: Peter Foley <pefoley2 at verizon.net>
Date:   Tue Mar 12 20:04:14 2013 -0400

    move libvisio to gcc-wrapper
    
    Change-Id: I530e005e6b4964182da10d1b240d56eef929713b

diff --git a/libvisio/ExternalPackage_libvisio.mk b/libvisio/ExternalPackage_libvisio.mk
index 76d573a..5838a13 100644
--- a/libvisio/ExternalPackage_libvisio.mk
+++ b/libvisio/ExternalPackage_libvisio.mk
@@ -17,8 +17,8 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,libvisio,inc/external/libvis
 
 $(eval $(call gb_ExternalPackage_use_external_project,libvisio,libvisio))
 
-ifeq ($(OS)$(COM),WNTMSC)
-$(eval $(call gb_ExternalPackage_add_file,libvisio,lib/visio-0.0.lib,build/win32/Release/lib/libvisio-0.0.lib))
+ifeq ($(COM),MSC)
+$(eval $(call gb_ExternalPackage_add_file,libvisio,lib/visio-0.0.lib,src/lib/.libs/libvisio-0.0.lib))
 else
 $(eval $(call gb_ExternalPackage_add_file,libvisio,lib/libvisio-0.0.a,src/lib/.libs/libvisio-0.0.a))
 endif
diff --git a/libvisio/ExternalProject_libvisio.mk b/libvisio/ExternalProject_libvisio.mk
index dcd61a1..2095e61 100644
--- a/libvisio/ExternalProject_libvisio.mk
+++ b/libvisio/ExternalProject_libvisio.mk
@@ -11,6 +11,8 @@ $(eval $(call gb_ExternalProject_ExternalProject,libvisio))
 
 $(eval $(call gb_ExternalProject_use_unpacked,libvisio,visio))
 
+$(eval $(call gb_ExternalProject_use_autoconf,libvisio,build))
+
 $(eval $(call gb_ExternalProject_register_targets,libvisio,\
 	build \
 ))
@@ -22,42 +24,6 @@ $(eval $(call gb_ExternalProject_use_externals,libvisio,\
 	libxml2 \
 ))
 
-ifeq ($(OS)$(COM),WNTMSC)
-
-ifeq ($(VCVER),90)
-$(call gb_ExternalProject_get_state_target,libvisio,build) :
-	$(call gb_ExternalProject_run,build,\
-		export BOOST_INCLUDE_DIR=$(call gb_UnpackedTarball_get_dir,boost) \
-		&& export LIBWPD_INCLUDE_DIR=$(OUTDIR)/inc/external \
-		&& export LIBWPG_INCLUDE_DIR=$(OUTDIR)/inc/external \
-		&& export LIBXML_INCLUDE_DIR=$(call gb_UnpackedTarball_get_dir,xml2)/include \
-		&& export ZLIB_INCLUDE_DIR=$(OUTDIR)/inc/external/zlib \
-		&& $(COMPATH)/vcpackages/vcbuild.exe libvisio.vcproj "Release|Win32" \
-	,build/win32)
-else ifeq ($(VCVER),100)
-$(call gb_ExternalProject_get_state_target,libvisio,build) :
-	$(call gb_ExternalProject_run,build,\
-		export BOOST_INCLUDE_DIR=$(call gb_UnpackedTarball_get_dir,boost) \
-		&& export LIBWPD_INCLUDE_DIR=$(OUTDIR)/inc/external \
-		&& export LIBWPG_INCLUDE_DIR=$(OUTDIR)/inc/external \
-		&& export LIBXML_INCLUDE_DIR=$(call gb_UnpackedTarball_get_dir,xml2)/include \
-		&& export ZLIB_INCLUDE_DIR=$(OUTDIR)/inc/external/zlib \
-		&& msbuild.exe libvisio.vcxproj /p:Configuration=Release \
-	,build/win32)
-else
-$(call gb_ExternalProject_get_state_target,libvisio,build) :
-	$(call gb_ExternalProject_run,build,\
-		export BOOST_INCLUDE_DIR=$(call gb_UnpackedTarball_get_dir,boost) \
-		&& export LIBWPD_INCLUDE_DIR=$(OUTDIR)/inc/external \
-		&& export LIBWPG_INCLUDE_DIR=$(OUTDIR)/inc/external \
-		&& export LIBXML_INCLUDE_DIR=$(call gb_UnpackedTarball_get_dir,xml2)/include \
-		&& export ZLIB_INCLUDE_DIR=$(OUTDIR)/inc/external/zlib \
-		&& msbuild.exe libvisio.vcxproj /p:PlatformToolset=v110 /p:VisualStudioVersion=11.0 /p:Configuration=Release \
-	,build/win32)
-endif
-
-else
-
 $(call gb_ExternalProject_get_state_target,libvisio,build) :
 	$(call gb_ExternalProject_run,build,\
 		PKG_CONFIG="" \
@@ -74,6 +40,4 @@ $(call gb_ExternalProject_get_state_target,libvisio,build) :
 		&& (cd $(EXTERNAL_WORKDIR)/src/lib && $(MAKE)) \
 	)
 
-endif
-
 # vim: set noet sw=4 ts=4:
commit a54009336d286b0826ff12028735860076a2138b
Author: Peter Foley <pefoley2 at verizon.net>
Date:   Tue Mar 12 20:03:14 2013 -0400

    add gcc-wrapper
    
    Change-Id: I81e2287b1fee947a6c4cf609b5a568b5526bab15

diff --git a/Repository.mk b/Repository.mk
index ffcf18c..6c7e971 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -110,6 +110,8 @@ ifeq ($(OS),WNT)
 $(eval $(call gb_Helper_register_executables,OOO,\
 	crashrep_com \
 	gengal \
+	gcc-wrapper \
+	g++-wrapper \
 	guiloader \
 	guistdio \
 	langsupport \
@@ -138,6 +140,7 @@ $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
 	directxcanvas \
 	winextendloaderenv \
 	winlauncher \
+	wrapper \
 ))
 
 else
diff --git a/solenv/Executable_g++-wrapper.mk b/solenv/Executable_g++-wrapper.mk
new file mode 100755
index 0000000..526ff3a
--- /dev/null
+++ b/solenv/Executable_g++-wrapper.mk
@@ -0,0 +1,20 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_Executable_Executable,g++-wrapper))
+
+$(eval $(call gb_Executable_add_exception_objects,g++-wrapper,\
+	solenv/gcc-wrappers/g++ \
+))
+
+$(eval $(call gb_Executable_use_static_libraries,g++-wrapper,\
+    wrapper \
+))
+
+# vim:set noet sw=4 ts=4:
diff --git a/solenv/Executable_gcc-wrapper.mk b/solenv/Executable_gcc-wrapper.mk
new file mode 100644
index 0000000..ae76a33
--- /dev/null
+++ b/solenv/Executable_gcc-wrapper.mk
@@ -0,0 +1,20 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_Executable_Executable,gcc-wrapper))
+
+$(eval $(call gb_Executable_add_exception_objects,gcc-wrapper,\
+	solenv/gcc-wrappers/gcc \
+))
+
+$(eval $(call gb_Executable_use_static_libraries,gcc-wrapper,\
+    wrapper \
+))
+
+# vim:set noet sw=4 ts=4:
diff --git a/solenv/Module_solenv.mk b/solenv/Module_solenv.mk
index e606c10..ba46dd8 100644
--- a/solenv/Module_solenv.mk
+++ b/solenv/Module_solenv.mk
@@ -33,15 +33,20 @@ $(eval $(call gb_Module_add_targets,solenv,\
 ))
 endif
 
-ifneq ($(OS),WNT)
-ifneq ($(OS),IOS)
-ifneq ($(OS),ANDROID)
+ifeq ($(COM),MSC)
+$(eval $(call gb_Module_add_targets,solenv,\
+	StaticLibrary_wrapper \
+	Executable_gcc-wrapper \
+	Executable_g++-wrapper \
+))
+endif
+
+
+ifneq ($(filter-out WNT IOS ANDROID,$(OS)),)
 $(eval $(call gb_Module_add_targets,solenv,\
 	CustomTarget_gdb \
 	Package_gdb \
 ))
 endif
-endif
-endif
 
 # vim: set shiftwidth=4 tabstop=4 noexpandtab:
diff --git a/solenv/StaticLibrary_wrapper.mk b/solenv/StaticLibrary_wrapper.mk
new file mode 100755
index 0000000..8fe81ef
--- /dev/null
+++ b/solenv/StaticLibrary_wrapper.mk
@@ -0,0 +1,16 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_StaticLibrary_StaticLibrary,wrapper))
+
+$(eval $(call gb_StaticLibrary_add_exception_objects,wrapper,\
+	solenv/gcc-wrappers/wrapper \
+))
+
+# vim:set noet sw=4 ts=4:
diff --git a/solenv/gbuild/ExternalProject.mk b/solenv/gbuild/ExternalProject.mk
index 20c0973..6443af3 100644
--- a/solenv/gbuild/ExternalProject.mk
+++ b/solenv/gbuild/ExternalProject.mk
@@ -180,6 +180,16 @@ $(call gb_ExternalProject_get_preparation_target,$(1)) : \
 
 endef
 
+# Use the gcc wrappers for a autoconf based project
+#
+# gb_ExternalProject_register_targets project state_target
+define gb_ExternalProject_use_autoconf
+ifeq ($(COM),MSC)
+$(call gb_ExternalProject_get_preparation_target,$(1)) : $(call gb_Executable_get_runtime_dependencies,gcc-wrapper) \
+	$(call gb_Executable_get_runtime_dependencies,g++-wrapper)
+$(call gb_ExternalProject_get_state_target,$(1),$(2)): WRAPPERS := $(AUTOCONF_WRAPPERS)
+endif
+endef
 
 # Run a target command
 #
@@ -190,8 +200,17 @@ endef
 # default log_filename is <run_target>.log
 #
 
+AUTOCONF_WRAPPERS := \
+	REAL_CC="$(shell cygpath -w $(CC))" \
+	CC="$(call gb_Executable_get_target,gcc-wrapper)" \
+	REAL_CXX="$(shell cygpath -w $(CXX))" \
+	CXX="$(call gb_Executable_get_target,g++-wrapper)" \
+    LD="$(shell cygpath -w $(COMPATH)/bin/link.exe) -nologo"
+
 define gb_ExternalProject_run
-$(call gb_Helper_print_on_error,cd $(EXTERNAL_WORKDIR)/$(3) && $(2) && touch $@,$(EXTERNAL_WORKDIR)/$(if $(3),$(3)/,)$(if $(4),$(4),$(1).log))
+$(call gb_Helper_print_on_error,cd $(EXTERNAL_WORKDIR)/$(3) && \
+	$(if $(filter MSC,$(COM)),$(if $(WRAPPERS),export $(WRAPPERS) &&)) \
+	$(2) && touch $@,$(EXTERNAL_WORKDIR)/$(if $(3),$(3)/,)$(if $(4),$(4),$(1).log))
 endef
 
 # vim: set noet sw=4 ts=4:
diff --git a/solenv/gcc-wrappers/g++.cxx b/solenv/gcc-wrappers/g++.cxx
new file mode 100755
index 0000000..d2ee3d5
--- /dev/null
+++ b/solenv/gcc-wrappers/g++.cxx
@@ -0,0 +1,25 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+* This file is part of the LibreOffice project.
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*/
+
+#include "wrapper.hxx"
+
+int main(int argc, char *argv[]) {
+    vector<string> rawargs(argv + 1, argv + argc);
+
+    string command=getexe("REAL_CXX");
+
+    string args=processccargs(rawargs);
+
+    setupccenv();
+
+    return startprocess(command,args);
+
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/solenv/gcc-wrappers/gcc.cxx b/solenv/gcc-wrappers/gcc.cxx
new file mode 100755
index 0000000..b8983cf
--- /dev/null
+++ b/solenv/gcc-wrappers/gcc.cxx
@@ -0,0 +1,25 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+* This file is part of the LibreOffice project.
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*/
+
+#include "wrapper.hxx"
+
+int main(int argc, char *argv[]) {
+    vector<string> rawargs(argv + 1, argv + argc);
+
+    string command=getexe("REAL_CC");
+
+    string args=processccargs(rawargs);
+
+    setupccenv();
+
+    return startprocess(command,args);
+
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/solenv/gcc-wrappers/wrapper.cxx b/solenv/gcc-wrappers/wrapper.cxx
new file mode 100644
index 0000000..dfcf2a6
--- /dev/null
+++ b/solenv/gcc-wrappers/wrapper.cxx
@@ -0,0 +1,167 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+* This file is part of the LibreOffice project.
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*/
+
+#include "wrapper.hxx"
+
+#include <windows.h>
+
+#define BUFLEN 2048
+
+string getexe(string exename) {
+    char* cmdbuf;
+    size_t cmdlen;
+    _dupenv_s(&cmdbuf,&cmdlen,exename.c_str());
+    if(!cmdbuf) {
+        cout << "Error " << exename << " not defined. Did you forget to source the enviroment?" << endl;
+        exit(1);
+    }
+    string command(cmdbuf);
+    free(cmdbuf);
+    return command;
+}
+
+void setupccenv() {
+    // Set-up library path
+    string libpath="LIB=";
+    char* libbuf;
+    size_t liblen;
+    _dupenv_s(&libbuf,&liblen,"ILIB");
+    libpath.append(libbuf);
+    free(libbuf);
+    if(_putenv(libpath.c_str())<0) {
+        cerr << "Error: could not export LIB" << endl;
+        exit(1);
+    }
+
+    // Set-up include path
+    string includepath="INCLUDE=.;";
+    char* incbuf;
+    size_t inclen;
+    _dupenv_s(&incbuf,&inclen,"SOLARINC");
+    string inctmp(incbuf);
+    free(incbuf);
+
+    // 3 = strlen(" -I")
+    for(size_t pos=0; pos != string::npos;) {
+        size_t endpos=inctmp.find(" -I",pos+3);
+        size_t len=endpos-pos-3;
+        if(endpos==string::npos)
+            includepath.append(inctmp,pos+3,endpos);
+        else if(len>0) {
+            includepath.append(inctmp,pos+3,len);
+            includepath.append(";");
+        }
+        pos=inctmp.find(" -I",pos+len);
+    }
+    if(_putenv(includepath.c_str())<0) {
+        cerr << "Error: could not export INCLUDE" << endl;
+        exit(1);
+    }
+}
+
+string processccargs(vector<string> rawargs) {
+    // suppress the msvc banner
+    string args=" -nologo";
+    // TODO: should these options be enabled globally?
+    args.append(" -EHsc");
+    args.append(" -MD");
+
+    for(vector<string>::iterator i = rawargs.begin(); i != rawargs.end(); ++i) {
+        args.append(" ");
+        if(*i == "-o") {
+            // TODO: handle more than just exe output
+            args.append("-Fe");
+            ++i;
+            args.append(*i);
+        }
+        else if(*i == "-g")
+            args.append("-Zi");
+        else if(!(*i).compare(0,2,"-D")) {
+            // need to re-escape strings for preprocessor
+            for(size_t pos=(*i).find("\"",0); pos!=string::npos; pos=(*i).find("\"",pos)) {
+                (*i).replace(pos,0,"\\");
+                pos+=2;
+            }
+            args.append(*i);
+        }
+        else
+            args.append(*i);
+    }
+    return args;
+}
+
+int startprocess(string command, string args) {
+    STARTUPINFO si;
+    PROCESS_INFORMATION pi;
+    SECURITY_ATTRIBUTES sa;
+
+    HANDLE childout_read;
+    HANDLE childout_write;
+
+    memset(&sa,0,sizeof(sa));
+    memset(&si,0,sizeof(si));
+    memset(&pi,0,sizeof(pi));
+
+    sa.nLength=sizeof(sa);
+    sa.bInheritHandle=TRUE;
+
+    if(!CreatePipe(&childout_read,&childout_write,&sa,0)) {
+        cerr << "Error: could not create sdtout pipe" << endl;
+        exit(1);
+    }
+
+    si.cb=sizeof(si);
+    si.dwFlags |= STARTF_USESTDHANDLES;
+    si.hStdOutput=childout_write;
+    si.hStdError=childout_write;
+
+    // Commandline may be modified by CreateProcess
+    char* cmdline=_strdup(args.c_str());
+
+    if(!CreateProcess(command.c_str(), // Process Name
+        cmdline, // Command Line
+        NULL, // Process Handle not Inheritable
+        NULL, // Thread Handle not Inheritable
+        TRUE, // Handles are Inherited
+        0, // No creation flags
+        NULL, // Enviroment for process
+        NULL, // Use same starting directory
+        &si, // Startup Info
+        &pi) // Process Information
+        ) {
+            cerr << "Error: could not create process" << endl;
+            exit(1);
+    }
+
+    // if you don't close this the process will hang
+    CloseHandle(childout_write);
+
+    // Get Process output
+    char buffer[BUFLEN];
+    DWORD readlen, writelen, ret;
+    HANDLE stdout_handle=GetStdHandle(STD_OUTPUT_HANDLE);
+    while(true) {
+        int success=ReadFile(childout_read,buffer,BUFLEN,&readlen,NULL);
+        if(GetLastError()==ERROR_BROKEN_PIPE)
+            break;
+        if(!success) {
+            cerr << "Error: could not read from subprocess stdout" << endl;
+            exit(1);
+        }
+        if(readlen!=0) {
+                WriteFile(stdout_handle,buffer,readlen,&writelen,NULL);
+        }
+    }
+    GetExitCodeProcess(pi.hProcess, &ret);
+    CloseHandle(pi.hThread);
+    CloseHandle(pi.hProcess);
+    return int(ret);
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/solenv/gcc-wrappers/wrapper.hxx b/solenv/gcc-wrappers/wrapper.hxx
new file mode 100755
index 0000000..9850741
--- /dev/null
+++ b/solenv/gcc-wrappers/wrapper.hxx
@@ -0,0 +1,24 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+* This file is part of the LibreOffice project.
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*/
+
+#include <string>
+#include <iostream>
+#include <vector>
+
+using namespace std;
+
+string getexe(string exename);
+
+void setupccenv();
+
+string processccargs(vector<string> rawargs);
+
+int startprocess(string command, string args);
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 868f3485126827f6baf7179d1c2c3c20812cac9b
Author: Joren De Cuyper <joren.libreoffice at telenet.be>
Date:   Wed Mar 6 18:10:26 2013 +0100

    fdo#34800 Comments added to footer are placed at the right top of the page.
    
    The problem is that the nodes in the Footnote and Footer are stored before
    nodes of the document body in the internal structure.
    
    Therefore I wrote this patch to check if the compared
    comments are in the Footnote or Footer.
    We don't need to check our comment is placed in the header
    because it is already the most upper node of the whole document.
    
    Test document: https://bugs.freedesktop.org/attachment.cgi?id=76038
    
    Special thanks to Cédric Bosdonnat and Miklos Vajna
    
    Change-Id: Ibcd0373110fde848dccf93ffe9100459c7cc64a5
    Reviewed-on: https://gerrit.libreoffice.org/2572
    Reviewed-by: Fridrich Strba <fridrich at documentfoundation.org>
    Tested-by: Fridrich Strba <fridrich at documentfoundation.org>

diff --git a/sw/source/ui/docvw/PostItMgr.cxx b/sw/source/ui/docvw/PostItMgr.cxx
index cd94ba0..1a7c063 100644
--- a/sw/source/ui/docvw/PostItMgr.cxx
+++ b/sw/source/ui/docvw/PostItMgr.cxx
@@ -90,7 +90,31 @@ using namespace sw::sidebarwindows;
 bool comp_pos(const SwSidebarItem* a, const SwSidebarItem* b)
 {
     // sort by anchor position
-    return a->GetAnchorPosition() < b->GetAnchorPosition();
+    SwPosition aPosAnchorA = a->GetAnchorPosition();
+    SwPosition aPosAnchorB = b->GetAnchorPosition();
+
+    bool aAnchorAInFooter = false;
+    bool aAnchorBInFooter = false;
+
+    // is the anchor placed in Footnote or the Footer?
+    if( aPosAnchorA.nNode.GetNode().FindFootnoteStartNode() || aPosAnchorA.nNode.GetNode().FindFooterStartNode() )
+        aAnchorAInFooter = true;
+    if( aPosAnchorB.nNode.GetNode().FindFootnoteStartNode() || aPosAnchorB.nNode.GetNode().FindFooterStartNode() )
+        aAnchorBInFooter = true;
+
+    // fdo#34800
+    // if AnchorA is in footnote, and AnchorB isn't
+    // we do not want to change over the position
+    if( aAnchorAInFooter && !aAnchorBInFooter )
+        return 0;
+    // if aAnchorA is not placed in a footnote, and aAnchorB is
+    // force a change over
+    else if( !aAnchorAInFooter && aAnchorBInFooter )
+        return 1;
+    // if none of both, or both are in the footer
+    // arrange them depending on the position
+    else
+        return aPosAnchorA < aPosAnchorB;
 }
 
 SwPostItMgr::SwPostItMgr(SwView* pView)
commit a3d299e15526fdcbcaae269e33a83a9c0b187a5a
Author: Radu Ioan <ioan.radu.g at gmail.com>
Date:   Sun Mar 10 23:05:25 2013 +0200

    fdo#43157 - Clean up OSL_ASSERT, DBG_ASSERT
    
    - replaced OSL_TRACE with SAL_INFO
    - replaced OSL_ENSURE with SAL_WARN_IF
    
    Change-Id: Ie30fbc9c720d8b93d6093e2c95f61dceea8aae2f
    Reviewed-on: https://gerrit.libreoffice.org/2651
    Reviewed-by: Fridrich Strba <fridrich at documentfoundation.org>
    Tested-by: Fridrich Strba <fridrich at documentfoundation.org>

diff --git a/oox/source/ppt/animationspersist.cxx b/oox/source/ppt/animationspersist.cxx
index 74a9208..d905c0e 100644
--- a/oox/source/ppt/animationspersist.cxx
+++ b/oox/source/ppt/animationspersist.cxx
@@ -60,12 +60,12 @@ namespace oox { namespace ppt {
                 {
                 case XML_charRg:
                     // TODO calculate the corresponding paragraph for the text range....
-                    OSL_TRACE( "OOX: TODO calculate the corresponding paragraph for the text range..." );
+                    SAL_INFO("oox.ppt", "OOX: TODO calculate the corresponding paragraph for the text range..." );
                     break;
                 case XML_pRg:
                     aParaTarget.Paragraph = static_cast< sal_Int16 >( maRange.start );
                     // TODO what to do with more than one.
-                    OSL_TRACE( "OOX: TODO what to do with more than one" );
+                    SAL_INFO("oox.ppt", "OOX: TODO what to do with more than one" );
                     break;
                 }
                 rTarget = makeAny( aParaTarget );
@@ -86,11 +86,11 @@ namespace oox { namespace ppt {
         {
         case XML_inkTgt:
             // TODO
-            OSL_TRACE( "OOX: TODO inkTgt" );
+            SAL_INFO("oox.ppt", "OOX: TODO inkTgt" );
             break;
         case XML_sldTgt:
             // TODO
-            OSL_TRACE( "OOX: TODO sldTgt" );
+            SAL_INFO("oox.ppt", "OOX: TODO sldTgt" );
             break;
         case XML_sndTgt:
             aTarget = makeAny(msValue);
@@ -99,11 +99,11 @@ namespace oox { namespace ppt {
         {
             Any rTarget;
             ::oox::drawingml::ShapePtr pShape = pSlide->getShape(msValue);
-            OSL_ENSURE( pShape, "failed to locate Shape");
+            SAL_WARN_IF( !pShape, "oox.ppt", "failed to locate Shape");
             if( pShape )
             {
                 Reference< XShape > xShape( pShape->getXShape() );
-                OSL_ENSURE( xShape.is(), "fail to get XShape from shape" );
+                SAL_WARN_IF( !xShape.is(), "oox.ppt", "fail to get XShape from shape" );
                 if( xShape.is() )
                 {
                     rTarget <<= xShape;
diff --git a/oox/source/ppt/commonbehaviorcontext.cxx b/oox/source/ppt/commonbehaviorcontext.cxx
index 14c6c6b..ffaeef5 100644
--- a/oox/source/ppt/commonbehaviorcontext.cxx
+++ b/oox/source/ppt/commonbehaviorcontext.cxx
@@ -19,7 +19,6 @@
 
 #include "comphelper/anytostring.hxx"
 #include "cppuhelper/exc_hlp.hxx"
-#include <osl/diagnose.h>
 #include <rtl/ustrbuf.hxx>
 
 #include <com/sun/star/animations/XTimeContainer.hpp>
@@ -98,9 +97,7 @@ namespace oox { namespace ppt {
                                                              RTL_TEXTENCODING_ASCII_US );
                         attr.type = attrConv->meAttribute;
                         maAttributes.push_back( attr );
-                        OSL_TRACE( "OOX: attrName is %s -> %s",
-                                   OUSTRING_TO_CSTR( msCurrentAttribute ),
-                                   attrConv->mpAPIName );
+                        SAL_INFO("oox.ppt", "OOX: attrName is " << OUSTRING_TO_CSTR( msCurrentAttribute ) << " -> " << attrConv->mpAPIName );
                         break;
                     }
                     attrConv++;
@@ -143,7 +140,7 @@ namespace oox { namespace ppt {
             }
             else
             {
-                OSL_TRACE( "OOX: Attribute Name outside an Attribute List" );
+                SAL_INFO("oox.ppt", "OOX: Attribute Name outside an Attribute List" );
             }
             return this;
         }
diff --git a/oox/source/ppt/pptshape.cxx b/oox/source/ppt/pptshape.cxx
index 6da39d3..6bf6498 100644
--- a/oox/source/ppt/pptshape.cxx
+++ b/oox/source/ppt/pptshape.cxx
@@ -84,7 +84,7 @@ oox::drawingml::TextListStylePtr PPTShape::getSubTypeTextListStyle( const SlideP
 {
     oox::drawingml::TextListStylePtr pTextListStyle;
 
-    OSL_TRACE( "subtype style: %s", lclDebugSubType( nSubType ) );
+    SAL_INFO("oox.ppt", "subtype style: " << lclDebugSubType( nSubType ) );
 
     switch( nSubType )
     {
@@ -116,7 +116,7 @@ void PPTShape::addShape(
         const awt::Rectangle* pShapeRect,
         ::oox::drawingml::ShapeIdMap* pShapeMap )
 {
-    OSL_TRACE("add shape id: %s location: %s subtype: %d service: %s", OUStringToOString(msId, RTL_TEXTENCODING_UTF8 ).getStr(), meShapeLocation == Master ? "master" : meShapeLocation == Slide ? "slide" : meShapeLocation == Layout ? "layout" : "other", mnSubType, OUStringToOString(msServiceName, RTL_TEXTENCODING_UTF8 ).getStr());
+    SAL_INFO("oox.ppt","add shape id: " << msId << " location: " << ((meShapeLocation == Master) ? "master" : ((meShapeLocation == Slide) ? "slide" : ((meShapeLocation == Layout) ? "layout" : "other"))) << " subtype: " << mnSubType << " service: " << msServiceName);
     // only placeholder from layout are being inserted
     if ( mnSubType && ( meShapeLocation == Master ) )
         return;
@@ -133,7 +133,7 @@ void PPTShape::addShape(
                  sServiceName != "com.sun.star.drawing.OLE2Shape" )
             {
                 const OUString sOutlinerShapeService( "com.sun.star.presentation.OutlinerShape"  );
-                OSL_TRACE("has master: %p", rSlidePersist.getMasterPersist().get());
+                SAL_INFO("oox.ppt","has master: " << std::hex << rSlidePersist.getMasterPersist().get());
                 switch( mnSubType )
                 {
                     case XML_ctrTitle :
@@ -223,7 +223,7 @@ void PPTShape::addShape(
                 }
             }
 
-            OSL_TRACE("shape service: %s", OUStringToOString(sServiceName, RTL_TEXTENCODING_UTF8 ).getStr());
+            SAL_INFO("oox.ppt","shape service: " << sServiceName);
 
             if( mnSubType && getSubTypeIndex().has() && meShapeLocation == Layout ) {
                 oox::drawingml::ShapePtr pPlaceholder = PPTShape::findPlaceholderByIndex( getSubTypeIndex().get(), rSlidePersist.getShapes()->getChildren(), true );
@@ -258,7 +258,7 @@ void PPTShape::addShape(
                     pPlaceholder.reset();
 
                 if( pPlaceholder.get()) {
-                    OSL_TRACE("found placeholder with index: %d and type: %s", getSubTypeIndex().get(), lclDebugSubType( mnSubType ));
+                    SAL_INFO("oox.ppt","found placeholder with index: " << getSubTypeIndex().get() << " and type: " << lclDebugSubType( mnSubType ));
                 }
                 if( pPlaceholder.get() ) {
                     PPTShape* pPPTPlaceholder = dynamic_cast< PPTShape* >( pPlaceholder.get() );
@@ -270,21 +270,18 @@ void PPTShape::addShape(
                         if( pPlaceholder->getMasterTextListStyle().get() )
                             pNewTextListStyle->apply( *pPlaceholder->getMasterTextListStyle() );
 
-                        // OSL_TRACE("placeholder body style");
+                        // SAL_INFO("oox.ppt","placeholder body style");
                         // pPlaceholder->getTextBody()->getTextListStyle().dump();
-                        // OSL_TRACE("master text list style");
+                        // SAL_INFO("oox.ppt","master text list style");
                         // pPlaceholder->getMasterTextListStyle()->dump();
 
                         aMasterTextListStyle = pNewTextListStyle;
-                        // OSL_TRACE("combined master text list style");
+                        // SAL_INFO("oox.ppt","combined master text list style");
                         // aMasterTextListStyle->dump();
                     }
                     if( pPPTPlaceholder->mpPlaceholder.get() ) {
-                        OSL_TRACE("placeholder has parent placeholder: %s type: %s index: %d",
-                                  OUStringToOString( pPPTPlaceholder->mpPlaceholder->getId(), RTL_TEXTENCODING_UTF8 ).getStr(),
-                                  lclDebugSubType( pPPTPlaceholder->mpPlaceholder->getSubType() ),
-                                  pPPTPlaceholder->mpPlaceholder->getSubTypeIndex().get() );
-                        OSL_TRACE("has textbody %d", pPPTPlaceholder->mpPlaceholder->getTextBody() != NULL );
+                        SAL_INFO("oox.ppt","placeholder has parent placeholder: " << pPPTPlaceholder->mpPlaceholder->getId() << " type: " << lclDebugSubType( pPPTPlaceholder->mpPlaceholder->getSubType() ) << " index: " << pPPTPlaceholder->mpPlaceholder->getSubTypeIndex().get() );
+                        SAL_INFO("oox.ppt","has textbody " << (pPPTPlaceholder->mpPlaceholder->getTextBody() != NULL) );
                         TextListStylePtr pPlaceholderStyle = getSubTypeTextListStyle( rSlidePersist, pPPTPlaceholder->mpPlaceholder->getSubType() );
                         if( pPPTPlaceholder->mpPlaceholder->getTextBody() )
                             pNewTextListStyle->apply( pPPTPlaceholder->mpPlaceholder->getTextBody()->getTextListStyle() );
@@ -296,7 +293,7 @@ void PPTShape::addShape(
                 } else if( !mpPlaceholder.get() ) {
                     aMasterTextListStyle.reset();
                 }
-                OSL_TRACE("placeholder id: %s", pPlaceholder.get() ? OUStringToOString(pPlaceholder->getId(), RTL_TEXTENCODING_UTF8 ).getStr() : "not found");
+                SAL_INFO("oox.ppt","placeholder id: " << (pPlaceholder.get() ? pPlaceholder->getId() : "not found"));
             }
 
             if ( !sServiceName.isEmpty() )
diff --git a/sw/source/filter/ww8/ww8toolbar.cxx b/sw/source/filter/ww8/ww8toolbar.cxx
index f74857b..27e23ef 100644
--- a/sw/source/filter/ww8/ww8toolbar.cxx
+++ b/sw/source/filter/ww8/ww8toolbar.cxx
@@ -44,6 +44,8 @@
 #include <comphelper/processfactory.hxx>
 #include <vcl/graph.hxx>
 #include <map>
+#include "sal/log.hxx"
+
 using namespace com::sun::star;
 
 // no. of visual data elements in a SwCTB ( fixed )
@@ -131,7 +133,7 @@ SwCTB* SwCTBWrapper::GetCustomizationData( const rtl::OUString& sTBName )
 
 bool SwCTBWrapper::Read( SvStream& rS )
 {
-    OSL_TRACE("SwCTBWrapper::Read() stream pos 0x%x", rS.Tell() );
+    SAL_INFO("sw.ww8","SwCTBWrapper::Read() stream pos 0x" << std::hex << rS.Tell() );
     nOffSet = rS.Tell();
     Tcg255SubStruct::Read( rS );
     rS >> reserved2 >> reserved3 >> reserved4 >> reserved5;
@@ -162,8 +164,8 @@ bool SwCTBWrapper::Read( SvStream& rS )
         // Strange error condition, shouldn't happen ( but does in at least
         // one test document ) In the case where it happens the SwTBC &
         // TBCHeader records seem blank??? ( and incorrect )
-        OSL_ENSURE( static_cast< long >(rS.Tell()) == nExpectedPos, "### Error: Expected pos not equal to actual pos after reading rtbdc");
-        OSL_TRACE("\tPos now is 0x%x should be 0x%x", rS.Tell(), nExpectedPos );
+        SAL_WARN_IF( static_cast< long >(rS.Tell()) != nExpectedPos, "sw.ww8","### Error: Expected pos not equal to actual pos after reading rtbdc");
+        SAL_INFO("sw.ww8","\tPos now is 0x" << std::hex << rS.Tell() << " should be 0x" << std::hex << nExpectedPos );
         // seek to correct position after rtbdc
         rS.Seek( nExpectedPos );
     }
@@ -271,7 +273,7 @@ Customization::~Customization()
 
 bool Customization::Read( SvStream &rS)
 {
-    OSL_TRACE("Custimization::Read() stream pos 0x%x", rS.Tell() );
+    SAL_INFO("sw.ww8","Custimization::Read() stream pos 0x" << std::hex << rS.Tell() );
     nOffSet = rS.Tell();
     rS >> tbidForTBD >> reserved1 >> ctbds;
     if ( tbidForTBD )
@@ -386,7 +388,7 @@ bool Customization::ImportMenu( SwCTBWrapper& rWrapper, CustomToolBarImportHelpe
                     aPopupMenu[3].Value <<= xMenuContainer;
                     if ( pCust->customizationDataCTB.get() && !pCust->customizationDataCTB->ImportMenuTB( rWrapper, xMenuContainer, helper ) )
                         return false;
-                    OSL_TRACE("** there are %d menu items on the bar, inserting after that", xIndexContainer->getCount() );
+                    SAL_INFO("sw.ww8","** there are " << xIndexContainer->getCount() << " menu items on the bar, inserting after that");
                     xIndexContainer->insertByIndex( xIndexContainer->getCount(), uno::makeAny( aPopupMenu ) );
 
                     if ( bHasSettings )
@@ -461,7 +463,7 @@ sal_Int16 TBDelta::CustomizationIndex()
 
 bool TBDelta::Read(SvStream &rS)
 {
-    OSL_TRACE("TBDelta::Read() stream pos 0x%x", rS.Tell() );
+    SAL_INFO("sw.ww8","TBDelta::Read() stream pos 0x" << std::hex << rS.Tell() );
     nOffSet = rS.Tell();
     rS >> doprfatendFlags >> ibts >> cidNext >> cid >> fc ;
     rS >> CiTBDE >> cbTBC;
@@ -508,7 +510,7 @@ bool SwCTB::IsMenuToolbar()
 
 bool SwCTB::Read( SvStream &rS)
 {
-    OSL_TRACE("SwCTB::Read() stream pos 0x%x", rS.Tell() );
+    SAL_INFO("sw.ww8","SwCTB::Read() stream pos 0x" << std::hex << rS.Tell() );
     nOffSet = rS.Tell();
     if ( !name.Read( rS ) )
         return false;
@@ -588,7 +590,7 @@ bool SwCTB::ImportCustomToolBar( SwCTBWrapper& rWrapper, CustomToolBarImportHelp
                 return false;
         }
 
-        OSL_TRACE("Name of toolbar :-/ %s", rtl::OUStringToOString( sToolBarName, RTL_TEXTENCODING_UTF8 ).getStr() );
+        SAL_INFO("sw.ww8","Name of toolbar :-/ " << sToolBarName );
 
         helper.getCfgManager()->insertSettings( sToolBarName, xIndexAccess );
         helper.applyIcons();
@@ -603,7 +605,7 @@ bool SwCTB::ImportCustomToolBar( SwCTBWrapper& rWrapper, CustomToolBarImportHelp
     }
     catch( const uno::Exception& e )
     {
-        OSL_TRACE("***** For some reason we have an exception %s", rtl::OUStringToOString( e.Message, RTL_TEXTENCODING_UTF8 ).getStr() );
+        SAL_INFO("sw.ww8","***** For some reason we have an exception " << e.Message );
         bRes = false;
     }
     return bRes;
@@ -630,7 +632,7 @@ SwTBC::~SwTBC()
 
 bool SwTBC::Read( SvStream &rS )
 {
-    OSL_TRACE("SwTBC::Read() stream pos 0x%x", rS.Tell() );
+    SAL_INFO("sw.ww8","SwTBC::Read() stream pos 0x" << std::hex << rS.Tell() );
     nOffSet = rS.Tell();
     if ( !tbch.Read( rS ) )
         return false;
@@ -683,21 +685,21 @@ SwTBC::ImportToolBarControl( SwCTBWrapper& rWrapper, const css::uno::Reference<
         switch ( cmt )
         {
             case 1:
-                OSL_TRACE("cmt is cmtFci builtin command 0x%x", arg2);
+                SAL_INFO("sw.ww8","cmt is cmtFci builtin command 0x" << std::hex << arg2);
                 bBuiltin = true;
                 cmdId = arg2;
                 break;
             case 2:
-                OSL_TRACE("cmt is cmtMacro macro 0x%x", arg2);
+                SAL_INFO("sw.ww8","cmt is cmtMacro macro 0x" << std::hex << arg2);
                 break;
             case 3:
-                OSL_TRACE("cmt is cmtAllocated [???] 0x%x", arg2);
+                SAL_INFO("sw.ww8","cmt is cmtAllocated [???] 0x" << std::hex << arg2);
                 break;
             case 7:
-                OSL_TRACE("cmt is cmNill no-phing 0x%x", arg2);
+                SAL_INFO("sw.ww8","cmt is cmNill no-phing 0x" << std::hex << arg2);
                 break;
             default:
-                OSL_TRACE("illegal 0x%x", cmt);
+                SAL_INFO("sw.ww8","illegal 0x" << std::hex << cmt);
                 break;
         }
     }
@@ -724,7 +726,7 @@ SwTBC::ImportToolBarControl( SwCTBWrapper& rWrapper, const css::uno::Reference<
         TBCMenuSpecific* pMenu = tbcd->getMenuSpecific();
         if ( pMenu )
         {
-            OSL_TRACE("** control has a menu, name of toolbar with menu items is %s", rtl::OUStringToOString( pMenu->Name(), RTL_TEXTENCODING_UTF8 ).getStr() );
+            SAL_INFO("sw.ww8","** control has a menu, name of toolbar with menu items is " << pMenu->Name() );
             // search for SwCTB with the appropriate name ( it contains the
             // menu items, although we cannot import ( or create ) a menu on
             // a custom toolbar we can import the menu items in a separate
@@ -784,7 +786,7 @@ SwTBC::GetCustomText()
 bool
 Xst::Read( SvStream& rS )
 {
-    OSL_TRACE("Xst::Read() stream pos 0x%x", rS.Tell() );
+    SAL_INFO("sw.ww8","Xst::Read() stream pos 0x" << std::hex << rS.Tell() );
     nOffSet = rS.Tell();
     sString = read_uInt16_PascalString(rS);
     return true;
@@ -804,7 +806,7 @@ Tcg::Tcg() : nTcgVer( -1 )
 
 bool Tcg::Read(SvStream &rS)
 {
-    OSL_TRACE("Tcg::Read() stream pos 0x%x", rS.Tell() );
+    SAL_INFO("sw.ww8","Tcg::Read() stream pos 0x" << std::hex << rS.Tell() );
     nOffSet = rS.Tell();
     rS >> nTcgVer;
     if ( nTcgVer != -1 )
@@ -877,7 +879,7 @@ bool Tcg255::processSubStruct( sal_uInt8 nId, SvStream &rS )
              break;
          }
          default:
-             OSL_TRACE("Unknown id 0x%x",nId);
+             SAL_INFO("sw.ww8","Unknown id 0x" << std::hex << nId);
              return false;
     }
     pSubStruct->ch = nId;
@@ -909,7 +911,7 @@ bool Tcg255::ImportCustomToolBar( SfxObjectShell& rDocSh )
 
 bool Tcg255::Read(SvStream &rS)
 {
-    OSL_TRACE("Tcg255::Read() stream pos 0x%x", rS.Tell() );
+    SAL_INFO("sw.ww8","Tcg255::Read() stream pos 0x" << std::hex << rS.Tell() );
     nOffSet = rS.Tell();
     sal_uInt8 nId = 0x40;
     rS >> nId;
@@ -947,7 +949,7 @@ Tcg255SubStruct::Tcg255SubStruct( bool bReadId ) : mbReadId( bReadId ), ch(0)
 
 bool Tcg255SubStruct::Read(SvStream &rS)
 {
-    OSL_TRACE("Tcg255SubStruct::Read() stream pos 0x%x", rS.Tell() );
+    SAL_INFO("sw.ww8","Tcg255SubStruct::Read() stream pos 0x" << std::hex << rS.Tell() );
     nOffSet = rS.Tell();
     if ( mbReadId )
         rS >> ch;
@@ -962,7 +964,7 @@ PlfMcd::PlfMcd(bool bReadId)
 
 bool PlfMcd::Read(SvStream &rS)
 {
-    OSL_TRACE("PffMcd::Read() stream pos 0x%x", rS.Tell() );
+    SAL_INFO("sw.ww8","PffMcd::Read() stream pos 0x" << std::hex << rS.Tell() );
     nOffSet = rS.Tell();
     Tcg255SubStruct::Read( rS );
     rS >> iMac;
@@ -1007,7 +1009,7 @@ PlfAcd::~PlfAcd()
 
 bool PlfAcd::Read( SvStream &rS)
 {
-    OSL_TRACE("PffAcd::Read() stream pos 0x%x", rS.Tell() );
+    SAL_INFO("sw.ww8","PffAcd::Read() stream pos 0x" << std::hex << rS.Tell() );
     nOffSet = rS.Tell();
     Tcg255SubStruct::Read( rS );
     rS >> iMac;
@@ -1050,7 +1052,7 @@ PlfKme::~PlfKme()
 
 bool PlfKme::Read(SvStream &rS)
 {
-    OSL_TRACE("PlfKme::Read() stream pos 0x%x", rS.Tell() );
+    SAL_INFO("sw.ww8","PlfKme::Read() stream pos 0x" << std::hex << rS.Tell() );
     nOffSet = rS.Tell();
     Tcg255SubStruct::Read( rS );
     rS >> iMac;
@@ -1086,7 +1088,7 @@ TcgSttbf::TcgSttbf( bool bReadId ) : Tcg255SubStruct( bReadId )
 
 bool TcgSttbf::Read( SvStream &rS)
 {
-    OSL_TRACE("TcgSttbf::Read() stream pos 0x%x", rS.Tell() );
+    SAL_INFO("sw.ww8","TcgSttbf::Read() stream pos 0x" << std::hex << rS.Tell() );
     nOffSet = rS.Tell();
     Tcg255SubStruct::Read( rS );
     return sttbf.Read( rS );
@@ -1114,7 +1116,7 @@ TcgSttbfCore::~TcgSttbfCore()
 
 bool TcgSttbfCore::Read( SvStream& rS )
 {
-    OSL_TRACE("TcgSttbfCore::Read() stream pos 0x%x", rS.Tell() );
+    SAL_INFO("sw.ww8","TcgSttbfCore::Read() stream pos 0x" << std::hex << rS.Tell() );
     nOffSet = rS.Tell();
     rS >> fExtend >> cData >> cbExtra;
     if ( cData )
@@ -1159,7 +1161,7 @@ MacroNames::~MacroNames()
 
 bool MacroNames::Read( SvStream &rS)
 {
-    OSL_TRACE("MacroNames::Read() stream pos 0x%x", rS.Tell() );
+    SAL_INFO("sw.ww8","MacroNames::Read() stream pos 0x" << std::hex << rS.Tell() );
     nOffSet = rS.Tell();
     Tcg255SubStruct::Read( rS );
     rS >> iMac;
@@ -1196,7 +1198,7 @@ MacroName::MacroName():ibst(0)
 
 bool MacroName::Read(SvStream &rS)
 {
-    OSL_TRACE("MacroName::Read() stream pos 0x%x", rS.Tell() );
+    SAL_INFO("sw.ww8","MacroName::Read() stream pos 0x" << std::hex << rS.Tell() );
     nOffSet = rS.Tell();
     rS >> ibst;
     return xstz.Read( rS );
@@ -1219,7 +1221,7 @@ Xstz::Xstz():chTerm(0)
 bool
 Xstz::Read(SvStream &rS)
 {
-    OSL_TRACE("Xstz::Read() stream pos 0x%x", rS.Tell() );
+    SAL_INFO("sw.ww8","Xstz::Read() stream pos 0x" << std::hex << rS.Tell() );
     nOffSet = rS.Tell();
     if ( !xst.Read( rS ) )
         return false;
@@ -1254,7 +1256,7 @@ Kme::~Kme()
 bool
 Kme::Read(SvStream &rS)
 {
-    OSL_TRACE("Kme::Read() stream pos 0x%x", rS.Tell() );
+    SAL_INFO("sw.ww8","Kme::Read() stream pos 0x" << std::hex << rS.Tell() );
     nOffSet = rS.Tell();
     rS >> reserved1 >> reserved2 >> kcm1 >> kcm2 >> kt >> param;
     return true;
@@ -1280,7 +1282,7 @@ Acd::Acd() : ibst( 0 )
 
 bool Acd::Read(SvStream &rS)
 {
-    OSL_TRACE("Acd::Read() stream pos 0x%x", rS.Tell() );
+    SAL_INFO("sw.ww8","Acd::Read() stream pos 0x" << std::hex << rS.Tell() );
     nOffSet = rS.Tell();
     rS >> ibst >> fciBasedOnABC;
     return true;
@@ -1340,7 +1342,7 @@ MCD& MCD::operator=(const MCD& rO)
 
 bool MCD::Read(SvStream &rS)
 {
-    OSL_TRACE("MCD::Read() stream pos 0x%x", rS.Tell() );
+    SAL_INFO("sw.ww8","MCD::Read() stream pos 0x" << rS.Tell() );
     nOffSet = rS.Tell();
     rS >> reserved1 >> reserved2 >> ibst >> ibstName >> reserved3;
     rS >> reserved4 >> reserved5 >> reserved6 >> reserved7;
commit f92a5927052f1e96ed864dd6bc6326531db4fd1f
Author: Chr. Rossmanith <ChrRossmanith at gmx.de>
Date:   Tue Mar 12 10:05:38 2013 +0100

    Polishing 7d1f4cdec307bb1e761bb5dd3d8231bba5833e10
    
    Change-Id: I73334fca8429dc0ad4250ce638027fa52245dec4
    Reviewed-on: https://gerrit.libreoffice.org/2676
    Reviewed-by: Fridrich Strba <fridrich at documentfoundation.org>
    Tested-by: Fridrich Strba <fridrich at documentfoundation.org>

diff --git a/unotools/source/misc/fontdefs.cxx b/unotools/source/misc/fontdefs.cxx
index fb24325..ad8ab62 100644
--- a/unotools/source/misc/fontdefs.cxx
+++ b/unotools/source/misc/fontdefs.cxx
@@ -447,7 +447,7 @@ void GetEnglishSearchFontName( OUString& rName )
 OUString GetNextFontToken( const OUString& rTokenStr, sal_Int32& rIndex )
 {
     // check for valid start index
-    int nStringLen = rTokenStr.getLength();
+    sal_Int32 nStringLen = rTokenStr.getLength();
     if( rIndex >= nStringLen )
     {
         rIndex = -1;
@@ -504,13 +504,11 @@ static bool ImplIsFontToken( const OUString& rName, const String& rToken )
 
 static void ImplAppendFontToken( OUString& rName, const String& rNewToken )
 {
-    if ( rName.getLength() )
+    if ( !rName.isEmpty() )
     {
         rName += ";" ;
-        rName += rNewToken ;
     }
-    else
-        rName = rNewToken;
+    rName += rNewToken;
 }
 
 void AddTokenFontName( OUString& rName, const OUString& rNewToken )
diff --git a/vcl/aqua/source/gdi/atsui/salatsuifontutils.cxx b/vcl/aqua/source/gdi/atsui/salatsuifontutils.cxx
index 2ac160d..502c33b 100644
--- a/vcl/aqua/source/gdi/atsui/salatsuifontutils.cxx
+++ b/vcl/aqua/source/gdi/atsui/salatsuifontutils.cxx
@@ -305,7 +305,7 @@ static bool GetDevFontAttributes( ATSUFontID nFontID, ImplDevFontAttributes& rDF
             aUtf16Name = OUString( &aNameBuffer[0], nNameLength, eEncoding );
 
         // ignore empty strings
-        if( aUtf16Name.getLength() <= 0 )
+        if( aUtf16Name.isEmpty() )
             continue;
 
         // handle the name depending on its namecode
diff --git a/vcl/generic/fontmanager/fontsubst.cxx b/vcl/generic/fontmanager/fontsubst.cxx
index fac314c..a339ca9 100644
--- a/vcl/generic/fontmanager/fontsubst.cxx
+++ b/vcl/generic/fontmanager/fontsubst.cxx
@@ -184,10 +184,10 @@ bool FcPreMatchSubstititution::FindFontSubstitute( FontSelectPattern &rFontSelDa
         return true;
     }
 
-    rtl::OUString aDummy;
+    OUString aDummy;
     const FontSelectPattern aOut = GetFcSubstitute( rFontSelData, aDummy );
 
-    if( !aOut.maSearchName.getLength() )
+    if( aOut.maSearchName.isEmpty() )
         return false;
 
     const bool bHaveSubstitute = !uselessmatch( rFontSelData, aOut );
@@ -238,7 +238,7 @@ bool FcGlyphFallbackSubstititution::FindFontSubstitute( FontSelectPattern& rFont
     // FC doing it would be preferable because it knows the invariables
     // e.g. FC knows the FC rule that all Arial gets replaced by LiberationSans
     // whereas we would have to check for every size or attribute
-    if( !aOut.maSearchName.getLength() )
+    if( aOut.maSearchName.isEmpty() )
         return false;
 
     const bool bHaveSubstitute = !uselessmatch( rFontSelData, aOut );
diff --git a/vcl/generic/glyphs/glyphcache.cxx b/vcl/generic/glyphs/glyphcache.cxx
index 1d1322c..bc9fb09 100644
--- a/vcl/generic/glyphs/glyphcache.cxx
+++ b/vcl/generic/glyphs/glyphcache.cxx
@@ -87,7 +87,7 @@ size_t GlyphCache::IFSD_Hash::operator()( const FontSelectPattern& rFontSelData
     sal_IntPtr nFontId = reinterpret_cast<sal_IntPtr>( rFontSelData.mpFontData );
 #ifdef ENABLE_GRAPHITE
     if (rFontSelData.maTargetName.indexOf(grutils::GrFeatureParser::FEAT_PREFIX)
-        != STRING_NOTFOUND)
+        != -1)
     {
         rtl::OString aFeatName = rtl::OUStringToOString( rFontSelData.maTargetName, RTL_TEXTENCODING_UTF8 );
         nFontId ^= aFeatName.hashCode();
@@ -139,9 +139,9 @@ bool GlyphCache::IFSD_Equal::operator()( const FontSelectPattern& rA, const Font
         return false;
    // check for features
    if ((rA.maTargetName.indexOf(grutils::GrFeatureParser::FEAT_PREFIX)
-        != STRING_NOTFOUND ||
+        != -1 ||
         rB.maTargetName.indexOf(grutils::GrFeatureParser::FEAT_PREFIX)
-        != STRING_NOTFOUND) && rA.maTargetName != rB.maTargetName)
+        != -1) && rA.maTargetName != rB.maTargetName)
         return false;
 #endif
 
diff --git a/vcl/source/gdi/outdev3.cxx b/vcl/source/gdi/outdev3.cxx
index db1db91..aeb20c4 100644
--- a/vcl/source/gdi/outdev3.cxx
+++ b/vcl/source/gdi/outdev3.cxx
@@ -1396,7 +1396,7 @@ ImplDevFontListData* ImplDevFontList::GetGlyphFallbackFont( FontSelectPattern& r
             cChar = rMissingCodes.iterateCodePoints( &nStrIndex );
             bCached = rFontSelData.mpFontEntry->GetFallbackForUnicode( cChar, rFontSelData.GetWeight(), &rFontSelData.maSearchName );
             // ignore entries which don't have a fallback
-            if( !bCached || (rFontSelData.maSearchName.getLength() != 0) )
+            if( !bCached || !rFontSelData.maSearchName.isEmpty() )
                 break;
         }
 
@@ -1443,7 +1443,7 @@ ImplDevFontListData* ImplDevFontList::GetGlyphFallbackFont( FontSelectPattern& r
                          break;
                      cChar = aOldMissingCodes.iterateCodePoints( &nStrIndex );
                 }
-                if( rFontSelData.maSearchName.getLength() != 0 )
+                if( !rFontSelData.maSearchName.isEmpty() )
                 {
                     // remove cache entries that were still not resolved
                     for( nStrIndex = 0; nStrIndex < rMissingCodes.getLength(); )
@@ -1456,7 +1456,7 @@ ImplDevFontListData* ImplDevFontList::GetGlyphFallbackFont( FontSelectPattern& r
         }
 
         // find the matching device font
-        if( rFontSelData.maSearchName.getLength() != 0 )
+        if( !rFontSelData.maSearchName.isEmpty() )
             pFallbackData = FindFontFamily( rFontSelData.maSearchName );
     }
 
@@ -1536,11 +1536,11 @@ ImplDevFontListData* ImplDevFontList::ImplFindByAliasName(const rtl::OUString& r
     while( it != maDevFontList.end() )
     {
         ImplDevFontListData* pData = (*it).second;
-        if( !pData->maMapNames.getLength() )
+        if( pData->maMapNames.isEmpty() )
             continue;
 
         // if one alias name matches we found a matching font
-        rtl::OUString aTempName;
+        OUString aTempName;
         sal_Int32 nIndex = 0;
         do
         {
@@ -1576,7 +1576,7 @@ ImplDevFontListData* ImplDevFontList::ImplFindByTokenNames(const rtl::OUString&
     for( sal_Int32 nTokenPos = 0; nTokenPos != -1; )
     {
         OUString aSearchName = GetNextFontToken( rTokenStr, nTokenPos );
-        if( !aSearchName.getLength() )
+        if( aSearchName.isEmpty() )
             continue;
         GetEnglishSearchFontName( aSearchName );
         pFoundData = ImplFindBySearchName( aSearchName );
@@ -2510,10 +2510,10 @@ ImplDevFontListData* ImplDevFontList::ImplFindByFont( FontSelectPattern& rFSD,
 #ifdef ENABLE_GRAPHITE
         // Until features are properly supported, they are appended to the
         // font name, so we need to strip them off so the font is found.
-        xub_StrLen nFeat = aSearchName.indexOf(grutils::GrFeatureParser::FEAT_PREFIX);
+        sal_Int32 nFeat = aSearchName.indexOf(grutils::GrFeatureParser::FEAT_PREFIX);
         String aOrigName = rFSD.maTargetName;
-        String aBaseFontName(aSearchName, 0, (nFeat != STRING_NOTFOUND)?nFeat:aSearchName.getLength());
-        if (nFeat != STRING_NOTFOUND && STRING_NOTFOUND !=
+        String aBaseFontName(aSearchName, 0, (nFeat != -1)?nFeat:aSearchName.getLength());
+        if (nFeat != -1 && -1 !=
             aSearchName.indexOf(grutils::GrFeatureParser::FEAT_ID_VALUE_SEPARATOR, nFeat))
         {
             aSearchName = aBaseFontName;
@@ -2543,7 +2543,7 @@ ImplDevFontListData* ImplDevFontList::ImplFindByFont( FontSelectPattern& rFSD,
             else if( aSearchName.equalsIgnoreAsciiCase( "hgpminchob" ) )
                 aBoldName = OUString("hgpminchoe");
 
-            if( aBoldName.getLength() && ImplFindBySearchName( aBoldName ) )
+            if( !aBoldName.isEmpty() && ImplFindBySearchName( aBoldName ) )
             {
                 // the other font is available => use it
                 aSearchName = aBoldName;
@@ -2672,7 +2672,7 @@ ImplDevFontListData* ImplDevFontList::ImplFindByFont( FontSelectPattern& rFSD,
 
     // use font fallback
     const FontNameAttr* pFontAttr = NULL;
-    if( aSearchName.getLength() )
+    if( !aSearchName.isEmpty() )
     {
         // get fallback info using FontSubstConfiguration and
         // the target name, it's shortened name and family name in that order
@@ -2706,7 +2706,7 @@ ImplDevFontListData* ImplDevFontList::ImplFindByFont( FontSelectPattern& rFSD,
     while( nTokenPos != -1 )
     {
         rFSD.maTargetName = GetNextFontToken( rFSD.GetFamilyName(), nTokenPos );
-        if( !rFSD.maTargetName.getLength() )
+        if( rFSD.maTargetName.isEmpty() )
             continue;
 
         aSearchName = rFSD.maTargetName;
commit 133fbbcbd3fa8fec3920b53f6b93f5d3c4779a35
Author: Matúš Kukan <matus.kukan at gmail.com>
Date:   Sun Mar 3 11:50:12 2013 +0100

    solenv: remove versionlist.hrc
    
    Change-Id: Iddbfcacd17c1022293357ff5240ab7a52b1a390e
    Reviewed-on: https://gerrit.libreoffice.org/2677
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    Reviewed-by: David Ostrovsky <David.Ostrovsky at gmx.de>
    Tested-by: David Ostrovsky <David.Ostrovsky at gmx.de>

diff --git a/config_host/config_version.h.in b/config_host/config_version.h.in
index 736c578..0d78882 100644
--- a/config_host/config_version.h.in
+++ b/config_host/config_version.h.in
@@ -13,6 +13,7 @@ Version settings
 #undef LIBO_VERSION_MINOR
 #undef LIBO_VERSION_MICRO
 #undef LIBO_VERSION_PATCH
+#undef LIBO_THIS_YEAR
 
 #define LIBO_VERSION_DOTTED \
     (LIBO_VERSION_STRINGIFY(LIBO_VERSION_MAJOR) "." \
diff --git a/configure.ac b/configure.ac
index b202172..5a201f5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4138,14 +4138,14 @@ AC_SUBST(LIBO_VERSION_PATCH)
 AC_SUBST(LIBO_VERSION_SUFFIX)
 AC_SUBST(LIBO_VERSION_SUFFIX_SUFFIX)
 
+LIBO_THIS_YEAR=`date +%Y`
+AC_SUBST(LIBO_THIS_YEAR)
+
 AC_DEFINE_UNQUOTED(LIBO_VERSION_MAJOR,$LIBO_VERSION_MAJOR)
 AC_DEFINE_UNQUOTED(LIBO_VERSION_MINOR,$LIBO_VERSION_MINOR)
 AC_DEFINE_UNQUOTED(LIBO_VERSION_MICRO,$LIBO_VERSION_MICRO)
 AC_DEFINE_UNQUOTED(LIBO_VERSION_PATCH,$LIBO_VERSION_PATCH)
-
-LIBO_THIS_YEAR=`date +%Y`
-AC_SUBST(LIBO_THIS_YEAR)
-
+AC_DEFINE_UNQUOTED(LIBO_THIS_YEAR,$LIBO_THIS_YEAR)
 
 # This UPD silly thing must go away soon
 UPD="${LIBO_VERSION_MAJOR}${LIBO_VERSION_MINOR}0"
diff --git a/solenv/CustomTarget_versionlist.mk b/solenv/CustomTarget_versionlist.mk
deleted file mode 100644
index eb8b440..0000000
--- a/solenv/CustomTarget_versionlist.mk
+++ /dev/null
@@ -1,41 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-# 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.
-#
-# Major Contributor(s):
-# Copyright (C) 2012 Red Hat, Inc., David Tardon <dtardon at redhat.com>
-#  (initial developer)
-#
-# All Rights Reserved.
-#
-# 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.
-
-$(eval $(call gb_CustomTarget_CustomTarget,solenv/versionlist))
-
-$(eval $(call gb_CustomTarget_register_targets,solenv/versionlist,\
-	versionlist.hrc \
-))
-
-$(call gb_CustomTarget_get_workdir,solenv/versionlist)/versionlist.hrc :
-	$(call gb_Output_announce,solenv/versionlist,$(true),ECH,1)
-	echo '#define VERSION $(LIBO_VERSION_MAJOR)' > $@ && \
-	echo '#define SUBVERSION $(LIBO_VERSION_MINOR)' >> $@ && \
-	echo '#define MICROVERSION $(LIBO_VERSION_MICRO)' >> $@ && \
-	echo '#define VER_YEARRANGE 2000-$(LIBO_THIS_YEAR)' >> $@
-
-# vim: set shiftwidth=4 tabstop=4 noexpandtab:
diff --git a/solenv/Module_solenv.mk b/solenv/Module_solenv.mk
index c34dc46..e606c10 100644
--- a/solenv/Module_solenv.mk
+++ b/solenv/Module_solenv.mk
@@ -27,11 +27,6 @@
 
 $(eval $(call gb_Module_Module,solenv))
 
-$(eval $(call gb_Module_add_targets,solenv,\
-	CustomTarget_versionlist \
-	Package_inc \
-))
-
 ifeq ($(CROSS_COMPILING),$(false))
 $(eval $(call gb_Module_add_targets,solenv,\
 	Executable_concat-deps \
diff --git a/solenv/Package_inc.mk b/solenv/Package_inc.mk
deleted file mode 100644
index 00a6f56..0000000
--- a/solenv/Package_inc.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-# 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.
-#
-# Major Contributor(s):
-# Copyright (C) 2012 Red Hat, Inc., David Tardon <dtardon at redhat.com>
-#  (initial developer)
-#
-# All Rights Reserved.
-#
-# 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.
-
-$(eval $(call gb_Package_Package,solenv_inc,$(call gb_CustomTarget_get_workdir,solenv/versionlist)))
-
-$(eval $(call gb_Package_add_file,solenv_inc,inc/versionlist.hrc,versionlist.hrc))
-
-# vim: set shiftwidth=4 tabstop=4 noexpandtab:
diff --git a/solenv/gbuild/WinResTarget.mk b/solenv/gbuild/WinResTarget.mk
index 45b51ac..268a9e7 100644
--- a/solenv/gbuild/WinResTarget.mk
+++ b/solenv/gbuild/WinResTarget.mk
@@ -13,13 +13,13 @@ endef
 
 define gb_WinResTarget_WinResTarget_init
 $(call gb_WinResTarget_get_target,$(1)) : DEFS := $(gb_WinResTarget_DEFAULTDEFS)
-$(call gb_WinResTarget_get_target,$(1)) : INCLUDE := $(SOLARINC)

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list