[SCM] libass/master: Revert "Merge tag 'upstream/0.13.5'"
sramacher at users.alioth.debian.org
sramacher at users.alioth.debian.org
Tue Jan 3 20:29:21 UTC 2017
The following commit has been merged in the master branch:
commit 87db9199e17ff265c7a77a853d3f0998da4c7aad
Author: Sebastian Ramacher <sramacher at debian.org>
Date: Tue Jan 3 21:24:42 2017 +0100
Revert "Merge tag 'upstream/0.13.5'"
This reverts commit f41ca9c3d548a8aebbe4b2c683dc295a4e6a4a1c, reversing
changes made to 5c6a8c91fb5811ee81be1380b0d9106641e44ff6.
diff --git a/Changelog b/Changelog
index 8ac4cb2..1995c44 100644
--- a/Changelog
+++ b/Changelog
@@ -1,26 +1,10 @@
-libass (0.13.5)
- * Add Justify style override that changes text justification
- (left/right/center) without affecting event positioning.
- * Fix ass_set_cache_limits() to affect total bitmap cache size
- including composite bitmap cache.
- * Number parsing fixes
- * Fix illegal read when parsing some numbers in scientific notation
- with huge exponents.
- * Correctly evaluate numbers in scientific notation with large exponents.
- * Correctly evaluate numbers with many leading zeros.
- * Bug fixes found with fuzzing
- * Fix a small memory leak in the parser.
- * Fix illegal read in the parser on specially crafted input with \t tags.
-
libass (0.13.4)
* Bug fixes found with fuzzing
- * Fix memory reallocation in the shaper. (CVE-2016-7972)
+ * Fix memory reallocation in the shaper.
* Fix two small memory leaks in the parser and test program.
* Fix illegal read in Gaussian blur coefficient calculations.
- (CVE-2016-7970)
* Fix mode 0/3 line wrapping equalization in specific cases which could
result in illegal reads while laying out and shaping text.
- (CVE-2016-7969)
libass (0.13.3)
* Improve compatibility/portablility of build system,
diff --git a/Makefile.in b/Makefile.in
index e9cb9eb..76cede0 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -364,6 +364,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
diff --git a/config.guess b/config.guess
index 6c32c86..1659250 100755
--- a/config.guess
+++ b/config.guess
@@ -1,8 +1,8 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
-timestamp='2014-11-04'
+timestamp='2015-08-20'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -50,7 +50,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright 1992-2014 Free Software Foundation, Inc.
+Copyright 1992-2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -168,20 +168,27 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# Note: NetBSD doesn't particularly care about the vendor
# portion of the name. We always set it to "unknown".
sysctl="sysctl -n hw.machine_arch"
- UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
- /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+ UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
+ /sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || \
+ echo unknown)`
case "${UNAME_MACHINE_ARCH}" in
armeb) machine=armeb-unknown ;;
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
sh5el) machine=sh5le-unknown ;;
+ earmv*)
+ arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+ endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
+ machine=${arch}${endian}-unknown
+ ;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
# to ELF recently, or will in the future.
case "${UNAME_MACHINE_ARCH}" in
- arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
eval $set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ELF__
@@ -197,6 +204,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
os=netbsd
;;
esac
+ # Determine ABI tags.
+ case "${UNAME_MACHINE_ARCH}" in
+ earm*)
+ expr='s/^earmv[0-9]/-eabi/;s/eb$//'
+ abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
+ ;;
+ esac
# The OS release
# Debian GNU/NetBSD machines have a different userland, and
# thus, need a distinct triplet. However, they do not need
@@ -207,13 +221,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
release='-gnu'
;;
*)
- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
;;
esac
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}"
+ echo "${machine}-${os}${release}${abi}"
exit ;;
*:Bitrig:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
@@ -235,6 +249,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:MirBSD:*:*)
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
exit ;;
+ *:Sortix:*:*)
+ echo ${UNAME_MACHINE}-unknown-sortix
+ exit ;;
alpha:OSF1:*:*)
case $UNAME_RELEASE in
*4.0)
@@ -933,6 +950,9 @@ EOF
crisv32:Linux:*:*)
echo ${UNAME_MACHINE}-axis-linux-${LIBC}
exit ;;
+ e2k:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
frv:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
@@ -1021,7 +1041,7 @@ EOF
echo ${UNAME_MACHINE}-dec-linux-${LIBC}
exit ;;
x86_64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
exit ;;
xtensa*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
diff --git a/config.sub b/config.sub
index 7ffe373..1acc966 100755
--- a/config.sub
+++ b/config.sub
@@ -1,8 +1,8 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright 1992-2014 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
-timestamp='2014-12-03'
+timestamp='2015-08-20'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -68,7 +68,7 @@ Report bugs and patches to <config-patches at gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright 1992-2014 Free Software Foundation, Inc.
+Copyright 1992-2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -117,7 +117,7 @@ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
- knetbsd*-gnu* | netbsd*-gnu* | \
+ knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
kopensolaris*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
@@ -255,12 +255,13 @@ case $basic_machine in
| arc | arceb \
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
| avr | avr32 \
+ | ba \
| be32 | be64 \
| bfin \
| c4x | c8051 | clipper \
| d10v | d30v | dlx | dsp16xx \
- | epiphany \
- | fido | fr30 | frv \
+ | e2k | epiphany \
+ | fido | fr30 | frv | ft32 \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| hexagon \
| i370 | i860 | i960 | ia64 \
@@ -305,7 +306,7 @@ case $basic_machine in
| riscv32 | riscv64 \
| rl78 | rx \
| score \
- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
@@ -376,12 +377,13 @@ case $basic_machine in
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
+ | ba-* \
| be32-* | be64-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \
| c8051-* | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
- | elxsi-* \
+ | e2k-* | elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
@@ -428,12 +430,13 @@ case $basic_machine in
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
| pyramid-* \
+ | riscv32-* | riscv64-* \
| rl78-* | romp-* | rs6000-* | rx-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
| tahoe-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tile*-* \
@@ -518,6 +521,9 @@ case $basic_machine in
basic_machine=i386-pc
os=-aros
;;
+ asmjs)
+ basic_machine=asmjs-unknown
+ ;;
aux)
basic_machine=m68k-apple
os=-aux
@@ -1373,7 +1379,7 @@ case $os in
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
| -sym* | -kopensolaris* | -plan9* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* | -aros* \
+ | -aos* | -aros* | -cloudabi* | -sortix* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
diff --git a/configure b/configure
index ea75078..4887269 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for libass 0.13.5.
+# Generated by GNU Autoconf 2.69 for libass 0.13.4.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -587,8 +587,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='libass'
PACKAGE_TARNAME='libass'
-PACKAGE_VERSION='0.13.5'
-PACKAGE_STRING='libass 0.13.5'
+PACKAGE_VERSION='0.13.4'
+PACKAGE_STRING='libass 0.13.4'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -772,6 +772,7 @@ infodir
docdir
oldincludedir
includedir
+runstatedir
localstatedir
sharedstatedir
sysconfdir
@@ -878,6 +879,7 @@ datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
+runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -1130,6 +1132,15 @@ do
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
+ -runstatedir | --runstatedir | --runstatedi | --runstated \
+ | --runstate | --runstat | --runsta | --runst | --runs \
+ | --run | --ru | --r)
+ ac_prev=runstatedir ;;
+ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+ | --run=* | --ru=* | --r=*)
+ runstatedir=$ac_optarg ;;
+
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1267,7 +1278,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
+ libdir localedir mandir runstatedir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@@ -1380,7 +1391,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures libass 0.13.5 to adapt to many kinds of systems.
+\`configure' configures libass 0.13.4 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1420,6 +1431,7 @@ Fine tuning of the installation directories:
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
@@ -1450,7 +1462,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libass 0.13.5:";;
+ short | recursive ) echo "Configuration of libass 0.13.4:";;
esac
cat <<\_ACEOF
@@ -1601,7 +1613,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-libass configure 0.13.5
+libass configure 0.13.4
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2020,7 +2032,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by libass $as_me 0.13.5, which was
+It was created by libass $as_me 0.13.4, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2883,7 +2895,7 @@ fi
# Define the identity of the package.
PACKAGE='libass'
- VERSION='0.13.5'
+ VERSION='0.13.4'
cat >>confdefs.h <<_ACEOF
@@ -5327,7 +5339,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
lt_cv_deplibs_check_method=pass_all
;;
-netbsd*)
+netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
else
@@ -9020,6 +9032,9 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
openbsd* | bitrig*)
with_gnu_ld=no
;;
+ linux* | k*bsd*-gnu | gnu*)
+ link_all_deplibs=no
+ ;;
esac
ld_shlibs=yes
@@ -9274,7 +9289,7 @@ _LT_EOF
fi
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
@@ -9944,6 +9959,7 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
if test yes = "$lt_cv_irix_exported_symbol"; then
archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
fi
+ link_all_deplibs=no
else
archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
@@ -9965,7 +9981,7 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
esac
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
@@ -11080,6 +11096,18 @@ fi
dynamic_linker='GNU/Linux ld.so'
;;
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
netbsd*)
version_type=sunos
need_lib_prefix=no
@@ -15109,7 +15137,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by libass $as_me 0.13.5, which was
+This file was extended by libass $as_me 0.13.4, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -15175,7 +15203,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-libass config.status 0.13.5
+libass config.status 0.13.4
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 54b0889..6a6dae9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-AC_INIT(libass, 0.13.5)
+AC_INIT(libass, 0.13.4)
AM_INIT_AUTOMAKE
AC_CONFIG_MACRO_DIR([m4])
# Disable Fortran checks
diff --git a/install-sh b/install-sh
index 0b0fdcb..59990a1 100755
--- a/install-sh
+++ b/install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2013-12-25.23; # UTC
+scriptversion=2014-09-12.12; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -324,34 +324,41 @@ do
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
+ # $RANDOM is not portable (e.g. dash); use it when possible to
+ # lower collision chance
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
- trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+ trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
+ # As "mkdir -p" follows symlinks and we work in /tmp possibly; so
+ # create the $tmpdir first (and fail if unsuccessful) to make sure
+ # that nobody tries to guess the $tmpdir name.
if (umask $mkdir_umask &&
- exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+ $mkdirprog $mkdir_mode "$tmpdir" &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
- ls_ld_tmpdir=`ls -ld "$tmpdir"`
+ test_tmpdir="$tmpdir/a"
+ ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
- $mkdirprog -m$different_mode -p -- "$tmpdir" && {
- ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+ $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
- rmdir "$tmpdir/d" "$tmpdir"
+ rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
- rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+ rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
fi
trap '' 0;;
esac;;
diff --git a/libass/Makefile.am b/libass/Makefile.am
index 67fe004..97b6971 100644
--- a/libass/Makefile.am
+++ b/libass/Makefile.am
@@ -3,7 +3,7 @@ AM_CFLAGS = -std=gnu99 -Wall -Wextra -Wno-sign-compare -Wno-unused-parameter \
-Wpointer-arith -Wredundant-decls -D_GNU_SOURCE
LIBASS_LT_CURRENT = 8
-LIBASS_LT_REVISION = 3
+LIBASS_LT_REVISION = 2
LIBASS_LT_AGE = 3
yasm_verbose = $(yasm_verbose_$(V))
diff --git a/libass/Makefile.in b/libass/Makefile.in
index 4c3e73c..f809b20 100644
--- a/libass/Makefile.in
+++ b/libass/Makefile.in
@@ -374,6 +374,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@@ -388,7 +389,7 @@ AM_CFLAGS = -std=gnu99 -Wall -Wextra -Wno-sign-compare -Wno-unused-parameter \
-Wpointer-arith -Wredundant-decls -D_GNU_SOURCE
LIBASS_LT_CURRENT = 8
-LIBASS_LT_REVISION = 3
+LIBASS_LT_REVISION = 2
LIBASS_LT_AGE = 3
yasm_verbose = $(yasm_verbose_$(V))
yasm_verbose_ = $(yasm_verbose_$(AM_DEFAULT_VERBOSITY))
diff --git a/libass/ass.c b/libass/ass.c
index e8cefc5..f42fd4b 100644
--- a/libass/ass.c
+++ b/libass/ass.c
@@ -449,7 +449,6 @@ void ass_process_force_style(ASS_Track *track)
FPVAL(Angle)
INTVAL(BorderStyle)
INTVAL(Alignment)
- INTVAL(Justify)
INTVAL(MarginL)
INTVAL(MarginR)
INTVAL(MarginV)
@@ -622,7 +621,6 @@ static int process_info_line(ASS_Track *track, char *str)
} else if (!strncmp(str, "Language:", 9)) {
char *p = str + 9;
while (*p && ass_isspace(*p)) p++;
- free(track->Language);
track->Language = strndup(p, 2);
}
return 0;
diff --git a/libass/ass.h b/libass/ass.h
index 67a630c..24a4618 100644
--- a/libass/ass.h
+++ b/libass/ass.h
@@ -24,7 +24,7 @@
#include <stdarg.h>
#include "ass_types.h"
-#define LIBASS_VERSION 0x01305000
+#define LIBASS_VERSION 0x01304000
#ifdef __cplusplus
extern "C" {
@@ -166,10 +166,6 @@ typedef enum {
* resolution given by the ASS_Track.
*/
ASS_OVERRIDE_FULL_STYLE = 1 << 9,
- /**
- * On dialogue events override: Justify
- */
- ASS_OVERRIDE_BIT_JUSTIFY = 1 << 10,
} ASS_OverrideBits;
/**
diff --git a/libass/ass_directwrite.c b/libass/ass_directwrite.c
index 45d2a2e..e41a0d5 100644
--- a/libass/ass_directwrite.c
+++ b/libass/ass_directwrite.c
@@ -66,8 +66,8 @@ typedef struct FallbackLogTextRenderer {
static HRESULT STDMETHODCALLTYPE FallbackLogTextRenderer_IsPixelSnappingDisabled(
IDWriteTextRenderer *This,
- void* clientDrawingContext,
- BOOL* isDisabled
+ _In_opt_ void* clientDrawingContext,
+ _Out_ BOOL* isDisabled
)
{
*isDisabled = true;
@@ -76,8 +76,8 @@ static HRESULT STDMETHODCALLTYPE FallbackLogTextRenderer_IsPixelSnappingDisabled
static HRESULT STDMETHODCALLTYPE FallbackLogTextRenderer_GetCurrentTransform(
IDWriteTextRenderer *This,
- void* clientDrawingContext,
- DWRITE_MATRIX* transform
+ _In_opt_ void* clientDrawingContext,
+ _Out_ DWRITE_MATRIX* transform
)
{
return E_NOTIMPL;
@@ -85,8 +85,8 @@ static HRESULT STDMETHODCALLTYPE FallbackLogTextRenderer_GetCurrentTransform(
static HRESULT STDMETHODCALLTYPE FallbackLogTextRenderer_GetPixelsPerDip(
IDWriteTextRenderer *This,
- void* clientDrawingContext,
- FLOAT* pixelsPerDip
+ _In_opt_ void* clientDrawingContext,
+ _Out_ FLOAT* pixelsPerDip
)
{
return E_NOTIMPL;
@@ -94,12 +94,12 @@ static HRESULT STDMETHODCALLTYPE FallbackLogTextRenderer_GetPixelsPerDip(
static HRESULT STDMETHODCALLTYPE FallbackLogTextRenderer_DrawGlyphRun(
IDWriteTextRenderer *This,
- void* clientDrawingContext,
+ _In_opt_ void* clientDrawingContext,
FLOAT baselineOriginX,
FLOAT baselineOriginY,
DWRITE_MEASURING_MODE measuringMode,
- DWRITE_GLYPH_RUN const* glyphRun,
- DWRITE_GLYPH_RUN_DESCRIPTION const* glyphRunDescription,
+ _In_ DWRITE_GLYPH_RUN const* glyphRun,
+ _In_ DWRITE_GLYPH_RUN_DESCRIPTION const* glyphRunDescription,
IUnknown* clientDrawingEffect
)
{
@@ -122,10 +122,10 @@ static HRESULT STDMETHODCALLTYPE FallbackLogTextRenderer_DrawGlyphRun(
static HRESULT STDMETHODCALLTYPE FallbackLogTextRenderer_DrawUnderline(
IDWriteTextRenderer *This,
- void* clientDrawingContext,
+ _In_opt_ void* clientDrawingContext,
FLOAT baselineOriginX,
FLOAT baselineOriginY,
- DWRITE_UNDERLINE const* underline,
+ _In_ DWRITE_UNDERLINE const* underline,
IUnknown* clientDrawingEffect
)
{
@@ -134,10 +134,10 @@ static HRESULT STDMETHODCALLTYPE FallbackLogTextRenderer_DrawUnderline(
static HRESULT STDMETHODCALLTYPE FallbackLogTextRenderer_DrawStrikethrough(
IDWriteTextRenderer *This,
- void* clientDrawingContext,
+ _In_opt_ void* clientDrawingContext,
FLOAT baselineOriginX,
FLOAT baselineOriginY,
- DWRITE_STRIKETHROUGH const* strikethrough,
+ _In_ DWRITE_STRIKETHROUGH const* strikethrough,
IUnknown* clientDrawingEffect
)
{
@@ -722,9 +722,9 @@ static ASS_FontProviderFuncs directwrite_callbacks = {
};
typedef HRESULT (WINAPI *DWriteCreateFactoryFn)(
- DWRITE_FACTORY_TYPE factoryType,
- REFIID iid,
- IUnknown **factory
+ _In_ DWRITE_FACTORY_TYPE factoryType,
+ _In_ REFIID iid,
+ _Out_ IUnknown **factory
);
/*
diff --git a/libass/ass_parse.c b/libass/ass_parse.c
index 5cd232f..5698669 100644
--- a/libass/ass_parse.c
+++ b/libass/ass_parse.c
@@ -262,8 +262,7 @@ static int parse_vector_clip(ASS_Renderer *render_priv,
/**
* \brief Parse style override tag.
* \param p string to parse
- * \param end end of string to parse, which must be '}', ')', or the first
- * of a number of spaces immediately preceding '}' or ')'
+ * \param end end of string to parse, which must be '}' or ')'
* \param pwr multiplier for some tag effects (comes from \t tags)
*/
char *parse_tag(ASS_Renderer *render_priv, char *p, char *end, double pwr)
@@ -273,8 +272,7 @@ char *parse_tag(ASS_Renderer *render_priv, char *p, char *end, double pwr)
if (*p != '\\')
return p;
++p;
- if (p != end)
- skip_spaces(&p);
+ skip_spaces(&p);
char *q = p;
while (*q != '(' && *q != '\\' && q != end)
@@ -295,8 +293,7 @@ char *parse_tag(ASS_Renderer *render_priv, char *p, char *end, double pwr)
if (*q == '(') {
++q;
while (1) {
- if (q != end)
- skip_spaces(&q);
+ skip_spaces(&q);
// Split on commas. If there is a backslash, ignore any
// commas following it and lump everything starting from
@@ -318,7 +315,7 @@ char *parse_tag(ASS_Renderer *render_priv, char *p, char *end, double pwr)
push_arg(args, &nargs, q, r);
q = r;
// The closing parenthesis could be missing.
- if (q != end)
+ if (*q == ')')
++q;
break;
}
diff --git a/libass/ass_render.c b/libass/ass_render.c
index d0f827d..d57bdac 100644
--- a/libass/ass_render.c
+++ b/libass/ass_render.c
@@ -784,9 +784,6 @@ static ASS_Style *handle_selective_style_overrides(ASS_Renderer *render_priv,
if (requested & ASS_OVERRIDE_BIT_ALIGNMENT)
new->Alignment = user->Alignment;
- if (requested & ASS_OVERRIDE_BIT_JUSTIFY)
- new->Justify = user->Justify;
-
if (requested & ASS_OVERRIDE_BIT_MARGINS) {
new->MarginL = user->MarginL;
new->MarginR = user->MarginR;
@@ -889,7 +886,6 @@ init_render_context(ASS_Renderer *render_priv, ASS_Event *event)
render_priv->state.wrap_style = render_priv->track->WrapStyle;
render_priv->state.alignment = render_priv->state.style->Alignment;
- render_priv->state.justify = render_priv->state.style->Justify;
render_priv->state.pos_x = 0;
render_priv->state.pos_y = 0;
render_priv->state.org_x = 0;
@@ -2075,49 +2071,19 @@ static void align_lines(ASS_Renderer *render_priv, double max_text_width)
double width = 0;
int last_break = -1;
int halign = render_priv->state.alignment & 3;
- int justify = render_priv->state.justify;
- double max_width = 0;
if (render_priv->state.evt_type == EVENT_HSCROLL)
return;
for (i = 0; i <= text_info->length; ++i) { // (text_info->length + 1) is the end of the last line
if ((i == text_info->length) || glyphs[i].linebreak) {
- max_width = FFMAX(max_width,width);
- width = 0;
- }
- if (i < text_info->length && !glyphs[i].skip &&
- glyphs[i].symbol != '\n' && glyphs[i].symbol != 0) {
- width += d6_to_double(glyphs[i].cluster_advance.x);
- }
- }
- for (i = 0; i <= text_info->length; ++i) { // (text_info->length + 1) is the end of the last line
- if ((i == text_info->length) || glyphs[i].linebreak) {
double shift = 0;
if (halign == HALIGN_LEFT) { // left aligned, no action
- if (justify == ASS_JUSTIFY_RIGHT) {
- shift = max_width - width;
- } else if (justify == ASS_JUSTIFY_CENTER) {
- shift = (max_width - width) / 2.0;
- } else {
- shift = 0;
- }
+ shift = 0;
} else if (halign == HALIGN_RIGHT) { // right aligned
- if (justify == ASS_JUSTIFY_LEFT) {
- shift = max_text_width - max_width;
- } else if (justify == ASS_JUSTIFY_CENTER) {
- shift = max_text_width - max_width + (max_width - width) / 2.0;
- } else {
- shift = max_text_width - width;
- }
+ shift = max_text_width - width;
} else if (halign == HALIGN_CENTER) { // centered
- if (justify == ASS_JUSTIFY_LEFT) {
- shift = (max_text_width - max_width) / 2.0;
- } else if (justify == ASS_JUSTIFY_RIGHT) {
- shift = (max_text_width - max_width) / 2.0 + max_width - width;
- } else {
- shift = (max_text_width - width) / 2.0;
- }
+ shift = (max_text_width - width) / 2.0;
}
for (j = last_break + 1; j < i; ++j) {
GlyphInfo *info = glyphs + j;
diff --git a/libass/ass_render.h b/libass/ass_render.h
index d009128..6e3963e 100644
--- a/libass/ass_render.h
+++ b/libass/ass_render.h
@@ -42,10 +42,8 @@
#include "ass_rasterizer.h"
#define GLYPH_CACHE_MAX 10000
-#define MEGABYTE (1024 * 1024)
-#define BITMAP_CACHE_MAX_SIZE (128 * MEGABYTE)
-#define COMPOSITE_CACHE_RATIO 2
-#define COMPOSITE_CACHE_MAX_SIZE (BITMAP_CACHE_MAX_SIZE / COMPOSITE_CACHE_RATIO)
+#define BITMAP_CACHE_MAX_SIZE 128 * 1048576
+#define COMPOSITE_CACHE_MAX_SIZE 64 * 1048576
#define PARSED_FADE (1<<0)
#define PARSED_A (1<<1)
@@ -222,7 +220,6 @@ typedef struct {
FT_Stroker stroker;
int stroker_radius; // last stroker radius, for caching stroker objects
int alignment; // alignment overrides go here; if zero, style value will be used
- int justify; // justify instructions
double frx, fry, frz;
double fax, fay; // text shearing
enum {
diff --git a/libass/ass_render_api.c b/libass/ass_render_api.c
index d4b55de..c59c204 100644
--- a/libass/ass_render_api.c
+++ b/libass/ass_render_api.c
@@ -180,18 +180,8 @@ void ass_set_cache_limits(ASS_Renderer *render_priv, int glyph_max,
int bitmap_max)
{
render_priv->cache.glyph_max = glyph_max ? glyph_max : GLYPH_CACHE_MAX;
-
- size_t bitmap_cache, composite_cache;
- if (bitmap_max) {
- bitmap_cache = MEGABYTE * (size_t) bitmap_max;
- composite_cache = bitmap_cache / (COMPOSITE_CACHE_RATIO + 1);
- bitmap_cache -= composite_cache;
- } else {
- bitmap_cache = BITMAP_CACHE_MAX_SIZE;
- composite_cache = COMPOSITE_CACHE_MAX_SIZE;
- }
- render_priv->cache.bitmap_max_size = bitmap_cache;
- render_priv->cache.composite_max_size = composite_cache;
+ render_priv->cache.bitmap_max_size = bitmap_max ? 1048576 * bitmap_max :
+ BITMAP_CACHE_MAX_SIZE;
}
ASS_FontProvider *
diff --git a/libass/ass_strtod.c b/libass/ass_strtod.c
index 3b9ec3f..856815c 100644
--- a/libass/ass_strtod.c
+++ b/libass/ass_strtod.c
@@ -1,7 +1,6 @@
/*
* Copyright (c) 1988-1993 The Regents of the University of California.
* Copyright (c) 1994 Sun Microsystems, Inc.
- * Copyright (c) 2016 Oleg Oshmyan <chortos at inbox.lv>
*
* Permission to use, copy, modify, and distribute this
* software and its documentation for any purpose and without
@@ -17,12 +16,11 @@
#include "ass_compat.h"
#include <stdlib.h>
-#include <float.h>
#include <errno.h>
#include "ass_string.h"
static
-const size_t maxExponent = 511; /* Largest possible base 10 exponent. Any
+const int maxExponent = 511; /* Largest possible base 10 exponent. Any
* exponent larger than this will already
* produce underflow or overflow, so there's
* no need to worry about additional digits.
@@ -41,19 +39,6 @@ const double powersOf10[] = { /* Table giving binary powers of 10. Entry */
1.0e256
};
-static
-const double negPowOf10[] = { /* Table giving negative binary powers */
- 0.1, /* of 10. Entry is 10^-2^i. */
- 0.01, /* Used to convert decimal exponents */
- 1.0e-4, /* into floating-point numbers. */
- 1.0e-8,
- 1.0e-16,
- 1.0e-32,
- 1.0e-64,
- 1.0e-128,
- 1.0e-256
-};
-
/*
*----------------------------------------------------------------------
*
@@ -93,13 +78,12 @@ ass_strtod(
* address here. */
)
{
- int sign, fracExpSign, expSign;
- double fraction, dblExp;
- const double *d;
+ int sign, expSign = 0;
+ double fraction, dblExp, *d;
register const char *p;
register int c;
- size_t exp = 0; /* Exponent read from "EX" field. */
- size_t fracExp; /* Exponent that derives from the fractional
+ int exp = 0; /* Exponent read from "EX" field. */
+ int fracExp = 0; /* Exponent that derives from the fractional
* part. Under normal circumstatnces, it is
* the negative of the number of digits in F.
* However, if I is very long, the last digits
@@ -108,10 +92,9 @@ ass_strtod(
* unnecessary overflow on I alone). In this
* case, fracExp is incremented one for each
* dropped digit. */
- size_t mantSize; /* Number of digits in mantissa. */
- size_t decPt; /* Number of mantissa digits BEFORE decimal
+ int mantSize; /* Number of digits in mantissa. */
+ int decPt; /* Number of mantissa digits BEFORE decimal
* point. */
- size_t leadZeros; /* Number of leading zeros in mantissa. */
const char *pExp; /* Temporarily holds location of exponent
* in string. */
@@ -139,17 +122,14 @@ ass_strtod(
*/
decPt = -1;
- leadZeros = -1;
for (mantSize = 0; ; mantSize += 1)
{
c = *p;
if (!ass_isdigit(c)) {
- if ((c != '.') || (decPt != (size_t) -1)) {
+ if ((c != '.') || (decPt >= 0)) {
break;
}
decPt = mantSize;
- } else if ((c != '0') && (leadZeros == (size_t) -1)) {
- leadZeros = mantSize;
}
p += 1;
}
@@ -161,27 +141,17 @@ ass_strtod(
* they can't affect the value anyway.
*/
- if (leadZeros == (size_t) -1) {
- leadZeros = mantSize;
- }
pExp = p;
- p -= mantSize - leadZeros;
- if (decPt == (size_t) -1) {
+ p -= mantSize;
+ if (decPt < 0) {
decPt = mantSize;
} else {
mantSize -= 1; /* One of the digits was the point. */
- if (decPt < leadZeros) {
- leadZeros -= 1;
- }
- }
- if (mantSize - leadZeros > 18) {
- mantSize = leadZeros + 18;
}
- if (decPt < mantSize) {
- fracExpSign = 1;
- fracExp = mantSize - decPt;
+ if (mantSize > 18) {
+ fracExp = decPt - 18;
+ mantSize = 18;
} else {
- fracExpSign = 0;
fracExp = decPt - mantSize;
}
if (mantSize == 0) {
@@ -189,11 +159,9 @@ ass_strtod(
p = string;
goto done;
} else {
- int frac1, frac2, m;
- mantSize -= leadZeros;
- m = mantSize;
+ int frac1, frac2;
frac1 = 0;
- for ( ; m > 9; m -= 1)
+ for ( ; mantSize > 9; mantSize -= 1)
{
c = *p;
p += 1;
@@ -204,7 +172,7 @@ ass_strtod(
frac1 = 10*frac1 + (c - '0');
}
frac2 = 0;
- for (; m > 0; m -= 1)
+ for (; mantSize > 0; mantSize -= 1)
{
c = *p;
p += 1;
@@ -223,14 +191,6 @@ ass_strtod(
p = pExp;
if ((*p == 'E') || (*p == 'e')) {
- size_t expLimit; /* If exp > expLimit, appending another digit
- * to exp is guaranteed to make it too large.
- * If exp == expLimit, this may depend on
- * the exact digit, but in any case exp with
- * the digit appended and fracExp added will
- * still fit in size_t, even if it does
- * exceed maxExponent. */
- int expWraparound = 0;
p += 1;
if (*p == '-') {
expSign = 1;
@@ -241,38 +201,15 @@ ass_strtod(
}
expSign = 0;
}
- if (expSign == fracExpSign) {
- if (maxExponent < fracExp) {
- expLimit = 0;
- } else {
- expLimit = (maxExponent - fracExp) / 10;
- }
- } else {
- expLimit = fracExp / 10 + (fracExp % 10 + maxExponent) / 10;
- }
while (ass_isdigit(*p)) {
- if ((exp > expLimit) || expWraparound) {
- do {
- p += 1;
- } while (ass_isdigit(*p));
- goto expOverflow;
- } else if (exp > ((size_t) -1 - (*p - '0')) / 10) {
- expWraparound = 1;
- }
exp = exp * 10 + (*p - '0');
p += 1;
}
- if (expSign == fracExpSign) {
- exp = fracExp + exp;
- } else if ((fracExp <= exp) || expWraparound) {
- exp = exp - fracExp;
- } else {
- exp = fracExp - exp;
- expSign = fracExpSign;
- }
+ }
+ if (expSign) {
+ exp = fracExp - exp;
} else {
- exp = fracExp;
- expSign = fracExpSign;
+ exp = fracExp + exp;
}
/*
@@ -282,39 +219,18 @@ ass_strtod(
* fraction.
*/
- if (exp > maxExponent) {
-expOverflow:
- exp = maxExponent;
- if (fraction != 0.0) {
- errno = ERANGE;
- }
- }
- /* Prefer positive powers of 10 for increased precision, especially
- * for small powers that are represented exactly in floating-point. */
- if ((exp <= DBL_MAX_10_EXP) || !expSign) {
- d = powersOf10;
+ if (exp < 0) {
+ expSign = 1;
+ exp = -exp;
} else {
- /* The floating-point format supports more negative exponents
- * than positive, or perhaps the result is a subnormal number. */
- if (exp > -DBL_MIN_10_EXP) {
- /* The result might be a valid subnormal number, but the
- * exponent underflows. Tweak fraction so that it is below
- * 1.0 first, so that if the exponent still underflows after
- * that, the result is sure to underflow as well. */
- exp -= mantSize;
- dblExp = 1.0;
- for (d = powersOf10; mantSize != 0; mantSize >>= 1, d += 1) {
- if (mantSize & 01) {
- dblExp *= *d;
- }
- }
- fraction /= dblExp;
- }
- d = negPowOf10;
expSign = 0;
}
+ if (exp > maxExponent) {
+ exp = maxExponent;
+ errno = ERANGE;
+ }
dblExp = 1.0;
- for (; exp != 0; exp >>= 1, d += 1) {
+ for (d = (double *) powersOf10; exp != 0; exp >>= 1, d += 1) {
if (exp & 01) {
dblExp *= *d;
}
diff --git a/libass/ass_types.h b/libass/ass_types.h
index 88951a7..f4a6ae5 100644
--- a/libass/ass_types.h
+++ b/libass/ass_types.h
@@ -28,10 +28,6 @@
#define HALIGN_LEFT 1
#define HALIGN_CENTER 2
#define HALIGN_RIGHT 3
-#define ASS_JUSTIFY_AUTO 0
-#define ASS_JUSTIFY_LEFT 1
-#define ASS_JUSTIFY_CENTER 2
-#define ASS_JUSTIFY_RIGHT 3
#define FONT_WEIGHT_LIGHT 300
#define FONT_WEIGHT_MEDIUM 400
@@ -77,7 +73,6 @@ typedef struct ass_style {
int Encoding;
int treat_fontname_as_pattern;
double Blur;
- int Justify;
} ASS_Style;
diff --git a/ltmain.sh b/ltmain.sh
index 0f0a2da..147d758 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -31,7 +31,7 @@
PROGRAM=libtool
PACKAGE=libtool
-VERSION=2.4.6
+VERSION="2.4.6 Debian-2.4.6-0.1"
package_revision=2.4.6
@@ -2073,7 +2073,7 @@ include the following information:
autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
Report bugs to <bug-libtool at gnu.org>.
-GNU libtool home page: <http://www.gnu.org/software/libtool/>.
+GNU libtool home page: <http://www.gnu.org/s/libtool/>.
General help using GNU software: <http://www.gnu.org/gethelp/>."
exit 0
}
@@ -7272,10 +7272,13 @@ func_mode_link ()
# -tp=* Portland pgcc target processor selection
# --sysroot=* for sysroot support
# -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+ # -specs=* GCC specs files
# -stdlib=* select c++ std lib with clang
+ # -fsanitize=* Clang/GCC memory and address sanitizer
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
- -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*)
+ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
+ -specs=*|-fsanitize=*)
func_quote_for_eval "$arg"
arg=$func_quote_for_eval_result
func_append compile_command " $arg"
@@ -7568,7 +7571,10 @@ func_mode_link ()
case $pass in
dlopen) libs=$dlfiles ;;
dlpreopen) libs=$dlprefiles ;;
- link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
+ link)
+ libs="$deplibs %DEPLIBS%"
+ test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+ ;;
esac
fi
if test lib,dlpreopen = "$linkmode,$pass"; then
@@ -7887,19 +7893,19 @@ func_mode_link ()
# It is a libtool convenience library, so add in its objects.
func_append convenience " $ladir/$objdir/$old_library"
func_append old_convenience " $ladir/$objdir/$old_library"
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ deplibs="$deplib $deplibs"
+ if $opt_preserve_dup_deps; then
+ case "$tmp_libs " in
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+ func_append tmp_libs " $deplib"
+ done
elif test prog != "$linkmode" && test lib != "$linkmode"; then
func_fatal_error "'$lib' is not a convenience library"
fi
- tmp_libs=
- for deplib in $dependency_libs; do
- deplibs="$deplib $deplibs"
- if $opt_preserve_dup_deps; then
- case "$tmp_libs " in
- *" $deplib "*) func_append specialdeplibs " $deplib" ;;
- esac
- fi
- func_append tmp_libs " $deplib"
- done
continue
fi # $pass = conv
@@ -8823,6 +8829,9 @@ func_mode_link ()
revision=$number_minor
lt_irix_increment=no
;;
+ *)
+ func_fatal_configuration "$modename: unknown library version type '$version_type'"
+ ;;
esac
;;
no)
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index a3bc337..10ab284 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -2887,6 +2887,18 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
dynamic_linker='GNU/Linux ld.so'
;;
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
netbsd*)
version_type=sunos
need_lib_prefix=no
@@ -3546,7 +3558,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
lt_cv_deplibs_check_method=pass_all
;;
-netbsd*)
+netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
else
@@ -4424,7 +4436,7 @@ m4_if([$1], [CXX], [
;;
esac
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
;;
*qnx* | *nto*)
# QNX uses GNU C++, but need to define -shared option too, otherwise
@@ -4936,6 +4948,9 @@ m4_if([$1], [CXX], [
;;
esac
;;
+ linux* | k*bsd*-gnu | gnu*)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
*)
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
;;
@@ -4998,6 +5013,9 @@ dnl Note also adjust exclude_expsyms for C++ above.
openbsd* | bitrig*)
with_gnu_ld=no
;;
+ linux* | k*bsd*-gnu | gnu*)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
esac
_LT_TAGVAR(ld_shlibs, $1)=yes
@@ -5252,7 +5270,7 @@ _LT_EOF
fi
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
@@ -5773,6 +5791,7 @@ _LT_EOF
if test yes = "$lt_cv_irix_exported_symbol"; then
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
fi
+ _LT_TAGVAR(link_all_deplibs, $1)=no
else
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
@@ -5794,7 +5813,7 @@ _LT_EOF
esac
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
diff --git a/profile/Makefile.in b/profile/Makefile.in
index e700bac..94b30f7 100644
--- a/profile/Makefile.in
+++ b/profile/Makefile.in
@@ -304,6 +304,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
diff --git a/test/Makefile.in b/test/Makefile.in
index 35f0789..c097dca 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -304,6 +304,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
--
LibASS packaging
More information about the pkg-multimedia-commits
mailing list