Kaydet (Commit) 67a9f792 authored tarafından Eike Rathke's avatar Eike Rathke

new upstream release liblangtag-0.5.1

Change-Id: I4b71bbd3ff457d7b4fb2a409e8d34d8e4904acb3
Reviewed-on: https://gerrit.libreoffice.org/3676Tested-by: 's avatarLibreOffice gerrit bot <gerrit@libreoffice.org>
Reviewed-by: 's avatarEike Rathke <erack@redhat.com>
Tested-by: 's avatarEike Rathke <erack@redhat.com>
üst 7a569f75
......@@ -56,7 +56,7 @@ export JPEG_TARBALL := a2c10c04f396a9ce72894beb18b4e1f9-jpeg-8c.tar.gz
export LANGUAGETOOL_TARBALL := b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2
export LCMS2_TARBALL := 861ef15fa0bc018f9ddc932c4ad8b6dd-lcms2-2.4.tar.gz
export LIBEXTTEXTCAT_TARBALL := dc3d21a3921931096d6e80f6701f6763-libexttextcat-3.4.0.tar.bz2
export LIBLANGTAG_TARBALL := 54e578c91b1b68e69c72be22adcb2195-liblangtag-0.4.0.tar.bz2
export LIBLANGTAG_TARBALL := 36271d3fa0d9dec1632029b6d7aac925-liblangtag-0.5.1.tar.bz2
export LIBXMLSEC_TARBALL := 1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz
export LIBXML_TARBALL := 7740a8ec23878a2f50120e1faa2730f2-libxml2-2.7.6.tar.gz
export LIBXSLT_TARBALL := e61d0364a30146aaa3001296f853b2b9-libxslt-1.1.26.tar.gz
......
......@@ -22,9 +22,11 @@ $(eval $(call gb_ExternalProject_register_targets,langtag,\
$(call gb_ExternalProject_get_state_target,langtag,build):
$(call gb_ExternalProject_run,build,\
./configure --disable-modules --disable-test --disable-introspection --disable-shared --enable-static --with-pic \
$(if $(filter WNTMSC,$(OS)$(COM)),--disable-rebuild-data) \
$(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" LIBXML2_LIBS="-L$(gb_Helper_OUTDIRLIBDIR) -lxml2",\
$(if $(filter NO,$(SYSTEM_LIBXML)),LIBXML2_CFLAGS="-I$(call gb_UnpackedTarball_get_dir,xml2)/include" \
LIBXML2_LIBS=$(if $(filter WNTMSC,$(OS)$(COM)),"-L$(OUTDIR)/lib -llibxml2","-L$(gb_Helper_OUTDIRLIBDIR) -lxml2"),\
$(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) \
......
......@@ -12,52 +12,22 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,langtag))
$(eval $(call gb_UnpackedTarball_set_tarball,langtag,$(LIBLANGTAG_TARBALL)))
$(eval $(call gb_UnpackedTarball_add_patches,langtag,\
liblangtag/liblangtag-0.4.0-xmlDocCopyNode.patch \
liblangtag/liblangtag-0.5.1-msvc-warning.patch \
liblangtag/liblangtag-0.5.1-reg2xml-encoding-problem.patch \
liblangtag/liblangtag-0.5.1-vsnprintf.patch \
liblangtag/liblangtag-0.5.1-msvc-ssize_t.patch \
liblangtag/liblangtag-0.5.1-msvc-snprintf.patch \
liblangtag/liblangtag-0.5.1-msvc-strtoull.patch \
liblangtag/liblangtag-0.5.1-scope-declaration.patch \
liblangtag/liblangtag-0.5.1-redefinition-of-typedef.patch \
liblangtag/liblangtag-0.5.1-undefined-have-sys-param-h.patch \
liblangtag/liblangtag-0.5.1-windows-do-not-prepend-dir-separator.patch \
))
# liblangtag-0.4.0-xmlDocCopyNode.patch addressed upstream as
# <https://github.com/tagoh/liblangtag/pull/8> "Use xmlDocCopyNode to merge
# nodes into different docs"
ifeq ($(filter-out MACOSX AIX,$(OS)),)
$(eval $(call gb_UnpackedTarball_add_patches,langtag,\
liblangtag/liblangtag-0.4.0-mac.patch \
liblangtag/liblangtag-0.4.0-configure-atomic-cflag-pollution.patch \
))
else
$(eval $(call gb_UnpackedTarball_add_patches,langtag,\
liblangtag/liblangtag-0.4.0-msvc-warning.patch \
liblangtag/liblangtag-0.4.0-configure-atomic-cflag-pollution.patch \
liblangtag/liblangtag-0.4.0-windows.patch \
liblangtag/liblangtag-0.4.0-reg2xml-encoding-problem.patch \
liblangtag/liblangtag-0.4.0-windows2.patch \
liblangtag/liblangtag-0.4.0-msvcprojects.patch \
liblangtag/liblangtag-0.4.0-ppc.patch \
liblangtag/liblangtag-0.4.0-vsnprintf.patch \
))
endif
ifeq ($(CROSS_COMPILING),YES)
$(eval $(call gb_UnpackedTarball_add_patches,langtag,\
liblangtag/liblangtag-0.4.0-cross.patch \
))
endif
ifeq ($(OS),WNT)
ifeq ($(COM),GCC)
$(eval $(call gb_UnpackedTarball_add_patches,langtag,\
liblangtag/liblangtag-0.4.0-mingw.patch \
))
else
# liblangtag-0.4.0-ar-lib.patch and ar-lib are addressed upstream as
# <https://bitbucket.org/tagoh/liblangtag/issue/1>
$(eval $(call gb_UnpackedTarball_add_patches,langtag,\
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 \
liblangtag/liblangtag-0.5.1-mingw.patch \
))
endif
endif
......
#! /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@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@gnu.org> or send patches to
# <automake-patches@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
This diff is collapsed.
--- misc/liblangtag-0.4.0/configure.ac
+++ misc/build/liblangtag-0.4.0/configure.ac
@@ -173,8 +173,9 @@
__sync_synchronize();
j = __sync_fetch_and_sub(&i, 1);
return j;
- ]])], [AC_MSG_ERROR([liblangtag has to be built with -march=i486 or later.])]
- [lt_cv_has_atomic=no])])
+ ]])], [AC_MSG_ERROR([liblangtag has to be built with -march=i486 or later.])],
+ [lt_cv_has_atomic=no
+ CFLAGS="$_save_cflags"])])
])
if test "x$lt_cv_has_atomic" = "xyes"; then
AC_DEFINE(LT_HAVE_ATOMIC_BUILTINS, 1, [Have buit-in atomic functions])
@@ -291,8 +291,14 @@
dnl ======================================================================
dnl check another libraries
dnl ======================================================================
+case $host_os in
+ cygwin* | mingw*)
+ ;;
-AX_PTHREAD([],
+ *)
+ AX_PTHREAD([],
[AC_MSG_ERROR([*** pthread library are required])])
+ ;;
+esac
GOBJECT_INTROSPECTION_CHECK([1.30.0])
if test "x$enable_introspection" != "xyes"; then
--- misc/liblangtag-0.4.0/configure
+++ misc/build/liblangtag-0.4.0/configure
@@ -12604,7 +12604,9 @@
_ACEOF
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"
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
@@ -13201,6 +13201,10 @@
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
@@ -13582,6 +13582,8 @@
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'
--- misc/liblangtag-0.4.0/data/Makefile.am 2012-10-16 07:39:20.000000000 +0200
+++ misc/build/liblangtag-0.4.0/data/Makefile.am 2012-11-06 14:25:29.489175992 +0100
@@ -59,7 +59,7 @@
language-subtag-registry:
$(AM_V_DL) wget -O $@ http://www.iana.org/assignments/language-subtag-registry || \
curl -o $@ http://www.iana.org/assignments/language-subtag-registry
-language-subtag-registry.xml: language-subtag-registry reg2xml Makefile
+language-subtag-registry.xml: language-subtag-registry
$(AM_V_GEN) $(builddir)/reg2xml $(srcdir)/language-subtag-registry $@.tmp; \
head -1 $@.tmp | grep -E '^<\?xml version'>/dev/null 2>&1 && mv $@.tmp $@ || (echo "E: $@ isn't an expected result"; rm $@.tmp)
stamp-core-zip:
--- misc/liblangtag-0.4.0/Makefile.in 2012-10-22 04:47:24.000000000 +0100
+++ misc/build/liblangtag-0.4.0/Makefile.in 2012-11-06 20:03:08.906250000 +0000
@@ -136,8 +136,7 @@
distdir dist dist-all distcheck
ETAGS = etags
CTAGS = ctags
-DIST_SUBDIRS = liblangtag extensions data docs liblangtag-gobject \
- tests
+DIST_SUBDIRS = liblangtag extensions data docs liblangtag-gobject
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
@@ -339,7 +338,7 @@
NULL =
AUTOMAKE_OPTIONS = dist-bzip2
#SUBDIRS += docs tests
-SUBDIRS = liblangtag extensions data docs $(am__append_1) tests
+SUBDIRS = liblangtag extensions data docs $(am__append_1)
CONFIGURE_DEPENDENCIES = \
requires \
$(NULL)
--- misc/liblangtag-0.4.0/data/Makefile.in 2012-10-22 05:47:23.000000000 +0200
+++ misc/build/liblangtag-0.4.0/data/Makefile.in 2012-11-06 14:26:06.487085669 +0100
@@ -52,7 +52,7 @@
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-noinst_PROGRAMS = reg2xml$(EXEEXT) $(am__EXEEXT_1)
+noinst_PROGRAMS = $(am__EXEEXT_1)
subdir = data
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -780,7 +780,7 @@
language-subtag-registry:
$(AM_V_DL) wget -O $@ http://www.iana.org/assignments/language-subtag-registry || \
curl -o $@ http://www.iana.org/assignments/language-subtag-registry
-language-subtag-registry.xml: language-subtag-registry reg2xml Makefile
+language-subtag-registry.xml: language-subtag-registry
$(AM_V_GEN) $(builddir)/reg2xml $(srcdir)/language-subtag-registry $@.tmp; \
head -1 $@.tmp | grep -E '^<\?xml version'>/dev/null 2>&1 && mv $@.tmp $@ || (echo "E: $@ isn't an expected result"; rm $@.tmp)
stamp-core-zip:
diff -r -u liblangtag-0.4.0.org/data/reg2xml.c liblangtag-0.4.0/data/reg2xml.c
--- misc/liblangtag-0.4.0.org/data/reg2xml.c 2012-11-06 09:15:59.000000000 -0600
+++ misc/build/liblangtag-0.4.0/data/reg2xml.c 2012-11-06 09:33:59.000000000 -0600
@@ -111,7 +111,9 @@
fsetpos(fp, &pos);
}
token = strstr(buffer, ": ");
- tag = strndup(buffer, token - buffer);
+ tag = malloc((token-buffer) + 1);
+ strncpy(tag, buffer, token-buffer);
+ tag[token-buffer] = 0;
token += 2;
xmlNewChild(ent, NULL,
(const xmlChar *)lt_strlower(tag),
diff -r -u liblangtag-0.4.0.org/liblangtag/lt-atomic.h liblangtag-0.4.0/liblangtag/lt-atomic.h
--- misc/liblangtag-0.4.0.org/liblangtag/lt-atomic.h 2012-11-06 09:15:59.000000000 -0600
+++ misc/build/liblangtag-0.4.0/liblangtag/lt-atomic.h 2012-11-06 09:24:15.000000000 -0600
@@ -93,7 +93,7 @@
{
lt_bool_t retval;
- lt_return_if_fail (v != NULL, FALSE);
+ lt_return_val_if_fail (v != NULL, FALSE);
pthread_mutex_lock(&__lt_atomic_lock);
retval = --(*v) == 0;
diff -r -u liblangtag-0.4.0.org/liblangtag/lt-error.c liblangtag-0.4.0/liblangtag/lt-error.c
--- misc/liblangtag-0.4.0.org/liblangtag/lt-error.c 2012-11-06 09:15:59.000000000 -0600
+++ misc/build/liblangtag-0.4.0/liblangtag/lt-error.c 2012-11-06 09:18:23.000000000 -0600
@@ -14,7 +14,6 @@
#include "config.h"
#endif
-#include <execinfo.h>
#include <stdlib.h>
#include "lt-list.h"
#include "lt-mem.h"
@@ -98,9 +97,7 @@
...)
{
va_list ap;
- void *traces[1024];
lt_error_data_t *d = lt_mem_alloc_object(sizeof (lt_error_data_t));
- int size;
lt_bool_t allocated;
lt_return_val_if_fail (error != NULL, NULL);
@@ -117,13 +114,9 @@
d->message = lt_strdup_vprintf(message, ap);
va_end(ap);
- size = backtrace(traces, 1024);
- if (size > 0)
- d->traces = backtrace_symbols(traces, size);
- d->stack_size = size;
+ d->stack_size = 0;
lt_mem_add_ref(&d->parent, d->message, free);
- lt_mem_add_ref(&d->parent, d->traces, free);
allocated = (*error)->data == NULL;
(*error)->data = lt_list_append((*error)->data, d, (lt_destroy_func_t)lt_mem_unref);
diff -r -u liblangtag-0.4.0.org/liblangtag/lt-ext-module.c liblangtag-0.4.0/liblangtag/lt-ext-module.c
--- misc/liblangtag-0.4.0.org/liblangtag/lt-ext-module.c 2012-11-06 09:15:59.000000000 -0600
+++ misc/build/liblangtag-0.4.0/liblangtag/lt-ext-module.c 2012-11-06 09:30:31.000000000 -0600
@@ -399,7 +399,8 @@
if (len > suffix_len &&
lt_strcmp0(&filename[prefix_len + len - suffix_len], "." LT_MODULE_SUFFIX) == 0) {
- module = strndup(&filename[prefix_len], len - suffix_len);
+ module = malloc((len-suffix_len) + 1);
+ strncpy(module, &filename[prefix_len], len-suffix_len);
module[len - suffix_len] = 0;
}
}
diff -r -u liblangtag-0.4.0.org/liblangtag/lt-messages.c liblangtag-0.4.0/liblangtag/lt-messages.c
--- misc/liblangtag-0.4.0.org/liblangtag/lt-messages.c 2012-11-06 09:15:59.000000000 -0600
+++ misc/build/liblangtag-0.4.0/liblangtag/lt-messages.c 2012-11-06 09:20:58.000000000 -0600
@@ -17,7 +17,6 @@
#include "config.h"
#endif
-#include <execinfo.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -98,27 +97,6 @@
static void
_lt_message_stacktrace(void)
{
- void *traces[1024];
- char **strings;
- int size, i;
-
- size = backtrace(traces, 1024);
- if (size > 0) {
- strings = backtrace_symbols(traces, size);
- lt_debug(LT_MSGCAT_TRACE, "Stacktrace:");
- /*
- * XXX:
- * 0.. here.
- * 1.. _lt_message_default_handler
- * 2.. lt_message_vprintf
- * 3.. lt_message_printf
- * 4.. lt_* macros
- */
- for (i = 4; i < size; i++) {
- lt_debug(LT_MSGCAT_TRACE, " %d. %s", i - 3, strings[i]);
- }
- free(strings);
- }
}
static void
diff -r -u liblangtag-0.4.0.org/liblangtag/lt-utils.c liblangtag-0.4.0/liblangtag/lt-utils.c
--- misc/liblangtag-0.4.0.org/liblangtag/lt-utils.c 2012-11-06 09:15:59.000000000 -0600
+++ misc/build/liblangtag-0.4.0/liblangtag/lt-utils.c 2012-11-06 09:23:36.000000000 -0600
@@ -14,6 +14,7 @@
#include "config.h"
#endif
+#include <stdlib.h>
#include <ctype.h>
#include <stdio.h>
#include <string.h>
--- misc/liblangtag-0.4.0/liblangtag/lt-messages.h 2012-11-06 23:10:33.191940625 +0100
+++ misc/build/liblangtag-0.4.0/liblangtag/lt-messages.h 2012-11-06 22:31:12.372708079 +0100
@@ -16,7 +16,10 @@
#ifndef __LT_MESSAGES_H__
#define __LT_MESSAGES_H__
+#ifdef HAVE_CONFIG_H
#include "config.h"
+#endif
+
#include <stdarg.h>
#include "lt-macros.h"
--- misc/liblangtag-0.4.0/liblangtag/lt-utils.c 2012-11-06 23:10:33.195940539 +0100
+++ misc/build/liblangtag-0.4.0/liblangtag/lt-utils.c 2012-11-06 22:43:39.266557764 +0100
@@ -17,6 +17,7 @@
#include <ctype.h>
#include <stdio.h>
#include <string.h>
+#include <memory.h>
#include "lt-messages.h"
#include "lt-utils.h"
--- misc/liblangtag-0.4.0/liblangtag/lt-macros.h
+++ misc/build/liblangtag-0.4.0/liblangtag/lt-macros.h
@@ -203,6 +203,7 @@
LT_STMT_START {__asm__ __volatile__ ("bpt");} LT_STMT_END
#else
+# include <signal.h>
# define LT_BREAKPOINT() \
LT_STMT_START {raise(SIGTRAP);} LT_STMT_END
#endif
--- misc/liblangtag-0.4.0/liblangtag/lt-utils.c 2012-12-01 10:46:26.000000000 +0100
+++ misc/build/liblangtag-0.4.0/liblangtag/lt-utils.c 2012-12-01 13:17:41.421568551 +0100
@@ -18,6 +18,7 @@
#include <stdio.h>
#include <string.h>
#include <memory.h>
+#include <stdlib.h>
#include "lt-messages.h"
#include "lt-utils.h"
@@ -121,7 +121,7 @@ char *
lt_strdup_vprintf(const char *format,
va_list args)
{
- char *retval, c;
+ char *retval, tmpbuf[ 16384 ];
va_list ap;
int size;
@@ -133,7 +133,9 @@ lt_strdup_vprintf(const char *format,
va_copy(ap, args);
#endif
- size = vsnprintf(&c, 1, format, ap) + 1;
+ size = vsnprintf(tmpbuf, sizeof(tmpbuf), format, ap) + 1;
+ if( size == 0 ) // -1 + 1
+ abort();
va_end(ap);
--- misc/liblangtag-0.4.0/liblangtag/lt-macros.h
+++ misc/build/liblangtag-0.4.0/liblangtag/lt-macros.h
@@ -14,7 +14,9 @@
#error "Only <liblangtag/langtag.h> can be included directly."
#endif
+#ifndef _WIN32
#include <sys/param.h>
+#endif
#ifndef __LT_MACROS_H__
#define __LT_MACROS_H__
@@ -206,6 +206,14 @@
LT_BEGIN_DECLS
+#ifdef _MSC_VER
+#ifdef _M_AMD64
+typedef signed long long ssize_t;
+#else
+typedef signed int ssize_t;
+#endif
+#endif
+
typedef void * lt_pointer_t;
typedef int lt_bool_t;
typedef lt_pointer_t (* lt_copy_func_t) (lt_pointer_t data);
--- misc/liblangtag-0.4.0/liblangtag/lt-atomic.h
+++ misc/build/liblangtag-0.4.0/liblangtag/lt-atomic.h
@@ -17,7 +17,11 @@
#include "config.h"
#endif
+#if !defined(LT_HAVE_ATOMIC_BUILTINS) && !defined(_WIN32)
#include <pthread.h>
+#elif defined(_WIN32)
+#include <windows.h>
+#endif
#include "lt-messages.h"
LT_BEGIN_DECLS
@@ -26,14 +30,40 @@
LT_INLINE_FUNC int lt_atomic_int_inc (volatile int *v);
LT_INLINE_FUNC lt_bool_t lt_atomic_int_dec_and_test(volatile int *v);
-#ifndef LT_HAVE_ATOMIC_BUILTINS
+#if !defined(LT_HAVE_ATOMIC_BUILTINS) && !defined(_WIN32)
static pthread_mutex_t __lt_atomic_lock = PTHREAD_MUTEX_INITIALIZER;
#endif
/*< private >*/
/*< public >*/
-#ifdef LT_HAVE_ATOMIC_BUILTINS
+#ifdef _WIN32
+LT_INLINE_FUNC int
+lt_atomic_int_get(volatile int *v)
+{
+ lt_return_val_if_fail (v != NULL, 0);
+
+ return (int)InterlockedExchange((LONG*)v, (LONG)*v);
+}
+
+LT_INLINE_FUNC int
+lt_atomic_int_inc(volatile int *v)
+{
+ lt_return_val_if_fail (v != NULL, 0);
+
+ return (int)InterlockedIncrement((LONG*)v);
+}
+
+lt_bool_t
+lt_atomic_int_dec_and_test(volatile int *v)
+{
+ lt_return_val_if_fail (v != NULL, FALSE);
+
+ return !InterlockedDecrement((LONG*)v);
+}
+
+
+#elif defined(LT_HAVE_ATOMIC_BUILTINS)
LT_INLINE_FUNC int
lt_atomic_int_get(volatile int *v)
{
@@ -123,7 +153,7 @@
{
lt_bool_t retval;
- lt_return_if_fail (v != NULL, FALSE);
+ lt_return_val_if_fail (v != NULL, FALSE);
pthread_mutex_lock(&__lt_atomic_lock);
retval = --(*v) == 0;
--- misc/liblangtag-0.4.0/liblangtag/lt-messages.h
+++ misc/build/liblangtag-0.4.0/liblangtag/lt-messages.h
@@ -298,10 +298,17 @@
_lt_return_after_eval_if_fail(__expr__,__eval__)
#define lt_return_val_after_eval_if_fail(__expr__,__val__,__eval__) \
_lt_return_val_after_eval_if_fail(__expr__,__val__,__eval__)
+#ifdef __GNUC__
#define lt_warn_if_reached() \
lt_message_printf(LT_MSG_WARNING, LT_MSG_FLAG_NONE, 0, \
"(%s:%d): %s: code should not be reached", \
__FILE__, __LINE__, __PRETTY_FUNCTION__)
+#else
+#define lt_warn_if_reached() \
+ lt_message_printf(LT_MSG_WARNING, LT_MSG_FLAG_NONE, 0, \
+ "(%s:%d): code should not be reached", \
+ __FILE__, __LINE__)
+#endif
LT_END_DECLS
--- misc/liblangtag-0.4.0/liblangtag/lt-error.c
+++ misc/build/liblangtag-0.4.0/liblangtag/lt-error.c
@@ -14,7 +14,9 @@
#include "config.h"
#endif
+#ifndef _WIN32
#include <execinfo.h>
+#endif
#include <stdlib.h>
#include "lt-list.h"
#include "lt-mem.h"
@@ -120,13 +120,18 @@
d->message = lt_strdup_vprintf(message, ap);
va_end(ap);
+#ifdef _WIN32
+ size = 0;
+#else
size = backtrace(traces, 1024);
if (size > 0)
d->traces = backtrace_symbols(traces, size);
+#endif
d->stack_size = size;
lt_mem_add_ref(&d->parent, d->message, free);
- lt_mem_add_ref(&d->parent, d->traces, free);
+ if (d->traces != NULL)
+ lt_mem_add_ref(&d->parent, d->traces, free);
allocated = (*error)->data == NULL;
(*error)->data = lt_list_append((*error)->data, d, (lt_destroy_func_t)lt_mem_unref);
--- misc/liblangtag-0.4.0/liblangtag/lt-ext-module.c
+++ misc/build/liblangtag-0.4.0/liblangtag/lt-ext-module.c
@@ -15,11 +15,15 @@
#endif
#include <ctype.h>
+#ifdef ENABLE_MODULE
#include <dirent.h>
+#endif
#ifdef HAVE_DLFCN_H
#include <dlfcn.h>
#endif
+#ifndef _WIN32
#include <libgen.h>
+#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
--- misc/liblangtag-0.4.0/liblangtag/lt-xml.c
+++ misc/build/liblangtag-0.4.0/liblangtag/lt-xml.c
@@ -14,7 +14,11 @@
#include "config.h"
#endif
+#ifndef _WIN32
#include <pthread.h>
+#else
+#include <windows.h>
+#endif
#include <sys/stat.h>
#include <libxml/parser.h>
#include <libxml/xpath.h>
@@ -40,7 +44,9 @@
};
static lt_xml_t *__xml = NULL;
+#ifndef _WIN32
static pthread_mutex_t __lt_xml_lock = PTHREAD_MUTEX_INITIALIZER;
+#endif
/*< private >*/
static lt_bool_t
@@ -309,11 +315,18 @@
{
lt_error_t *err = NULL;
+#ifdef _WIN32
+ HANDLE __lt_xml_lock = CreateMutex(NULL, FALSE, NULL);
+#else
pthread_mutex_lock(&__lt_xml_lock);
+#endif
if (__xml) {
+#ifdef _WIN32
+ ReleaseMutex(__lt_xml_lock);
+#else
pthread_mutex_unlock(&__lt_xml_lock);
-
+#endif
return lt_xml_ref(__xml);
}
@@ -389,8 +402,11 @@
lt_xml_unref(__xml);
}
+#ifdef _WIN32
+ ReleaseMutex(__lt_xml_lock);
+#else
pthread_mutex_unlock(&__lt_xml_lock);
-
+#endif
return __xml;
}
--- misc/liblangtag-0.4.0/liblangtag/lt-messages.c
+++ misc/build/liblangtag-0.4.0/liblangtag/lt-messages.c
@@ -17,7 +17,9 @@
#include "config.h"
#endif
+#ifndef _WIN32
#include <execinfo.h>
+#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -98,6 +98,7 @@
static void
_lt_message_stacktrace(void)
{
+#ifndef _WIN32
void *traces[1024];
char **strings;
int size, i;
@@ -119,6 +119,7 @@
}
free(strings);
}
+#endif
}
static void
--- misc/liblangtag-0.4.0/liblangtag/lt-string.c
+++ misc/build/liblangtag-0.4.0/liblangtag/lt-string.c
@@ -302,8 +302,10 @@
lt_return_val_if_fail (string != NULL, NULL);
lt_return_val_if_fail (path != NULL, string);
+#ifndef _WIN32
if (lt_string_length(string) == 0 && path[0] != LT_DIR_SEPARATOR)
lt_string_append(string, LT_DIR_SEPARATOR_S);
+#endif
va_start(ap, path);
p = path;
--- misc/liblangtag-0.4.0/liblangtag/lt-tag.c
+++ misc/build/liblangtag-0.4.0/liblangtag/lt-tag.c
@@ -15,9 +15,15 @@
#endif
#include <ctype.h>
+#ifndef _WIN32
#include <langinfo.h>
+#endif
#include <locale.h>
+#ifndef HAVE_STDINT_H
+typedef int int32_t;
+#else
#include <stdint.h>
+#endif
#include <string.h>
#include <libxml/xpath.h>
#include "lt-database.h"
--- misc/liblangtag-0.4.0/data/reg2xml.c 2012-11-06 19:22:52.734375000 +0000
+++ misc/build/liblangtag-0.4.0/data/reg2xml.c 2012-11-06 19:12:34.765625000 +0000
@@ -19,6 +19,31 @@
#include "lt-messages.h"
#include "lt-utils.h"
+#ifdef _WIN32
+static char *
+strndup(const char *string,size_t s)
+{
+ const char *p;
+ char *r;
+ if (!string)
+ return NULL;
+ p = string;
+ while (s) {
+ if (!*p)
+ break;
+ p++;
+ s--;
+ }
+ s = (p - string);
+ r = malloc(1+s);
+ if (r) {
+ strncpy(r,string,s);
+ r[s] = 0;
+ }
+ return r;
+}
+#endif
+
/*< private >*/
static char *
_drop_crlf(char *string)
--- misc/liblangtag-0.4.0/extensions/lt-ext-ldml-u.c 2012-10-16 08:25:15.000000000 +0100
+++ misc/build/liblangtag-0.4.0/extensions/lt-ext-ldml-u.c 2012-11-06 19:02:45.328125000 +0000
@@ -14,7 +14,11 @@
#include "config.h"
#endif
+#ifndef _WIN32
#include <stdint.h>
+#else
+typedef unsigned __int64 uint64_t;
+#endif
#include <string.h>
#include <libxml/xpath.h>
#include "lt-error.h"
@@ -136,7 +140,11 @@
if (!strchr(hexdigit, subtag[j]))
goto bail2;
}
+#ifdef _WIN32
+ x = _strtoui64(subtag, &p, 16);
+#else
x = strtoull(subtag, &p, 16);
+#endif
if (p && p[0] == 0 && x <= 0x10ffff) {
retval = TRUE;
xmlFree(name);
--- misc/liblangtag-0.4.0/liblangtag-gobject.pc 2012-10-22 04:47:28.000000000 +0100
+++ misc/build/liblangtag-0.4.0/liblangtag-gobject.pc 2012-11-06 18:42:59.625000000 +0000
@@ -1,6 +1,6 @@
-prefix=/usr
+prefix=/install-liblangtag
exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
+libdir=/install-liblangtag/lib
includedir=${prefix}/include
Name: liblangtag-gobject
--- misc/liblangtag-0.4.0/liblangtag.pc 2012-10-22 04:47:28.000000000 +0100
+++ misc/build/liblangtag-0.4.0/liblangtag.pc 2012-11-06 18:42:59.171875000 +0000
@@ -1,6 +1,6 @@
-prefix=/usr
+prefix=/install-liblangtag
exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
+libdir=/install-liblangtag/lib
includedir=${prefix}/include
Name: liblangtag
--- misc/liblangtag-0.4.0/liblangtag/lt-messages.c 2012-11-06 19:22:52.703125000 +0000
+++ misc/build/liblangtag-0.4.0/liblangtag/lt-messages.c 2012-11-06 19:20:22.671875000 +0000
@@ -83,13 +83,21 @@
clen = strlen(cs);
if (clen > 0) {
catstring = malloc(sizeof (char) * (clen + 6));
+#ifdef _WIN32
+ _snprintf(catstring, clen + 6, "[%s]: ", cs);
+#else
snprintf(catstring, clen + 6, "[%s]: ", cs);
+#endif
clen = strlen(catstring);
}
len = tlen + clen + 1;
retval = malloc(sizeof (char) * len);
if (retval) {
- snprintf(retval, len, "%s%s ", ts, catstring ? catstring : "");
+#ifdef _WIN32
+ _snprintf(retval, len, "%s%s ", ts, catstring ? catstring : "");
+#else
+ snprintf(retval, len, "%s%s ", ts, catstring ? catstring : "");
+#endif
}
if (catstring)
free(catstring);
--- misc/liblangtag-0.4.0/liblangtag/lt-utils.c 2012-10-03 07:05:59.000000000 +0100
+++ misc/build/liblangtag-0.4.0/liblangtag/lt-utils.c 2012-11-06 19:16:07.640625000 +0000
@@ -126,7 +126,11 @@
lt_return_val_if_fail (format != NULL, NULL);
+#ifdef _WIN32
+ ap = args;
+#else
va_copy(ap, args);
+#endif
size = vsnprintf(&c, 1, format, ap) + 1;
--- misc/liblangtag-0.4.0/liblangtag/lt-xml.c
+++ misc/build/liblangtag-0.4.0/liblangtag/lt-xml.c
@@ -292,7 +292,7 @@ _lt_xml_merge_keys(lt_xml_t *xml,
}
n = xmlXPathNodeSetGetLength(xobj->nodesetval);
for (i = 0; i < n; i++) {
- xmlNodePtr p = xmlCopyNode(xmlXPathNodeSetItem(xobj->nodesetval, i), 1);
+ xmlNodePtr p = xmlDocCopyNode(xmlXPathNodeSetItem(xobj->nodesetval, i), doc1, 1);
xmlAddChild(parent_node, p);
}
......@@ -62,14 +62,3 @@
ACLOCAL_AMFLAGS = \
-I m4macros \
--- misc/liblangtag-0.4.0/extensions/lt-ext-ldml-u.c 2012-11-07 14:26:53.000000000 +0100
+++ misc/build/liblangtag-0.4.0/extensions/lt-ext-ldml-u.c 2012-11-07 14:27:39.000000000 +0100
@@ -14,7 +14,7 @@
#include "config.h"
#endif
-#ifndef _WIN32
+#if !defined( _WIN32 ) || defined( __MINGW32__ )
#include <stdint.h>
#else
typedef unsigned __int64 uint64_t;
diff -ru langtag.orig/liblangtag/lt-messages.c langtag/liblangtag/lt-messages.c
--- UnpackedTarball/langtag.orig/liblangtag/lt-messages.c 2013-04-22 10:06:57.000000000 +0200
+++ UnpackedTarball/langtag/liblangtag/lt-messages.c 2013-04-30 11:38:04.116532065 +0200
@@ -85,13 +85,21 @@
clen = strlen(cs);
if (clen > 0) {
catstring = malloc(sizeof (char) * (clen + 6));
+#ifdef _WIN32
+ _snprintf(catstring, clen + 6, "[%s]: ", cs);
+#else
snprintf(catstring, clen + 6, "[%s]: ", cs);
+#endif
clen = strlen(catstring);
}
len = tlen + clen + 1;
retval = malloc(sizeof (char) * len);
if (retval) {
+#ifdef _WIN32
+ _snprintf(retval, len, "%s%s ", ts, catstring ? catstring : "");
+#else
snprintf(retval, len, "%s%s ", ts, catstring ? catstring : "");
+#endif
}
if (catstring)
free(catstring);
diff -ru UnpackedTarball/langtag.orig/liblangtag/lt-macros.h UnpackedTarball/langtag/liblangtag/lt-macros.h
--- UnpackedTarball/langtag.orig/liblangtag/lt-macros.h 2013-04-22 10:06:57.000000000 +0200
+++ UnpackedTarball/langtag/liblangtag/lt-macros.h 2013-04-30 16:07:00.619638050 +0200
@@ -261,7 +261,7 @@
LT_BEGIN_DECLS
-#ifdef _MSC_VER
+#if defined(_MSC_VER) && !defined(ssize_t)
# ifdef _M_AMD64
typedef signed long long ssize_t;
# else
diff -ru langtag.orig/extensions/lt-ext-ldml-u.c langtag/extensions/lt-ext-ldml-u.c
--- UnpackedTarball/langtag.orig/extensions/lt-ext-ldml-u.c 2013-04-22 10:06:56.000000000 +0200
+++ UnpackedTarball/langtag/extensions/lt-ext-ldml-u.c 2013-04-30 12:56:19.557490167 +0200
@@ -137,7 +137,11 @@
if (!strchr(hexdigit, subtag[j]))
goto bail2;
}
+#ifdef _WIN32
+ x = _strtoui64(subtag, &p, 16);
+#else
x = strtoull(subtag, &p, 16);
+#endif
if (p && p[0] == 0 && x <= 0x10ffff) {
retval = TRUE;
xmlFree(name);
diff -ru langtag.orig/liblangtag/lt-trie.c langtag/liblangtag/lt-trie.c
--- UnpackedTarball/langtag.orig/liblangtag/lt-trie.c 2013-04-30 04:37:30.000000000 +0200
+++ UnpackedTarball/langtag/liblangtag/lt-trie.c 2013-04-30 14:57:50.777932196 +0200
@@ -33,11 +33,6 @@
lt_iter_tmpl_t parent;
lt_trie_node_t *root;
};
-typedef struct _lt_trie_iter_t {
- lt_iter_t parent;
- lt_list_t *stack;
- lt_string_t *pos_str;
-} lt_trie_iter_t;
/*< private >*/
static lt_trie_node_t *
diff -ru langtag.orig/liblangtag/lt-trie.h langtag/liblangtag/lt-trie.h
--- UnpackedTarball/langtag.orig/liblangtag/lt-trie.h 2013-04-30 04:44:36.000000000 +0200
+++ UnpackedTarball/langtag/liblangtag/lt-trie.h 2013-04-30 14:57:57.746969291 +0200
@@ -21,7 +21,11 @@
LT_BEGIN_DECLS
typedef struct _lt_trie_t lt_trie_t;
-typedef struct _lt_trie_iter_t lt_trie_iter_t;
+typedef struct _lt_trie_iter_t {
+ lt_iter_t parent;
+ lt_list_t *stack;
+ lt_string_t *pos_str;
+} lt_trie_iter_t;
lt_trie_t *lt_trie_new (void);
lt_trie_t *lt_trie_ref (lt_trie_t *trie);
diff -ru langtag.orig/tests/variant-db.c langtag/tests/variant-db.c
--- UnpackedTarball/langtag.orig/tests/variant-db.c 2013-04-22 10:06:57.000000000 +0200
+++ UnpackedTarball/langtag/tests/variant-db.c 2013-04-30 14:12:18.399306545 +0200
@@ -53,8 +53,8 @@
}
lt_iter_finish(iter);
} else if (lt_strcmp0(argv[1], "lookup") == 0) {
- variant = lt_variant_db_lookup(variantdb, argv[2]);
const lt_list_t *prefix, *l;
+ variant = lt_variant_db_lookup(variantdb, argv[2]);
if (variant) {
printf("desc: %s\n", lt_variant_get_name(variant));
# liblangtag/lt-macros.h:17:5: error: "HAVE_SYS_PARAM_H" is not defined [-Werror=undef]
diff -ru UnpackedTarball/langtag.orig/liblangtag/lt-macros.h UnpackedTarball/langtag/liblangtag/lt-macros.h
--- UnpackedTarball/langtag.orig/liblangtag/lt-macros.h 2013-04-30 16:09:19.362392416 +0200
+++ UnpackedTarball/langtag/liblangtag/lt-macros.h 2013-04-30 18:01:13.275188759 +0200
@@ -14,7 +14,7 @@
#error "Only <liblangtag/langtag.h> can be included directly."
#endif
-#if HAVE_SYS_PARAM_H
+#if defined(HAVE_SYS_PARAM_H) && HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
diff -ru langtag.orig/liblangtag/lt-utils.c langtag/liblangtag/lt-utils.c
--- UnpackedTarball/langtag.orig/liblangtag/lt-utils.c 2013-04-22 10:06:57.000000000 +0200
+++ UnpackedTarball/langtag/liblangtag/lt-utils.c 2013-04-26 17:58:39.817351779 +0200
@@ -168,6 +168,8 @@
va_copy(ap, args);
size = vsnprintf(&c, 1, format, ap) + 1;
+ if (size == 0) // -1 + 1
+ abort();
va_end(ap);
diff -ru UnpackedTarball/langtag.orig/liblangtag/lt-string.c UnpackedTarball/langtag/liblangtag/lt-string.c
--- UnpackedTarball/langtag.orig/liblangtag/lt-string.c 2013-04-22 10:35:07.000000000 +0200
+++ UnpackedTarball/langtag/liblangtag/lt-string.c 2013-04-30 18:34:14.422037274 +0200
@@ -308,8 +308,12 @@
lt_return_val_if_fail (string != NULL, NULL);
lt_return_val_if_fail (path != NULL, string);
+#ifdef _WIN32
+ /* This simply does not work on Windows with "D:\..." */
+#else
if (lt_string_length(string) == 0 && path[0] != LT_DIR_SEPARATOR)
lt_string_append(string, LT_DIR_SEPARATOR_S);
+#endif
va_start(ap, path);
p = path;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment