diff -Nru dirac-0.9.1/acinclude.m4 dirac-1.0.2/acinclude.m4 --- dirac-0.9.1/acinclude.m4 2005-02-15 11:13:09.000000000 +0000 +++ dirac-1.0.2/acinclude.m4 1970-01-01 01:00:00.000000000 +0100 @@ -1,16 +0,0 @@ -dnl -dnl $Id: acinclude.m4,v 1.1 2005/02/15 11:13:09 asuraparaju Exp $ $Name: Dirac_0_9_1 $ -dnl -AC_DEFUN([AC_TRY_CXXFLAGS], - [AC_MSG_CHECKING([if $CXX supports $3 flags]) - SAVE_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$3" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[$1]], [[$2]])],[ac_cv_try_cxxflags_ok=yes], [ac_cv_try_cxxflags_ok=no]) - CXXFLAGS="$SAVE_CXXFLAGS" - AC_MSG_RESULT([$ac_cv_try_cxxflags_ok]) - if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then - ifelse([$4],[],[:],[$4]) - else - ifelse([$5],[],[:],[$5]) - fi]) - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/aclocal.m4 /tmp/1tgnNoYBLI/dirac-1.0.2/aclocal.m4 --- dirac-0.9.1/aclocal.m4 2008-01-26 12:30:33.000000000 +0000 +++ dirac-1.0.2/aclocal.m4 2009-02-11 01:43:34.000000000 +0000 @@ -1,7 +1,7 @@ -# generated automatically by aclocal 1.9.6 -*- Autoconf -*- +# generated automatically by aclocal 1.10.1 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005 Free Software Foundation, Inc. +# 2005, 2006, 2007, 2008 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. @@ -11,103 +11,196 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +m4_if(AC_AUTOCONF_VERSION, [2.63],, +[m4_warning([this file was generated for autoconf 2.63. +You have another version of autoconf. It may work, but is not guaranteed to. +If you have problems, you may need to regenerate the build system entirely. +To do so, use the procedure documented by the package, typically `autoreconf'.])]) + # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +# 2006, 2007, 2008 Free Software Foundation, Inc. +# Written by Gordon Matzigkeit, 1996 +# +# 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. + +m4_define([_LT_COPYING], [dnl +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +# 2006, 2007, 2008 Free Software Foundation, Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is part of GNU Libtool. +# +# GNU Libtool 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 of +# the License, or (at your option) any later version. +# +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, or +# obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +]) -# serial 48 AC_PROG_LIBTOOL +# serial 56 LT_INIT -# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) -# ----------------------------------------------------------- -# If this macro is not defined by Autoconf, define it here. -m4_ifdef([AC_PROVIDE_IFELSE], - [], - [m4_define([AC_PROVIDE_IFELSE], - [m4_ifdef([AC_PROVIDE_$1], - [$2], [$3])])]) +# LT_PREREQ(VERSION) +# ------------------ +# Complain and exit if this libtool version is less that VERSION. +m4_defun([LT_PREREQ], +[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, + [m4_default([$3], + [m4_fatal([Libtool version $1 or higher is required], + 63)])], + [$2])]) -# AC_PROG_LIBTOOL -# --------------- -AC_DEFUN([AC_PROG_LIBTOOL], -[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl -dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX -dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. - AC_PROVIDE_IFELSE([AC_PROG_CXX], - [AC_LIBTOOL_CXX], - [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX - ])]) -dnl And a similar setup for Fortran 77 support - AC_PROVIDE_IFELSE([AC_PROG_F77], - [AC_LIBTOOL_F77], - [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 -])]) - -dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. -dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run -dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. - AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [ifdef([AC_PROG_GCJ], - [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) - ifdef([A][M_PROG_GCJ], - [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) - ifdef([LT_AC_PROG_GCJ], - [define([LT_AC_PROG_GCJ], - defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) -])])# AC_PROG_LIBTOOL +# _LT_CHECK_BUILDDIR +# ------------------ +# Complain if the absolute build directory name contains unusual characters +m4_defun([_LT_CHECK_BUILDDIR], +[case `pwd` in + *\ * | *\ *) + AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; +esac +]) -# _AC_PROG_LIBTOOL -# ---------------- -AC_DEFUN([_AC_PROG_LIBTOOL], -[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl -AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl -AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl -AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl +# LT_INIT([OPTIONS]) +# ------------------ +AC_DEFUN([LT_INIT], +[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT +AC_BEFORE([$0], [LT_LANG])dnl +AC_BEFORE([$0], [LT_OUTPUT])dnl +AC_BEFORE([$0], [LTDL_INIT])dnl +m4_require([_LT_CHECK_BUILDDIR])dnl + +dnl Autoconf doesn't catch unexpanded LT_ macros by default: +m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl +m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl +dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 +dnl unless we require an AC_DEFUNed macro: +AC_REQUIRE([LTOPTIONS_VERSION])dnl +AC_REQUIRE([LTSUGAR_VERSION])dnl +AC_REQUIRE([LTVERSION_VERSION])dnl +AC_REQUIRE([LTOBSOLETE_VERSION])dnl +m4_require([_LT_PROG_LTMAIN])dnl + +dnl Parse OPTIONS +_LT_SET_OPTIONS([$0], [$1]) # This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" +LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' AC_SUBST(LIBTOOL)dnl -# Prevent multiple expansion -define([AC_PROG_LIBTOOL], []) -])# _AC_PROG_LIBTOOL +_LT_SETUP +# Only expand once: +m4_define([LT_INIT]) +])# LT_INIT + +# Old names: +AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) +AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_PROG_LIBTOOL], []) +dnl AC_DEFUN([AM_PROG_LIBTOOL], []) -# AC_LIBTOOL_SETUP -# ---------------- -AC_DEFUN([AC_LIBTOOL_SETUP], -[AC_PREREQ(2.50)dnl -AC_REQUIRE([AC_ENABLE_SHARED])dnl -AC_REQUIRE([AC_ENABLE_STATIC])dnl -AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl + +# _LT_CC_BASENAME(CC) +# ------------------- +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +m4_defun([_LT_CC_BASENAME], +[for cc_temp in $1""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +]) + + +# _LT_FILEUTILS_DEFAULTS +# ---------------------- +# It is okay to use these file commands and assume they have been set +# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. +m4_defun([_LT_FILEUTILS_DEFAULTS], +[: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} +])# _LT_FILEUTILS_DEFAULTS + + +# _LT_SETUP +# --------- +m4_defun([_LT_SETUP], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl +_LT_DECL([], [host_alias], [0], [The host system])dnl +_LT_DECL([], [host], [0])dnl +_LT_DECL([], [host_os], [0])dnl +dnl +_LT_DECL([], [build_alias], [0], [The build system])dnl +_LT_DECL([], [build], [0])dnl +_LT_DECL([], [build_os], [0])dnl +dnl AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_PROG_LD])dnl -AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl -AC_REQUIRE([AC_PROG_NM])dnl - +AC_REQUIRE([LT_PATH_LD])dnl +AC_REQUIRE([LT_PATH_NM])dnl +dnl AC_REQUIRE([AC_PROG_LN_S])dnl -AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl -# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! -AC_REQUIRE([AC_OBJEXT])dnl -AC_REQUIRE([AC_EXEEXT])dnl +test -z "$LN_S" && LN_S="ln -s" +_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl +dnl +AC_REQUIRE([LT_CMD_MAX_LEN])dnl +_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl +_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_CHECK_SHELL_FEATURES])dnl +m4_require([_LT_CMD_RELOAD])dnl +m4_require([_LT_CHECK_MAGIC_METHOD])dnl +m4_require([_LT_CMD_OLD_ARCHIVE])dnl +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl + +_LT_CONFIG_LIBTOOL_INIT([ +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi +]) +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi -AC_LIBTOOL_SYS_MAX_CMD_LEN -AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE -AC_LIBTOOL_OBJDIR +_LT_CHECK_OBJDIR -AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl -_LT_AC_PROG_ECHO_BACKSLASH +m4_require([_LT_TAG_COMPILER])dnl +_LT_PROG_ECHO_BACKSLASH case $host_os in aix3*) @@ -123,1208 +216,2027 @@ # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. -Xsed='sed -e 1s/^X//' -[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] +sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' # Same as above, but do not quote variable references. -[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] +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' -# Constants: -rm="rm -f" - # Global variables: -default_ofile=libtool +ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a -ltmain="$ac_aux_dir/ltmain.sh" -ofile="$default_ofile" -with_gnu_ld="$lt_cv_prog_gnu_ld" -AC_CHECK_TOOL(AR, ar, false) -AC_CHECK_TOOL(RANLIB, ranlib, :) -AC_CHECK_TOOL(STRIP, strip, :) +with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -test -z "$AS" && AS=as test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$DLLTOOL" && DLLTOOL=dlltool test -z "$LD" && LD=ld -test -z "$LN_S" && LN_S="ln -s" -test -z "$MAGIC_CMD" && MAGIC_CMD=file -test -z "$NM" && NM=nm -test -z "$SED" && SED=sed -test -z "$OBJDUMP" && OBJDUMP=objdump -test -z "$RANLIB" && RANLIB=: -test -z "$STRIP" && STRIP=: test -z "$ac_objext" && ac_objext=o -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi - _LT_CC_BASENAME([$compiler]) # Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then - AC_PATH_MAGIC + _LT_PATH_MAGIC fi ;; esac -AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) -AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], -enable_win32_dll=yes, enable_win32_dll=no) - -AC_ARG_ENABLE([libtool-lock], - [AC_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes +# Use C for the default configuration in the libtool script +LT_SUPPORTED_TAG([CC]) +_LT_LANG_C_CONFIG +_LT_LANG_DEFAULT_CONFIG +_LT_CONFIG_COMMANDS +])# _LT_SETUP -AC_ARG_WITH([pic], - [AC_HELP_STRING([--with-pic], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [pic_mode="$withval"], - [pic_mode=default]) -test -z "$pic_mode" && pic_mode=default -# Use C for the default configuration in the libtool script -tagname= -AC_LIBTOOL_LANG_C_CONFIG -_LT_AC_TAGCONFIG -])# AC_LIBTOOL_SETUP +# _LT_PROG_LTMAIN +# --------------- +# Note that this code is called both from `configure', and `config.status' +# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, +# `config.status' has no value for ac_aux_dir unless we are using Automake, +# so we pass a copy along to make sure it has a sensible value anyway. +m4_defun([_LT_PROG_LTMAIN], +[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl +_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) +ltmain="$ac_aux_dir/ltmain.sh" +])# _LT_PROG_LTMAIN -# _LT_AC_SYS_COMPILER -# ------------------- -AC_DEFUN([_LT_AC_SYS_COMPILER], -[AC_REQUIRE([AC_PROG_CC])dnl -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} +# So that we can recreate a full libtool script including additional +# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS +# in macros and then make a single call at the end using the `libtool' +# label. -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} -# Allow CC to be a program name with arguments. -compiler=$CC -])# _LT_AC_SYS_COMPILER +# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) +# ---------------------------------------- +# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. +m4_define([_LT_CONFIG_LIBTOOL_INIT], +[m4_ifval([$1], + [m4_append([_LT_OUTPUT_LIBTOOL_INIT], + [$1 +])])]) +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_INIT]) -# _LT_CC_BASENAME(CC) -# ------------------- -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -AC_DEFUN([_LT_CC_BASENAME], -[for cc_temp in $1""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + +# _LT_CONFIG_LIBTOOL([COMMANDS]) +# ------------------------------ +# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. +m4_define([_LT_CONFIG_LIBTOOL], +[m4_ifval([$1], + [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], + [$1 +])])]) + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) + + +# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) +# ----------------------------------------------------- +m4_defun([_LT_CONFIG_SAVE_COMMANDS], +[_LT_CONFIG_LIBTOOL([$1]) +_LT_CONFIG_LIBTOOL_INIT([$2]) ]) -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -AC_DEFUN([_LT_COMPILER_BOILERPLATE], -[ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* -])# _LT_COMPILER_BOILERPLATE +# _LT_FORMAT_COMMENT([COMMENT]) +# ----------------------------- +# Add leading comment marks to the start of each line, and a trailing +# full-stop to the whole comment if one is not present already. +m4_define([_LT_FORMAT_COMMENT], +[m4_ifval([$1], [ +m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], + [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) +)]) -# _LT_LINKER_BOILERPLATE -# ---------------------- -# Check for linker boilerplate output or warnings with -# the simple link test code. -AC_DEFUN([_LT_LINKER_BOILERPLATE], -[ac_outfile=conftest.$ac_objext -printf "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* -])# _LT_LINKER_BOILERPLATE -# _LT_AC_SYS_LIBPATH_AIX -# ---------------------- -# Links a minimal program and checks the executable -# for the system default hardcoded library path. In most cases, -# this is /usr/lib:/lib, but when the MPI compilers are used -# the location of the communication and MPI libs are included too. -# If we don't find anything, use the default library path according -# to the aix ld manual. -AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], -[AC_LINK_IFELSE(AC_LANG_PROGRAM,[ -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi],[]) -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi -])# _LT_AC_SYS_LIBPATH_AIX +# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) +# ------------------------------------------------------------------- +# CONFIGNAME is the name given to the value in the libtool script. +# VARNAME is the (base) name used in the configure script. +# VALUE may be 0, 1 or 2 for a computed quote escaped value based on +# VARNAME. Any other value will be used directly. +m4_define([_LT_DECL], +[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], + [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], + [m4_ifval([$1], [$1], [$2])]) + lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) + m4_ifval([$4], + [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) + lt_dict_add_subkey([lt_decl_dict], [$2], + [tagged?], [m4_ifval([$5], [yes], [no])])]) +]) -# _LT_AC_SHELL_INIT(ARG) -# ---------------------- -AC_DEFUN([_LT_AC_SHELL_INIT], -[ifdef([AC_DIVERSION_NOTICE], - [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], - [AC_DIVERT_PUSH(NOTICE)]) -$1 -AC_DIVERT_POP -])# _LT_AC_SHELL_INIT +# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) +# -------------------------------------------------------- +m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) + + +# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) +# ------------------------------------------------ +m4_define([lt_decl_tag_varnames], +[_lt_decl_filter([tagged?], [yes], $@)]) + + +# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) +# --------------------------------------------------------- +m4_define([_lt_decl_filter], +[m4_case([$#], + [0], [m4_fatal([$0: too few arguments: $#])], + [1], [m4_fatal([$0: too few arguments: $#: $1])], + [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], + [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], + [lt_dict_filter([lt_decl_dict], $@)])[]dnl +]) -# _LT_AC_PROG_ECHO_BACKSLASH -# -------------------------- -# Add some code to the start of the generated configure script which -# will find an echo command which doesn't interpret backslashes. -AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], -[_LT_AC_SHELL_INIT([ -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} -case X$ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` - ;; -esac +# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) +# -------------------------------------------------- +m4_define([lt_decl_quote_varnames], +[_lt_decl_filter([value], [1], $@)]) + + +# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) +# --------------------------------------------------- +m4_define([lt_decl_dquote_varnames], +[_lt_decl_filter([value], [2], $@)]) + + +# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) +# --------------------------------------------------- +m4_define([lt_decl_varnames_tagged], +[m4_assert([$# <= 2])dnl +_$0(m4_quote(m4_default([$1], [[, ]])), + m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), + m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) +m4_define([_lt_decl_varnames_tagged], +[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) + + +# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) +# ------------------------------------------------ +m4_define([lt_decl_all_varnames], +[_$0(m4_quote(m4_default([$1], [[, ]])), + m4_if([$2], [], + m4_quote(lt_decl_varnames), + m4_quote(m4_shift($@))))[]dnl +]) +m4_define([_lt_decl_all_varnames], +[lt_join($@, lt_decl_varnames_tagged([$1], + lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl +]) -echo=${ECHO-echo} -if test "X[$]1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X[$]1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then - # Yippee, $echo works! - : -else - # Restart under the correct shell. - exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} -fi -if test "X[$]1" = X--fallback-echo; then - # used as fallback echo - shift - cat </dev/null 2>&1 && unset CDPATH -if test -z "$ECHO"; then -if test "X${echo_test_string+set}" != Xset; then -# find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if (echo_test_string=`eval $cmd`) 2>/dev/null && - echo_test_string=`eval $cmd` && - (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null - then - break - fi - done -fi +# _LT_CONFIG_STATUS_DECLARATIONS +# ------------------------------ +# We delimit libtool config variables with single quotes, so when +# we write them to config.status, we have to be sure to quote all +# embedded single quotes properly. In configure, this macro expands +# each variable declared with _LT_DECL (and _LT_TAGDECL) into: +# +# ='`$ECHO "X$" | $Xsed -e "$delay_single_quote_subst"`' +m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], +[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), + [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) -if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : -else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" +# _LT_LIBTOOL_TAGS +# ---------------- +# Output comment and list of tags supported by the script +m4_defun([_LT_LIBTOOL_TAGS], +[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl +available_tags="_LT_TAGS"dnl +]) - if test "X$echo" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - echo='print -r' - elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} - else - # Try using printf. - echo='printf %s\n' - if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - echo="$CONFIG_SHELL [$]0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$CONFIG_SHELL [$]0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do - if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null - then - break - fi - prev="$cmd" - done +# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) +# ----------------------------------- +# Extract the dictionary values for VARNAME (optionally with TAG) and +# expand to a commented shell variable setting: +# +# # Some comment about what VAR is for. +# visible_name=$lt_internal_name +m4_define([_LT_LIBTOOL_DECLARE], +[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], + [description])))[]dnl +m4_pushdef([_libtool_name], + m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl +m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), + [0], [_libtool_name=[$]$1], + [1], [_libtool_name=$lt_[]$1], + [2], [_libtool_name=$lt_[]$1], + [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl +m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl +]) - if test "$prev" != 'sed 50q "[$]0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} - else - # Oops. We lost completely, so just stick with echo. - echo=echo - fi - fi - fi - fi -fi -fi -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -ECHO=$echo -if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then - ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" -fi +# _LT_LIBTOOL_CONFIG_VARS +# ----------------------- +# Produce commented declarations of non-tagged libtool config variables +# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' +# script. Tagged libtool config variables (even for the LIBTOOL CONFIG +# section) are produced by _LT_LIBTOOL_TAG_VARS. +m4_defun([_LT_LIBTOOL_CONFIG_VARS], +[m4_foreach([_lt_var], + m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) -AC_SUBST(ECHO) -])])# _LT_AC_PROG_ECHO_BACKSLASH +# _LT_LIBTOOL_TAG_VARS(TAG) +# ------------------------- +m4_define([_LT_LIBTOOL_TAG_VARS], +[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) -# _LT_AC_LOCK -# ----------- -AC_DEFUN([_LT_AC_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AC_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line __oline__ "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" +# _LT_TAGVAR(VARNAME, [TAGNAME]) +# ------------------------------ +m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) + + +# _LT_CONFIG_COMMANDS +# ------------------- +# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of +# variables for single and double quote escaping we saved from calls +# to _LT_DECL, we can put quote escaped variables declarations +# into `config.status', and then the shell code to quote escape them in +# for loops in `config.status'. Finally, any additional code accumulated +# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. +m4_defun([_LT_CONFIG_COMMANDS], +[AC_PROVIDE_IFELSE([LT_OUTPUT], + dnl If the libtool generation code has been placed in $CONFIG_LT, + dnl instead of duplicating it all over again into config.status, + dnl then we will have config.status run $CONFIG_LT later, so it + dnl needs to know what name is stored there: + [AC_CONFIG_COMMANDS([libtool], + [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], + dnl If the libtool generation code is destined for config.status, + dnl expand the accumulated commands and init code now: + [AC_CONFIG_COMMANDS([libtool], + [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) +])#_LT_CONFIG_COMMANDS + + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], +[ + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +_LT_CONFIG_STATUS_DECLARATIONS +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# Quote evaled strings. +for var in lt_decl_all_varnames([[ \ +]], lt_decl_quote_varnames); do + case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" +done + +# Double-quote double-evaled strings. +for var in lt_decl_all_varnames([[ \ +]], lt_decl_dquote_varnames); do + case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; - *64-bit*) - LD="${LD-ld} -64" + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_PUSH(C) - AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -sparc*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; - *) LD="${LD-ld} -64" ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; +done -AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], -[*-*-cygwin* | *-*-mingw* | *-*-pw32*) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) +# Fix-up fallback echo if it was mangled by the above quoting rules. +case \$lt_ECHO in +*'\\\[$]0 --fallback-echo"')dnl " + lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\` ;; - ]) esac -need_locks="$enable_libtool_lock" +_LT_OUTPUT_LIBTOOL_INIT +]) -])# _LT_AC_LOCK +# LT_OUTPUT +# --------- +# This macro allows early generation of the libtool script (before +# AC_OUTPUT is called), incase it is used in configure for compilation +# tests. +AC_DEFUN([LT_OUTPUT], +[: ${CONFIG_LT=./config.lt} +AC_MSG_NOTICE([creating $CONFIG_LT]) +cat >"$CONFIG_LT" <<_LTEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate a libtool stub with the current configuration. + +lt_cl_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_LTEOF + +cat >>"$CONFIG_LT" <<\_LTEOF +AS_SHELL_SANITIZE +_AS_PREPARE -# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], -[AC_REQUIRE([LT_AC_PROG_SED]) -AC_CACHE_CHECK([$1], [$2], - [$2=no - ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $rm conftest* -]) +exec AS_MESSAGE_FD>&1 +exec AS_MESSAGE_LOG_FD>>config.log +{ + echo + AS_BOX([Running $as_me.]) +} >&AS_MESSAGE_LOG_FD + +lt_cl_help="\ +\`$as_me' creates a local libtool stub from the current configuration, +for use in further configure time tests before the real libtool is +generated. + +Usage: $[0] [[OPTIONS]] + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + +Report bugs to ." + +lt_cl_version="\ +m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl +m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) +configured by $[0], generated by m4_PACKAGE_STRING. + +Copyright (C) 2008 Free Software Foundation, Inc. +This config.lt script is free software; the Free Software Foundation +gives unlimited permision to copy, distribute and modify it." -if test x"[$]$2" = xyes; then - ifelse([$5], , :, [$5]) -else - ifelse([$6], , :, [$6]) -fi -])# AC_LIBTOOL_COMPILER_OPTION +while test $[#] != 0 +do + case $[1] in + --version | --v* | -V ) + echo "$lt_cl_version"; exit 0 ;; + --help | --h* | -h ) + echo "$lt_cl_help"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --quiet | --q* | --silent | --s* | -q ) + lt_cl_silent=: ;; + -*) AC_MSG_ERROR([unrecognized option: $[1] +Try \`$[0] --help' for more information.]) ;; -# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ------------------------------------------------------------ -# Check whether the given compiler option works -AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], -[AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $3" - printf "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" -]) + *) AC_MSG_ERROR([unrecognized argument: $[1] +Try \`$[0] --help' for more information.]) ;; + esac + shift +done -if test x"[$]$2" = xyes; then - ifelse([$4], , :, [$4]) -else - ifelse([$5], , :, [$5]) +if $lt_cl_silent; then + exec AS_MESSAGE_FD>/dev/null fi -])# AC_LIBTOOL_LINKER_OPTION +_LTEOF +cat >>"$CONFIG_LT" <<_LTEOF +_LT_OUTPUT_LIBTOOL_COMMANDS_INIT +_LTEOF + +cat >>"$CONFIG_LT" <<\_LTEOF +AC_MSG_NOTICE([creating $ofile]) +_LT_OUTPUT_LIBTOOL_COMMANDS +AS_EXIT(0) +_LTEOF +chmod +x "$CONFIG_LT" + +# configure is writing to config.log, but config.lt does its own redirection, +# appending to config.log, which fails on DOS, as config.log is still kept +# open by configure. Here we exec the FD to /dev/null, effectively closing +# config.log, so it can be properly (re)opened and appended to by config.lt. +if test "$no_create" != yes; then + lt_cl_success=: + test "$silent" = yes && + lt_config_lt_args="$lt_config_lt_args --quiet" + exec AS_MESSAGE_LOG_FD>/dev/null + $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false + exec AS_MESSAGE_LOG_FD>>config.log + $lt_cl_success || AS_EXIT(1) +fi +])# LT_OUTPUT -# AC_LIBTOOL_SYS_MAX_CMD_LEN -# -------------------------- -AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], -[# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring="ABCD" - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; +# _LT_CONFIG(TAG) +# --------------- +# If TAG is the built-in tag, create an initial libtool script with a +# default configuration from the untagged config vars. Otherwise add code +# to config.status for appending the configuration named by TAG from the +# matching tagged config vars. +m4_defun([_LT_CONFIG], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +_LT_CONFIG_SAVE_COMMANDS([ + m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl + m4_if(_LT_TAG, [C], [ + # See if we are running on zsh, and set the options which allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; + cfgfile="${ofile}T" + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" - cygwin* | mingw*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; +# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +_LT_COPYING +_LT_LIBTOOL_TAGS - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; +# ### BEGIN LIBTOOL CONFIG +_LT_LIBTOOL_CONFIG_VARS +_LT_LIBTOOL_TAG_VARS +# ### END LIBTOOL CONFIG - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; +_LT_EOF - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ - = "XX$teststring") >/dev/null 2>&1 && - new_result=`expr "X$teststring" : ".*" 2>&1` && - lt_cv_sys_max_cmd_len=$new_result && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - teststring= - # Add a significant safety factor because C++ compilers can tack on massive - # amounts of additional arguments before passing them to the linker. - # It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF ;; esac -]) -if test -n $lt_cv_sys_max_cmd_len ; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -])# AC_LIBTOOL_SYS_MAX_CMD_LEN + + _LT_PROG_LTMAIN + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + _LT_PROG_XSI_SHELLFNS + + sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +], +[cat <<_LT_EOF >> "$ofile" + +dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded +dnl in a comment (ie after a #). +# ### BEGIN LIBTOOL TAG CONFIG: $1 +_LT_LIBTOOL_TAG_VARS(_LT_TAG) +# ### END LIBTOOL TAG CONFIG: $1 +_LT_EOF +])dnl /m4_if +], +[m4_if([$1], [], [ + PACKAGE='$PACKAGE' + VERSION='$VERSION' + TIMESTAMP='$TIMESTAMP' + RM='$RM' + ofile='$ofile'], []) +])dnl /_LT_CONFIG_SAVE_COMMANDS +])# _LT_CONFIG + + +# LT_SUPPORTED_TAG(TAG) +# --------------------- +# Trace this macro to discover what tags are supported by the libtool +# --tag option, using: +# autoconf --trace 'LT_SUPPORTED_TAG:$1' +AC_DEFUN([LT_SUPPORTED_TAG], []) + + +# C support is built-in for now +m4_define([_LT_LANG_C_enabled], []) +m4_define([_LT_TAGS], []) + + +# LT_LANG(LANG) +# ------------- +# Enable libtool support for the given language if not already enabled. +AC_DEFUN([LT_LANG], +[AC_BEFORE([$0], [LT_OUTPUT])dnl +m4_case([$1], + [C], [_LT_LANG(C)], + [C++], [_LT_LANG(CXX)], + [Java], [_LT_LANG(GCJ)], + [Fortran 77], [_LT_LANG(F77)], + [Fortran], [_LT_LANG(FC)], + [Windows Resource], [_LT_LANG(RC)], + [m4_ifdef([_LT_LANG_]$1[_CONFIG], + [_LT_LANG($1)], + [m4_fatal([$0: unsupported language: "$1"])])])dnl +])# LT_LANG -# _LT_AC_CHECK_DLFCN +# _LT_LANG(LANGNAME) # ------------------ -AC_DEFUN([_LT_AC_CHECK_DLFCN], -[AC_CHECK_HEADERS(dlfcn.h)dnl -])# _LT_AC_CHECK_DLFCN +m4_defun([_LT_LANG], +[m4_ifdef([_LT_LANG_]$1[_enabled], [], + [LT_SUPPORTED_TAG([$1])dnl + m4_append([_LT_TAGS], [$1 ])dnl + m4_define([_LT_LANG_]$1[_enabled], [])dnl + _LT_LANG_$1_CONFIG($1)])dnl +])# _LT_LANG -# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# --------------------------------------------------------------------- -AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], -[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl -if test "$cross_compiling" = yes; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif -#include +# _LT_TAG_COMPILER +# ---------------- +m4_defun([_LT_TAG_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif +_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl +_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl +_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl +_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} -#ifdef __cplusplus -extern "C" void exit (int); -#endif +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_TAG_COMPILER - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - exit (status); -}] -EOF - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_dlunknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_AC_TRY_DLOPEN_SELF +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +m4_defun([_LT_COMPILER_BOILERPLATE], +[m4_require([_LT_DECL_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* +])# _LT_COMPILER_BOILERPLATE -# AC_LIBTOOL_DLOPEN_SELF +# _LT_LINKER_BOILERPLATE # ---------------------- -AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], -[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= +# Check for linker boilerplate output or warnings with +# the simple link test code. +m4_defun([_LT_LINKER_BOILERPLATE], +[m4_require([_LT_DECL_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* +])# _LT_LINKER_BOILERPLATE +# _LT_REQUIRED_DARWIN_CHECKS +# ------------------------- +m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes + rhapsody* | darwin*) + AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) + AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) + AC_CHECK_TOOL([LIPO], [lipo], [:]) + AC_CHECK_TOOL([OTOOL], [otool], [:]) + AC_CHECK_TOOL([OTOOL64], [otool64], [:]) + _LT_DECL([], [DSYMUTIL], [1], + [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) + _LT_DECL([], [NMEDIT], [1], + [Tool to change global to local symbols on Mac OS X]) + _LT_DECL([], [LIPO], [1], + [Tool to manipulate fat objects and archives on Mac OS X]) + _LT_DECL([], [OTOOL], [1], + [ldd/readelf like tool for Mach-O binaries on Mac OS X]) + _LT_DECL([], [OTOOL64], [1], + [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) + + AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], + [lt_cv_apple_cc_single_mod=no + if test -z "${LT_MULTI_MODULE}"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&AS_MESSAGE_LOG_FD + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi]) + AC_CACHE_CHECK([for -exported_symbols_list linker flag], + [lt_cv_ld_exported_symbols_list], + [lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [lt_cv_ld_exported_symbols_list=yes], + [lt_cv_ld_exported_symbols_list=no]) + LDFLAGS="$save_LDFLAGS" ]) - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen="shl_load"], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen="dlopen"], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) - ]) - ]) - ]) - ]) - ]) + case $host_os in + rhapsody* | darwin1.[[012]]) + _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + darwin*) # darwin 5.x on + # if running on 10.5 or later, the deployment target defaults + # to the OS version, if on x86, and 10.4, the deployment + # target defaults to 10.4. Don't you love it? + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + 10.[[012]]*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + 10.*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test "$lt_cv_apple_cc_single_mod" = "yes"; then + _lt_dar_single_mod='$single_module' + fi + if test "$lt_cv_ld_exported_symbols_list" = "yes"; then + _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + if test "$DSYMUTIL" != ":"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi ;; esac +]) - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes + +# _LT_DARWIN_LINKER_FEATURES +# -------------------------- +# Checks for linker and compiler features on darwin +m4_defun([_LT_DARWIN_LINKER_FEATURES], +[ + m4_require([_LT_REQUIRED_DARWIN_CHECKS]) + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_automatic, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" + case $cc_basename in + ifort*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test "$_lt_dar_can_shared" = "yes"; then + output_verbose_link_cmd=echo + _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + m4_if([$1], [CXX], +[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then + _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" + fi +],[]) else - enable_dlopen=no + _LT_TAGVAR(ld_shlibs, $1)=no fi +]) - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" +# _LT_SYS_MODULE_PATH_AIX +# ----------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +m4_defun([_LT_SYS_MODULE_PATH_AIX], +[m4_require([_LT_DECL_SED])dnl +AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +])# _LT_SYS_MODULE_PATH_AIX - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_AC_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) +# _LT_SHELL_INIT(ARG) +# ------------------- +m4_define([_LT_SHELL_INIT], +[ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +])# _LT_SHELL_INIT - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_AC_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac +# _LT_PROG_ECHO_BACKSLASH +# ----------------------- +# Add some code to the start of the generated configure script which +# will find an echo command which doesn't interpret backslashes. +m4_defun([_LT_PROG_ECHO_BACKSLASH], +[_LT_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac +case X$lt_ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac +ECHO=${lt_ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then + # Yippee, $ECHO works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} fi -])# AC_LIBTOOL_DLOPEN_SELF - -# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) -# --------------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler -AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], -[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - printf "$lt_simple_compile_test_code" > conftest.$ac_ext +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat <<_LT_EOF +[$]* +_LT_EOF + exit 0 +fi - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - chmod u+w . 2>&AS_MESSAGE_LOG_FD - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* -]) -])# AC_LIBTOOL_PROG_CC_C_O +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH +if test -z "$lt_ECHO"; then + if test "X${echo_test_string+set}" != Xset; then + # find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if { echo_test_string=`eval $cmd`; } 2>/dev/null && + { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null + then + break + fi + done + fi -# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) -# ----------------------------------------- -# Check to see if we can do hard links to lock some files if needed -AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], -[AC_REQUIRE([_LT_AC_LOCK])dnl + if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && + echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : + else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. -hard_links="nottested" -if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test "$hard_links" = no; then - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS - - -# AC_LIBTOOL_OBJDIR -# ----------------- -AC_DEFUN([AC_LIBTOOL_OBJDIR], -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -[rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null]) -objdir=$lt_cv_objdir -])# AC_LIBTOOL_OBJDIR + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + ECHO="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + if test "X$ECHO" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && + echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + ECHO='print -r' + elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + ECHO='printf %s\n' + if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && + echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + ECHO="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + ECHO="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: -# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) -# ---------------------------------------------- -# Check hardcoding attributes. -AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_AC_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ - test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ - test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null + then + break + fi + prev="$cmd" + done - # We can hardcode non-existant directories. - if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && - test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then - # Linking always hardcodes the temporary library directory. - _LT_AC_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_AC_TAGVAR(hardcode_action, $1)=immediate + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + ECHO=echo + fi + fi + fi + fi fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_AC_TAGVAR(hardcode_action, $1)=unsupported fi -AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) -if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +lt_ECHO=$ECHO +if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" fi -])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH +AC_SUBST(lt_ECHO) +]) +_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) +_LT_DECL([], [ECHO], [1], + [An echo program that does not interpret backslashes]) +])# _LT_PROG_ECHO_BACKSLASH -# AC_LIBTOOL_SYS_LIB_STRIP -# ------------------------ -AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], -[striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) -fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac -fi -])# AC_LIBTOOL_SYS_LIB_STRIP +# _LT_ENABLE_LOCK +# --------------- +m4_defun([_LT_ENABLE_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AS_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes -# AC_LIBTOOL_SYS_DYNAMIC_LINKER -# ----------------------------- -# PORTME Fill in your ld.so characteristics -AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], -[AC_MSG_CHECKING([dynamic linker characteristics]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac fi -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' + rm -rf conftest* ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac fi - shlibpath_var=LIBPATH fi + rm -rf conftest* ;; -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* ;; -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi ;; - -bsdi[[45]]*) - version_type=linux - 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' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* ;; +esac -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no +need_locks="$enable_libtool_lock" +])# _LT_ENABLE_LOCK + + +# _LT_CMD_OLD_ARCHIVE +# ------------------- +m4_defun([_LT_CMD_OLD_ARCHIVE], +[AC_CHECK_TOOL(AR, ar, false) +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +_LT_DECL([], [AR], [1], [The archiver]) +_LT_DECL([], [AR_FLAGS], [1]) + +AC_CHECK_TOOL(STRIP, strip, :) +test -z "$STRIP" && STRIP=: +_LT_DECL([], [STRIP], [1], [A symbol stripping program]) + +AC_CHECK_TOOL(RANLIB, ranlib, :) +test -z "$RANLIB" && RANLIB=: +_LT_DECL([], [RANLIB], [1], + [Commands used to install an old-style archive]) + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi +_LT_DECL([], [old_postinstall_cmds], [2]) +_LT_DECL([], [old_postuninstall_cmds], [2]) +_LT_TAGDECL([], [old_archive_cmds], [2], + [Commands used to build an old-style archive]) +])# _LT_CMD_OLD_ARCHIVE + + +# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([_LT_COMPILER_OPTION], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $RM conftest* +]) + +if test x"[$]$2" = xyes; then + m4_if([$5], , :, [$5]) +else + m4_if([$6], , :, [$6]) +fi +])# _LT_COMPILER_OPTION + +# Old name: +AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) + + +# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------- +# Check whether the given linker option works +AC_DEFUN([_LT_LINKER_OPTION], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + m4_if([$4], , :, [$4]) +else + m4_if([$5], , :, [$5]) +fi +])# _LT_LINKER_OPTION + +# Old name: +AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) + + +# LT_CMD_MAX_LEN +#--------------- +AC_DEFUN([LT_CMD_MAX_LEN], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8 ; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ + = "XX$teststring$teststring"; } >/dev/null 2>&1 && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +max_cmd_len=$lt_cv_sys_max_cmd_len +_LT_DECL([], [max_cmd_len], [0], + [What is the maximum length of a command?]) +])# LT_CMD_MAX_LEN + +# Old name: +AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) + + +# _LT_HEADER_DLFCN +# ---------------- +m4_defun([_LT_HEADER_DLFCN], +[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl +])# _LT_HEADER_DLFCN + + +# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# ---------------------------------------------------------------- +m4_defun([_LT_TRY_DLOPEN_SELF], +[m4_require([_LT_HEADER_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +[#line __oline__ "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +}] +_LT_EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_TRY_DLOPEN_SELF + + +# LT_SYS_DLOPEN_SELF +# ------------------ +AC_DEFUN([LT_SYS_DLOPEN_SELF], +[m4_require([_LT_HEADER_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +_LT_DECL([dlopen_support], [enable_dlopen], [0], + [Whether dlopen is supported]) +_LT_DECL([dlopen_self], [enable_dlopen_self], [0], + [Whether dlopen of programs is supported]) +_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], + [Whether dlopen of statically linked programs is supported]) +])# LT_SYS_DLOPEN_SELF + +# Old name: +AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) + + +# _LT_COMPILER_C_O([TAGNAME]) +# --------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler. +# This macro does not hard code the compiler like AC_PROG_CC_C_O. +m4_defun([_LT_COMPILER_C_O], +[m4_require([_LT_DECL_SED])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_TAG_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* +]) +_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], + [Does compiler simultaneously support -c and -o options?]) +])# _LT_COMPILER_C_O + + +# _LT_COMPILER_FILE_LOCKS([TAGNAME]) +# ---------------------------------- +# Check to see if we can do hard links to lock some files if needed +m4_defun([_LT_COMPILER_FILE_LOCKS], +[m4_require([_LT_ENABLE_LOCK])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +_LT_COMPILER_C_O([$1]) + +hard_links="nottested" +if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) +])# _LT_COMPILER_FILE_LOCKS + + +# _LT_CHECK_OBJDIR +# ---------------- +m4_defun([_LT_CHECK_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +_LT_DECL([], [objdir], [0], + [The name of the directory that contains temporary libtool files])dnl +m4_pattern_allow([LT_OBJDIR])dnl +AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", + [Define to the sub-directory in which libtool stores uninstalled libraries.]) +])# _LT_CHECK_OBJDIR + + +# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) +# -------------------------------------- +# Check hardcoding attributes. +m4_defun([_LT_LINKER_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || + test -n "$_LT_TAGVAR(runpath_var, $1)" || + test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + + # We can hardcode non-existent directories. + if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || + test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +_LT_TAGDECL([], [hardcode_action], [0], + [How to hardcode a shared library path into an executable]) +])# _LT_LINKER_HARDCODE_LIBPATH + + +# _LT_CMD_STRIPLIB +# ---------------- +m4_defun([_LT_CMD_STRIPLIB], +[m4_require([_LT_DECL_EGREP]) +striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) +_LT_DECL([], [striplib], [1]) +])# _LT_CMD_STRIPLIB + + +# _LT_SYS_DYNAMIC_LINKER([TAG]) +# ----------------------------- +# PORTME Fill in your ld.so characteristics +m4_defun([_LT_SYS_DYNAMIC_LINKER], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_OBJDUMP])dnl +m4_require([_LT_DECL_SED])dnl +AC_MSG_CHECKING([dynamic linker characteristics]) +m4_if([$1], + [], [ +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` + else + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[[lt_foo]]++; } + if (lt_freq[[lt_foo]] == 1) { print lt_foo; } +}'` + sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix[[4-9]]*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux + 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' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=".dll" + need_version=no need_lib_prefix=no case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) + yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ - $rm \$dlpath' + $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in @@ -1333,20 +2245,20 @@ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; - mingw*) + mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then + sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then # It is most probably a Windows format PATH printed by # mingw gcc, but we are running on Cygwin. Gcc prints its search # path with ; separators, and with drive letters. We can handle the # drive letters (cygwin fileutils understands them), so leave them, # especially as we might pass files found there to a mingw objdump, # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi ;; pw32*) @@ -1370,17 +2282,13 @@ version_type=darwin need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. - if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` - else - sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' - fi +m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; @@ -1397,18 +2305,6 @@ dynamic_linker=no ;; -kfreebsd*-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='GNU ld.so' - ;; - freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. @@ -1446,7 +2342,7 @@ shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; - freebsd*) # from 4.6 on + *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; @@ -1485,18 +2381,18 @@ fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH @@ -1509,7 +2405,7 @@ postinstall_cmds='chmod 555 $lib' ;; -interix3*) +interix[[3-9]]*) version_type=linux need_lib_prefix=no need_version=no @@ -1564,7 +2460,7 @@ ;; # This must be Linux ELF. -linux*) +linux* | k*bsd*-gnu) version_type=linux need_lib_prefix=no need_version=no @@ -1573,6 +2469,17 @@ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no + # Some binutils ld are patched to set DT_RUNPATH + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ + LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], + [shlibpath_overrides_runpath=yes])]) + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. @@ -1580,7 +2487,7 @@ # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi @@ -1593,23 +2500,11 @@ dynamic_linker='GNU/Linux ld.so' ;; -knetbsd*-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='GNU ld.so' - ;; - netbsd*) version_type=sunos need_lib_prefix=no need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' @@ -1630,14 +2525,16 @@ shlibpath_overrides_runpath=yes ;; -nto-qnx*) - version_type=linux +*nto* | *qnx*) + version_type=qnx 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=yes + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' ;; openbsd*) @@ -1646,13 +2543,13 @@ need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[[89]] | openbsd2.[[89]].*) shlibpath_overrides_runpath=no @@ -1686,6 +2583,10 @@ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; +rdos*) + dynamic_linker=no + ;; + solaris*) version_type=linux need_lib_prefix=no @@ -1720,7 +2621,6 @@ sni) shlibpath_overrides_runpath=no need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' runpath_var=LD_RUN_PATH ;; siemens) @@ -1751,13 +2651,12 @@ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" @@ -1767,6 +2666,17 @@ sys_lib_dlsearch_path_spec='/usr/lib' ;; +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + 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}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -1785,276 +2695,54 @@ if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi -])# AC_LIBTOOL_SYS_DYNAMIC_LINKER - - -# _LT_AC_TAGCONFIG -# ---------------- -AC_DEFUN([_LT_AC_TAGCONFIG], -[AC_ARG_WITH([tags], - [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], - [include additional configurations @<:@automatic@:>@])], - [tagnames="$withval"]) - -if test -f "$ltmain" && test -n "$tagnames"; then - if test ! -f "${ofile}"; then - AC_MSG_WARN([output file `$ofile' does not exist]) - fi - - if test -z "$LTCC"; then - eval "`$SHELL ${ofile} --config | grep '^LTCC='`" - if test -z "$LTCC"; then - AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) - else - AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) - fi - fi - if test -z "$LTCFLAGS"; then - eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" - fi - - # Extract list of available tagged configurations in $ofile. - # Note that this assumes the entire list is on one line. - available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` - - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for tagname in $tagnames; do - IFS="$lt_save_ifs" - # Check whether tagname contains only valid characters - case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in - "") ;; - *) AC_MSG_ERROR([invalid tag name: $tagname]) - ;; - esac - - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null - then - AC_MSG_ERROR([tag name \"$tagname\" already exists]) - fi - - # Update the list of available tags. - if test -n "$tagname"; then - echo appending configuration tag \"$tagname\" to $ofile - - case $tagname in - CXX) - if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_LIBTOOL_LANG_CXX_CONFIG - else - tagname="" - fi - ;; - F77) - if test -n "$F77" && test "X$F77" != "Xno"; then - AC_LIBTOOL_LANG_F77_CONFIG - else - tagname="" - fi - ;; - - GCJ) - if test -n "$GCJ" && test "X$GCJ" != "Xno"; then - AC_LIBTOOL_LANG_GCJ_CONFIG - else - tagname="" - fi - ;; - - RC) - AC_LIBTOOL_LANG_RC_CONFIG - ;; - - *) - AC_MSG_ERROR([Unsupported tag name: $tagname]) - ;; - esac - - # Append the new tag name to the list of available tags. - if test -n "$tagname" ; then - available_tags="$available_tags $tagname" - fi - fi - done - IFS="$lt_save_ifs" - - # Now substitute the updated list of available tags. - if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then - mv "${ofile}T" "$ofile" - chmod +x "$ofile" - else - rm -f "${ofile}T" - AC_MSG_ERROR([unable to update list of available tagged configurations.]) - fi +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +fi +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi -])# _LT_AC_TAGCONFIG - - -# AC_LIBTOOL_DLOPEN -# ----------------- -# enable checks for dlopen support -AC_DEFUN([AC_LIBTOOL_DLOPEN], - [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) -])# AC_LIBTOOL_DLOPEN - - -# AC_LIBTOOL_WIN32_DLL -# -------------------- -# declare package support for building win32 DLLs -AC_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) -])# AC_LIBTOOL_WIN32_DLL - - -# AC_ENABLE_SHARED([DEFAULT]) -# --------------------------- -# implement the --enable-shared flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_SHARED], -[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([shared], - [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_shared=]AC_ENABLE_SHARED_DEFAULT) -])# AC_ENABLE_SHARED - - -# AC_DISABLE_SHARED -# ----------------- -# set the default shared flag to --disable-shared -AC_DEFUN([AC_DISABLE_SHARED], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_SHARED(no) -])# AC_DISABLE_SHARED - - -# AC_ENABLE_STATIC([DEFAULT]) -# --------------------------- -# implement the --enable-static flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_STATIC], -[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([static], - [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_static=]AC_ENABLE_STATIC_DEFAULT) -])# AC_ENABLE_STATIC - - -# AC_DISABLE_STATIC -# ----------------- -# set the default static flag to --disable-static -AC_DEFUN([AC_DISABLE_STATIC], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_STATIC(no) -])# AC_DISABLE_STATIC - - -# AC_ENABLE_FAST_INSTALL([DEFAULT]) -# --------------------------------- -# implement the --enable-fast-install flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_FAST_INSTALL], -[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([fast-install], - [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) -])# AC_ENABLE_FAST_INSTALL - -# AC_DISABLE_FAST_INSTALL -# ----------------------- -# set the default to --disable-fast-install -AC_DEFUN([AC_DISABLE_FAST_INSTALL], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_FAST_INSTALL(no) -])# AC_DISABLE_FAST_INSTALL +_LT_DECL([], [variables_saved_for_relink], [1], + [Variables whose values should be saved in libtool wrapper scripts and + restored at link time]) +_LT_DECL([], [need_lib_prefix], [0], + [Do we need the "lib" prefix for modules?]) +_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) +_LT_DECL([], [version_type], [0], [Library versioning type]) +_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) +_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) +_LT_DECL([], [shlibpath_overrides_runpath], [0], + [Is shlibpath searched before the hard-coded library search path?]) +_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) +_LT_DECL([], [library_names_spec], [1], + [[List of archive names. First name is the real one, the rest are links. + The last name is the one that the linker finds with -lNAME]]) +_LT_DECL([], [soname_spec], [1], + [[The coded name of the library, if different from the real name]]) +_LT_DECL([], [postinstall_cmds], [2], + [Command to use after installation of a shared archive]) +_LT_DECL([], [postuninstall_cmds], [2], + [Command to use after uninstallation of a shared archive]) +_LT_DECL([], [finish_cmds], [2], + [Commands used to finish a libtool library installation in a directory]) +_LT_DECL([], [finish_eval], [1], + [[As "finish_cmds", except a single script fragment to be evaled but + not shown]]) +_LT_DECL([], [hardcode_into_libs], [0], + [Whether we should hardcode library paths into libraries]) +_LT_DECL([], [sys_lib_search_path_spec], [2], + [Compile-time system search path for libraries]) +_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], + [Run-time system search path for libraries]) +])# _LT_SYS_DYNAMIC_LINKER -# AC_LIBTOOL_PICMODE([MODE]) +# _LT_PATH_TOOL_PREFIX(TOOL) # -------------------------- -# implement the --with-pic flag -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. -AC_DEFUN([AC_LIBTOOL_PICMODE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -pic_mode=ifelse($#,1,$1,default) -])# AC_LIBTOOL_PICMODE - - -# AC_PROG_EGREP -# ------------- -# This is predefined starting with Autoconf 2.54, so this conditional -# definition can be removed once we require Autoconf 2.54 or later. -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], -[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], - [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 - then ac_cv_prog_egrep='grep -E' - else ac_cv_prog_egrep='egrep' - fi]) - EGREP=$ac_cv_prog_egrep - AC_SUBST([EGREP]) -])]) - - -# AC_PATH_TOOL_PREFIX -# ------------------- -# find a file program which can recognise shared library -AC_DEFUN([AC_PATH_TOOL_PREFIX], -[AC_REQUIRE([AC_PROG_EGREP])dnl +# find a file program which can recognize shared library +AC_DEFUN([_LT_PATH_TOOL_PREFIX], +[m4_require([_LT_DECL_EGREP])dnl AC_MSG_CHECKING([for $1]) AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, [case $MAGIC_CMD in @@ -2067,7 +2755,7 @@ dnl $ac_dummy forces splitting on constant user-supplied paths. dnl POSIX.2 word splitting is done only on the output of word expansions, dnl not every word. This closes a longstanding sh security hole. - ac_dummy="ifelse([$2], , $PATH, [$2])" + ac_dummy="m4_if([$2], , $PATH, [$2])" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. @@ -2082,7 +2770,7 @@ $EGREP "$file_magic_regex" > /dev/null; then : else - cat <&2 + cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. @@ -2093,7 +2781,7 @@ *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org -EOF +_LT_EOF fi ;; esac fi @@ -2110,37 +2798,47 @@ else AC_MSG_RESULT(no) fi -])# AC_PATH_TOOL_PREFIX +_LT_DECL([], [MAGIC_CMD], [0], + [Used to examine libraries when file_magic_cmd begins with "file"])dnl +])# _LT_PATH_TOOL_PREFIX +# Old name: +AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) -# AC_PATH_MAGIC -# ------------- -# find a file program which can recognise a shared library -AC_DEFUN([AC_PATH_MAGIC], -[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) + +# _LT_PATH_MAGIC +# -------------- +# find a file program which can recognize a shared library +m4_defun([_LT_PATH_MAGIC], +[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then - AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) else MAGIC_CMD=: fi fi -])# AC_PATH_MAGIC +])# _LT_PATH_MAGIC -# AC_PROG_LD +# LT_PATH_LD # ---------- # find the pathname to the GNU or non-GNU linker -AC_DEFUN([AC_PROG_LD], -[AC_ARG_WITH([gnu-ld], - [AC_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test "$withval" = no || with_gnu_ld=yes], - [with_gnu_ld=no]) -AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_REQUIRE([AC_PROG_CC])dnl +AC_DEFUN([LT_PATH_LD], +[AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl + +AC_ARG_WITH([gnu-ld], + [AS_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no])dnl + ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. @@ -2157,9 +2855,9 @@ [[\\/]]* | ?:[[\\/]]*) re_direlt='/[[^/]][[^/]]*/\.\./' # Canonicalize the pathname of ld - ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; @@ -2209,15 +2907,24 @@ AC_MSG_RESULT(no) fi test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) -AC_PROG_LD_GNU -])# AC_PROG_LD +_LT_PATH_LD_GNU +AC_SUBST([LD]) +_LT_TAGDECL([], [LD], [1], [The linker used to build libraries]) +])# LT_PATH_LD -# AC_PROG_LD_GNU -# -------------- -AC_DEFUN([AC_PROG_LD_GNU], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, +# Old names: +AU_ALIAS([AM_PROG_LD], [LT_PATH_LD]) +AU_ALIAS([AC_PROG_LD], [LT_PATH_LD]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_PROG_LD], []) +dnl AC_DEFUN([AC_PROG_LD], []) + + +# _LT_PATH_LD_GNU +#- -------------- +m4_defun([_LT_PATH_LD_GNU], +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, [# I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 /dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +cegcc) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; @@ -2310,8 +3033,8 @@ lt_cv_deplibs_check_method=pass_all ;; -freebsd* | kfreebsd*-gnu | dragonfly*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. @@ -2348,7 +3071,7 @@ esac ;; -interix3*) +interix[[3-9]]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; @@ -2364,12 +3087,12 @@ ;; # This must be Linux ELF. -linux*) +linux* | k*bsd*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + 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 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' @@ -2382,12 +3105,12 @@ lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; -nto-qnx*) - lt_cv_deplibs_check_method=unknown +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all ;; openbsd*) - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' @@ -2398,10 +3121,18 @@ lt_cv_deplibs_check_method=pass_all ;; +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + solaris*) lt_cv_deplibs_check_method=pass_all ;; +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + sysv4 | sysv4.3*) case $host_vendor in motorola) @@ -2429,7 +3160,7 @@ esac ;; -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) +tpf*) lt_cv_deplibs_check_method=pass_all ;; esac @@ -2437,20 +3168,26 @@ file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown -])# AC_DEPLIBS_CHECK_METHOD + +_LT_DECL([], [deplibs_check_method], [1], + [Method to check whether dependent libraries are shared objects]) +_LT_DECL([], [file_magic_cmd], [1], + [Command to use when deplibs_check_method == "file_magic"]) +])# _LT_CHECK_MAGIC_METHOD -# AC_PROG_NM +# LT_PATH_NM # ---------- -# find the pathname to a BSD-compatible name lister -AC_DEFUN([AC_PROG_NM], -[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, +# find the pathname to a BSD- or MS-compatible name lister +AC_DEFUN([LT_PATH_NM], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, [if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do @@ -2486,16 +3223,51 @@ done IFS="$lt_save_ifs" done - test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm + : ${lt_cv_path_NM=no} fi]) -NM="$lt_cv_path_NM" -])# AC_PROG_NM +if test "$lt_cv_path_NM" != "no"; then + NM="$lt_cv_path_NM" +else + # Didn't find any BSD compatible name lister, look for dumpbin. + AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :) + AC_SUBST([DUMPBIN]) + if test "$DUMPBIN" != ":"; then + NM="$DUMPBIN" + fi +fi +test -z "$NM" && NM=nm +AC_SUBST([NM]) +_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl +AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], + [lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD) + cat conftest.out >&AS_MESSAGE_LOG_FD + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest*]) +])# LT_PATH_NM + +# Old names: +AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) +AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_PROG_NM], []) +dnl AC_DEFUN([AC_PROG_NM], []) -# AC_CHECK_LIBM -# ------------- + +# LT_LIB_M +# -------- # check for math library -AC_DEFUN([AC_CHECK_LIBM], +AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case $host in @@ -2506,3889 +3278,4694 @@ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") ;; -*) - AC_CHECK_LIB(m, cos, LIBM="-lm") - ;; -esac -])# AC_CHECK_LIBM - - -# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) -# ----------------------------------- -# sets LIBLTDL to the link flags for the libltdl convenience library and -# LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-convenience to the configure arguments. Note that -# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, -# it is assumed to be `libltdl'. LIBLTDL will be prefixed with -# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' -# (note the single quotes!). If your package is not flat and you're not -# using automake, define top_builddir and top_srcdir appropriately in -# the Makefiles. -AC_DEFUN([AC_LIBLTDL_CONVENIENCE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - case $enable_ltdl_convenience in - no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; - "") enable_ltdl_convenience=yes - ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; - esac - LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la - LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) - # For backwards non-gettext consistent compatibility... - INCLTDL="$LTDLINCL" -])# AC_LIBLTDL_CONVENIENCE - - -# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) -# ----------------------------------- -# sets LIBLTDL to the link flags for the libltdl installable library and -# LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-install to the configure arguments. Note that -# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, -# and an installed libltdl is not found, it is assumed to be `libltdl'. -# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with -# '${top_srcdir}/' (note the single quotes!). If your package is not -# flat and you're not using automake, define top_builddir and top_srcdir -# appropriately in the Makefiles. -# In the future, this macro may have to be called after AC_PROG_LIBTOOL. -AC_DEFUN([AC_LIBLTDL_INSTALLABLE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - AC_CHECK_LIB(ltdl, lt_dlinit, - [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], - [if test x"$enable_ltdl_install" = xno; then - AC_MSG_WARN([libltdl not installed, but installation disabled]) - else - enable_ltdl_install=yes - fi - ]) - if test x"$enable_ltdl_install" = x"yes"; then - ac_configure_args="$ac_configure_args --enable-ltdl-install" - LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la - LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) - else - ac_configure_args="$ac_configure_args --enable-ltdl-install=no" - LIBLTDL="-lltdl" - LTDLINCL= - fi - # For backwards non-gettext consistent compatibility... - INCLTDL="$LTDLINCL" -])# AC_LIBLTDL_INSTALLABLE - - -# AC_LIBTOOL_CXX -# -------------- -# enable support for C++ libraries -AC_DEFUN([AC_LIBTOOL_CXX], -[AC_REQUIRE([_LT_AC_LANG_CXX]) -])# AC_LIBTOOL_CXX - - -# _LT_AC_LANG_CXX -# --------------- -AC_DEFUN([_LT_AC_LANG_CXX], -[AC_REQUIRE([AC_PROG_CXX]) -AC_REQUIRE([_LT_AC_PROG_CXXCPP]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) -])# _LT_AC_LANG_CXX - -# _LT_AC_PROG_CXXCPP -# ------------------ -AC_DEFUN([_LT_AC_PROG_CXXCPP], -[ -AC_REQUIRE([AC_PROG_CXX]) -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_PROG_CXXCPP -fi -])# _LT_AC_PROG_CXXCPP - -# AC_LIBTOOL_F77 -# -------------- -# enable support for Fortran 77 libraries -AC_DEFUN([AC_LIBTOOL_F77], -[AC_REQUIRE([_LT_AC_LANG_F77]) -])# AC_LIBTOOL_F77 - - -# _LT_AC_LANG_F77 -# --------------- -AC_DEFUN([_LT_AC_LANG_F77], -[AC_REQUIRE([AC_PROG_F77]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) -])# _LT_AC_LANG_F77 - - -# AC_LIBTOOL_GCJ -# -------------- -# enable support for GCJ libraries -AC_DEFUN([AC_LIBTOOL_GCJ], -[AC_REQUIRE([_LT_AC_LANG_GCJ]) -])# AC_LIBTOOL_GCJ - - -# _LT_AC_LANG_GCJ -# --------------- -AC_DEFUN([_LT_AC_LANG_GCJ], -[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], - [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], - [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], - [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], - [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) -])# _LT_AC_LANG_GCJ - - -# AC_LIBTOOL_RC -# ------------- -# enable support for Windows resource files -AC_DEFUN([AC_LIBTOOL_RC], -[AC_REQUIRE([LT_AC_PROG_RC]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) -])# AC_LIBTOOL_RC - - -# AC_LIBTOOL_LANG_C_CONFIG -# ------------------------ -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) -AC_DEFUN([_LT_AC_LANG_C_CONFIG], -[lt_save_CC="$CC" -AC_LANG_PUSH(C) - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;\n" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}\n' - -_LT_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) -AC_LIBTOOL_SYS_LIB_STRIP -AC_LIBTOOL_DLOPEN_SELF - -# Report which library types will actually be built -AC_MSG_CHECKING([if libtool supports shared libraries]) -AC_MSG_RESULT([$can_build_shared]) - -AC_MSG_CHECKING([whether to build shared libraries]) -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case $host_os in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - -aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; esac -AC_MSG_RESULT([$enable_shared]) - -AC_MSG_CHECKING([whether to build static libraries]) -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -AC_MSG_RESULT([$enable_static]) +AC_SUBST([LIBM]) +])# LT_LIB_M -AC_LIBTOOL_CONFIG($1) +# Old name: +AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_CHECK_LIBM], []) -AC_LANG_POP -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_C_CONFIG +# _LT_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------- +m4_defun([_LT_COMPILER_NO_RTTI], +[m4_require([_LT_TAG_COMPILER])dnl -# AC_LIBTOOL_LANG_CXX_CONFIG -# -------------------------- -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) -AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], -[AC_LANG_PUSH(C++) -AC_REQUIRE([AC_PROG_CXX]) -AC_REQUIRE([_LT_AC_PROG_CXXCPP]) - -_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_AC_TAGVAR(allow_undefined_flag, $1)= -_LT_AC_TAGVAR(always_export_symbols, $1)=no -_LT_AC_TAGVAR(archive_expsym_cmds, $1)= -_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_direct, $1)=no -_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= -_LT_AC_TAGVAR(hardcode_minus_L, $1)=no -_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -_LT_AC_TAGVAR(hardcode_automatic, $1)=no -_LT_AC_TAGVAR(module_cmds, $1)= -_LT_AC_TAGVAR(module_expsym_cmds, $1)= -_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown -_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_AC_TAGVAR(no_undefined_flag, $1)= -_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= -_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no +_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= -# Dependencies to place before and after the object being linked: -_LT_AC_TAGVAR(predep_objects, $1)= -_LT_AC_TAGVAR(postdep_objects, $1)= -_LT_AC_TAGVAR(predeps, $1)= -_LT_AC_TAGVAR(postdeps, $1)= -_LT_AC_TAGVAR(compiler_lib_search_path, $1)= +if test "$GCC" = yes; then + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' -# Source file extension for C++ test sources. -ac_ext=cpp + _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], + [Compiler flag to turn off builtin functions]) +])# _LT_COMPILER_NO_RTTI -# Object file extension for compiled C++ test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;\n" +# _LT_CMD_GLOBAL_SYMBOLS +# ---------------------- +m4_defun([_LT_CMD_GLOBAL_SYMBOLS], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([LT_PATH_NM])dnl +AC_REQUIRE([LT_PATH_LD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_TAG_COMPILER])dnl -# Code to be used in simple link tests -lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n' +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_AC_SYS_COMPILER +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_LD=$LD -lt_save_GCC=$GCC -GCC=$GXX -lt_save_with_gnu_ld=$with_gnu_ld -lt_save_path_LD=$lt_cv_path_LD -if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx -else - $as_unset lt_cv_prog_gnu_ld -fi -if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX -else - $as_unset lt_cv_path_LD -fi -test -z "${LDCXX+set}" || LD=$LDCXX -CC=${CXX-"c++"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac -# We don't want -fno-exception wen compiling C++ code, so set the -# no_builtin_flag separately -if test "$GXX" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' -else - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= -fi +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac -if test "$GXX" = yes; then - # Set up default GNU C++ configuration +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - AC_PROG_LD +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ - grep 'no-whole-archive' > /dev/null; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function + # and D for any global variable. + # Also find C++ and __fastcall symbols from MSVC++, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK ['"\ +" {last_section=section; section=\$ 3};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ +" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ +" s[1]~/^[@?]/{print s[1], s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx]" else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + # Check to see that the pipe works correctly. + pipe_works=no -else - GXX=no - with_gnu_ld=no - wlarc= -fi + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF -# PORTME: fill in a description of your system's C++ link characteristics -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -_LT_AC_TAGVAR(ld_shlibs, $1)=yes -case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no + if AC_TRY_EVAL(ac_compile); then + # Now try to grab the symbols. + nlist=conftest.nm + if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_AC_TAGVAR(archive_cmds, $1)='' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + cat <<_LT_EOF >> conftest.$ac_ext - if test "$GXX" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=yes +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[[]] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" else - # We have old collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; +_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], + [Take the output of nm and produce a listing of raw symbols and C names]) +_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], + [Transform the output of nm in a proper C declaration]) +_LT_DECL([global_symbol_to_c_name_address], + [lt_cv_sys_global_symbol_to_c_name_address], [1], + [Transform the output of nm in a C name address pair]) +_LT_DECL([global_symbol_to_c_name_address_lib_prefix], + [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], + [Transform the output of nm in a C name address pair when lib prefix is needed]) +]) # _LT_CMD_GLOBAL_SYMBOLS - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; +# _LT_COMPILER_PIC([TAGNAME]) +# --------------------------- +m4_defun([_LT_COMPILER_PIC], +[m4_require([_LT_TAG_COMPILER])dnl +_LT_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_TAGVAR(lt_prog_compiler_static, $1)= - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_automatic, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GXX" = yes ; then - lt_int_apple_cc_single_mod=no - output_verbose_link_cmd='echo' - if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then - lt_int_apple_cc_single_mod=yes - fi - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - fi - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac +AC_MSG_CHECKING([for $compiler option to produce PIC]) +m4_if([$1], [CXX], [ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - freebsd[[12]]*) - # C++ shared libraries reported to be fairly broken before switch to ELF - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - freebsd-elf*) - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - freebsd* | kfreebsd*-gnu | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - ;; - gnu*) - ;; - hpux9*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. ;; - aCC*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; - *) - if test "$GXX" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; - esac - ;; - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. case $host_cpu in - hppa*64*|ia64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - ;; + hppa*64*) + ;; *) - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; esac - fi - case $host_cpu in - hppa*64*|ia64*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; *) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no + else + case $host_os in + aix[[4-9]]*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi ;; - aCC*) - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then + dgux*) + case $cc_basename in + ec++*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + hppa*64*|ia64*) + # +Z the default ;; *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac - fi - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - interix3*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' - fi - fi - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - linux*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc*) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; + ;; + *) + ;; esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC*) - # Portland Group C++ compiler - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - esac - ;; - lynxos*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - m88k*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? ;; - esac - ;; - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - openbsd2*) - # C++ shared libraries are fairly broken - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - openbsd*) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd='echo' - ;; - osf3*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + ecpc* ) + # old Intel C++ for x86_64 which still supported -KPIC. + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + icpc* ) + # Intel C++, used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + xlc* | xlC*) + # IBM XL 8.0 on PPC + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + esac + ;; + esac ;; - esac - ;; - osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ - $rm $lib.exp' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + lynxos*) ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi + m88k*) ;; - esac - ;; - psos*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no + mvs*) + case $cc_basename in + cxx*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no + netbsd*) ;; - esac - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; *) - # The C++ compiler is used as linker so we must use $wl - # flag to pass the commands to the underlying system - # linker. We must also pass each convience library through - # to the system linker between allextract/defaultextract. - # The C++ compiler will combine linker options so we - # cannot just pass the convience library names through - # without $wl. - # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; esac - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' - if $CC --version | grep -v '^2\.7' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - fi - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' - fi + psos*) ;; - esac - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac ;; - esac - ;; - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - # So that behaviour is only enabled if SCOABSPATH is set to a - # non-empty value in the environment. Most likely only useful for - # creating official distributions of packages. - # This is a hack until libtool officially supports absolute path - # names for shared libraries. - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no + vxworks*) ;; *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac - ;; - vxworks*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; -esac -AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) -test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -_LT_AC_TAGVAR(GCC, $1)="$GXX" -_LT_AC_TAGVAR(LD, $1)="$LD" - -AC_LIBTOOL_POSTDEP_PREDEP($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_POP -CC=$lt_save_CC -LDCXX=$LD -LD=$lt_save_LD -GCC=$lt_save_GCC -with_gnu_ldcxx=$with_gnu_ld -with_gnu_ld=$lt_save_with_gnu_ld -lt_cv_path_LDCXX=$lt_cv_path_LD -lt_cv_path_LD=$lt_save_path_LD -lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld -lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -])# AC_LIBTOOL_LANG_CXX_CONFIG - -# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) -# ------------------------------------ -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ -dnl we can't use the lt_simple_compile_test_code here, -dnl because it contains code intended for an executable, -dnl not a library. It's possible we should let each -dnl tag define a new lt_????_link_test_code variable, -dnl but it's only used here... -ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='' + ;; + esac + ;; + esac + ;; -# Source file extension for RC test sources. -ac_ext=rc + newsos6) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; -# Object file extension for compiled RC test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n' + osf3* | osf4* | osf5*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; -# Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" + rdos*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_AC_SYS_COMPILER + solaris*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE + sunos4*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${RC-"windres"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) -_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; -AC_LIBTOOL_CONFIG($1) + sysv4*MP*) + if test -d /usr/nec ;then + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; -AC_LANG_RESTORE -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_RC_CONFIG + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + unicos*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; -# AC_LIBTOOL_CONFIG([TAGNAME]) -# ---------------------------- -# If TAGNAME is not passed, then create an initial libtool script -# with a default configuration from the untagged config vars. Otherwise -# add code to config.status for appending the configuration named by -# TAGNAME from the matching tagged config vars. -AC_DEFUN([AC_LIBTOOL_CONFIG], -[# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - _LT_AC_TAGVAR(compiler, $1) \ - _LT_AC_TAGVAR(CC, $1) \ - _LT_AC_TAGVAR(LD, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \ - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \ - _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \ - _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \ - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \ - _LT_AC_TAGVAR(old_archive_cmds, $1) \ - _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \ - _LT_AC_TAGVAR(predep_objects, $1) \ - _LT_AC_TAGVAR(postdep_objects, $1) \ - _LT_AC_TAGVAR(predeps, $1) \ - _LT_AC_TAGVAR(postdeps, $1) \ - _LT_AC_TAGVAR(compiler_lib_search_path, $1) \ - _LT_AC_TAGVAR(archive_cmds, $1) \ - _LT_AC_TAGVAR(archive_expsym_cmds, $1) \ - _LT_AC_TAGVAR(postinstall_cmds, $1) \ - _LT_AC_TAGVAR(postuninstall_cmds, $1) \ - _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \ - _LT_AC_TAGVAR(allow_undefined_flag, $1) \ - _LT_AC_TAGVAR(no_undefined_flag, $1) \ - _LT_AC_TAGVAR(export_symbols_cmds, $1) \ - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \ - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \ - _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \ - _LT_AC_TAGVAR(hardcode_automatic, $1) \ - _LT_AC_TAGVAR(module_cmds, $1) \ - _LT_AC_TAGVAR(module_expsym_cmds, $1) \ - _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \ - _LT_AC_TAGVAR(exclude_expsyms, $1) \ - _LT_AC_TAGVAR(include_expsyms, $1); do - - case $var in - _LT_AC_TAGVAR(old_archive_cmds, $1) | \ - _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \ - _LT_AC_TAGVAR(archive_cmds, $1) | \ - _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \ - _LT_AC_TAGVAR(module_cmds, $1) | \ - _LT_AC_TAGVAR(module_expsym_cmds, $1) | \ - _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \ - _LT_AC_TAGVAR(export_symbols_cmds, $1) | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + uts4*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; + *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac - done - - case $lt_echo in - *'\[$]0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'` + fi +]) +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; - esac - -ifelse([$1], [], - [cfgfile="${ofile}T" - trap "$rm \"$cfgfile\"; exit 1" 1 2 15 - $rm -f "$cfgfile" - AC_MSG_NOTICE([creating $ofile])], - [cfgfile="$ofile"]) - - cat <<__EOF__ >> "$cfgfile" -ifelse([$1], [], -[#! $SHELL + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" + ;; +esac +AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) +_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], + [How to pass a linker flag through the compiler]) -# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) -# NOTE: Changes made to this file will be lost: look at ltmain.sh. # -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. -# -# This file is part of GNU Libtool: -# Originally by Gordon Matzigkeit , 1996 +# Check to make sure the PIC flag actually works. # -# 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 of the License, 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. +if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then + _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], + [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], + [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], + [Additional compiler flags for building library objects]) + # -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# Check to make sure the static flag actually works. # -# 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. - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="$SED -e 1s/^X//" - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# The names of the tagged configurations supported by this script. -available_tags= - -# ### BEGIN LIBTOOL CONFIG], -[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os +wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" +_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) +_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], + [Compiler flag to prevent dynamic linking]) +])# _LT_COMPILER_PIC -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os -# An echo program that does not interpret backslashes. -echo=$lt_echo +# _LT_LINKER_SHLIBS([TAGNAME]) +# ---------------------------- +# See if the linker supports building shared libraries. +m4_defun([_LT_LINKER_SHLIBS], +[AC_REQUIRE([LT_PATH_LD])dnl +AC_REQUIRE([LT_PATH_NM])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +m4_require([_LT_TAG_COMPILER])dnl +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +m4_if([$1], [CXX], [ + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix[[4-9]]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw* | cegcc*) + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' + ;; + *) + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] +], [ + runpath_var= + _LT_TAGVAR(allow_undefined_flag, $1)= + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(archive_cmds, $1)= + _LT_TAGVAR(archive_expsym_cmds, $1)= + _LT_TAGVAR(compiler_needs_object, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(hardcode_automatic, $1)=no + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_TAGVAR(hardcode_libdir_separator, $1)= + _LT_TAGVAR(hardcode_minus_L, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_TAGVAR(inherit_rpath, $1)=no + _LT_TAGVAR(link_all_deplibs, $1)=unknown + _LT_TAGVAR(module_cmds, $1)= + _LT_TAGVAR(module_expsym_cmds, $1)= + _LT_TAGVAR(old_archive_from_new_cmds, $1)= + _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_TAGVAR(thread_safe_flag_spec, $1)= + _LT_TAGVAR(whole_archive_flag_spec, $1)= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. +dnl Note also adjust exclude_expsyms for C++ above. + extract_expsyms_cmds= -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac -# A C compiler. -LTCC=$lt_LTCC + _LT_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac -# A language-specific compiler. -CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) + # See if GNU ld supports shared libraries. + case $host_os in + aix[[3-9]]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 -# Is the compiler the GNU C compiler? -with_gcc=$_LT_AC_TAGVAR(GCC, $1) +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. -# An ERE matcher. -EGREP=$lt_EGREP +_LT_EOF + fi + ;; -# The linker used to build libraries. -LD=$lt_[]_LT_AC_TAGVAR(LD, $1) + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='' + ;; + m68k) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + ;; -# Whether we need hard or soft links. -LN_S=$lt_LN_S + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; -# A BSD-compatible nm program. -NM=$lt_NM + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' -# A symbol stripping program -STRIP=$lt_STRIP + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD + interix[[3-9]]*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" + gnu* | linux* | tpf* | k*bsd*-gnu) + tmp_diet=no + if test "$host_os" = linux-dietlibc; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test "$tmp_diet" = no + then + tmp_addflag= + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + _LT_TAGVAR(whole_archive_flag_spec, $1)= + tmp_sharedflag='--shared' ;; + xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" + if test "x$supports_anon_versioning" = xyes; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi -# Used on cygwin: assembler. -AS="$AS" + case $cc_basename in + xlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; -# The name of the directory that contains temporary libtool files. -objdir=$objdir + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 -# How to pass a linker flag through the compiler. -wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. -# Object file suffix (normally "o"). -objext="$ac_objext" +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; -# Old archive suffix (normally "a"). -libext="$libext" + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. -# Executable file suffix (normally ""). -exeext="$exeext" +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; -# Additional compiler flags for building library objects. -pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) -pic_mode=$pic_mode + sunos4*) + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) + if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then + runpath_var= + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; -# Must we lock files when doing compilation? -need_locks=$lt_need_locks + aix[[4-9]]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac -# Do we need a version for libraries? -need_version=$need_version + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi -# Whether dlopen is supported. -dlopen_support=$enable_dlopen + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self + _LT_TAGVAR(archive_cmds, $1)='' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static + if test "$GCC" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='' + ;; + m68k) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + ;; -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) + bsdi[[45]]*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' + _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) + darwin* | rhapsody*) + _LT_DARWIN_LINKER_FEATURES($1) + ;; -# Library versioning type. -version_type=$version_type + dgux*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; -# Format of library name prefix. -libname_spec=$lt_libname_spec + freebsd1*) + _LT_TAGVAR(ld_shlibs, $1)=no + ;; -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) + hpux9*) + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_direct, $1)=yes -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; -# Commands used to build and install a shared archive. -archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) -archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) -module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib + case $host_cpu in + hppa*64*|ia64*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" + AC_LINK_IFELSE(int foo(void) {}, + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' + ) + LDFLAGS="$save_LDFLAGS" + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -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" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(inherit_rpath, $1)=yes + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) + netbsd*) + 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 + _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) + newsos6) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) + *nto* | *qnx*) + ;; -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method + openbsd*) + if test -f /usr/libexec/ld.so; then + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) + osf3*) + if test "$GCC" = yes; then + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + ;; -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds + # Both c and cxx compiler support -rpath directly + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + ;; -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval + solaris*) + _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' + if test "$GCC" = yes; then + wlarc='${wl}' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='${wl}' + _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + fi + ;; + esac + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + sysv4) + case $host_vendor in + sni) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + sysv4.3*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; -# This is the shared library runtime path variable. -runpath_var=$runpath_var + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_TAGVAR(ld_shlibs, $1)=yes + fi + ;; -# This is the shared library path variable. -shlibpath_var=$shlibpath_var + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; -# How to hardcode a shared library path into an executable. -hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) + uts4*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) + *) + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) + if test x$host_vendor = xsni; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' + ;; + esac + fi + fi +]) +AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) +test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) +_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) +_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl +_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl +_LT_DECL([], [extract_expsyms_cmds], [2], + [The commands to extract the exported symbol list from a shared archive]) -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) +# +# Do we need to explicitly link libc? +# +case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) + _LT_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) + then + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac + fi + ;; +esac -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) +_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], + [Whether or not to add -lc for building shared libraries]) +_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], + [enable_shared_with_static_runtimes], [0], + [Whether or not to disallow shared libs when runtime libs are static]) +_LT_TAGDECL([], [export_dynamic_flag_spec], [1], + [Compiler flag to allow reflexive dlopens]) +_LT_TAGDECL([], [whole_archive_flag_spec], [1], + [Compiler flag to generate shared objects directly from archives]) +_LT_TAGDECL([], [compiler_needs_object], [1], + [Whether the compiler copes with passing no objects directly]) +_LT_TAGDECL([], [old_archive_from_new_cmds], [2], + [Create an old-style archive from a shared archive]) +_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], + [Create a temporary old-style archive to link instead of a shared archive]) +_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) +_LT_TAGDECL([], [archive_expsym_cmds], [2]) +_LT_TAGDECL([], [module_cmds], [2], + [Commands used to build a loadable module if different from building + a shared archive.]) +_LT_TAGDECL([], [module_expsym_cmds], [2]) +_LT_TAGDECL([], [with_gnu_ld], [1], + [Whether we are building with GNU ld or not]) +_LT_TAGDECL([], [allow_undefined_flag], [1], + [Flag that allows shared libraries with undefined symbols to be built]) +_LT_TAGDECL([], [no_undefined_flag], [1], + [Flag that enforces no undefined symbols]) +_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], + [Flag to hardcode $libdir into a binary during linking. + This must work even if $libdir does not exist]) +_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1], + [[If ld is used when linking, flag to hardcode $libdir into a binary + during linking. This must work even if $libdir does not exist]]) +_LT_TAGDECL([], [hardcode_libdir_separator], [1], + [Whether we need a single "-rpath" flag with a separated argument]) +_LT_TAGDECL([], [hardcode_direct], [0], + [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes + DIR into the resulting binary]) +_LT_TAGDECL([], [hardcode_direct_absolute], [0], + [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes + DIR into the resulting binary and the resulting library dependency is + "absolute", i.e impossible to change by setting ${shlibpath_var} if the + library is relocated]) +_LT_TAGDECL([], [hardcode_minus_L], [0], + [Set to "yes" if using the -LDIR flag during linking hardcodes DIR + into the resulting binary]) +_LT_TAGDECL([], [hardcode_shlibpath_var], [0], + [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR + into the resulting binary]) +_LT_TAGDECL([], [hardcode_automatic], [0], + [Set to "yes" if building a shared library automatically hardcodes DIR + into the library and all subsequent libraries and executables linked + against it]) +_LT_TAGDECL([], [inherit_rpath], [0], + [Set to yes if linker adds runtime paths of dependent libraries + to runtime path list]) +_LT_TAGDECL([], [link_all_deplibs], [0], + [Whether libtool must link a program against all its dependency libraries]) +_LT_TAGDECL([], [fix_srcfile_path], [1], + [Fix the shell variable $srcfile for the compiler]) +_LT_TAGDECL([], [always_export_symbols], [0], + [Set to "yes" if exported symbols are required]) +_LT_TAGDECL([], [export_symbols_cmds], [2], + [The commands to list exported symbols]) +_LT_TAGDECL([], [exclude_expsyms], [1], + [Symbols that should not be listed in the preloaded symbols]) +_LT_TAGDECL([], [include_expsyms], [1], + [Symbols that must always be exported]) +_LT_TAGDECL([], [prelink_cmds], [2], + [Commands necessary for linking programs (against libraries) with templates]) +_LT_TAGDECL([], [file_list_spec], [1], + [Specify filename containing input files]) +dnl FIXME: Not yet implemented +dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], +dnl [Compiler flag to generate thread safe objects]) +])# _LT_LINKER_SHLIBS -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec +# _LT_LANG_C_CONFIG([TAG]) +# ------------------------ +# Ensure that the configuration variables for a C compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to `libtool'. +m4_defun([_LT_LANG_C_CONFIG], +[m4_require([_LT_DECL_EGREP])dnl +lt_save_CC="$CC" +AC_LANG_PUSH(C) -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" +# Source file extension for C test sources. +ac_ext=c -# Set to yes if exported symbols are required. -always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) +# Object file extension for compiled C test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext -# The commands to list exported symbols. -export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) +_LT_TAG_COMPILER +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC -# Symbols that must always be exported. -include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE -ifelse([$1],[], -[# ### END LIBTOOL CONFIG], -[# ### END LIBTOOL TAG CONFIG: $tagname]) +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + LT_SYS_DLOPEN_SELF + _LT_CMD_STRIPLIB + + # Report which library types will actually be built + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) -__EOF__ + AC_MSG_CHECKING([whether to build shared libraries]) + test "$can_build_shared" = "no" && enable_shared=no -ifelse([$1],[], [ + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. case $host_os in aix3*) - cat <<\EOF >> "$cfgfile" + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -EOF + aix[[4-9]]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi ;; esac + AC_MSG_RESULT([$enable_shared]) - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + AC_MSG_RESULT([$enable_static]) - mv -f "$cfgfile" "$ofile" || \ - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -]) -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi + _LT_CONFIG($1) fi -])# AC_LIBTOOL_CONFIG - - -# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------------------- -AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], -[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl - -_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +AC_LANG_POP +CC="$lt_save_CC" +])# _LT_LANG_C_CONFIG -if test "$GCC" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +# _LT_PROG_CXX +# ------------ +# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++ +# compiler, we have our own version here. +m4_defun([_LT_PROG_CXX], +[ +pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes]) +AC_PROG_CXX +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_PROG_CXXCPP +else + _lt_caught_CXX_error=yes fi -])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI - +popdef([AC_MSG_ERROR]) +])# _LT_PROG_CXX -# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE -# --------------------------------- -AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], -[AC_REQUIRE([AC_CANONICAL_HOST]) -AC_REQUIRE([AC_PROG_NM]) -AC_REQUIRE([AC_OBJEXT]) -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -[ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([_LT_PROG_CXX], []) -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' +# _LT_LANG_CXX_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a C++ compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to `libtool'. +m4_defun([_LT_LANG_CXX_CONFIG], +[AC_REQUIRE([_LT_PROG_CXX])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_EGREP])dnl + +AC_LANG_PUSH(C++) +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(compiler_needs_object, $1)=no +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no -# Transform an extracted symbol line into a proper C declaration -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" +# Source file extension for C++ test sources. +ac_ext=cpp -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" +# Object file extension for compiled C++ test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) # Its linker distinguishes data from code symbols - if test "$host_cpu" = ia64; then - symcode='[[ABCDEGRST]]' +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_caught_CXX_error" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld fi - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - ;; -linux*) - if test "$host_cpu" = ia64; then - symcode='[[ABCDGIRSTW]]' - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD fi - ;; -irix* | nonstopux*) - symcode='[[BCDEGRST]]' - ;; -osf*) - symcode='[[BCDEGQRST]]' - ;; -solaris*) - symcode='[[BDRT]]' - ;; -sco3.2v5*) - symcode='[[DT]]' - ;; -sysv4.2uw2*) - symcode='[[DT]]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[[ABDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGIRSTW]]' ;; -esac - -# Try without a prefix undercore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if grep ' nm_test_var$' "$nlist" >/dev/null; then - if grep ' nm_test_func$' "$nlist" >/dev/null; then - cat < conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + compiler=$CC + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) -EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test "$GXX" = yes; then + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + else + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + fi - cat <> conftest.$ac_ext -#if defined (__STDC__) && __STDC__ -# define lt_ptr_t void * -#else -# define lt_ptr_t char * -# define const -#endif + if test "$GXX" = yes; then + # Set up default GNU C++ configuration -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr_t address; -} -lt_preloaded_symbols[[]] = -{ -EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext - cat <<\EOF >> conftest.$ac_ext - {0, (lt_ptr_t) 0} -}; + LT_PATH_LD -#ifdef __cplusplus -} -#endif -EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD - fi + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi else - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + GXX=no + with_gnu_ld=no + wlarc= fi - else - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.$ac_ext >&5 - fi - rm -f conftest* conftst* - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi -]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE + # PORTME: fill in a description of your system's C++ link characteristics + AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) + _LT_TAGVAR(ld_shlibs, $1)=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aix[[4-9]]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac -# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) -# --------------------------------------- -AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], -[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi -AC_MSG_CHECKING([for $compiler option to produce PIC]) - ifelse([$1],[CXX],[ - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_TAGVAR(archive_cmds, $1)='' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' + + if test "$GXX" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)= + fi + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | os2* | pw32*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - interix3*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix4* | aix5*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + _LT_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty + # executable. + _LT_SYS_MODULE_PATH_AIX + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared + # libraries. + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + _LT_TAGVAR(ld_shlibs, $1)=no fi ;; + chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no ;; - esac + esac + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + darwin* | rhapsody*) + _LT_DARWIN_LINKER_FEATURES($1) ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - esac - ;; + dgux*) - case $cc_basename in - ec++*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no ;; - ghcx*) + ghcx*) # Green Hills C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no ;; - *) + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no ;; - esac - ;; - freebsd* | kfreebsd*-gnu | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi + esac + ;; + + freebsd[[12]]*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + freebsd-elf*) + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_TAGVAR(ld_shlibs, $1)=yes + ;; + + gnu*) + ;; + + hpux9*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + *) + if test "$GXX" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no ;; - aCC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + aCC*) case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; - *) + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. + esac + ;; + + interix[[3-9]]*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; - *) + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' + fi + fi + _LT_TAGVAR(link_all_deplibs, $1)=yes ;; - esac - ;; - linux*) - case $cc_basename in - KCC*) - # KAI C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + esac + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(inherit_rpath, $1)=yes + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; - icpc* | ecpc*) + icpc* | ecpc* ) # Intel C++ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgCC*) - # Portland Group C++ compiler. - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*) + _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' + _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ + $RANLIB $oldlib' + _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + *) # Version 6 will use weak symbols + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + ;; cxx*) # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + xl*) + # IBM XL 8.0 on PPC, with GNU ld + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi ;; *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + esac ;; esac ;; + lynxos*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no ;; + m88k*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no ;; + mvs*) - case $cc_basename in - cxx*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no ;; *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + + *nto* | *qnx*) + _LT_TAGVAR(ld_shlibs, $1)=yes ;; + + openbsd2*) + # C++ shared libraries are fairly broken + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd=echo + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; + esac ;; - RCC*) + RCC*) # Rational C++ 2.4.1 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no ;; - cxx*) - # Digital/Compaq C++ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + cxx*) + case $host in + osf3*) + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + ;; + *) + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ + $RM $lib.exp' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + case $host in + osf3*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi ;; - esac - ;; + esac + ;; + psos*) - ;; + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + solaris*) - case $cc_basename in - CC*) + case $cc_basename in + CC*) # Sun C++ 4.2, 5.x and Centerline C++ - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + ;; + esac + _LT_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; - gcx*) + gcx*) # Green Hills C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; - *) + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + fi + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi ;; - esac - ;; - sunos4*) + esac + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + case $cc_basename in - CC*) - # Sun C++ 4.x - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc*) - # Lucid - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + CC*) + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac - ;; + ;; + tandem*) - case $cc_basename in - NCC*) + case $cc_basename in + NCC*) # NonStop-UX NCC 3.20 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no ;; - esac - ;; + esac + ;; + vxworks*) - ;; + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + + AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) + test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + + _LT_TAGVAR(GCC, $1)="$GXX" + _LT_TAGVAR(LD, $1)="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_SYS_HIDDEN_LIBDEPS($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + CC=$lt_save_CC + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test "$_lt_caught_CXX_error" != yes + +AC_LANG_POP +])# _LT_LANG_CXX_CONFIG + + +# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) +# --------------------------------- +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +m4_defun([_LT_SYS_HIDDEN_LIBDEPS], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +# Dependencies to place before and after the object being linked: +_LT_TAGVAR(predep_objects, $1)= +_LT_TAGVAR(postdep_objects, $1)= +_LT_TAGVAR(predeps, $1)= +_LT_TAGVAR(postdeps, $1)= +_LT_TAGVAR(compiler_lib_search_path, $1)= + +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF +int a; +void foo (void) { a = 0; } +_LT_EOF +], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF +], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer*4 a + a=0 + return + end +_LT_EOF +], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer a + a=0 + return + end +_LT_EOF +], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF +public class foo { + private int a; + public void bar (void) { + a = 0; + } +}; +_LT_EOF +]) +dnl Parse the compiler output and extract the necessary +dnl objects, libraries and library flags. +if AC_TRY_EVAL(ac_compile); then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" || + test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then + _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" + else + _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$_LT_TAGVAR(postdeps, $1)"; then + _LT_TAGVAR(postdeps, $1)="${prev}${p}" + else + _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$_LT_TAGVAR(predep_objects, $1)"; then + _LT_TAGVAR(predep_objects, $1)="$p" + else + _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" + fi + else + if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then + _LT_TAGVAR(postdep_objects, $1)="$p" + else + _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling $1 test program" +fi + +$RM -f confest.$objext + +# PORTME: override above test on systems where it is broken +m4_if([$1], [CXX], +[case $host_os in +interix[[3-9]]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + _LT_TAGVAR(predep_objects,$1)= + _LT_TAGVAR(postdep_objects,$1)= + _LT_TAGVAR(postdeps,$1)= + ;; + +linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + if test "$solaris_use_stlport4" != yes; then + _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + +solaris*) + case $cc_basename in + CC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac +]) + +case " $_LT_TAGVAR(postdeps, $1) " in +*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; +esac + _LT_TAGVAR(compiler_lib_search_dirs, $1)= +if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then + _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` +fi +_LT_TAGDECL([], [compiler_lib_search_dirs], [1], + [The directories searched by this compiler when creating a shared library]) +_LT_TAGDECL([], [predep_objects], [1], + [Dependencies to place before and after the objects being linked to + create a shared library]) +_LT_TAGDECL([], [postdep_objects], [1]) +_LT_TAGDECL([], [predeps], [1]) +_LT_TAGDECL([], [postdeps], [1]) +_LT_TAGDECL([], [compiler_lib_search_path], [1], + [The library search path used internally by the compiler when linking + a shared library]) +])# _LT_SYS_HIDDEN_LIBDEPS + + +# _LT_PROG_F77 +# ------------ +# Since AC_PROG_F77 is broken, in that it returns the empty string +# if there is no fortran compiler, we have our own version here. +m4_defun([_LT_PROG_F77], +[ +pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes]) +AC_PROG_F77 +if test -z "$F77" || test "X$F77" = "Xno"; then + _lt_disable_F77=yes +fi +popdef([AC_MSG_ERROR]) +])# _LT_PROG_F77 + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([_LT_PROG_F77], []) + + +# _LT_LANG_F77_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a Fortran 77 compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_F77_CONFIG], +[AC_REQUIRE([_LT_PROG_F77])dnl +AC_LANG_PUSH(Fortran 77) + +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the F77 compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_disable_F77" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC="$CC" + lt_save_GCC=$GCC + CC=${F77-"f77"} + compiler=$CC + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + GCC=$G77 + if test -n "$compiler"; then + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test "$can_build_shared" = "no" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[[4-9]]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; esac - fi -], + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_TAGVAR(GCC, $1)="$G77" + _LT_TAGVAR(LD, $1)="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC="$lt_save_CC" +fi # test "$_lt_disable_F77" != yes + +AC_LANG_POP +])# _LT_LANG_F77_CONFIG + + +# _LT_PROG_FC +# ----------- +# Since AC_PROG_FC is broken, in that it returns the empty string +# if there is no fortran compiler, we have our own version here. +m4_defun([_LT_PROG_FC], [ - if test "$GCC" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' +pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes]) +AC_PROG_FC +if test -z "$FC" || test "X$FC" = "Xno"; then + _lt_disable_FC=yes +fi +popdef([AC_MSG_ERROR]) +])# _LT_PROG_FC - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([_LT_PROG_FC], []) - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; +# _LT_LANG_FC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for a Fortran compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_FC_CONFIG], +[AC_REQUIRE([_LT_PROG_FC])dnl +AC_LANG_PUSH(Fortran) + +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; +# Source file extension for fc test sources. +ac_ext=${ac_fc_srcext-f} - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; +# Object file extension for compiled fc test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext - interix3*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; +# No sense in running all these tests if we already determined that +# the FC compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_disable_FC" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC="$CC" + lt_save_GCC=$GCC + CC=${FC-"f95"} + compiler=$CC + GCC=$ac_cv_fc_compiler_gnu - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + + if test -n "$compiler"; then + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test "$can_build_shared" = "no" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. case $host_os in - aix*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[[4-9]]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" + _LT_TAGVAR(LD, $1)="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_SYS_HIDDEN_LIBDEPS($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC="$lt_save_CC" +fi # test "$_lt_disable_FC" != yes + +AC_LANG_POP +])# _LT_LANG_FC_CONFIG + + +# _LT_LANG_GCJ_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for the GNU Java Compiler compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_GCJ_CONFIG], +[AC_REQUIRE([LT_PROG_GCJ])dnl +AC_LANG_SAVE + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +lt_save_GCC=$GCC +GCC=yes +CC=${GCJ-"gcj"} +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_TAGVAR(LD, $1)="$LD" +_LT_CC_BASENAME([$compiler]) + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +_LT_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds + +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) +fi + +AC_LANG_RESTORE + +GCC=$lt_save_GCC +CC="$lt_save_CC" +])# _LT_LANG_GCJ_CONFIG + + +# _LT_LANG_RC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for the Windows resource compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_RC_CONFIG], +[AC_REQUIRE([LT_PROG_RC])dnl +AC_LANG_SAVE + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +lt_save_GCC=$GCC +GCC= +CC=${RC-"windres"} +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) +_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + +if test -n "$compiler"; then + : + _LT_CONFIG($1) +fi + +GCC=$lt_save_GCC +AC_LANG_RESTORE +CC="$lt_save_CC" +])# _LT_LANG_RC_CONFIG + + +# LT_PROG_GCJ +# ----------- +AC_DEFUN([LT_PROG_GCJ], +[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], + [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], + [AC_CHECK_TOOL(GCJ, gcj,) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS)])])[]dnl +]) + +# Old name: +AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_GCJ], []) + + +# LT_PROG_RC +# ---------- +AC_DEFUN([LT_PROG_RC], +[AC_CHECK_TOOL(RC, windres,) +]) + +# Old name: +AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_RC], []) + + +# _LT_DECL_EGREP +# -------------- +# If we don't have a new enough Autoconf to choose the best grep +# available, choose the one first in the user's PATH. +m4_defun([_LT_DECL_EGREP], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_REQUIRE([AC_PROG_FGREP])dnl +test -z "$GREP" && GREP=grep +_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) +_LT_DECL([], [EGREP], [1], [An ERE matcher]) +_LT_DECL([], [FGREP], [1], [A literal string matcher]) +dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too +AC_SUBST([GREP]) +]) + + +# _LT_DECL_OBJDUMP +# -------------- +# If we don't have a new enough Autoconf to choose the best objdump +# available, choose the one first in the user's PATH. +m4_defun([_LT_DECL_OBJDUMP], +[AC_CHECK_TOOL(OBJDUMP, objdump, false) +test -z "$OBJDUMP" && OBJDUMP=objdump +_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) +AC_SUBST([OBJDUMP]) +]) + + +# _LT_DECL_SED +# ------------ +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +m4_defun([_LT_DECL_SED], +[AC_PROG_SED +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" +_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) +_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], + [Sed that helps us avoid accidentally triggering echo(1) options like -n]) +])# _LT_DECL_SED + +m4_ifndef([AC_PROG_SED], [ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # + +m4_defun([AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - esac - ;; + done + done +done +IFS=$as_save_IFS +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_SUBST([SED]) +AC_MSG_RESULT([$SED]) +])#AC_PROG_SED +])#m4_ifndef - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; +# Old name: +AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_SED], []) - hpux9* | hpux10* | hpux11*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - ;; - irix5* | irix6* | nonstopux*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; +# _LT_CHECK_SHELL_FEATURES +# ------------------------ +# Find out whether the shell is Bourne or XSI compatible, +# or has some other useful features. +m4_defun([_LT_CHECK_SHELL_FEATURES], +[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) +# Try some XSI features +xsi_shell=no +( _lt_dummy="a/b/c" + test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ + = c,a/b,, \ + && eval 'test $(( 1 + 1 )) -eq 2 \ + && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ + && xsi_shell=yes +AC_MSG_RESULT([$xsi_shell]) +_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) + +AC_MSG_CHECKING([whether the shell understands "+="]) +lt_shell_append=no +( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ + >/dev/null 2>&1 \ + && lt_shell_append=yes +AC_MSG_RESULT([$lt_shell_append]) +_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) - newsos6) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi +_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl - linux*) - case $cc_basename in - icc* | ecc*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - ccc*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - esac - ;; +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac +_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl +_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl +])# _LT_CHECK_SHELL_FEATURES - osf3* | osf4* | osf5*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - solaris*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac - ;; +# _LT_PROG_XSI_SHELLFNS +# --------------------- +# Bourne and XSI compatible variants of some useful shell functions. +m4_defun([_LT_PROG_XSI_SHELLFNS], +[case $xsi_shell in + yes) + cat << \_LT_EOF >> "$cfgfile" + +# func_dirname file append nondir_replacement +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +func_dirname () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac +} - sunos4*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; +# func_basename file +func_basename () +{ + func_basename_result="${1##*/}" +} - sysv4 | sysv4.2uw2* | sysv4.3*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; +# func_dirname_and_basename file append nondir_replacement +# perform func_basename and func_dirname in a single function +# call: +# dirname: Compute the dirname of FILE. If nonempty, +# add APPEND to the result, otherwise set result +# to NONDIR_REPLACEMENT. +# value returned in "$func_dirname_result" +# basename: Compute filename of FILE. +# value retuned in "$func_basename_result" +# Implementation must be kept synchronized with func_dirname +# and func_basename. For efficiency, we do not delegate to +# those functions but instead duplicate the functionality here. +func_dirname_and_basename () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac + func_basename_result="${1##*/}" +} - sysv4*MP*) - if test -d /usr/nec ;then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; +# func_stripname prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +func_stripname () +{ + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are + # positional parameters, so assign one to ordinary parameter first. + func_stripname_result=${3} + func_stripname_result=${func_stripname_result#"${1}"} + func_stripname_result=${func_stripname_result%"${2}"} +} - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; +# func_opt_split +func_opt_split () +{ + func_opt_split_opt=${1%%=*} + func_opt_split_arg=${1#*=} +} - unicos*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; +# func_lo2o object +func_lo2o () +{ + case ${1} in + *.lo) func_lo2o_result=${1%.lo}.${objext} ;; + *) func_lo2o_result=${1} ;; + esac +} - uts4*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=${1%.*}.lo +} - *) - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=$(( $[*] )) +} -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then - AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], - _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), - [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=${#1} +} + +_LT_EOF ;; -esac + *) # Bourne compatible functions. + cat << \_LT_EOF >> "$cfgfile" -# -# Check to make sure the static flag actually works. -# -wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" -AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], - _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), - $lt_tmp_static_flag, - [], - [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) -]) +# func_dirname file append nondir_replacement +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +func_dirname () +{ + # Extract subdirectory from the argument. + func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` + if test "X$func_dirname_result" = "X${1}"; then + func_dirname_result="${3}" + else + func_dirname_result="$func_dirname_result${2}" + fi +} +# func_basename file +func_basename () +{ + func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` +} -# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) -# ------------------------------------ -# See if the linker supports building shared libraries. -AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], -[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -ifelse([$1],[CXX],[ - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - case $host_os in - aix4* | aix5*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - else - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" - ;; - cygwin* | mingw*) - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' - ;; - *) - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac -],[ - runpath_var= - _LT_AC_TAGVAR(allow_undefined_flag, $1)= - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_AC_TAGVAR(archive_cmds, $1)= - _LT_AC_TAGVAR(archive_expsym_cmds, $1)= - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= - _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_minus_L, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown - _LT_AC_TAGVAR(hardcode_automatic, $1)=no - _LT_AC_TAGVAR(module_cmds, $1)= - _LT_AC_TAGVAR(module_expsym_cmds, $1)= - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_AC_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - _LT_CC_BASENAME([$compiler]) - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; +dnl func_dirname_and_basename +dnl A portable version of this function is already defined in general.m4sh +dnl so there is no need for it here. + +# func_stripname prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +# func_strip_suffix prefix name +func_stripname () +{ + case ${2} in + .*) func_stripname_result=`$ECHO "X${3}" \ + | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; + *) func_stripname_result=`$ECHO "X${3}" \ + | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; esac +} - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' +# sed scripts: +my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q' +my_sed_long_arg='1s/^-[[^=]]*=//' - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac +# func_opt_split +func_opt_split () +{ + func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` + func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` +} - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <&2 +# func_lo2o object +func_lo2o () +{ + func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` +} -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'` +} -EOF - fi - ;; +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=`expr "$[@]"` +} - amigaos*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len` +} - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; +_LT_EOF +esac - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' +case $lt_shell_append in + yes) + cat << \_LT_EOF >> "$cfgfile" + +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "$[1]+=\$[2]" +} +_LT_EOF + ;; + *) + cat << \_LT_EOF >> "$cfgfile" - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "$[1]=\$$[1]\$[2]" +} - interix3*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; +_LT_EOF + ;; + esac +]) - linux*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +# Helper functions for option handling. -*- Autoconf -*- +# +# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. +# Written by Gary V. Vaughan, 2004 +# +# 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. - if test $supports_anon_versioning = yes; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; +# serial 6 ltoptions.m4 - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <&2 -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. +# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) +# ------------------------------------------ +m4_define([_LT_MANGLE_OPTION], +[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 +# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) +# --------------------------------------- +# Set option OPTION-NAME for macro MACRO-NAME, and if there is a +# matching handler defined, dispatch to it. Other OPTION-NAMEs are +# saved as a flag. +m4_define([_LT_SET_OPTION], +[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl +m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), + _LT_MANGLE_DEFUN([$1], [$2]), + [m4_warning([Unknown $1 option `$2'])])[]dnl +]) + + +# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) +# ------------------------------------------------------------ +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +m4_define([_LT_IF_OPTION], +[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) + -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. +# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) +# ------------------------------------------------------- +# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME +# are set. +m4_define([_LT_UNLESS_OPTIONS], +[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), + [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), + [m4_define([$0_found])])])[]dnl +m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 +])[]dnl +]) -_LT_EOF - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - sunos4*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; +# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) +# ---------------------------------------- +# OPTION-LIST is a space-separated list of Libtool options associated +# with MACRO-NAME. If any OPTION has a matching handler declared with +# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about +# the unknown option and exit. +m4_defun([_LT_SET_OPTIONS], +[# Set options +m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), + [_LT_SET_OPTION([$1], _LT_Option)]) + +m4_if([$1],[LT_INIT],[ + dnl + dnl Simply set some default values (i.e off) if boolean options were not + dnl specified: + _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no + ]) + _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no + ]) + dnl + dnl If no reference was made to various pairs of opposing options, then + dnl we run the default mode handler for the pair. For example, if neither + dnl `shared' nor `disable-shared' was passed, we enable building of shared + dnl archives by default: + _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) + _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) + _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) + _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], + [_LT_ENABLE_FAST_INSTALL]) + ]) +])# _LT_SET_OPTIONS - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then - runpath_var= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - fi - ;; - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - else - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no +# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) +# ----------------------------------------- +m4_define([_LT_MANGLE_DEFUN], +[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi +# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) +# ----------------------------------------------- +m4_define([LT_OPTION_DEFINE], +[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl +])# LT_OPTION_DEFINE - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - _LT_AC_TAGVAR(archive_cmds, $1)='' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes +# dlopen +# ------ +LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes +]) - if test "$GCC" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - else - # We have old collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi +AU_DEFUN([AC_LIBTOOL_DLOPEN], +[_LT_SET_OPTION([LT_INIT], [dlopen]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `dlopen' option into LT_INIT's first parameter.]) +]) - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) - amigaos*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - # see comment about different semantics on the GNU ld section - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - bsdi[[45]]*) - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; +# win32-dll +# --------- +# Declare package support for building win32 dll's. +LT_OPTION_DEFINE([LT_INIT], [win32-dll], +[enable_win32_dll=yes - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' - _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; +case $host in +*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; +esac - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_automatic, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi - ;; +test -z "$AS" && AS=as +_LT_DECL([], [AS], [0], [Assembler program])dnl - dgux*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; +test -z "$DLLTOOL" && DLLTOOL=dlltool +_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl - freebsd1*) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; +test -z "$OBJDUMP" && OBJDUMP=objdump +_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl +])# win32-dll - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; +AU_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +_LT_SET_OPTION([LT_INIT], [win32-dll]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `win32-dll' option into LT_INIT's first parameter.]) +]) - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu | dragonfly*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + +# _LT_ENABLE_SHARED([DEFAULT]) +# ---------------------------- +# implement the --enable-shared flag, and supports the `shared' and +# `disable-shared' LT_INIT options. +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +m4_define([_LT_ENABLE_SHARED], +[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([shared], + [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" ;; + esac], + [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) - hpux9*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_DECL([build_libtool_libs], [enable_shared], [0], + [Whether or not to build shared libraries]) +])# _LT_ENABLE_SHARED - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; +LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: +# Old names: +AC_DEFUN([AC_ENABLE_SHARED], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) +]) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' +AC_DEFUN([AC_DISABLE_SHARED], +[_LT_SET_OPTION([LT_INIT], [disable-shared]) +]) - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - fi - ;; +AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_ENABLE_SHARED], []) +dnl AC_DEFUN([AM_DISABLE_SHARED], []) - case $host_cpu in - hppa*64*|ia64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes +# _LT_ENABLE_STATIC([DEFAULT]) +# ---------------------------- +# implement the --enable-static flag, and support the `static' and +# `disable-static' LT_INIT options. +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +m4_define([_LT_ENABLE_STATIC], +[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([static], + [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" ;; + esac], + [enable_static=]_LT_ENABLE_STATIC_DEFAULT) - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; + _LT_DECL([build_old_libs], [enable_static], [0], + [Whether or not to build static libraries]) +])# _LT_ENABLE_STATIC - newsos6) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; +LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) - openbsd*) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - else - case $host_os in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - ;; - esac - fi - ;; +# Old names: +AC_DEFUN([AC_ENABLE_STATIC], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) +]) - os2*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; +AC_DEFUN([AC_DISABLE_STATIC], +[_LT_SET_OPTION([LT_INIT], [disable-static]) +]) - osf3*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; +AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - else - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_ENABLE_STATIC], []) +dnl AC_DEFUN([AM_DISABLE_STATIC], []) - # Both c and cxx compiler support -rpath directly - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - solaris*) - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' - if test "$GCC" = yes; then - wlarc='${wl}' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - wlarc='' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine linker options so we - # cannot just pass the convience library names through - # without $wl, iff we do not link with $LD. - # Luckily, gcc supports the same syntax we need for Sun Studio. - # Supported since Solaris 2.6 (maybe 2.5.1?) - case $wlarc in - '') - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; - *) - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; - esac ;; - esac - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no +# _LT_ENABLE_FAST_INSTALL([DEFAULT]) +# ---------------------------------- +# implement the --enable-fast-install flag, and support the `fast-install' +# and `disable-fast-install' LT_INIT options. +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +m4_define([_LT_ENABLE_FAST_INSTALL], +[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([fast-install], + [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" ;; + esac], + [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) - sysv4) - case $host_vendor in - sni) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; +_LT_DECL([fast_install], [enable_fast_install], [0], + [Whether or not to optimize for fast installation])dnl +])# _LT_ENABLE_FAST_INSTALL + +LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) + +# Old names: +AU_DEFUN([AC_ENABLE_FAST_INSTALL], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the `fast-install' option into LT_INIT's first parameter.]) +]) - sysv4.3*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; +AU_DEFUN([AC_DISABLE_FAST_INSTALL], +[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the `disable-fast-install' option into LT_INIT's first parameter.]) +]) - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - fi - ;; +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) +dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*) - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; +# _LT_WITH_PIC([MODE]) +# -------------------- +# implement the --with-pic flag, and support the `pic-only' and `no-pic' +# LT_INIT options. +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +m4_define([_LT_WITH_PIC], +[AC_ARG_WITH([pic], + [AS_HELP_STRING([--with-pic], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [pic_mode=default]) - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' +test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; +_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl +])# _LT_WITH_PIC - uts4*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; +LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) +LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi +# Old name: +AU_DEFUN([AC_LIBTOOL_PICMODE], +[_LT_SET_OPTION([LT_INIT], [pic-only]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `pic-only' option into LT_INIT's first parameter.]) ]) -AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) -test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) + + +m4_define([_LTDL_MODE], []) +LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], + [m4_define([_LTDL_MODE], [nonrecursive])]) +LT_OPTION_DEFINE([LTDL_INIT], [recursive], + [m4_define([_LTDL_MODE], [recursive])]) +LT_OPTION_DEFINE([LTDL_INIT], [subproject], + [m4_define([_LTDL_MODE], [subproject])]) + +m4_define([_LTDL_TYPE], []) +LT_OPTION_DEFINE([LTDL_INIT], [installable], + [m4_define([_LTDL_TYPE], [installable])]) +LT_OPTION_DEFINE([LTDL_INIT], [convenience], + [m4_define([_LTDL_TYPE], [convenience])]) + +# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # -# Do we need to explicitly link libc? +# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. +# Written by Gary V. Vaughan, 2004 # -case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes +# 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. - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $_LT_AC_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_MSG_CHECKING([whether -lc should be explicitly linked in]) - $rm conftest* - printf "$lt_simple_compile_test_code" > conftest.$ac_ext +# serial 6 ltsugar.m4 - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) - pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) - _LT_AC_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) - then - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - else - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) - ;; - esac - fi - ;; -esac -])# AC_LIBTOOL_PROG_LD_SHLIBS +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) -# _LT_AC_FILE_LTDLL_C -# ------------------- -# Be careful that the start marker always follows a newline. -AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ -# /* ltdll.c starts here */ -# #define WIN32_LEAN_AND_MEAN -# #include -# #undef WIN32_LEAN_AND_MEAN -# #include -# -# #ifndef __CYGWIN__ -# # ifdef __CYGWIN32__ -# # define __CYGWIN__ __CYGWIN32__ -# # endif -# #endif -# -# #ifdef __cplusplus -# extern "C" { -# #endif -# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); -# #ifdef __cplusplus -# } -# #endif -# -# #ifdef __CYGWIN__ -# #include -# DECLARE_CYGWIN_DLL( DllMain ); -# #endif -# HINSTANCE __hDllInstance_base; -# -# BOOL APIENTRY -# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) -# { -# __hDllInstance_base = hInst; -# return TRUE; -# } -# /* ltdll.c ends here */ -])# _LT_AC_FILE_LTDLL_C +# lt_join(SEP, ARG1, [ARG2...]) +# ----------------------------- +# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their +# associated separator. +# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier +# versions in m4sugar had bugs. +m4_define([lt_join], +[m4_if([$#], [1], [], + [$#], [2], [[$2]], + [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) +m4_define([_lt_join], +[m4_if([$#$2], [2], [], + [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) -# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) -# --------------------------------- -AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) +# lt_car(LIST) +# lt_cdr(LIST) +# ------------ +# Manipulate m4 lists. +# These macros are necessary as long as will still need to support +# Autoconf-2.59 which quotes differently. +m4_define([lt_car], [[$1]]) +m4_define([lt_cdr], +[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], + [$#], 1, [], + [m4_dquote(m4_shift($@))])]) +m4_define([lt_unquote], $1) + + +# lt_append(MACRO-NAME, STRING, [SEPARATOR]) +# ------------------------------------------ +# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. +# Note that neither SEPARATOR nor STRING are expanded; they are appended +# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). +# No SEPARATOR is output if MACRO-NAME was previously undefined (different +# than defined and empty). +# +# This macro is needed until we can rely on Autoconf 2.62, since earlier +# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. +m4_define([lt_append], +[m4_define([$1], + m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) -# old names -AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) -AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) -AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) -AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) -AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) -# This is just to silence aclocal about the macro not being used -ifelse([AC_DISABLE_FAST_INSTALL]) +# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) +# ---------------------------------------------------------- +# Produce a SEP delimited list of all paired combinations of elements of +# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list +# has the form PREFIXmINFIXSUFFIXn. +# Needed until we can rely on m4_combine added in Autoconf 2.62. +m4_define([lt_combine], +[m4_if(m4_eval([$# > 3]), [1], + [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl +[[m4_foreach([_Lt_prefix], [$2], + [m4_foreach([_Lt_suffix], + ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, + [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) + + +# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) +# ----------------------------------------------------------------------- +# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited +# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. +m4_define([lt_if_append_uniq], +[m4_ifdef([$1], + [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], + [lt_append([$1], [$2], [$3])$4], + [$5])], + [lt_append([$1], [$2], [$3])$4])]) -AC_DEFUN([LT_AC_PROG_GCJ], -[AC_CHECK_TOOL(GCJ, gcj, no) - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS) -]) -AC_DEFUN([LT_AC_PROG_RC], -[AC_CHECK_TOOL(RC, windres, no) -]) +# lt_dict_add(DICT, KEY, VALUE) +# ----------------------------- +m4_define([lt_dict_add], +[m4_define([$1($2)], [$3])]) -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -# LT_AC_PROG_SED -# -------------- -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -AC_DEFUN([LT_AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done + +# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) +# -------------------------------------------- +m4_define([lt_dict_add_subkey], +[m4_define([$1($2:$3)], [$4])]) + + +# lt_dict_fetch(DICT, KEY, [SUBKEY]) +# ---------------------------------- +m4_define([lt_dict_fetch], +[m4_ifval([$3], + m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), + m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) + + +# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) +# ----------------------------------------------------------------- +m4_define([lt_if_dict_fetch], +[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], + [$5], + [$6])]) + + +# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) +# -------------------------------------------------------------- +m4_define([lt_dict_filter], +[m4_if([$5], [], [], + [lt_join(m4_quote(m4_default([$4], [[, ]])), + lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), + [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl ]) -SED=$lt_cv_path_SED -AC_MSG_RESULT([$SED]) + +# ltversion.m4 -- version numbers -*- Autoconf -*- +# +# Copyright (C) 2004 Free Software Foundation, Inc. +# Written by Scott James Remnant, 2004 +# +# 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. + +# Generated from ltversion.in. + +# serial 3012 ltversion.m4 +# This file is part of GNU Libtool + +m4_define([LT_PACKAGE_VERSION], [2.2.6]) +m4_define([LT_PACKAGE_REVISION], [1.3012]) + +AC_DEFUN([LTVERSION_VERSION], +[macro_version='2.2.6' +macro_revision='1.3012' +_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) +_LT_DECL(, macro_revision, 0) ]) -# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. +# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- +# +# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. +# Written by Scott James Remnant, 2004. +# +# 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 4 lt~obsolete.m4 + +# These exist entirely to fool aclocal when bootstrapping libtool. +# +# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) +# which have later been changed to m4_define as they aren't part of the +# exported API, or moved to Autoconf or Automake where they belong. +# +# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN +# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us +# using a macro with the same name in our local m4/libtool.m4 it'll +# pull the old libtool.m4 in (it doesn't see our shiny new m4_define +# and doesn't know about Autoconf macros at all.) +# +# So we provide this file, which has a silly filename so it's always +# included after everything else. This provides aclocal with the +# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything +# because those macros already exist, or will be overwritten later. +# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. +# +# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. +# Yes, that means every name once taken will need to remain here until +# we give up compatibility with versions before 1.7, at which point +# we need to keep only those names which we still refer to. + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) + +m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) +m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) +m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) +m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) +m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) +m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) +m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) +m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) +m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) +m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) +m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) +m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) +m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) +m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) +m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) +m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) +m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) +m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) +m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) +m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) +m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) +m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) +m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) +m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) +m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) +m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) +m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) +m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) +m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) +m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) +m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) +m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) +m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) +m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) +m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) +m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) +m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) +m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])]) +m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) +m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) +m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) +m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) +m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) +m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) +m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) +m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) + +# Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -6398,14 +7975,31 @@ # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. -AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) +# (This private macro should not be called outside this file.) +AC_DEFUN([AM_AUTOMAKE_VERSION], +[am__api_version='1.10' +dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to +dnl require some minimum version. Point them to the right macro. +m4_if([$1], [1.10.1], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +]) + +# _AM_AUTOCONF_VERSION(VERSION) +# ----------------------------- +# aclocal traces this macro to find the Autoconf version. +# This is a private macro too. Using m4_define simplifies +# the logic in aclocal, which can simply ignore this definition. +m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- -# Call AM_AUTOMAKE_VERSION so it can be traced. +# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], - [AM_AUTOMAKE_VERSION([1.9.6])]) +[AM_AUTOMAKE_VERSION([1.10.1])dnl +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- @@ -6462,14 +8056,14 @@ # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 +# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 # 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 7 +# serial 8 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- @@ -6478,8 +8072,10 @@ [AC_PREREQ(2.52)dnl ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE]) -AC_SUBST([$1_FALSE]) +AC_SUBST([$1_TRUE])dnl +AC_SUBST([$1_FALSE])dnl +_AM_SUBST_NOTMAKE([$1_TRUE])dnl +_AM_SUBST_NOTMAKE([$1_FALSE])dnl if $2; then $1_TRUE= $1_FALSE='#' @@ -6493,15 +8089,14 @@ Usually this means the macro was only invoked conditionally.]]) fi])]) - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 # 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 8 +# serial 9 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, @@ -6529,6 +8124,7 @@ ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], UPC, [depcc="$UPC" am_compiler_list=], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) @@ -6594,6 +8190,7 @@ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then @@ -6646,7 +8243,8 @@ AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH]) +AC_SUBST([AMDEPBACKSLASH])dnl +_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- @@ -6671,8 +8269,9 @@ # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. - # So let's grep whole file. - if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue @@ -6719,14 +8318,14 @@ # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -# Free Software Foundation, Inc. +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005, 2006, 2008 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 12 +# serial 13 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. @@ -6743,16 +8342,20 @@ # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.58])dnl +[AC_PREREQ([2.60])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl -# test to see if srcdir already configured -if test "`cd $srcdir && pwd`" != "`pwd`" && - test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) + fi fi # test whether we have cygpath @@ -6772,6 +8375,9 @@ AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl +dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. +m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, + [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl @@ -6807,6 +8413,10 @@ [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES(OBJC)], + [define([AC_PROG_OBJC], + defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl ]) ]) @@ -6820,16 +8430,17 @@ # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. +_am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in - $1 | $1:* ) + $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done -echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) +echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # @@ -6842,7 +8453,7 @@ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -install_sh=${install_sh-"$am_aux_dir/install-sh"} +install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. @@ -6920,14 +8531,14 @@ # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005 +# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 # 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 4 +# serial 5 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ @@ -6943,6 +8554,7 @@ # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([missing])dnl test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then @@ -6953,7 +8565,7 @@ fi ]) -# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. +# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -6961,60 +8573,23 @@ # AM_PROG_MKDIR_P # --------------- -# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. -# -# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories -# created by `make install' are always world readable, even if the -# installer happens to have an overly restrictive umask (e.g. 077). -# This was a mistake. There are at least two reasons why we must not -# use `-m 0755': -# - it causes special bits like SGID to be ignored, -# - it may be too restrictive (some setups expect 775 directories). -# -# Do not use -m 0755 and let people choose whatever they expect by -# setting umask. -# -# We cannot accept any implementation of `mkdir' that recognizes `-p'. -# Some implementations (such as Solaris 8's) are not thread-safe: if a -# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' -# concurrently, both version can detect that a/ is missing, but only -# one can create it and the other will error out. Consequently we -# restrict ourselves to GNU make (using the --version option ensures -# this.) +# Check for `mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], -[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then - # We used to keeping the `.' as first argument, in order to - # allow $(mkdir_p) to be used without argument. As in - # $(mkdir_p) $(somedir) - # where $(somedir) is conditionally defined. However this is wrong - # for two reasons: - # 1. if the package is installed by a user who cannot write `.' - # make install will fail, - # 2. the above comment should most certainly read - # $(mkdir_p) $(DESTDIR)$(somedir) - # so it does not work when $(somedir) is undefined and - # $(DESTDIR) is not. - # To support the latter case, we have to write - # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), - # so the `.' trick is pointless. - mkdir_p='mkdir -p --' -else - # On NextStep and OpenStep, the `mkdir' command does not - # recognize any option. It will interpret all options as - # directories to create, and then abort because `.' already - # exists. - for d in ./-p ./--version; - do - test -d $d && rmdir $d - done - # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. - if test -f "$ac_aux_dir/mkinstalldirs"; then - mkdir_p='$(mkinstalldirs)' - else - mkdir_p='$(install_sh) -d' - fi -fi -AC_SUBST([mkdir_p])]) +[AC_PREREQ([2.60])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, +dnl while keeping a definition of mkdir_p for backward compatibility. +dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. +dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of +dnl Makefile.ins that do not define MKDIR_P, so we do our own +dnl adjustment using top_builddir (which is defined more often than +dnl MKDIR_P). +AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl +case $mkdir_p in + [[\\/$]]* | ?:[[\\/]]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac +]) # Helper functions for option handling. -*- Autoconf -*- @@ -7126,9 +8701,21 @@ if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi -INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) +# Copyright (C) 2006 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. + +# _AM_SUBST_NOTMAKE(VARIABLE) +# --------------------------- +# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. +# This macro is traced by Automake. +AC_DEFUN([_AM_SUBST_NOTMAKE]) + # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005 Free Software Foundation, Inc. @@ -7225,4 +8812,5 @@ AC_SUBST([am__untar]) ]) # _AM_PROG_TAR -m4_include([acinclude.m4]) +m4_include([m4/acinclude.m4]) +m4_include([m4/ax_create_stdint_h.m4]) diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/AUTHORS /tmp/1tgnNoYBLI/dirac-1.0.2/AUTHORS --- dirac-0.9.1/AUTHORS 2007-05-04 11:53:34.000000000 +0100 +++ dirac-1.0.2/AUTHORS 2009-02-10 00:16:02.000000000 +0000 @@ -1,30 +1,30 @@ ORIGINAL AUTHORS ~~~~~~~~~~~~~~~~ -Thomas Davies, BBC Research and Development -dirac@rd.bbc.co.uk +Thomas Davies, BBC Research +diracinfo@rd.bbc.co.uk CONTRIBUTORS ~~~~~~~~~~~~ (in no particular order) -Richard Felton, BBC Research and Development -dirac@rd.bbc.co.uk +Richard Felton, BBC Research +diracinfo@rd.bbc.co.uk Scott Robert Ladd, Coyote Gulch Productions coyote@coyotegulch.com -Stuart Cunningham, BBC Research and Development -dirac@rd.bbc.co.uk +Stuart Cunningham, BBC Research +diracinfo@rd.bbc.co.uk -Anuradha Suraparaju, BBC Research and Development -dirac@rd.bbc.co.uk +Anuradha Suraparaju, BBC Research +diracinfo@rd.bbc.co.uk -Chris Bowley, BBC Research and Development -dirac@rd.bbc.co.uk +Chris Bowley, BBC Research +diracinfo@rd.bbc.co.uk -Tim Borer, BBC Research and Development -dirac@rd.bbc.co.uk +Tim Borer, BBC Research +diracinfo@rd.bbc.co.uk Peter Meerwald pmeerw@users.sourceforge.net @@ -38,11 +38,15 @@ Mike Ferenduros mike_ferenduros@users.sourceforge.net -Andrew Kennedy, BBC Research and Development -dirac@rd.bbc.co.uk +Andrew Kennedy +diracinfo@rd.bbc.co.uk -Peter Bleackley, BBC Research and Development -dirac@rd.bbc.co.uk +Peter Bleackley, BBC Research +diracinfo@rd.bbc.co.uk Myo Tun, Brunel University myo.tun@brunel.ac.uk + +David Flynn, BBC Research +diracinfo@rd.bbc.co.uk + diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/bootstrap /tmp/1tgnNoYBLI/dirac-1.0.2/bootstrap --- dirac-0.9.1/bootstrap 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/bootstrap 2008-05-06 10:35:51.000000000 +0100 @@ -0,0 +1,21 @@ +#!/bin/sh +# +# Extremely basic script to regenerate the autoconf files etc +# +# 11th March 2004 Copyright BBC + +# remove generated files (avoids clashes between versions of autotools) +rm -f depcomp missing install-sh mkinstalldirs +rm -f aclocal.m4 configure Makefile.in config.guess ltmain.sh config.sub +rm -rf autom4te.cache + +set -x +aclocal -I m4 +libtoolize --force --copy +automake --foreign --copy --add-missing +if [ $? -ne 0 ]; +then + echo "automake failed" + exit -3 +fi +autoconf diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/ChangeLog /tmp/1tgnNoYBLI/dirac-1.0.2/ChangeLog --- dirac-0.9.1/ChangeLog 2008-01-26 12:11:44.000000000 +0000 +++ dirac-1.0.2/ChangeLog 2009-02-10 23:26:54.000000000 +0000 @@ -1,3 +1,2101 @@ +2009-02-10 14:12 asuraparaju + + * win32/VisualStudio/Makefile.am: Include YUV420ItoYUV422I.vcproj + and YUV422ItoYUV420I.vcproj in list of distribution files. + + Author: Anuradha Suraparaju + +2009-02-10 14:04 asuraparaju + + * win32/: VS2003/libdirac_common/libdirac_common.vcproj, + VisualStudio/libdirac_common/libdirac_common.vcproj: Include + band_codec_template.h in list of headers. + + Author: Anuradha Suraparaju + +2009-02-10 12:46 asuraparaju + + * libdirac_common/: Makefile.am, band_codec.cpp, + band_codec_template.cpp, band_codec_template.h, band_vlc.cpp: + Renamed band_codec_template.cpp to band_codec_template.h + + Author: Anuradha Suraparaju + +2009-02-10 11:32 asuraparaju + + * ChangeLog: Update ChangeLog + + Author: Anuradha Suraparaju + +2009-02-10 11:17 asuraparaju + + * NEWS: Include Dirac 1.0.2 release notes. + + Author: Anuradha Suraparaju + +2009-02-10 11:17 asuraparaju + + * README: Updated notes to reflect API changes. Some cosmetic + changes as well. + + Author: Anuradha Suraparaju + +2009-02-10 11:16 asuraparaju + + * configure.ac: Update release id to 1.0.2. + + Author: Anuradha Suraparaju + +2009-02-10 11:16 asuraparaju + + * AUTHORS: Update contributors list. + + Author: Anuradha Suraparaju + +2009-02-10 11:04 asuraparaju + + * + doc/documentation/code/programmers_guide/encoder_data_structs.htm: + The default wavelet filters used have changed to DD13_7 for both + intra and inter pictures. + +2009-02-10 10:57 asuraparaju + + * + doc/documentation/code/programmers_guide/encoder_data_structs.htm: + Fix instrumentation structure documentation. The field names have + changed in the API to be super blocks and not macro blocks. + +2009-02-09 20:45 asuraparaju + + * tests/samples.at: Remove test for full_search option. Add test + for modified block sizes. + + Author: asuraparaju@diracvideo.org + +2009-02-09 20:44 asuraparaju + + * libdirac_common/band_vlc.h: Fix GCC 4.1.2 warning. + + Author: asuraparaju@diracvideo.org + +2009-01-21 16:23 asuraparaju + + * decoder/decmain.cpp: Actually fix the issue addressed in + (082d7a2) (ignored result from fwrite) + + Ubuntu forcibly enables FORTIFY_SOURCE, which warns on unused + return values on fwrite. This may either be fixed by: #undef + _FORTIFY_SOURCE #define _FORTIFY_SOURCE 0 + + Or, by causing the application to exit on a short write. + + NB, it could also be solved by doing a series of fwrites(), and + checking ferror() at the end of them. FORTIFY_SOURCE would still + fail in this case. + + Author: David Flynn + +2009-01-21 16:22 asuraparaju + + * decoder/decmain.cpp: fix build error with -Werror and igored + return value from fwrite(3c) + + It should be noted that the return value from fwrite is mostly + useless: if the arguments to fwrite do not set size=1, then there + is little hope of discovering howmuch data had been written + before the error. C99 states: If an error occurs, the resulting + value of the file position indicator for the stream is + indeterminate. + + Error squashed by discarding result. + + Author: David Flynn + +2009-01-21 16:22 asuraparaju + + * libdirac_encoder/quant_chooser.cpp: encoder: remove limit on DC + quantizer. + + Previous fixes should remove the requirement to limit qf on DC + blocks to 4. + + Author: David Flynn + +2009-01-21 16:21 asuraparaju + + * libdirac_common/common.cpp: encoder: Ensure that there is atleast + 1 codeblock per subband + + Author: David Flynn + +2009-01-21 16:20 asuraparaju + + * libdirac_encoder/picture_compress.cpp: encoder: remove dc + quantizer=0 hacks + + Fixes in bitstream handling and quant selection should've negated + the need for these hacks. + + Author: David Flynn Committer: David Flynn + + +2009-01-21 16:20 asuraparaju + + * libdirac_encoder/picture_compress.cpp: encoder: dont quantize the + first dc codeblock + + - Attempt to reduce DC errors by effectively not quantizing the + first value (predicted from zero). + + Author: David Flynn + +2009-01-21 16:19 asuraparaju + + * libdirac_common/common.cpp: encoder: Fix (and increase number of + ) default codeblocks + + - Fix previously incorrect codeblock calculation - Create 4x4 + codeblocks for DC subband and 12x12 for all others + + Author: David Flynn + +2009-01-21 16:18 asuraparaju + + * libdirac_encoder/quant_chooser.cpp: encoder: fix calculation of + max value in a subband for quant selection + + Author: David Flynn + +2009-01-21 16:18 asuraparaju + + * libdirac_byteio/byteio.h, libdirac_common/band_codec.cpp, + libdirac_common/band_codec.h, + libdirac_common/band_codec_template.cpp, + libdirac_common/band_vlc.cpp, libdirac_common/band_vlc.h, + libdirac_decoder/comp_decompress.cpp, + libdirac_encoder/comp_compress.cpp: bandcodec: IntraDCBandVLC + needs to derive from GenericIntraDCBandCodec + + - modified the band codec files to add a GenericIntraDCBandCodec + class + that inherits from the GenericBandCodecClass. + It defines the common DC specific functions like + GetPrediction, + ClearBlock, DecodeCoeffBlock etc. + - The IntraDCBand classes inherit from the GenericBandCodecClass + now. + - modifed the ArithmeticCodecToVLCAdapter class to include the + Compress/Decompress functions and to have pure virtual + WorkCode/WorkDecode functions like the ArithCodec class. + + Author: Anuradha Suraparaju Committer: + David Flynn + +2009-01-21 16:17 asuraparaju + + * libdirac_byteio/byteio.h, libdirac_common/band_codec.cpp, + libdirac_common/band_codec.h, + libdirac_common/band_codec_template.cpp, + libdirac_common/band_vlc.cpp, libdirac_common/band_vlc.h: + bandcodec: Remove code duplication in band_vlc.cpp + + BandVLC + friends is mostly a copy and paste of BandCodec + + friends. - Rename BandCodec to GenericBandCodec - Template + GenericBandCodec to take some EntropyCoder - typedef BandCodec + to be GenericBandCodec with ArithCodec - implement a translator + for ArithCodec style calls -> VLC ByteIO calls. - derive + BandVLC from GenericBandCodec and above translator. + + Author: David Flynn + +2009-01-21 16:16 asuraparaju + + * libdirac_common/: band_codec.cpp, band_codec.h: bandcodec: fix DC + prediction when decoding + + Author: Anuradha Suraparaju Committer: + David Flynn + +2009-01-21 16:16 asuraparaju + + * libdirac_common/: band_codec.cpp, band_codec.h: bandcodec: fix + handling intra dc skipped codeblocks + + - The error(residue) term for a skipped codeblock is zero This + must be recorded to correctly set nhood_zero for subsequent + blocks - The values in the skipped codeblock must be predicted + with no (ie zero) error term being added. + + Author: David Flynn Committer: David Flynn + + +2009-01-21 16:15 asuraparaju + + * libdirac_common/: band_codec.cpp, band_codec.h: bandcodec: fix + IntraDC bitstream incompatability with codeblocks + + - Fixes bitstream incompatability with codeblocks + - IntraDCBandCodec duplicated too much copy+paste code from + BandCodec. + - Implements a per pixel function call to provide + specialization. + This could be templated if performance really is an issue. + + Author: David Flynn Committer: David Flynn + + +2009-01-21 16:15 asuraparaju + + * libdirac_common/: band_codec.cpp, band_codec.h: bandcodec: + eliminate sepcialized lfbandcodec + + - Fixes bitstream incompatability with codeblocks - + Specialization has been moved into bandcodec. due to too much + copy and paste code duplication. + + Author: David Flynn + +2009-01-21 16:14 asuraparaju + + * libdirac_common/: band_codec.cpp, band_codec.h: bandcodec: remove + unused variables + + Author: David Flynn Committer: David Flynn + + +2008-12-16 12:21 asuraparaju + + * libdirac_encoder/rate_control.cpp: Added a condition to stop + bit-rate overruns. + + Author: Thomas Davies + +2008-12-16 12:19 asuraparaju + + * dirac.pc.in: Include Maths library in link line if required on + the platform of choice. + + Author: asuraparaju@diracvideo.org + +2008-12-16 12:19 asuraparaju + + * libdirac_byteio/mvdataelement_byteio.h: Fix doxygen warnings. + + Author: asuraparaju@diracvideo.org + +2008-12-16 12:18 asuraparaju + + * libdirac_common/band_codec.cpp: Fix problem building with -Werror + and dumb compilers + + Author: David Flynn + +2008-11-20 12:05 asuraparaju + + * doc/documentation/code/programmers_guide/: + common_data_structs.htm, encoder_api_functions.htm, + encoder_api_overview.htm, encoder_api_reference.htm, + encoder_data_structs.htm, index.htm, intro.htm: Update the + programmer's guide for version 1.0.2 of the release. + +2008-11-19 15:02 asuraparaju + + * win32/VisualStudio/dirac.sln: Add new projects to the solution + file. + + Author: Anuradha Suraparaju + +2008-11-19 10:28 asuraparaju + + * libdirac_byteio/: seqparams_byteio.cpp, seqparams_byteio.h: + Manually delete seqparams_byteio.cpp{h} to keep in sync with GIT + repository. + +2008-11-19 10:25 asuraparaju + + * libdirac_common/dirac_types.h, + libdirac_encoder/dirac_encoder.cpp, + libdirac_encoder/dirac_encoder.h: api: Add + dirac_encoder_pts_offset support, bump version to 1.0.2 + + Author: David Flynn + +2008-11-19 10:25 asuraparaju + + * util/conversion/: Makefile.am, YUV420ItoYUV422I.cpp, + YUV422ItoYUV420I.cpp: conversion: Add 422 <-> 420 converters for + interlaced video + + Author: David Flynn + +2008-11-19 10:19 asuraparaju + + * libdirac_encoder/: picture_compress.cpp, quant_chooser.cpp: Fixed + bug with DC value being quantised to nothing for plain pictures. + + Author: Thomas Davies + +2008-11-06 15:54 asuraparaju + + * tests/samples.at: Add tests for fullsearch and combined_me + options. + + Author: Anuradha Suraparaju + +2008-11-06 15:53 asuraparaju + + * libdirac_common/: common_types.h, dirac_types.h: Move macros to + test for the api version to dirac_types.h from common_types.h as + it is the more appropriate location. + + Author: Anuradha Suraparaju + +2008-11-06 15:51 asuraparaju + + * + win32/VisualStudio/ConversionUtils/YUV420Down2x2/YUV420Down2x2.vcproj: + Fix include path to prevent compilation errors. + + Author: Anuradha Suraparaju + +2008-10-29 13:46 asuraparaju + + * libdirac_motionest/block_match.cpp: Cosmetics - removing trailing + blanks. + +2008-10-29 13:42 asuraparaju + + * encoder/encmain.cpp, libdirac_encoder/prefilter.cpp, + libdirac_encoder/rate_control.cpp, + libdirac_encoder/seq_compress.cpp: Ensure that debug info is + printed to standard out only in verbose mode. Cosmetics - + changed tabs to spaces, corrected indentation. + + Author: asuraparaju@diracvideo.org + +2008-10-29 13:41 asuraparaju + + * libdirac_common/common_types.h: Add macros to test for the api + version. + + Author: asuraparaju@diracvideo.org + +2008-10-21 15:55 asuraparaju + + * libdirac_motionest/me_utils.cpp: Fixed bug that caused a divide + by zero error. + + Author: asuraparaju@diracvideo.org + +2008-10-21 11:04 asuraparaju + + * libdirac_byteio/parseparams_byteio.cpp: Print a warning to + standard error if the bitstream version does not match the + supported version and continue decoding instead of bailing out. + + Author: asuraparaju@diracvideo.org + +2008-10-21 11:02 asuraparaju + + * configure.ac: Fix test for checking availabliity of libcppunit. + + Author: asuraparaju@diracvideo.org + +2008-10-20 15:22 asuraparaju + + * libdirac_encoder/picture_compress.cpp: Modify perceptual + weighting based on the proportion of intra blocks. + + Author: Thomas Davies + +2008-10-20 15:21 asuraparaju + + * encoder/encmain.cpp, libdirac_common/common.cpp, + libdirac_common/video_format_defaults.cpp: Made 13_7 the default + wavelet filter for all video. + + Author: Thomas Davies + +2008-10-20 15:21 asuraparaju + + * libdirac_common/wavelet_utils.cpp, + libdirac_common/wavelet_utils.h, + libdirac_encoder/picture_compress.cpp: Allow for adjustable CPD + scaling. + + Author: Thomas Davies + +2008-10-20 15:20 asuraparaju + + * libdirac_encoder/seq_compress.h: Added method for keeping track + of timestamp offset. + + Author: Thomas Davies + +2008-10-20 15:19 asuraparaju + + * libdirac_common/common.cpp, libdirac_encoder/seq_compress.cpp, + libdirac_encoder/seq_compress.h, + libdirac_motionest/me_mode_decn.cpp, + libdirac_motionest/me_utils.cpp: Improvements to coding at low + bit rate and resolution. + + Filter DC blocks field to reduce dc level transitions. Use + better bigger block parameters. + + Author: Thomas Davies + +2008-10-01 15:33 asuraparaju + + * Makefile.am: Set DOC_DIR only if doxygen is installed. + + Author: asuraparaju@diracvideo.org + +2008-10-01 11:26 asuraparaju + + * encoder/encmain.cpp, libdirac_common/common.cpp, + libdirac_common/common.h, libdirac_common/mot_comp.cpp, + libdirac_common/motion.cpp, libdirac_common/motion.h, + libdirac_common/mv_codec.cpp, libdirac_common/mv_codec.h, + libdirac_decoder/picture_decompress.cpp, + libdirac_encoder/dirac_encoder.cpp, + libdirac_encoder/dirac_encoder.h, + libdirac_encoder/enc_picture.cpp, libdirac_encoder/enc_picture.h, + libdirac_encoder/picture_compress.cpp, + libdirac_encoder/seq_compress.cpp, + libdirac_motionest/me_mode_decn.cpp, + libdirac_motionest/me_mode_decn.h, + libdirac_motionest/me_subpel.cpp, libdirac_motionest/me_subpel.h, + libdirac_motionest/motion_estimate.cpp, + libdirac_motionest/pixel_match.cpp, + unit_tests/motion_comp_test.cpp, + util/instrumentation/process_sequence.cpp, + util/instrumentation/libdirac_instrument/overlay.cpp: Manual sync + with dirac-research.git repository. Changed way data for use in + ME is accessed. Changed terminology from macroblock to + superblock. Now (more) consistent with spec. Changes to + incorporate some chroma information into ME. Enabled combined ME + across Y, U and V Author: Thomas Davies + +2008-10-01 10:50 asuraparaju + + * Makefile.am, configure.ac, util/conversion/Makefile.am, + util/conversion/YUV420Down2x2.cpp: Improved 2x2 downconversion + filtering. + + Author: Thomas Davies + +2008-10-01 10:26 asuraparaju + + * encoder/encmain.cpp, libdirac_common/video_format_defaults.cpp: + 100% overlaps help PSNR but reduce detail too much at low rates. + + Author: Thomas Davies + +2008-10-01 10:26 asuraparaju + + * encoder/encmain.cpp, libdirac_common/video_format_defaults.cpp, + libdirac_common/video_format_defaults.h, + libdirac_encoder/dirac_encoder.cpp: Use longer wavelet filters at + low resolution. + + Author: Thomas Davies + +2008-10-01 10:25 asuraparaju + + * encoder/encmain.cpp, libdirac_common/band_codec.cpp, + libdirac_common/common.cpp, libdirac_encoder/comp_compress.cpp, + libdirac_encoder/picture_compress.cpp, + libdirac_encoder/quant_chooser.cpp: Modifications to improve + performance for small picture sizes. + + Author: Thomas Davies + +2008-10-01 10:12 asuraparaju + + * encoder/encmain.cpp: 1/4 pel is now the default on small + pictures. + + Author: Thomas Davies + +2008-09-16 16:49 asuraparaju + + * ChangeLog: Updated ChangeLog. + + Author: asuraparaju@diracvideo.org + +2008-09-16 14:33 asuraparaju + + * NEWS: Include Dirac 1.0.0 release notes. + + Author: asuraparaju@diracvideo.org + + +2008-09-16 14:31 asuraparaju + + * configure.ac: Update release id to 1.0.0 + + Author: asuraparaju@diracvideo.org + + +2008-09-16 14:27 asuraparaju + + * README, README.release: Update the README files. + + Author: asuraparaju@diracvideo.org + + +2008-09-16 14:23 asuraparaju + + * Makefile.am: Add bootstrap to distribution. + + Author: asuraparaju@diracvideo.org + + +2008-09-16 14:02 asuraparaju + + * doc/Makefile.am: Change directory name where doxygen generated + documentations is installed. + + Author: asuraparaju@diracvideo.org + + +2008-09-16 14:02 asuraparaju + + * win32/VisualStudio/Makefile.am: Add YUV420Down2x2.vcproj and + YUV420pt75filter.vcproj to distribution list. + + Author: asuraparaju@diracvideo.org + + +2008-09-16 14:02 asuraparaju + + * libdirac_encoder/picture_compress.cpp: motion_estimate.h is no + longer in use. + + Author: asuraparaju@diracvideo.org + + +2008-09-15 16:34 asuraparaju + + * win32/VS2003/DecodeDirac/DecodeDirac.vcproj: Fix target directory + name. + + Author: asuraparaju@diracvideo.org + + +2008-09-12 12:51 asuraparaju + + * doc/documentation/code/programmers_guide/: decoder_api.htm, + decoder_api_overview.htm, encoder_api_overview.htm, + encoder_data_structs.htm, index.htm, intro.htm, overview.htm, + software.htm, toc.htm: Update documentation for 1.0 release. + +2008-09-10 22:32 asuraparaju + + * doc/: dirac_api.doxygen, dirac_api.doxygen.in, + dirac_api_foot.html, dirac_api_head.html: Sync with git + repository doc directory structure. + +2008-09-10 22:28 asuraparaju + + * libdirac_byteio/mvdata_byteio.h, libdirac_common/motion.h: Fix + doxygen warnings. + + Author: asuraparaju@diracvideo.org + + +2008-09-10 16:37 asuraparaju + + * win32/VisualStudio/: dirac.sln, + ConversionUtils/YUV420Down2x2/YUV420Down2x2.vcproj, + ConversionUtils/YUV420pt75filter/YUV420pt75filter.vcproj: Add + conversion utiliies YUV420Down2x2 and YUV420pt75filter to build + targets list. + + Author: asuraparaju@diracvideo.org + + +2008-09-10 12:10 asuraparaju + + * configure.ac, doc/Makefile.am: Sync with git repository changes. + +2008-09-09 21:42 asuraparaju + + * win32/: VS2003/libdirac_motionest/libdirac_motionest.vcproj, + VisualStudio/libdirac_motionest/libdirac_motionest.vcproj: Remove + motion_estimat.cpp and motion_estimate.h from the sources list as + they are no longer used. + + Author: asuraparaju@diracvideo.org + + +2008-09-03 10:33 asuraparaju + + * libdirac_encoder/rate_control.cpp: Revert "Typo fix." + + This reverts commit a5161a15d0e4f4b0dd9506dc00e52ffe368e6b81. + + Author: Thomas Davies + +2008-09-02 10:51 asuraparaju + + * libdirac_encoder/rate_control.cpp: Typo fix. + + Author: Thomas Davies + +2008-08-28 09:59 asuraparaju + + * libdirac_encoder/picture_compress.cpp: Use the picture's + prediction parameters and not the global prediction parameters + when writing motion vector data header info to the bitstream. + + Author: asuraparaju@diracvideo.org + + +2008-08-27 11:06 asuraparaju + + * unit_tests/motion_comp_test.cpp: Changes related to the commit + where picture parameters were separated into a different class + from the Codec Parameters class. + + Author: asuraparaju@diracvideo.org + + +2008-08-27 10:22 asuraparaju + + * libdirac_encoder/rate_control.cpp: Modified so as to adapt faster + at the beginning. + + Author: Thomas Davies + +2008-08-27 10:20 asuraparaju + + * libdirac_common/motion.h, libdirac_encoder/picture_compress.cpp, + libdirac_encoder/seq_compress.cpp, + libdirac_motionest/me_mode_decn.cpp, + libdirac_motionest/me_mode_decn.h, + libdirac_motionest/me_subpel.cpp, libdirac_motionest/me_subpel.h, + libdirac_motionest/pixel_match.cpp, + libdirac_motionest/pixel_match.h: Re-enabled adaptive block + sizes, now a subgroup or so in arrears. + + Author: Thomas Davies + +2008-08-27 10:18 asuraparaju + + * libdirac_common/motion.cpp, libdirac_common/motion.h, + libdirac_decoder/picture_decompress.cpp, + libdirac_encoder/enc_picture.cpp, libdirac_encoder/enc_picture.h, + libdirac_encoder/seq_compress.cpp, + libdirac_motionest/me_mode_decn.cpp, + libdirac_motionest/pixel_match.cpp, + util/instrumentation/libdirac_instrument/overlay.cpp, + util/instrumentation/process_sequence.cpp: Placed a local copy of + picture pred params in MvData class. + + This will allow motion parameters to be changed picture by + picture. + + Author: Thomas Davies + +2008-08-27 10:17 asuraparaju + + * libdirac_byteio/mvdata_byteio.cpp, + libdirac_byteio/mvdata_byteio.h, libdirac_common/common.cpp, + libdirac_common/common.h, libdirac_common/mot_comp.cpp, + libdirac_common/mot_comp.h, + libdirac_common/video_format_defaults.cpp, + libdirac_decoder/picture_decompress.cpp, + libdirac_encoder/dirac_encoder.cpp, + libdirac_encoder/picture_compress.cpp, + libdirac_encoder/seq_compress.cpp, + libdirac_encoder/seq_compress.h, libdirac_motionest/Makefile.am, + libdirac_motionest/me_mode_decn.cpp, + libdirac_motionest/me_mode_decn.h, + libdirac_motionest/me_subpel.cpp, libdirac_motionest/me_subpel.h, + libdirac_motionest/pixel_match.cpp, + libdirac_motionest/pixel_match.h: Separated off picture + prediction parameters. + + Author: Thomas Davies + +2008-08-25 13:15 asuraparaju + + * libdirac_common/video_format_defaults.cpp, + libdirac_encoder/seq_compress.cpp: Set default MV precision back + to 1/2. Also turned off 100% overlap. + + Author: Thomas Davies + +2008-08-20 22:03 asuraparaju + + * libdirac_byteio/byteio.h, libdirac_common/band_codec.cpp, + libdirac_common/band_codec.h, libdirac_common/band_vlc.cpp, + libdirac_common/band_vlc.h: Fix bug in handling skipped code + blocks in DC bands when decoding. Also fix bug in calculating the + quantiser index in multiple quantiser mode for DC sub-bands in + Intra pictures. + + Author: asuraparaju@diracvideo.org + + +2008-08-14 12:35 asuraparaju + + * util/conversion/: Makefile.am, YUV420pt75filter.cpp: Added filter + for horizontal 3/4 filtering + + Author: Thomas Davies + +2008-08-14 12:31 asuraparaju + + * encoder/encmain.cpp: Removed error message. + + Author: Thomas Davies + +2008-08-14 12:30 asuraparaju + + * libdirac_common/mot_comp.h, libdirac_common/mv_codec.h, + libdirac_encoder/enc_queue.h, + libdirac_encoder/picture_compress.h, + libdirac_encoder/quality_monitor.h: Fix doxygen warnings + + Author: asuraparaju@diracvideo.org + + +2008-08-14 12:29 asuraparaju + + * libdirac_encoder/seq_compress.cpp: MC now done with 100% overlap + to improve blockiness at low rates. + + Author: Thomas Davies + +2008-08-14 12:28 asuraparaju + + * libdirac_encoder/: picture_compress.cpp, prefilter.cpp: Refined + diagonal prefiltering for 1080 coding. + + Author: Thomas Davies + +2008-08-14 12:27 asuraparaju + + * encoder/encmain.cpp: Frame skipping now works on pipes, if a bit + inefficient. + + Author: Thomas Davies + +2008-08-14 12:25 asuraparaju + + * libdirac_encoder/: picture_compress.cpp, prefilter.cpp: Temp fix + of diagonal bandwidth to 50%. + + Author: Thomas Davies + +2008-08-14 12:23 asuraparaju + + * libdirac_common/mot_comp.cpp, libdirac_encoder/seq_compress.cpp: + Fixed bug with reference being retired too early. + + A P/L1 picture was being retired too early when a BBBBBP subgroup + followed a PPPPPP subgroup. + + Author: Thomas Davies + +2008-08-14 12:22 asuraparaju + + * util/conversion/YUV420Down2x2.cpp: Added clipping to prevent + overshoots. + + Author: Thomas Davies + +2008-08-14 12:21 asuraparaju + + * libdirac_encoder/seq_compress.cpp: Fix bug which causes the + encoder to crash when encoding Intra-only sequences. For intra + sequences we need to insert a sequence header every + pre-determined number of frames (we use 10). Also all pictures in + an Intra-only sequence should be Non-ref Intra pictures. + + Author: asuraparaju@diracvideo.org + + +2008-08-14 12:18 asuraparaju + + * libdirac_encoder/seq_compress.cpp: Fixed bug with GOP being + incorrectly restarted. + + Author: Thomas Davies + +2008-08-14 12:18 asuraparaju + + * libdirac_decoder/Makefile.am: Export symbols to a file. + + Author: asuraparaju@diracvideo.org + + +2008-08-14 12:17 asuraparaju + + * util/conversion/: Makefile.am, YUV420Down2x2.cpp: Added 2x2 + downconversion routine. + + Author: Thomas Davies + +2008-08-14 12:15 asuraparaju + + * encoder/encmain.cpp, libdirac_common/video_format_defaults.cpp: + Whitespace fix. + + Author: Thomas Davies + +2008-08-14 12:14 asuraparaju + + * libdirac_encoder/prefilter.cpp: Adjusted diagonal prefiltering to + be more benign. + + Author: Thomas Davies + +2008-08-14 12:14 asuraparaju + + * libdirac_encoder/rate_control.cpp: Rate of adaption of qf made + dependent on buffer state. + + Author: Thomas Davies + +2008-08-14 12:13 asuraparaju + + * libdirac_encoder/dirac_encoder.cpp: Clean dimensions set to be + the full picture. + + Author: Thomas Davies + +2008-08-14 12:11 asuraparaju + + * libdirac_encoder/seq_compress.cpp: Adaptive GOP coding now works + for field coding. + + This is a bit hacky. It would be better to remove the need to + code fields together and just double the L1 picture separation. + + Author: Thomas Davies + +2008-08-14 12:08 asuraparaju + + * libdirac_encoder/seq_compress.cpp: Fixed long-dependency chain + bug. + + Author: Thomas Davies + +2008-08-14 12:06 asuraparaju + + * libdirac_encoder/: seq_compress.cpp, seq_compress.h: Fixed bug + with sequence headers being written in the wrong place. + + Author: Thomas Davies + +2008-08-14 12:03 asuraparaju + + * libdirac_encoder/rate_control.cpp: Reduced rate of change of qf + to improve worst areas. + + Author: Thomas Davies + +2008-08-14 12:00 asuraparaju + + * libdirac_encoder/: rate_control.cpp, seq_compress.cpp: Rate + control now works better with adaptive GOP. + + GOP restarts were not being handled correctly. + + Author: Thomas Davies + +2008-08-14 11:59 asuraparaju + + * libdirac_encoder/picture_compress.cpp: Increase quality of + pictures with more intra blocks. + + Author: Thomas Davies + +2008-08-14 11:58 asuraparaju + + * libdirac_byteio/picture_byteio.cpp, + libdirac_encoder/dirac_encoder.cpp, + libdirac_encoder/enc_queue.cpp, + libdirac_encoder/picture_compress.cpp, + libdirac_encoder/picture_compress.h, + libdirac_encoder/seq_compress.cpp, + libdirac_encoder/seq_compress.h: Fixed bug with instrumentation. + Intra insertion added back in. + + GOP will restart if a scheduled P picture is Intra. + + Author: Thomas Davies + +2008-08-14 11:56 asuraparaju + + * encoder/encmain.cpp: Fixed so that the encoder can now skip large + numbers of frames. + + Author: Thomas Davies + +2008-08-14 11:55 asuraparaju + + * libdirac_encoder/: dirac_encoder.cpp, seq_compress.cpp: + Temporarily disabled instrumentation as it's now buggy. + + Author: Thomas Davies + +2008-08-14 11:49 asuraparaju + + * libdirac_byteio/picture_byteio.cpp, libdirac_common/motion.cpp, + libdirac_common/motion.h, libdirac_common/mv_codec.cpp, + libdirac_common/mv_codec.h, + libdirac_decoder/picture_decompress.cpp, + libdirac_encoder/enc_picture.h, libdirac_encoder/enc_queue.cpp, + libdirac_encoder/picture_compress.cpp, + libdirac_encoder/picture_compress.h, + libdirac_encoder/seq_compress.cpp, + libdirac_encoder/seq_compress.h: Subgroups will now switch to PPP + coding for difficult sequences. + + The ratio of intra blocks is used to determine whether a P + picture contains large or poorly matched motions. If so the + subgroup terminated by that P is switched to all pictures. + + This mod is still buggy. + + Author: Thomas Davies + +2008-08-14 11:47 asuraparaju + + * libdirac_encoder/seq_compress.cpp: Fixed bug in CanEncode member + function for LongGOP sequences which caused frames to be encoded + twice or skipped. + + Author: asuraparaju@diracvideo.org + + +2008-08-14 11:45 asuraparaju + + * libdirac_encoder/: seq_compress.cpp, seq_compress.h: Restart GOP + whenever a P picture becomes an I picture. + + Author: Thomas Davies + +2008-08-14 11:44 asuraparaju + + * libdirac_encoder/picture_compress.cpp: Increased quality of + inserted intra pictures. + + Author: Thomas Davies + +2008-08-14 11:44 asuraparaju + + * libdirac_encoder/rate_control.cpp: More aggressive rate + correction if overshooting. + + Author: Thomas Davies + +2008-08-14 11:43 asuraparaju + + * libdirac_encoder/prefilter.cpp: Set BW range for diagonal + prefiltering. + + Author: Thomas Davies + +2008-08-14 11:41 asuraparaju + + * libdirac_common/motion.cpp, libdirac_encoder/enc_picture.cpp, + libdirac_encoder/picture_compress.cpp, + libdirac_encoder/seq_compress.cpp: Fixed bug with dropping + references not being properly recorded. + + Author: Thomas Davies + +2008-08-14 11:39 asuraparaju + + * libdirac_encoder/seq_compress.cpp: Temporarily disabled reference + dropping as it causes decoder crashes. + + Author: Thomas Davies + +2008-08-14 11:38 asuraparaju + + * libdirac_encoder/prefilter.cpp: Diagonal prefilter now has + variable bandwidth. + + Author: Thomas Davies + +2008-08-14 11:04 asuraparaju + + * libdirac_common/common.cpp, libdirac_encoder/quality_monitor.cpp, + libdirac_encoder/quality_monitor.h: Now calculating PSNR + properly. + + Author: Thomas Davies + +2008-08-14 11:03 asuraparaju + + * libdirac_encoder/: picture_compress.cpp, seq_compress.cpp: Fixed + bug with changing lambda value. Reference pruning extended to all + inter pics. + + Author: Thomas Davies + +2008-08-14 11:02 asuraparaju + + * libdirac_encoder/seq_compress.cpp: Fixed bug where encoder queue + was not being pruned. + + Also now retire I pictures after 2 L1 pictures, due to changed + GOP structure. + + Author: Thomas Davies + +2008-08-14 11:01 asuraparaju + + * libdirac_encoder/picture_compress.cpp: Report intra block + proportions correctly. + + Author: Thomas Davies + +2008-08-14 11:00 asuraparaju + + * libdirac_encoder/: picture_compress.cpp, seq_compress.cpp: + Encoder will now drop a reference if not useful. + + Author: Thomas Davies + +2008-08-14 10:58 asuraparaju + + * libdirac_motionest/: me_mode_decn.cpp, me_utils.cpp, me_utils.h: + Modified intra selection to use a Haar transform. + + A Haar transform is applied to the difference array after + subtracting the DC value. This penalises blocks where there is a + lot of structure, but not blocks which are close to the DC value. + + Author: Thomas Davies + +2008-08-14 10:56 asuraparaju + + * libdirac_common/motion.cpp, libdirac_common/motion.h, + libdirac_encoder/enc_picture.cpp, libdirac_encoder/enc_picture.h: + Added support for being able to drop a reference from an inter + picture. + + If it's determined that a reference is unlike the current + picture, any matches might be accidental and could reduce + quality. So being able to drop references could be useful. + + Author: Thomas Davies + +2008-08-14 10:51 asuraparaju + + * libdirac_byteio/accessunit_byteio.cpp, + libdirac_byteio/accessunit_byteio.h, + libdirac_byteio/dirac_byte_stream.cpp, + libdirac_byteio/dirac_byte_stream.h, libdirac_common/common.h, + libdirac_common/motion.cpp, libdirac_common/motion.h, + libdirac_common/picture.cpp, libdirac_common/picture.h, + libdirac_common/video_format_defaults.cpp, + libdirac_common/wavelet_utils.cpp, + libdirac_common/wavelet_utils.h, + libdirac_common/wavelet_utils_mmx.cpp, + libdirac_decoder/picture_decompress.cpp, + libdirac_decoder/seq_decompress.cpp, + libdirac_encoder/dirac_encoder.cpp, + libdirac_encoder/enc_picture.cpp, libdirac_encoder/enc_picture.h, + libdirac_encoder/enc_queue.h, + libdirac_encoder/picture_compress.cpp, + libdirac_encoder/picture_compress.h, + libdirac_encoder/rate_control.cpp, + libdirac_encoder/seq_compress.cpp, + libdirac_encoder/seq_compress.h, + libdirac_motionest/block_match.cpp, + libdirac_motionest/me_mode_decn.cpp, + libdirac_motionest/me_mode_decn.h, + libdirac_motionest/me_subpel.cpp, libdirac_motionest/me_subpel.h, + libdirac_motionest/motion_estimate.cpp, + libdirac_motionest/motion_estimate.h, + libdirac_motionest/pixel_match.cpp, + libdirac_motionest/pixel_match.h: New encoder stucture to model + rate-control approaches. + + Fixed bug with P-only coding. Added support for switching block + sizes for pics with lots of intra blocks. Added another + complexity metric based on variance of prediction residue. Added + intra block ratio to MEData class. Defined a complexity measure + based on pel ME SAD values. Pixel accurate motion estimation + done using look ahead. Encoder now preloads a queue of frames. + Split up motion estimation into tasks within the sequence + compressor engine. Separated out prefiltering. Incorporated + wavelet coefficient data into Picture class. Moved subband + metadata into CoeffArray class. Further splitting of picture + coding into subtasks. Reorganised picture coding into subtasks + called by sequence compressor. Fixed bug on updating CBR model + for field coding. Changed AccessUnitByteIO to + SequenceHeaderByteIO for spec consistency. Fixed bug with motion + data being incorrectly coded. Added ME data to the EncPicture + class. Fixed unit test for motion compensation. Renamed + EncBuffer class as EncQueue class to make Andrea happy. Fixed + buffers to be mere wrappers around vectors of pointers. Partially + fixed unit tests. Change frame to picture names. Fixed for + compatibility with buffer interfaces. Simplified buffer memory + management. Simplified buffer operation for decoder. Changed + default qf to 5.5 Synched with cvs for libdirac_decoder Updated + against current cvs in libdirac_{byteio,common} Changed GOP L1 + refs to reduce "breakthrough" Refactored to use encoder picture + and encoder buffer classes. Added classes for encoder pictures + and specialist buffer. Simplified picture class. Refactor to + make subclassing easier. Fixed interlace IO errors. Refactored + so as to remove encoder-specific methods from picture buffer. + Modified picbuffer so that decoder solely manages picture params + and GOP. Modified makefile for encoder picture class. + + Author: Thomas Davies + +2008-06-26 20:30 tjdwave + + * doc/latex_spec/: bs-spec.tex, idwt.tex, layout-fullsize.tex, + quant-matrix.tex, spec-structure.tex: Fixed typos in wavelet + lifting spec and changed Debuc to Dubuc. + + Also incremented version ready for release. + +2008-06-23 20:48 asuraparaju + + * win32/: + VS2003/DiracEncoder/libdirac_encoder/libdirac_encoder.vcproj, + VisualStudio/DiracEncoder/libdirac_encoder/libdirac_encoder.vcproj: + Add enc_picture.cpp{.h} and enc_queue.cpp{.h} to the sources + list. + +2008-06-20 20:03 asuraparaju + + * libdirac_encoder/seq_compress.cpp: Check that future pictures + exist in the picture buffer before using them as references for + the current picture. + +2008-06-19 20:39 tjdwave + + * util/instrumentation/libdirac_instrument/: draw_overlay.cpp, + gm_inliers.cpp, motion_arrows.cpp, motion_colour.cpp, + motion_colour_arrows.cpp, overlay.cpp, pred_mode.cpp, sad.cpp, + split_mode.cpp: Fixed instrumentation to comply with new class + methods. + +2008-06-19 20:36 tjdwave + + * unit_tests/: frames_test.cpp, motion_comp_test.cpp: Fixed test to + conform to class changes. + +2008-06-19 20:35 tjdwave + + * libdirac_motionest/: me_mode_decn.cpp, me_mode_decn.h, + me_subpel.cpp, me_subpel.h, motion_estimate.cpp, + motion_estimate.h, pixel_match.cpp, pixel_match.h: Fixes due to + use of EncQueue/EncPicture class. Changed "frame" to "picture" + terminology. + +2008-06-19 20:33 tjdwave + + * libdirac_decoder/: comp_decompress.h, dirac_parser.cpp, + picture_decompress.cpp, seq_decompress.cpp: Fixes due to changes + in PictureBuffer and Picture classes. + +2008-06-19 20:28 tjdwave + + * libdirac_encoder/: prefilter.cpp, quality_monitor.cpp, + quality_monitor.h: Mods due to EncQueue/EncPicture class changes. + +2008-06-19 20:25 tjdwave + + * libdirac_encoder/: picture_compress.cpp, picture_compress.h: + Modified for change to EncQueue/EncPicture classes. + +2008-06-19 20:22 tjdwave + + * libdirac_encoder/: seq_compress.cpp, seq_compress.h: Moved GOP + structure determination into this class. + + Also, changed the class so that it used the EncQueue/EncPicture + classes. + +2008-06-19 20:17 tjdwave + + * libdirac_common/: pic_io.cpp, pic_io.h: Refactored to comply with + changes to Picture class. + +2008-06-19 20:14 tjdwave + + * libdirac_common/: common.h, common.cpp: Removed unnecessary + constructor. + +2008-06-19 20:12 tjdwave + + * libdirac_common/: mot_comp.cpp, mot_comp.h: Changed interface. + + Interface changes because EncQueue class is not a subclass of + PictureBuffer. + +2008-06-19 20:10 tjdwave + + * libdirac_common/: picture.cpp, picture.h: Minor refactor to + remove "redo" metadata. + + The picture buffer deletes and reallocates data now, so we don't + need to reconfigure/reinitialise a picture. So we can lose the + tracking metadata. + +2008-06-19 20:07 tjdwave + + * libdirac_common/: picture_buffer.cpp, picture_buffer.h: + Refactored so that the class is a simple wrapper around a vector + of pointers. + + Removed all the GOP functionality so that it is done in the + sequence compressor class. + +2008-06-19 20:05 tjdwave + + * libdirac_encoder/Makefile.am: Added new files. + +2008-06-19 20:02 tjdwave + + * libdirac_encoder/: enc_picture.cpp, enc_picture.h, enc_queue.cpp, + enc_queue.h: Added classes for encoder picture and encoder + picture queue. + + The encoder picture subclasses a basic picture and adds original + data as well as coded data. An encoder queue is a queue of + encoder pictures, so separate queues/buffers for original and + motion estimation data are not needed. + +2008-06-18 16:00 asuraparaju + + * extras/dirac_dshow/src/diracsplitter/: DiracSplitter.cpp, + DiracSplitterFile.cpp, DiracSplitterFile.h: Modified the code so + that the Dirac decoder module of the the filter can connect to + splitters (e.g. AVI splitter) other than the Dirac splitter. We + can now play back AVI files containing Dirac muxed with audio. + +2008-06-18 11:16 asuraparaju + + * encoder/encmain.cpp: Add command line argument -h or -help to + display usage info. + +2008-06-04 15:39 asuraparaju + + * ChangeLog: [no log message] + +2008-06-04 15:33 asuraparaju + + * NEWS: Updated 0.10.0 release notes + +2008-06-04 15:32 asuraparaju + + * README.release: Update pre-release checks + +2008-06-04 14:48 asuraparaju + + * extras/dirac_dshow/INSTALL: Modify install notes to use the + supported MS VC++ environment. + +2008-06-04 14:46 asuraparaju + + * extras/patches/: + README_mplayersvn_trunk_revision_26980_dirac-0.10.x_patch, + mplayersvn_trunk_revision_26980-dirac-0.10.x.patch: Patch to + enable Dirac decoding support in MPlayer svn revision 26980. + +2008-06-03 19:57 tjdwave + + * libdirac_encoder/: rate_control.cpp, seq_compress.cpp, + seq_compress.h: Fix for low bit rate operation. + + Adaptive block sizes used for high QF values. + +2008-06-03 15:10 asuraparaju + + * README, libdirac_common/video_format_defaults.cpp, + tests/samples.at: Default quality factor that produces medium + quality output modified to 5.5 from 7.0. + +2008-05-30 16:33 asuraparaju + + * ChangeLog: [no log message] + +2008-05-30 13:36 asuraparaju + + * NEWS: Included Dirac 0.10.0 release notes + +2008-05-30 13:33 asuraparaju + + * extras/patches/: MPlayer-1.0rc2_dirac-0.10.x.patch, + README_MPlayer-1.0rc2_dirac-0.10.x_patch, + README_mplayersvn_trunk_revision_26925_dirac-0.10.x_patch, + mplayersvn_trunk_revision_26925-dirac-0.10.x.patch: New patches + to enable Dirac 0.10.0 playback using MPlayer. + +2008-05-29 16:04 asuraparaju + + * libdirac_common/picture_buffer.cpp: Fix bug in setting the expiry + time for L1 frames which caused them to be retired before they + were used as reference frames in the decoder causing the decoder + to skip frames. + +2008-05-29 16:01 asuraparaju + + * tests/samples.at: Add tests for encoding with pre-filtering + enabled. + +2008-05-29 00:25 tjdwave + + * libdirac_common/picture_buffer.cpp: Changed references so that L1 + references are the previous 2 L1 pictures to reduce detail + "breakthrough". + +2008-05-28 12:16 asuraparaju + + * doc/latex_spec/SpecChangeLog: [no log message] + +2008-05-28 11:36 asuraparaju + + * tests/samples.at: Add a test for a non-defaut GOP structure. + +2008-05-27 13:06 asuraparaju + + * doc/latex_spec/ref-default-videoparams.tex: Fix for bug# 1876987. + Correct the name of the video format name to CIF. + +2008-05-27 12:13 asuraparaju + + * README: Include description of new arguments added to the encoder + command line. + +2008-05-27 11:29 asuraparaju + + * decoder/decmain.cpp, encoder/encmain.cpp, + libdirac_common/common.cpp, libdirac_common/common.h, + libdirac_common/common_types.h, + libdirac_common/video_format_defaults.cpp, + libdirac_common/wavelet_utils.cpp, + libdirac_decoder/comp_decompress.cpp, + libdirac_decoder/picture_decompress.cpp, + libdirac_encoder/picture_compress.cpp, + libdirac_encoder/prefilter.cpp, + libdirac_encoder/quant_chooser.cpp, + libdirac_encoder/quant_chooser.h, + libdirac_motionest/me_utils_mmx.h, + libdirac_motionest/pixel_match.cpp, unit_tests/arrays_test.cpp, + unit_tests/arrays_test.h, unit_tests/utmain.cpp, + util/conversion/RGBtoUYVY.cpp, + util/conversion/YUV420toYUV422.cpp, + util/conversion/YUV422toUYVY.cpp, + util/instrumentation/libdirac_instrument/overlay_symbols.cpp: + Cosmetic changes. Replace tabs with spaces, replace DOS-style + line endings with UNIX-style line endings, etc. + +2008-05-27 11:28 asuraparaju + + * libdirac_encoder/dirac_encoder.cpp: Set pnum in the encoder + parameters in the encoder handle to -1 when returning the end of + sequence packet since it is not a picture packet. + +2008-05-27 11:10 asuraparaju + + * AUTHORS: Update the email id of the Dirac team of developers. + +2008-05-27 11:09 asuraparaju + + * doc/: Makefile.am, dirac_bitstream.txt: dirac_bitstream.txt is + outdated and no longer required. + +2008-05-21 14:00 asuraparaju + + * doc/contact.html: Sync with Dirac Sourceforge website changes. + +2008-05-21 14:00 asuraparaju + + * tests/samples.at: Include tests for lossless and constant + bit-rate bytestreams. + +2008-05-21 13:57 asuraparaju + + * doc/documentation/code/programmers_guide/encoder_api_example.htm, + libdirac_encoder/dirac_encoder.h: Correct the name of the preset + used to SD576I50 in the encoder API example. + +2008-05-21 13:56 asuraparaju + + * libdirac_encoder/: dirac_encoder.cpp, seq_compress.cpp, + seq_compress.h: Return the Sequence header as a separate packet + and not preprended to an encoded frame. + +2008-05-12 20:49 asuraparaju + + * configure.ac, doc/documentation/Makefile.am: Include conditional + variables for Support and Publications documentation. These are + available only when installing from CVS source are not in a + release. + +2008-05-12 16:40 asuraparaju + + * configure.ac, doc/documentation/Makefile.am, + doc/documentation/publications/Makefile.am, + doc/documentation/support/Makefile.am: Include support and + publications directories in install targets. + +2008-05-12 15:29 asuraparaju + + * doc/: contact.html, documentation.html, faq.html, + getting_involved.html, index.html, licences.html, overview.html, + specification.html: Sync with Sourceforge website changes. + Include link to licences info. Change Schroedinger link from + Sourceforge to www.diracvideo.org. + +2008-05-09 18:14 asuraparaju + + * doc/documentation/algorithm/algorithm/: block_data.htm, + dirac_software_alg0.2.pdf, index.htm, intro.htm, mot_est.htm, + mv_coding_arch.htm, mv_data_pred.htm, mv_entropy_code.htm, + olb_mc.xht, overall_arch.htm, quantisation.xht, + temporal_prediction_structures.htm, transform_coding_arch.htm, + var_size.htm, wlt_coeff_coding.xht, wlt_transform.xht: Sync with + Source website changes. + +2008-05-09 15:04 asuraparaju + + * doc/documentation/code/programmers_guide/: + common_data_structs.htm, decoder_api_example.htm, + decoder_api_functions.htm, decoder_api_overview.htm, + decoder_api_reference.htm, decoder_data_structs.htm, + encoder_api_example.htm, encoder_api_functions.htm, + encoder_api_overview.htm, encoder_api_reference.htm, + encoder_data_structs.htm, index.htm, intro.htm, software.htm, + toc.htm: Update programmer's guide to reflect changes to Dirac + Library API. + +2008-05-09 15:00 asuraparaju + + * libdirac_encoder/: dirac_encoder.cpp, dirac_encoder.h: Rename + field encoded_frame_avail to encoded_picture_avail since the + encoder API returns frames or fields depending on the the + picture_coding_mode field in the encoder parameters. + +2008-05-08 01:45 tjdwave + + * encoder/encmain.cpp: Removed duplicate option. + +2008-05-07 15:47 asuraparaju + + * libdirac_byteio/parseparams_byteio.h, libdirac_common/pic_io.h, + libdirac_common/picture_buffer.h, + libdirac_common/video_format_defaults.h, + libdirac_decoder/comp_decompress.h, + libdirac_encoder/comp_compress.h: Fix doxygen warnings. + +2008-05-06 21:17 asuraparaju + + * win32/VisualStudio/libdirac_common/libdirac_common.vcproj: + Include dirac_inttypes.h in headers list. + +2008-05-06 21:07 asuraparaju + + * win32/VS2003/libdirac_common/libdirac_common.vcproj: Include + dirac_inttypes.h is headers list. + +2008-05-06 21:06 asuraparaju + + * + win32/VS2003/DiracEncoder/libdirac_encoder/libdirac_encoder.vcproj: + Include prefilter.cpp and prefilter.h to build targets. + +2008-05-06 19:51 asuraparaju + + * configure.ac: Visual Studio 2003 environment is no longer part of + release. + +2008-05-06 19:39 asuraparaju + + * README: Modify MSVC++ build environment description to reflect + the change in the build directory structure. + +2008-05-06 19:37 asuraparaju + + * acinclude.m4: Moved this file to m4 directory. + +2008-05-06 19:35 asuraparaju + + * Makefile.am, bootstrap, configure.ac, encoder/Makefile.am, + libdirac_byteio/Makefile.am, libdirac_byteio/dirac_byte_stats.h, + libdirac_common/Makefile.am, libdirac_common/dirac_inttypes.h, + libdirac_decoder/Makefile.am, libdirac_encoder/Makefile.am, + libdirac_encoder/dirac_encoder.h, m4/acinclude.m4, + m4/ax_create_stdint_h.m4: Use autoconf macro AX_CREATE_STDINT_H + to create a local stdint file because different versions of gcc + have the "ISO C9X: 7.18 Integer types" in different header files. + MS VC++ does not define these types so manually typedef the ones + used in Dirac (int64_t and uint64_t) to MSVC++ types. + +2008-05-06 16:35 asuraparaju + + * win32/VisualStudio/: Makefile.am, dirac.sln, + ConversionUtils/BMPtoRGB/BMPtoRGB.vcproj, + ConversionUtils/RGBtoBMP/RGBtoBMP.vcproj, + ConversionUtils/RGBtoUYVY/RGBtoUYVY.vcproj, + ConversionUtils/RGBtoYUV411/RGBtoYUV411.vcproj, + ConversionUtils/RGBtoYUV420/RGBtoYUV420.vcproj, + ConversionUtils/RGBtoYUV422/RGBtoYUV422.vcproj, + ConversionUtils/RGBtoYUV444/RGBtoYUV444.vcproj, + ConversionUtils/UYVYtoRGB/UYVYtoRGB.vcproj, + ConversionUtils/UYVYtoYUV422/UYVYtoYUV422.vcproj, + ConversionUtils/YUV411toRGB/YUV411toRGB.vcproj, + ConversionUtils/YUV420toRGB/YUV420toRGB.vcproj, + ConversionUtils/YUV420toYUV422/YUV420toYUV422.vcproj, + ConversionUtils/YUV422toRGB/YUV422toRGB.vcproj, + ConversionUtils/YUV422toUYVY/YUV422toUYVY.vcproj, + ConversionUtils/YUV422toYUV420/YUV422toYUV420.vcproj, + ConversionUtils/YUV444toRGB/YUV444toRGB.vcproj, + ConversionUtils/libconv_common/libconv_common.vcproj, + DecodeDirac/DecodeDirac.vcproj, DiracDecoder/DiracDecoder.vcproj, + DiracDecoder/libdirac_decoder/libdirac_decoder.vcproj, + DiracEncoder/DiracEncoder.vcproj, + DiracEncoder/libdirac_encoder/libdirac_encoder.vcproj, + EncodeDirac/EncodeDirac.vcproj, + InstrumentDirac/InstrumentDirac.vcproj, + InstrumentDirac/libdirac_instrument/libdirac_instrument.vcproj, + libdirac_byteio/libdirac_byteio.vcproj, + libdirac_common/libdirac_common.vcproj, + libdirac_motionest/libdirac_motionest.vcproj: Restructure the + build envirorment. All files (final executables, libraries and + intermediate files) are built under a directory build. Added + project files for new conversion utilities. + +2008-05-05 12:14 asuraparaju + + * dirac.pc.in: Include libstdc++ is link dependencies. + +2008-05-05 11:55 asuraparaju + + * libdirac_common/picture_buffer.cpp: Fix typo in setting expiry + time for bi-directional L2 reference frames. The correct value is + 2 and not 22. + +2008-05-02 16:05 asuraparaju + + * libdirac_decoder/: dirac_cppparser.cpp, dirac_cppparser.h, + dirac_parser.cpp, seq_decompress.cpp, seq_decompress.h: Fix the + bug where the decoder went into a permanent loop when some frames + are missing, possibly due to incomplete frames being received. + The decoder now carries on decoding the frames it can and returns + the next frame. + +2008-05-02 15:57 asuraparaju + + * libdirac_byteio/: dirac_byte_stream.cpp, dirac_byte_stream.h, + parseunit_byteio.cpp, parseunit_byteio.h: Fix for bug# 1944681. + +2008-05-02 15:49 asuraparaju + + * util/instrumentation/process_sequence.cpp: Fix memory leak + reported by valgrind when running diagnostics on interlace coded + Long-GOP sequences. + +2008-05-01 19:51 tjdwave + + * encoder/encmain.cpp, libdirac_common/common.cpp, + libdirac_common/common_types.h, + libdirac_common/video_format_defaults.cpp, + libdirac_encoder/dirac_encoder.cpp, + libdirac_encoder/seq_compress.cpp: Added UHDTV formats. + +2008-05-01 19:51 tjdwave + + * libdirac_common/picture_buffer.cpp: Fixed bug with decoder + looping forever. + +2008-04-30 00:09 tjdwave + + * encoder/encmain.cpp, libdirac_common/common.cpp, + libdirac_common/common.h, libdirac_common/common_types.h, + libdirac_encoder/Makefile.am, libdirac_encoder/dirac_encoder.cpp, + libdirac_encoder/dirac_encoder.h, + libdirac_encoder/picture_compress.cpp, + libdirac_encoder/prefilter.cpp, libdirac_encoder/prefilter.h, + libdirac_encoder/seq_compress.cpp, + libdirac_encoder/seq_compress.h: Added support for various forms + of prefiltering. + + Prefiltering using rectangular, diagonal or centre-weighted + median filtering is now available as a command-line option. + Rectangular and diagonal low-pass filtering are both adaptive, + with strength determined by the QF and also a strength parameter + added on the command line. Centre-weighted median filtering is + non-adaptive, but adjusts the centre weight according to the + strength parameter. + + Usage is : + + dirac_encoder ... -prefilter FILTER_NAME n .... + + where FILTER_NAME is one of NO_PF, CWM, RECTLP, DIAGLP and n is + from 0 to 10. NO_PF means no prefilter. + +2008-04-29 22:27 asuraparaju + + * libdirac_byteio/: dirac_byte_stats.cpp, dirac_byte_stats.h: Fix + discrepancies between member function declarations in the header + file and the implementation in the source file. + +2008-04-29 22:26 asuraparaju + + * unit_tests/: frames_test.cpp, motion_comp_test.cpp: Reflect + changes made to PictureParams and PictureBuffer classes. + +2008-04-29 18:51 tjdwave + + * encoder/encmain.cpp, libdirac_byteio/codingparams_byteio.cpp, + libdirac_byteio/component_byteio.cpp, + libdirac_byteio/component_byteio.h, + libdirac_byteio/dirac_byte_stats.cpp, + libdirac_byteio/dirac_byte_stats.h, + libdirac_byteio/subband_byteio.cpp, + libdirac_common/band_codec.cpp, libdirac_common/band_codec.h, + libdirac_common/band_vlc.cpp, libdirac_common/band_vlc.h, + libdirac_common/common.cpp, libdirac_common/common.h, + libdirac_common/mot_comp.cpp, libdirac_common/picture.cpp, + libdirac_common/picture.h, libdirac_common/picture_buffer.cpp, + libdirac_common/picture_buffer.h, + libdirac_common/video_format_defaults.cpp, + libdirac_common/wavelet_utils.cpp, + libdirac_common/wavelet_utils.h, + libdirac_decoder/comp_decompress.cpp, + libdirac_decoder/comp_decompress.h, + libdirac_decoder/picture_decompress.cpp, + libdirac_decoder/picture_decompress.h, + libdirac_encoder/comp_compress.cpp, + libdirac_encoder/comp_compress.h, + libdirac_encoder/dirac_encoder.cpp, + libdirac_encoder/dirac_encoder.h, + libdirac_encoder/picture_compress.cpp, + libdirac_encoder/picture_compress.h, + libdirac_encoder/quality_monitor.cpp, + libdirac_encoder/quality_monitor.h, + libdirac_encoder/quant_chooser.cpp, + libdirac_encoder/seq_compress.cpp: Various refactorings and + bug-fixes. + + 1. Changed how padding is implemented so that padding is only + added to the coefficient array before the wavelet transform, and + is removed from the coefficient array immediately after the + wavelet transform. No metadata for "OrigXl" etc is needed now. + + 2. Various places "frame" is changed to "picture" and "fparams" + to "pparams" etc. + + 3. Fixed bug with misreporting bit rate for long sequences by + recording data with int64_t not int. + + 4. Fixed a bug with perceptual weighting where additional weight + was being given to the DC band even though it is coded + losslessly. This threw out weights for the other bands when the + weights were normalised, especially for intra pictures. In turn + this required that the relative lambdas used for different + picture types had to be changed. + + 5. Fixed a minor bug with rate control where the intra lambda was + not being applied correctly. + + 6. Changed "field coding" metadata to "picture coding mode" + metadata throughout, as per spec. + + 7. Changed "QIndex" throughout to "QuantIndex" etc for clarity. + + 8. Refactored picture coding and decoding to simplify things a + little. + +2008-04-15 19:56 asuraparaju + + * libdirac_encoder/seq_compress.cpp: Roll back previous commit. The + hack to extract the last locally decoded field does not work. + +2008-04-15 16:56 asuraparaju + + * libdirac_common/common.h: Fix typos in ParseParams class which + cause profile and level member fields to be set incorrectly. + +2008-04-15 16:54 asuraparaju + + * util/instrumentation/process_sequence.cpp: Include more debugging + info in verbose mode. Fixed bug where last few fields in an + interlaced coded file were not being processed resulting in + memory leaks being reported by valgrind. + +2008-04-15 16:52 asuraparaju + + * libdirac_encoder/seq_compress.cpp: Hack to extract last field + locally decoded when coding in interlaced mode. Needs a proper + fix. + +2008-04-15 16:50 asuraparaju + + * libdirac_byteio/accessunit_byteio.cpp, + libdirac_byteio/accessunit_byteio.h, + libdirac_byteio/parseparams_byteio.cpp, + libdirac_byteio/parseparams_byteio.h, libdirac_common/common.cpp: + Upgrade version supported to 2.2. Add checks for profile and + level as per specification version 2.2. + +2008-04-03 21:10 tjdwave + + * doc/latex_spec/: arith.tex, idwt.tex, layout-fullsize.tex, + picture-dec.tex, profilelevel.tex, sequence-dec.tex, + wlt-unpacking.tex: Various types and updates. + +2008-04-03 18:21 tjdwave + + * doc/latex_spec/bs-spec.tex: Typo. + +2008-04-02 02:05 tjdwave + + * doc/latex_spec/bs-spec.tex: More changes a la vc-2 + +2008-04-02 01:00 tjdwave + + * doc/latex_spec/: bs-spec.tex, dataenc.tex, intro.tex, + motion-dec.tex, picture-dec.tex, profilelevel.tex, + sequence-dec.tex, spec-structure.tex, terms.tex, + video-interface.tex, wlt-unpacking.tex: Further reorganisations a + la VC-2 spec + +2008-04-01 22:47 tjdwave + + * doc/latex_spec/: bs-spec.tex, profilelevel.tex, terms.tex: Typos. + +2008-03-14 19:17 asuraparaju + + * encoder/encmain.cpp, libdirac_byteio/byteio.cpp, + libdirac_byteio/byteio.h, libdirac_byteio/dirac_byte_stats.h, + libdirac_common/arrays.h, libdirac_common/cmd_line.cpp, + libdirac_common/motion.h, libdirac_common/wavelet_utils_mmx.cpp, + libdirac_motionest/me_utils.cpp, libdirac_motionest/me_utils.h, + util/instrumentation/process_sequence.cpp, + util/instrumentation/libdirac_instrument/draw_overlay.h, + util/instrumentation/libdirac_instrument/overlay.h: Fix errors + and warnings reported by gcc 4.3.0 + +2008-03-06 19:58 asuraparaju + + * tests/samples.at: Added test for QCIF. Modified instrumentation + test to ignore standard out. + +2008-03-06 19:10 asuraparaju + + * util/instrumentation/process_sequence.cpp: Fix unitialised memory + read warnings reported by valgrind when processing files coded as + fields. + +2008-03-06 19:04 asuraparaju + + * encoder/encmain.cpp, libdirac_encoder/dirac_encoder.cpp, + libdirac_encoder/dirac_encoder.h, + libdirac_encoder/seq_compress.cpp, + libdirac_encoder/seq_compress.h: Fixed Bug #1874587 where not all + frames loaded into the encoder were not being processed in Long + GOP mode. The encoder now processes all frames loaded. The + encoder API has also been modified ensure that all encoded frames + can bre retrieved. + +2008-03-05 22:07 asuraparaju + + * libdirac_encoder/picture_compress.cpp: Fix uninitialised memory + read error reported by valgrind when encoding data losslessly. + +2008-03-04 02:08 tjdwave + + * doc/latex_spec/profilelevel.tex: Changed level and profile + numbers to allow for future vc2 expansion better. + +2008-03-04 01:33 tjdwave + + * doc/latex_spec/: bs-spec.tex, conformance.tex, intro.tex, + layout-fullsize.tex, picture-dec.tex, profilelevel.tex, + ref-default-videoparams.tex, sequence-dec.tex, state-macros.tex: + Updates for compatibility with latest version of VC-2. Basic + profiles and levels added. + + Added UHDTV formats, VC-2 profiles and a Long-GOP profile. Also + added three levels: unconstrained (0), default for VC-2 (1) and + default for long-GOP (2). + +2008-03-03 21:42 asuraparaju + + * libdirac_byteio/parseunit_byteio.cpp, + libdirac_decoder/dirac_cppparser.cpp, + libdirac_decoder/dirac_parser.cpp: Fix bug in handling End of + Sequence parse code where EOS packets other than the last one in + the stream were not being processed correctly. Schro encoded + bitstreams can now be decoded fully. Also fixed bug where end of + sequence parse status was not being returned to the end user + application. + +2008-02-28 23:41 tjdwave + + * doc/latex_spec/: bs-spec.tex, layout-fullsize.tex: Fixed typos. + Added PDF hyperlinks. + +2008-02-28 22:58 tjdwave + + * libdirac_common/common.cpp, libdirac_encoder/rate_control.cpp: + Introduced small codeblocks and removed cap on qf when coding + intra-only with CBR + +2008-02-27 21:47 asuraparaju + + * libdirac_common/mot_comp.cpp: Fix bug in handling edge blocks. + +2008-02-20 00:34 tjdwave + + * encoder/encmain.cpp, libdirac_common/video_format_defaults.cpp: + Modified default wavelet depth to 4 to prevent overshoots. + +2008-02-15 12:47 asuraparaju + + * libdirac_encoder/seq_compress.cpp: Fix bug in initialiasing + entropy factors. Now using transform depth instead of a hardcoded + value of 4. + +2008-02-14 15:59 asuraparaju + + * extras/dirac_dshow/include/moreuuids.h: Replace fourcc + identifying Dirac video from vcrd to drac to be in line with the + fourcc used in the ffmpeg patch. + +2008-02-14 15:57 asuraparaju + + * extras/dirac_dshow/src/diracsplitter/DiracSplitter.cpp: Changes + to reflect modified Encoder and Decoder API. + +2008-02-14 15:56 asuraparaju + + * extras/dirac_dshow/src/diracsplitter/DiracSplitterFile.cpp: Fix + bug in handling next and previous offsets in parse unit header. + +2008-02-14 12:41 asuraparaju + + * libdirac_byteio/parseparams_byteio.cpp: Modify version checking + logic so that all minor versions less than the supported minor + version can be decoder provided the major version is an exact + match. + +2008-02-13 14:36 asuraparaju + + * decoder/decmain.cpp, libdirac_decoder/decoder_types.h, + libdirac_decoder/dirac_cppparser.cpp, + libdirac_decoder/dirac_cppparser.h, + libdirac_decoder/dirac_parser.cpp, + libdirac_decoder/dirac_parser.h, + libdirac_decoder/seq_decompress.cpp, + libdirac_decoder/seq_decompress.h: Modifications to Decoder API. + Remove un-implemented functionality (e.g. skip decoding frame). + The Decoder API now returns the frame number of the frame decoded + and no other information (e.g. frame type). + +2008-02-12 22:03 asuraparaju + + * README: Update notes for building Dirac on MS Windows 2000 and XP + platforms. + +2008-02-12 22:02 asuraparaju + + * win32/: Makefile.am, VS2003/Makefile.am: Build environment for + Visual C++ 2003 no longer part of the release. + +2008-02-12 16:24 asuraparaju + + * win32/VisualStudio/: dirac.sln, + ConversionUtils/ConversionUtils.vcproj, + ConversionUtils/BMPtoRGB/BMPtoRGB.vcproj, + ConversionUtils/RGBtoBMP/RGBtoBMP.vcproj, + ConversionUtils/RGBtoUYVY/RGBtoUYVY.vcproj, + ConversionUtils/RGBtoYUV411/RGBtoYUV411.vcproj, + ConversionUtils/RGBtoYUV420/RGBtoYUV420.vcproj, + ConversionUtils/RGBtoYUV422/RGBtoYUV422.vcproj, + ConversionUtils/RGBtoYUV444/RGBtoYUV444.vcproj, + ConversionUtils/UYVYtoRGB/UYVYtoRGB.vcproj, + ConversionUtils/YUV411toRGB/YUV411toRGB.vcproj, + ConversionUtils/YUV420toRGB/YUV420toRGB.vcproj, + ConversionUtils/YUV422toRGB/YUV422toRGB.vcproj, + ConversionUtils/YUV444toRGB/YUV444toRGB.vcproj, + ConversionUtils/libconv_common/libconv_common.vcproj, + DecodeDirac/DecodeDirac.vcproj, DiracDecoder/DiracDecoder.vcproj, + DiracDecoder/libdirac_decoder/libdirac_decoder.vcproj, + DiracEncoder/DiracEncoder.vcproj, + DiracEncoder/libdirac_encoder/libdirac_encoder.vcproj, + EncodeDirac/EncodeDirac.vcproj, Everything/Everything.vcproj, + InstrumentDirac/InstrumentDirac.vcproj, + InstrumentDirac/libdirac_instrument/libdirac_instrument.vcproj, + libdirac_byteio/libdirac_byteio.vcproj, + libdirac_common/libdirac_common.vcproj, + libdirac_motionest/libdirac_motionest.vcproj: Updated project and + solution files for Visual Studio 2008 environment. Visual Studio + 2005 build environment is no longer supported. + +2008-02-12 03:39 tjdwave + + * doc/latex_spec/SpecChangeLog: Specification ChangeLog added. + +2008-02-09 00:57 davidf_ + + * libdirac_encoder/dirac_encoder.cpp: Fix change from *frame -> + *picture with --enable-debug + +2008-02-06 10:52 asuraparaju + + * extras/dirac_dshow/src/diracsplitter/DiracSplitter.cpp: + Modification resulting from changed decoder API stuctures. + +2008-02-05 17:32 asuraparaju + + * win32/: + VS2003/DiracDecoder/libdirac_decoder/libdirac_decoder.vcproj, + VS2003/DiracEncoder/libdirac_encoder/libdirac_encoder.vcproj, + VS2003/libdirac_byteio/libdirac_byteio.vcproj, + VS2003/libdirac_common/libdirac_common.vcproj, + VisualStudio/DiracDecoder/libdirac_decoder/libdirac_decoder.vcproj, + VisualStudio/DiracEncoder/libdirac_encoder/libdirac_encoder.vcproj, + VisualStudio/libdirac_byteio/libdirac_byteio.vcproj, + VisualStudio/libdirac_common/libdirac_common.vcproj: Fix project + files to get rid of compiler warning that resulted from the code + refactor. + +2008-02-05 14:14 asuraparaju + + * unit_tests/: frames_test.cpp, frames_test.h, + motion_comp_test.cpp, motion_comp_test.h: Fix compiler warning + resulting from earlier refactoring of code relating to frames and + fields. + +2008-02-05 00:43 tjdwave + + * util/conversion/: Makefile.am, UYVYtoYUV422.cpp, + YUV420toYUV422.cpp, YUV422toUYVY.cpp, YUV422toYUV420.cpp: Adding + extra filters to avoid going through RGB for YUV format + conversions. + +2008-02-02 06:52 tjdwave + + * libdirac_common/motion.cpp, libdirac_common/mv_codec.cpp, + libdirac_encoder/dirac_encoder.cpp: Fixed bug with DC value + prediction in motion data coding. + +2008-02-01 02:20 tjdwave + + * libdirac_encoder/quality_monitor.cpp: Typo. + +2008-01-31 22:25 tjdwave + + * decoder/decmain.cpp, encoder/encmain.cpp, + libdirac_byteio/Makefile.am, libdirac_byteio/component_byteio.h, + libdirac_byteio/dirac_byte_stream.cpp, + libdirac_byteio/dirac_byte_stream.h, + libdirac_byteio/displayparams_byteio.cpp, + libdirac_byteio/endofsequence_byteio.h, + libdirac_byteio/frame_byteio.cpp, libdirac_byteio/frame_byteio.h, + libdirac_byteio/mvdata_byteio.cpp, + libdirac_byteio/mvdata_byteio.h, + libdirac_byteio/parseparams_byteio.cpp, + libdirac_byteio/parseunit_byteio.cpp, + libdirac_byteio/parseunit_byteio.h, + libdirac_byteio/picture_byteio.cpp, + libdirac_byteio/picture_byteio.h, + libdirac_byteio/transform_byteio.cpp, + libdirac_byteio/transform_byteio.h, libdirac_common/Makefile.am, + libdirac_common/band_codec.cpp, libdirac_common/band_codec.h, + libdirac_common/band_vlc.cpp, libdirac_common/band_vlc.h, + libdirac_common/bit_manager.cpp, libdirac_common/bit_manager.h, + libdirac_common/common.cpp, libdirac_common/common.h, + libdirac_common/common_types.h, + libdirac_common/dirac_exception.h, libdirac_common/dirac_types.h, + libdirac_common/frame.cpp, libdirac_common/frame.h, + libdirac_common/frame_buffer.cpp, libdirac_common/frame_buffer.h, + libdirac_common/mot_comp.cpp, libdirac_common/mot_comp.h, + libdirac_common/motion.h, libdirac_common/pic_io.cpp, + libdirac_common/pic_io.h, libdirac_common/picture.cpp, + libdirac_common/picture.h, libdirac_common/picture_buffer.cpp, + libdirac_common/picture_buffer.h, + libdirac_common/video_format_defaults.cpp, + libdirac_common/video_format_defaults.h, + libdirac_common/wavelet_utils.cpp, + libdirac_common/wavelet_utils.h, libdirac_decoder/Makefile.am, + libdirac_decoder/comp_decompress.cpp, + libdirac_decoder/comp_decompress.h, + libdirac_decoder/dirac_cppparser.cpp, + libdirac_decoder/dirac_cppparser.h, + libdirac_decoder/dirac_parser.cpp, + libdirac_decoder/dirac_parser.h, + libdirac_decoder/frame_decompress.cpp, + libdirac_decoder/frame_decompress.h, + libdirac_decoder/picture_decompress.cpp, + libdirac_decoder/picture_decompress.h, + libdirac_decoder/seq_decompress.cpp, + libdirac_decoder/seq_decompress.h, libdirac_encoder/Makefile.am, + libdirac_encoder/comp_compress.cpp, + libdirac_encoder/comp_compress.h, + libdirac_encoder/dirac_encoder.cpp, + libdirac_encoder/dirac_encoder.h, + libdirac_encoder/frame_compress.cpp, + libdirac_encoder/frame_compress.h, + libdirac_encoder/picture_compress.cpp, + libdirac_encoder/picture_compress.h, + libdirac_encoder/quality_monitor.cpp, + libdirac_encoder/quality_monitor.h, + libdirac_encoder/rate_control.cpp, + libdirac_encoder/rate_control.h, + libdirac_encoder/seq_compress.cpp, + libdirac_encoder/seq_compress.h, + libdirac_motionest/me_mode_decn.cpp, + libdirac_motionest/me_mode_decn.h, + libdirac_motionest/me_subpel.cpp, libdirac_motionest/me_subpel.h, + libdirac_motionest/motion_estimate.cpp, + libdirac_motionest/motion_estimate.h, + libdirac_motionest/pixel_match.cpp, + libdirac_motionest/pixel_match.h, + util/instrumentation/process_sequence.cpp, + util/instrumentation/process_sequence.h, + util/instrumentation/libdirac_instrument/draw_overlay.cpp, + util/instrumentation/libdirac_instrument/draw_overlay.h, + util/instrumentation/libdirac_instrument/gm_inliers.cpp, + util/instrumentation/libdirac_instrument/gm_inliers.h, + util/instrumentation/libdirac_instrument/motion_arrows.cpp, + util/instrumentation/libdirac_instrument/motion_arrows.h, + util/instrumentation/libdirac_instrument/motion_colour.cpp, + util/instrumentation/libdirac_instrument/motion_colour.h, + util/instrumentation/libdirac_instrument/motion_colour_arrows.cpp, + util/instrumentation/libdirac_instrument/motion_colour_arrows.h, + util/instrumentation/libdirac_instrument/overlay.cpp, + util/instrumentation/libdirac_instrument/overlay.h, + util/instrumentation/libdirac_instrument/pred_mode.cpp, + util/instrumentation/libdirac_instrument/pred_mode.h, + util/instrumentation/libdirac_instrument/sad.cpp, + util/instrumentation/libdirac_instrument/sad.h, + util/instrumentation/libdirac_instrument/split_mode.cpp, + util/instrumentation/libdirac_instrument/split_mode.h: Major + refactor to make clear the distinction between pictures (frames + OR fields) and frames or fields specifically. Frame classes have + been renamed to be Picture classes, along with associated + metadata. No coding parameters have been changed. + +2008-01-31 02:53 tjdwave + + * doc/latex_spec/terms.tex: [no log message] + +2008-01-26 23:11 asuraparaju + + * ChangeLog: [no log message] + 2008-01-26 23:02 asuraparaju * NEWS: Include 0.9.1 release notes. @@ -6947,6 +9045,30 @@ - Removed the following CVS tags from all files $Author: asuraparaju $ $Log: ChangeLog,v $ + Revision 1.31 2009/02/10 23:26:54 asuraparaju + Updated ChangeLog + + + Author: Anuradha Suraparaju + + Revision 1.30 2009/02/10 00:32:11 asuraparaju + Update ChangeLog + + + Author: Anuradha Suraparaju + + Revision 1.29 2008/09/16 06:49:27 asuraparaju + Updated ChangeLog. + + + Author: asuraparaju@diracvideo.org + + Revision 1.28 2008/06/04 05:39:17 asuraparaju + *** empty log message *** + + Revision 1.27 2008/05/30 06:33:56 asuraparaju + *** empty log message *** + Revision 1.26 2008/01/26 12:11:44 asuraparaju *** empty log message *** @@ -6958,10 +9080,10 @@ Revision 1.23 2007/05/09 14:06:51 asuraparaju *** empty log message *** - $Revision: 1.26 $ + $Revision: 1.31 $ - Included the following CVS tags in all source and header files - $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ $Name: Dirac_0_9_1 $ + $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ $Name: Dirac_1_0_2 $ - Included a new configuration option, --enable-debug, in configure.ac. This option turns on the flags '-Wall -pedantic @@ -7125,19 +9247,43 @@ 2004-05-27 13:21 stuart_hc - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and $Log: ChangeLog,v $ - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and Revision 1.26 2008/01/26 12:11:44 asuraparaju - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and *** empty log message *** - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and Revision 1.25 2008/01/23 01:17:25 asuraparaju - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and *** empty log message *** - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and Revision 1.24 2007/10/01 10:57:15 asuraparaju - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and *** empty log message *** - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and Revision 1.23 2007/05/09 14:06:51 asuraparaju - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and *** empty log message *** - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and $Log: ChangeLog,v $ + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Revision 1.31 2009/02/10 23:26:54 asuraparaju + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Updated ChangeLog + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Author: Anuradha Suraparaju + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Revision 1.30 2009/02/10 00:32:11 asuraparaju + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Update ChangeLog + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Author: Anuradha Suraparaju + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Revision 1.29 2008/09/16 06:49:27 asuraparaju + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Updated ChangeLog. + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Author: asuraparaju@diracvideo.org + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Revision 1.28 2008/06/04 05:39:17 asuraparaju + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and *** empty log message *** + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Revision 1.27 2008/05/30 06:33:56 asuraparaju + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and *** empty log message *** + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Revision 1.26 2008/01/26 12:11:44 asuraparaju + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and *** empty log message *** + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Revision 1.25 2008/01/23 01:17:25 asuraparaju + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and *** empty log message *** + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Revision 1.24 2007/10/01 10:57:15 asuraparaju + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and *** empty log message *** + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Revision 1.23 2007/05/09 14:06:51 asuraparaju + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and *** empty log message *** + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and in description of keywords. 2004-05-27 13:14 stuart_hc @@ -12661,6 +14807,30 @@ - Removed the following CVS tags from all files $Author: asuraparaju $ $Log: ChangeLog,v $ + Revision 1.31 2009/02/10 23:26:54 asuraparaju + Updated ChangeLog + + + Author: Anuradha Suraparaju + + Revision 1.30 2009/02/10 00:32:11 asuraparaju + Update ChangeLog + + + Author: Anuradha Suraparaju + + Revision 1.29 2008/09/16 06:49:27 asuraparaju + Updated ChangeLog. + + + Author: asuraparaju@diracvideo.org + + Revision 1.28 2008/06/04 05:39:17 asuraparaju + *** empty log message *** + + Revision 1.27 2008/05/30 06:33:56 asuraparaju + *** empty log message *** + Revision 1.26 2008/01/26 12:11:44 asuraparaju *** empty log message *** @@ -12681,10 +14851,10 @@ Revision 1.21 2006/11/13 12:28:22 tjdwave *** empty log message *** - $Revision: 1.26 $ + $Revision: 1.31 $ - Included the following CVS tags in all source and header files - $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ $Name: Dirac_0_9_1 $ + $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ $Name: Dirac_1_0_2 $ - Included a new configuration option, --enable-debug, in configure.ac. This option turns on the flags '-Wall -pedantic @@ -12848,28 +15018,52 @@ 2004-05-27 13:21 stuart_hc - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and $Log: ChangeLog,v $ - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and Revision 1.26 2008/01/26 12:11:44 asuraparaju - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and *** empty log message *** - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and Revision 1.25 2008/01/23 01:17:25 asuraparaju - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and *** empty log message *** - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and Revision 1.24 2007/10/01 10:57:15 asuraparaju - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and *** empty log message *** - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and Revision 1.23 2007/05/09 14:06:51 asuraparaju - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and *** empty log message *** - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and Revision 1.22 2007/03/22 18:27:16 davidf_ - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and Altered command line file handling. a) now support taking input from stdin - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and (input specified as '-' or '/dev/stdin'). b) removed strange filename - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and extension stripping/appending for primary input and output files (locally - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and decoded video and instrumentation are outputfilename.{local-dec.yuv,imt}. - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and Revision 1.21 2006/11/13 12:28:22 tjdwave - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and *** empty log message *** - * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.26 2008/01/26 12:11:44 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and $Log: ChangeLog,v $ + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Revision 1.31 2009/02/10 23:26:54 asuraparaju + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Updated ChangeLog + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Author: Anuradha Suraparaju + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Revision 1.30 2009/02/10 00:32:11 asuraparaju + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Update ChangeLog + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Author: Anuradha Suraparaju + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Revision 1.29 2008/09/16 06:49:27 asuraparaju + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Updated ChangeLog. + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Author: asuraparaju@diracvideo.org + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Revision 1.28 2008/06/04 05:39:17 asuraparaju + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and *** empty log message *** + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Revision 1.27 2008/05/30 06:33:56 asuraparaju + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and *** empty log message *** + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Revision 1.26 2008/01/26 12:11:44 asuraparaju + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and *** empty log message *** + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Revision 1.25 2008/01/23 01:17:25 asuraparaju + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and *** empty log message *** + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Revision 1.24 2007/10/01 10:57:15 asuraparaju + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and *** empty log message *** + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Revision 1.23 2007/05/09 14:06:51 asuraparaju + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and *** empty log message *** + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Revision 1.22 2007/03/22 18:27:16 davidf_ + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Altered command line file handling. a) now support taking input from stdin + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and (input specified as '-' or '/dev/stdin'). b) removed strange filename + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and extension stripping/appending for primary input and output files (locally + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and decoded video and instrumentation are outputfilename.{local-dec.yuv,imt}. + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and Revision 1.21 2006/11/13 12:28:22 tjdwave + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and *** empty log message *** + * README.developers: Prevent unintended expansion of $Id: ChangeLog,v 1.31 2009/02/10 23:26:54 asuraparaju Exp $ and in description of keywords. 2004-05-27 13:14 stuart_hc diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/config.guess /tmp/1tgnNoYBLI/dirac-1.0.2/config.guess --- dirac-0.9.1/config.guess 2006-11-25 11:34:55.000000000 +0000 +++ dirac-1.0.2/config.guess 2009-02-11 01:43:37.000000000 +0000 @@ -1,10 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, -# Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# Free Software Foundation, Inc. -timestamp='2006-05-13' +timestamp='2008-01-08' # 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 @@ -56,8 +56,8 @@ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 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." @@ -171,6 +171,7 @@ arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched @@ -221,7 +222,7 @@ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) - echo powerppc-unknown-mirbsd${UNAME_RELEASE} + echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} @@ -339,7 +340,7 @@ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; - i86pc:SunOS:5.*:*) + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) @@ -541,7 +542,7 @@ echo rs6000-ibm-aix3.2 fi exit ;; - *:AIX:*:[45]) + *:AIX:*:[456]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 @@ -790,7 +791,7 @@ i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; - i*:MINGW*:*) + *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:windows32*:*) @@ -800,12 +801,18 @@ i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; - x86:Interix*:[345]*) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - EM64T:Interix*:[345]*) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; + *:Interix*:[3456]*) + case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T | authenticamd) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + IA64) + echo ia64-unknown-interix${UNAME_RELEASE} + exit ;; + esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; @@ -839,6 +846,16 @@ echo ${UNAME_MACHINE}-pc-minix exit ;; arm*:Linux:*:*) + eval $set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu + else + echo ${UNAME_MACHINE}-${VENDOR}-linux-gnueabi + fi + exit ;; + avr32*:Linux:*:*) echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu exit ;; cris:Linux:*:*) @@ -957,6 +974,9 @@ x86_64:Linux:*:*) echo x86_64-${VENDOR}-linux-gnu exit ;; + xtensa*:Linux:*:*) + echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu + exit ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent @@ -1215,6 +1235,15 @@ SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux${UNAME_RELEASE} + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux${UNAME_RELEASE} + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux${UNAME_RELEASE} + exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/config.sub /tmp/1tgnNoYBLI/dirac-1.0.2/config.sub --- dirac-0.9.1/config.sub 2006-11-25 11:34:55.000000000 +0000 +++ dirac-1.0.2/config.sub 2009-02-11 01:43:37.000000000 +0000 @@ -1,10 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, -# Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# Free Software Foundation, Inc. -timestamp='2006-05-13' +timestamp='2008-01-16' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -72,8 +72,8 @@ version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 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." @@ -241,16 +241,16 @@ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ - | fr30 | frv \ + | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore \ + | maxq | mb | microblaze | mcore | mep \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ @@ -276,6 +276,7 @@ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ + | score \ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ @@ -284,7 +285,7 @@ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ - | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \ + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k) basic_machine=$basic_machine-unknown ;; @@ -317,13 +318,13 @@ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* \ + | avr-* | avr32-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ - | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ @@ -367,11 +368,15 @@ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ - | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \ - | xstormy16-* | xtensa-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-*) ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown + ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) @@ -442,6 +447,14 @@ basic_machine=ns32k-sequent os=-dynix ;; + blackfin) + basic_machine=bfin-unknown + os=-linux + ;; + blackfin-*) + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; c90) basic_machine=c90-cray os=-unicos @@ -474,8 +487,8 @@ basic_machine=craynv-cray os=-unicosmp ;; - cr16c) - basic_machine=cr16c-unknown + cr16) + basic_machine=cr16-unknown os=-elf ;; crds | unos) @@ -667,6 +680,14 @@ basic_machine=m68k-isi os=-sysv ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; m88k-omron*) basic_machine=m88k-omron ;; @@ -682,6 +703,10 @@ basic_machine=i386-pc os=-mingw32 ;; + mingw32ce) + basic_machine=arm-unknown + os=-mingw32ce + ;; miniframe) basic_machine=m68000-convergent ;; @@ -808,6 +833,14 @@ basic_machine=i860-intel os=-osf ;; + parisc) + basic_machine=hppa-unknown + os=-linux + ;; + parisc-*) + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; pbd) basic_machine=sparc-tti ;; @@ -909,6 +942,10 @@ sb1el) basic_machine=mipsisa64sb1el-unknown ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; sei) basic_machine=mips-sei os=-seiux @@ -920,6 +957,9 @@ basic_machine=sh-hitachi os=-hms ;; + sh5el) + basic_machine=sh5le-unknown + ;; sh64) basic_machine=sh64-unknown ;; @@ -1009,6 +1049,10 @@ basic_machine=tic6x-unknown os=-coff ;; + tile*) + basic_machine=tile-unknown + os=-linux-gnu + ;; tx39) basic_machine=mipstx39-unknown ;; @@ -1214,7 +1258,7 @@ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1366,6 +1410,9 @@ # system, and we'll never get to this point. case $basic_machine in + score-*) + os=-elf + ;; spu-*) os=-elf ;; @@ -1406,6 +1453,9 @@ m68*-cisco) os=-aout ;; + mep-*) + os=-elf + ;; mips*-cisco) os=-elf ;; diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/configure /tmp/1tgnNoYBLI/dirac-1.0.2/configure --- dirac-0.9.1/configure 2008-01-26 12:30:39.000000000 +0000 +++ dirac-1.0.2/configure 2009-02-11 01:43:40.000000000 +0000 @@ -1,28 +1,32 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.60. +# Generated by GNU Autoconf 2.63. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## -# Be Bourne compatible +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh + + # PATH needs CR @@ -33,17 +37,45 @@ as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } fi # Support unset when possible. @@ -59,8 +91,6 @@ # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) -as_nl=' -' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. @@ -83,7 +113,7 @@ as_myself=$0 fi if test ! -f "$as_myself"; then - echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi @@ -96,17 +126,10 @@ PS4='+ ' # NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - fi -done +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && @@ -128,7 +151,7 @@ $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || -echo X/"$0" | +$as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q @@ -154,7 +177,7 @@ as_have_required=no fi - if test $as_have_required = yes && (eval ": + if test $as_have_required = yes && (eval ": (as_func_return () { (exit \$1) } @@ -215,7 +238,7 @@ else as_candidate_shells= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /usr/bin/posix$PATH_SEPARATOR/bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. @@ -233,19 +256,20 @@ # Try only shells that exist, to save several forks. if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { ("$as_shell") 2> /dev/null <<\_ASEOF -# Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh + : _ASEOF @@ -253,19 +277,20 @@ CONFIG_SHELL=$as_shell as_have_required=yes if { "$as_shell" 2> /dev/null <<\_ASEOF -# Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh + : (as_func_return () { @@ -335,10 +360,10 @@ if test "x$CONFIG_SHELL" != x; then for as_var in BASH_ENV ENV - do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - done - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi @@ -407,9 +432,10 @@ test \$exitcode = 0") || { echo No shell found that supports shell functions. - echo Please tell autoconf@gnu.org about your system, - echo including any error possibly output before this - echo message + echo Please tell bug-autoconf@gnu.org about your system, + echo including any error possibly output before this message. + echo This can help us improve future autoconf versions. + echo Configuration will now proceed without shell functions. } @@ -445,7 +471,7 @@ s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems @@ -473,7 +499,6 @@ *) ECHO_N='-n';; esac - if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr @@ -486,19 +511,22 @@ rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir - mkdir conf$$.dir + mkdir conf$$.dir 2>/dev/null fi -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else as_ln_s='cp -p' -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln + fi else as_ln_s='cp -p' fi @@ -512,19 +540,28 @@ as_mkdir_p=false fi -# Find out whether ``test -x'' works. Don't use a zero-byte file, as -# systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - as_executable_p="test -x" +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' else - as_executable_p=: + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' fi -rm -f conf$$.file +as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -538,22 +575,22 @@ # Check that we are running under the correct shell. SHELL=${CONFIG_SHELL-/bin/sh} -case X$ECHO in +case X$lt_ECHO in X*--fallback-echo) # Remove one level of quotation (which was required for Make). - ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` + ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','` ;; esac -echo=${ECHO-echo} +ECHO=${lt_ECHO-echo} if test "X$1" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test "X$1" = X--fallback-echo; then # Avoid inline document here, it may be left over : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then - # Yippee, $echo works! +elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then + # Yippee, $ECHO works! : else # Restart under the correct shell. @@ -563,9 +600,9 @@ if test "X$1" = X--fallback-echo; then # used as fallback echo shift - cat </dev/null 2>&1 && unset CDPATH -if test -z "$ECHO"; then -if test "X${echo_test_string+set}" != Xset; then -# find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if (echo_test_string=`eval $cmd`) 2>/dev/null && - echo_test_string=`eval $cmd` && - (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null - then - break - fi - done -fi +if test -z "$lt_ECHO"; then + if test "X${echo_test_string+set}" != Xset; then + # find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if { echo_test_string=`eval $cmd`; } 2>/dev/null && + { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null + then + break + fi + done + fi -if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : -else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. + if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && + echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : + else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + ECHO="$dir/echo" + break + fi + done IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" - if test "X$echo" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - echo='print -r' - elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} - else - # Try using printf. - echo='printf %s\n' - if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - echo="$CONFIG_SHELL $0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$CONFIG_SHELL $0 --fallback-echo" + if test "X$ECHO" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && + echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + ECHO='print -r' + elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} else - # maybe with a smaller string... - prev=: + # Try using printf. + ECHO='printf %s\n' + if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && + echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + ECHO="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + ECHO="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: - for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do - if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null - then - break - fi - prev="$cmd" - done + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null + then + break + fi + prev="$cmd" + done - if test "$prev" != 'sed 50q "$0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} - else - # Oops. We lost completely, so just stick with echo. - echo=echo - fi + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + ECHO=echo + fi + fi fi fi fi fi -fi # Copy echo and quote the copy suitably for passing to libtool from # the Makefile, instead of quoting the original, which is used later. -ECHO=$echo -if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then - ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +lt_ECHO=$ECHO +if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" fi -tagnames=${tagnames+${tagnames},}CXX - -tagnames=${tagnames+${tagnames},}F77 - exec 7<&0 &1 # Name of the host. @@ -719,205 +751,220 @@ # Factoring default headers for most tests. ac_includes_default="\ #include -#if HAVE_SYS_TYPES_H +#ifdef HAVE_SYS_TYPES_H # include #endif -#if HAVE_SYS_STAT_H +#ifdef HAVE_SYS_STAT_H # include #endif -#if STDC_HEADERS +#ifdef STDC_HEADERS # include # include #else -# if HAVE_STDLIB_H +# ifdef HAVE_STDLIB_H # include # endif #endif -#if HAVE_STRING_H -# if !STDC_HEADERS && HAVE_MEMORY_H +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif -#if HAVE_STRINGS_H +#ifdef HAVE_STRINGS_H # include #endif -#if HAVE_INTTYPES_H +#ifdef HAVE_INTTYPES_H # include #endif -#if HAVE_STDINT_H +#ifdef HAVE_STDINT_H # include #endif -#if HAVE_UNISTD_H +#ifdef HAVE_UNISTD_H # include #endif" -ac_subst_vars='SHELL -PATH_SEPARATOR -PACKAGE_NAME -PACKAGE_TARNAME -PACKAGE_VERSION -PACKAGE_STRING -PACKAGE_BUGREPORT -exec_prefix -prefix -program_transform_name -bindir -sbindir -libexecdir -datarootdir -datadir -sysconfdir -sharedstatedir -localstatedir -includedir -oldincludedir -docdir -infodir -htmldir -dvidir -pdfdir -psdir -libdir -localedir -mandir -DEFS -ECHO_C -ECHO_N -ECHO_T -LIBS -build_alias -host_alias -target_alias -GENERIC_LIBRARY_VERSION -GENERIC_LIBRARY_NAME -GENERIC_RELEASE -GENERIC_VERSION -INSTALL_PROGRAM -INSTALL_SCRIPT -INSTALL_DATA -CYGPATH_W -PACKAGE -VERSION -ACLOCAL -AUTOCONF -AUTOMAKE -AUTOHEADER -MAKEINFO -install_sh -STRIP -INSTALL_STRIP_PROGRAM -mkdir_p -AWK -SET_MAKE -am__leading_dot -AMTAR -am__tar -am__untar -CXX -CXXFLAGS -LDFLAGS -CPPFLAGS -ac_ct_CXX -EXEEXT -OBJEXT -DEPDIR -am__include -am__quote -AMDEP_TRUE -AMDEP_FALSE -AMDEPBACKSLASH -CXXDEPMODE -am__fastdepCXX_TRUE -am__fastdepCXX_FALSE -build -build_cpu -build_vendor -build_os -host -host_cpu -host_vendor -host_os -CC -CFLAGS -ac_ct_CC -CCDEPMODE -am__fastdepCC_TRUE -am__fastdepCC_FALSE -GREP -EGREP -LN_S -ECHO -AR +ac_subst_vars='LTLIBOBJS +LIBOBJS +CONFIG_MATH_LIB +VALGRIND +USE_STATIC_FALSE +USE_STATIC_TRUE +HAVE_CPPUNIT_FALSE +HAVE_CPPUNIT_TRUE +AUTOM4TE +OVERLAY_FALSE +OVERLAY_TRUE +HAVE_DVIPDFM_FALSE +HAVE_DVIPDFM_TRUE +HAVE_DVIPDFM +HAVE_LATEX_FALSE +HAVE_LATEX_TRUE +HAVE_LATEX +HAVE_DOT_FALSE +HAVE_DOT_TRUE +HAVE_DOT +HAVE_DOXYGEN_FALSE +HAVE_DOXYGEN_TRUE +HAVE_DOXYGEN +USE_MSVC_FALSE +USE_MSVC_TRUE +LIBEXT +LIBFLAGS +ACLOCAL_AMFLAGS +CXXCPP +CPP +OTOOL64 +OTOOL +LIPO +NMEDIT +DSYMUTIL +lt_ECHO RANLIB +AR +LN_S +NM +ac_ct_DUMPBIN +DUMPBIN +LD +FGREP +EGREP +GREP +SED +am__fastdepCC_FALSE +am__fastdepCC_TRUE +CCDEPMODE +ac_ct_CC +CFLAGS +CC +LIBTOOL +OBJDUMP DLLTOOL AS -OBJDUMP -CPP -CXXCPP -F77 -FFLAGS -ac_ct_F77 -LIBTOOL -LIBFLAGS -LIBEXT -USE_MSVC_TRUE -USE_MSVC_FALSE -HAVE_DOXYGEN -HAVE_DOXYGEN_TRUE -HAVE_DOXYGEN_FALSE -HAVE_DOT -HAVE_DOT_TRUE -HAVE_DOT_FALSE -HAVE_LATEX -HAVE_LATEX_TRUE -HAVE_LATEX_FALSE -HAVE_DVIPDFM -HAVE_DVIPDFM_TRUE -HAVE_DVIPDFM_FALSE -OVERLAY_TRUE -OVERLAY_FALSE -HAVE_ALGO_TRUE -HAVE_ALGO_FALSE -HAVE_ENHANCE_TRUE -HAVE_ENHANCE_FALSE -HAVE_GM_TRUE -HAVE_GM_FALSE -HAVE_UPCONV_TRUE -HAVE_UPCONV_FALSE -HAVE_PROG_TRUE -HAVE_PROG_FALSE -HAVE_DIAG_TRUE -HAVE_DIAG_FALSE -AUTOM4TE -HAVE_CPPUNIT_TRUE -HAVE_CPPUNIT_FALSE -USE_STATIC_TRUE -USE_STATIC_FALSE -VALGRIND -CONFIG_MATH_LIB -LIBOBJS -LTLIBOBJS' -ac_subst_files='' - ac_precious_vars='build_alias -host_alias -target_alias -CXX -CXXFLAGS -LDFLAGS +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +am__fastdepCXX_FALSE +am__fastdepCXX_TRUE +CXXDEPMODE +AMDEPBACKSLASH +AMDEP_FALSE +AMDEP_TRUE +am__quote +am__include +DEPDIR +OBJEXT +EXEEXT +ac_ct_CXX +CPPFLAGS +LDFLAGS +CXXFLAGS +CXX +am__untar +am__tar +AMTAR +am__leading_dot +SET_MAKE +AWK +mkdir_p +MKDIR_P +INSTALL_STRIP_PROGRAM +STRIP +install_sh +MAKEINFO +AUTOHEADER +AUTOMAKE +AUTOCONF +ACLOCAL +VERSION +PACKAGE +CYGPATH_W +am__isrc +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +GENERIC_VERSION +GENERIC_RELEASE +GENERIC_LIBRARY_NAME +GENERIC_LIBRARY_VERSION +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL' +ac_subst_files='' +ac_user_opts=' +enable_option_checking +enable_dependency_tracking +enable_shared +enable_static +with_pic +enable_fast_install +with_gnu_ld +enable_libtool_lock +enable_largefile +enable_overlay +enable_profile +enable_debug +enable_mmx +' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS CPPFLAGS CCC CC CFLAGS CPP -CXXCPP -F77 -FFLAGS' +CXXCPP' # Initialize some variables set by options. ac_init_help= ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null @@ -1016,13 +1063,21 @@ datarootdir=$ac_optarg ;; -disable-* | --disable-*) - ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - eval enable_$ac_feature=no ;; + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; @@ -1035,13 +1090,21 @@ dvidir=$ac_optarg ;; -enable-* | --enable-*) - ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - eval enable_$ac_feature=\$ac_optarg ;; + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ @@ -1232,22 +1295,38 @@ ac_init_version=: ;; -with-* | --with-*) - ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 { (exit 1); exit 1; }; } - ac_package=`echo $ac_package| sed 's/-/_/g'` - eval with_$ac_package=\$ac_optarg ;; + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) - ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 { (exit 1); exit 1; }; } - ac_package=`echo $ac_package | sed 's/-/_/g'` - eval with_$ac_package=no ;; + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. @@ -1267,7 +1346,7 @@ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) { echo "$as_me: error: unrecognized option: $ac_option + -*) { $as_echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; @@ -1276,16 +1355,16 @@ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. - echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; @@ -1294,22 +1373,38 @@ if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { echo "$as_me: error: missing argument to $ac_option" >&2 + { $as_echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi -# Be sure to have absolute directory names. +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2 + { (exit 1); exit 1; }; } ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac +fi + +# Check all directory arguments for consistency. 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 do eval ac_val=\$$ac_var + # Remove trailing slashes. + case $ac_val in + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; + esac + # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac - { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; } done @@ -1324,7 +1419,7 @@ if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes @@ -1340,10 +1435,10 @@ ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - { echo "$as_me: error: Working directory cannot be determined" >&2 + { $as_echo "$as_me: error: working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - { echo "$as_me: error: pwd does not report name of working directory" >&2 + { $as_echo "$as_me: error: pwd does not report name of working directory" >&2 { (exit 1); exit 1; }; } @@ -1351,12 +1446,12 @@ if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$0" || -$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$0" : 'X\(//\)[^/]' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -echo X"$0" | + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -1383,12 +1478,12 @@ fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2 { (exit 1); exit 1; }; } pwd)` # When building in place, set srcdir=. @@ -1437,9 +1532,9 @@ Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] + [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] + [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify @@ -1449,25 +1544,25 @@ For better control, use the options below. Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --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] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --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] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF @@ -1488,6 +1583,7 @@ cat <<\_ACEOF Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-dependency-tracking speeds up one-time build @@ -1506,24 +1602,22 @@ Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-pic try to use only PIC/non-PIC objects [default=use both] - --with-tags[=TAGS] include additional configurations [automatic] + --with-gnu-ld assume the C compiler uses GNU ld [default=no] Some influential environment variables: CXX C++ compiler command CXXFLAGS C++ compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory + LIBS libraries to pass to the linker, e.g. -l CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if you have headers in a nonstandard directory CC C compiler command CFLAGS C compiler flags CPP C preprocessor CXXCPP C++ preprocessor - F77 Fortran 77 compiler command - FFLAGS Fortran 77 compiler flags Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. @@ -1535,15 +1629,17 @@ if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; @@ -1579,7 +1675,7 @@ echo && $SHELL "$ac_srcdir/configure" --help=recursive else - echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done @@ -1589,10 +1685,10 @@ if $ac_init_version; then cat <<\_ACEOF configure -generated by GNU Autoconf 2.60 +generated by GNU Autoconf 2.63 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -1603,7 +1699,7 @@ running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was -generated by GNU Autoconf 2.60. Invocation command line was +generated by GNU Autoconf 2.63. Invocation command line was $ $0 $@ @@ -1639,7 +1735,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - echo "PATH: $as_dir" + $as_echo "PATH: $as_dir" done IFS=$as_save_IFS @@ -1674,7 +1770,7 @@ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) - ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; @@ -1726,11 +1822,12 @@ case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) $as_unset $ac_var ;; esac ;; esac @@ -1760,9 +1857,9 @@ do eval ac_val=\$$ac_var case $ac_val in - *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac - echo "$ac_var='\''$ac_val'\''" + $as_echo "$ac_var='\''$ac_val'\''" done | sort echo @@ -1777,9 +1874,9 @@ do eval ac_val=\$$ac_var case $ac_val in - *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac - echo "$ac_var='\''$ac_val'\''" + $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi @@ -1795,8 +1892,8 @@ echo fi test "$ac_signal" != 0 && - echo "$as_me: caught signal $ac_signal" - echo "$as_me: exit $exit_status" + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && @@ -1838,21 +1935,24 @@ # Let the site file select an alternate cache file if it wants to. -# Prefer explicitly selected file to automatically selected ones. +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - set x "$CONFIG_SITE" + ac_site_file1=$CONFIG_SITE elif test "x$prefix" != xNONE; then - set x "$prefix/share/config.site" "$prefix/etc/config.site" + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site else - set x "$ac_default_prefix/share/config.site" \ - "$ac_default_prefix/etc/config.site" + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site fi -shift -for ac_site_file +for ac_site_file in "$ac_site_file1" "$ac_site_file2" do + test "x$ac_site_file" = xNONE && continue if test -r "$ac_site_file"; then - { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 -echo "$as_me: loading site script $ac_site_file" >&6;} + { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi @@ -1862,16 +1962,16 @@ # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then - { echo "$as_me:$LINENO: loading cache $cache_file" >&5 -echo "$as_me: loading cache $cache_file" >&6;} + { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else - { echo "$as_me:$LINENO: creating cache $cache_file" >&5 -echo "$as_me: creating cache $cache_file" >&6;} + { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi @@ -1885,29 +1985,38 @@ eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) - { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) - { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 -echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 -echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 -echo "$as_me: current value: $ac_new_val" >&2;} - ac_cache_corrupted=: + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in - *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in @@ -1917,10 +2026,12 @@ fi done if $ac_cache_corrupted; then - { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 -echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi @@ -1952,12 +2063,12 @@ GENERIC_LIBRARY_NAME=dirac #release versioning -GENERIC_MAJOR_VERSION=0 -GENERIC_MINOR_VERSION=9 -GENERIC_MICRO_VERSION=1 +GENERIC_MAJOR_VERSION=1 +GENERIC_MINOR_VERSION=0 +GENERIC_MICRO_VERSION=2 #shared library versioning -GENERIC_LIBRARY_VERSION=0:0:0 +GENERIC_LIBRARY_VERSION=1:0:1 # | | | # +------+ | +---+ # | | | @@ -1984,7 +2095,8 @@ VERSION=$GENERIC_VERSION -am__api_version="1.9" +am__api_version='1.10' + ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then @@ -2002,8 +2114,8 @@ fi done if test -z "$ac_aux_dir"; then - { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 -echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 +$as_echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} { (exit 1); exit 1; }; } fi @@ -2029,11 +2141,12 @@ # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. -{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +# Reject install programs that cannot install multiple files. +{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +$as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -2052,7 +2165,7 @@ # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; }; then + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. @@ -2062,17 +2175,29 @@ # program-specific install script used by HP pwplus--don't use. : else - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 + rm -rf conftest.one conftest.two conftest.dir + echo one > conftest.one + echo two > conftest.two + mkdir conftest.dir + if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && + test -s conftest.one && test -s conftest.two && + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi fi fi done done ;; esac + done IFS=$as_save_IFS +rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then @@ -2085,8 +2210,8 @@ INSTALL=$ac_install_sh fi fi -{ echo "$as_me:$LINENO: result: $INSTALL" >&5 -echo "${ECHO_T}$INSTALL" >&6; } +{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 +$as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. @@ -2096,8 +2221,8 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 -echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +$as_echo_n "checking whether build environment is sane... " >&6; } # Just in case sleep 1 echo timestamp > conftest.file @@ -2120,9 +2245,9 @@ # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". - { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken + { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 -echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +$as_echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&2;} { (exit 1); exit 1; }; } fi @@ -2133,26 +2258,23 @@ # Ok. : else - { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! + { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 -echo "$as_me: error: newly created file is older than distributed files! +$as_echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi -{ echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } +{ $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" -# Double any \ or $. echo might interpret backslashes. +# Double any \ or $. # By default was `s,x,x', remove it if useless. -cat <<\_ACEOF >conftest.sed -s/[\\$]/&&/g;s/;s,x,x,$// -_ACEOF -program_transform_name=`echo $program_transform_name | sed -f conftest.sed` -rm -f conftest.sed +ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` @@ -2163,51 +2285,66 @@ am_missing_run="$MISSING --run " else am_missing_run= - { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 -echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi -if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then - # We used to keeping the `.' as first argument, in order to - # allow $(mkdir_p) to be used without argument. As in - # $(mkdir_p) $(somedir) - # where $(somedir) is conditionally defined. However this is wrong - # for two reasons: - # 1. if the package is installed by a user who cannot write `.' - # make install will fail, - # 2. the above comment should most certainly read - # $(mkdir_p) $(DESTDIR)$(somedir) - # so it does not work when $(somedir) is undefined and - # $(DESTDIR) is not. - # To support the latter case, we have to write - # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), - # so the `.' trick is pointless. - mkdir_p='mkdir -p --' -else - # On NextStep and OpenStep, the `mkdir' command does not - # recognize any option. It will interpret all options as - # directories to create, and then abort because `.' already - # exists. - for d in ./-p ./--version; - do - test -d $d && rmdir $d - done - # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. - if test -f "$ac_aux_dir/mkinstalldirs"; then - mkdir_p='$(mkinstalldirs)' +{ $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 +$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if test "${ac_cv_path_mkdir+set}" = set; then + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir (GNU coreutils) '* | \ + 'mkdir (coreutils) '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + break 3;; + esac + done + done +done +IFS=$as_save_IFS + +fi + + if test "${ac_cv_path_mkdir+set}" = set; then + MKDIR_P="$ac_cv_path_mkdir -p" else - mkdir_p='$(install_sh) -d' + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + test -d ./--version && rmdir ./--version + MKDIR_P="$ac_install_sh -d" fi fi +{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5 +$as_echo "$MKDIR_P" >&6; } + +mkdir_p="$MKDIR_P" +case $mkdir_p in + [\\/$]* | ?:[\\/]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AWK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. @@ -2218,9 +2355,9 @@ 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -2231,22 +2368,23 @@ fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then - { echo "$as_me:$LINENO: result: $AWK" >&5 -echo "${ECHO_T}$AWK" >&6; } + { $as_echo "$as_me:$LINENO: result: $AWK" >&5 +$as_echo "$AWK" >&6; } else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi test -n "$AWK" && break done -{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } -set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +set x ${MAKE-make} +ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh @@ -2263,12 +2401,12 @@ rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } SET_MAKE= else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi @@ -2281,12 +2419,16 @@ fi rmdir .tst 2>/dev/null -# test to see if srcdir already configured -if test "`cd $srcdir && pwd`" != "`pwd`" && - test -f $srcdir/config.status; then - { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 -echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + am__isrc=' -I$(srcdir)' + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } + fi fi # test whether we have cygpath @@ -2320,7 +2462,7 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} -install_sh=${install_sh-"$am_aux_dir/install-sh"} +install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right @@ -2330,10 +2472,10 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. @@ -2344,9 +2486,9 @@ 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -2357,11 +2499,11 @@ fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then - { echo "$as_me:$LINENO: result: $STRIP" >&5 -echo "${ECHO_T}$STRIP" >&6; } + { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi @@ -2370,10 +2512,10 @@ ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. @@ -2384,9 +2526,9 @@ 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then + 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_STRIP="strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -2397,11 +2539,11 @@ fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then - { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -echo "${ECHO_T}$ac_ct_STRIP" >&6; } + { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then @@ -2409,12 +2551,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$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 STRIP=$ac_ct_STRIP @@ -2424,7 +2562,7 @@ fi fi -INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" # We need awk for the "check" target. The system "awk" is bad on # some platforms. @@ -2453,10 +2591,10 @@ 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 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. @@ -2467,9 +2605,9 @@ 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -2480,11 +2618,11 @@ fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then - { echo "$as_me:$LINENO: result: $CXX" >&5 -echo "${ECHO_T}$CXX" >&6; } + { $as_echo "$as_me:$LINENO: result: $CXX" >&5 +$as_echo "$CXX" >&6; } else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi @@ -2497,10 +2635,10 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. @@ -2511,9 +2649,9 @@ 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then + 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_CXX="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -2524,11 +2662,11 @@ fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then - { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 -echo "${ECHO_T}$ac_ct_CXX" >&6; } + { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +$as_echo "$ac_ct_CXX" >&6; } else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi @@ -2540,12 +2678,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$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 CXX=$ac_ct_CXX @@ -2555,37 +2689,41 @@ fi fi # Provide some information about the compiler. -echo "$as_me:$LINENO: checking for C++ compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` +$as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +set X $ac_compile +ac_compiler=$2 { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF @@ -2604,27 +2742,22 @@ } _ACEOF ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.exe b.out" +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -{ echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5 -echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6; } -ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -# -# List of possible output files, starting from the most likely. -# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) -# only as a last resort. b.out is created by i960 compilers. -ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' -# -# The IRIX 6 linker writes into existing files which may not be -# executable, retaining their permissions. Remove them first so a -# subsequent execution test works. +{ $as_echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5 +$as_echo_n "checking for C++ compiler default output file name... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + ac_rmfiles= for ac_file in $ac_files do case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done @@ -2635,21 +2768,22 @@ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link_default") 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. -for ac_file in $ac_files +for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most @@ -2673,24 +2807,30 @@ test "$ac_cv_exeext" = no && ac_cv_exeext= else - echo "$as_me: failed program was:" >&5 + ac_file='' +fi + +{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +if test -z "$ac_file"; then + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { echo "$as_me:$LINENO: error: C++ compiler cannot create executables +{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: C++ compiler cannot create executables See \`config.log' for more details." >&5 -echo "$as_me: error: C++ compiler cannot create executables +$as_echo "$as_me: error: C++ compiler cannot create executables See \`config.log' for more details." >&2;} - { (exit 77); exit 77; }; } + { (exit 77); exit 77; }; }; } fi ac_exeext=$ac_cv_exeext -{ echo "$as_me:$LINENO: result: $ac_file" >&5 -echo "${ECHO_T}$ac_file" >&6; } # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. -{ echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5 -echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6; } +{ $as_echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5 +$as_echo_n "checking whether the C++ compiler works... " >&6; } # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then @@ -2699,49 +2839,53 @@ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else - { { echo "$as_me:$LINENO: error: cannot run C++ compiled programs. + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot run C++ compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run C++ compiled programs. +$as_echo "$as_me: error: cannot run C++ compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi fi fi -{ echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } +{ $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } -rm -f a.out a.exe conftest$ac_cv_exeext b.out +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. -{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } -{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 -echo "${ECHO_T}$cross_compiling" >&6; } +{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } -{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 -echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will @@ -2750,31 +2894,33 @@ for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else - { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi rm -f conftest$ac_cv_exeext -{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 -echo "${ECHO_T}$ac_cv_exeext" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT -{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 -echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } if test "${ac_cv_objext+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -2797,40 +2943,43 @@ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 -echo "$as_me: error: cannot compute suffix of object files: cannot compile +$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } + { (exit 1); exit 1; }; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi -{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 -echo "${ECHO_T}$ac_cv_objext" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT -{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } +{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if test "${ac_cv_cxx_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -2856,37 +3005,21 @@ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no @@ -2896,15 +3029,19 @@ ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi -{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } -GXX=`test $ac_compiler_gnu = yes && echo yes` +{ $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS -{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 -echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } +{ $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +$as_echo_n "checking whether $CXX accepts -g... " >&6; } if test "${ac_cv_prog_cxx_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes @@ -2931,37 +3068,21 @@ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_prog_cxx_g=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CXXFLAGS="" @@ -2986,37 +3107,21 @@ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cxx_werror_flag=$ac_save_cxx_werror_flag @@ -3042,37 +3147,21 @@ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_prog_cxx_g=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -3087,8 +3176,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi -{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +$as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then @@ -3121,8 +3210,8 @@ .PHONY: am__doit END # If we don't find an include directive, just comment out the code. -{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 -echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } +{ $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +$as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none @@ -3149,8 +3238,8 @@ fi -{ echo "$as_me:$LINENO: result: $_am_result" >&5 -echo "${ECHO_T}$_am_result" >&6; } +{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5 +$as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. @@ -3162,9 +3251,7 @@ am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi - - -if test "x$enable_dependency_tracking" != xno; then + if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else @@ -3174,13 +3261,12 @@ - depcc="$CXX" am_compiler_list= -{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up @@ -3242,6 +3328,7 @@ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then @@ -3267,13 +3354,11 @@ fi fi -{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 -echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } +{ $as_echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type - - -if + if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= @@ -3284,8 +3369,8 @@ fi -{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 -echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +$as_echo_n "checking whether build environment is sane... " >&6; } # Just in case sleep 1 echo timestamp > conftest.file @@ -3308,9 +3393,9 @@ # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". - { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken + { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 -echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +$as_echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&2;} { (exit 1); exit 1; }; } fi @@ -3321,155 +3406,81 @@ # Ok. : else - { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! + { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 -echo "$as_me: error: newly created file is older than distributed files! +$as_echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi -{ echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - +{ $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } -# Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then - enableval=$enable_shared; p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac +{ $as_echo "$as_me:$LINENO: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if test "${ac_cv_build+set}" = set; then + $as_echo_n "(cached) " >&6 else - enable_shared=yes + 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_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +$as_echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +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 -# Check whether --enable-static was given. -if test "${enable_static+set}" = set; then - enableval=$enable_static; p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_static=yes -fi - - -# Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then - enableval=$enable_fast_install; p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_fast_install=yes -fi - - -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 -echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} - { (exit 1); exit 1; }; } - -{ echo "$as_me:$LINENO: checking build system type" >&5 -echo $ECHO_N "checking build system type... $ECHO_C" >&6; } -if test "${ac_cv_build+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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 && - { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 -echo "$as_me: error: cannot guess build type; you must specify one" >&2;} - { (exit 1); exit 1; }; } -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 -echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 -echo "${ECHO_T}$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 -echo "$as_me: error: invalid value of canonical build" >&2;} - { (exit 1); exit 1; }; };; -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 - - -{ echo "$as_me:$LINENO: checking host system type" >&5 -echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +{ $as_echo "$as_me:$LINENO: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } if test "${ac_cv_host+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $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` || - { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 -echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi -{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 -echo "${ECHO_T}$ac_cv_host" >&6; } +{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; -*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 -echo "$as_me: error: invalid value of canonical host" >&2;} +*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +$as_echo "$as_me: error: invalid value of canonical host" >&2;} { (exit 1); exit 1; }; };; esac host=$ac_cv_host @@ -3486,21 +3497,20 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +enable_win32_dll=yes + +case $host in +*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. +set dummy ${ac_tool_prefix}as; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_AS+set}" = set; then + $as_echo_n "(cached) " >&6 else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. + if test -n "$AS"; then + ac_cv_prog_AS="$AS" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -3508,9 +3518,9 @@ 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AS="${ac_tool_prefix}as" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3519,28 +3529,28 @@ fi fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } +AS=$ac_cv_prog_AS +if test -n "$AS"; then + { $as_echo "$as_me:$LINENO: result: $AS" >&5 +$as_echo "$AS" >&6; } else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +if test -z "$ac_cv_prog_AS"; then + ac_ct_AS=$AS + # Extract the first word of "as", so it can be a program name with args. +set dummy as; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_AS+set}" = set; then + $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. + if test -n "$ac_ct_AS"; then + ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -3548,9 +3558,9 @@ 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + 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_AS="as" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3559,45 +3569,40 @@ fi fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6; } +ac_ct_AS=$ac_cv_prog_ac_ct_AS +if test -n "$ac_ct_AS"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_AS" >&5 +$as_echo "$ac_ct_AS" >&6; } else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi - if test "x$ac_ct_CC" = x; then - CC="" + if test "x$ac_ct_AS" = x; then + AS="false" else case $cross_compiling:$ac_tool_warned in yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$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 - CC=$ac_ct_CC + AS=$ac_ct_AS fi else - CC="$ac_cv_prog_CC" + AS="$ac_cv_prog_AS" fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_DLLTOOL+set}" = set; then + $as_echo_n "(cached) " >&6 else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -3605,9 +3610,9 @@ 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3616,87 +3621,80 @@ fi fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then + { $as_echo "$as_me:$LINENO: result: $DLLTOOL" >&5 +$as_echo "$DLLTOOL" >&6; } else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi - fi fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +if test -z "$ac_cv_prog_DLLTOOL"; then + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then + $as_echo_n "(cached) " >&6 else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else - ac_prog_rejected=no 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + 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_DLLTOOL="dlltool" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi fi fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } +ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_DLLTOOL" >&5 +$as_echo "$ac_ct_DLLTOOL" >&6; } else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi - + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$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 + DLLTOOL=$ac_ct_DLLTOOL + fi +else + DLLTOOL="$ac_cv_prog_DLLTOOL" fi -if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - 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 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_OBJDUMP+set}" = set; then + $as_echo_n "(cached) " >&6 else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -3704,9 +3702,9 @@ 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3715,32 +3713,28 @@ fi fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5 +$as_echo "$OBJDUMP" >&6; } else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi - test -n "$CC" && break - done fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then + $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -3748,9 +3742,9 @@ 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + 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_OBJDUMP="objdump" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3759,1341 +3753,494 @@ fi fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6; } +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5 +$as_echo "$ac_ct_OBJDUMP" >&6; } else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$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 - CC=$ac_ct_CC + OBJDUMP=$ac_ct_OBJDUMP fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" fi -fi - + ;; +esac -test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -echo "$as_me: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } +test -z "$AS" && AS=as -# Provide some information about the compiler. -echo "$as_me:$LINENO: checking for C compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_compiler_gnu=no -fi +test -z "$DLLTOOL" && DLLTOOL=dlltool -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu -fi -{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } -GCC=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - CFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +test -z "$OBJDUMP" && OBJDUMP=objdump -int -main () -{ - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; + + +case `pwd` in + *\ * | *\ *) + { $as_echo "$as_me:$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 -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi +macro_version='2.2.6' +macro_revision='1.3012' -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi + + + + + + + + + + + +ltmain="$ac_aux_dir/ltmain.sh" + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + $as_echo_n "(cached) " >&6 else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 -echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH do - CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cc_c89=$ac_arg -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { echo "$as_me:$LINENO: result: none needed" >&5 -echo "${ECHO_T}none needed" >&6; } ;; - xno) - { echo "$as_me:$LINENO: result: unsupported" >&5 -echo "${ECHO_T}unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; -esac - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -depcc="$CC" am_compiler_list= - -{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + 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_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 fi - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - case $depmode in - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - none) break ;; - esac - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. - if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done +done +done +IFS=$as_save_IFS - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none fi - fi -{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 -echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - - -if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:$LINENO: result: $CC" >&5 +$as_echo "$CC" >&6; } else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi -{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 -echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } -if test "${lt_cv_path_SED+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else - # Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break + 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_CC="gcc" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done done +done +IFS=$as_save_IFS fi - -SED=$lt_cv_path_SED -{ echo "$as_me:$LINENO: result: $SED" >&5 -echo "${ECHO_T}$SED" >&6; } - -{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 -echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } -if test "${ac_cv_path_GREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } else - # Extract the first word of "grep ggrep" to use in msg output -if test -z "$GREP"; then -set dummy grep ggrep; ac_prog_name=$2 -if test "${ac_cv_path_GREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$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 + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. else - ac_path_GREP_found=false -# Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_executable_p "$ac_path_GREP"; } || continue - # Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - - $ac_path_GREP_found && break 3 - done + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi done - done IFS=$as_save_IFS - fi - -GREP="$ac_cv_path_GREP" -if test -z "$GREP"; then - { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } fi - +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:$LINENO: result: $CC" >&5 +$as_echo "$CC" >&6; } else - ac_cv_path_GREP=$GREP + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + fi fi -{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 -echo "${ECHO_T}$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ echo "$as_me:$LINENO: checking for egrep" >&5 -echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + $as_echo_n "(cached) " >&6 else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - # Extract the first word of "egrep" to use in msg output -if test -z "$EGREP"; then -set dummy egrep; ac_prog_name=$2 -if test "${ac_cv_path_EGREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. else - ac_path_EGREP_found=false -# Loop through the user's path and test for each of PROGNAME-LIST + ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_executable_p "$ac_path_EGREP"; } || continue - # Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - - $ac_path_EGREP_found && break 3 - done + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi done - done IFS=$as_save_IFS - -fi - -EGREP="$ac_cv_path_EGREP" -if test -z "$EGREP"; then - { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi fi - -else - ac_cv_path_EGREP=$EGREP fi - - - fi fi -{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 -echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:$LINENO: result: $CC" >&5 +$as_echo "$CC" >&6; } else - with_gnu_ld=no + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 -echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { echo "$as_me:$LINENO: checking for GNU ld" >&5 -echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } -else - { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 -echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } + fi -if test "${lt_cv_path_LD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + 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:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + $as_echo_n "(cached) " >&6 else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 + break 2 + fi +done +done +IFS=$as_save_IFS -LD="$lt_cv_path_LD" -if test -n "$LD"; then - { echo "$as_me:$LINENO: result: $LD" >&5 -echo "${ECHO_T}$LD" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } fi -test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 -echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 -echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } -if test "${lt_cv_prog_gnu_ld+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:$LINENO: result: $CC" >&5 +$as_echo "$CC" >&6; } else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 +$as_echo "no" >&6; } fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5 -echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld -{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 -echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } -if test "${lt_cv_ld_reload_flag+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_ld_reload_flag='-r' + test -n "$CC" && break + done fi -{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 -echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - darwin*) - if test "$GCC" = yes; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac - -{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 -echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } -if test "${lt_cv_path_NM+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +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:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + $as_echo_n "(cached) " >&6 else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" +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_CC="$ac_prog" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +done +done +IFS=$as_save_IFS + fi fi -{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 -echo "${ECHO_T}$lt_cv_path_NM" >&6; } -NM="$lt_cv_path_NM" - -{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 -echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } else - { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 -echo "${ECHO_T}no, using $LN_S" >&6; } + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi -{ echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5 -echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6; } -if test "${lt_cv_deplibs_check_method+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given extended regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. - -case $host_os in -aix4* | aix5*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[45]*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump'. - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; + test -n "$ac_ct_CC" && break +done -freebsd* | kfreebsd*-gnu | dragonfly*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac + if test "x$ac_ct_CC" = x; then + CC="" else - lt_cv_deplibs_check_method=pass_all + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$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 + CC=$ac_ct_CC fi - ;; +fi -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; +fi -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; -interix3*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' - ;; +test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; +# Provide some information about the compiler. +$as_echo "$as_me:$LINENO: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } -# This must be Linux ELF. -linux*) - lt_cv_deplibs_check_method=pass_all - ;; +{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -netbsd*) - 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 - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' - fi - ;; +int +main () +{ +#ifndef __GNUC__ + choke me +#endif -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -nto-qnx*) - lt_cv_deplibs_check_method=unknown - ;; + ac_compiler_gnu=no +fi -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu fi -{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 -echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then - enableval=$enable_libtool_lock; +{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= fi - -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '#line 5000 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 -echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } -if test "${lt_cv_cc_needs_belf+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + $as_echo_n "(cached) " >&6 else - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - cat >conftest.$ac_ext <<_ACEOF + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -5108,1358 +4255,1224 @@ return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (case "(($ac_try" in + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - lt_cv_cc_needs_belf=yes + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - lt_cv_cc_needs_belf=no + fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 -echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -sparc*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; - *) LD="${LD-ld} -64" ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -*-*-cygwin* | *-*-mingw* | *-*-pw32*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_DLLTOOL+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= fi -done -done -IFS=$as_save_IFS - fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { echo "$as_me:$LINENO: result: $DLLTOOL" >&5 -echo "${ECHO_T}$DLLTOOL" >&6; } +{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + $as_echo_n "(cached) " >&6 else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { echo "$as_me:$LINENO: result: $ac_ct_DLLTOOL" >&5 -echo "${ECHO_T}$ac_ct_DLLTOOL" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac - DLLTOOL=$ac_ct_DLLTOOL - fi +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. -set dummy ${ac_tool_prefix}as; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_AS+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$AS"; then - ac_cv_prog_AS="$AS" # 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AS="${ac_tool_prefix}as" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS fi -fi -AS=$ac_cv_prog_AS -if test -n "$AS"; then - { echo "$as_me:$LINENO: result: $AS" >&5 -echo "${ECHO_T}$AS" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - -fi -if test -z "$ac_cv_prog_AS"; then - ac_ct_AS=$AS - # Extract the first word of "as", so it can be a program name with args. -set dummy as; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_AS+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_AS"; then - ac_cv_prog_ac_ct_AS="$ac_ct_AS" # 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_AS="as" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break done -IFS=$as_save_IFS +rm -f conftest.$ac_ext +CC=$ac_save_CC fi -fi -ac_ct_AS=$ac_cv_prog_ac_ct_AS -if test -n "$ac_ct_AS"; then - { echo "$as_me:$LINENO: result: $ac_ct_AS" >&5 -echo "${ECHO_T}$ac_ct_AS" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - if test "x$ac_ct_AS" = x; then - AS="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:$LINENO: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:$LINENO: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac - AS=$ac_ct_AS - fi -else - AS="$ac_cv_prog_AS" -fi - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_OBJDUMP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { echo "$as_me:$LINENO: result: $OBJDUMP" >&5 -echo "${ECHO_T}$OBJDUMP" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +depcc="$CC" am_compiler_list= -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. +{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + $as_echo_n "(cached) " >&6 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi -done -done -IFS=$as_save_IFS + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none fi + fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5 -echo "${ECHO_T}$ac_ct_OBJDUMP" >&6; } +{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= fi - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; + +{ $as_echo "$as_me:$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 test "${ac_cv_path_SED+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + $as_unset ac_script || ac_script= + if test -z "$SED"; then + ac_path_SED_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + 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_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac - OBJDUMP=$ac_ct_OBJDUMP + + $ac_path_SED_found && break 3 + done + done +done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + { { $as_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5 +$as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;} + { (exit 1); exit 1; }; } fi else - OBJDUMP="$ac_cv_prog_OBJDUMP" + ac_cv_path_SED=$SED fi - ;; +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5 +$as_echo "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed -esac +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" -need_locks="$enable_libtool_lock" -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + + + + + + + + +{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + $as_echo_n "(cached) " >&6 else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= + + $ac_path_GREP_found && break 3 + done + done +done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } fi else - ac_cpp_err=yes + ac_cv_path_GREP=$GREP fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Broken: fails on valid input. -continue fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" -rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; +{ $as_echo "$as_me:$LINENO: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= + + $ac_path_EGREP_found && break 3 + done + done +done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } fi else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break + ac_cv_path_EGREP=$EGREP fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break + fi fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" - done - ac_cv_prog_CPP=$CPP -fi - CPP=$ac_cv_prog_CPP +{ $as_echo "$as_me:$LINENO: checking for fgrep" >&5 +$as_echo_n "checking for fgrep... " >&6; } +if test "${ac_cv_path_FGREP+set}" = set; then + $as_echo_n "(cached) " >&6 else - ac_cv_prog_CPP=$CPP -fi -{ echo "$as_me:$LINENO: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 + then ac_cv_path_FGREP="$GREP -F" + else + if test -z "$FGREP"; then + ac_path_FGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in fgrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue +# Check for GNU ac_path_FGREP and select it if it is found. + # Check for GNU $ac_path_FGREP +case `"$ac_path_FGREP" --version 2>&1` in +*GNU*) + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'FGREP' >> "conftest.nl" + "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_FGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_FGREP="$ac_path_FGREP" + ac_path_FGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= + + $ac_path_FGREP_found && break 3 + done + done +done +IFS=$as_save_IFS + if test -z "$ac_cv_path_FGREP"; then + { { $as_echo "$as_me:$LINENO: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +$as_echo "$as_me: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } fi else - ac_cpp_err=yes + ac_cv_path_FGREP=$FGREP fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Broken: fails on valid input. -continue + fi fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5 +$as_echo "$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" -rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +test -z "$GREP" && GREP=grep - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&5 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include -int -main () -{ - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_header_stdc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* -fi -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : + + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else - ac_cv_header_stdc=no + with_gnu_ld=no fi -rm -f conftest* +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : +if test "${lt_cv_path_LD+set}" = set; then + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_header_stdc=no + lt_cv_path_LD="$LD" # Let the user override the test with a path. fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi - +LD="$lt_cv_path_LD" +if test -n "$LD"; then + { $as_echo "$as_me:$LINENO: result: $LD" >&5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi +test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then +{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5 +$as_echo "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF -fi -# On IRIX 5.3, sys/types and inttypes.h are conflicting. +{ $as_echo "$as_me:$LINENO: checking for BSD- or MS-compatible name lister (nm)" >&5 +$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } +if test "${lt_cv_path_NM+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + : ${lt_cv_path_NM=no} +fi +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +$as_echo "$lt_cv_path_NM" >&6; } +if test "$lt_cv_path_NM" != "no"; then + NM="$lt_cv_path_NM" +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$ac_tool_prefix"; then + for ac_prog in "dumpbin -symbols" "link -dump -symbols" + 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:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_DUMPBIN+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$DUMPBIN"; then + ac_cv_prog_DUMPBIN="$DUMPBIN" # 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_DUMPBIN="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS +fi +fi +DUMPBIN=$ac_cv_prog_DUMPBIN +if test -n "$DUMPBIN"; then + { $as_echo "$as_me:$LINENO: result: $DUMPBIN" >&5 +$as_echo "$DUMPBIN" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h + test -n "$DUMPBIN" && break + done +fi +if test -z "$DUMPBIN"; then + ac_ct_DUMPBIN=$DUMPBIN + for ac_prog in "dumpbin -symbols" "link -dump -symbols" do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + # 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:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default + if test -n "$ac_ct_DUMPBIN"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # 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_DUMPBIN="$ac_prog" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - +ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN +if test -n "$ac_ct_DUMPBIN"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5 +$as_echo "$ac_ct_DUMPBIN" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi + + test -n "$ac_ct_DUMPBIN" && break done + if test "x$ac_ct_DUMPBIN" = x; then + DUMPBIN=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$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 + DUMPBIN=$ac_ct_DUMPBIN + fi +fi -for ac_header in dlfcn.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + if test "$DUMPBIN" != ":"; then + NM="$DUMPBIN" + fi fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +test -z "$NM" && NM=nm - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } -# Is the header present? -{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 + + + +{ $as_echo "$as_me:$LINENO: checking the name lister ($NM) interface" >&5 +$as_echo_n "checking the name lister ($NM) interface... " >&6; } +if test "${lt_cv_nm_interface+set}" = set; then + $as_echo_n "(cached) " >&6 +else + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:5213: $ac_compile\"" >&5) + (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_c_werror_flag - else - ac_cpp_err= + (eval echo "\"\$as_me:5216: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&5 + (eval echo "\"\$as_me:5219: output\"" >&5) + cat conftest.out >&5 + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" fi + rm -f conftest* +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5 +$as_echo "$lt_cv_nm_interface" >&6; } + +{ $as_echo "$as_me:$LINENO: checking whether ln -s works" >&5 +$as_echo_n "checking whether ln -s works... " >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } else - ac_cpp_err=yes + { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +$as_echo "no, using $LN_S" >&6; } fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes + +# find the maximum length of command line arguments +{ $as_echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +$as_echo_n "checking the maximum length of command line arguments... " >&6; } +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + $as_echo_n "(cached) " >&6 else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + i=0 + teststring="ABCD" - ac_header_preproc=no -fi + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; ;; -esac -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8 ; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ + = "XX$teststring$teststring"; } >/dev/null 2>&1 && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac + fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } +if test -n $lt_cv_sys_max_cmd_len ; then + { $as_echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +$as_echo "$lt_cv_sys_max_cmd_len" >&6; } +else + { $as_echo "$as_me:$LINENO: result: none" >&5 +$as_echo "none" >&6; } fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF +max_cmd_len=$lt_cv_sys_max_cmd_len + + + + + + +: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} + +{ $as_echo "$as_me:$LINENO: checking whether the shell understands some XSI constructs" >&5 +$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } +# Try some XSI features +xsi_shell=no +( _lt_dummy="a/b/c" + test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ + = c,a/b,, \ + && eval 'test $(( 1 + 1 )) -eq 2 \ + && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ + && xsi_shell=yes +{ $as_echo "$as_me:$LINENO: result: $xsi_shell" >&5 +$as_echo "$xsi_shell" >&6; } + + +{ $as_echo "$as_me:$LINENO: checking whether the shell understands \"+=\"" >&5 +$as_echo_n "checking whether the shell understands \"+=\"... " >&6; } +lt_shell_append=no +( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ + >/dev/null 2>&1 \ + && lt_shell_append=yes +{ $as_echo "$as_me:$LINENO: result: $lt_shell_append" >&5 +$as_echo "$lt_shell_append" >&6; } + +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false fi -done -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 -echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } -if test -z "$CXXCPP"; then - if test "${ac_cv_prog_CXXCPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac + + + + + + + + + +{ $as_echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +$as_echo_n "checking for $LD option to reload object files... " >&6; } +if test "${lt_cv_ld_reload_flag+set}" = set; then + $as_echo_n "(cached) " >&6 else - # Double quotes because CXXCPP needs to be expanded - for CXXCPP in "$CXX -E" "/lib/cpp" - do - ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue + lt_cv_ld_reload_flag='-r' fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; +{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +$as_echo "$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CXXCPP=$CXXCPP - -fi - CXXCPP=$ac_cv_prog_CXXCPP -else - ac_cv_prog_CXXCPP=$CXXCPP -fi -{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 -echo "${ECHO_T}$CXXCPP" >&6; } -ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details." >&5 -echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -fi -ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu if test -n "$ac_tool_prefix"; then - for ac_prog in g77 f77 xlf frt pgf77 cf77 fort77 fl32 af77 f90 xlf90 pgf90 pghpf epcf90 gfortran g95 f95 fort xlf95 ifort ifc efc pgf95 lf95 ftn - 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 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_OBJDUMP+set}" = set; then + $as_echo_n "(cached) " >&6 else - if test -n "$F77"; then - ac_cv_prog_F77="$F77" # Let the user override the test. + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -6467,9 +5480,9 @@ 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_F77="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -6478,32 +5491,28 @@ fi fi -F77=$ac_cv_prog_F77 -if test -n "$F77"; then - { echo "$as_me:$LINENO: result: $F77" >&5 -echo "${ECHO_T}$F77" >&6; } +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5 +$as_echo "$OBJDUMP" >&6; } else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi - test -n "$F77" && break - done fi -if test -z "$F77"; then - ac_ct_F77=$F77 - for ac_prog in g77 f77 xlf frt pgf77 cf77 fort77 fl32 af77 f90 xlf90 pgf90 pghpf epcf90 gfortran g95 f95 fort xlf95 ifort ifc efc pgf95 lf95 ftn -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then + $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_F77"; then - ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -6511,9 +5520,9 @@ 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_F77="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + 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_OBJDUMP="objdump" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -6522,630 +5531,257 @@ fi fi -ac_ct_F77=$ac_cv_prog_ac_ct_F77 -if test -n "$ac_ct_F77"; then - { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 -echo "${ECHO_T}$ac_ct_F77" >&6; } +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5 +$as_echo "$ac_ct_OBJDUMP" >&6; } else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi - - test -n "$ac_ct_F77" && break -done - - if test "x$ac_ct_F77" = x; then - F77="" + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$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 - F77=$ac_ct_F77 + OBJDUMP=$ac_ct_OBJDUMP fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" fi +test -z "$OBJDUMP" && OBJDUMP=objdump -# Provide some information about the compiler. -echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -rm -f a.out -# If we don't use `.F' as extension, the preprocessor is not run on the -# input file. (Note that this only needs to work for GNU compilers.) -ac_save_ext=$ac_ext -ac_ext=F -{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } -if test "${ac_cv_f77_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF - program main -#ifndef __GNUC__ - choke me -#endif - end -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_f77_compiler_gnu=$ac_compiler_gnu -fi -{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } -ac_ext=$ac_save_ext -ac_test_FFLAGS=${FFLAGS+set} -ac_save_FFLAGS=$FFLAGS -FFLAGS= -{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 -echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } -if test "${ac_cv_prog_f77_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 +$as_echo_n "checking how to recognize dependent libraries... " >&6; } +if test "${lt_cv_deplibs_check_method+set}" = set; then + $as_echo_n "(cached) " >&6 else - FFLAGS=-g -cat >conftest.$ac_ext <<_ACEOF - program main + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. - end -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_f77_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +case $host_os in +aix[4-9]*) + lt_cv_deplibs_check_method=pass_all + ;; - ac_cv_prog_f77_g=no -fi +beos*) + lt_cv_deplibs_check_method=pass_all + ;; -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; -fi -{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 -echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } -if test "$ac_test_FFLAGS" = set; then - FFLAGS=$ac_save_FFLAGS -elif test $ac_cv_prog_f77_g = yes; then - if test "x$ac_cv_f77_compiler_gnu" = xyes; then - FFLAGS="-g -O2" - else - FFLAGS="-g" - fi -else - if test "x$ac_cv_f77_compiler_gnu" = xyes; then - FFLAGS="-O2" +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' else - FFLAGS= + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' fi -fi - -G77=`test $ac_compiler_gnu = yes && echo yes` -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - -# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! - -# find the maximum length of command line arguments -{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 -echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } -if test "${lt_cv_sys_max_cmd_len+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; + ;; - cygwin* | mingw*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; +cegcc) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ - = "XX$teststring") >/dev/null 2>&1 && - new_result=`expr "X$teststring" : ".*" 2>&1` && - lt_cv_sys_max_cmd_len=$new_result && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - teststring= - # Add a significant safety factor because C++ compilers can tack on massive - # amounts of additional arguments before passing them to the linker. - # It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac + ;; -fi - -if test -n $lt_cv_sys_max_cmd_len ; then - { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 -echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } -else - { echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6; } -fi +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; +netbsd*) + 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 + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; -# Check for command to grab the raw symbol name followed by C symbol from nm. -{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 -echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } -if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Transform an extracted symbol line into a proper C declaration -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32*) - symcode='[ABCDGISTW]' +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; -hpux*) # Its linker distinguishes data from code symbols - if test "$host_cpu" = ia64; then - symcode='[ABCDEGRST]' - fi - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all ;; -linux*) - if test "$host_cpu" = ia64; then - symcode='[ABCDGIRSTW]' - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; -irix* | nonstopux*) - symcode='[BCDEGRST]' + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all ;; -osf*) - symcode='[BCDEGQRST]' + +rdos*) + lt_cv_deplibs_check_method=pass_all ;; + solaris*) - symcode='[BDRT]' - ;; -sco3.2v5*) - symcode='[DT]' - ;; -sysv4.2uw2*) - symcode='[DT]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[ABDT]' + lt_cv_deplibs_check_method=pass_all ;; -sysv4) - symcode='[DFNSTU]' + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all ;; -esac -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac ;; -esac -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[ABCDGIRSTW]' ;; +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; esac -# Try without a prefix undercore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 - (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if grep ' nm_test_var$' "$nlist" >/dev/null; then - if grep ' nm_test_func$' "$nlist" >/dev/null; then - cat < conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' - - cat <> conftest.$ac_ext -#if defined (__STDC__) && __STDC__ -# define lt_ptr_t void * -#else -# define lt_ptr_t char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr_t address; -} -lt_preloaded_symbols[] = -{ -EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext - cat <<\EOF >> conftest.$ac_ext - {0, (lt_ptr_t) 0} -}; - -#ifdef __cplusplus -} -#endif -EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -f conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done - -fi - -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { echo "$as_me:$LINENO: result: failed" >&5 -echo "${ECHO_T}failed" >&6; } -else - { echo "$as_me:$LINENO: result: ok" >&5 -echo "${ECHO_T}ok" >&6; } -fi - -{ echo "$as_me:$LINENO: checking for objdir" >&5 -echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } -if test "${lt_cv_objdir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null fi -{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 -echo "${ECHO_T}$lt_cv_objdir" >&6; } -objdir=$lt_cv_objdir - +{ $as_echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +$as_echo "$lt_cv_deplibs_check_method" >&6; } +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='sed -e 1s/^X//' -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 avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' -# Constants: -rm="rm -f" -# Global variables: -default_ofile=libtool -can_build_shared=yes -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a -ltmain="$ac_aux_dir/ltmain.sh" -ofile="$default_ofile" -with_gnu_ld="$lt_cv_prog_gnu_ld" if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AR+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $as_echo_n "(cached) " >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. @@ -7156,9 +5792,9 @@ 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then + 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}ar" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7169,11 +5805,11 @@ fi AR=$ac_cv_prog_AR if test -n "$AR"; then - { echo "$as_me:$LINENO: result: $AR" >&5 -echo "${ECHO_T}$AR" >&6; } + { $as_echo "$as_me:$LINENO: result: $AR" >&5 +$as_echo "$AR" >&6; } else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi @@ -7182,10 +5818,10 @@ ac_ct_AR=$AR # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_AR+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $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. @@ -7196,9 +5832,9 @@ 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then + 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="ar" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7209,11 +5845,11 @@ fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then - { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 -echo "${ECHO_T}$ac_ct_AR" >&6; } + { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi if test "x$ac_ct_AR" = x; then @@ -7221,12 +5857,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$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 @@ -7235,16 +5867,29 @@ AR="$ac_cv_prog_AR" fi +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru + + + + + + + + + + + if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + $as_echo_n "(cached) " >&6 else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -7252,9 +5897,9 @@ 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7263,28 +5908,28 @@ fi fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { echo "$as_me:$LINENO: result: $RANLIB" >&5 -echo "${ECHO_T}$RANLIB" >&6; } +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -7292,9 +5937,9 @@ 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + 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_STRIP="strip" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7303,44 +5948,47 @@ fi fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 -echo "${ECHO_T}$ac_ct_RANLIB" >&6; } +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" + if test "x$ac_ct_STRIP" = x; then + STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$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 - RANLIB=$ac_ct_RANLIB + STRIP=$ac_ct_STRIP fi else - RANLIB="$ac_cv_prog_RANLIB" + STRIP="$ac_cv_prog_STRIP" fi +test -z "$STRIP" && STRIP=: + + + + + + if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + $as_echo_n "(cached) " >&6 else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -7348,9 +5996,9 @@ 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7359,28 +6007,28 @@ fi fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { echo "$as_me:$LINENO: result: $STRIP" >&5 -echo "${ECHO_T}$STRIP" >&6; } +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -7388,9 +6036,9 @@ 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_STRIP="strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + 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_RANLIB="ranlib" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7399,58 +6047,39 @@ fi fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -echo "${ECHO_T}$ac_ct_STRIP" >&6; } +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi - if test "x$ac_ct_STRIP" = x; then - STRIP=":" + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} +{ $as_echo "$as_me:$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 - STRIP=$ac_ct_STRIP + RANLIB=$ac_ct_RANLIB fi else - STRIP="$ac_cv_prog_STRIP" + RANLIB="$ac_cv_prog_RANLIB" fi +test -z "$RANLIB" && RANLIB=: + + + -old_CC="$CC" -old_CFLAGS="$CFLAGS" -# Set sane defaults for various variables -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -test -z "$AS" && AS=as -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$DLLTOOL" && DLLTOOL=dlltool -test -z "$LD" && LD=ld -test -z "$LN_S" && LN_S="ln -s" -test -z "$MAGIC_CMD" && MAGIC_CMD=file -test -z "$NM" && NM=nm -test -z "$SED" && SED=sed -test -z "$OBJDUMP" && OBJDUMP=objdump -test -z "$RANLIB" && RANLIB=: -test -z "$STRIP" && STRIP=: -test -z "$ac_objext" && ac_objext=o # Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= @@ -7466,194 +6095,37 @@ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` -# Only perform the check for file, if the check method requires it -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 -echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/${ac_tool_prefix}file; then - lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <&2 -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org -EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 -echo "${ECHO_T}$MAGIC_CMD" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - { echo "$as_me:$LINENO: checking for file" >&5 -echo $ECHO_N "checking for file... $ECHO_C" >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/file; then - lt_cv_path_MAGIC_CMD="$ac_dir/file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <&2 -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org -EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 -echo "${ECHO_T}$MAGIC_CMD" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - else - MAGIC_CMD=: - fi -fi - fi - ;; -esac -enable_dlopen=no -enable_win32_dll=yes -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then - enableval=$enable_libtool_lock; -fi -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes -# Check whether --with-pic was given. -if test "${with_pic+set}" = set; then - withval=$with_pic; pic_mode="$withval" -else - pic_mode=default -fi -test -z "$pic_mode" && pic_mode=default -# Use C for the default configuration in the libtool script -tagname= -lt_save_CC="$CC" -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -# Source file extension for C test sources. -ac_ext=c -# Object file extension for compiled C test sources. -objext=o -objext=$objext -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;\n" -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}\n' + + + + + + + + # If no C compiler was specified, use CC. @@ -7666,870 +6138,1006 @@ compiler=$CC -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ $as_echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + $as_echo_n "(cached) " >&6 +else -ac_outfile=conftest.$ac_objext -printf "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' -lt_prog_compiler_no_builtin_flag= +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[ABCDGISTW]' + ;; +hpux*) + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac -if test "$GCC" = yes; then - lt_prog_compiler_no_builtin_flag=' -fno-builtin' +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" -{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7708: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:7712: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $rm conftest* +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function + # and D for any global variable. + # Also find C++ and __fastcall symbols from MSVC++, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK '"\ +" {last_section=section; section=\$ 3};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ +" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ +" s[1]~/^[@?]/{print s[1], s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx" + else + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { $as_echo "$as_me:$LINENO: result: failed" >&5 +$as_echo "failed" >&6; } else - : + { $as_echo "$as_me:$LINENO: result: ok" >&5 +$as_echo "ok" >&6; } fi -fi -lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= -{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } - if test "$GCC" = yes; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - ;; - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' - ;; - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; - interix3*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - ;; - - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - lt_prog_compiler_pic='-qnocommon' - lt_prog_compiler_wl='-Wl,' - ;; - esac - ;; - - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='${wl}-a ${wl}archive' - ;; - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static='-non_shared' - ;; - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - linux*) - case $cc_basename in - icc* | ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - esac - ;; - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - solaris*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac - ;; - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - *) - lt_prog_compiler_can_build_shared=no - ;; +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; esac fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line 6422 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; -{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_pic_works+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { $as_echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +$as_echo_n "checking whether the C compiler needs -belf... " >&6; } +if test "${lt_cv_cc_needs_belf+set}" = set; then + $as_echo_n "(cached) " >&6 else - lt_prog_compiler_pic_works=no - ac_outfile=conftest.$ac_objext - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7976: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:7980: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_pic_works=yes - fi - fi - $rm conftest* + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -if test x"$lt_prog_compiler_pic_works" = xyes; then - case $lt_prog_compiler_pic in - "" | " "*) ;; - *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; - esac +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + lt_cv_cc_needs_belf=yes else - lt_prog_compiler_pic= - lt_prog_compiler_can_build_shared=no -fi + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + lt_cv_cc_needs_belf=no fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" - ;; + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +$as_echo "$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; esac -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_static_works+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +need_locks="$enable_libtool_lock" + + + case $host_os in + rhapsody* | darwin*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. +set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_DSYMUTIL+set}" = set; then + $as_echo_n "(cached) " >&6 else - lt_prog_compiler_static_works=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - printf "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_static_works=yes - fi - else - lt_prog_compiler_static_works=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" + if test -n "$DSYMUTIL"; then + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # 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_DSYMUTIL="${ac_tool_prefix}dsymutil" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 -echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } - -if test x"$lt_prog_compiler_static_works" = xyes; then - : +fi +DSYMUTIL=$ac_cv_prog_DSYMUTIL +if test -n "$DSYMUTIL"; then + { $as_echo "$as_me:$LINENO: result: $DSYMUTIL" >&5 +$as_echo "$DSYMUTIL" >&6; } else - lt_prog_compiler_static= + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi -{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_c_o+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +if test -z "$ac_cv_prog_DSYMUTIL"; then + ac_ct_DSYMUTIL=$DSYMUTIL + # Extract the first word of "dsymutil", so it can be a program name with args. +set dummy dsymutil; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then + $as_echo_n "(cached) " >&6 else - lt_cv_prog_compiler_c_o=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8080: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:8084: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* + if test -n "$ac_ct_DSYMUTIL"; then + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # 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_DSYMUTIL="dsymutil" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } +fi +ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL +if test -n "$ac_ct_DSYMUTIL"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5 +$as_echo "$ac_ct_DSYMUTIL" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + if test "x$ac_ct_DSYMUTIL" = x; then + DSYMUTIL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$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 + DSYMUTIL=$ac_ct_DSYMUTIL + fi +else + DSYMUTIL="$ac_cv_prog_DSYMUTIL" +fi -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { echo "$as_me:$LINENO: result: $hard_links" >&5 -echo "${ECHO_T}$hard_links" >&6; } - if test "$hard_links" = no; then - { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. +set dummy ${ac_tool_prefix}nmedit; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_NMEDIT+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$NMEDIT"; then + ac_cv_prog_NMEDIT="$NMEDIT" # 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_NMEDIT="${ac_tool_prefix}nmedit" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 fi +done +done +IFS=$as_save_IFS + +fi +fi +NMEDIT=$ac_cv_prog_NMEDIT +if test -n "$NMEDIT"; then + { $as_echo "$as_me:$LINENO: result: $NMEDIT" >&5 +$as_echo "$NMEDIT" >&6; } else - need_locks=no + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi -{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } - runpath_var= - allow_undefined_flag= - enable_shared_with_static_runtimes=no - archive_cmds= - archive_expsym_cmds= - old_archive_From_new_cmds= - old_archive_from_expsyms_cmds= - export_dynamic_flag_spec= - whole_archive_flag_spec= - thread_safe_flag_spec= - hardcode_libdir_flag_spec= - hardcode_libdir_flag_spec_ld= - hardcode_libdir_separator= - hardcode_direct=no - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - link_all_deplibs=unknown - hardcode_automatic=no - module_cmds= - module_expsym_cmds= - always_export_symbols=no - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms="_GLOBAL_OFFSET_TABLE_" - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac +fi +if test -z "$ac_cv_prog_NMEDIT"; then + ac_ct_NMEDIT=$NMEDIT + # Extract the first word of "nmedit", so it can be a program name with args. +set dummy nmedit; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_NMEDIT"; then + ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # 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_NMEDIT="nmedit" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +IFS=$as_save_IFS - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac +fi +fi +ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT +if test -n "$ac_ct_NMEDIT"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5 +$as_echo "$ac_ct_NMEDIT" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi - ld_shlibs=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' + if test "x$ac_ct_NMEDIT" = x; then + NMEDIT=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$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 + NMEDIT=$ac_ct_NMEDIT + fi +else + NMEDIT="$ac_cv_prog_NMEDIT" +fi - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. +set dummy ${ac_tool_prefix}lipo; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_LIPO+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$LIPO"; then + ac_cv_prog_LIPO="$LIPO" # 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_LIPO="${ac_tool_prefix}lipo" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - cat <&2 +fi +fi +LIPO=$ac_cv_prog_LIPO +if test -n "$LIPO"; then + { $as_echo "$as_me:$LINENO: result: $LIPO" >&5 +$as_echo "$LIPO" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. -EOF - fi - ;; +fi +if test -z "$ac_cv_prog_LIPO"; then + ac_ct_LIPO=$LIPO + # Extract the first word of "lipo", so it can be a program name with args. +set dummy lipo; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_LIPO"; then + ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # 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_LIPO="lipo" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS - amigaos*) - archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes +fi +fi +ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO +if test -n "$ac_ct_LIPO"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_LIPO" >&5 +$as_echo "$ac_ct_LIPO" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - ld_shlibs=no - ;; + if test "x$ac_ct_LIPO" = x; then + LIPO=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$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 + LIPO=$ac_ct_LIPO + fi +else + LIPO="$ac_cv_prog_LIPO" +fi - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_OTOOL+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$OTOOL"; then + ac_cv_prog_OTOOL="$OTOOL" # 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_OTOOL="${ac_tool_prefix}otool" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - allow_undefined_flag=unsupported - always_export_symbols=no - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' +fi +fi +OTOOL=$ac_cv_prog_OTOOL +if test -n "$OTOOL"; then + { $as_echo "$as_me:$LINENO: result: $OTOOL" >&5 +$as_echo "$OTOOL" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs=no - fi - ;; - interix3*) - hardcode_direct=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; +fi +if test -z "$ac_cv_prog_OTOOL"; then + ac_ct_OTOOL=$OTOOL + # Extract the first word of "otool", so it can be a program name with args. +set dummy otool; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OTOOL"; then + ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # 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_OTOOL="otool" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS - linux*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +fi +fi +ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL +if test -n "$ac_ct_OTOOL"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL" >&5 +$as_echo "$ac_ct_OTOOL" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi - if test $supports_anon_versioning = yes; then - archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - ld_shlibs=no - fi - ;; + if test "x$ac_ct_OTOOL" = x; then + OTOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$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 + OTOOL=$ac_ct_OTOOL + fi +else + OTOOL="$ac_cv_prog_OTOOL" +fi - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool64; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_OTOOL64+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$OTOOL64"; then + ac_cv_prog_OTOOL64="$OTOOL64" # 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_OTOOL64="${ac_tool_prefix}otool64" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <&2 +fi +fi +OTOOL64=$ac_cv_prog_OTOOL64 +if test -n "$OTOOL64"; then + { $as_echo "$as_me:$LINENO: result: $OTOOL64" >&5 +$as_echo "$OTOOL64" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; +fi +if test -z "$ac_cv_prog_OTOOL64"; then + ac_ct_OTOOL64=$OTOOL64 + # Extract the first word of "otool64", so it can be a program name with args. +set dummy otool64; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_OTOOL64"; then + ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # 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_OTOOL64="otool64" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - cat <<_LT_EOF 1>&2 +fi +fi +ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 +if test -n "$ac_ct_OTOOL64"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL64" >&5 +$as_echo "$ac_ct_OTOOL64" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. + if test "x$ac_ct_OTOOL64" = x; then + OTOOL64=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$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 + OTOOL64=$ac_ct_OTOOL64 + fi +else + OTOOL64="$ac_cv_prog_OTOOL64" +fi -_LT_EOF - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - ;; - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - if test "$ld_shlibs" = no; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - archive_cmds='' - hardcode_direct=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - hardcode_direct=yes - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:$LINENO: checking for -single_module linker flag" >&5 +$as_echo_n "checking for -single_module linker flag... " >&6; } +if test "${lt_cv_apple_cc_single_mod+set}" = set; then + $as_echo_n "(cached) " >&6 +else + lt_cv_apple_cc_single_mod=no + if test -z "${LT_MULTI_MODULE}"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then + lt_cv_apple_cc_single_mod=yes else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi + cat conftest.err >&5 fi + rm -rf libconftest.dylib* + rm -f conftest.* fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5 +$as_echo "$lt_cv_apple_cc_single_mod" >&6; } + { $as_echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5 +$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } +if test "${lt_cv_ld_exported_symbols_list+set}" = set; then + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -8550,2826 +7158,1784 @@ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + lt_cv_ld_exported_symbols_list=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - + lt_cv_ld_exported_symbols_list=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + LDFLAGS="$save_LDFLAGS" - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5 +$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } + case $host_os in + rhapsody* | darwin1.[012]) + _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + darwin*) # darwin 5.x on + # if running on 10.5 or later, the deployment target defaults + # to the OS version, if on x86, and 10.4, the deployment + # target defaults to 10.4. Don't you love it? + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*86*-darwin8*|10.0,*-darwin[91]*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + 10.[012]*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + 10.*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test "$lt_cv_apple_cc_single_mod" = "yes"; then + _lt_dar_single_mod='$single_module' + fi + if test "$lt_cv_ld_exported_symbols_list" = "yes"; then + _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + if test "$DSYMUTIL" != ":"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" +if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (case "(($ac_try" in + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + done + ac_cv_prog_CPP=$CPP - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag=' ${wl}-bernotok' - allow_undefined_flag=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - archive_cmds_need_lc=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ $as_echo "$as_me:$LINENO: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - amigaos*) - archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # see comment about different semantics on the GNU ld section - ld_shlibs=no - ;; + # Broken: fails on valid input. +continue +fi - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic - ;; +rm -f conftest.err conftest.$ac_ext - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_From_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes=yes - ;; + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - whole_archive_flag_spec='' - link_all_deplibs=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs=no - ;; - esac - fi - ;; + # Passes both tests. +ac_preproc_ok=: +break +fi - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; +rm -f conftest.err conftest.$ac_ext - freebsd1*) - ld_shlibs=no - ;; +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } +fi - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu | dragonfly*) - archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; +{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include - hpux9*) - if test "$GCC" = yes; then - archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes +int +main () +{ - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - export_dynamic_flag_spec='${wl}-E' - ;; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: + ac_cv_header_stdc=no +fi - hardcode_direct=yes - export_dynamic_flag_spec='${wl}-E' +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* - case $host_cpu in - hppa*64*|ia64*) - hardcode_libdir_flag_spec_ld='+b $libdir' - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - *) - hardcode_direct=yes - export_dynamic_flag_spec='${wl}-E' +fi - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_ld='-rpath $libdir' - fi - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - link_all_deplibs=yes - ;; +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; +fi - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif - openbsd*) - hardcode_direct=yes - hardcode_shlibpath_var=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - ;; +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' +fi +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - hardcode_libdir_separator=: - ;; +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF - solaris*) - no_undefined_flag=' -z text' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - wlarc='' - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine linker options so we - # cannot just pass the convience library names through - # without $wl, iff we do not link with $LD. - # Luckily, gcc supports the same syntax we need for Sun Studio. - # Supported since Solaris 2.6 (maybe 2.5.1?) - case $wlarc in - '') - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; - *) - whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; - esac ;; - esac - link_all_deplibs=yes - ;; +fi - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; +# On IRIX 5.3, sys/types and inttypes.h are conflicting. - sysv4) - case $host_vendor in - sni) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds='$CC -r -o $output$reload_objs' - hardcode_direct=no - ;; - motorola) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) - no_undefined_flag='${wl}-z,text' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag='${wl}-z,text' - allow_undefined_flag='${wl}-z,nodefs' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator=':' - link_all_deplibs=yes - export_dynamic_flag_spec='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac - fi -{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 -echo "${ECHO_T}$ld_shlibs" >&6; } -test "$ld_shlibs" = no && can_build_shared=no -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc=yes - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } - $rm conftest* - printf "$lt_simple_compile_test_code" > conftest.$ac_ext +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl - pic_flag=$lt_prog_compiler_pic - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc=no - else - archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 -echo "${ECHO_T}$archive_cmds_need_lc" >&6; } - ;; - esac - fi - ;; +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac - -{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" fi -need_lib_prefix=unknown -hardcode_into_libs=no -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH +fi - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; +done -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; +for ac_header in dlfcn.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default -bsdi[45]*) - version_type=linux - 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' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no + eval "$as_ac_Header=no" +fi - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; +fi - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; +done -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. - if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC else - sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + 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:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # 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_CXX="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 fi - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - 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 - ;; +done +done +IFS=$as_save_IFS -freebsd1*) - dynamic_linker=no - ;; +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { $as_echo "$as_me:$LINENO: result: $CXX" >&5 +$as_echo "$CXX" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi -kfreebsd*-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='GNU ld.so' - ;; -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +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:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # 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_CXX="$ac_prog" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - freebsd*) # from 4.6 on - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; +done +done +IFS=$as_save_IFS -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 - hardcode_into_libs=yes - ;; +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +$as_echo "$ac_ct_CXX" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; -interix3*) - 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' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; + test -n "$ac_ct_CXX" && break +done -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux*) - 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' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$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 + CXX=$ac_ct_CXX + fi +fi - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi +fi +# Provide some information about the compiler. +$as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; +{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -knetbsd*-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='GNU ld.so' - ;; +int +main () +{ +#ifndef __GNUC__ + choke me +#endif -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; + ac_compiler_gnu=no +fi -nto-qnx*) - 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=yes - ;; +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +$as_echo_n "checking whether $CXX accepts -g... " >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; +int +main () +{ -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -solaris*) - 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=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - 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 - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -uts4*) - version_type=linux - 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 - ;; - -*) - dynamic_linker=no - ;; -esac -{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || \ - test -n "$runpath_var" || \ - test "X$hardcode_automatic" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && - test "$hardcode_minus_L" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 -echo "${ECHO_T}$hardcode_action" >&6; } - -if test "$hardcode_action" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - -striplib= -old_striplib= -{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 -echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } -if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - ;; - *) - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - ;; - esac -fi - -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); int main () { -return dlopen (); + ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dl_dlopen=yes + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_lib_dl_dlopen=no -fi - -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } -if test $ac_cv_lib_dl_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - -fi - - ;; - - *) - { echo "$as_me:$LINENO: checking for shl_load" >&5 -echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } -if test "${ac_cv_func_shl_load+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Define shl_load to an innocuous variant, in case declares shl_load. - For example, HP-UX 11i declares gettimeofday. */ -#define shl_load innocuous_shl_load - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char shl_load (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef shl_load - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_shl_load || defined __stub___shl_load -choke me -#endif int main () { -return shl_load (); + ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_shl_load=yes + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_func_shl_load=no + fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 -echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } -if test $ac_cv_func_shl_load = yes; then - lt_cv_dlopen="shl_load" + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +$as_echo "$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi else - { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 -echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } -if test "${ac_cv_lib_dld_shl_load+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CXX" am_compiler_list= + +{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ $as_echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +$as_echo_n "checking how to run the C++ preprocessor... " >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + $as_echo_n "(cached) " >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" +#ifdef __STDC__ +# include +#else +# include #endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} + Syntax error _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" +if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dld_shl_load=yes + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_lib_dld_shl_load=no + # Broken: fails on valid input. +continue fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 -echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } -if test $ac_cv_lib_dld_shl_load = yes; then - lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" -else - { echo "$as_me:$LINENO: checking for dlopen" >&5 -echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } -if test "${ac_cv_func_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -/* Define dlopen to an innocuous variant, in case declares dlopen. - For example, HP-UX 11i declares gettimeofday. */ -#define dlopen innocuous_dlopen +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char dlopen (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ + # Passes both tests. +ac_preproc_ok=: +break +fi -#ifdef __STDC__ -# include -#else -# include -#endif +rm -f conftest.err conftest.$ac_ext -#undef dlopen +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_dlopen || defined __stub___dlopen -choke me -#endif - -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_dlopen=no -fi + done + ac_cv_prog_CXXCPP=$CXXCPP -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 -echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } -if test $ac_cv_func_dlopen = yes; then - lt_cv_dlopen="dlopen" -else - { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + CXXCPP=$ac_cv_prog_CXXCPP else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ $as_echo "$as_me:$LINENO: result: $CXXCPP" >&5 +$as_echo "$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" +#ifdef __STDC__ +# include +#else +# include #endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} + Syntax error _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" +if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dl_dlopen=yes + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_lib_dl_dlopen=no + # Broken: fails on valid input. +continue fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } -if test $ac_cv_lib_dl_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 -echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } -if test "${ac_cv_lib_svld_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat >conftest.$ac_ext <<_ACEOF +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} +#include _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" +if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_svld_dlopen=yes + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_lib_svld_dlopen=no + # Passes both tests. +ac_preproc_ok=: +break fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } -if test $ac_cv_lib_svld_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" -else - { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 -echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } -if test "${ac_cv_lib_dld_dld_link+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +rm -f conftest.err conftest.$ac_ext -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dld_dld_link=yes +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dld_dld_link=no -fi - -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 -echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } -if test $ac_cv_lib_dld_dld_link = yes; then - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +_lt_caught_CXX_error=yes; } fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +else + _lt_caught_CXX_error=yes fi -fi -fi +# Set options -fi -fi + enable_dlopen=no - ;; - esac - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 -echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } -if test "${lt_cv_dlopen_self+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self=cross + # Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif -#include -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif -#ifdef __cplusplus -extern "C" void exit (int); -#endif -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - exit (status); -} -EOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + + # Check whether --enable-static was given. +if test "${enable_static+set}" = set; then + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi +else + enable_static=yes fi -rm -fr conftest* -fi -{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 -echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 -echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } -if test "${lt_cv_dlopen_self_static+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif -#include -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif -#ifdef __cplusplus -extern "C" void exit (int); -#endif -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - exit (status); -} -EOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default fi -rm -fr conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 -echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } - fi - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac +test -z "$pic_mode" && pic_mode=default - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -# Report which library types will actually be built -{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 -echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } -{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 -echo "${ECHO_T}$can_build_shared" >&6; } - -{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 -echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } -test "$can_build_shared" = "no" && enable_shared=no -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case $host_os in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; -aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -{ echo "$as_me:$LINENO: result: $enable_shared" >&5 -echo "${ECHO_T}$enable_shared" >&6; } -{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 -echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -{ echo "$as_me:$LINENO: result: $enable_static" >&5 -echo "${ECHO_T}$enable_static" >&6; } - -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler \ - CC \ - LD \ - lt_prog_compiler_wl \ - lt_prog_compiler_pic \ - lt_prog_compiler_static \ - lt_prog_compiler_no_builtin_flag \ - export_dynamic_flag_spec \ - thread_safe_flag_spec \ - whole_archive_flag_spec \ - enable_shared_with_static_runtimes \ - old_archive_cmds \ - old_archive_from_new_cmds \ - predep_objects \ - postdep_objects \ - predeps \ - postdeps \ - compiler_lib_search_path \ - archive_cmds \ - archive_expsym_cmds \ - postinstall_cmds \ - postuninstall_cmds \ - old_archive_from_expsyms_cmds \ - allow_undefined_flag \ - no_undefined_flag \ - export_symbols_cmds \ - hardcode_libdir_flag_spec \ - hardcode_libdir_flag_spec_ld \ - hardcode_libdir_separator \ - hardcode_automatic \ - module_cmds \ - module_expsym_cmds \ - lt_cv_prog_compiler_c_o \ - exclude_expsyms \ - include_expsyms; do - - case $var in - old_archive_cmds | \ - old_archive_from_new_cmds | \ - archive_cmds | \ - archive_expsym_cmds | \ - module_cmds | \ - module_expsym_cmds | \ - old_archive_from_expsyms_cmds | \ - export_symbols_cmds | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; + # Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" ;; esac - done +else + enable_fast_install=yes +fi - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac -cfgfile="${ofile}T" - trap "$rm \"$cfgfile\"; exit 1" 1 2 15 - $rm -f "$cfgfile" - { echo "$as_me:$LINENO: creating $ofile" >&5 -echo "$as_me: creating $ofile" >&6;} - cat <<__EOF__ >> "$cfgfile" -#! $SHELL - -# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. -# -# This file is part of GNU Libtool: -# Originally by Gordon Matzigkeit , 1996 -# -# 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 of the License, 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, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# 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. - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="$SED -e 1s/^X//" -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH -# The names of the tagged configurations supported by this script. -available_tags= -# ### BEGIN LIBTOOL CONFIG -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared -# Whether or not to build static libraries. -build_old_libs=$enable_static -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ltmain" -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os -# An echo program that does not interpret backslashes. -echo=$lt_echo -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS -# A C compiler. -LTCC=$lt_LTCC -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS -# A language-specific compiler. -CC=$lt_compiler -# Is the compiler the GNU C compiler? -with_gcc=$GCC -# An ERE matcher. -EGREP=$lt_EGREP -# The linker used to build libraries. -LD=$lt_LD -# Whether we need hard or soft links. -LN_S=$lt_LN_S -# A BSD-compatible nm program. -NM=$lt_NM -# A symbol stripping program -STRIP=$lt_STRIP -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" -# Used on cygwin: assembler. -AS="$AS" -# The name of the directory that contains temporary libtool files. -objdir=$objdir -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl -# Object file suffix (normally "o"). -objext="$ac_objext" -# Old archive suffix (normally "a"). -libext="$libext" -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' -# Executable file suffix (normally ""). -exeext="$exeext" +test -z "$LN_S" && LN_S="ln -s" -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic -pic_mode=$pic_mode -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o -# Must we lock files when doing compilation? -need_locks=$lt_need_locks -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix -# Do we need a version for libraries? -need_version=$need_version -# Whether dlopen is supported. -dlopen_support=$enable_dlopen -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi -# Library versioning type. -version_type=$version_type +{ $as_echo "$as_me:$LINENO: checking for objdir" >&5 +$as_echo_n "checking for objdir... " >&6; } +if test "${lt_cv_objdir+set}" = set; then + $as_echo_n "(cached) " >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +$as_echo "$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir -# Format of library name prefix. -libname_spec=$lt_libname_spec -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds +cat >>confdefs.h <<_ACEOF +#define LT_OBJDIR "$lt_cv_objdir/" +_ACEOF -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' -# This is the shared library runtime path variable. -runpath_var=$runpath_var +# Same as above, but do not quote variable references. +double_quote_subst='s/\(["`\\]\)/\\\1/g' -# This is the shared library path variable. -shlibpath_var=$shlibpath_var +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs +# Global variables: +ofile=libtool +can_build_shared=yes -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld +with_gnu_ld="$lt_cv_prog_gnu_ld" -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator +old_CC="$CC" +old_CFLAGS="$CFLAGS" -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { $as_echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + $as_echo_n "(cached) " >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path" - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms -# ### END LIBTOOL CONFIG -__EOF__ +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { $as_echo "$as_me:$LINENO: checking for file" >&5 +$as_echo_n "checking for file... " >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + $as_echo_n "(cached) " >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 - case $host_os in - aix3*) - cat <<\EOF >> "$cfgfile" +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac fi -EOF - ;; - esac - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi - mv -f "$cfgfile" "$ofile" || \ - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" + else + MAGIC_CMD=: fi fi + fi + ;; +esac + +# Use C for the default configuration in the libtool script +lt_save_CC="$CC" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -CC="$lt_save_CC" - - -# Check whether --with-tags was given. -if test "${with_tags+set}" = set; then - withval=$with_tags; tagnames="$withval" -fi - - -if test -f "$ltmain" && test -n "$tagnames"; then - if test ! -f "${ofile}"; then - { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 -echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} - fi - - if test -z "$LTCC"; then - eval "`$SHELL ${ofile} --config | grep '^LTCC='`" - if test -z "$LTCC"; then - { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 -echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} - else - { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 -echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} - fi - fi - if test -z "$LTCFLAGS"; then - eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" - fi - - # Extract list of available tagged configurations in $ofile. - # Note that this assumes the entire list is on one line. - available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` - - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for tagname in $tagnames; do - IFS="$lt_save_ifs" - # Check whether tagname contains only valid characters - case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in - "") ;; - *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 -echo "$as_me: error: invalid tag name: $tagname" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null - then - { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 -echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} - { (exit 1); exit 1; }; } - fi - - # Update the list of available tags. - if test -n "$tagname"; then - echo appending configuration tag \"$tagname\" to $ofile - - case $tagname in - CXX) - if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +# Source file extension for C test sources. +ac_ext=c +# Object file extension for compiled C test sources. +objext=o +objext=$objext +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" -archive_cmds_need_lc_CXX=no -allow_undefined_flag_CXX= -always_export_symbols_CXX=no -archive_expsym_cmds_CXX= -export_dynamic_flag_spec_CXX= -hardcode_direct_CXX=no -hardcode_libdir_flag_spec_CXX= -hardcode_libdir_flag_spec_ld_CXX= -hardcode_libdir_separator_CXX= -hardcode_minus_L_CXX=no -hardcode_shlibpath_var_CXX=unsupported -hardcode_automatic_CXX=no -module_cmds_CXX= -module_expsym_cmds_CXX= -link_all_deplibs_CXX=unknown -old_archive_cmds_CXX=$old_archive_cmds -no_undefined_flag_CXX= -whole_archive_flag_spec_CXX= -enable_shared_with_static_runtimes_CXX=no +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' -# Dependencies to place before and after the object being linked: -predep_objects_CXX= -postdep_objects_CXX= -predeps_CXX= -postdeps_CXX= -compiler_lib_search_path_CXX= -# Source file extension for C++ test sources. -ac_ext=cpp -# Object file extension for compiled C++ test sources. -objext=o -objext_CXX=$objext -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;\n" -# Code to be used in simple link tests -lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' -# ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} @@ -11380,1818 +8946,1711 @@ # Allow CC to be a program name with arguments. compiler=$CC +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* +$RM conftest* ac_outfile=conftest.$ac_objext -printf "$lt_simple_link_test_code" >conftest.$ac_ext +echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` -$rm conftest* +$RM -r conftest* -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_LD=$LD -lt_save_GCC=$GCC -GCC=$GXX -lt_save_with_gnu_ld=$with_gnu_ld -lt_save_path_LD=$lt_cv_path_LD -if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx -else - $as_unset lt_cv_prog_gnu_ld -fi -if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX -else - $as_unset lt_cv_path_LD -fi -test -z "${LDCXX+set}" || LD=$LDCXX -CC=${CXX-"c++"} -compiler=$CC -compiler_CXX=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +if test -n "$compiler"; then +lt_prog_compiler_no_builtin_flag= -# We don't want -fno-exception wen compiling C++ code, so set the -# no_builtin_flag separately -if test "$GXX" = yes; then - lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' -else - lt_prog_compiler_no_builtin_flag_CXX= -fi +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' -if test "$GXX" = yes; then - # Set up default GNU C++ configuration + { $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:8992: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:8996: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $RM conftest* +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else - with_gnu_ld=no + : fi -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 -echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { echo "$as_me:$LINENO: checking for GNU ld" >&5 -echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } -else - { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 -echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } -fi -if test "${lt_cv_path_LD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -echo "${ECHO_T}$LD" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi -test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 -echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 -echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } -if test "${lt_cv_prog_gnu_ld+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' + lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ - grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_CXX= - fi - else - with_gnu_ld=no - wlarc= +{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; -else - GXX=no - with_gnu_ld=no - wlarc= -fi + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; -# PORTME: fill in a description of your system's C++ link characteristics -{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } -ld_shlibs_CXX=yes -case $host_os in - aix3*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' ;; esac + ;; - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_CXX='' - hardcode_direct_CXX=yes - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; - if test "$GXX" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - hardcode_direct_CXX=yes - else - # We have old collect2 - hardcode_direct_CXX=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_CXX=yes - hardcode_libdir_flag_spec_CXX='-L$libdir' - hardcode_libdir_separator_CXX= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic fi - else - # not using gcc + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_CXX=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_CXX='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + ;; -int -main () -{ + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + # old Intel for x86_64 which still supported -KPIC. + ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='--shared' + lt_prog_compiler_static='--static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + xl*) + # IBM XL C 8.0/Fortran 10.1 on PPC + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-qpic' + lt_prog_compiler_static='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + esac + ;; + esac + ;; -fi + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - - archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_CXX="-z nodefs" - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_CXX=' ${wl}-bernotok' - allow_undefined_flag_CXX=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_CXX='$convenience' - archive_cmds_need_lc_CXX=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_CXX=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs_CXX=no - fi - ;; + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; + rdos*) + lt_prog_compiler_static='-non_shared' + ;; - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_CXX='-L$libdir' - allow_undefined_flag_CXX=unsupported - always_export_symbols_CXX=no - enable_shared_with_static_runtimes_CXX=yes - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_CXX=no - fi - ;; - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc_CXX=no - hardcode_direct_CXX=no - hardcode_automatic_CXX=yes - hardcode_shlibpath_var_CXX=unsupported - whole_archive_flag_spec_CXX='' - link_all_deplibs_CXX=yes - - if test "$GXX" = yes ; then - lt_int_apple_cc_single_mod=no - output_verbose_link_cmd='echo' - if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then - lt_int_apple_cc_single_mod=yes - fi - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - else - archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - fi - module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs_CXX=no - ;; + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; esac - fi - ;; + ;; - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - freebsd[12]*) - # C++ shared libraries reported to be fairly broken before switch to ELF - ld_shlibs_CXX=no - ;; - freebsd-elf*) - archive_cmds_need_lc_CXX=no - ;; - freebsd* | kfreebsd*-gnu | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - ld_shlibs_CXX=yes - ;; - gnu*) - ;; - hpux9*) - hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_CXX=: - export_dynamic_flag_spec_CXX='${wl}-E' - hardcode_direct_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' ;; - aCC*) - archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' ;; - *) - if test "$GXX" = yes; then - archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' fi ;; - esac - ;; - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_CXX=: - case $host_cpu in - hppa*64*|ia64*) - hardcode_libdir_flag_spec_ld_CXX='+b $libdir' - ;; - *) - export_dynamic_flag_spec_CXX='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - ;; - *) - hardcode_direct_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' ;; - esac - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - interix3*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' - fi - fi - link_all_deplibs_CXX=yes - ;; - esac - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - ;; - linux*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - - hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc*) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - archive_cmds_need_lc_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC*) - # Portland Group C++ compiler - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - hardcode_libdir_separator_CXX=: + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - esac - ;; - lynxos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - m88k*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; + *) + lt_prog_compiler_can_build_shared=no + ;; esac + fi + +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= ;; - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - openbsd2*) - # C++ shared libraries are fairly broken - ld_shlibs_CXX=no - ;; - openbsd*) - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - export_dynamic_flag_spec_CXX='${wl}-E' - whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd='echo' + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; - osf3*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - hardcode_libdir_separator_CXX=: - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' - - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - cxx*) - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' +esac +{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +$as_echo "$lt_prog_compiler_pic" >&6; } - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - hardcode_libdir_separator_CXX=: - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - cxx*) - allow_undefined_flag_CXX=' -expect_unresolved \*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ - $rm $lib.exp' - - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - psos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - archive_cmds_need_lc_CXX=yes - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_shlibpath_var_CXX=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The C++ compiler is used as linker so we must use $wl - # flag to pass the commands to the underlying system - # linker. We must also pass each convience library through - # to the system linker between allextract/defaultextract. - # The C++ compiler will combine linker options so we - # cannot just pass the convience library names through - # without $wl. - # Supported since Solaris 2.6 (maybe 2.5.1?) - whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' - ;; - esac - link_all_deplibs_CXX=yes - - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +if test "${lt_cv_prog_compiler_pic_works+set}" = set; then + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:9331: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:9335: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works=yes + fi + fi + $RM conftest* - # The C++ compiler must be used to create the archive. - old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - no_undefined_flag_CXX=' ${wl}-z ${wl}defs' - if $CC --version | grep -v '^2\.7' > /dev/null; then - archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' +if test x"$lt_cv_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - fi +fi - hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' - fi - ;; - esac - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_CXX='${wl}-z,text' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - # So that behaviour is only enabled if SCOABSPATH is set to a - # non-empty value in the environment. Most likely only useful for - # creating official distributions of packages. - # This is a hack until libtool officially supports absolute path - # names for shared libraries. - no_undefined_flag_CXX='${wl}-z,text' - allow_undefined_flag_CXX='${wl}-z,nodefs' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - export_dynamic_flag_spec_CXX='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - vxworks*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; -esac -{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 -echo "${ECHO_T}$ld_shlibs_CXX" >&6; } -test "$ld_shlibs_CXX" = no && can_build_shared=no -GCC_CXX="$GXX" -LD_CXX="$LD" -cat > conftest.$ac_ext <&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if test "${lt_cv_prog_compiler_static_works+set}" = set; then + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works=yes + fi + else + lt_cv_prog_compiler_static_works=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" - # The `*' in the case matches for architectures that use `case' in - # $output_verbose_cmd can trigger glob expansion during the loop - # eval without this substitution. - output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5 +$as_echo "$lt_cv_prog_compiler_static_works" >&6; } - for p in `eval $output_verbose_link_cmd`; do - case $p in +if test x"$lt_cv_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test $p = "-L" \ - || test $p = "-R"; then - prev=$p - continue - else - prev= - fi - if test "$pre_test_object_deps_done" = no; then - case $p in - -L* | -R*) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$compiler_lib_search_path_CXX"; then - compiler_lib_search_path_CXX="${prev}${p}" - else - compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$postdeps_CXX"; then - postdeps_CXX="${prev}${p}" - else - postdeps_CXX="${postdeps_CXX} ${prev}${p}" - fi - fi - ;; - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - if test "$pre_test_object_deps_done" = no; then - if test -z "$predep_objects_CXX"; then - predep_objects_CXX="$p" - else - predep_objects_CXX="$predep_objects_CXX $p" - fi - else - if test -z "$postdep_objects_CXX"; then - postdep_objects_CXX="$p" - else - postdep_objects_CXX="$postdep_objects_CXX $p" - fi - fi - ;; - *) ;; # Ignore the rest. - esac - done - # Clean up. - rm -f a.out a.exe + { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + $as_echo_n "(cached) " >&6 else - echo "libtool.m4: error: problem compiling CXX test program" -fi + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext -$rm -f confest.$objext + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:9436: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:9440: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* -# PORTME: override above test on systems where it is broken -case $host_os in -interix3*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - predep_objects_CXX= - postdep_objects_CXX= - postdeps_CXX= - ;; +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } -solaris*) - case $cc_basename in - CC*) - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - postdeps_CXX='-lCstd -lCrun' - ;; - esac - ;; -esac -case " $postdeps_CXX " in -*" -lc "*) archive_cmds_need_lc_CXX=no ;; -esac -lt_prog_compiler_wl_CXX= -lt_prog_compiler_pic_CXX= -lt_prog_compiler_static_CXX= -{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-static' + { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:9491: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:9495: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + + + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:$LINENO: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test "$hard_links" = no; then + { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + + + + { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag= + always_export_symbols=no + archive_cmds= + archive_expsym_cmds= + compiler_needs_object=no + enable_shared_with_static_runtimes=no + export_dynamic_flag_spec= + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic=no + hardcode_direct=no + hardcode_direct_absolute=no + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + inherit_rpath=no + link_all_deplibs=unknown + module_cmds= + module_expsym_cmds= + old_archive_from_new_cmds= + old_archive_from_expsyms_cmds= + thread_safe_flag_spec= + whole_archive_flag_spec= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + # See if GNU ld supports shared libraries. case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +_LT_EOF fi ;; + amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' - ;; - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | os2* | pw32*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_CXX='-DDLL_EXPORT' - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_CXX='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - lt_prog_compiler_pic_CXX= - ;; - interix3*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_CXX=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. case $host_cpu in - hppa*64*|ia64*) - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; esac ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi ;; - esac - else - case $host_os in - aix4* | aix5*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; else - lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu) + tmp_diet=no + if test "$host_os" = linux-dietlibc; then case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - lt_prog_compiler_pic_CXX='-qnocommon' - lt_prog_compiler_wl_CXX='-Wl,' - ;; - esac - ;; - dgux*) - case $cc_basename in - ec++*) - lt_prog_compiler_pic_CXX='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | kfreebsd*-gnu | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - lt_prog_compiler_pic_CXX='+Z' - fi - ;; - aCC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_CXX='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux*) - case $cc_basename in - KCC*) - # KAI C++ Compiler - lt_prog_compiler_wl_CXX='--backend -Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - ;; - icpc* | ecpc*) - # Intel C++ - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-static' - ;; - pgCC*) - # Portland Group C++ compiler. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fpic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - *) - ;; + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test "$tmp_diet" = no + then + tmp_addflag= + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec= + tmp_sharedflag='--shared' ;; + xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - lt_prog_compiler_pic_CXX='-W c,exportall' - ;; - *) - ;; + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + compiler_needs_object=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; esac - ;; - netbsd*) - ;; - osf3* | osf4* | osf5*) + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test "x$supports_anon_versioning" = xyes; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + case $cc_basename in - KCC*) - lt_prog_compiler_wl_CXX='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - lt_prog_compiler_pic_CXX='-pic' - ;; - cxx*) - # Digital/Compaq C++ - lt_prog_compiler_wl_CXX='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - *) - ;; + xlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld='-rpath $libdir' + archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; esac + else + ld_shlibs=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF ;; - psos*) + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-PIC' - ;; - *) - ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - lt_prog_compiler_pic_CXX='-pic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - lcc*) - # Lucid - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_direct_absolute=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + file_list_spec='${wl}-f,' + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - lt_prog_compiler_pic_CXX='-KPIC' - ;; - *) - ;; + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + export_dynamic_flag_spec='${wl}-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + allow_undefined_flag="$_lt_dar_allow_undefined" + case $cc_basename in + ifort*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test "$_lt_dar_can_shared" = "yes"; then + output_verbose_link_cmd=echo + archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + + else + ld_shlibs=no + fi + + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='${wl}-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - ;; + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" + cat >conftest.$ac_ext <<_ACEOF +int foo(void) {} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' + +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS="$save_LDFLAGS" + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + inherit_rpath=yes + link_all_deplibs=yes + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + *nto* | *qnx*) + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + hardcode_direct_absolute=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + archive_cmds_need_lc='no' + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z defs' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='${wl}' + archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; esac + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi ;; - vxworks*) + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? ;; - *) - lt_prog_compiler_can_build_shared_CXX=no + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; - esac - fi + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_CXX"; then + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; -{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 -echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_pic_works_CXX=no - ac_outfile=conftest.$ac_objext - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:13000: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:13004: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_pic_works_CXX=yes - fi - fi - $rm conftest* + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-R,$libdir' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + + if test x$host_vendor = xsni; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec='${wl}-Blargedynsym' + ;; + esac + fi + fi + +{ $as_echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +$as_echo "$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no + +with_gnu_ld=$with_gnu_ld -if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then - case $lt_prog_compiler_pic_CXX in - "" | " "*) ;; - *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; - esac -else - lt_prog_compiler_pic_CXX= - lt_prog_compiler_can_build_shared_CXX=no -fi -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_CXX= - ;; - *) - lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" - ;; -esac -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" -{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_static_works_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_static_works_CXX=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - printf "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_static_works_CXX=yes - fi - else - lt_prog_compiler_static_works_CXX=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 -echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } -if test x"$lt_prog_compiler_static_works_CXX" = xyes; then - : -else - lt_prog_compiler_static_CXX= -fi -{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_c_o_CXX=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:13104: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:13108: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . 2>&5 - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* -fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { echo "$as_me:$LINENO: result: $hard_links" >&5 -echo "${ECHO_T}$hard_links" >&6; } - if test "$hard_links" = no; then - { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi -{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - case $host_os in - aix4* | aix5*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - export_symbols_cmds_CXX="$ltdll_cmds" - ;; - cygwin* | mingw*) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' - ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac -{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 -echo "${ECHO_T}$ld_shlibs_CXX" >&6; } -test "$ld_shlibs_CXX" = no && can_build_shared=no # # Do we need to explicitly link libc? # -case "x$archive_cmds_need_lc_CXX" in +case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added - archive_cmds_need_lc_CXX=yes + archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_CXX in + case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; @@ -13199,54 +10658,262 @@ # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. - { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } - $rm conftest* - printf "$lt_simple_compile_test_code" > conftest.$ac_ext + { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= - wl=$lt_prog_compiler_wl_CXX - pic_flag=$lt_prog_compiler_pic_CXX + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_CXX - allow_undefined_flag_CXX= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then - archive_cmds_need_lc_CXX=no + archive_cmds_need_lc=no else - archive_cmds_need_lc_CXX=yes + archive_cmds_need_lc=yes fi - allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi - $rm conftest* - { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 -echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } + $RM conftest* + { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +$as_echo "$archive_cmds_need_lc" >&6; } ;; esac fi ;; esac -{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` + else + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi library_names_spec= libname_spec='lib$name' soname_spec= @@ -13260,20 +10927,6 @@ version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" -if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi need_lib_prefix=unknown hardcode_into_libs=no @@ -13291,7 +10944,7 @@ soname_spec='${libname}${release}${shared_ext}$major' ;; -aix4* | aix5*) +aix[4-9]*) version_type=linux need_lib_prefix=no need_version=no @@ -13310,7 +10963,7 @@ aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no @@ -13336,9 +10989,18 @@ ;; amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac ;; beos*) @@ -13361,25 +11023,28 @@ # libtool to hard-code these into programs ;; -cygwin* | mingw* | pw32*) +cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) + yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ - $rm \$dlpath' + $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in @@ -13388,20 +11053,20 @@ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; - mingw*) + mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH printed by # mingw gcc, but we are running on Cygwin. Gcc prints its search # path with ; separators, and with drive letters. We can handle the # drive letters (cygwin fileutils understands them), so leave them, # especially as we might pass files found there to a mingw objdump, # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi ;; pw32*) @@ -13425,17 +11090,13 @@ version_type=darwin need_lib_prefix=no need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. - if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` - else - sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' - fi + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; @@ -13452,18 +11113,6 @@ dynamic_linker=no ;; -kfreebsd*-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='GNU ld.so' - ;; - freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. @@ -13501,7 +11150,7 @@ shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; - freebsd*) # from 4.6 on + *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; @@ -13540,18 +11189,18 @@ fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH @@ -13564,7 +11213,7 @@ postinstall_cmds='chmod 555 $lib' ;; -interix3*) +interix[3-9]*) version_type=linux need_lib_prefix=no need_version=no @@ -13619,7 +11268,7 @@ ;; # This must be Linux ELF. -linux*) +linux* | k*bsd*-gnu) version_type=linux need_lib_prefix=no need_version=no @@ -13628,6 +11277,64 @@ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no + # Some binutils ld are patched to set DT_RUNPATH + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then + shlibpath_overrides_runpath=yes +fi + +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. @@ -13635,7 +11342,7 @@ # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi @@ -13648,23 +11355,11 @@ dynamic_linker='GNU/Linux ld.so' ;; -knetbsd*-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='GNU ld.so' - ;; - netbsd*) version_type=sunos need_lib_prefix=no need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' @@ -13685,14 +11380,16 @@ shlibpath_overrides_runpath=yes ;; -nto-qnx*) - version_type=linux +*nto* | *qnx*) + version_type=qnx 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=yes + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' ;; openbsd*) @@ -13701,13 +11398,13 @@ need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no @@ -13741,6 +11438,10 @@ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; +rdos*) + dynamic_linker=no + ;; + solaris*) version_type=linux need_lib_prefix=no @@ -13775,7 +11476,6 @@ sni) shlibpath_overrides_runpath=no need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' runpath_var=LD_RUN_PATH ;; siemens) @@ -13790,87 +11490,191 @@ esac ;; -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + 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}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux + 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 + ;; + +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +fi +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; -uts4*) - version_type=linux - 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 - ;; -*) - dynamic_linker=no - ;; -esac -{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi -{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } -hardcode_action_CXX= -if test -n "$hardcode_libdir_flag_spec_CXX" || \ - test -n "$runpath_var_CXX" || \ - test "X$hardcode_automatic_CXX" = "Xyes" ; then - # We can hardcode non-existant directories. - if test "$hardcode_direct_CXX" != no && + + + + + + { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || + test -n "$runpath_var" || + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existent directories. + if test "$hardcode_direct" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && - test "$hardcode_minus_L_CXX" != no; then + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. - hardcode_action_CXX=relink + hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_CXX=immediate + hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. - hardcode_action_CXX=unsupported + hardcode_action=unsupported fi -{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 -echo "${ECHO_T}$hardcode_action_CXX" >&6; } +{ $as_echo "$as_me:$LINENO: result: $hardcode_action" >&5 +$as_echo "$hardcode_action" >&6; } -if test "$hardcode_action_CXX" = relink; then +if test "$hardcode_action" = relink || + test "$inherit_rpath" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || @@ -13880,478 +11684,967 @@ fi -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_CXX \ - CC_CXX \ - LD_CXX \ - lt_prog_compiler_wl_CXX \ - lt_prog_compiler_pic_CXX \ - lt_prog_compiler_static_CXX \ - lt_prog_compiler_no_builtin_flag_CXX \ - export_dynamic_flag_spec_CXX \ - thread_safe_flag_spec_CXX \ - whole_archive_flag_spec_CXX \ - enable_shared_with_static_runtimes_CXX \ - old_archive_cmds_CXX \ - old_archive_from_new_cmds_CXX \ - predep_objects_CXX \ - postdep_objects_CXX \ - predeps_CXX \ - postdeps_CXX \ - compiler_lib_search_path_CXX \ - archive_cmds_CXX \ - archive_expsym_cmds_CXX \ - postinstall_cmds_CXX \ - postuninstall_cmds_CXX \ - old_archive_from_expsyms_cmds_CXX \ - allow_undefined_flag_CXX \ - no_undefined_flag_CXX \ - export_symbols_cmds_CXX \ - hardcode_libdir_flag_spec_CXX \ - hardcode_libdir_flag_spec_ld_CXX \ - hardcode_libdir_separator_CXX \ - hardcode_automatic_CXX \ - module_cmds_CXX \ - module_expsym_cmds_CXX \ - lt_cv_prog_compiler_c_o_CXX \ - exclude_expsyms_CXX \ - include_expsyms_CXX; do - - case $var in - old_archive_cmds_CXX | \ - old_archive_from_new_cmds_CXX | \ - archive_cmds_CXX | \ - archive_expsym_cmds_CXX | \ - module_cmds_CXX | \ - module_expsym_cmds_CXX | \ - old_archive_from_expsyms_cmds_CXX | \ - export_symbols_cmds_CXX | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + + + + if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes ;; - esac -cfgfile="$ofile" + mingw* | pw32* | cegcc*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + darwin*) + # if libdl is installed we need to link against it + { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_dl_dlopen=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared + ac_cv_lib_dl_dlopen=no +fi -# Whether or not to build static libraries. -build_old_libs=$enable_static +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = x""yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + { $as_echo "$as_me:$LINENO: checking for shl_load" >&5 +$as_echo_n "checking for shl_load... " >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_func_shl_load=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +$as_echo "$ac_cv_func_shl_load" >&6; } +if test "x$ac_cv_func_shl_load" = x""yes; then + lt_cv_dlopen="shl_load" +else + { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +$as_echo_n "checking for shl_load in -ldld... " >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_dld_shl_load=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_CXX + ac_cv_lib_dld_shl_load=no +fi -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +$as_echo "$ac_cv_lib_dld_shl_load" >&6; } +if test "x$ac_cv_lib_dld_shl_load" = x""yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" +else + { $as_echo "$as_me:$LINENO: checking for dlopen" >&5 +$as_echo_n "checking for dlopen... " >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os +#ifdef __STDC__ +# include +#else +# include +#endif -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os +#undef dlopen -# An echo program that does not interpret backslashes. -echo=$lt_echo +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_dlopen || defined __stub___dlopen +choke me +#endif -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_func_dlopen=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# A C compiler. -LTCC=$lt_LTCC + ac_cv_func_dlopen=no +fi -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +$as_echo "$ac_cv_func_dlopen" >&6; } +if test "x$ac_cv_func_dlopen" = x""yes; then + lt_cv_dlopen="dlopen" +else + { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -# A language-specific compiler. -CC=$lt_compiler_CXX +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_dl_dlopen=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Is the compiler the GNU C compiler? -with_gcc=$GCC_CXX + ac_cv_lib_dl_dlopen=no +fi -# An ERE matcher. -EGREP=$lt_EGREP +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = x""yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +$as_echo_n "checking for dlopen in -lsvld... " >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -# The linker used to build libraries. -LD=$lt_LD_CXX +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_svld_dlopen=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Whether we need hard or soft links. -LN_S=$lt_LN_S + ac_cv_lib_svld_dlopen=no +fi -# A BSD-compatible nm program. -NM=$lt_NM +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +$as_echo "$ac_cv_lib_svld_dlopen" >&6; } +if test "x$ac_cv_lib_svld_dlopen" = x""yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +$as_echo_n "checking for dld_link in -ldld... " >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -# A symbol stripping program -STRIP=$lt_STRIP +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_dld_dld_link=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD + ac_cv_lib_dld_dld_link=no +fi -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +$as_echo "$ac_cv_lib_dld_dld_link" >&6; } +if test "x$ac_cv_lib_dld_dld_link" = x""yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" +fi -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" -# Used on cygwin: assembler. -AS="$AS" +fi -# The name of the directory that contains temporary libtool files. -objdir=$objdir -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds +fi -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_CXX -# Object file suffix (normally "o"). -objext="$ac_objext" +fi -# Old archive suffix (normally "a"). -libext="$libext" -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' +fi -# Executable file suffix (normally ""). -exeext="$exeext" -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_CXX -pic_mode=$pic_mode +fi -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len + ;; + esac -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi -# Must we lock files when doing compilation? -need_locks=$lt_need_locks + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" -# Do we need a version for libraries? -need_version=$need_version + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" -# Whether dlopen is supported. -dlopen_support=$enable_dlopen + { $as_echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +$as_echo_n "checking whether a program can dlopen itself... " >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line 12291 "configure" +#include "confdefs.h" -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self +#if HAVE_DLFCN_H +#include +#endif -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static +#include -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_CXX +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX + return status; +} +_LT_EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* -# Library versioning type. -version_type=$version_type -# Format of library name prefix. -libname_spec=$lt_libname_spec +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +$as_echo "$lt_cv_dlopen_self" >&6; } -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { $as_echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line 12387 "configure" +#include "confdefs.h" -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec +#if HAVE_DLFCN_H +#include +#endif -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_CXX -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds +#include -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_CXX -archive_expsym_cmds=$lt_archive_expsym_cmds_CXX -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_CXX -module_expsym_cmds=$lt_module_expsym_cmds_CXX + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib + return status; +} +_LT_EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_CXX -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_CXX +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +$as_echo "$lt_cv_dlopen_self_static" >&6; } + fi -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_CXX + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_CXX + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_CXX -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_CXX -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address -# This is the shared library runtime path variable. -runpath_var=$runpath_var -# This is the shared library path variable. -shlibpath_var=$shlibpath_var -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_CXX -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX +striplib= +old_striplib= +{ $as_echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +$as_echo_n "checking whether stripping libraries is possible... " >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } + fi + ;; + *) + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } + ;; + esac +fi -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_CXX -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_CXX -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic_CXX -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_CXX -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path_CXX" -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_CXX -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_CXX -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds + # Report which library types will actually be built + { $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +$as_echo_n "checking if libtool supports shared libraries... " >&6; } + { $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5 +$as_echo "$can_build_shared" >&6; } -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_CXX + { $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +$as_echo_n "checking whether to build shared libraries... " >&6; } + test "$can_build_shared" = "no" && enable_shared=no -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_CXX + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; -# ### END LIBTOOL TAG CONFIG: $tagname + aix[4-9]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + { $as_echo "$as_me:$LINENO: result: $enable_shared" >&5 +$as_echo "$enable_shared" >&6; } -__EOF__ + { $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +$as_echo_n "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + { $as_echo "$as_me:$LINENO: result: $enable_static" >&5 +$as_echo "$enable_static" >&6; } -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi +fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -CC=$lt_save_CC -LDCXX=$LD -LD=$lt_save_LD -GCC=$lt_save_GCC -with_gnu_ldcxx=$with_gnu_ld -with_gnu_ld=$lt_save_with_gnu_ld -lt_cv_path_LDCXX=$lt_cv_path_LD -lt_cv_path_LD=$lt_save_path_LD -lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld -lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +CC="$lt_save_CC" - else - tagname="" - fi - ;; - F77) - if test -n "$F77" && test "X$F77" != "Xno"; then +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu - - -archive_cmds_need_lc_F77=no -allow_undefined_flag_F77= -always_export_symbols_F77=no -archive_expsym_cmds_F77= -export_dynamic_flag_spec_F77= -hardcode_direct_F77=no -hardcode_libdir_flag_spec_F77= -hardcode_libdir_flag_spec_ld_F77= -hardcode_libdir_separator_F77= -hardcode_minus_L_F77=no -hardcode_automatic_F77=no -module_cmds_F77= -module_expsym_cmds_F77= -link_all_deplibs_F77=unknown -old_archive_cmds_F77=$old_archive_cmds -no_undefined_flag_F77= -whole_archive_flag_spec_F77= -enable_shared_with_static_runtimes_F77=no +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +compiler_needs_object_CXX=no +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_direct_absolute_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +inherit_rpath_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no -# Source file extension for f77 test sources. -ac_ext=f +# Source file extension for C++ test sources. +ac_ext=cpp -# Object file extension for compiled f77 test sources. +# Object file extension for compiled C++ test sources. objext=o -objext_F77=$objext +objext_CXX=$objext + +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_caught_CXX_error" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[]) { return(0); }' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + + -# Code to be used in simple compile tests -lt_simple_compile_test_code=" subroutine t\n return\n end\n" -# Code to be used in simple link tests -lt_simple_link_test_code=" program t\n end\n" -# ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} @@ -14363,26 +12656,42 @@ compiler=$CC -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext + # save warnings/boilerplate of simple test code + ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* +$RM conftest* -ac_outfile=conftest.$ac_objext -printf "$lt_simple_link_test_code" >conftest.$ac_ext + ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` -$rm conftest* +$RM -r conftest* -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${F77-"f77"} -compiler=$CC -compiler_F77=$CC -for cc_temp in $compiler""; do + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld + fi + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD + fi + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + compiler=$CC + compiler_CXX=$CC + for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; @@ -14390,3451 +12699,3252 @@ *) break;; esac done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - -{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 -echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } -{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 -echo "${ECHO_T}$can_build_shared" >&6; } - -{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 -echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case $host_os in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; -aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -{ echo "$as_me:$LINENO: result: $enable_shared" >&5 -echo "${ECHO_T}$enable_shared" >&6; } - -{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 -echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -{ echo "$as_me:$LINENO: result: $enable_static" >&5 -echo "${ECHO_T}$enable_static" >&6; } - -GCC_F77="$G77" -LD_F77="$LD" - -lt_prog_compiler_wl_F77= -lt_prog_compiler_pic_F77= -lt_prog_compiler_static_F77= - -{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } - - if test "$GCC" = yes; then - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_static_F77='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_F77='-Bstatic' - fi - ;; +cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' - ;; - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' + else + lt_prog_compiler_no_builtin_flag_CXX= + fi - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_F77='-DDLL_EXPORT' - ;; + if test "$GXX" = yes; then + # Set up default GNU C++ configuration - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_F77='-fno-common' - ;; - interix3*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared_F77=no - enable_shared=no - ;; +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_F77=-Kconform_pic - fi +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" ;; - - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +$as_echo "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_F77='-DDLL_EXPORT' - ;; - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_F77='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_F77='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_F77='${wl}-a ${wl}archive' - ;; - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_F77='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static_F77='-non_shared' - ;; - newsos6) - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - linux*) - case $cc_basename in - icc* | ecc*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-fpic' - lt_prog_compiler_static_F77='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl_F77='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static_F77='-non_shared' - ;; - esac - ;; - osf3* | osf4* | osf5*) - lt_prog_compiler_wl_F77='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static_F77='-non_shared' - ;; - solaris*) - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl_F77='-Qoption ld ';; - *) - lt_prog_compiler_wl_F77='-Wl,';; - esac - ;; + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= - sunos4*) - lt_prog_compiler_wl_F77='-Qoption ld ' - lt_prog_compiler_pic_F77='-PIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic_F77='-Kconform_pic' - lt_prog_compiler_static_F77='-Bstatic' - fi - ;; + else + GXX=no + with_gnu_ld=no + wlarc= + fi - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; + # PORTME: fill in a description of your system's C++ link characteristics + { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + ld_shlibs_CXX=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no - unicos*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_can_build_shared_F77=no - ;; + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac - uts4*) - lt_prog_compiler_pic_F77='-pic' - lt_prog_compiler_static_F77='-Bstatic' - ;; + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi - *) - lt_prog_compiler_can_build_shared_F77=no - ;; - esac - fi + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + file_list_spec_CXX='${wl}-f,' + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } + export_dynamic_flag_spec_CXX='${wl}-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty + # executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_F77"; then +int +main () +{ -{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 -echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_pic_works_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi else - lt_prog_compiler_pic_works_F77=no - ac_outfile=conftest.$ac_objext - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_F77" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14674: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:14678: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_pic_works_F77=yes - fi - fi - $rm conftest* + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } -if test x"$lt_prog_compiler_pic_works_F77" = xyes; then - case $lt_prog_compiler_pic_F77 in - "" | " "*) ;; - *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; - esac -else - lt_prog_compiler_pic_F77= - lt_prog_compiler_can_build_shared_F77=no fi -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_F77= - ;; - *) - lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" - ;; -esac +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" -{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_static_works_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_static_works_F77=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - printf "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_static_works_F77=yes - fi - else - lt_prog_compiler_static_works_F77=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 -echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } + archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -if test x"$lt_prog_compiler_static_works_F77" = xyes; then - : +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi else - lt_prog_compiler_static_F77= + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi -{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_c_o_F77=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - printf "$lt_simple_compile_test_code" > conftest.$ac_ext + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared + # libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14778: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:14782: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_F77=yes - fi - fi - chmod u+w . 2>&5 - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + darwin* | rhapsody*) -fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + link_all_deplibs_CXX=yes + allow_undefined_flag_CXX="$_lt_dar_allow_undefined" + case $cc_basename in + ifort*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test "$_lt_dar_can_shared" = "yes"; then + output_verbose_link_cmd=echo + archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + if test "$lt_cv_apple_cc_single_mod" != "yes"; then + archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" + archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" + fi -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { echo "$as_me:$LINENO: result: $hard_links" >&5 -echo "${ECHO_T}$hard_links" >&6; } - if test "$hard_links" = no; then - { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn + else + ld_shlibs_CXX=no fi -else - need_locks=no -fi -{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + ;; - runpath_var= - allow_undefined_flag_F77= - enable_shared_with_static_runtimes_F77=no - archive_cmds_F77= - archive_expsym_cmds_F77= - old_archive_From_new_cmds_F77= - old_archive_from_expsyms_cmds_F77= - export_dynamic_flag_spec_F77= - whole_archive_flag_spec_F77= - thread_safe_flag_spec_F77= - hardcode_libdir_flag_spec_F77= - hardcode_libdir_flag_spec_ld_F77= - hardcode_libdir_separator_F77= - hardcode_direct_F77=no - hardcode_minus_L_F77=no - hardcode_shlibpath_var_F77=unsupported - link_all_deplibs_F77=unknown - hardcode_automatic_F77=no - module_cmds_F77= - module_expsym_cmds_F77= - always_export_symbols_F77=no - export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms_F77= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + ld_shlibs_CXX=no + ;; - ld_shlibs_F77=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_F77='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_F77= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs_F77=no - cat <&2 + gnu*) + ;; -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; -EOF - fi - ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: - amigaos*) - archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - ld_shlibs_F77=no - ;; + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_F77=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs_F77=no - fi - ;; + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_F77='-L$libdir' - allow_undefined_flag_F77=unsupported - always_export_symbols_F77=no - enable_shared_with_static_runtimes_F77=yes - export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + interix[3-9]*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + inherit_rpath_CXX=yes + ;; - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_F77=no - fi - ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc* | ecpc* ) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [1-5]* | *pgcpp\ [1-5]*) + prelink_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' + old_archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ + $RANLIB $oldlib' + archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + *) # Version 6 will use weak symbols + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + esac - interix3*) - hardcode_direct_F77=no - hardcode_shlibpath_var_F77=no - hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' - export_dynamic_flag_spec_F77='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - linux*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + xl*) + # IBM XL 8.0 on PPC, with GNU ld + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + hardcode_libdir_flag_spec_CXX='-R$libdir' + whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + compiler_needs_object_CXX=yes + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; esac - archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + ;; - if test $supports_anon_versioning = yes; then - archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no fi - else - ld_shlibs_F77=no - fi - ;; + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; + *nto* | *qnx*) + ld_shlibs_CXX=yes + ;; + + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + hardcode_direct_absolute_CXX=yes + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd=echo + else + ld_shlibs_CXX=no + fi + ;; + + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + case $host in + osf3*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + ;; + *) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ + $RM $lib.exp' + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + ;; + esac + + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + case $host in + osf3*) + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + esac + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs_F77=no - cat <&2 + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' + ;; + esac + link_all_deplibs_CXX=yes -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. + output_verbose_link_cmd='echo' -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs_F77=no - cat <<_LT_EOF 1>&2 + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' -_LT_EOF - ;; + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; esac ;; - sunos4*) - archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac ;; + + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; esac - if test "$ld_shlibs_F77" = no; then - runpath_var= - hardcode_libdir_flag_spec_F77= - export_dynamic_flag_spec_F77= - whole_archive_flag_spec_F77= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag_F77=unsupported - always_export_symbols_F77=yes - archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L_F77=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct_F77=unsupported - fi - ;; + { $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +$as_echo "$ld_shlibs_CXX" >&6; } + test "$ld_shlibs_CXX" = no && can_build_shared=no + + GCC_CXX="$GXX" + LD_CXX="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + # Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no +cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + for p in `eval "$output_verbose_link_cmd"`; do + case $p in - archive_cmds_F77='' - hardcode_direct_F77=yes - hardcode_libdir_separator_F77=':' - link_all_deplibs_F77=yes + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" || + test $p = "-R"; then + prev=$p + continue + else + prev= + fi - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - hardcode_direct_F77=yes - else - # We have old collect2 - hardcode_direct_F77=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_F77=yes - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_libdir_separator_F77= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + ;; - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_F77=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_F77='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF - program main + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi - end -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + echo "libtool.m4: error: problem compiling CXX test program" +fi +$RM -f confest.$objext -fi +# PORTME: override above test on systems where it is broken +case $host_os in +interix[3-9]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac - hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_F77="-z nodefs" - archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF - program main + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; - end -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; +solaris*) + case $cc_basename in + CC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + compiler_lib_search_dirs_CXX= +if test -n "${compiler_lib_search_path_CXX}"; then + compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` +fi -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_F77=' ${wl}-bernotok' - allow_undefined_flag_F77=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_F77='$convenience' - archive_cmds_need_lc_F77=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - amigaos*) - archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - # see comment about different semantics on the GNU ld section - ld_shlibs_F77=no - ;; - bsdi[45]*) - export_dynamic_flag_spec_F77=-rdynamic - ;; - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec_F77=' ' - allow_undefined_flag_F77=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_From_new_cmds_F77='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path_F77='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes_F77=yes - ;; - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc_F77=no - hardcode_direct_F77=no - hardcode_automatic_F77=yes - hardcode_shlibpath_var_F77=unsupported - whole_archive_flag_spec_F77='' - link_all_deplibs_F77=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs_F77=no - ;; - esac - fi - ;; - dgux*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_shlibpath_var_F77=no - ;; - freebsd1*) - ld_shlibs_F77=no - ;; - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes - hardcode_minus_L_F77=yes - hardcode_shlibpath_var_F77=no - ;; - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu | dragonfly*) - archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - hpux9*) - if test "$GCC" = yes; then - archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_F77=: - hardcode_direct_F77=yes - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - export_dynamic_flag_spec_F77='${wl}-E' - ;; - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_F77=: - hardcode_direct_F77=yes - export_dynamic_flag_spec_F77='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - fi - ;; - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_F77=: - case $host_cpu in - hppa*64*|ia64*) - hardcode_libdir_flag_spec_ld_F77='+b $libdir' - hardcode_direct_F77=no - hardcode_shlibpath_var_F77=no - ;; - *) - hardcode_direct_F77=yes - export_dynamic_flag_spec_F77='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - ;; - esac - fi - ;; - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' - fi - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_F77=: - link_all_deplibs_F77=yes - ;; - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - newsos6) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_F77=: - hardcode_shlibpath_var_F77=no - ;; - openbsd*) - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' - export_dynamic_flag_spec_F77='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-R$libdir' - ;; - *) - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' - ;; - esac - fi - ;; - os2*) - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - allow_undefined_flag_F77=unsupported - archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag_F77=' -expect_unresolved \*' - archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_F77=: - ;; - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag_F77=' -expect_unresolved \*' - archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec_F77='-rpath $libdir' - fi - hardcode_libdir_separator_F77=: - ;; - solaris*) - no_undefined_flag_F77=' -z text' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - wlarc='' - archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_shlibpath_var_F77=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine linker options so we - # cannot just pass the convience library names through - # without $wl, iff we do not link with $LD. - # Luckily, gcc supports the same syntax we need for Sun Studio. - # Supported since Solaris 2.6 (maybe 2.5.1?) - case $wlarc in - '') - whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;; - *) - whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; - esac ;; - esac - link_all_deplibs_F77=yes - ;; + lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' +{ $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' fi - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_direct_F77=yes - hardcode_minus_L_F77=yes - hardcode_shlibpath_var_F77=no ;; - sysv4) - case $host_vendor in - sni) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_F77='$CC -r -o $output$reload_objs' - hardcode_direct_F77=no + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_CXX='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' ;; - motorola) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie - ;; esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_F77=no ;; - sysv4.3*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_F77=no - export_dynamic_flag_spec_F77='-Bexport' + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. ;; - sysv4*MP*) if test -d /usr/nec; then - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_F77=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs_F77=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) - no_undefined_flag_F77='${wl}-z,text' - archive_cmds_need_lc_F77=no - hardcode_shlibpath_var_F77=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + lt_prog_compiler_pic_CXX=-Kconform_pic fi ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_F77='${wl}-z,text' - allow_undefined_flag_F77='${wl}-z,nodefs' - archive_cmds_need_lc_F77=no - hardcode_shlibpath_var_F77=no - hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator_F77=':' - link_all_deplibs_F77=yes - export_dynamic_flag_spec_F77='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac ;; - - uts4*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_shlibpath_var_F77=no + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' ;; - *) - ld_shlibs_F77=no + lt_prog_compiler_pic_CXX='-fPIC' ;; esac - fi - -{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 -echo "${ECHO_T}$ld_shlibs_F77" >&6; } -test "$ld_shlibs_F77" = no && can_build_shared=no - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_F77" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_F77=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_F77 in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } - $rm conftest* - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_F77 - pic_flag=$lt_prog_compiler_pic_F77 - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_F77 - allow_undefined_flag_F77= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc_F77=no - else - archive_cmds_need_lc_F77=yes - fi - allow_undefined_flag_F77=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 -echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } - ;; + else + case $host_os in + aix[4-9]*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + ecpc* ) + # old Intel C++ for x86_64 which still supported -KPIC. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + icpc* ) + # Intel C++, used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + xlc* | xlC*) + # IBM XL 8.0 on PPC + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-qpic' + lt_prog_compiler_static_CXX='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd*) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; esac fi - ;; -esac - -{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac +{ $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +$as_echo "$lt_prog_compiler_pic_CXX" >&6; } - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } +if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14407: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:14411: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_CXX=yes + fi + fi + $RM conftest* -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } -bsdi[45]*) - version_type=linux - 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' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; +if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no +fi - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_CXX=yes + fi + else + lt_cv_prog_compiler_static_works_CXX=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. - if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` - else - sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' - fi - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } -dgux*) - 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 - ;; +if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi -freebsd1*) - dynamic_linker=no - ;; -kfreebsd*-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='GNU ld.so' - ;; -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - freebsd*) # from 4.6 on - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; -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 - hardcode_into_libs=yes - ;; + { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14506: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:14510: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* -interix3*) - 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' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; -# This must be Linux ELF. -linux*) - 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' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes + { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14558: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:14562: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; +fi +{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } -knetbsd*-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='GNU ld.so' - ;; -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:$LINENO: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test "$hard_links" = no; then + { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; +else + need_locks=no +fi -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; -nto-qnx*) - 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=yes - ;; -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi + aix[4-9]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH + cygwin* | mingw* | cegcc*) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; + esac + exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' -solaris*) - 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=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; +{ $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +$as_echo "$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; +with_gnu_ld_CXX=$with_gnu_ld -sysv4 | sysv4.3*) - version_type=linux - 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 - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +$as_echo "$archive_cmds_need_lc_CXX" >&6; } + ;; esac fi - sys_lib_dlsearch_path_spec='/usr/lib' ;; +esac + + + + + + + + + + -uts4*) - version_type=linux - 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 - ;; -*) - dynamic_linker=no - ;; -esac -{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi -{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } -hardcode_action_F77= -if test -n "$hardcode_libdir_flag_spec_F77" || \ - test -n "$runpath_var_F77" || \ - test "X$hardcode_automatic_F77" = "Xyes" ; then - # We can hardcode non-existant directories. - if test "$hardcode_direct_F77" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && - test "$hardcode_minus_L_F77" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action_F77=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_F77=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_F77=unsupported -fi -{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 -echo "${ECHO_T}$hardcode_action_F77" >&6; } -if test "$hardcode_action_F77" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_F77 \ - CC_F77 \ - LD_F77 \ - lt_prog_compiler_wl_F77 \ - lt_prog_compiler_pic_F77 \ - lt_prog_compiler_static_F77 \ - lt_prog_compiler_no_builtin_flag_F77 \ - export_dynamic_flag_spec_F77 \ - thread_safe_flag_spec_F77 \ - whole_archive_flag_spec_F77 \ - enable_shared_with_static_runtimes_F77 \ - old_archive_cmds_F77 \ - old_archive_from_new_cmds_F77 \ - predep_objects_F77 \ - postdep_objects_F77 \ - predeps_F77 \ - postdeps_F77 \ - compiler_lib_search_path_F77 \ - archive_cmds_F77 \ - archive_expsym_cmds_F77 \ - postinstall_cmds_F77 \ - postuninstall_cmds_F77 \ - old_archive_from_expsyms_cmds_F77 \ - allow_undefined_flag_F77 \ - no_undefined_flag_F77 \ - export_symbols_cmds_F77 \ - hardcode_libdir_flag_spec_F77 \ - hardcode_libdir_flag_spec_ld_F77 \ - hardcode_libdir_separator_F77 \ - hardcode_automatic_F77 \ - module_cmds_F77 \ - module_expsym_cmds_F77 \ - lt_cv_prog_compiler_c_o_F77 \ - exclude_expsyms_F77 \ - include_expsyms_F77; do - - case $var in - old_archive_cmds_F77 | \ - old_archive_from_new_cmds_F77 | \ - archive_cmds_F77 | \ - archive_expsym_cmds_F77 | \ - module_cmds_F77 | \ - module_expsym_cmds_F77 | \ - old_archive_from_expsyms_cmds_F77 | \ - export_symbols_cmds_F77 | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac -cfgfile="$ofile" - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared -# Whether or not to build static libraries. -build_old_libs=$enable_static -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_F77 -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os -# An echo program that does not interpret backslashes. -echo=$lt_echo -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS -# A C compiler. -LTCC=$lt_LTCC -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS -# A language-specific compiler. -CC=$lt_compiler_F77 -# Is the compiler the GNU C compiler? -with_gcc=$GCC_F77 -# An ERE matcher. -EGREP=$lt_EGREP -# The linker used to build libraries. -LD=$lt_LD_F77 -# Whether we need hard or soft links. -LN_S=$lt_LN_S -# A BSD-compatible nm program. -NM=$lt_NM -# A symbol stripping program -STRIP=$lt_STRIP -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" -# Used on cygwin: assembler. -AS="$AS" -# The name of the directory that contains temporary libtool files. -objdir=$objdir -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_F77 -# Object file suffix (normally "o"). -objext="$ac_objext" -# Old archive suffix (normally "a"). -libext="$libext" -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' -# Executable file suffix (normally ""). -exeext="$exeext" -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_F77 -pic_mode=$pic_mode -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 -# Must we lock files when doing compilation? -need_locks=$lt_need_locks -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix -# Do we need a version for libraries? -need_version=$need_version -# Whether dlopen is supported. -dlopen_support=$enable_dlopen -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_F77 -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 + { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown -# Library versioning type. -version_type=$version_type +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH -# Format of library name prefix. -libname_spec=$lt_libname_spec + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec +aix[4-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_F77 -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 +bsdi[45]*) + version_type=linux + 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' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_F77 -archive_expsym_cmds=$lt_archive_expsym_cmds_F77 -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_F77 -module_expsym_cmds=$lt_module_expsym_cmds_F77 + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_F77 - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_F77 - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_F77 - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_F77 +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_F77 + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method +dgux*) + 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 + ;; -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd +freebsd1*) + dynamic_linker=no + ;; -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_F77 +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_F77 +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 + hardcode_into_libs=yes + ;; -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval +interix[3-9]*) + 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' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address +# This must be Linux ELF. +linux* | k*bsd*-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' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # Some binutils ld are patched to set DT_RUNPATH + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -# This is the shared library runtime path variable. -runpath_var=$runpath_var +int +main () +{ -# This is the shared library path variable. -shlibpath_var=$shlibpath_var + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then + shlibpath_overrides_runpath=yes +fi -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_F77 -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs +fi -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_F77 - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_F77 - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic_F77 + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_F77 + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path_F77" +*nto* | *qnx*) + version_type=qnx + 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='ldqnx.so' + ;; -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_F77 +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_F77 +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_F77 +rdos*) + dynamic_linker=no + ;; -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_F77 +solaris*) + 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=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; -# ### END LIBTOOL TAG CONFIG: $tagname +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; -__EOF__ +sysv4 | sysv4.3*) + version_type=linux + 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 + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac fi -fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + 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}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu +uts4*) + version_type=linux + 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 + ;; -CC="$lt_save_CC" +*) + dynamic_linker=no + ;; +esac +{ $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no - else - tagname="" - fi - ;; +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi - GCJ) - if test -n "$GCJ" && test "X$GCJ" != "Xno"; then +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +fi +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" +fi -# Source file extension for Java test sources. -ac_ext=java -# Object file extension for compiled Java test sources. -objext=o -objext_GCJ=$objext -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}\n" -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n' -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} -# Allow CC to be a program name with arguments. -compiler=$CC -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* -ac_outfile=conftest.$ac_objext -printf "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${GCJ-"gcj"} -compiler=$CC -compiler_GCJ=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` -# GCJ did not exist at the time GCC didn't implicitly link libc in. -archive_cmds_need_lc_GCJ=no -old_archive_cmds_GCJ=$old_archive_cmds -lt_prog_compiler_no_builtin_flag_GCJ= -if test "$GCC" = yes; then - lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' -{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:17008: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:17012: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $rm conftest* -fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then - lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" -else - : -fi -fi -lt_prog_compiler_wl_GCJ= -lt_prog_compiler_pic_GCJ= -lt_prog_compiler_static_GCJ= -{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } - if test "$GCC" = yes; then - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_static_GCJ='-static' - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GCJ='-Bstatic' - fi - ;; - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' - ;; - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_GCJ='-fno-common' - ;; - interix3*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared_GCJ=no - enable_shared=no - ;; - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_GCJ=-Kconform_pic - fi - ;; + { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || + test -n "$runpath_var_CXX" || + test "X$hardcode_automatic_CXX" = "Xyes" ; then - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_GCJ='-fPIC' - ;; - esac - ;; + # We can hardcode non-existent directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ $as_echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +$as_echo "$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink || + test "$inherit_rpath_CXX" = yes; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi - *) - lt_prog_compiler_pic_GCJ='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl_GCJ='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GCJ='-Bstatic' - else - lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - lt_prog_compiler_pic_GCJ='-qnocommon' - lt_prog_compiler_wl_GCJ='-Wl,' - ;; - esac - ;; - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' - ;; - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_GCJ='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_GCJ='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' - ;; - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_GCJ='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - newsos6) - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - linux*) - case $cc_basename in - icc* | ecc*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-fpic' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl_GCJ='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - esac - ;; - osf3* | osf4* | osf5*) - lt_prog_compiler_wl_GCJ='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static_GCJ='-non_shared' - ;; + fi # test -n "$compiler" - solaris*) - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl_GCJ='-Qoption ld ';; - *) - lt_prog_compiler_wl_GCJ='-Wl,';; - esac - ;; + CC=$lt_save_CC + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test "$_lt_caught_CXX_error" != yes - sunos4*) - lt_prog_compiler_wl_GCJ='-Qoption ld ' - lt_prog_compiler_pic_GCJ='-PIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic_GCJ='-Kconform_pic' - lt_prog_compiler_static_GCJ='-Bstatic' - fi - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - unicos*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_can_build_shared_GCJ=no - ;; - uts4*) - lt_prog_compiler_pic_GCJ='-pic' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - *) - lt_prog_compiler_can_build_shared_GCJ=no - ;; - esac - fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_GCJ"; then -{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 -echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_pic_works_GCJ=no - ac_outfile=conftest.$ac_objext - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_GCJ" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:17276: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:17280: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_pic_works_GCJ=yes - fi - fi - $rm conftest* -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } -if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then - case $lt_prog_compiler_pic_GCJ in - "" | " "*) ;; - *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; - esac -else - lt_prog_compiler_pic_GCJ= - lt_prog_compiler_can_build_shared_GCJ=no -fi -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_GCJ= - ;; - *) - lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" - ;; -esac -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" -{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_static_works_GCJ=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - printf "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_static_works_GCJ=yes - fi - else - lt_prog_compiler_static_works_GCJ=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" + ac_config_commands="$ac_config_commands libtool" -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 -echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } -if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then - : -else - lt_prog_compiler_static_GCJ= -fi -{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_c_o_GCJ=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - printf "$lt_simple_compile_test_code" > conftest.$ac_ext +# Only expand once: - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:17380: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:17384: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_GCJ=yes - fi - fi - chmod u+w . 2>&5 - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* +# Check whether --enable-largefile was given. +if test "${enable_largefile+set}" = set; then + enableval=$enable_largefile; fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } +if test "$enable_largefile" != no; then -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { echo "$as_me:$LINENO: result: $hard_links" >&5 -echo "${ECHO_T}$hard_links" >&6; } - if test "$hard_links" = no; then - { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi + { $as_echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5 +$as_echo_n "checking for special C compiler options needed for large files... " >&6; } +if test "${ac_cv_sys_largefile_CC+set}" = set; then + $as_echo_n "(cached) " >&6 else - need_locks=no -fi + ac_cv_sys_largefile_CC=no + if test "$GCC" != yes; then + ac_save_CC=$CC + while :; do + # IRIX 6.2 and later do not support large files by default, + # so use the C compiler's -n32 option if that helps. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ + + ; + return 0; +} +_ACEOF + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } - runpath_var= - allow_undefined_flag_GCJ= - enable_shared_with_static_runtimes_GCJ=no - archive_cmds_GCJ= - archive_expsym_cmds_GCJ= - old_archive_From_new_cmds_GCJ= - old_archive_from_expsyms_cmds_GCJ= - export_dynamic_flag_spec_GCJ= - whole_archive_flag_spec_GCJ= - thread_safe_flag_spec_GCJ= - hardcode_libdir_flag_spec_GCJ= - hardcode_libdir_flag_spec_ld_GCJ= - hardcode_libdir_separator_GCJ= - hardcode_direct_GCJ=no - hardcode_minus_L_GCJ=no - hardcode_shlibpath_var_GCJ=unsupported - link_all_deplibs_GCJ=unknown - hardcode_automatic_GCJ=no - module_cmds_GCJ= - module_expsym_cmds_GCJ= - always_export_symbols_GCJ=no - export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms_GCJ= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +fi + +rm -f core conftest.err conftest.$ac_objext + CC="$CC -n32" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_sys_largefile_CC=' -n32'; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - ld_shlibs_GCJ=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' +fi - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_GCJ= +rm -f core conftest.err conftest.$ac_objext + break + done + CC=$ac_save_CC + rm -f conftest.$ac_ext fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5 +$as_echo "$ac_cv_sys_largefile_CC" >&6; } + if test "$ac_cv_sys_largefile_CC" != no; then + CC=$CC$ac_cv_sys_largefile_CC + fi - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs_GCJ=no - cat <&2 + { $as_echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5 +$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } +if test "${ac_cv_sys_file_offset_bits+set}" = set; then + $as_echo_n "(cached) " >&6 +else + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_sys_file_offset_bits=no; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -EOF - fi - ;; - amigaos*) - archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - ld_shlibs_GCJ=no - ;; +fi - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_GCJ=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#define _FILE_OFFSET_BITS 64 +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_GCJ='-L$libdir' - allow_undefined_flag_GCJ=unsupported - always_export_symbols_GCJ=no - enable_shared_with_static_runtimes_GCJ=yes - export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_sys_file_offset_bits=64; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_GCJ=no - fi - ;; - interix3*) - hardcode_direct_GCJ=no - hardcode_shlibpath_var_GCJ=no - hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' - export_dynamic_flag_spec_GCJ='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; +fi - linux*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_sys_file_offset_bits=unknown + break +done +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5 +$as_echo "$ac_cv_sys_file_offset_bits" >&6; } +case $ac_cv_sys_file_offset_bits in #( + no | unknown) ;; + *) +cat >>confdefs.h <<_ACEOF +#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits +_ACEOF +;; +esac +rm -rf conftest* + if test $ac_cv_sys_file_offset_bits = unknown; then + { $as_echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5 +$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } +if test "${ac_cv_sys_large_files+set}" = set; then + $as_echo_n "(cached) " >&6 +else + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ - if test $supports_anon_versioning = yes; then - archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - ld_shlibs_GCJ=no - fi - ;; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_sys_large_files=no; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs_GCJ=no - cat <&2 +fi -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#define _LARGE_FILES 1 +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main () +{ -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_sys_large_files=1; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs_GCJ=no - cat <<_LT_EOF 1>&2 -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. +fi -_LT_EOF - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - esac - ;; +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_sys_large_files=unknown + break +done +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5 +$as_echo "$ac_cv_sys_large_files" >&6; } +case $ac_cv_sys_large_files in #( + no | unknown) ;; + *) +cat >>confdefs.h <<_ACEOF +#define _LARGE_FILES $ac_cv_sys_large_files +_ACEOF +;; +esac +rm -rf conftest* + fi +fi - sunos4*) - archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - esac +ACLOCAL_AMFLAGS="-I m4 $ACLOCAL_AMFLAGS" - if test "$ld_shlibs_GCJ" = no; then - runpath_var= - hardcode_libdir_flag_spec_GCJ= - export_dynamic_flag_spec_GCJ= - whole_archive_flag_spec_GCJ= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag_GCJ=unsupported - always_export_symbols_GCJ=yes - archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L_GCJ=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct_GCJ=unsupported - fi - ;; - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac +use_msvc=no - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. +case "$CXX" in + cl*|CL*) + CXXFLAGS="-nologo -W1 -EHsc -DWIN32" + if test x"$enable_shared" = "xyes"; then + LIBEXT=".dll"; + LIBFLAGS="-DLL -INCREMENTAL:NO" + CXXFLAGS="$CXXFLAGS -D_WINDLL" + else + LIBEXT=".lib"; + LIBFLAGS="-lib" + fi + RANLIB="echo" + use_msvc=yes + ;; + *) + ;; +esac + if test x"$use_msvc" = "xyes"; then + USE_MSVC_TRUE= + USE_MSVC_FALSE='#' +else + USE_MSVC_TRUE='#' + USE_MSVC_FALSE= +fi - archive_cmds_GCJ='' - hardcode_direct_GCJ=yes - hardcode_libdir_separator_GCJ=':' - link_all_deplibs_GCJ=yes - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - hardcode_direct_GCJ=yes - else - # We have old collect2 - hardcode_direct_GCJ=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_GCJ=yes - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_libdir_separator_GCJ= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_GCJ=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_GCJ='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF +{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +#include +#include +#include +#include int main () @@ -17844,2266 +15954,4029 @@ return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no fi +rm -f conftest* -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +fi - hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_GCJ="-z nodefs" - archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { - - ; + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext +rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi + : else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_GCJ=' ${wl}-bernotok' - allow_undefined_flag_GCJ=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_GCJ='$convenience' - archive_cmds_need_lc_GCJ=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - # see comment about different semantics on the GNU ld section - ld_shlibs_GCJ=no - ;; - - bsdi[45]*) - export_dynamic_flag_spec_GCJ=-rdynamic - ;; - - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec_GCJ=' ' - allow_undefined_flag_GCJ=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_From_new_cmds_GCJ='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes_GCJ=yes - ;; - - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc_GCJ=no - hardcode_direct_GCJ=no - hardcode_automatic_GCJ=yes - hardcode_shlibpath_var_GCJ=unsupported - whole_archive_flag_spec_GCJ='' - link_all_deplibs_GCJ=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs_GCJ=no - ;; - esac - fi - ;; - - dgux*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_shlibpath_var_GCJ=no - ;; - - freebsd1*) - ld_shlibs_GCJ=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes - hardcode_minus_L_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu | dragonfly*) - archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - hpux9*) - if test "$GCC" = yes; then - archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - hardcode_direct_GCJ=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - export_dynamic_flag_spec_GCJ='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - - hardcode_direct_GCJ=yes - export_dynamic_flag_spec_GCJ='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' - hardcode_direct_GCJ=no - hardcode_shlibpath_var_GCJ=no - ;; - *) - hardcode_direct_GCJ=yes - export_dynamic_flag_spec_GCJ='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' - fi - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - link_all_deplibs_GCJ=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - newsos6) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - hardcode_shlibpath_var_GCJ=no - ;; - - openbsd*) - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' - export_dynamic_flag_spec_GCJ='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - ;; - *) - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' - ;; - esac - fi - ;; - - os2*) - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - allow_undefined_flag_GCJ=unsupported - archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag_GCJ=' -expect_unresolved \*' - archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag_GCJ=' -expect_unresolved \*' - archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec_GCJ='-rpath $libdir' - fi - hardcode_libdir_separator_GCJ=: - ;; - - solaris*) - no_undefined_flag_GCJ=' -z text' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - wlarc='' - archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_shlibpath_var_GCJ=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine linker options so we - # cannot just pass the convience library names through - # without $wl, iff we do not link with $LD. - # Luckily, gcc supports the same syntax we need for Sun Studio. - # Supported since Solaris 2.6 (maybe 2.5.1?) - case $wlarc in - '') - whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;; - *) - whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; - esac ;; - esac - link_all_deplibs_GCJ=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_direct_GCJ=yes - hardcode_minus_L_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_GCJ='$CC -r -o $output$reload_objs' - hardcode_direct_GCJ=no - ;; - motorola) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_GCJ=no - ;; - - sysv4.3*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GCJ=no - export_dynamic_flag_spec_GCJ='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GCJ=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs_GCJ=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) - no_undefined_flag_GCJ='${wl}-z,text' - archive_cmds_need_lc_GCJ=no - hardcode_shlibpath_var_GCJ=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_GCJ='${wl}-z,text' - allow_undefined_flag_GCJ='${wl}-z,nodefs' - archive_cmds_need_lc_GCJ=no - hardcode_shlibpath_var_GCJ=no - hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator_GCJ=':' - link_all_deplibs_GCJ=yes - export_dynamic_flag_spec_GCJ='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_shlibpath_var_GCJ=no - ;; - *) - ld_shlibs_GCJ=no - ;; - esac - fi +fi +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then -{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 -echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } -test "$ld_shlibs_GCJ" = no && can_build_shared=no +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_GCJ" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_GCJ=yes +fi - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_GCJ in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } - $rm conftest* - printf "$lt_simple_compile_test_code" > conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: checking for stdbool.h that conforms to C99" >&5 +$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } +if test "${ac_cv_header_stdbool_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_GCJ - pic_flag=$lt_prog_compiler_pic_GCJ - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ - allow_undefined_flag_GCJ= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc_GCJ=no - else - archive_cmds_need_lc_GCJ=yes - fi - allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 -echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } - ;; - esac - fi - ;; -esac +#include +#ifndef bool + "error: bool is not defined" +#endif +#ifndef false + "error: false is not defined" +#endif +#if false + "error: false is not 0" +#endif +#ifndef true + "error: true is not defined" +#endif +#if true != 1 + "error: true is not 1" +#endif +#ifndef __bool_true_false_are_defined + "error: __bool_true_false_are_defined is not defined" +#endif -{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -need_lib_prefix=unknown -hardcode_into_libs=no + struct s { _Bool s: 1; _Bool t; } s; -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown + char a[true == 1 ? 1 : -1]; + char b[false == 0 ? 1 : -1]; + char c[__bool_true_false_are_defined == 1 ? 1 : -1]; + char d[(bool) 0.5 == true ? 1 : -1]; + bool e = &s; + char f[(_Bool) 0.0 == false ? 1 : -1]; + char g[true]; + char h[sizeof (_Bool)]; + char i[sizeof s.t]; + enum { j = false, k = true, l = false * true, m = true * 256 }; + /* The following fails for + HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ + _Bool n[m]; + char o[sizeof n == m * sizeof n[0] ? 1 : -1]; + char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; +# if defined __xlc__ || defined __GNUC__ + /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 + reported by James Lemley on 2005-10-05; see + http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html + This test is not quite right, since xlc is allowed to + reject this program, as the initializer for xlcbug is + not one of the forms that C requires support for. + However, doing the test right would require a runtime + test, and that would make cross-compilation harder. + Let us hope that IBM fixes the xlc bug, and also adds + support for this kind of constant expression. In the + meantime, this test will reject xlc, which is OK, since + our stdbool.h substitute should suffice. We also test + this with GCC, where it should work, to detect more + quickly whether someone messes up the test in the + future. */ + char digs[] = "0123456789"; + int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1); +# endif + /* Catch a bug in an HP-UX C compiler. See + http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html + http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html + */ + _Bool q = true; + _Bool *pq = &q; -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH +int +main () +{ - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; + *pq |= q; + *pq |= ! q; + /* Refer to every declared value, to avoid compiler optimizations. */ + return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l + + !m + !n + !o + !p + !q + !pq); -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdbool_h=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdbool_h=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdbool_h" >&5 +$as_echo "$ac_cv_header_stdbool_h" >&6; } +{ $as_echo "$as_me:$LINENO: checking for _Bool" >&5 +$as_echo_n "checking for _Bool... " >&6; } +if test "${ac_cv_type__Bool+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_type__Bool=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +if (sizeof (_Bool)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +if (sizeof ((_Bool))) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; + ac_cv_type__Bool=yes +fi -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -bsdi[45]*) - version_type=linux - 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' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no +fi - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_type__Bool" >&5 +$as_echo "$ac_cv_type__Bool" >&6; } +if test "x$ac_cv_type__Bool" = x""yes; then - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; +cat >>confdefs.h <<_ACEOF +#define HAVE__BOOL 1 +_ACEOF - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. - if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` - else - sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' - fi - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; +fi -dgux*) - 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 - ;; +if test $ac_cv_header_stdbool_h = yes; then -freebsd1*) - dynamic_linker=no - ;; +cat >>confdefs.h <<\_ACEOF +#define HAVE_STDBOOL_H 1 +_ACEOF -kfreebsd*-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='GNU ld.so' - ;; +fi -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - freebsd*) # from 4.6 on - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; -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 - hardcode_into_libs=yes - ;; +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; -interix3*) - 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' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; +if test "${ac_cv_header_streambuf+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for streambuf" >&5 +$as_echo_n "checking for streambuf... " >&6; } +if test "${ac_cv_header_streambuf+set}" = set; then + $as_echo_n "(cached) " >&6 +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_streambuf" >&5 +$as_echo "$ac_cv_header_streambuf" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking streambuf usability" >&5 +$as_echo_n "checking streambuf usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking streambuf presence" >&5 +$as_echo_n "checking streambuf presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: streambuf: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: streambuf: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: streambuf: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: streambuf: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: streambuf: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: streambuf: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: streambuf: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: streambuf: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: streambuf: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: streambuf: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: streambuf: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: streambuf: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: streambuf: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: streambuf: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: streambuf: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: streambuf: in the future, the compiler will take precedence" >&2;} + ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; +esac +{ $as_echo "$as_me:$LINENO: checking for streambuf" >&5 +$as_echo_n "checking for streambuf... " >&6; } +if test "${ac_cv_header_streambuf+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_header_streambuf=$ac_header_preproc +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_streambuf" >&5 +$as_echo "$ac_cv_header_streambuf" >&6; } -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; +fi +if test "x$ac_cv_header_streambuf" = x""yes; then + : +else + { { $as_echo "$as_me:$LINENO: error: \"Unsupported Compiler version\"" >&5 +$as_echo "$as_me: error: \"Unsupported Compiler version\"" >&2;} + { (exit 1); exit 1; }; } +fi -# This must be Linux ELF. -linux*) - 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' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; -knetbsd*-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='GNU ld.so' - ;; +# ------ AX CREATE STDINT H ------------------------------------- +{ $as_echo "$as_me:$LINENO: checking for stdint types" >&5 +$as_echo_n "checking for stdint types... " >&6; } +ac_stdint_h=`echo libdirac_common/dirac-stdint.h` +# try to shortcircuit - if the default include path of the compiler +# can find a "stdint.h" header then we assume that all compilers can. +if test "${ac_cv_header_stdint_t+set}" = set; then + $as_echo_n "(cached) " >&6 +else -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; +old_CXXFLAGS="$CXXFLAGS" ; CXXFLAGS="" +old_CPPFLAGS="$CPPFLAGS" ; CPPFLAGS="" +old_CFLAGS="$CFLAGS" ; CFLAGS="" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int_least32_t v = 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_stdint_result="(assuming C99 compatible system)" + ac_cv_header_stdint_t="stdint.h"; +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; + ac_cv_header_stdint_t="" +fi -nto-qnx*) - 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=yes - ;; +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +if test "$GCC" = "yes" && test ".$ac_cv_header_stdint_t" = "."; then +CFLAGS="-std=c99" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int_least32_t v = 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: WARNING: your GCC compiler has a defunct stdint.h for its default-mode" >&5 +$as_echo "$as_me: WARNING: your GCC compiler has a defunct stdint.h for its default-mode" >&2;} +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; +fi -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +CXXFLAGS="$old_CXXFLAGS" +CPPFLAGS="$old_CPPFLAGS" +CFLAGS="$old_CFLAGS" +fi -solaris*) - 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=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; +v="... $ac_cv_header_stdint_h" +if test "$ac_stdint_h" = "stdint.h" ; then + { $as_echo "$as_me:$LINENO: result: (are you sure you want them in ./stdint.h?)" >&5 +$as_echo "(are you sure you want them in ./stdint.h?)" >&6; } +elif test "$ac_stdint_h" = "inttypes.h" ; then + { $as_echo "$as_me:$LINENO: result: (are you sure you want them in ./inttypes.h?)" >&5 +$as_echo "(are you sure you want them in ./inttypes.h?)" >&6; } +elif test "_$ac_cv_header_stdint_t" = "_" ; then + { $as_echo "$as_me:$LINENO: result: (putting them into $ac_stdint_h)$v" >&5 +$as_echo "(putting them into $ac_stdint_h)$v" >&6; } +else + ac_cv_header_stdint="$ac_cv_header_stdint_t" + { $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdint (shortcircuit)" >&5 +$as_echo "$ac_cv_header_stdint (shortcircuit)" >&6; } +fi -sysv4 | sysv4.3*) - version_type=linux - 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 - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; +if test "_$ac_cv_header_stdint_t" = "_" ; then # can not shortcircuit.. -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; +inttype_headers=`echo | sed -e 's/,/ /g'` -uts4*) - version_type=linux - 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 - ;; +ac_cv_stdint_result="(no helpful system typedefs seen)" -*) - dynamic_linker=no - ;; +{ $as_echo "$as_me:$LINENO: checking for stdint uintptr_t" >&5 +$as_echo_n "checking for stdint uintptr_t... " >&6; } +if test "${ac_cv_header_stdint_x+set}" = set; then + $as_echo_n "(cached) " >&6 +else + + ac_cv_header_stdint_x="" # the 1997 typedefs (inttypes.h) + { $as_echo "$as_me:$LINENO: result: (..)" >&5 +$as_echo "(..)" >&6; } + for i in stdint.h inttypes.h sys/inttypes.h $inttype_headers + do + unset ac_cv_type_uintptr_t + unset ac_cv_type_uint64_t + { $as_echo "$as_me:$LINENO: checking for uintptr_t" >&5 +$as_echo_n "checking for uintptr_t... " >&6; } +if test "${ac_cv_type_uintptr_t+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_type_uintptr_t=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$i> + +int +main () +{ +if (sizeof (uintptr_t)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac -{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$i> -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +int +main () +{ +if (sizeof ((uintptr_t))) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_type_uintptr_t=yes fi -{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } -hardcode_action_GCJ= -if test -n "$hardcode_libdir_flag_spec_GCJ" || \ - test -n "$runpath_var_GCJ" || \ - test "X$hardcode_automatic_GCJ" = "Xyes" ; then +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + - # We can hardcode non-existant directories. - if test "$hardcode_direct_GCJ" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && - test "$hardcode_minus_L_GCJ" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action_GCJ=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_GCJ=immediate - fi +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_uintptr_t" >&5 +$as_echo "$ac_cv_type_uintptr_t" >&6; } +if test "x$ac_cv_type_uintptr_t" = x""yes; then + ac_cv_header_stdint_x=$i else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_GCJ=unsupported + continue fi -{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 -echo "${ECHO_T}$hardcode_action_GCJ" >&6; } -if test "$hardcode_action_GCJ" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless + { $as_echo "$as_me:$LINENO: checking for uint64_t" >&5 +$as_echo_n "checking for uint64_t... " >&6; } +if test "${ac_cv_type_uint64_t+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_type_uint64_t=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include<$i> + +int +main () +{ +if (sizeof (uint64_t)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include<$i> + +int +main () +{ +if (sizeof ((uint64_t))) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_type_uint64_t=yes +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_uint64_t" >&5 +$as_echo "$ac_cv_type_uint64_t" >&6; } +if test "x$ac_cv_type_uint64_t" = x""yes; then + and64="/uint64_t" +else + and64="" +fi -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_GCJ \ - CC_GCJ \ - LD_GCJ \ - lt_prog_compiler_wl_GCJ \ - lt_prog_compiler_pic_GCJ \ - lt_prog_compiler_static_GCJ \ - lt_prog_compiler_no_builtin_flag_GCJ \ - export_dynamic_flag_spec_GCJ \ - thread_safe_flag_spec_GCJ \ - whole_archive_flag_spec_GCJ \ - enable_shared_with_static_runtimes_GCJ \ - old_archive_cmds_GCJ \ - old_archive_from_new_cmds_GCJ \ - predep_objects_GCJ \ - postdep_objects_GCJ \ - predeps_GCJ \ - postdeps_GCJ \ - compiler_lib_search_path_GCJ \ - archive_cmds_GCJ \ - archive_expsym_cmds_GCJ \ - postinstall_cmds_GCJ \ - postuninstall_cmds_GCJ \ - old_archive_from_expsyms_cmds_GCJ \ - allow_undefined_flag_GCJ \ - no_undefined_flag_GCJ \ - export_symbols_cmds_GCJ \ - hardcode_libdir_flag_spec_GCJ \ - hardcode_libdir_flag_spec_ld_GCJ \ - hardcode_libdir_separator_GCJ \ - hardcode_automatic_GCJ \ - module_cmds_GCJ \ - module_expsym_cmds_GCJ \ - lt_cv_prog_compiler_c_o_GCJ \ - exclude_expsyms_GCJ \ - include_expsyms_GCJ; do - - case $var in - old_archive_cmds_GCJ | \ - old_archive_from_new_cmds_GCJ | \ - archive_cmds_GCJ | \ - archive_expsym_cmds_GCJ | \ - module_cmds_GCJ | \ - module_expsym_cmds_GCJ | \ - old_archive_from_expsyms_cmds_GCJ | \ - export_symbols_cmds_GCJ | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac + ac_cv_stdint_result="(seen uintptr_t$and64 in $i)" + break done + { $as_echo "$as_me:$LINENO: checking for stdint uintptr_t" >&5 +$as_echo_n "checking for stdint uintptr_t... " >&6; } - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdint_x" >&5 +$as_echo "$ac_cv_header_stdint_x" >&6; } -cfgfile="$ofile" - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname +if test "_$ac_cv_header_stdint_x" = "_" ; then -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +{ $as_echo "$as_me:$LINENO: checking for stdint uint32_t" >&5 +$as_echo_n "checking for stdint uint32_t... " >&6; } +if test "${ac_cv_header_stdint_o+set}" = set; then + $as_echo_n "(cached) " >&6 +else -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL + ac_cv_header_stdint_o="" # the 1995 typedefs (sys/inttypes.h) + { $as_echo "$as_me:$LINENO: result: (..)" >&5 +$as_echo "(..)" >&6; } + for i in inttypes.h sys/inttypes.h stdint.h $inttype_headers + do + unset ac_cv_type_uint32_t + unset ac_cv_type_uint64_t + { $as_echo "$as_me:$LINENO: checking for uint32_t" >&5 +$as_echo_n "checking for uint32_t... " >&6; } +if test "${ac_cv_type_uint32_t+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_type_uint32_t=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$i> -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared +int +main () +{ +if (sizeof (uint32_t)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$i> -# Whether or not to build static libraries. -build_old_libs=$enable_static +int +main () +{ +if (sizeof ((uint32_t))) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_GCJ + ac_cv_type_uint32_t=yes +fi -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os +fi -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_uint32_t" >&5 +$as_echo "$ac_cv_type_uint32_t" >&6; } +if test "x$ac_cv_type_uint32_t" = x""yes; then + ac_cv_header_stdint_o=$i +else + continue +fi -# An echo program that does not interpret backslashes. -echo=$lt_echo + { $as_echo "$as_me:$LINENO: checking for uint64_t" >&5 +$as_echo_n "checking for uint64_t... " >&6; } +if test "${ac_cv_type_uint64_t+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_type_uint64_t=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include<$i> -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS +int +main () +{ +if (sizeof (uint64_t)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include<$i> -# A C compiler. -LTCC=$lt_LTCC +int +main () +{ +if (sizeof ((uint64_t))) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS + ac_cv_type_uint64_t=yes +fi -# A language-specific compiler. -CC=$lt_compiler_GCJ +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Is the compiler the GNU C compiler? -with_gcc=$GCC_GCJ -# An ERE matcher. -EGREP=$lt_EGREP +fi -# The linker used to build libraries. -LD=$lt_LD_GCJ +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_uint64_t" >&5 +$as_echo "$ac_cv_type_uint64_t" >&6; } +if test "x$ac_cv_type_uint64_t" = x""yes; then + and64="/uint64_t" +else + and64="" +fi -# Whether we need hard or soft links. -LN_S=$lt_LN_S + ac_cv_stdint_result="(seen uint32_t$and64 in $i)" + break + break; + done + { $as_echo "$as_me:$LINENO: checking for stdint uint32_t" >&5 +$as_echo_n "checking for stdint uint32_t... " >&6; } -# A BSD-compatible nm program. -NM=$lt_NM +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdint_o" >&5 +$as_echo "$ac_cv_header_stdint_o" >&6; } -# A symbol stripping program -STRIP=$lt_STRIP +fi -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD +if test "_$ac_cv_header_stdint_x" = "_" ; then +if test "_$ac_cv_header_stdint_o" = "_" ; then -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" +{ $as_echo "$as_me:$LINENO: checking for stdint u_int32_t" >&5 +$as_echo_n "checking for stdint u_int32_t... " >&6; } +if test "${ac_cv_header_stdint_u+set}" = set; then + $as_echo_n "(cached) " >&6 +else -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" + ac_cv_header_stdint_u="" # the BSD typedefs (sys/types.h) + { $as_echo "$as_me:$LINENO: result: (..)" >&5 +$as_echo "(..)" >&6; } + for i in sys/types.h inttypes.h sys/inttypes.h $inttype_headers ; do + unset ac_cv_type_u_int32_t + unset ac_cv_type_u_int64_t + { $as_echo "$as_me:$LINENO: checking for u_int32_t" >&5 +$as_echo_n "checking for u_int32_t... " >&6; } +if test "${ac_cv_type_u_int32_t+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_type_u_int32_t=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$i> -# Used on cygwin: assembler. -AS="$AS" +int +main () +{ +if (sizeof (u_int32_t)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$i> -# The name of the directory that contains temporary libtool files. -objdir=$objdir +int +main () +{ +if (sizeof ((u_int32_t))) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds + ac_cv_type_u_int32_t=yes +fi -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_GCJ +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Object file suffix (normally "o"). -objext="$ac_objext" -# Old archive suffix (normally "a"). -libext="$libext" +fi -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_u_int32_t" >&5 +$as_echo "$ac_cv_type_u_int32_t" >&6; } +if test "x$ac_cv_type_u_int32_t" = x""yes; then + ac_cv_header_stdint_u=$i +else + continue +fi -# Executable file suffix (normally ""). -exeext="$exeext" + { $as_echo "$as_me:$LINENO: checking for u_int64_t" >&5 +$as_echo_n "checking for u_int64_t... " >&6; } +if test "${ac_cv_type_u_int64_t+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_type_u_int64_t=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include<$i> -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_GCJ -pic_mode=$pic_mode +int +main () +{ +if (sizeof (u_int64_t)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include<$i> -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len +int +main () +{ +if (sizeof ((u_int64_t))) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ + ac_cv_type_u_int64_t=yes +fi -# Must we lock files when doing compilation? -need_locks=$lt_need_locks +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix -# Do we need a version for libraries? -need_version=$need_version +fi -# Whether dlopen is supported. -dlopen_support=$enable_dlopen +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_u_int64_t" >&5 +$as_echo "$ac_cv_type_u_int64_t" >&6; } +if test "x$ac_cv_type_u_int64_t" = x""yes; then + and64="/u_int64_t" +else + and64="" +fi -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self + ac_cv_stdint_result="(seen u_int32_t$and64 in $i)" + break + break; + done + { $as_echo "$as_me:$LINENO: checking for stdint u_int32_t" >&5 +$as_echo_n "checking for stdint u_int32_t... " >&6; } -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdint_u" >&5 +$as_echo "$ac_cv_header_stdint_u" >&6; } -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_GCJ +fi fi -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ +if test "_$ac_cv_header_stdint_x" = "_" ; then + { $as_echo "$as_me:$LINENO: checking for stdint datatype model" >&5 +$as_echo_n "checking for stdint datatype model... " >&6; } + { $as_echo "$as_me:$LINENO: result: (..)" >&5 +$as_echo "(..)" >&6; } + + # The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:$LINENO: checking size of char" >&5 +$as_echo_n "checking size of char... " >&6; } +if test "${ac_cv_sizeof_char+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (char))) >= 0)]; +test_array [0] = 0 -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=0 ac_mid=0 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (char))) <= $ac_mid)]; +test_array [0] = 0 -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` +fi -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Library versioning type. -version_type=$version_type + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (char))) < 0)]; +test_array [0] = 0 -# Format of library name prefix. -libname_spec=$lt_libname_spec + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=-1 ac_mid=-1 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (char))) >= $ac_mid)]; +test_array [0] = 0 -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=$ac_mid; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` +fi -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_GCJ -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds + ac_lo= ac_hi= +fi -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (char))) <= $ac_mid)]; +test_array [0] = 0 -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_GCJ -archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_GCJ -module_expsym_cmds=$lt_module_expsym_cmds_GCJ + ac_lo=`expr '(' $ac_mid ')' + 1` +fi -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) ac_cv_sizeof_char=$ac_lo;; +'') if test "$ac_cv_type_char" = yes; then + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char) +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute sizeof (char) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; }; } + else + ac_cv_sizeof_char=0 + fi ;; +esac +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +static long int longval () { return (long int) (sizeof (char)); } +static unsigned long int ulongval () { return (long int) (sizeof (char)); } +#include +#include +int +main () +{ -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_GCJ - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_GCJ - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_GCJ - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_GCJ + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (((long int) (sizeof (char))) < 0) + { + long int i = longval (); + if (i != ((long int) (sizeof (char)))) + return 1; + fprintf (f, "%ld", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ((long int) (sizeof (char)))) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_sizeof_char=`cat conftest.val` +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method +( exit $ac_status ) +if test "$ac_cv_type_char" = yes; then + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char) +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute sizeof (char) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; }; } + else + ac_cv_sizeof_char=0 + fi +fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +rm -f conftest.val +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_char" >&5 +$as_echo "$ac_cv_sizeof_char" >&6; } -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_GCJ -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_GCJ +cat >>confdefs.h <<_ACEOF +#define SIZEOF_CHAR $ac_cv_sizeof_char +_ACEOF -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval + # The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:$LINENO: checking size of short" >&5 +$as_echo_n "checking size of short... " >&6; } +if test "${ac_cv_sizeof_short+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (short))) >= 0)]; +test_array [0] = 0 -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=0 ac_mid=0 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (short))) <= $ac_mid)]; +test_array [0] = 0 -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` +fi -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# This is the shared library runtime path variable. -runpath_var=$runpath_var + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (short))) < 0)]; +test_array [0] = 0 -# This is the shared library path variable. -shlibpath_var=$shlibpath_var + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=-1 ac_mid=-1 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (short))) >= $ac_mid)]; +test_array [0] = 0 -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=$ac_mid; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` +fi -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_GCJ +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs + ac_lo= ac_hi= +fi -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_GCJ - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_GCJ - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic_GCJ +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (short))) <= $ac_mid)]; +test_array [0] = 0 -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_GCJ + ac_lo=`expr '(' $ac_mid ')' + 1` +fi -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) ac_cv_sizeof_short=$ac_lo;; +'') if test "$ac_cv_type_short" = yes; then + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (short) +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute sizeof (short) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; }; } + else + ac_cv_sizeof_short=0 + fi ;; +esac +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +static long int longval () { return (long int) (sizeof (short)); } +static unsigned long int ulongval () { return (long int) (sizeof (short)); } +#include +#include +int +main () +{ -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (((long int) (sizeof (short))) < 0) + { + long int i = longval (); + if (i != ((long int) (sizeof (short)))) + return 1; + fprintf (f, "%ld", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ((long int) (sizeof (short)))) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path_GCJ" + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_sizeof_short=`cat conftest.val` +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_GCJ +( exit $ac_status ) +if test "$ac_cv_type_short" = yes; then + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (short) +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute sizeof (short) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; }; } + else + ac_cv_sizeof_short=0 + fi +fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +rm -f conftest.val +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_short" >&5 +$as_echo "$ac_cv_sizeof_short" >&6; } -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_GCJ -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_GCJ +cat >>confdefs.h <<_ACEOF +#define SIZEOF_SHORT $ac_cv_sizeof_short +_ACEOF -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_GCJ -# ### END LIBTOOL TAG CONFIG: $tagname + # The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:$LINENO: checking size of int" >&5 +$as_echo_n "checking size of int... " >&6; } +if test "${ac_cv_sizeof_int+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (int))) >= 0)]; +test_array [0] = 0 -__EOF__ + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=0 ac_mid=0 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (int))) <= $ac_mid)]; +test_array [0] = 0 + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (int))) < 0)]; +test_array [0] = 0 -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=-1 ac_mid=-1 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (int))) >= $ac_mid)]; +test_array [0] = 0 -CC="$lt_save_CC" + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=$ac_mid; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` +fi - else - tagname="" - fi - ;; +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - RC) + ac_lo= ac_hi= +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi -# Source file extension for RC test sources. -ac_ext=rc +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (int))) <= $ac_mid)]; +test_array [0] = 0 -# Object file extension for compiled RC test sources. -objext=o -objext_RC=$objext + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n' + ac_lo=`expr '(' $ac_mid ')' + 1` +fi -# Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) ac_cv_sizeof_int=$ac_lo;; +'') if test "$ac_cv_type_int" = yes; then + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int) +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute sizeof (int) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; }; } + else + ac_cv_sizeof_int=0 + fi ;; +esac +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +static long int longval () { return (long int) (sizeof (int)); } +static unsigned long int ulongval () { return (long int) (sizeof (int)); } +#include +#include +int +main () +{ -# ltmain only uses $CC for tagged configurations so make sure $CC is set. + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (((long int) (sizeof (int))) < 0) + { + long int i = longval (); + if (i != ((long int) (sizeof (int)))) + return 1; + fprintf (f, "%ld", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ((long int) (sizeof (int)))) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_sizeof_int=`cat conftest.val` +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} +( exit $ac_status ) +if test "$ac_cv_type_int" = yes; then + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int) +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute sizeof (int) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; }; } + else + ac_cv_sizeof_int=0 + fi +fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +rm -f conftest.val +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5 +$as_echo "$ac_cv_sizeof_int" >&6; } -# Allow CC to be a program name with arguments. -compiler=$CC -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* +cat >>confdefs.h <<_ACEOF +#define SIZEOF_INT $ac_cv_sizeof_int +_ACEOF -ac_outfile=conftest.$ac_objext -printf "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* + # The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:$LINENO: checking size of long" >&5 +$as_echo_n "checking size of long... " >&6; } +if test "${ac_cv_sizeof_long+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (long))) >= 0)]; +test_array [0] = 0 -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${RC-"windres"} -compiler=$CC -compiler_RC=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=0 ac_mid=0 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (long))) <= $ac_mid)]; +test_array [0] = 0 -lt_cv_prog_compiler_c_o_RC=yes + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` +fi -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_RC \ - CC_RC \ - LD_RC \ - lt_prog_compiler_wl_RC \ - lt_prog_compiler_pic_RC \ - lt_prog_compiler_static_RC \ - lt_prog_compiler_no_builtin_flag_RC \ - export_dynamic_flag_spec_RC \ - thread_safe_flag_spec_RC \ - whole_archive_flag_spec_RC \ - enable_shared_with_static_runtimes_RC \ - old_archive_cmds_RC \ - old_archive_from_new_cmds_RC \ - predep_objects_RC \ - postdep_objects_RC \ - predeps_RC \ - postdeps_RC \ - compiler_lib_search_path_RC \ - archive_cmds_RC \ - archive_expsym_cmds_RC \ - postinstall_cmds_RC \ - postuninstall_cmds_RC \ - old_archive_from_expsyms_cmds_RC \ - allow_undefined_flag_RC \ - no_undefined_flag_RC \ - export_symbols_cmds_RC \ - hardcode_libdir_flag_spec_RC \ - hardcode_libdir_flag_spec_ld_RC \ - hardcode_libdir_separator_RC \ - hardcode_automatic_RC \ - module_cmds_RC \ - module_expsym_cmds_RC \ - lt_cv_prog_compiler_c_o_RC \ - exclude_expsyms_RC \ - include_expsyms_RC; do - - case $var in - old_archive_cmds_RC | \ - old_archive_from_new_cmds_RC | \ - archive_cmds_RC | \ - archive_expsym_cmds_RC | \ - module_cmds_RC | \ - module_expsym_cmds_RC | \ - old_archive_from_expsyms_cmds_RC | \ - export_symbols_cmds_RC | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="$ofile" - - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (long))) < 0)]; +test_array [0] = 0 -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=-1 ac_mid=-1 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (long))) >= $ac_mid)]; +test_array [0] = 0 -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=$ac_mid; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` +fi -# Whether or not to build static libraries. -build_old_libs=$enable_static +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_RC + ac_lo= ac_hi= +fi -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (long))) <= $ac_mid)]; +test_array [0] = 0 -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os + ac_lo=`expr '(' $ac_mid ')' + 1` +fi -# An echo program that does not interpret backslashes. -echo=$lt_echo +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) ac_cv_sizeof_long=$ac_lo;; +'') if test "$ac_cv_type_long" = yes; then + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long) +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute sizeof (long) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; }; } + else + ac_cv_sizeof_long=0 + fi ;; +esac +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +static long int longval () { return (long int) (sizeof (long)); } +static unsigned long int ulongval () { return (long int) (sizeof (long)); } +#include +#include +int +main () +{ -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (((long int) (sizeof (long))) < 0) + { + long int i = longval (); + if (i != ((long int) (sizeof (long)))) + return 1; + fprintf (f, "%ld", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ((long int) (sizeof (long)))) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; -# A C compiler. -LTCC=$lt_LTCC + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_sizeof_long=`cat conftest.val` +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS +( exit $ac_status ) +if test "$ac_cv_type_long" = yes; then + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long) +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute sizeof (long) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; }; } + else + ac_cv_sizeof_long=0 + fi +fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +rm -f conftest.val +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5 +$as_echo "$ac_cv_sizeof_long" >&6; } -# A language-specific compiler. -CC=$lt_compiler_RC -# Is the compiler the GNU C compiler? -with_gcc=$GCC_RC -# An ERE matcher. -EGREP=$lt_EGREP +cat >>confdefs.h <<_ACEOF +#define SIZEOF_LONG $ac_cv_sizeof_long +_ACEOF -# The linker used to build libraries. -LD=$lt_LD_RC -# Whether we need hard or soft links. -LN_S=$lt_LN_S + # The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:$LINENO: checking size of void*" >&5 +$as_echo_n "checking size of void*... " >&6; } +if test "${ac_cv_sizeof_voidp+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (void*))) >= 0)]; +test_array [0] = 0 -# A BSD-compatible nm program. -NM=$lt_NM + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=0 ac_mid=0 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (void*))) <= $ac_mid)]; +test_array [0] = 0 -# A symbol stripping program -STRIP=$lt_STRIP + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` +fi -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (void*))) < 0)]; +test_array [0] = 0 -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=-1 ac_mid=-1 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (void*))) >= $ac_mid)]; +test_array [0] = 0 -# Used on cygwin: assembler. -AS="$AS" + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=$ac_mid; break +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` +fi -# The name of the directory that contains temporary libtool files. -objdir=$objdir +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds + ac_lo= ac_hi= +fi -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_RC +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi -# Object file suffix (normally "o"). -objext="$ac_objext" +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (void*))) <= $ac_mid)]; +test_array [0] = 0 -# Old archive suffix (normally "a"). -libext="$libext" + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' + ac_lo=`expr '(' $ac_mid ')' + 1` +fi -# Executable file suffix (normally ""). -exeext="$exeext" +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) ac_cv_sizeof_voidp=$ac_lo;; +'') if test "$ac_cv_type_voidp" = yes; then + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (void*) +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute sizeof (void*) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; }; } + else + ac_cv_sizeof_voidp=0 + fi ;; +esac +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +static long int longval () { return (long int) (sizeof (void*)); } +static unsigned long int ulongval () { return (long int) (sizeof (void*)); } +#include +#include +int +main () +{ -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_RC -pic_mode=$pic_mode + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (((long int) (sizeof (void*))) < 0) + { + long int i = longval (); + if (i != ((long int) (sizeof (void*)))) + return 1; + fprintf (f, "%ld", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ((long int) (sizeof (void*)))) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_sizeof_voidp=`cat conftest.val` +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC +( exit $ac_status ) +if test "$ac_cv_type_voidp" = yes; then + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (void*) +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot compute sizeof (void*) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; }; } + else + ac_cv_sizeof_voidp=0 + fi +fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +rm -f conftest.val +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_voidp" >&5 +$as_echo "$ac_cv_sizeof_voidp" >&6; } -# Must we lock files when doing compilation? -need_locks=$lt_need_locks -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix -# Do we need a version for libraries? -need_version=$need_version +cat >>confdefs.h <<_ACEOF +#define SIZEOF_VOIDP $ac_cv_sizeof_voidp +_ACEOF -# Whether dlopen is supported. -dlopen_support=$enable_dlopen -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self + ac_cv_char_data_model="" + ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_char" + ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_short" + ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_int" + ac_cv_long_data_model="" + ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_int" + ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_long" + ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_voidp" + { $as_echo "$as_me:$LINENO: checking data model" >&5 +$as_echo_n "checking data model... " >&6; } + case "$ac_cv_char_data_model/$ac_cv_long_data_model" in + 122/242) ac_cv_data_model="IP16" ; n="standard 16bit machine" ;; + 122/244) ac_cv_data_model="LP32" ; n="standard 32bit machine" ;; + 122/*) ac_cv_data_model="i16" ; n="unusual int16 model" ;; + 124/444) ac_cv_data_model="ILP32" ; n="standard 32bit unixish" ;; + 124/488) ac_cv_data_model="LP64" ; n="standard 64bit unixish" ;; + 124/448) ac_cv_data_model="LLP64" ; n="unusual 64bit unixish" ;; + 124/*) ac_cv_data_model="i32" ; n="unusual int32 model" ;; + 128/888) ac_cv_data_model="ILP64" ; n="unusual 64bit numeric" ;; + 128/*) ac_cv_data_model="i64" ; n="unusual int64 model" ;; + 222/*2) ac_cv_data_model="DSP16" ; n="strict 16bit dsptype" ;; + 333/*3) ac_cv_data_model="DSP24" ; n="strict 24bit dsptype" ;; + 444/*4) ac_cv_data_model="DSP32" ; n="strict 32bit dsptype" ;; + 666/*6) ac_cv_data_model="DSP48" ; n="strict 48bit dsptype" ;; + 888/*8) ac_cv_data_model="DSP64" ; n="strict 64bit dsptype" ;; + 222/*|333/*|444/*|666/*|888/*) : + ac_cv_data_model="iDSP" ; n="unusual dsptype" ;; + *) ac_cv_data_model="none" ; n="very unusual model" ;; + esac + { $as_echo "$as_me:$LINENO: result: $ac_cv_data_model ($ac_cv_long_data_model, $n)" >&5 +$as_echo "$ac_cv_data_model ($ac_cv_long_data_model, $n)" >&6; } -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static +fi -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_RC +if test "_$ac_cv_header_stdint_x" != "_" ; then + ac_cv_header_stdint="$ac_cv_header_stdint_x" +elif test "_$ac_cv_header_stdint_o" != "_" ; then + ac_cv_header_stdint="$ac_cv_header_stdint_o" +elif test "_$ac_cv_header_stdint_u" != "_" ; then + ac_cv_header_stdint="$ac_cv_header_stdint_u" +else + ac_cv_header_stdint="stddef.h" +fi + +{ $as_echo "$as_me:$LINENO: checking for extra inttypes in chosen header" >&5 +$as_echo_n "checking for extra inttypes in chosen header... " >&6; } +{ $as_echo "$as_me:$LINENO: result: ($ac_cv_header_stdint)" >&5 +$as_echo "($ac_cv_header_stdint)" >&6; } +unset ac_cv_type_int_least32_t +unset ac_cv_type_int_fast32_t +{ $as_echo "$as_me:$LINENO: checking for int_least32_t" >&5 +$as_echo_n "checking for int_least32_t... " >&6; } +if test "${ac_cv_type_int_least32_t+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_type_int_least32_t=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_cv_header_stdint> -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC +int +main () +{ +if (sizeof (int_least32_t)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_cv_header_stdint> -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC +int +main () +{ +if (sizeof ((int_least32_t))) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC + ac_cv_type_int_least32_t=yes +fi -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Library versioning type. -version_type=$version_type -# Format of library name prefix. -libname_spec=$lt_libname_spec +fi -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_int_least32_t" >&5 +$as_echo "$ac_cv_type_int_least32_t" >&6; } -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec +{ $as_echo "$as_me:$LINENO: checking for int_fast32_t" >&5 +$as_echo_n "checking for int_fast32_t... " >&6; } +if test "${ac_cv_type_int_fast32_t+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_type_int_fast32_t=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include<$ac_cv_header_stdint> -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_RC -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds +int +main () +{ +if (sizeof (int_fast32_t)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include<$ac_cv_header_stdint> -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC +int +main () +{ +if (sizeof ((int_fast32_t))) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC + ac_cv_type_int_fast32_t=yes +fi -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_RC -archive_expsym_cmds=$lt_archive_expsym_cmds_RC -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_RC -module_expsym_cmds=$lt_module_expsym_cmds_RC -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib +fi -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_RC - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_RC - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_RC - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_RC +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_int_fast32_t" >&5 +$as_echo "$ac_cv_type_int_fast32_t" >&6; } -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_RC +{ $as_echo "$as_me:$LINENO: checking for intmax_t" >&5 +$as_echo_n "checking for intmax_t... " >&6; } +if test "${ac_cv_type_intmax_t+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_type_intmax_t=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_cv_header_stdint> -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method +int +main () +{ +if (sizeof (intmax_t)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_cv_header_stdint> -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd +int +main () +{ +if (sizeof ((intmax_t))) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_RC + ac_cv_type_intmax_t=yes +fi -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_RC +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval +fi -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_intmax_t" >&5 +$as_echo "$ac_cv_type_intmax_t" >&6; } -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address +fi # shortcircut to system "stdint.h" +# ------------------ PREPARE VARIABLES ------------------------------ +if test "$GCC" = "yes" ; then +ac_cv_stdint_message="using gnu compiler "`$CC --version | head -1` +else +ac_cv_stdint_message="using $CC" +fi -# This is the shared library runtime path variable. -runpath_var=$runpath_var +{ $as_echo "$as_me:$LINENO: result: make use of $ac_cv_header_stdint in $ac_stdint_h $ac_cv_stdint_result" >&5 +$as_echo "make use of $ac_cv_header_stdint in $ac_stdint_h $ac_cv_stdint_result" >&6; } -# This is the shared library path variable. -shlibpath_var=$shlibpath_var +# ----------------- DONE inttypes.h checks START header ------------- +ac_config_commands="$ac_config_commands $ac_stdint_h" -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_RC -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC +# Extract the first word of "doxygen", so it can be a program name with args. +set dummy doxygen; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_HAVE_DOXYGEN+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$HAVE_DOXYGEN"; then + ac_cv_prog_HAVE_DOXYGEN="$HAVE_DOXYGEN" # 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_HAVE_DOXYGEN="true" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_RC - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_RC - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_RC - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic_RC + test -z "$ac_cv_prog_HAVE_DOXYGEN" && ac_cv_prog_HAVE_DOXYGEN="false" +fi +fi +HAVE_DOXYGEN=$ac_cv_prog_HAVE_DOXYGEN +if test -n "$HAVE_DOXYGEN"; then + { $as_echo "$as_me:$LINENO: result: $HAVE_DOXYGEN" >&5 +$as_echo "$HAVE_DOXYGEN" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_RC + if test $HAVE_DOXYGEN = "false"; then + { $as_echo "$as_me:$LINENO: WARNING: *** doxygen not found, code documentation will not be built" >&5 +$as_echo "$as_me: WARNING: *** doxygen not found, code documentation will not be built" >&2;} + fi + if $HAVE_DOXYGEN; then + HAVE_DOXYGEN_TRUE= + HAVE_DOXYGEN_FALSE='#' +else + HAVE_DOXYGEN_TRUE='#' + HAVE_DOXYGEN_FALSE= +fi -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec +# Extract the first word of "dot", so it can be a program name with args. +set dummy dot; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_HAVE_DOT+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$HAVE_DOT"; then + ac_cv_prog_HAVE_DOT="$HAVE_DOT" # 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_HAVE_DOT="true" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$fix_srcfile_path_RC" + test -z "$ac_cv_prog_HAVE_DOT" && ac_cv_prog_HAVE_DOT="false" +fi +fi +HAVE_DOT=$ac_cv_prog_HAVE_DOT +if test -n "$HAVE_DOT"; then + { $as_echo "$as_me:$LINENO: result: $HAVE_DOT" >&5 +$as_echo "$HAVE_DOT" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_RC -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_RC + if test $HAVE_DOT = "false"; then + { $as_echo "$as_me:$LINENO: WARNING: *** dot not found, inheritance diagrams will not be generated in code documentation" >&5 +$as_echo "$as_me: WARNING: *** dot not found, inheritance diagrams will not be generated in code documentation" >&2;} + fi + if $HAVE_DOT; then + HAVE_DOT_TRUE= + HAVE_DOT_FALSE='#' +else + HAVE_DOT_TRUE='#' + HAVE_DOT_FALSE= +fi -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_RC +# Extract the first word of "latex", so it can be a program name with args. +set dummy latex; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_HAVE_LATEX+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$HAVE_LATEX"; then + ac_cv_prog_HAVE_LATEX="$HAVE_LATEX" # 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_HAVE_LATEX="true" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_RC + test -z "$ac_cv_prog_HAVE_LATEX" && ac_cv_prog_HAVE_LATEX="false" +fi +fi +HAVE_LATEX=$ac_cv_prog_HAVE_LATEX +if test -n "$HAVE_LATEX"; then + { $as_echo "$as_me:$LINENO: result: $HAVE_LATEX" >&5 +$as_echo "$HAVE_LATEX" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi -# ### END LIBTOOL TAG CONFIG: $tagname -__EOF__ + if test $HAVE_LATEX = "false"; then + { $as_echo "$as_me:$LINENO: WARNING: *** latex not found, algorithm documentation will not be built" >&5 +$as_echo "$as_me: WARNING: *** latex not found, algorithm documentation will not be built" >&2;} + fi + if $HAVE_LATEX; then + HAVE_LATEX_TRUE= + HAVE_LATEX_FALSE='#' +else + HAVE_LATEX_TRUE='#' + HAVE_LATEX_FALSE= +fi +# Extract the first word of "dvipdfm", so it can be a program name with args. +set dummy dvipdfm; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_HAVE_DVIPDFM+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$HAVE_DVIPDFM"; then + ac_cv_prog_HAVE_DVIPDFM="$HAVE_DVIPDFM" # Let the user override the test. else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" +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_HAVE_DVIPDFM="true" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_HAVE_DVIPDFM" && ac_cv_prog_HAVE_DVIPDFM="false" +fi +fi +HAVE_DVIPDFM=$ac_cv_prog_HAVE_DVIPDFM +if test -n "$HAVE_DVIPDFM"; then + { $as_echo "$as_me:$LINENO: result: $HAVE_DVIPDFM" >&5 +$as_echo "$HAVE_DVIPDFM" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu + if test $HAVE_DVIPDFM = "false"; then + { $as_echo "$as_me:$LINENO: WARNING: *** dvipdfm not found, programmer documentation will not be built" >&5 +$as_echo "$as_me: WARNING: *** dvipdfm not found, programmer documentation will not be built" >&2;} + fi + if $HAVE_DVIPDFM; then + HAVE_DVIPDFM_TRUE= + HAVE_DVIPDFM_FALSE='#' +else + HAVE_DVIPDFM_TRUE='#' + HAVE_DVIPDFM_FALSE= +fi -CC="$lt_save_CC" - ;; +# Check whether --enable-overlay was given. +if test "${enable_overlay+set}" = set; then + enableval=$enable_overlay; case "${enableval}" in + yes) overlay=true ;; + no) overlay=false ;; + *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-overlay" >&5 +$as_echo "$as_me: error: bad value ${enableval} for --enable-overlay" >&2;} + { (exit 1); exit 1; }; } ;; +esac +else + overlay=false +fi - *) - { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 -echo "$as_me: error: Unsupported tag name: $tagname" >&2;} - { (exit 1); exit 1; }; } - ;; - esac + if test x$overlay = xtrue; then + OVERLAY_TRUE= + OVERLAY_FALSE='#' +else + OVERLAY_TRUE='#' + OVERLAY_FALSE= +fi - # Append the new tag name to the list of available tags. - if test -n "$tagname" ; then - available_tags="$available_tags $tagname" - fi - fi - done - IFS="$lt_save_ifs" - # Now substitute the updated list of available tags. - if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then - mv "${ofile}T" "$ofile" - chmod +x "$ofile" - else - rm -f "${ofile}T" - { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 -echo "$as_me: error: unable to update list of available tagged configurations." >&2;} - { (exit 1); exit 1; }; } - fi -fi +ac_config_commands="$ac_config_commands tests/atconfig" + +ac_config_files="$ac_config_files tests/Makefile" +ac_config_files="$ac_config_files tests/at_wrap" -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AUTOM4TE=${AUTOM4TE-"${am_missing_run}autom4te"} -# Prevent multiple expansion +{ $as_echo "$as_me:$LINENO: checking whether gprof flags are to be used when compiling" >&5 +$as_echo_n "checking whether gprof flags are to be used when compiling... " >&6; } +# Check whether --enable-profile was given. +if test "${enable_profile+set}" = set; then + enableval=$enable_profile; +if test x"${enableval}" = x"yes" ; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + case "$CXX" in + g++*|icc) + CXXFLAGS="$CXXFLAGS -pg" + ;; + *) + # do nothing + ;; + esac +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +OPT_CFLAGS="" +case "$CXX" in + g++*) + TRY_CFLAGS="$OPT_CFLAGS -g" + { $as_echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 +$as_echo_n "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... " >&6; } + SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +int +main () +{ + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_try_cxxflags_ok=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_try_cxxflags_ok=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXXFLAGS="$SAVE_CXXFLAGS" + { $as_echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 +$as_echo "$ac_cv_try_cxxflags_ok" >&6; } + if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then + OPT_CFLAGS="$TRY_CFLAGS" + else + : + fi + TRY_CFLAGS="$OPT_CFLAGS -pedantic" + { $as_echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 +$as_echo_n "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... " >&6; } + SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +int +main () +{ + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_try_cxxflags_ok=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_try_cxxflags_ok=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXXFLAGS="$SAVE_CXXFLAGS" + { $as_echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 +$as_echo "$ac_cv_try_cxxflags_ok" >&6; } + if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then + OPT_CFLAGS="$TRY_CFLAGS" + else + : + fi + TRY_CFLAGS="$OPT_CFLAGS -Wall" + { $as_echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 +$as_echo_n "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... " >&6; } + SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +int +main () +{ + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_try_cxxflags_ok=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_try_cxxflags_ok=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXXFLAGS="$SAVE_CXXFLAGS" + { $as_echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 +$as_echo "$ac_cv_try_cxxflags_ok" >&6; } + if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then + OPT_CFLAGS="$TRY_CFLAGS" + else + : + fi + TRY_CFLAGS="$OPT_CFLAGS -Werror" + { $as_echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 +$as_echo_n "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... " >&6; } + SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +int +main () +{ + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_try_cxxflags_ok=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -# Check whether --enable-largefile was given. -if test "${enable_largefile+set}" = set; then - enableval=$enable_largefile; + ac_cv_try_cxxflags_ok=no fi -if test "$enable_largefile" != no; then - - { echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5 -echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6; } -if test "${ac_cv_sys_largefile_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_sys_largefile_CC=no - if test "$GCC" != yes; then - ac_save_CC=$CC - while :; do - # IRIX 6.2 and later do not support large files by default, - # so use the C compiler's -n32 option if that helps. - cat >conftest.$ac_ext <<_ACEOF +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXXFLAGS="$SAVE_CXXFLAGS" + { $as_echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 +$as_echo "$ac_cv_try_cxxflags_ok" >&6; } + if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then + OPT_CFLAGS="$TRY_CFLAGS" + else + : + fi + TRY_CFLAGS="$OPT_CFLAGS -W" + { $as_echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 +$as_echo_n "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... " >&6; } + SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; + int main () { @@ -20112,127 +19985,110 @@ return 0; } _ACEOF - rm -f conftest.$ac_objext +rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_try_cxxflags_ok=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - + ac_cv_try_cxxflags_ok=no fi -rm -f core conftest.err conftest.$ac_objext - CC="$CC -n32" - rm -f conftest.$ac_objext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXXFLAGS="$SAVE_CXXFLAGS" + { $as_echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 +$as_echo "$ac_cv_try_cxxflags_ok" >&6; } + if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then + OPT_CFLAGS="$TRY_CFLAGS" + else + : + fi + TRY_CFLAGS="$OPT_CFLAGS -Woverloaded-virtual" + { $as_echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 +$as_echo_n "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... " >&6; } + SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sys_largefile_CC=' -n32'; break + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_try_cxxflags_ok=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - + ac_cv_try_cxxflags_ok=no fi -rm -f core conftest.err conftest.$ac_objext - break - done - CC=$ac_save_CC - rm -f conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXXFLAGS="$SAVE_CXXFLAGS" + { $as_echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 +$as_echo "$ac_cv_try_cxxflags_ok" >&6; } + if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then + OPT_CFLAGS="$TRY_CFLAGS" + else + : fi -fi -{ echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5 -echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6; } - if test "$ac_cv_sys_largefile_CC" != no; then - CC=$CC$ac_cv_sys_largefile_CC - fi - - { echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5 -echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6; } -if test "${ac_cv_sys_file_offset_bits+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - while :; do - ac_cv_sys_file_offset_bits=no - cat >conftest.$ac_ext <<_ACEOF + #TRY_CFLAGS="-Wno-long-double" + #AC_TRY_CXXFLAGS([#include ],[long double lw;], [$TRY_CFLAGS $CXXFLAGS],[OPT_CFLAGS="$OPT_CFLAGS $TRY_CFLAGS"]) + TRY_CFLAGS="$OPT_CFLAGS -Wextra" + { $as_echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 +$as_echo_n "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... " >&6; } + SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; + int main () { @@ -20247,59 +20103,153 @@ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_try_cxxflags_ok=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - + ac_cv_try_cxxflags_ok=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF + CXXFLAGS="$SAVE_CXXFLAGS" + { $as_echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 +$as_echo "$ac_cv_try_cxxflags_ok" >&6; } + if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then + OPT_CFLAGS="$TRY_CFLAGS" + else + : + fi + CXXFLAGS="$OPT_CFLAGS $CXXFLAGS" + ;; + *) + # do nothing at the moment + ;; +esac +{ $as_echo "$as_me:$LINENO: checking whether extra debug flags are to be used when compiling" >&5 +$as_echo_n "checking whether extra debug flags are to be used when compiling... " >&6; } +# Check whether --enable-debug was given. +if test "${enable_debug+set}" = set; then + enableval=$enable_debug; +if test x"${enableval}" = x"yes" ; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + case "$CXX" in + g++*) + CXXFLAGS=`echo $CXXFLAGS | sed 's/-O[0-9]*//g'` + OPT_CFLAGS="" + TRY_CFLAGS="-O0" + { $as_echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 +$as_echo_n "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... " >&6; } + SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#define _FILE_OFFSET_BITS 64 -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_try_cxxflags_ok=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_try_cxxflags_ok=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXXFLAGS="$SAVE_CXXFLAGS" + { $as_echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 +$as_echo "$ac_cv_try_cxxflags_ok" >&6; } + if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then + OPT_CFLAGS="$TRY_CFLAGS" + else + : + fi + CXXFLAGS="$OPT_CFLAGS $CXXFLAGS -DDIRAC_DEBUG" + ;; + icc) + CXXFLAGS=`echo $CXXFLAGS | sed 's/-O[0-9]*//g'` + CXXFLAGS="-DDIRAC_DEBUG -g -O0 $CXXFLAGS" + # report only errors and warnings as errors + CXXFLAGS="$CXXFLAGS -w1 -Werror -wr964 -wr963" + ;; + cl*|CL*) + # -Od turn off optimisation, -Z7 turn on debugging info + CXXFLAGS=`echo $CXXFLAGS | sed 's/-O[0-9]*//g'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/-O[a-z]*//g'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/-W[0-9]*//g'` + CXXFLAGS="$CXXFLAGS -Od -Z7 -W2" + if test x"$enable_shared" = "xyes"; then + LIBFLAGS="$LIBFLAGS -DEBUG"; + fi + ;; + *) + # do nothing at the moment + ;; + esac +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi +else + + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } + OPT_CFLAGS="" + case "$CXX" in + g++*|icc) + TRY_CFLAGS="-O3" + { $as_echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 +$as_echo_n "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... " >&6; } + SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + int main () { @@ -20314,78 +20264,47 @@ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sys_file_offset_bits=64; break + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_try_cxxflags_ok=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - + ac_cv_try_cxxflags_ok=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - break -done -fi -{ echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5 -echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6; } -if test "$ac_cv_sys_file_offset_bits" != no; then - -cat >>confdefs.h <<_ACEOF -#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits -_ACEOF - -fi -rm -f conftest* - { echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5 -echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6; } -if test "${ac_cv_sys_large_files+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - while :; do - ac_cv_sys_large_files=no - cat >conftest.$ac_ext <<_ACEOF + CXXFLAGS="$SAVE_CXXFLAGS" + { $as_echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 +$as_echo "$ac_cv_try_cxxflags_ok" >&6; } + if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then + OPT_CFLAGS="$TRY_CFLAGS" + else + : + fi + TRY_CFLAGS="$OPT_CFLAGS -Wuninitialized" + { $as_echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 +$as_echo_n "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... " >&6; } + SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; + int main () { @@ -20400,59 +20319,53 @@ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_try_cxxflags_ok=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - + ac_cv_try_cxxflags_ok=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF + CXXFLAGS="$SAVE_CXXFLAGS" + { $as_echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 +$as_echo "$ac_cv_try_cxxflags_ok" >&6; } + if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then + OPT_CFLAGS="$TRY_CFLAGS" + else + : + fi + case "$host" in + i386-*) TRY_CFLAGS="$OPT_CFLAGS -march=i386";; + i486-*) TRY_CFLAGS="$OPT_CFLAGS -march=i486";; + i586-*) TRY_CFLAGS="$OPT_CFLAGS -march=pentium";; + i686-*) TRY_CFLAGS="$OPT_CFLAGS -march=pentiumpro";; + k6-*) TRY_CFLAGS="$OPT_CFLAGS -march=k6";; + esac + { $as_echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 +$as_echo_n "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... " >&6; } + SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#define _LARGE_FILES 1 -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; + int main () { @@ -20467,105 +20380,54 @@ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sys_large_files=1; break + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_try_cxxflags_ok=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - + ac_cv_try_cxxflags_ok=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - break -done -fi -{ echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5 -echo "${ECHO_T}$ac_cv_sys_large_files" >&6; } -if test "$ac_cv_sys_large_files" != no; then - -cat >>confdefs.h <<_ACEOF -#define _LARGE_FILES $ac_cv_sys_large_files -_ACEOF - -fi -rm -f conftest* -fi - -use_msvc=no - - -case "$CXX" in - cl*|CL*) - CXXFLAGS="-nologo -W1 -EHsc -DWIN32" - if test x"$enable_shared" = "xyes"; then - LIBEXT=".dll"; - LIBFLAGS="-DLL -INCREMENTAL:NO" - CXXFLAGS="$CXXFLAGS -D_WINDLL" - else - LIBEXT=".lib"; - LIBFLAGS="-lib" - fi - RANLIB="echo" - use_msvc=yes + CXXFLAGS="$SAVE_CXXFLAGS" + { $as_echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 +$as_echo "$ac_cv_try_cxxflags_ok" >&6; } + if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then + OPT_CFLAGS="$TRY_CFLAGS" + else + : + fi ;; *) ;; -esac - - -if test x"$use_msvc" = "xyes"; then - USE_MSVC_TRUE= - USE_MSVC_FALSE='#' -else - USE_MSVC_TRUE='#' - USE_MSVC_FALSE= -fi - - + esac -{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF + #Try more optimising flags if supported + case "$CXX" in + g++*) + TRY_CFLAGS="$OPT_CFLAGS -fexpensive-optimizations" + { $as_echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 +$as_echo_n "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... " >&6; } + SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -#include -#include -#include int main () @@ -20581,250 +20443,106 @@ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_header_stdc=yes + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_try_cxxflags_ok=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_header_stdc=no + ac_cv_try_cxxflags_ok=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF + CXXFLAGS="$SAVE_CXXFLAGS" + { $as_echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 +$as_echo "$ac_cv_try_cxxflags_ok" >&6; } + if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then + OPT_CFLAGS="$TRY_CFLAGS" + else + : + fi + TRY_CFLAGS="$OPT_CFLAGS -frerun-cse-after-loop" + { $as_echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 +$as_echo_n "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... " >&6; } + SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; + + ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_try_cxxflags_ok=yes else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -( exit $ac_status ) -ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF - + ac_cv_try_cxxflags_ok=no fi -{ echo "$as_me:$LINENO: checking for stdbool.h that conforms to C99" >&5 -echo $ECHO_N "checking for stdbool.h that conforms to C99... $ECHO_C" >&6; } -if test "${ac_cv_header_stdbool_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXXFLAGS="$SAVE_CXXFLAGS" + { $as_echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 +$as_echo "$ac_cv_try_cxxflags_ok" >&6; } + if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then + OPT_CFLAGS="$TRY_CFLAGS" + else + : + fi + TRY_CFLAGS="$OPT_CFLAGS -frerun-loop-opt" + { $as_echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 +$as_echo_n "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... " >&6; } + SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -#ifndef bool - "error: bool is not defined" -#endif -#ifndef false - "error: false is not defined" -#endif -#if false - "error: false is not 0" -#endif -#ifndef true - "error: true is not defined" -#endif -#if true != 1 - "error: true is not 1" -#endif -#ifndef __bool_true_false_are_defined - "error: __bool_true_false_are_defined is not defined" -#endif - - struct s { _Bool s: 1; _Bool t; } s; - - char a[true == 1 ? 1 : -1]; - char b[false == 0 ? 1 : -1]; - char c[__bool_true_false_are_defined == 1 ? 1 : -1]; - char d[(bool) 0.5 == true ? 1 : -1]; - bool e = &s; - char f[(_Bool) 0.0 == false ? 1 : -1]; - char g[true]; - char h[sizeof (_Bool)]; - char i[sizeof s.t]; - enum { j = false, k = true, l = false * true, m = true * 256 }; - _Bool n[m]; - char o[sizeof n == m * sizeof n[0] ? 1 : -1]; - char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; -# if defined __xlc__ || defined __GNUC__ - /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 - reported by James Lemley on 2005-10-05; see - http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html - This test is not quite right, since xlc is allowed to - reject this program, as the initializer for xlcbug is - not one of the forms that C requires support for. - However, doing the test right would require a runtime - test, and that would make cross-compilation harder. - Let us hope that IBM fixes the xlc bug, and also adds - support for this kind of constant expression. In the - meantime, this test will reject xlc, which is OK, since - our stdbool.h substitute should suffice. We also test - this with GCC, where it should work, to detect more - quickly whether someone messes up the test in the - future. */ - char digs[] = "0123456789"; - int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1); -# endif - /* Catch a bug in an HP-UX C compiler. See - http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html - http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html - */ - _Bool q = true; - _Bool *pq = &q; - int main () { - *pq |= q; - *pq |= ! q; - /* Refer to every declared value, to avoid compiler optimizations. */ - return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l - + !m + !n + !o + !p + !q + !pq); - ; return 0; } @@ -20835,66 +20553,51 @@ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_header_stdbool_h=yes + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_try_cxxflags_ok=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_header_stdbool_h=no + ac_cv_try_cxxflags_ok=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_stdbool_h" >&5 -echo "${ECHO_T}$ac_cv_header_stdbool_h" >&6; } -{ echo "$as_me:$LINENO: checking for _Bool" >&5 -echo $ECHO_N "checking for _Bool... $ECHO_C" >&6; } -if test "${ac_cv_type__Bool+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF + CXXFLAGS="$SAVE_CXXFLAGS" + { $as_echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 +$as_echo "$ac_cv_try_cxxflags_ok" >&6; } + if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then + OPT_CFLAGS="$TRY_CFLAGS" + else + : + fi + TRY_CFLAGS="$OPT_CFLAGS -fomit-frame-pointer" + { $as_echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 +$as_echo_n "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... " >&6; } + SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -$ac_includes_default -typedef _Bool ac__type_new_; + int main () { -if ((ac__type_new_ *) 0) - return 0; -if (sizeof (ac__type_new_)) - return 0; + ; return 0; } @@ -20905,91 +20608,109 @@ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type__Bool=yes + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_try_cxxflags_ok=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_type__Bool=no + ac_cv_try_cxxflags_ok=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_type__Bool" >&5 -echo "${ECHO_T}$ac_cv_type__Bool" >&6; } -if test $ac_cv_type__Bool = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE__BOOL 1 + CXXFLAGS="$SAVE_CXXFLAGS" + { $as_echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 +$as_echo "$ac_cv_try_cxxflags_ok" >&6; } + if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then + OPT_CFLAGS="$TRY_CFLAGS" + else + : + fi + TRY_CFLAGS="$OPT_CFLAGS -minline-all-stringops" + { $as_echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 +$as_echo_n "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... " >&6; } + SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ _ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +int +main () +{ -fi - -if test $ac_cv_header_stdbool_h = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_STDBOOL_H 1 + ; + return 0; +} _ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_try_cxxflags_ok=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_try_cxxflags_ok=no fi - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - -if test "${ac_cv_header_streambuf+set}" = set; then - { echo "$as_me:$LINENO: checking for streambuf" >&5 -echo $ECHO_N "checking for streambuf... $ECHO_C" >&6; } -if test "${ac_cv_header_streambuf+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_streambuf" >&5 -echo "${ECHO_T}$ac_cv_header_streambuf" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking streambuf usability" >&5 -echo $ECHO_N "checking streambuf usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXXFLAGS="$SAVE_CXXFLAGS" + { $as_echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 +$as_echo "$ac_cv_try_cxxflags_ok" >&6; } + if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then + OPT_CFLAGS="$TRY_CFLAGS" + else + : + fi + TRY_CFLAGS="$OPT_CFLAGS -fschedule-insns2" + { $as_echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 +$as_echo_n "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... " >&6; } + SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -$ac_includes_default -#include + +int +main () +{ + + ; + return 0; +} _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" @@ -20997,663 +20718,485 @@ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_try_cxxflags_ok=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_compiler=no + ac_cv_try_cxxflags_ok=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } - -# Is the header present? -{ echo "$as_me:$LINENO: checking streambuf presence" >&5 -echo $ECHO_N "checking streambuf presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF + CXXFLAGS="$SAVE_CXXFLAGS" + { $as_echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 +$as_echo "$ac_cv_try_cxxflags_ok" >&6; } + if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then + OPT_CFLAGS="$TRY_CFLAGS" + else + : + fi + TRY_CFLAGS="$OPT_CFLAGS -falign-functions=4" + { $as_echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 +$as_echo_n "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... " >&6; } + SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include + +int +main () +{ + + ; + return 0; +} _ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_try_cxxflags_ok=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: streambuf: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: streambuf: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: streambuf: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: streambuf: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: streambuf: present but cannot be compiled" >&5 -echo "$as_me: WARNING: streambuf: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: streambuf: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: streambuf: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: streambuf: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: streambuf: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: streambuf: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: streambuf: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: streambuf: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: streambuf: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: streambuf: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: streambuf: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ echo "$as_me:$LINENO: checking for streambuf" >&5 -echo $ECHO_N "checking for streambuf... $ECHO_C" >&6; } -if test "${ac_cv_header_streambuf+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_streambuf=$ac_header_preproc -fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_streambuf" >&5 -echo "${ECHO_T}$ac_cv_header_streambuf" >&6; } - -fi -if test $ac_cv_header_streambuf = yes; then - : -else - { { echo "$as_me:$LINENO: error: \"Unsupported Compiler version\"" >&5 -echo "$as_me: error: \"Unsupported Compiler version\"" >&2;} - { (exit 1); exit 1; }; } -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - -# Extract the first word of "doxygen", so it can be a program name with args. -set dummy doxygen; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_HAVE_DOXYGEN+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$HAVE_DOXYGEN"; then - ac_cv_prog_HAVE_DOXYGEN="$HAVE_DOXYGEN" # 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_HAVE_DOXYGEN="true" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_prog_HAVE_DOXYGEN" && ac_cv_prog_HAVE_DOXYGEN="false" -fi -fi -HAVE_DOXYGEN=$ac_cv_prog_HAVE_DOXYGEN -if test -n "$HAVE_DOXYGEN"; then - { echo "$as_me:$LINENO: result: $HAVE_DOXYGEN" >&5 -echo "${ECHO_T}$HAVE_DOXYGEN" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - if test $HAVE_DOXYGEN = "false"; then - { echo "$as_me:$LINENO: WARNING: *** doxygen not found, code documentation will not be built" >&5 -echo "$as_me: WARNING: *** doxygen not found, code documentation will not be built" >&2;} - fi - - -if $HAVE_DOXYGEN; then - HAVE_DOXYGEN_TRUE= - HAVE_DOXYGEN_FALSE='#' -else - HAVE_DOXYGEN_TRUE='#' - HAVE_DOXYGEN_FALSE= -fi - - -# Extract the first word of "dot", so it can be a program name with args. -set dummy dot; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_HAVE_DOT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$HAVE_DOT"; then - ac_cv_prog_HAVE_DOT="$HAVE_DOT" # 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_HAVE_DOT="true" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_prog_HAVE_DOT" && ac_cv_prog_HAVE_DOT="false" -fi -fi -HAVE_DOT=$ac_cv_prog_HAVE_DOT -if test -n "$HAVE_DOT"; then - { echo "$as_me:$LINENO: result: $HAVE_DOT" >&5 -echo "${ECHO_T}$HAVE_DOT" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - if test $HAVE_DOT = "false"; then - { echo "$as_me:$LINENO: WARNING: *** dot not found, inheritance diagrams will not be generated in code documentation" >&5 -echo "$as_me: WARNING: *** dot not found, inheritance diagrams will not be generated in code documentation" >&2;} - fi - - -if $HAVE_DOT; then - HAVE_DOT_TRUE= - HAVE_DOT_FALSE='#' -else - HAVE_DOT_TRUE='#' - HAVE_DOT_FALSE= -fi - - -# Extract the first word of "latex", so it can be a program name with args. -set dummy latex; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_HAVE_LATEX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$HAVE_LATEX"; then - ac_cv_prog_HAVE_LATEX="$HAVE_LATEX" # 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_HAVE_LATEX="true" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_prog_HAVE_LATEX" && ac_cv_prog_HAVE_LATEX="false" -fi -fi -HAVE_LATEX=$ac_cv_prog_HAVE_LATEX -if test -n "$HAVE_LATEX"; then - { echo "$as_me:$LINENO: result: $HAVE_LATEX" >&5 -echo "${ECHO_T}$HAVE_LATEX" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - if test $HAVE_LATEX = "false"; then - { echo "$as_me:$LINENO: WARNING: *** latex not found, algorithm documentation will not be built" >&5 -echo "$as_me: WARNING: *** latex not found, algorithm documentation will not be built" >&2;} - fi - - -if $HAVE_LATEX; then - HAVE_LATEX_TRUE= - HAVE_LATEX_FALSE='#' -else - HAVE_LATEX_TRUE='#' - HAVE_LATEX_FALSE= -fi - - -# Extract the first word of "dvipdfm", so it can be a program name with args. -set dummy dvipdfm; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_HAVE_DVIPDFM+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$HAVE_DVIPDFM"; then - ac_cv_prog_HAVE_DVIPDFM="$HAVE_DVIPDFM" # 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_HAVE_DVIPDFM="true" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_prog_HAVE_DVIPDFM" && ac_cv_prog_HAVE_DVIPDFM="false" -fi -fi -HAVE_DVIPDFM=$ac_cv_prog_HAVE_DVIPDFM -if test -n "$HAVE_DVIPDFM"; then - { echo "$as_me:$LINENO: result: $HAVE_DVIPDFM" >&5 -echo "${ECHO_T}$HAVE_DVIPDFM" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - if test $HAVE_DVIPDFM = "false"; then - { echo "$as_me:$LINENO: WARNING: *** dvipdfm not found, programmer documentation will not be built" >&5 -echo "$as_me: WARNING: *** dvipdfm not found, programmer documentation will not be built" >&2;} - fi - - -if $HAVE_DVIPDFM; then - HAVE_DVIPDFM_TRUE= - HAVE_DVIPDFM_FALSE='#' -else - HAVE_DVIPDFM_TRUE='#' - HAVE_DVIPDFM_FALSE= + ac_cv_try_cxxflags_ok=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXXFLAGS="$SAVE_CXXFLAGS" + { $as_echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 +$as_echo "$ac_cv_try_cxxflags_ok" >&6; } + if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then + OPT_CFLAGS="$TRY_CFLAGS" + else + : + fi + TRY_CFLAGS="$OPT_CFLAGS -fforce-addr" + { $as_echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 +$as_echo_n "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... " >&6; } + SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ -# Check whether --enable-overlay was given. -if test "${enable_overlay+set}" = set; then - enableval=$enable_overlay; case "${enableval}" in - yes) overlay=true ;; - no) overlay=false ;; - *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-overlay" >&5 -echo "$as_me: error: bad value ${enableval} for --enable-overlay" >&2;} - { (exit 1); exit 1; }; } ;; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_try_cxxflags_ok=yes else - overlay=false + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_try_cxxflags_ok=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXXFLAGS="$SAVE_CXXFLAGS" + { $as_echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 +$as_echo "$ac_cv_try_cxxflags_ok" >&6; } + if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then + OPT_CFLAGS="$TRY_CFLAGS" + else + : + fi + TRY_CFLAGS="$OPT_CFLAGS -pipe" + { $as_echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 +$as_echo_n "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... " >&6; } + SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +int +main () +{ -if test x$overlay = xtrue; then - OVERLAY_TRUE= - OVERLAY_FALSE='#' + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_try_cxxflags_ok=yes else - OVERLAY_TRUE='#' - OVERLAY_FALSE= -fi - + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -as_ac_File=`echo "ac_cv_file_$srcdir/doc/documentation/algorithm/algorithm/index.htm" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $srcdir/doc/documentation/algorithm/algorithm/index.htm" >&5 -echo $ECHO_N "checking for $srcdir/doc/documentation/algorithm/algorithm/index.htm... $ECHO_C" >&6; } -if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } -if test -r "$srcdir/doc/documentation/algorithm/algorithm/index.htm"; then - eval "$as_ac_File=yes" -else - eval "$as_ac_File=no" -fi -fi -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then - HAVE_ALGO="true" -else - HAVE_ALGO="false" + ac_cv_try_cxxflags_ok=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXXFLAGS="$SAVE_CXXFLAGS" + { $as_echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 +$as_echo "$ac_cv_try_cxxflags_ok" >&6; } + if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then + OPT_CFLAGS="$TRY_CFLAGS" + else + : + fi + ;; + *) + # do nothing at the moment + ;; + esac + CXXFLAGS="$OPT_CFLAGS $CXXFLAGS" -if $HAVE_ALGO; then - HAVE_ALGO_TRUE= - HAVE_ALGO_FALSE='#' -else - HAVE_ALGO_TRUE='#' - HAVE_ALGO_FALSE= fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + -as_ac_File=`echo "ac_cv_file_$srcdir/doc/documentation/algorithm/enhancements/index.htm" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $srcdir/doc/documentation/algorithm/enhancements/index.htm" >&5 -echo $ECHO_N "checking for $srcdir/doc/documentation/algorithm/enhancements/index.htm... $ECHO_C" >&6; } -if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } -if test -r "$srcdir/doc/documentation/algorithm/enhancements/index.htm"; then - eval "$as_ac_File=yes" -else - eval "$as_ac_File=no" -fi -fi -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then - HAVE_ENHANCE="true" +{ $as_echo "$as_me:$LINENO: checking whether optimizations using MMX instructions are enabled" >&5 +$as_echo_n "checking whether optimizations using MMX instructions are enabled... " >&6; } +# Check whether --enable-mmx was given. +if test "${enable_mmx+set}" = set; then + enableval=$enable_mmx; enable_mmx="${enableval}" else - HAVE_ENHANCE="false" + enable_mmx="yes" fi +if test x"${enable_mmx}" = x"yes" ; then + case "$CXX" in + g++*) + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if $HAVE_ENHANCE; then - HAVE_ENHANCE_TRUE= - HAVE_ENHANCE_FALSE='#' -else - HAVE_ENHANCE_TRUE='#' - HAVE_ENHANCE_FALSE= -fi - + TRY_CFLAGS="-mmmx" + { $as_echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 +$as_echo_n "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... " >&6; } + SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ -as_ac_File=`echo "ac_cv_file_$srcdir/doc/documentation/algorithm/global_motion/index.htm" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $srcdir/doc/documentation/algorithm/global_motion/index.htm" >&5 -echo $ECHO_N "checking for $srcdir/doc/documentation/algorithm/global_motion/index.htm... $ECHO_C" >&6; } -if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } -if test -r "$srcdir/doc/documentation/algorithm/global_motion/index.htm"; then - eval "$as_ac_File=yes" -else - eval "$as_ac_File=no" -fi -fi -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then - HAVE_GM="true" + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_try_cxxflags_ok=yes else - HAVE_GM="false" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_try_cxxflags_ok=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXXFLAGS="$SAVE_CXXFLAGS" + { $as_echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 +$as_echo "$ac_cv_try_cxxflags_ok" >&6; } + if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then + CXXFLAGS="$CXXFLAGS $TRY_CFLAGS -DHAVE_MMX" + else + : + fi + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + ;; + icc) + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if $HAVE_GM; then - HAVE_GM_TRUE= - HAVE_GM_FALSE='#' -else - HAVE_GM_TRUE='#' - HAVE_GM_FALSE= + if test "${ac_cv_header_mmintrin_h+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for mmintrin.h" >&5 +$as_echo_n "checking for mmintrin.h... " >&6; } +if test "${ac_cv_header_mmintrin_h+set}" = set; then + $as_echo_n "(cached) " >&6 fi - - -as_ac_File=`echo "ac_cv_file_$srcdir/doc/documentation/algorithm/upconversion/index.htm" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $srcdir/doc/documentation/algorithm/upconversion/index.htm" >&5 -echo $ECHO_N "checking for $srcdir/doc/documentation/algorithm/upconversion/index.htm... $ECHO_C" >&6; } -if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } -if test -r "$srcdir/doc/documentation/algorithm/upconversion/index.htm"; then - eval "$as_ac_File=yes" +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_mmintrin_h" >&5 +$as_echo "$ac_cv_header_mmintrin_h" >&6; } else - eval "$as_ac_File=no" -fi -fi -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then - HAVE_UPCONV="true" + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking mmintrin.h usability" >&5 +$as_echo_n "checking mmintrin.h usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes else - HAVE_UPCONV="false" -fi - - + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -if $HAVE_UPCONV; then - HAVE_UPCONV_TRUE= - HAVE_UPCONV_FALSE='#' -else - HAVE_UPCONV_TRUE='#' - HAVE_UPCONV_FALSE= + ac_header_compiler=no fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } -as_ac_File=`echo "ac_cv_file_$srcdir/doc/documentation/code/programmers_guide/index.htm" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $srcdir/doc/documentation/code/programmers_guide/index.htm" >&5 -echo $ECHO_N "checking for $srcdir/doc/documentation/code/programmers_guide/index.htm... $ECHO_C" >&6; } -if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } -if test -r "$srcdir/doc/documentation/code/programmers_guide/index.htm"; then - eval "$as_ac_File=yes" -else - eval "$as_ac_File=no" -fi -fi -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then - HAVE_PROG="true" +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking mmintrin.h presence" >&5 +$as_echo_n "checking mmintrin.h presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes else - HAVE_PROG="false" + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no fi +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: mmintrin.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: mmintrin.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: mmintrin.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: mmintrin.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: mmintrin.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: mmintrin.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: mmintrin.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: mmintrin.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: mmintrin.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: mmintrin.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: mmintrin.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: mmintrin.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: mmintrin.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: mmintrin.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: mmintrin.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: mmintrin.h: in the future, the compiler will take precedence" >&2;} -if $HAVE_PROG; then - HAVE_PROG_TRUE= - HAVE_PROG_FALSE='#' + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for mmintrin.h" >&5 +$as_echo_n "checking for mmintrin.h... " >&6; } +if test "${ac_cv_header_mmintrin_h+set}" = set; then + $as_echo_n "(cached) " >&6 else - HAVE_PROG_TRUE='#' - HAVE_PROG_FALSE= + ac_cv_header_mmintrin_h=$ac_header_preproc fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_mmintrin_h" >&5 +$as_echo "$ac_cv_header_mmintrin_h" >&6; } - -as_ac_File=`echo "ac_cv_file_$srcdir/doc/documentation/tools/diagnostics/index.htm" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $srcdir/doc/documentation/tools/diagnostics/index.htm" >&5 -echo $ECHO_N "checking for $srcdir/doc/documentation/tools/diagnostics/index.htm... $ECHO_C" >&6; } -if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - test "$cross_compiling" = yes && - { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 -echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} - { (exit 1); exit 1; }; } -if test -r "$srcdir/doc/documentation/tools/diagnostics/index.htm"; then - eval "$as_ac_File=yes" -else - eval "$as_ac_File=no" -fi fi -ac_res=`eval echo '${'$as_ac_File'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_File'}'` = yes; then - HAVE_DIAG="true" +if test "x$ac_cv_header_mmintrin_h" = x""yes; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; }; CXXFLAGS="$CXXFLAGS -DHAVE_MMX=1" else - HAVE_DIAG="false" + { $as_echo "$as_me:$LINENO: result: \"no\"" >&5 +$as_echo "\"no\"" >&6; } fi + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu -if $HAVE_DIAG; then - HAVE_DIAG_TRUE= - HAVE_DIAG_FALSE='#' -else - HAVE_DIAG_TRUE='#' - HAVE_DIAG_FALSE= -fi - - -ac_config_commands="$ac_config_commands tests/atconfig" - - -ac_config_files="$ac_config_files tests/Makefile" - -ac_config_files="$ac_config_files tests/at_wrap" - - -AUTOM4TE=${AUTOM4TE-"${am_missing_run}autom4te"} - - -{ echo "$as_me:$LINENO: checking whether gprof flags are to be used when compiling" >&5 -echo $ECHO_N "checking whether gprof flags are to be used when compiling... $ECHO_C" >&6; } -# Check whether --enable-profile was given. -if test "${enable_profile+set}" = set; then - enableval=$enable_profile; -if test x"${enableval}" = x"yes" ; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - case "$CXX" in - g++*|icc) - CXXFLAGS="$CXXFLAGS -pg" - ;; + ;; *) # do nothing + { $as_echo "$as_me:$LINENO: result: \"no\"" >&5 +$as_echo "\"no\"" >&6; } ;; esac else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } fi - ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -OPT_CFLAGS="" -case "$CXX" in - g++*) - TRY_CFLAGS="$OPT_CFLAGS -g" - { echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 -echo $ECHO_N "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... $ECHO_C" >&6; } - SAVE_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" - cat >conftest.$ac_ext <<_ACEOF +if test "${ac_cv_header_cppunit_TestRunner_h+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for cppunit/TestRunner.h" >&5 +$as_echo_n "checking for cppunit/TestRunner.h... " >&6; } +if test "${ac_cv_header_cppunit_TestRunner_h+set}" = set; then + $as_echo_n "(cached) " >&6 +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_cppunit_TestRunner_h" >&5 +$as_echo "$ac_cv_header_cppunit_TestRunner_h" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking cppunit/TestRunner.h usability" >&5 +$as_echo_n "checking cppunit/TestRunner.h usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} +$ac_includes_default +#include _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" @@ -21661,3486 +21204,3280 @@ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_try_cxxflags_ok=yes + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_try_cxxflags_ok=no + ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CXXFLAGS="$SAVE_CXXFLAGS" - { echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 -echo "${ECHO_T}$ac_cv_try_cxxflags_ok" >&6; } - if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then - OPT_CFLAGS="$TRY_CFLAGS" - else - : - fi - TRY_CFLAGS="$OPT_CFLAGS -pedantic" - { echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 -echo $ECHO_N "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... $ECHO_C" >&6; } - SAVE_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" - cat >conftest.$ac_ext <<_ACEOF +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking cppunit/TestRunner.h presence" >&5 +$as_echo_n "checking cppunit/TestRunner.h presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} +#include _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" +if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_try_cxxflags_ok=yes + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_try_cxxflags_ok=no + ac_header_preproc=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CXXFLAGS="$SAVE_CXXFLAGS" - { echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 -echo "${ECHO_T}$ac_cv_try_cxxflags_ok" >&6; } - if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then - OPT_CFLAGS="$TRY_CFLAGS" - else - : - fi - TRY_CFLAGS="$OPT_CFLAGS -Wall" - { echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 -echo $ECHO_N "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... $ECHO_C" >&6; } - SAVE_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" - cat >conftest.$ac_ext <<_ACEOF +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: cppunit/TestRunner.h: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: cppunit/TestRunner.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: cppunit/TestRunner.h: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: cppunit/TestRunner.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: cppunit/TestRunner.h: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: cppunit/TestRunner.h: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: cppunit/TestRunner.h: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: cppunit/TestRunner.h: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: cppunit/TestRunner.h: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: cppunit/TestRunner.h: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: cppunit/TestRunner.h: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: cppunit/TestRunner.h: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: cppunit/TestRunner.h: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: cppunit/TestRunner.h: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: cppunit/TestRunner.h: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: cppunit/TestRunner.h: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for cppunit/TestRunner.h" >&5 +$as_echo_n "checking for cppunit/TestRunner.h... " >&6; } +if test "${ac_cv_header_cppunit_TestRunner_h+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_header_cppunit_TestRunner_h=$ac_header_preproc +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_cppunit_TestRunner_h" >&5 +$as_echo "$ac_cv_header_cppunit_TestRunner_h" >&6; } + +fi +if test "x$ac_cv_header_cppunit_TestRunner_h" = x""yes; then + HAVE_CPPUNIT="true" +else + HAVE_CPPUNIT="false" +fi + + + if test $HAVE_CPPUNIT = "true"; then + { $as_echo "$as_me:$LINENO: checking whether unit tests code will compile and link" >&5 +$as_echo_n "checking whether unit tests code will compile and link... " >&6; } + SAVE_LIBS=$LIBS + SAVE_CXXFLAGS=$CXXFLAGS + LIBS="$LIBS -lcppunit -ldl" + case `$LD -v 2>&1 < /dev/null` in + *GNU* | *'with BFD'*) + CXXFLAGS="$CXXFLAGS -Wl,--fatal-warnings" + ;; + esac; + if test "$cross_compiling" = yes; then + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot run test program while cross compiling +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } +else + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - +#include + #include + #include int main () { - +CPPUNIT_NS::TestResult controller; CPPUNIT_NS::TestRunner runner; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_try_cxxflags_ok=yes + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +{ $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; }; HAVE_CPPUNIT="false" +fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + + LIBS=$SAVE_LIBS + CXXFLAGS=$SAVE_CXXFLAGS + fi + if $HAVE_CPPUNIT; then + HAVE_CPPUNIT_TRUE= + HAVE_CPPUNIT_FALSE='#' +else + HAVE_CPPUNIT_TRUE='#' + HAVE_CPPUNIT_FALSE= +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + if test x"$enable_static" = "xyes"; then + USE_STATIC_TRUE= + USE_STATIC_FALSE='#' +else + USE_STATIC_TRUE='#' + USE_STATIC_FALSE= +fi + + +for ac_prog in valgrind +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:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_VALGRIND+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$VALGRIND"; then + ac_cv_prog_VALGRIND="$VALGRIND" # 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_VALGRIND="$ac_prog" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +VALGRIND=$ac_cv_prog_VALGRIND +if test -n "$VALGRIND"; then + { $as_echo "$as_me:$LINENO: result: $VALGRIND" >&5 +$as_echo "$VALGRIND" >&6; } else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi - ac_cv_try_cxxflags_ok=no + + test -n "$VALGRIND" && break +done + +if test x"$VALGRIND" != "x" ; then + if $VALGRIND -q --tool=memcheck true 2>/dev/null; then + VALGRIND="valgrind --tool=memcheck --leak-check=yes" + fi fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CXXFLAGS="$SAVE_CXXFLAGS" - { echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 -echo "${ECHO_T}$ac_cv_try_cxxflags_ok" >&6; } - if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then - OPT_CFLAGS="$TRY_CFLAGS" - else - : - fi - TRY_CFLAGS="$OPT_CFLAGS -Werror" - { echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 -echo $ECHO_N "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... $ECHO_C" >&6; } - SAVE_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" - cat >conftest.$ac_ext <<_ACEOF +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +{ $as_echo "$as_me:$LINENO: checking whether we need to link math lib" >&5 +$as_echo_n "checking whether we need to link math lib... " >&6; } +cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - +#include int main () { - +double lw = std::pow(2.0, 2.0); ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_try_cxxflags_ok=yes -else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +else + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_try_cxxflags_ok=no + CONFIG_MATH_LIB="-lm";{ $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +ac_config_files="$ac_config_files Makefile dirac.pc doc/Makefile libdirac_byteio/Makefile libdirac_common/Makefile libdirac_motionest/Makefile libdirac_encoder/Makefile libdirac_decoder/Makefile encoder/Makefile decoder/Makefile unit_tests/Makefile util/Makefile util/conversion/Makefile util/conversion/common/Makefile util/instrumentation/Makefile util/instrumentation/libdirac_instrument/Makefile win32/Makefile win32/VisualStudio/Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.h` + + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${USE_MSVC_TRUE}" && test -z "${USE_MSVC_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"USE_MSVC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"USE_MSVC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${HAVE_DOXYGEN_TRUE}" && test -z "${HAVE_DOXYGEN_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_DOXYGEN\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"HAVE_DOXYGEN\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${HAVE_DOT_TRUE}" && test -z "${HAVE_DOT_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_DOT\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"HAVE_DOT\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${HAVE_LATEX_TRUE}" && test -z "${HAVE_LATEX_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_LATEX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"HAVE_LATEX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${HAVE_DVIPDFM_TRUE}" && test -z "${HAVE_DVIPDFM_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_DVIPDFM\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"HAVE_DVIPDFM\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${OVERLAY_TRUE}" && test -z "${OVERLAY_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"OVERLAY\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"OVERLAY\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${HAVE_CPPUNIT_TRUE}" && test -z "${HAVE_CPPUNIT_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_CPPUNIT\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"HAVE_CPPUNIT\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } fi +if test -z "${USE_STATIC_TRUE}" && test -z "${USE_STATIC_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"USE_STATIC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"USE_STATIC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CXXFLAGS="$SAVE_CXXFLAGS" - { echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 -echo "${ECHO_T}$ac_cv_try_cxxflags_ok" >&6; } - if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then - OPT_CFLAGS="$TRY_CFLAGS" - else - : - fi - TRY_CFLAGS="$OPT_CFLAGS -W" - { echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 -echo $ECHO_N "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... $ECHO_C" >&6; } - SAVE_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () -{ +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_try_cxxflags_ok=yes +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac - ac_cv_try_cxxflags_ok=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CXXFLAGS="$SAVE_CXXFLAGS" - { echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 -echo "${ECHO_T}$ac_cv_try_cxxflags_ok" >&6; } - if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then - OPT_CFLAGS="$TRY_CFLAGS" - else - : - fi - TRY_CFLAGS="$OPT_CFLAGS -Woverloaded-virtual" - { echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 -echo $ECHO_N "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... $ECHO_C" >&6; } - SAVE_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () -{ - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_try_cxxflags_ok=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_try_cxxflags_ok=no +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CXXFLAGS="$SAVE_CXXFLAGS" - { echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 -echo "${ECHO_T}$ac_cv_try_cxxflags_ok" >&6; } - if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then - OPT_CFLAGS="$TRY_CFLAGS" - else - : - fi - #TRY_CFLAGS="-Wno-long-double" - #AC_TRY_CXXFLAGS([#include ],[long double lw;], [$TRY_CFLAGS $CXXFLAGS],[OPT_CFLAGS="$OPT_CFLAGS $TRY_CFLAGS"]) - TRY_CFLAGS="$OPT_CFLAGS -Wextra" - { echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 -echo $ECHO_N "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... $ECHO_C" >&6; } - SAVE_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi -int -main () -{ +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_try_cxxflags_ok=yes +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` - ac_cv_try_cxxflags_ok=no -fi +# CDPATH. +$as_unset CDPATH -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CXXFLAGS="$SAVE_CXXFLAGS" - { echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 -echo "${ECHO_T}$ac_cv_try_cxxflags_ok" >&6; } - if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then - OPT_CFLAGS="$TRY_CFLAGS" - else - : - fi - CXXFLAGS="$OPT_CFLAGS $CXXFLAGS" - ;; - *) - # do nothing at the moment - ;; -esac -{ echo "$as_me:$LINENO: checking whether extra debug flags are to be used when compiling" >&5 -echo $ECHO_N "checking whether extra debug flags are to be used when compiling... $ECHO_C" >&6; } -# Check whether --enable-debug was given. -if test "${enable_debug+set}" = set; then - enableval=$enable_debug; -if test x"${enableval}" = x"yes" ; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - case "$CXX" in - g++*) - CXXFLAGS=`echo $CXXFLAGS | sed 's/-O[0-9]*//g'` - OPT_CFLAGS="" - TRY_CFLAGS="-O0" - { echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 -echo $ECHO_N "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... $ECHO_C" >&6; } - SAVE_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () -{ - ; - return 0; + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit } -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_try_cxxflags_ok=yes +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + as_expr=false +fi - ac_cv_try_cxxflags_ok=no +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' + fi +else + as_ln_s='cp -p' fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CXXFLAGS="$SAVE_CXXFLAGS" - { echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 -echo "${ECHO_T}$ac_cv_try_cxxflags_ok" >&6; } - if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then - OPT_CFLAGS="$TRY_CFLAGS" - else - : - fi - CXXFLAGS="$OPT_CFLAGS $CXXFLAGS -DDIRAC_DEBUG" - ;; - icc) - CXXFLAGS=`echo $CXXFLAGS | sed 's/-O[0-9]*//g'` - CXXFLAGS="-DDIRAC_DEBUG -g -O0 $CXXFLAGS" - # report only errors and warnings as errors - CXXFLAGS="$CXXFLAGS -w1 -Werror -wr964 -wr963" - ;; - cl*|CL*) - # -Od turn off optimisation, -Z7 turn on debugging info - CXXFLAGS=`echo $CXXFLAGS | sed 's/-O[0-9]*//g'` - CXXFLAGS=`echo $CXXFLAGS | sed 's/-O[a-z]*//g'` - CXXFLAGS=`echo $CXXFLAGS | sed 's/-W[0-9]*//g'` - CXXFLAGS="$CXXFLAGS -Od -Z7 -W2" - if test x"$enable_shared" = "xyes"; then - LIBFLAGS="$LIBFLAGS -DEBUG"; - fi - ;; - *) - # do nothing at the moment - ;; - esac +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } + test -d ./-p && rmdir ./-p + as_mkdir_p=false fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - OPT_CFLAGS="" - case "$CXX" in - g++*|icc) - TRY_CFLAGS="-O3" - { echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 -echo $ECHO_N "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... $ECHO_C" >&6; } - SAVE_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" -int -main () -{ +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_try_cxxflags_ok=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_try_cxxflags_ok=no -fi +exec 6>&1 -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CXXFLAGS="$SAVE_CXXFLAGS" - { echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 -echo "${ECHO_T}$ac_cv_try_cxxflags_ok" >&6; } - if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then - OPT_CFLAGS="$TRY_CFLAGS" - else - : - fi - TRY_CFLAGS="$OPT_CFLAGS -Wuninitialized" - { echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 -echo $ECHO_N "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... $ECHO_C" >&6; } - SAVE_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by $as_me, which was +generated by GNU Autoconf 2.63. Invocation command line was -int -main () -{ + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" - ; - return 0; -} _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_try_cxxflags_ok=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_try_cxxflags_ok=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CXXFLAGS="$SAVE_CXXFLAGS" - { echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 -echo "${ECHO_T}$ac_cv_try_cxxflags_ok" >&6; } - if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then - OPT_CFLAGS="$TRY_CFLAGS" - else - : - fi - case "$host" in - i386-*) TRY_CFLAGS="$OPT_CFLAGS -march=i386";; - i486-*) TRY_CFLAGS="$OPT_CFLAGS -march=i486";; - i586-*) TRY_CFLAGS="$OPT_CFLAGS -march=pentium";; - i686-*) TRY_CFLAGS="$OPT_CFLAGS -march=pentiumpro";; - k6-*) TRY_CFLAGS="$OPT_CFLAGS -march=k6";; - esac - { echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 -echo $ECHO_N "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... $ECHO_C" >&6; } - SAVE_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_commands="$ac_config_commands" + _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () -{ +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTION]... [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + +Configuration files: +$config_files + +Configuration commands: +$config_commands + +Report bugs to ." - ; - return 0; -} _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_try_cxxflags_ok=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_version="\\ +config.status +configured by $0, generated by GNU Autoconf 2.63, + with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" - ac_cv_try_cxxflags_ok=no -fi +Copyright (C) 2008 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CXXFLAGS="$SAVE_CXXFLAGS" - { echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 -echo "${ECHO_T}$ac_cv_try_cxxflags_ok" >&6; } - if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then - OPT_CFLAGS="$TRY_CFLAGS" - else - : - fi - ;; - *) - ;; - esac +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +AWK='$AWK' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + CONFIG_FILES="$CONFIG_FILES '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { $as_echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi - #Try more optimising flags if supported - case "$CXX" in - g++*) - TRY_CFLAGS="$OPT_CFLAGS -fexpensive-optimizations" - { echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 -echo $ECHO_N "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... $ECHO_C" >&6; } - SAVE_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi -int -main () +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log { + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + $as_echo "$ac_log" +} >&5 - ; - return 0; -} _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +AS='`$ECHO "X$AS" | $Xsed -e "$delay_single_quote_subst"`' +DLLTOOL='`$ECHO "X$DLLTOOL" | $Xsed -e "$delay_single_quote_subst"`' +OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`' +macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`' +macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`' +enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`' +enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`' +pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`' +enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`' +host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`' +host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`' +host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`' +build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`' +build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`' +build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`' +SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`' +Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`' +GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`' +EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`' +FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`' +LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`' +NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`' +LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`' +max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`' +ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`' +exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`' +lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`' +lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`' +lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`' +reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`' +reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`' +deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`' +file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`' +AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`' +AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`' +STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`' +RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`' +old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' +old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' +CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`' +CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`' +compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`' +GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' +objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`' +SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`' +ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`' +MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`' +need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`' +DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`' +NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`' +LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`' +OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`' +OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`' +libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`' +shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`' +extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' +archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`' +export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' +whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' +compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' +archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' +archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' +module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`' +module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' +with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`' +allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' +no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`' +inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`' +link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`' +fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`' +always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`' +export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`' +exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`' +include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`' +prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`' +file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`' +variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`' +need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' +need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`' +version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`' +runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`' +shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' +shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`' +libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`' +library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`' +soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`' +postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' +postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' +finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`' +finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`' +sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`' +sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`' +enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`' +enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`' +enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`' +old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`' +striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`' +compiler_lib_search_dirs='`$ECHO "X$compiler_lib_search_dirs" | $Xsed -e "$delay_single_quote_subst"`' +predep_objects='`$ECHO "X$predep_objects" | $Xsed -e "$delay_single_quote_subst"`' +postdep_objects='`$ECHO "X$postdep_objects" | $Xsed -e "$delay_single_quote_subst"`' +predeps='`$ECHO "X$predeps" | $Xsed -e "$delay_single_quote_subst"`' +postdeps='`$ECHO "X$postdeps" | $Xsed -e "$delay_single_quote_subst"`' +compiler_lib_search_path='`$ECHO "X$compiler_lib_search_path" | $Xsed -e "$delay_single_quote_subst"`' +LD_CXX='`$ECHO "X$LD_CXX" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_cmds_CXX='`$ECHO "X$old_archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +compiler_CXX='`$ECHO "X$compiler_CXX" | $Xsed -e "$delay_single_quote_subst"`' +GCC_CXX='`$ECHO "X$GCC_CXX" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "X$lt_prog_compiler_no_builtin_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_wl_CXX='`$ECHO "X$lt_prog_compiler_wl_CXX" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_pic_CXX='`$ECHO "X$lt_prog_compiler_pic_CXX" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_static_CXX='`$ECHO "X$lt_prog_compiler_static_CXX" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_CXX='`$ECHO "X$lt_cv_prog_compiler_c_o_CXX" | $Xsed -e "$delay_single_quote_subst"`' +archive_cmds_need_lc_CXX='`$ECHO "X$archive_cmds_need_lc_CXX" | $Xsed -e "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_CXX='`$ECHO "X$enable_shared_with_static_runtimes_CXX" | $Xsed -e "$delay_single_quote_subst"`' +export_dynamic_flag_spec_CXX='`$ECHO "X$export_dynamic_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' +whole_archive_flag_spec_CXX='`$ECHO "X$whole_archive_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' +compiler_needs_object_CXX='`$ECHO "X$compiler_needs_object_CXX" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_from_new_cmds_CXX='`$ECHO "X$old_archive_from_new_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_CXX='`$ECHO "X$old_archive_from_expsyms_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +archive_cmds_CXX='`$ECHO "X$archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +archive_expsym_cmds_CXX='`$ECHO "X$archive_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +module_cmds_CXX='`$ECHO "X$module_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +module_expsym_cmds_CXX='`$ECHO "X$module_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +with_gnu_ld_CXX='`$ECHO "X$with_gnu_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`' +allow_undefined_flag_CXX='`$ECHO "X$allow_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' +no_undefined_flag_CXX='`$ECHO "X$no_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_CXX='`$ECHO "X$hardcode_libdir_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_ld_CXX='`$ECHO "X$hardcode_libdir_flag_spec_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_separator_CXX='`$ECHO "X$hardcode_libdir_separator_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_direct_CXX='`$ECHO "X$hardcode_direct_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_direct_absolute_CXX='`$ECHO "X$hardcode_direct_absolute_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_minus_L_CXX='`$ECHO "X$hardcode_minus_L_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_shlibpath_var_CXX='`$ECHO "X$hardcode_shlibpath_var_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_automatic_CXX='`$ECHO "X$hardcode_automatic_CXX" | $Xsed -e "$delay_single_quote_subst"`' +inherit_rpath_CXX='`$ECHO "X$inherit_rpath_CXX" | $Xsed -e "$delay_single_quote_subst"`' +link_all_deplibs_CXX='`$ECHO "X$link_all_deplibs_CXX" | $Xsed -e "$delay_single_quote_subst"`' +fix_srcfile_path_CXX='`$ECHO "X$fix_srcfile_path_CXX" | $Xsed -e "$delay_single_quote_subst"`' +always_export_symbols_CXX='`$ECHO "X$always_export_symbols_CXX" | $Xsed -e "$delay_single_quote_subst"`' +export_symbols_cmds_CXX='`$ECHO "X$export_symbols_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +exclude_expsyms_CXX='`$ECHO "X$exclude_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`' +include_expsyms_CXX='`$ECHO "X$include_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`' +prelink_cmds_CXX='`$ECHO "X$prelink_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +file_list_spec_CXX='`$ECHO "X$file_list_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_action_CXX='`$ECHO "X$hardcode_action_CXX" | $Xsed -e "$delay_single_quote_subst"`' +compiler_lib_search_dirs_CXX='`$ECHO "X$compiler_lib_search_dirs_CXX" | $Xsed -e "$delay_single_quote_subst"`' +predep_objects_CXX='`$ECHO "X$predep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`' +postdep_objects_CXX='`$ECHO "X$postdep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`' +predeps_CXX='`$ECHO "X$predeps_CXX" | $Xsed -e "$delay_single_quote_subst"`' +postdeps_CXX='`$ECHO "X$postdeps_CXX" | $Xsed -e "$delay_single_quote_subst"`' +compiler_lib_search_path_CXX='`$ECHO "X$compiler_lib_search_path_CXX" | $Xsed -e "$delay_single_quote_subst"`' + +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# Quote evaled strings. +for var in SED \ +GREP \ +EGREP \ +FGREP \ +LD \ +NM \ +LN_S \ +lt_SP2NL \ +lt_NL2SP \ +reload_flag \ +deplibs_check_method \ +file_magic_cmd \ +AR \ +AR_FLAGS \ +STRIP \ +RANLIB \ +CC \ +CFLAGS \ +compiler \ +lt_cv_sys_global_symbol_pipe \ +lt_cv_sys_global_symbol_to_cdecl \ +lt_cv_sys_global_symbol_to_c_name_address \ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ +SHELL \ +ECHO \ +lt_prog_compiler_no_builtin_flag \ +lt_prog_compiler_wl \ +lt_prog_compiler_pic \ +lt_prog_compiler_static \ +lt_cv_prog_compiler_c_o \ +need_locks \ +DSYMUTIL \ +NMEDIT \ +LIPO \ +OTOOL \ +OTOOL64 \ +shrext_cmds \ +export_dynamic_flag_spec \ +whole_archive_flag_spec \ +compiler_needs_object \ +with_gnu_ld \ +allow_undefined_flag \ +no_undefined_flag \ +hardcode_libdir_flag_spec \ +hardcode_libdir_flag_spec_ld \ +hardcode_libdir_separator \ +fix_srcfile_path \ +exclude_expsyms \ +include_expsyms \ +file_list_spec \ +variables_saved_for_relink \ +libname_spec \ +library_names_spec \ +soname_spec \ +finish_eval \ +old_striplib \ +striplib \ +compiler_lib_search_dirs \ +predep_objects \ +postdep_objects \ +predeps \ +postdeps \ +compiler_lib_search_path \ +LD_CXX \ +compiler_CXX \ +lt_prog_compiler_no_builtin_flag_CXX \ +lt_prog_compiler_wl_CXX \ +lt_prog_compiler_pic_CXX \ +lt_prog_compiler_static_CXX \ +lt_cv_prog_compiler_c_o_CXX \ +export_dynamic_flag_spec_CXX \ +whole_archive_flag_spec_CXX \ +compiler_needs_object_CXX \ +with_gnu_ld_CXX \ +allow_undefined_flag_CXX \ +no_undefined_flag_CXX \ +hardcode_libdir_flag_spec_CXX \ +hardcode_libdir_flag_spec_ld_CXX \ +hardcode_libdir_separator_CXX \ +fix_srcfile_path_CXX \ +exclude_expsyms_CXX \ +include_expsyms_CXX \ +file_list_spec_CXX \ +compiler_lib_search_dirs_CXX \ +predep_objects_CXX \ +postdep_objects_CXX \ +predeps_CXX \ +postdeps_CXX \ +compiler_lib_search_path_CXX; do + case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in reload_cmds \ +old_postinstall_cmds \ +old_postuninstall_cmds \ +old_archive_cmds \ +extract_expsyms_cmds \ +old_archive_from_new_cmds \ +old_archive_from_expsyms_cmds \ +archive_cmds \ +archive_expsym_cmds \ +module_cmds \ +module_expsym_cmds \ +export_symbols_cmds \ +prelink_cmds \ +postinstall_cmds \ +postuninstall_cmds \ +finish_cmds \ +sys_lib_search_path_spec \ +sys_lib_dlsearch_path_spec \ +old_archive_cmds_CXX \ +old_archive_from_new_cmds_CXX \ +old_archive_from_expsyms_cmds_CXX \ +archive_cmds_CXX \ +archive_expsym_cmds_CXX \ +module_cmds_CXX \ +module_expsym_cmds_CXX \ +export_symbols_cmds_CXX \ +prelink_cmds_CXX; do + case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Fix-up fallback echo if it was mangled by the above quoting rules. +case \$lt_ECHO in +*'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\` + ;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_try_cxxflags_ok=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_try_cxxflags_ok=no +ac_aux_dir='$ac_aux_dir' +xsi_shell='$xsi_shell' +lt_shell_append='$lt_shell_append' + +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CXXFLAGS="$SAVE_CXXFLAGS" - { echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 -echo "${ECHO_T}$ac_cv_try_cxxflags_ok" >&6; } - if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then - OPT_CFLAGS="$TRY_CFLAGS" - else - : - fi - TRY_CFLAGS="$OPT_CFLAGS -frerun-cse-after-loop" - { echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 -echo $ECHO_N "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... $ECHO_C" >&6; } - SAVE_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + + PACKAGE='$PACKAGE' + VERSION='$VERSION' + TIMESTAMP='$TIMESTAMP' + RM='$RM' + ofile='$ofile' + + + + + +# variables for create stdint.h replacement +PACKAGE="$PACKAGE" +VERSION="$VERSION" +ac_stdint_h="$ac_stdint_h" +_ac_stdint_h=`$as_echo "_$PACKAGE-$ac_stdint_h" | $as_tr_cpp` +ac_cv_stdint_message="$ac_cv_stdint_message" +ac_cv_header_stdint_t="$ac_cv_header_stdint_t" +ac_cv_header_stdint_x="$ac_cv_header_stdint_x" +ac_cv_header_stdint_o="$ac_cv_header_stdint_o" +ac_cv_header_stdint_u="$ac_cv_header_stdint_u" +ac_cv_type_uint64_t="$ac_cv_type_uint64_t" +ac_cv_type_u_int64_t="$ac_cv_type_u_int64_t" +ac_cv_char_data_model="$ac_cv_char_data_model" +ac_cv_long_data_model="$ac_cv_long_data_model" +ac_cv_type_int_least32_t="$ac_cv_type_int_least32_t" +ac_cv_type_int_fast32_t="$ac_cv_type_int_fast32_t" +ac_cv_type_intmax_t="$ac_cv_type_intmax_t" + + _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; + "$ac_stdint_h") CONFIG_COMMANDS="$CONFIG_COMMANDS $ac_stdint_h" ;; + "tests/atconfig") CONFIG_COMMANDS="$CONFIG_COMMANDS tests/atconfig" ;; + "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; + "tests/at_wrap") CONFIG_FILES="$CONFIG_FILES tests/at_wrap" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "dirac.pc") CONFIG_FILES="$CONFIG_FILES dirac.pc" ;; + "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; + "libdirac_byteio/Makefile") CONFIG_FILES="$CONFIG_FILES libdirac_byteio/Makefile" ;; + "libdirac_common/Makefile") CONFIG_FILES="$CONFIG_FILES libdirac_common/Makefile" ;; + "libdirac_motionest/Makefile") CONFIG_FILES="$CONFIG_FILES libdirac_motionest/Makefile" ;; + "libdirac_encoder/Makefile") CONFIG_FILES="$CONFIG_FILES libdirac_encoder/Makefile" ;; + "libdirac_decoder/Makefile") CONFIG_FILES="$CONFIG_FILES libdirac_decoder/Makefile" ;; + "encoder/Makefile") CONFIG_FILES="$CONFIG_FILES encoder/Makefile" ;; + "decoder/Makefile") CONFIG_FILES="$CONFIG_FILES decoder/Makefile" ;; + "unit_tests/Makefile") CONFIG_FILES="$CONFIG_FILES unit_tests/Makefile" ;; + "util/Makefile") CONFIG_FILES="$CONFIG_FILES util/Makefile" ;; + "util/conversion/Makefile") CONFIG_FILES="$CONFIG_FILES util/conversion/Makefile" ;; + "util/conversion/common/Makefile") CONFIG_FILES="$CONFIG_FILES util/conversion/common/Makefile" ;; + "util/instrumentation/Makefile") CONFIG_FILES="$CONFIG_FILES util/instrumentation/Makefile" ;; + "util/instrumentation/libdirac_instrument/Makefile") CONFIG_FILES="$CONFIG_FILES util/instrumentation/libdirac_instrument/Makefile" ;; + "win32/Makefile") CONFIG_FILES="$CONFIG_FILES win32/Makefile" ;; + "win32/VisualStudio/Makefile") CONFIG_FILES="$CONFIG_FILES win32/VisualStudio/Makefile" ;; + + *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || { + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. - ; - return 0; +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + $as_echo "$as_me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } } -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_try_cxxflags_ok=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_try_cxxflags_ok=no +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=' ' +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CXXFLAGS="$SAVE_CXXFLAGS" - { echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 -echo "${ECHO_T}$ac_cv_try_cxxflags_ok" >&6; } - if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then - OPT_CFLAGS="$TRY_CFLAGS" - else - : - fi - TRY_CFLAGS="$OPT_CFLAGS -frerun-loop-opt" - { echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 -echo $ECHO_N "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... $ECHO_C" >&6; } - SAVE_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +echo 'BEGIN {' >"$tmp/subs1.awk" && _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () + { + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } +ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\).*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\).*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" - ; - return 0; } +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ + || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5 +$as_echo "$as_me: error: could not setup config files machinery" >&2;} + { (exit 1); exit 1; }; } _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_try_cxxflags_ok=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_try_cxxflags_ok=no +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CXXFLAGS="$SAVE_CXXFLAGS" - { echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 -echo "${ECHO_T}$ac_cv_try_cxxflags_ok" >&6; } - if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then - OPT_CFLAGS="$TRY_CFLAGS" - else - : +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + + +eval set X " :F $CONFIG_FILES :C $CONFIG_COMMANDS" +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 +$as_echo "$as_me: error: invalid tag $ac_tag" >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + ac_file_inputs="$ac_file_inputs '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:$LINENO: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} fi - TRY_CFLAGS="$OPT_CFLAGS -fomit-frame-pointer" - { echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 -echo $ECHO_N "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... $ECHO_C" >&6; } - SAVE_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac -int -main () -{ + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin" \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } ;; + esac + ;; + esac - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_try_cxxflags_ok=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - ac_cv_try_cxxflags_ok=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CXXFLAGS="$SAVE_CXXFLAGS" - { echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 -echo "${ECHO_T}$ac_cv_try_cxxflags_ok" >&6; } - if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then - OPT_CFLAGS="$TRY_CFLAGS" - else - : - fi - TRY_CFLAGS="$OPT_CFLAGS -minline-all-stringops" - { echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 -echo $ECHO_N "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... $ECHO_C" >&6; } - SAVE_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () -{ +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= - ; - return 0; +ac_sed_dataroot=' +/datarootdir/ { + p + q } +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_try_cxxflags_ok=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +_ACEOF - ac_cv_try_cxxflags_ok=no -fi +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out" && rm -f "$tmp/out";; + *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; + esac \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } + ;; -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CXXFLAGS="$SAVE_CXXFLAGS" - { echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 -echo "${ECHO_T}$ac_cv_try_cxxflags_ok" >&6; } - if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then - OPT_CFLAGS="$TRY_CFLAGS" - else - : - fi - TRY_CFLAGS="$OPT_CFLAGS -fschedule-insns2" - { echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 -echo $ECHO_N "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... $ECHO_C" >&6; } - SAVE_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () -{ + :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5 +$as_echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_try_cxxflags_ok=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - ac_cv_try_cxxflags_ok=no -fi + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + "libtool":C) -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CXXFLAGS="$SAVE_CXXFLAGS" - { echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 -echo "${ECHO_T}$ac_cv_try_cxxflags_ok" >&6; } - if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then - OPT_CFLAGS="$TRY_CFLAGS" - else - : + # See if we are running on zsh, and set the options which allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST fi - TRY_CFLAGS="$OPT_CFLAGS -falign-functions=4" - { echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 -echo $ECHO_N "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... $ECHO_C" >&6; } - SAVE_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () -{ + cfgfile="${ofile}T" + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_try_cxxflags_ok=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL - ac_cv_try_cxxflags_ok=no -fi +# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +# 2006, 2007, 2008 Free Software Foundation, Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is part of GNU Libtool. +# +# GNU Libtool 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 of +# the License, or (at your option) any later version. +# +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool 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 GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, or +# obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CXXFLAGS="$SAVE_CXXFLAGS" - { echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 -echo "${ECHO_T}$ac_cv_try_cxxflags_ok" >&6; } - if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then - OPT_CFLAGS="$TRY_CFLAGS" - else - : - fi - TRY_CFLAGS="$OPT_CFLAGS -fforce-addr" - { echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 -echo $ECHO_N "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... $ECHO_C" >&6; } - SAVE_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -main () -{ +# The names of the tagged configurations supported by this script. +available_tags="CXX " + +# ### BEGIN LIBTOOL CONFIG + +# Assembler program. +AS=$AS + +# DLL creation program. +DLLTOOL=$DLLTOOL - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_try_cxxflags_ok=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# Object dumper program. +OBJDUMP=$OBJDUMP - ac_cv_try_cxxflags_ok=no -fi +# Which release of libtool.m4 was used? +macro_version=$macro_version +macro_revision=$macro_revision -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CXXFLAGS="$SAVE_CXXFLAGS" - { echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 -echo "${ECHO_T}$ac_cv_try_cxxflags_ok" >&6; } - if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then - OPT_CFLAGS="$TRY_CFLAGS" - else - : - fi - TRY_CFLAGS="$OPT_CFLAGS -pipe" - { echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 -echo $ECHO_N "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... $ECHO_C" >&6; } - SAVE_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared -int -main () -{ +# Whether or not to build static libraries. +build_old_libs=$enable_static - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_try_cxxflags_ok=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# What type of objects to build. +pic_mode=$pic_mode - ac_cv_try_cxxflags_ok=no -fi +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CXXFLAGS="$SAVE_CXXFLAGS" - { echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 -echo "${ECHO_T}$ac_cv_try_cxxflags_ok" >&6; } - if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then - OPT_CFLAGS="$TRY_CFLAGS" - else - : - fi - ;; - *) - # do nothing at the moment - ;; - esac - CXXFLAGS="$OPT_CFLAGS $CXXFLAGS" +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os -fi +# A sed program that does not truncate output. +SED=$lt_SED -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="\$SED -e 1s/^X//" +# A grep program that handles long lines. +GREP=$lt_GREP -{ echo "$as_me:$LINENO: checking whether optimizations using MMX instructions are enabled" >&5 -echo $ECHO_N "checking whether optimizations using MMX instructions are enabled... $ECHO_C" >&6; } -# Check whether --enable-mmx was given. -if test "${enable_mmx+set}" = set; then - enableval=$enable_mmx; enable_mmx="${enableval}" -else - enable_mmx="yes" -fi +# An ERE matcher. +EGREP=$lt_EGREP +# A literal string matcher. +FGREP=$lt_FGREP -if test x"${enable_mmx}" = x"yes" ; then - case "$CXX" in - g++*) - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +# A BSD- or MS-compatible name lister. +NM=$lt_NM - TRY_CFLAGS="-mmmx" - { echo "$as_me:$LINENO: checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags" >&5 -echo $ECHO_N "checking if $CXX supports $TRY_CFLAGS $CXXFLAGS flags... $ECHO_C" >&6; } - SAVE_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$TRY_CFLAGS $CXXFLAGS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ +# Whether we need soft or hard links. +LN_S=$lt_LN_S - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_try_cxxflags_ok=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# What is the maximum length of a command? +max_cmd_len=$max_cmd_len - ac_cv_try_cxxflags_ok=no -fi +# Object file suffix (normally "o"). +objext=$ac_objext -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CXXFLAGS="$SAVE_CXXFLAGS" - { echo "$as_me:$LINENO: result: $ac_cv_try_cxxflags_ok" >&5 -echo "${ECHO_T}$ac_cv_try_cxxflags_ok" >&6; } - if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then - CXXFLAGS="$CXXFLAGS $TRY_CFLAGS -DHAVE_MMX" - else - : - fi - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu +# Executable file suffix (normally ""). +exeext=$exeext - ;; - icc) - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +# whether the shell understands "unset". +lt_unset=$lt_unset - if test "${ac_cv_header_mmintrin_h+set}" = set; then - { echo "$as_me:$LINENO: checking for mmintrin.h" >&5 -echo $ECHO_N "checking for mmintrin.h... $ECHO_C" >&6; } -if test "${ac_cv_header_mmintrin_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_mmintrin_h" >&5 -echo "${ECHO_T}$ac_cv_header_mmintrin_h" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking mmintrin.h usability" >&5 -echo $ECHO_N "checking mmintrin.h usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# turn spaces into newlines. +SP2NL=$lt_lt_SP2NL + +# turn newlines into spaces. +NL2SP=$lt_lt_NL2SP + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds - ac_header_compiler=no -fi +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +# Command to use when deplibs_check_method == "file_magic". +file_magic_cmd=$lt_file_magic_cmd -# Is the header present? -{ echo "$as_me:$LINENO: checking mmintrin.h presence" >&5 -echo $ECHO_N "checking mmintrin.h presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS - ac_header_preproc=no -fi +# A symbol stripping program. +STRIP=$lt_STRIP -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } +# Commands used to install an old-style archive. +RANLIB=$lt_RANLIB +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: mmintrin.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: mmintrin.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: mmintrin.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: mmintrin.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: mmintrin.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: mmintrin.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: mmintrin.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: mmintrin.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: mmintrin.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: mmintrin.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: mmintrin.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: mmintrin.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: mmintrin.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: mmintrin.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: mmintrin.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: mmintrin.h: in the future, the compiler will take precedence" >&2;} +# A C compiler. +LTCC=$lt_CC - ;; -esac -{ echo "$as_me:$LINENO: checking for mmintrin.h" >&5 -echo $ECHO_N "checking for mmintrin.h... $ECHO_C" >&6; } -if test "${ac_cv_header_mmintrin_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_mmintrin_h=$ac_header_preproc -fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_mmintrin_h" >&5 -echo "${ECHO_T}$ac_cv_header_mmintrin_h" >&6; } +# LTCC compiler flags. +LTCFLAGS=$lt_CFLAGS -fi -if test $ac_cv_header_mmintrin_h = yes; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; }; CXXFLAGS="$CXXFLAGS -DHAVE_MMX=1" -else - { echo "$as_me:$LINENO: result: \"no\"" >&5 -echo "${ECHO_T}\"no\"" >&6; } -fi +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe +# Transform the output of nm in a proper C declaration. +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu +# Transform the output of nm in a C name address pair. +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - ;; - *) - # do nothing - { echo "$as_me:$LINENO: result: \"no\"" >&5 -echo "${ECHO_T}\"no\"" >&6; } - ;; - esac -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi +# Transform the output of nm in a C name address pair when lib prefix is needed. +global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +# The name of the directory that contains temporary libtool files. +objdir=$objdir -if test "${ac_cv_header_cppunit_TestRunner_h+set}" = set; then - { echo "$as_me:$LINENO: checking for cppunit/TestRunner.h" >&5 -echo $ECHO_N "checking for cppunit/TestRunner.h... $ECHO_C" >&6; } -if test "${ac_cv_header_cppunit_TestRunner_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_cppunit_TestRunner_h" >&5 -echo "${ECHO_T}$ac_cv_header_cppunit_TestRunner_h" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking cppunit/TestRunner.h usability" >&5 -echo $ECHO_N "checking cppunit/TestRunner.h usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL - ac_header_compiler=no -fi +# An echo program that does not interpret backslashes. +ECHO=$lt_ECHO -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } +# Used to examine libraries when file_magic_cmd begins with "file". +MAGIC_CMD=$MAGIC_CMD -# Is the header present? -{ echo "$as_me:$LINENO: checking cppunit/TestRunner.h presence" >&5 -echo $ECHO_N "checking cppunit/TestRunner.h presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# Must we lock files when doing compilation? +need_locks=$lt_need_locks - ac_header_preproc=no -fi +# Tool to manipulate archived DWARF debug symbol files on Mac OS X. +DSYMUTIL=$lt_DSYMUTIL -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } +# Tool to change global to local symbols on Mac OS X. +NMEDIT=$lt_NMEDIT -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: cppunit/TestRunner.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: cppunit/TestRunner.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: cppunit/TestRunner.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: cppunit/TestRunner.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: cppunit/TestRunner.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: cppunit/TestRunner.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: cppunit/TestRunner.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: cppunit/TestRunner.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: cppunit/TestRunner.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: cppunit/TestRunner.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: cppunit/TestRunner.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: cppunit/TestRunner.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: cppunit/TestRunner.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: cppunit/TestRunner.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: cppunit/TestRunner.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: cppunit/TestRunner.h: in the future, the compiler will take precedence" >&2;} +# Tool to manipulate fat objects and archives on Mac OS X. +LIPO=$lt_LIPO - ;; -esac -{ echo "$as_me:$LINENO: checking for cppunit/TestRunner.h" >&5 -echo $ECHO_N "checking for cppunit/TestRunner.h... $ECHO_C" >&6; } -if test "${ac_cv_header_cppunit_TestRunner_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_cppunit_TestRunner_h=$ac_header_preproc -fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_cppunit_TestRunner_h" >&5 -echo "${ECHO_T}$ac_cv_header_cppunit_TestRunner_h" >&6; } +# ldd/readelf like tool for Mach-O binaries on Mac OS X. +OTOOL=$lt_OTOOL -fi -if test $ac_cv_header_cppunit_TestRunner_h = yes; then - HAVE_CPPUNIT="true" -else - HAVE_CPPUNIT="false" -fi +# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. +OTOOL64=$lt_OTOOL64 +# Old archive suffix (normally "a"). +libext=$libext - if test $HAVE_CPPUNIT = "true"; then - { echo "$as_me:$LINENO: checking whether unit tests code will compile and link" >&5 -echo $ECHO_N "checking whether unit tests code will compile and link... $ECHO_C" >&6; } - SAVE_LIBS=$LIBS - SAVE_CXXFLAGS=$CXXFLAGS - LIBS="$LIBS -lcppunit -ldl" - case `$LD -v 2>&1 < /dev/null` in - *GNU* | *'with BFD'*) - CXXFLAGS="$CXXFLAGS -Wl,--fatal-warnings" - ;; - esac; - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - #include -int -main () -{ -CPPUNIT_NS::TestResult controller; CPPUNIT_NS::TestRunner runner; - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# Shared library suffix (normally ".so"). +shrext_cmds=$lt_shrext_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at link time. +variables_saved_for_relink=$lt_variables_saved_for_relink + +# Do we need the "lib" prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Library versioning type. +version_type=$version_type + +# Shared library runtime path variable. +runpath_var=$runpath_var + +# Shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec -( exit $ac_status ) -{ echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; }; HAVE_CPPUNIT="false" -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi +# Command to use after installation of a shared archive. +postinstall_cmds=$lt_postinstall_cmds +# Command to use after uninstallation of a shared archive. +postuninstall_cmds=$lt_postuninstall_cmds - LIBS=$SAVE_LIBS - CXXFLAGS=$SAVE_CXXFLAGS - fi +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds +# As "finish_cmds", except a single script fragment to be evaled but +# not shown. +finish_eval=$lt_finish_eval -if $HAVE_CPPUNIT; then - HAVE_CPPUNIT_TRUE= - HAVE_CPPUNIT_FALSE='#' -else - HAVE_CPPUNIT_TRUE='#' - HAVE_CPPUNIT_FALSE= -fi +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu +# Compile-time system search path for libraries. +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec +# Run-time system search path for libraries. +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec +# Whether dlopen is supported. +dlopen_support=$enable_dlopen +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self -if test x"$enable_static" = "xyes"; then - USE_STATIC_TRUE= - USE_STATIC_FALSE='#' -else - USE_STATIC_TRUE='#' - USE_STATIC_FALSE= -fi +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib -for ac_prog in valgrind -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_VALGRIND+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$VALGRIND"; then - ac_cv_prog_VALGRIND="$VALGRIND" # 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_VALGRIND="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS -fi -fi -VALGRIND=$ac_cv_prog_VALGRIND -if test -n "$VALGRIND"; then - { echo "$as_me:$LINENO: result: $VALGRIND" >&5 -echo "${ECHO_T}$VALGRIND" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi +# The linker used to build libraries. +LD=$lt_LD +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds - test -n "$VALGRIND" && break -done +# A language specific compiler. +CC=$lt_compiler -if test x"$VALGRIND" != "x" ; then - if $VALGRIND -q --tool=memcheck true 2>/dev/null; then - VALGRIND="valgrind --tool=memcheck --leak-check=yes" - fi -fi +# Is the compiler the GNU compiler? +with_gcc=$GCC -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl -{ echo "$as_me:$LINENO: checking whether we need to link math lib" >&5 -echo $ECHO_N "checking whether we need to link math lib... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -double lw = std::pow(2.0, 2.0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic - CONFIG_MATH_LIB="-lm";{ echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -fi +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc -ac_config_files="$ac_config_files Makefile dirac.pc util/Makefile util/conversion/Makefile util/conversion/common/Makefile util/instrumentation/Makefile util/instrumentation/libdirac_instrument/Makefile doc/Makefile doc/documentation/Makefile doc/documentation/algorithm/Makefile doc/documentation/algorithm/algorithm/Makefile doc/documentation/algorithm/enhancements/Makefile doc/documentation/algorithm/global_motion/Makefile doc/documentation/algorithm/upconversion/Makefile doc/documentation/code/Makefile doc/documentation/code/api/Makefile doc/documentation/code/programmers_guide/Makefile doc/documentation/tools/Makefile doc/documentation/tools/diagnostics/Makefile libdirac_byteio/Makefile libdirac_common/Makefile libdirac_motionest/Makefile libdirac_encoder/Makefile libdirac_decoder/Makefile encoder/Makefile decoder/Makefile unit_tests/Makefile win32/Makefile win32/VS2003/Makefile win32/VisualStudio/Makefile" +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec -_ACEOF +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - *) $as_unset $ac_var ;; - esac ;; - esac - done +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - test "x$cache_file" != "x/dev/null" && - { echo "$as_me:$LINENO: updating cache $cache_file" >&5 -echo "$as_me: updating cache $cache_file" >&6;} - cat confcache >$cache_file - else - { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 -echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# If ld is used when linking, flag to hardcode \$libdir into a binary +# during linking. This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct + +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \${shlibpath_var} if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds -# Transform confdefs.h into DEFS. -# Protect against shell expansion while executing Makefile rules. -# Protect against Makefile macro expansion. -# -# If the first sed substitution is executed (which looks for macros that -# take arguments), then branch to the quote section. Otherwise, -# look for a macro that doesn't take arguments. -ac_script=' -t clear -:clear -s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g -t quote -s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g -t quote -b any -:quote -s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g -s/\[/\\&/g -s/\]/\\&/g -s/\$/$$/g -H -:any -${ - g - s/^\n// - s/\n/ /g - p -} -' -DEFS=`sed -n "$ac_script" confdefs.h` +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms -ac_libobjs= -ac_ltlibobjs= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds -LTLIBOBJS=$ac_ltlibobjs +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${USE_MSVC_TRUE}" && test -z "${USE_MSVC_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"USE_MSVC\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"USE_MSVC\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${HAVE_DOXYGEN_TRUE}" && test -z "${HAVE_DOXYGEN_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"HAVE_DOXYGEN\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"HAVE_DOXYGEN\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${HAVE_DOT_TRUE}" && test -z "${HAVE_DOT_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"HAVE_DOT\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"HAVE_DOT\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${HAVE_LATEX_TRUE}" && test -z "${HAVE_LATEX_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"HAVE_LATEX\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"HAVE_LATEX\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${HAVE_DVIPDFM_TRUE}" && test -z "${HAVE_DVIPDFM_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"HAVE_DVIPDFM\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"HAVE_DVIPDFM\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${OVERLAY_TRUE}" && test -z "${OVERLAY_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"OVERLAY\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"OVERLAY\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${HAVE_ALGO_TRUE}" && test -z "${HAVE_ALGO_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"HAVE_ALGO\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"HAVE_ALGO\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${HAVE_ENHANCE_TRUE}" && test -z "${HAVE_ENHANCE_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"HAVE_ENHANCE\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"HAVE_ENHANCE\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${HAVE_GM_TRUE}" && test -z "${HAVE_GM_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"HAVE_GM\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"HAVE_GM\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${HAVE_UPCONV_TRUE}" && test -z "${HAVE_UPCONV_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"HAVE_UPCONV\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"HAVE_UPCONV\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${HAVE_PROG_TRUE}" && test -z "${HAVE_PROG_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"HAVE_PROG\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"HAVE_PROG\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${HAVE_DIAG_TRUE}" && test -z "${HAVE_DIAG_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"HAVE_DIAG\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"HAVE_DIAG\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${HAVE_CPPUNIT_TRUE}" && test -z "${HAVE_CPPUNIT_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"HAVE_CPPUNIT\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"HAVE_CPPUNIT\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${USE_STATIC_TRUE}" && test -z "${USE_STATIC_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"USE_STATIC\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"USE_STATIC\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs -: ${CONFIG_STATUS=./config.status} -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 -echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects +postdep_objects=$lt_postdep_objects +predeps=$lt_predeps +postdeps=$lt_postdeps -debug=false -ac_cs_recheck=false -ac_cs_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -_ACEOF +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path -cat >>$CONFIG_STATUS <<\_ACEOF -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## +# ### END LIBTOOL CONFIG -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh +_LT_EOF + ;; + esac -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits +ltmain="$ac_aux_dir/ltmain.sh" -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + case $xsi_shell in + yes) + cat << \_LT_EOF >> "$cfgfile" + +# func_dirname file append nondir_replacement +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +func_dirname () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac +} -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -as_nl=' -' -IFS=" "" $as_nl" +# func_basename file +func_basename () +{ + func_basename_result="${1##*/}" +} -# Find who we are. Look in the path if we contain no directory separator. -case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -done -IFS=$as_save_IFS +# func_dirname_and_basename file append nondir_replacement +# perform func_basename and func_dirname in a single function +# call: +# dirname: Compute the dirname of FILE. If nonempty, +# add APPEND to the result, otherwise set result +# to NONDIR_REPLACEMENT. +# value returned in "$func_dirname_result" +# basename: Compute filename of FILE. +# value retuned in "$func_basename_result" +# Implementation must be kept synchronized with func_dirname +# and func_basename. For efficiency, we do not delegate to +# those functions but instead duplicate the functionality here. +func_dirname_and_basename () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac + func_basename_result="${1##*/}" +} - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } -fi +# func_stripname prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +func_stripname () +{ + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are + # positional parameters, so assign one to ordinary parameter first. + func_stripname_result=${3} + func_stripname_result=${func_stripname_result#"${1}"} + func_stripname_result=${func_stripname_result%"${2}"} +} -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var -done -PS1='$ ' -PS2='> ' -PS4='+ ' +# func_opt_split +func_opt_split () +{ + func_opt_split_opt=${1%%=*} + func_opt_split_arg=${1#*=} +} + +# func_lo2o object +func_lo2o () +{ + case ${1} in + *.lo) func_lo2o_result=${1%.lo}.${objext} ;; + *) func_lo2o_result=${1} ;; + esac +} + +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=${1%.*}.lo +} + +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=$(( $* )) +} -# NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=${#1} +} + +_LT_EOF + ;; + *) # Bourne compatible functions. + cat << \_LT_EOF >> "$cfgfile" + +# func_dirname file append nondir_replacement +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +func_dirname () +{ + # Extract subdirectory from the argument. + func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` + if test "X$func_dirname_result" = "X${1}"; then + func_dirname_result="${3}" else - ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + func_dirname_result="$func_dirname_result${2}" fi -done +} -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi +# func_basename file +func_basename () +{ + func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` +} -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi +# func_stripname prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +# func_strip_suffix prefix name +func_stripname () +{ + case ${2} in + .*) func_stripname_result=`$ECHO "X${3}" \ + | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; + *) func_stripname_result=`$ECHO "X${3}" \ + | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; + esac +} -# Name of the executable. -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` +# sed scripts: +my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q' +my_sed_long_arg='1s/^-[^=]*=//' -# CDPATH. -$as_unset CDPATH +# func_opt_split +func_opt_split () +{ + func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` + func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` +} +# func_lo2o object +func_lo2o () +{ + func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` +} +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'` +} - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=`expr "$@"` +} - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO - # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, and appends - # trailing '-' during substitution so that $LINENO is not a special - # case at line end. - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # scripts with optimization help from Paolo Bonzini. Blame Lee - # E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` +} - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit +_LT_EOF +esac + +case $lt_shell_append in + yes) + cat << \_LT_EOF >> "$cfgfile" + +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "$1+=\$2" } +_LT_EOF + ;; + *) + cat << \_LT_EOF >> "$cfgfile" +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "$1=\$$1\$2" +} -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi +_LT_EOF + ;; + esac -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in --n*) - case `echo 'x\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; - esac;; -*) - ECHO_N='-n';; -esac -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi + sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir -fi -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" -if mkdir -p . 2>/dev/null; then - as_mkdir_p=: -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi -# Find out whether ``test -x'' works. Don't use a zero-byte file, as -# systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - as_executable_p="test -x" -else - as_executable_p=: -fi -rm -f conf$$.file + cat <<_LT_EOF >> "$ofile" -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" +# ### BEGIN LIBTOOL TAG CONFIG: CXX -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" +# The linker used to build libraries. +LD=$lt_LD_CXX +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_CXX -exec 6>&1 +# A language specific compiler. +CC=$lt_compiler_CXX -# Save the log message, to keep $[0] and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by $as_me, which was -generated by GNU Autoconf 2.60. Invocation command line was +# Is the compiler the GNU compiler? +with_gcc=$GCC_CXX - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX -_ACEOF +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX -cat >>$CONFIG_STATUS <<_ACEOF -# Files that config.status was made for. -config_files="$ac_config_files" -config_commands="$ac_config_commands" +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX -_ACEOF +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX -cat >>$CONFIG_STATUS <<\_ACEOF -ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX -Usage: $0 [OPTIONS] [FILE]... +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX - -h, --help print this help, then exit - -V, --version print version number, then exit - -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX -Configuration files: -$config_files +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX -Configuration commands: -$config_commands +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_CXX -Report bugs to ." +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF -ac_cs_version="\\ -config.status -configured by $0, generated by GNU Autoconf 2.60, - with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX -Copyright (C) 2006 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -_ACEOF +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX -cat >>$CONFIG_STATUS <<\_ACEOF -# If no file are specified by the user, then we need to provide default -# value. By we need to know if files were specified by the user. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_CXX - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - echo "$ac_cs_version"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - CONFIG_FILES="$CONFIG_FILES $ac_optarg" - ac_need_defaults=false;; - --he | --h | --help | --hel | -h ) - echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX - # This is an error. - -*) { echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } ;; +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX - *) ac_config_targets="$ac_config_targets $1" - ac_need_defaults=false ;; +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX - esac - shift -done +# If ld is used when linking, flag to hardcode \$libdir into a binary +# during linking. This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX -ac_configure_extra_args= +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_CXX -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF -if \$ac_cs_recheck; then - echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 - CONFIG_SHELL=$SHELL - export CONFIG_SHELL - exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion -fi +# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \${shlibpath_var} if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_CXX -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - echo "$ac_log" -} >&5 +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF -# -# INIT-COMMANDS -# -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX -_ACEOF +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_CXX -cat >>$CONFIG_STATUS <<\_ACEOF +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_CXX -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "tests/atconfig") CONFIG_COMMANDS="$CONFIG_COMMANDS tests/atconfig" ;; - "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; - "tests/at_wrap") CONFIG_FILES="$CONFIG_FILES tests/at_wrap" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "dirac.pc") CONFIG_FILES="$CONFIG_FILES dirac.pc" ;; - "util/Makefile") CONFIG_FILES="$CONFIG_FILES util/Makefile" ;; - "util/conversion/Makefile") CONFIG_FILES="$CONFIG_FILES util/conversion/Makefile" ;; - "util/conversion/common/Makefile") CONFIG_FILES="$CONFIG_FILES util/conversion/common/Makefile" ;; - "util/instrumentation/Makefile") CONFIG_FILES="$CONFIG_FILES util/instrumentation/Makefile" ;; - "util/instrumentation/libdirac_instrument/Makefile") CONFIG_FILES="$CONFIG_FILES util/instrumentation/libdirac_instrument/Makefile" ;; - "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; - "doc/documentation/Makefile") CONFIG_FILES="$CONFIG_FILES doc/documentation/Makefile" ;; - "doc/documentation/algorithm/Makefile") CONFIG_FILES="$CONFIG_FILES doc/documentation/algorithm/Makefile" ;; - "doc/documentation/algorithm/algorithm/Makefile") CONFIG_FILES="$CONFIG_FILES doc/documentation/algorithm/algorithm/Makefile" ;; - "doc/documentation/algorithm/enhancements/Makefile") CONFIG_FILES="$CONFIG_FILES doc/documentation/algorithm/enhancements/Makefile" ;; - "doc/documentation/algorithm/global_motion/Makefile") CONFIG_FILES="$CONFIG_FILES doc/documentation/algorithm/global_motion/Makefile" ;; - "doc/documentation/algorithm/upconversion/Makefile") CONFIG_FILES="$CONFIG_FILES doc/documentation/algorithm/upconversion/Makefile" ;; - "doc/documentation/code/Makefile") CONFIG_FILES="$CONFIG_FILES doc/documentation/code/Makefile" ;; - "doc/documentation/code/api/Makefile") CONFIG_FILES="$CONFIG_FILES doc/documentation/code/api/Makefile" ;; - "doc/documentation/code/programmers_guide/Makefile") CONFIG_FILES="$CONFIG_FILES doc/documentation/code/programmers_guide/Makefile" ;; - "doc/documentation/tools/Makefile") CONFIG_FILES="$CONFIG_FILES doc/documentation/tools/Makefile" ;; - "doc/documentation/tools/diagnostics/Makefile") CONFIG_FILES="$CONFIG_FILES doc/documentation/tools/diagnostics/Makefile" ;; - "libdirac_byteio/Makefile") CONFIG_FILES="$CONFIG_FILES libdirac_byteio/Makefile" ;; - "libdirac_common/Makefile") CONFIG_FILES="$CONFIG_FILES libdirac_common/Makefile" ;; - "libdirac_motionest/Makefile") CONFIG_FILES="$CONFIG_FILES libdirac_motionest/Makefile" ;; - "libdirac_encoder/Makefile") CONFIG_FILES="$CONFIG_FILES libdirac_encoder/Makefile" ;; - "libdirac_decoder/Makefile") CONFIG_FILES="$CONFIG_FILES libdirac_decoder/Makefile" ;; - "encoder/Makefile") CONFIG_FILES="$CONFIG_FILES encoder/Makefile" ;; - "decoder/Makefile") CONFIG_FILES="$CONFIG_FILES decoder/Makefile" ;; - "unit_tests/Makefile") CONFIG_FILES="$CONFIG_FILES unit_tests/Makefile" ;; - "win32/Makefile") CONFIG_FILES="$CONFIG_FILES win32/Makefile" ;; - "win32/VS2003/Makefile") CONFIG_FILES="$CONFIG_FILES win32/VS2003/Makefile" ;; - "win32/VisualStudio/Makefile") CONFIG_FILES="$CONFIG_FILES win32/VisualStudio/Makefile" ;; +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX - *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; - esac -done +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path_CXX +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= - trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status -' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || -{ - echo "$me: cannot create a temporary directory in ." >&2 - { (exit 1); exit 1; } -} +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX -# -# Set up the sed scripts for CONFIG_FILES section. -# +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_CXX -# No need to generate the scripts if there are no CONFIG_FILES. -# This happens for instance when ./config.status config.h -if test -n "$CONFIG_FILES"; then +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_CXX -_ACEOF +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_CXX +postdep_objects=$lt_postdep_objects_CXX +predeps=$lt_predeps_CXX +postdeps=$lt_postdeps_CXX -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - cat >conf$$subs.sed <<_ACEOF -SHELL!$SHELL$ac_delim -PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim -PACKAGE_NAME!$PACKAGE_NAME$ac_delim -PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim -PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim -PACKAGE_STRING!$PACKAGE_STRING$ac_delim -PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim -exec_prefix!$exec_prefix$ac_delim -prefix!$prefix$ac_delim -program_transform_name!$program_transform_name$ac_delim -bindir!$bindir$ac_delim -sbindir!$sbindir$ac_delim -libexecdir!$libexecdir$ac_delim -datarootdir!$datarootdir$ac_delim -datadir!$datadir$ac_delim -sysconfdir!$sysconfdir$ac_delim -sharedstatedir!$sharedstatedir$ac_delim -localstatedir!$localstatedir$ac_delim -includedir!$includedir$ac_delim -oldincludedir!$oldincludedir$ac_delim -docdir!$docdir$ac_delim -infodir!$infodir$ac_delim -htmldir!$htmldir$ac_delim -dvidir!$dvidir$ac_delim -pdfdir!$pdfdir$ac_delim -psdir!$psdir$ac_delim -libdir!$libdir$ac_delim -localedir!$localedir$ac_delim -mandir!$mandir$ac_delim -DEFS!$DEFS$ac_delim -ECHO_C!$ECHO_C$ac_delim -ECHO_N!$ECHO_N$ac_delim -ECHO_T!$ECHO_T$ac_delim -LIBS!$LIBS$ac_delim -build_alias!$build_alias$ac_delim -host_alias!$host_alias$ac_delim -target_alias!$target_alias$ac_delim -GENERIC_LIBRARY_VERSION!$GENERIC_LIBRARY_VERSION$ac_delim -GENERIC_LIBRARY_NAME!$GENERIC_LIBRARY_NAME$ac_delim -GENERIC_RELEASE!$GENERIC_RELEASE$ac_delim -GENERIC_VERSION!$GENERIC_VERSION$ac_delim -INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim -INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim -INSTALL_DATA!$INSTALL_DATA$ac_delim -CYGPATH_W!$CYGPATH_W$ac_delim -PACKAGE!$PACKAGE$ac_delim -VERSION!$VERSION$ac_delim -ACLOCAL!$ACLOCAL$ac_delim -AUTOCONF!$AUTOCONF$ac_delim -AUTOMAKE!$AUTOMAKE$ac_delim -AUTOHEADER!$AUTOHEADER$ac_delim -MAKEINFO!$MAKEINFO$ac_delim -install_sh!$install_sh$ac_delim -STRIP!$STRIP$ac_delim -INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim -mkdir_p!$mkdir_p$ac_delim -AWK!$AWK$ac_delim -SET_MAKE!$SET_MAKE$ac_delim -am__leading_dot!$am__leading_dot$ac_delim -AMTAR!$AMTAR$ac_delim -am__tar!$am__tar$ac_delim -am__untar!$am__untar$ac_delim -CXX!$CXX$ac_delim -CXXFLAGS!$CXXFLAGS$ac_delim -LDFLAGS!$LDFLAGS$ac_delim -CPPFLAGS!$CPPFLAGS$ac_delim -ac_ct_CXX!$ac_ct_CXX$ac_delim -EXEEXT!$EXEEXT$ac_delim -OBJEXT!$OBJEXT$ac_delim -DEPDIR!$DEPDIR$ac_delim -am__include!$am__include$ac_delim -am__quote!$am__quote$ac_delim -AMDEP_TRUE!$AMDEP_TRUE$ac_delim -AMDEP_FALSE!$AMDEP_FALSE$ac_delim -AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim -CXXDEPMODE!$CXXDEPMODE$ac_delim -am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim -am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim -build!$build$ac_delim -build_cpu!$build_cpu$ac_delim -build_vendor!$build_vendor$ac_delim -build_os!$build_os$ac_delim -host!$host$ac_delim -host_cpu!$host_cpu$ac_delim -host_vendor!$host_vendor$ac_delim -host_os!$host_os$ac_delim -CC!$CC$ac_delim -CFLAGS!$CFLAGS$ac_delim -ac_ct_CC!$ac_ct_CC$ac_delim -CCDEPMODE!$CCDEPMODE$ac_delim -am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim -am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim -GREP!$GREP$ac_delim -EGREP!$EGREP$ac_delim -LN_S!$LN_S$ac_delim -ECHO!$ECHO$ac_delim -AR!$AR$ac_delim -_ACEOF +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then - break - elif $ac_last_try; then - { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done +# ### END LIBTOOL TAG CONFIG: CXX +_LT_EOF + + ;; + "$ac_stdint_h":C) +{ $as_echo "$as_me:$LINENO: creating $ac_stdint_h : $_ac_stdint_h" >&5 +$as_echo "$as_me: creating $ac_stdint_h : $_ac_stdint_h" >&6;} +ac_stdint=$tmp/_stdint.h + +echo "#ifndef" $_ac_stdint_h >$ac_stdint +echo "#define" $_ac_stdint_h "1" >>$ac_stdint +echo "#ifndef" _GENERATED_STDINT_H >>$ac_stdint +echo "#define" _GENERATED_STDINT_H '"'$PACKAGE $VERSION'"' >>$ac_stdint +echo "/* generated $ac_cv_stdint_message */" >>$ac_stdint +if test "_$ac_cv_header_stdint_t" != "_" ; then +echo "#define _STDINT_HAVE_STDINT_H" "1" >>$ac_stdint +echo "#include " >>$ac_stdint +echo "#endif" >>$ac_stdint +echo "#endif" >>$ac_stdint +else + +cat >>$ac_stdint < +#else +#include + +/* .................... configured part ............................ */ -ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` -if test -n "$ac_eof"; then - ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` - ac_eof=`expr $ac_eof + 1` +STDINT_EOF + +echo "/* whether we have a C99 compatible stdint header file */" >>$ac_stdint +if test "_$ac_cv_header_stdint_x" != "_" ; then + ac_header="$ac_cv_header_stdint_x" + echo "#define _STDINT_HEADER_INTPTR" '"'"$ac_header"'"' >>$ac_stdint +else + echo "/* #undef _STDINT_HEADER_INTPTR */" >>$ac_stdint fi -cat >>$CONFIG_STATUS <<_ACEOF -cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -_ACEOF -sed ' -s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g -s/^/s,@/; s/!/@,|#_!!_#|/ -:n -t n -s/'"$ac_delim"'$/,g/; t -s/$/\\/; p -N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n -' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF -CEOF$ac_eof -_ACEOF +echo "/* whether we have a C96 compatible inttypes header file */" >>$ac_stdint +if test "_$ac_cv_header_stdint_o" != "_" ; then + ac_header="$ac_cv_header_stdint_o" + echo "#define _STDINT_HEADER_UINT32" '"'"$ac_header"'"' >>$ac_stdint +else + echo "/* #undef _STDINT_HEADER_UINT32 */" >>$ac_stdint +fi +echo "/* whether we have a BSD compatible inet types header */" >>$ac_stdint +if test "_$ac_cv_header_stdint_u" != "_" ; then + ac_header="$ac_cv_header_stdint_u" + echo "#define _STDINT_HEADER_U_INT32" '"'"$ac_header"'"' >>$ac_stdint +else + echo "/* #undef _STDINT_HEADER_U_INT32 */" >>$ac_stdint +fi -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - cat >conf$$subs.sed <<_ACEOF -RANLIB!$RANLIB$ac_delim -DLLTOOL!$DLLTOOL$ac_delim -AS!$AS$ac_delim -OBJDUMP!$OBJDUMP$ac_delim -CPP!$CPP$ac_delim -CXXCPP!$CXXCPP$ac_delim -F77!$F77$ac_delim -FFLAGS!$FFLAGS$ac_delim -ac_ct_F77!$ac_ct_F77$ac_delim -LIBTOOL!$LIBTOOL$ac_delim -LIBFLAGS!$LIBFLAGS$ac_delim -LIBEXT!$LIBEXT$ac_delim -USE_MSVC_TRUE!$USE_MSVC_TRUE$ac_delim -USE_MSVC_FALSE!$USE_MSVC_FALSE$ac_delim -HAVE_DOXYGEN!$HAVE_DOXYGEN$ac_delim -HAVE_DOXYGEN_TRUE!$HAVE_DOXYGEN_TRUE$ac_delim -HAVE_DOXYGEN_FALSE!$HAVE_DOXYGEN_FALSE$ac_delim -HAVE_DOT!$HAVE_DOT$ac_delim -HAVE_DOT_TRUE!$HAVE_DOT_TRUE$ac_delim -HAVE_DOT_FALSE!$HAVE_DOT_FALSE$ac_delim -HAVE_LATEX!$HAVE_LATEX$ac_delim -HAVE_LATEX_TRUE!$HAVE_LATEX_TRUE$ac_delim -HAVE_LATEX_FALSE!$HAVE_LATEX_FALSE$ac_delim -HAVE_DVIPDFM!$HAVE_DVIPDFM$ac_delim -HAVE_DVIPDFM_TRUE!$HAVE_DVIPDFM_TRUE$ac_delim -HAVE_DVIPDFM_FALSE!$HAVE_DVIPDFM_FALSE$ac_delim -OVERLAY_TRUE!$OVERLAY_TRUE$ac_delim -OVERLAY_FALSE!$OVERLAY_FALSE$ac_delim -HAVE_ALGO_TRUE!$HAVE_ALGO_TRUE$ac_delim -HAVE_ALGO_FALSE!$HAVE_ALGO_FALSE$ac_delim -HAVE_ENHANCE_TRUE!$HAVE_ENHANCE_TRUE$ac_delim -HAVE_ENHANCE_FALSE!$HAVE_ENHANCE_FALSE$ac_delim -HAVE_GM_TRUE!$HAVE_GM_TRUE$ac_delim -HAVE_GM_FALSE!$HAVE_GM_FALSE$ac_delim -HAVE_UPCONV_TRUE!$HAVE_UPCONV_TRUE$ac_delim -HAVE_UPCONV_FALSE!$HAVE_UPCONV_FALSE$ac_delim -HAVE_PROG_TRUE!$HAVE_PROG_TRUE$ac_delim -HAVE_PROG_FALSE!$HAVE_PROG_FALSE$ac_delim -HAVE_DIAG_TRUE!$HAVE_DIAG_TRUE$ac_delim -HAVE_DIAG_FALSE!$HAVE_DIAG_FALSE$ac_delim -AUTOM4TE!$AUTOM4TE$ac_delim -HAVE_CPPUNIT_TRUE!$HAVE_CPPUNIT_TRUE$ac_delim -HAVE_CPPUNIT_FALSE!$HAVE_CPPUNIT_FALSE$ac_delim -USE_STATIC_TRUE!$USE_STATIC_TRUE$ac_delim -USE_STATIC_FALSE!$USE_STATIC_FALSE$ac_delim -VALGRIND!$VALGRIND$ac_delim -CONFIG_MATH_LIB!$CONFIG_MATH_LIB$ac_delim -LIBOBJS!$LIBOBJS$ac_delim -LTLIBOBJS!$LTLIBOBJS$ac_delim -_ACEOF +echo "" >>$ac_stdint - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 49; then - break - elif $ac_last_try; then - { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done +if test "_$ac_header" != "_" ; then if test "$ac_header" != "stddef.h" ; then + echo "#include <$ac_header>" >>$ac_stdint + echo "" >>$ac_stdint +fi fi -ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` -if test -n "$ac_eof"; then - ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` - ac_eof=`expr $ac_eof + 1` -fi - -cat >>$CONFIG_STATUS <<_ACEOF -cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end -_ACEOF -sed ' -s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g -s/^/s,@/; s/!/@,|#_!!_#|/ -:n -t n -s/'"$ac_delim"'$/,g/; t -s/$/\\/; p -N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n -' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF -:end -s/|#_!!_#|//g -CEOF$ac_eof -_ACEOF +echo "/* which 64bit typedef has been found */" >>$ac_stdint +if test "$ac_cv_type_uint64_t" = "yes" ; then +echo "#define _STDINT_HAVE_UINT64_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_UINT64_T */" >>$ac_stdint +fi +if test "$ac_cv_type_u_int64_t" = "yes" ; then +echo "#define _STDINT_HAVE_U_INT64_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_U_INT64_T */" >>$ac_stdint +fi +echo "" >>$ac_stdint +echo "/* which type model has been detected */" >>$ac_stdint +if test "_$ac_cv_char_data_model" != "_" ; then +echo "#define _STDINT_CHAR_MODEL" "$ac_cv_char_data_model" >>$ac_stdint +echo "#define _STDINT_LONG_MODEL" "$ac_cv_long_data_model" >>$ac_stdint +else +echo "/* #undef _STDINT_CHAR_MODEL // skipped */" >>$ac_stdint +echo "/* #undef _STDINT_LONG_MODEL // skipped */" >>$ac_stdint +fi +echo "" >>$ac_stdint -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/ -s/:*\${srcdir}:*/:/ -s/:*@srcdir@:*/:/ -s/^\([^=]*=[ ]*\):*/\1/ -s/:*$// -s/^[^=]*=[ ]*$// -}' +echo "/* whether int_least types were detected */" >>$ac_stdint +if test "$ac_cv_type_int_least32_t" = "yes"; then +echo "#define _STDINT_HAVE_INT_LEAST32_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_INT_LEAST32_T */" >>$ac_stdint +fi +echo "/* whether int_fast types were detected */" >>$ac_stdint +if test "$ac_cv_type_int_fast32_t" = "yes"; then +echo "#define _STDINT_HAVE_INT_FAST32_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_INT_FAST32_T */" >>$ac_stdint fi +echo "/* whether intmax_t type was detected */" >>$ac_stdint +if test "$ac_cv_type_intmax_t" = "yes"; then +echo "#define _STDINT_HAVE_INTMAX_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_INTMAX_T */" >>$ac_stdint +fi +echo "" >>$ac_stdint -cat >>$CONFIG_STATUS <<\_ACEOF -fi # test -n "$CONFIG_FILES" + cat >>$ac_stdint <&5 -echo "$as_me: error: Invalid tag $ac_tag." >&2;} - { (exit 1); exit 1; }; };; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift +#ifdef _STDINT_CHAR_MODEL +#if _STDINT_CHAR_MODEL+0 == 122 || _STDINT_CHAR_MODEL+0 == 124 +#ifndef _STDINT_BYTE_MODEL +#define _STDINT_BYTE_MODEL 12 +#endif +#endif +#endif - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 -echo "$as_me: error: cannot find input file: $ac_f" >&2;} - { (exit 1); exit 1; }; };; - esac - ac_file_inputs="$ac_file_inputs $ac_f" - done +#ifndef _STDINT_HAVE_INT_LEAST32_T +#define _STDINT_NEED_INT_LEAST_T +#endif - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input="Generated from "`IFS=: - echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { echo "$as_me:$LINENO: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - fi +#ifndef _STDINT_HAVE_INT_FAST32_T +#define _STDINT_NEED_INT_FAST_T +#endif - case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin";; - esac - ;; - esac +#ifndef _STDINT_HEADER_INTPTR +#define _STDINT_NEED_INTPTR_T +#ifndef _STDINT_HAVE_INTMAX_T +#define _STDINT_NEED_INTMAX_T +#endif +#endif + + +/* .................... definition part ............................ */ + +/* some system headers have good uint64_t */ +#ifndef _HAVE_UINT64_T +#if defined _STDINT_HAVE_UINT64_T || defined HAVE_UINT64_T +#define _HAVE_UINT64_T +#elif defined _STDINT_HAVE_U_INT64_T || defined HAVE_U_INT64_T +#define _HAVE_UINT64_T +typedef u_int64_t uint64_t; +#endif +#endif + +#ifndef _HAVE_UINT64_T +/* .. here are some common heuristics using compiler runtime specifics */ +#if defined __STDC_VERSION__ && defined __STDC_VERSION__ >= 199901L +#define _HAVE_UINT64_T +#define _HAVE_LONGLONG_UINT64_T +typedef long long int64_t; +typedef unsigned long long uint64_t; + +#elif !defined __STRICT_ANSI__ +#if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__ +#define _HAVE_UINT64_T +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; + +#elif defined __GNUC__ || defined __MWERKS__ || defined __ELF__ +/* note: all ELF-systems seem to have loff-support which needs 64-bit */ +#if !defined _NO_LONGLONG +#define _HAVE_UINT64_T +#define _HAVE_LONGLONG_UINT64_T +typedef long long int64_t; +typedef unsigned long long uint64_t; +#endif - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - { as_dir="$ac_dir" - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } - ac_builddir=. +#elif defined __alpha || (defined __mips && defined _ABIN32) +#if !defined _NO_LONGLONG +typedef long int64_t; +typedef unsigned long uint64_t; +#endif + /* compiler/cpu type to define int64_t */ +#endif +#endif +#endif -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix +#if defined _STDINT_HAVE_U_INT_TYPES +/* int8_t int16_t int32_t defined by inet code, redeclare the u_intXX types */ +typedef u_int8_t uint8_t; +typedef u_int16_t uint16_t; +typedef u_int32_t uint32_t; + +/* glibc compatibility */ +#ifndef __int8_t_defined +#define __int8_t_defined +#endif +#endif -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix +#ifdef _STDINT_NEED_INT_MODEL_T +/* we must guess all the basic types. Apart from byte-adressable system, */ +/* there a few 32-bit-only dsp-systems that we guard with BYTE_MODEL 8-} */ +/* (btw, those nibble-addressable systems are way off, or so we assume) */ + + +#if defined _STDINT_BYTE_MODEL +#if _STDINT_LONG_MODEL+0 == 242 +/* 2:4:2 = IP16 = a normal 16-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned long uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef long int32_t; +#endif +#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL == 444 +/* 2:4:4 = LP32 = a 32-bit system derived from a 16-bit */ +/* 4:4:4 = ILP32 = a normal 32-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +#endif +#elif _STDINT_LONG_MODEL+0 == 484 || _STDINT_LONG_MODEL+0 == 488 +/* 4:8:4 = IP32 = a 32-bit system prepared for 64-bit */ +/* 4:8:8 = LP64 = a normal 64-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +#endif +/* this system has a "long" of 64bit */ +#ifndef _HAVE_UINT64_T +#define _HAVE_UINT64_T +typedef unsigned long uint64_t; +typedef long int64_t; +#endif +#elif _STDINT_LONG_MODEL+0 == 448 +/* LLP64 a 64-bit system derived from a 32-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +#endif +/* assuming the system has a "long long" */ +#ifndef _HAVE_UINT64_T +#define _HAVE_UINT64_T +#define _HAVE_LONGLONG_UINT64_T +typedef unsigned long long uint64_t; +typedef long long int64_t; +#endif +#else +#define _STDINT_NO_INT32_T +#endif +#else +#define _STDINT_NO_INT8_T +#define _STDINT_NO_INT32_T +#endif +#endif +/* + * quote from SunOS-5.8 sys/inttypes.h: + * Use at your own risk. As of February 1996, the committee is squarely + * behind the fixed sized types; the "least" and "fast" types are still being + * discussed. The probability that the "fast" types may be removed before + * the standard is finalized is high enough that they are not currently + * implemented. + */ + +#if defined _STDINT_NEED_INT_LEAST_T +typedef int8_t int_least8_t; +typedef int16_t int_least16_t; +typedef int32_t int_least32_t; +#ifdef _HAVE_UINT64_T +typedef int64_t int_least64_t; +#endif - case $ac_mode in - :F) - # - # CONFIG_FILE - # +typedef uint8_t uint_least8_t; +typedef uint16_t uint_least16_t; +typedef uint32_t uint_least32_t; +#ifdef _HAVE_UINT64_T +typedef uint64_t uint_least64_t; +#endif + /* least types */ +#endif - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac -_ACEOF +#if defined _STDINT_NEED_INT_FAST_T +typedef int8_t int_fast8_t; +typedef int int_fast16_t; +typedef int32_t int_fast32_t; +#ifdef _HAVE_UINT64_T +typedef int64_t int_fast64_t; +#endif -cat >>$CONFIG_STATUS <<\_ACEOF -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= +typedef uint8_t uint_fast8_t; +typedef unsigned uint_fast16_t; +typedef uint32_t uint_fast32_t; +#ifdef _HAVE_UINT64_T +typedef uint64_t uint_fast64_t; +#endif + /* fast types */ +#endif -case `sed -n '/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p -' $ac_file_inputs` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF +#ifdef _STDINT_NEED_INTMAX_T +#ifdef _HAVE_UINT64_T +typedef int64_t intmax_t; +typedef uint64_t uintmax_t; +#else +typedef long intmax_t; +typedef unsigned long uintmax_t; +#endif +#endif -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF - sed "$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s&@configure_input@&$configure_input&;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -$ac_datarootdir_hack -" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out +#ifdef _STDINT_NEED_INTPTR_T +#ifndef __intptr_t_defined +#define __intptr_t_defined +/* we encourage using "long" to store pointer values, never use "int" ! */ +#if _STDINT_LONG_MODEL+0 == 242 || _STDINT_LONG_MODEL+0 == 484 +typedef unsigned int uintptr_t; +typedef int intptr_t; +#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL+0 == 444 +typedef unsigned long uintptr_t; +typedef long intptr_t; +#elif _STDINT_LONG_MODEL+0 == 448 && defined _HAVE_UINT64_T +typedef uint64_t uintptr_t; +typedef int64_t intptr_t; +#else /* matches typical system types ILP32 and LP64 - but not IP16 or LLP64 */ +typedef unsigned long uintptr_t; +typedef long intptr_t; +#endif +#endif +#endif -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && - { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 -echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&2;} +/* The ISO C99 standard specifies that in C++ implementations these + should only be defined if explicitly requested. */ +#if !defined __cplusplus || defined __STDC_CONSTANT_MACROS +#ifndef UINT32_C + +/* Signed. */ +# define INT8_C(c) c +# define INT16_C(c) c +# define INT32_C(c) c +# ifdef _HAVE_LONGLONG_UINT64_T +# define INT64_C(c) c ## L +# else +# define INT64_C(c) c ## LL +# endif - rm -f "$tmp/stdin" - case $ac_file in - -) cat "$tmp/out"; rm -f "$tmp/out";; - *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; - esac - ;; +/* Unsigned. */ +# define UINT8_C(c) c ## U +# define UINT16_C(c) c ## U +# define UINT32_C(c) c ## U +# ifdef _HAVE_LONGLONG_UINT64_T +# define UINT64_C(c) c ## UL +# else +# define UINT64_C(c) c ## ULL +# endif +/* Maximal type. */ +# ifdef _HAVE_LONGLONG_UINT64_T +# define INTMAX_C(c) c ## L +# define UINTMAX_C(c) c ## UL +# else +# define INTMAX_C(c) c ## LL +# define UINTMAX_C(c) c ## ULL +# endif - :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 -echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac + /* literalnumbers */ +#endif +#endif +/* These limits are merily those of a two complement byte-oriented system */ - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # So let's grep whole file. - if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -echo X"$mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -echo X"$file" | +/* Minimum of signed integral types. */ +# define INT8_MIN (-128) +# define INT16_MIN (-32767-1) +# define INT32_MIN (-2147483647-1) +# define INT64_MIN (-__INT64_C(9223372036854775807)-1) +/* Maximum of signed integral types. */ +# define INT8_MAX (127) +# define INT16_MAX (32767) +# define INT32_MAX (2147483647) +# define INT64_MAX (__INT64_C(9223372036854775807)) + +/* Maximum of unsigned integral types. */ +# define UINT8_MAX (255) +# define UINT16_MAX (65535) +# define UINT32_MAX (4294967295U) +# define UINT64_MAX (__UINT64_C(18446744073709551615)) + +/* Minimum of signed integral types having a minimum size. */ +# define INT_LEAST8_MIN INT8_MIN +# define INT_LEAST16_MIN INT16_MIN +# define INT_LEAST32_MIN INT32_MIN +# define INT_LEAST64_MIN INT64_MIN +/* Maximum of signed integral types having a minimum size. */ +# define INT_LEAST8_MAX INT8_MAX +# define INT_LEAST16_MAX INT16_MAX +# define INT_LEAST32_MAX INT32_MAX +# define INT_LEAST64_MAX INT64_MAX + +/* Maximum of unsigned integral types having a minimum size. */ +# define UINT_LEAST8_MAX UINT8_MAX +# define UINT_LEAST16_MAX UINT16_MAX +# define UINT_LEAST32_MAX UINT32_MAX +# define UINT_LEAST64_MAX UINT64_MAX + + /* shortcircuit*/ +#endif + /* once */ +#endif +#endif +STDINT_EOF +fi + if cmp -s $ac_stdint_h $ac_stdint 2>/dev/null; then + { $as_echo "$as_me:$LINENO: $ac_stdint_h is unchanged" >&5 +$as_echo "$as_me: $ac_stdint_h is unchanged" >&6;} + else + ac_dir=`$as_dirname -- "$ac_stdint_h" || +$as_expr X"$ac_stdint_h" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_stdint_h" : 'X\(//\)[^/]' \| \ + X"$ac_stdint_h" : 'X\(//\)$' \| \ + X"$ac_stdint_h" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_stdint_h" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -25158,7 +24495,7 @@ q } s/.*/./; q'` - { as_dir=$dirpart/$fdir + { as_dir="$ac_dir" case $as_dir in #( -*) as_dir=./$as_dir;; esac @@ -25166,7 +24503,7 @@ as_dirs= while :; do case $as_dir in #( - *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" @@ -25175,7 +24512,7 @@ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -echo X"$as_dir" | +$as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -25196,13 +24533,12 @@ test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -echo "$as_me: error: cannot create directory $as_dir" >&2;} + } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done -done + rm -f $ac_stdint_h + mv $ac_stdint $ac_stdint_h + fi ;; "tests/atconfig":C) cat >tests/atconfig <&5 +$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. @@ -25259,4 +24600,8 @@ # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/configure.ac /tmp/1tgnNoYBLI/dirac-1.0.2/configure.ac --- dirac-0.9.1/configure.ac 2008-01-26 11:42:31.000000000 +0000 +++ dirac-1.0.2/configure.ac 2009-02-10 00:16:37.000000000 +0000 @@ -1,4 +1,3 @@ - dnl -------------------------------- dnl Initialization macros. dnl -------------------------------- @@ -12,12 +11,12 @@ GENERIC_LIBRARY_NAME=dirac #release versioning -GENERIC_MAJOR_VERSION=0 -GENERIC_MINOR_VERSION=9 -GENERIC_MICRO_VERSION=1 +GENERIC_MAJOR_VERSION=1 +GENERIC_MINOR_VERSION=0 +GENERIC_MICRO_VERSION=2 #shared library versioning -GENERIC_LIBRARY_VERSION=0:0:0 +GENERIC_LIBRARY_VERSION=1:0:1 # | | | # +------+ | +---+ # | | | @@ -57,6 +56,11 @@ AC_LIBTOOL_WIN32_DLL AM_PROG_LIBTOOL AC_SYS_LARGEFILE + +ACLOCAL_AMFLAGS="-I m4 $ACLOCAL_AMFLAGS" +AC_SUBST(ACLOCAL_AMFLAGS) + + dnl ------------------------------------------------------------------------- dnl Check if compiling using MS VC++ compiler in msys environment on Windows dnl ------------------------------------------------------------------------- @@ -98,6 +102,8 @@ dnl ** We probably need this line, but not now dnl AC_CHECK_HEADERS(stdint.h unistd.h fcntl.h) +AX_CREATE_STDINT_H([libdirac_common/dirac-stdint.h]) + dnl ----------------------------------------------- dnl Checks for libraries. dnl ----------------------------------------------- @@ -139,54 +145,6 @@ AM_CONDITIONAL(OVERLAY, test x$overlay = xtrue) dnl ----------------------------------------------- -dnl Checks for optional files in doc directory. -dnl algorithm documentation is not distributed in -dnl the release. It is available only from CVS -dnl ----------------------------------------------- -AC_CHECK_FILE($srcdir/doc/documentation/algorithm/algorithm/index.htm,[HAVE_ALGO="true"], [HAVE_ALGO="false"]) -AM_CONDITIONAL(HAVE_ALGO, $HAVE_ALGO) - -dnl ----------------------------------------------- -dnl Checks for optional files in doc directory. -dnl Enhancements is not distributed in -dnl the release. It is available only from CVS -dnl ----------------------------------------------- -AC_CHECK_FILE($srcdir/doc/documentation/algorithm/enhancements/index.htm,[HAVE_ENHANCE="true"], [HAVE_ENHANCE="false"]) -AM_CONDITIONAL(HAVE_ENHANCE, $HAVE_ENHANCE) - -dnl ----------------------------------------------- -dnl Checks for optional files in doc directory. -dnl Global Motion documentation is not distributed in -dnl the release. It is available only from CVS -dnl ----------------------------------------------- -AC_CHECK_FILE($srcdir/doc/documentation/algorithm/global_motion/index.htm,[HAVE_GM="true"], [HAVE_GM="false"]) -AM_CONDITIONAL(HAVE_GM, $HAVE_GM) - -dnl ----------------------------------------------- -dnl Checks for optional files in doc directory. -dnl Upconversion doc is not distributed in -dnl the release. It is available only from CVS -dnl ----------------------------------------------- -AC_CHECK_FILE($srcdir/doc/documentation/algorithm/upconversion/index.htm,[HAVE_UPCONV="true"], [HAVE_UPCONV="false"]) -AM_CONDITIONAL(HAVE_UPCONV, $HAVE_UPCONV) - -dnl ----------------------------------------------- -dnl Checks for optional files in doc directory. -dnl programmer's guide is not distributed in -dnl the release. It is available only from CVS -dnl ----------------------------------------------- -AC_CHECK_FILE($srcdir/doc/documentation/code/programmers_guide/index.htm,[HAVE_PROG="true"], [HAVE_PROG="false"]) -AM_CONDITIONAL(HAVE_PROG, $HAVE_PROG) - -dnl ----------------------------------------------- -dnl Checks for optional files in doc directory. -dnl Diagnostics tools docs are is not distributed in -dnl the release. It is available only from CVS -dnl ----------------------------------------------- -AC_CHECK_FILE($srcdir/doc/documentation/tools/diagnostics/index.htm,[HAVE_DIAG="true"], [HAVE_DIAG="false"]) -AM_CONDITIONAL(HAVE_DIAG, $HAVE_DIAG) - -dnl ----------------------------------------------- dnl Setup for the testsuite dnl ----------------------------------------------- AC_CONFIG_TESTDIR([tests], [tests:encoder:decoder:unit_tests:util/instrumentation]) @@ -386,7 +344,8 @@ CXXFLAGS="$CXXFLAGS -Wl,--fatal-warnings" ;; esac; - AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include + AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include + #include #include ]], [[CPPUNIT_NS::TestResult controller; CPPUNIT_NS::TestRunner runner;]])],[AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no); HAVE_CPPUNIT="false"]) LIBS=$SAVE_LIBS CXXFLAGS=$SAVE_CXXFLAGS @@ -425,23 +384,7 @@ dnl ----------------------------------------------- AC_OUTPUT(Makefile dirac.pc \ - util/Makefile \ - util/conversion/Makefile \ - util/conversion/common/Makefile \ - util/instrumentation/Makefile \ - util/instrumentation/libdirac_instrument/Makefile \ doc/Makefile \ - doc/documentation/Makefile \ - doc/documentation/algorithm/Makefile \ - doc/documentation/algorithm/algorithm/Makefile \ - doc/documentation/algorithm/enhancements/Makefile \ - doc/documentation/algorithm/global_motion/Makefile \ - doc/documentation/algorithm/upconversion/Makefile \ - doc/documentation/code/Makefile \ - doc/documentation/code/api/Makefile \ - doc/documentation/code/programmers_guide/Makefile \ - doc/documentation/tools/Makefile \ - doc/documentation/tools/diagnostics/Makefile \ libdirac_byteio/Makefile \ libdirac_common/Makefile \ libdirac_motionest/Makefile \ @@ -450,6 +393,10 @@ encoder/Makefile \ decoder/Makefile \ unit_tests/Makefile \ + util/Makefile \ + util/conversion/Makefile \ + util/conversion/common/Makefile \ + util/instrumentation/Makefile \ + util/instrumentation/libdirac_instrument/Makefile \ win32/Makefile \ - win32/VS2003/Makefile \ win32/VisualStudio/Makefile ) diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/debian/BMPtoRGB.1 /tmp/1tgnNoYBLI/dirac-1.0.2/debian/BMPtoRGB.1 --- dirac-0.9.1/debian/BMPtoRGB.1 2009-04-21 11:24:17.000000000 +0100 +++ dirac-1.0.2/debian/BMPtoRGB.1 2009-04-21 11:24:18.000000000 +0100 @@ -24,6 +24,18 @@ YUV422toRGB \- converts YUV422 to UYVY from stdin to stdout .br YUV444toRGB \- converts YUV444 to UYVY from stdin to stdout +.br +YUV420Down2x2 \- filters YUV420 frames to a single output file with half dimensions and subsampling +.br +YUV420pt75filter \- filters YUV420 frames down to .75 +.br +YUV420toYUV422 \- converts YUV420 to YUV422 from stdin to stdout +.br +YUV422toUYVY \- converts YUV422 to UYVY from stdin to stdout +.br +YUV422toYUV420 \- converts YUV422 to YUV420 from stdin to stdout +.br +UYVYtoYUV422 \- converts UYVY to YUV422 from stdin to stdout .SH DESCRIPTION Converts from one to another pixel format. Look at the output of \fIprogname\fR for more information. diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/debian/changelog /tmp/1tgnNoYBLI/dirac-1.0.2/debian/changelog --- dirac-0.9.1/debian/changelog 2009-04-21 11:24:17.000000000 +0100 +++ dirac-1.0.2/debian/changelog 2009-04-21 11:24:18.000000000 +0100 @@ -1,3 +1,36 @@ +dirac (1.0.2-1~hardy0) hardy; urgency=low + + * Build for Hardy + + -- Ricardo Villalba Sat, 11 Apr 2009 14:30:29 +0200 + +dirac (1.0.2-0ubuntu1) jaunty; urgency=low + + * New upstream release + * debian/watch: Remove "debian uupdate" + * debian/control: Add ${misc:Depends} to all packages + * debian/{control,rules,patches/*}: Drop patchsys and patch as applied + upstream. + + -- Iain Lane Wed, 18 Feb 2009 23:29:52 +0000 + +dirac (1.0.0-0ubuntu1) jaunty; urgency=low + + * New upstream release 1.0.0 (LP: #302954) + * debian/dirac.manpages, debian/dirac.links: Move manpage and symlink + names out into separate files. Add missing manpage links. + * debian/BMPtoRGB.1: Update with missing manpages. + + -- Iain Lane Fri, 28 Nov 2008 00:03:56 +0000 + +dirac (0.10.0-0ubuntu1) intrepid; urgency=low + + * New upstream release (LP: #259495) + * debian/patches/warn_unused_result.patch: Patch some fwrite calls to take + results, fixing FTBFS. Also b-d on quilt for this. + + -- Iain Lane Tue, 19 Aug 2008 20:27:46 +0100 + dirac (0.9.1-0ubuntu2) hardy; urgency=low * debian/control: Added missing build-dependencies for documentation. diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/debian/control /tmp/1tgnNoYBLI/dirac-1.0.2/debian/control --- dirac-0.9.1/debian/control 2009-04-21 11:24:17.000000000 +0100 +++ dirac-1.0.2/debian/control 2009-04-21 11:24:18.000000000 +0100 @@ -1,53 +1,48 @@ Source: dirac Section: sound Priority: optional -Maintainer: Sebastian Dröge +Maintainer: Ubuntu MOTU Developers +XSBC-Original-Maintainer: Sebastian Dröge Build-Depends: cdbs (>= 0.4.50), debhelper (>= 6) Build-Depends-Indep: doxygen, graphviz, texlive-base-bin, texlive-latex-base -Standards-Version: 3.7.3 +Standards-Version: 3.8.0 +Homepage: http://dirac.sourceforge.net Package: dirac Architecture: any Section: sound -Depends: ${shlibs:Depends} +Depends: ${shlibs:Depends}, ${misc:Depends} Description: general purpose video codec - commandline utilities Dirac is a video codec that provides general-purpose video compression and decompression tools comparable with state-of-the-art systems. It is developed by BBC. - . - http://dirac.sourceforge.net Package: libdirac0c2a Architecture: any Section: libs -Depends: ${shlibs:Depends} +Depends: ${shlibs:Depends}, ${misc:Depends} Replaces: libdirac0 Conflicts: libdirac0 Description: general purpose video codec - library Dirac is a video codec that provides general-purpose video compression and decompression tools comparable with state-of-the-art systems. It is developed by BBC. - . - http://dirac.sourceforge.net Package: libdirac-dev Architecture: any Section: libdevel -Depends: libdirac0c2a (= ${binary:Version}) +Depends: libdirac0c2a (= ${binary:Version}), ${misc:Depends} Description: general purpose video codec - development files Dirac is a video codec that provides general-purpose video compression and decompression tools comparable with state-of-the-art systems. It is developed by BBC. - . - http://dirac.sourceforge.net Package: libdirac-doc Architecture: all Section: doc +Depends: ${misc:Depends} Suggests: libdirac-dev (= ${source:Version}) Description: general purpose video codec - library documentation Dirac is a video codec that provides general-purpose video compression and decompression tools comparable with state-of-the-art systems. It is developed by BBC. - . - http://dirac.sourceforge.net diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/debian/dirac.links /tmp/1tgnNoYBLI/dirac-1.0.2/debian/dirac.links --- dirac-0.9.1/debian/dirac.links 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/debian/dirac.links 2009-04-21 11:24:18.000000000 +0100 @@ -0,0 +1,19 @@ +usr/share/man/man1/BMPtoRGB.1.gz usr/share/man/man1/RGBtoBMP.1.gz +usr/share/man/man1/BMPtoRGB.1.gz usr/share/man/man1/RGBtoUYVY.1.gz +usr/share/man/man1/BMPtoRGB.1.gz usr/share/man/man1/RGBtoYUV411.1.gz +usr/share/man/man1/BMPtoRGB.1.gz usr/share/man/man1/RGBtoYUV420.1.gz +usr/share/man/man1/BMPtoRGB.1.gz usr/share/man/man1/RGBtoYUV422.1.gz +usr/share/man/man1/BMPtoRGB.1.gz usr/share/man/man1/RGBtoYUV444.1.gz +usr/share/man/man1/BMPtoRGB.1.gz usr/share/man/man1/UYVYtoRGB.1.gz +usr/share/man/man1/BMPtoRGB.1.gz usr/share/man/man1/YUV411toRGB.1.gz +usr/share/man/man1/BMPtoRGB.1.gz usr/share/man/man1/YUV420toRGB.1.gz +usr/share/man/man1/BMPtoRGB.1.gz usr/share/man/man1/YUV422toRGB.1.gz +usr/share/man/man1/BMPtoRGB.1.gz usr/share/man/man1/YUV444toRGB.1.gz +usr/share/man/man1/BMPtoRGB.1.gz usr/share/man/man1/YUV420Down2x2.1.gz +usr/share/man/man1/BMPtoRGB.1.gz usr/share/man/man1/YUV420pt75filter.1.gz +usr/share/man/man1/BMPtoRGB.1.gz usr/share/man/man1/YUV420toYUV422.1.gz +usr/share/man/man1/BMPtoRGB.1.gz usr/share/man/man1/YUV422toUYVY.1.gz +usr/share/man/man1/BMPtoRGB.1.gz usr/share/man/man1/YUV422toYUV420.1.gz +usr/share/man/man1/BMPtoRGB.1.gz usr/share/man/man1/UYVYtoYUV422.1.gz +usr/share/man/man1/dirac_encoder.1.gz usr/share/man/man1/dirac_decoder.1.gz +usr/share/man/man1/dirac_encoder.1.gz usr/share/man/man1/dirac_instrumentation.1.gz diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/debian/dirac.manpages /tmp/1tgnNoYBLI/dirac-1.0.2/debian/dirac.manpages --- dirac-0.9.1/debian/dirac.manpages 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/debian/dirac.manpages 2009-04-21 11:24:18.000000000 +0100 @@ -0,0 +1,2 @@ +debian/BMPtoRGB.1 +debian/dirac_encoder.1 diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/debian/rules /tmp/1tgnNoYBLI/dirac-1.0.2/debian/rules --- dirac-0.9.1/debian/rules 2009-04-21 11:24:17.000000000 +0100 +++ dirac-1.0.2/debian/rules 2009-04-21 11:24:18.000000000 +0100 @@ -10,21 +10,3 @@ DEB_SHLIBDEPS_INCLUDE := debian/libdirac0c2a/usr/lib DEB_CONFIGURE_EXTRA_FLAGS := --disable-mmx - -install/dirac:: - dh_installman debian/BMPtoRGB.1 - dh_link usr/share/man/man1/BMPtoRGB.1 usr/share/man/man1/RGBtoBMP.1 \ - usr/share/man/man1/BMPtoRGB.1 usr/share/man/man1/RGBtoUYVY.1 \ - usr/share/man/man1/BMPtoRGB.1 usr/share/man/man1/RGBtoYUV411.1 \ - usr/share/man/man1/BMPtoRGB.1 usr/share/man/man1/RGBtoYUV420.1 \ - usr/share/man/man1/BMPtoRGB.1 usr/share/man/man1/RGBtoYUV422.1 \ - usr/share/man/man1/BMPtoRGB.1 usr/share/man/man1/RGBtoYUV444.1 \ - usr/share/man/man1/BMPtoRGB.1 usr/share/man/man1/UYVYtoRGB.1 \ - usr/share/man/man1/BMPtoRGB.1 usr/share/man/man1/YUV411toRGB.1 \ - usr/share/man/man1/BMPtoRGB.1 usr/share/man/man1/YUV420toRGB.1 \ - usr/share/man/man1/BMPtoRGB.1 usr/share/man/man1/YUV422toRGB.1 \ - usr/share/man/man1/BMPtoRGB.1 usr/share/man/man1/YUV444toRGB.1 - dh_installman debian/dirac_encoder.1 - dh_link usr/share/man/man1/dirac_encoder.1 usr/share/man/man1/dirac_decoder.1 \ - usr/share/man/man1/dirac_encoder.1 usr/share/man/man1/dirac_instrumentation.1 - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/debian/watch /tmp/1tgnNoYBLI/dirac-1.0.2/debian/watch --- dirac-0.9.1/debian/watch 2009-04-21 11:24:17.000000000 +0100 +++ dirac-1.0.2/debian/watch 2009-04-21 11:24:18.000000000 +0100 @@ -1,3 +1,3 @@ version=3 -http://sf.net/dirac/dirac-([\d\.]*)\.tar\.gz debian uupdate +http://sf.net/dirac/dirac-([\d\.]*)\.tar\.gz diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/decoder/decmain.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/decoder/decmain.cpp --- dirac-0.9.1/decoder/decmain.cpp 2007-12-11 02:27:22.000000000 +0000 +++ dirac-1.0.2/decoder/decmain.cpp 2009-01-21 05:23:24.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: decmain.cpp,v 1.25 2007/12/11 02:27:22 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: decmain.cpp,v 1.30 2009/01/21 05:23:24 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -65,56 +65,24 @@ return "Unknown"; } -const char *ftype2string (dirac_frame_type_t ftype, dirac_reference_type_t rtype) -{ - switch (ftype) - { - case INTRA_FRAME: - { - switch (rtype) - { - case REFERENCE_FRAME: - return "Intra Ref Frame"; - case NON_REFERENCE_FRAME: - return "Intra Non-Ref Frame"; - default: - return "Intra Unknown-Ref Frame"; - } - } - case INTER_FRAME: - { - switch (rtype) - { - case REFERENCE_FRAME: - return "Inter Ref Frame"; - case NON_REFERENCE_FRAME: - return "Inter Non-Ref Frame"; - default: - return "Inter Unknown-Ref Frame"; - } - } - - default: - break; - } - return "Unknown"; -} - -static void WritePicData (dirac_decoder_t *decoder, FILE *fp) +static int WritePicData (dirac_decoder_t *decoder, FILE *fp) { + int len = 0; assert (decoder != NULL); assert (fp); - + assert(decoder->fbuf); assert(decoder->fbuf->buf[0]); - fwrite (decoder->fbuf->buf[0], decoder->src_params.width*decoder->src_params.height, 1, fp); + len += fwrite (decoder->fbuf->buf[0], decoder->src_params.width*decoder->src_params.height, 1, fp); assert(decoder->fbuf->buf[1]); - fwrite (decoder->fbuf->buf[1], decoder->src_params.chroma_width*decoder->src_params.chroma_height, 1, fp); + len += fwrite (decoder->fbuf->buf[1], decoder->src_params.chroma_width*decoder->src_params.chroma_height, 1, fp); assert(decoder->fbuf->buf[2]); - fwrite (decoder->fbuf->buf[2], decoder->src_params.chroma_width*decoder->src_params.chroma_height, 1, fp); + len += fwrite (decoder->fbuf->buf[2], decoder->src_params.chroma_width*decoder->src_params.chroma_height, 1, fp); + + return len == 3; } @@ -171,11 +139,11 @@ start_t=clock(); - do + do { /* parse the input data */ state = dirac_parse(decoder); - + switch (state) { case STATE_BUFFER: @@ -198,7 +166,7 @@ if (verbose) { - fprintf (stdout, "\nSEQUENCE : major_ver=%d minor_version=%d profile=%d level=%d width=%d height=%d chroma=%s chroma_width=%d chroma_height=%d frame_rate=%d/%d, source_sampling=%s topfieldfirst=%s", + fprintf (stdout, "\nSEQUENCE : major_ver=%d minor_version=%d profile=%d level=%d width=%d height=%d chroma=%s chroma_width=%d chroma_height=%d frame_rate=%d/%d, source_sampling=%s topfieldfirst=%s", decoder->parse_params.major_ver, decoder->parse_params.minor_ver, decoder->parse_params.profile, @@ -210,7 +178,7 @@ decoder->src_params.chroma_height, decoder->src_params.frame_rate.numerator, decoder->src_params.frame_rate.denominator, - decoder->src_params.source_sampling == 0 ? "progressive" : + decoder->src_params.source_sampling == 0 ? "progressive" : ( decoder->src_params.source_sampling == 1 ? "interlaced" : "UNKNOWN" ), decoder->src_params.topfieldfirst ? "yes" : "no"); } @@ -224,7 +192,7 @@ buf[2] = (unsigned char *)malloc (decoder->src_params.chroma_width * decoder->src_params.chroma_height); dirac_set_buf (decoder, buf, NULL); - + } break; @@ -234,43 +202,23 @@ */ if (verbose) fprintf (stdout, "\nSEQUENCE_END"); - - FreeFrameBuffer(decoder); - break; - - case STATE_PICTURE_START: - /* - * Start of frame detected. If decoder is too slow and frame can be - * skipped, inform the parser to skip decoding the frame - */ - if (verbose) - { - fprintf (stdout, "\nPICTURE_START : frame_type=%s frame_num=%d", - ftype2string(decoder->frame_params.ftype, decoder->frame_params.rtype), - decoder->frame_params.fnum); - } - /* Just for testing skip every Non-reference frame */ - if (skip && decoder->frame_params.rtype == NON_REFERENCE_FRAME) - { - if (verbose) - fprintf (stdout, "\n : Skipping frame"); - dirac_skip (decoder, 1); - } - else - dirac_skip (decoder, 0); + FreeFrameBuffer(decoder); break; case STATE_PICTURE_AVAIL: num_frames++; if (verbose) { - fprintf (stdout, "\nPICTURE_AVAIL : frame_type=%s frame_num=%d", - ftype2string(decoder->frame_params.ftype, decoder->frame_params.rtype), - decoder->frame_params.fnum); + fprintf (stdout, "\nFRAME_AVAIL : frame_num=%d", + decoder->frame_num); } /* picture available for display */ - WritePicData(decoder, fpdata); + if (!WritePicData(decoder, fpdata)) + { + perror("Write failed"); + goto cleanup; + } break; case STATE_INVALID: @@ -282,6 +230,7 @@ continue; } } while (bytes > 0 && state != STATE_INVALID); +cleanup: stop_t=clock(); if ( verbose ) diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/decoder/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/decoder/Makefile.in --- dirac-0.9.1/decoder/Makefile.in 2008-01-26 12:30:35.000000000 +0000 +++ dirac-1.0.2/decoder/Makefile.in 2009-02-11 01:43:37.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in 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. @@ -17,15 +17,11 @@ # $Id: Makefile.am,v 1.11 2007/03/29 14:08:10 asuraparaju Exp $ # -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -43,7 +39,8 @@ subdir = decoder DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -63,25 +60,28 @@ @USE_MSVC_TRUE@ ../libdirac_decoder/libdirac_decoder.a \ @USE_MSVC_TRUE@ ../libdirac_common/libdirac_common.a \ @USE_MSVC_TRUE@ ../libdirac_byteio/libdirac_byteio.a -DEFAULT_INCLUDES = -I. -I$(srcdir) +dirac_decoder_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(dirac_decoder_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) -CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \ - $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ SOURCES = $(dirac_decoder_SOURCES) DIST_SOURCES = $(dirac_decoder_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ +ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ @@ -104,62 +104,46 @@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ GENERIC_RELEASE = @GENERIC_RELEASE@ GENERIC_VERSION = @GENERIC_VERSION@ GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBEXT = @LIBEXT@ LIBFLAGS = @LIBFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -168,22 +152,19 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -195,6 +176,7 @@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -213,6 +195,7 @@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -222,8 +205,12 @@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ INCLUDES = -I$(top_srcdir) -I$(srcdir) dirac_decoder_SOURCES = decmain.cpp @USE_MSVC_FALSE@LDADD = ../libdirac_decoder/libdirac_decoder.la $(CONFIG_MATH_LIB) @@ -265,15 +252,15 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ || test -f $$p1 \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ else :; fi; \ done @@ -293,7 +280,7 @@ done dirac_decoder$(EXEEXT): $(dirac_decoder_OBJECTS) $(dirac_decoder_DEPENDENCIES) @rm -f dirac_decoder$(EXEEXT) - $(CXXLINK) $(dirac_decoder_LDFLAGS) $(dirac_decoder_OBJECTS) $(dirac_decoder_LDADD) $(LIBS) + $(dirac_decoder_LINK) $(dirac_decoder_OBJECTS) $(dirac_decoder_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -304,22 +291,22 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decmain.Po@am__quote@ .cpp.o: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: -@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< @@ -330,17 +317,13 @@ clean-libtool: -rm -rf .libs _libs -distclean-libtool: - -rm -f libtool -uninstall-info-am: - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS @@ -352,8 +335,8 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ @@ -363,13 +346,12 @@ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique @@ -383,22 +365,21 @@ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -414,7 +395,7 @@ all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am @@ -449,7 +430,7 @@ -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags + distclean-tags dvi: dvi-am @@ -463,12 +444,20 @@ install-data-am: +install-dvi: install-dvi-am + install-exec-am: install-binPROGRAMS +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -489,19 +478,23 @@ ps-am: -uninstall-am: uninstall-binPROGRAMS uninstall-info-am +uninstall-am: uninstall-binPROGRAMS + +.MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ clean-generic clean-libtool ctags distclean distclean-compile \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ - install-binPROGRAMS install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + install-binPROGRAMS install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am \ - uninstall-binPROGRAMS uninstall-info-am + uninstall-binPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/depcomp /tmp/1tgnNoYBLI/dirac-1.0.2/depcomp --- dirac-0.9.1/depcomp 2008-01-26 12:30:35.000000000 +0000 +++ dirac-1.0.2/depcomp 2009-02-11 01:43:37.000000000 +0000 @@ -1,9 +1,10 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2005-07-09.11 +scriptversion=2007-03-29.01 -# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. +# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software +# Foundation, Inc. # 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 @@ -91,7 +92,20 @@ ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. - "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" +## Unfortunately, FreeBSD c89 acceptance of flags depends upon +## the command line argument order; so add the flags where they +## appear in depend2.am. Note that the slowdown incurred here +## affects only configure: in makefiles, %FASTDEP% shortcuts this. + for arg + do + case $arg in + -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; + *) set fnord "$@" "$arg" ;; + esac + shift # fnord + shift # $arg + done + "$@" stat=$? if test $stat -eq 0; then : else @@ -201,34 +215,39 @@ # current directory. Also, the AIX compiler puts `$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. - stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` - tmpdepfile="$stripped.u" + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then + tmpdepfile1=$dir$base.u + tmpdepfile2=$base.u + tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else + tmpdepfile1=$dir$base.u + tmpdepfile2=$dir$base.u + tmpdepfile3=$dir$base.u "$@" -M fi stat=$? - if test -f "$tmpdepfile"; then : - else - stripped=`echo "$stripped" | sed 's,^.*/,,'` - tmpdepfile="$stripped.u" - fi - if test $stat -eq 0; then : else - rm -f "$tmpdepfile" + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done if test -f "$tmpdepfile"; then - outname="$stripped.o" # Each line is of the form `foo.o: dependent.h'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. - sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" - sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile @@ -276,6 +295,46 @@ rm -f "$tmpdepfile" ;; +hp2) + # The "hp" stanza above does not work with aCC (C++) and HP's ia64 + # compilers, which have integrated preprocessors. The correct option + # to use with these is +Maked; it writes dependencies to a file named + # 'foo.d', which lands next to the object file, wherever that + # happens to be. + # Much of this is similar to the tru64 case; see comments there. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir.libs/$base.d + "$@" -Wc,+Maked + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + "$@" +Maked + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" + # Add `dependent.h:' lines. + sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" "$tmpdepfile2" + ;; + tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. @@ -288,13 +347,13 @@ if test "$libtool" = yes; then # With Tru64 cc, shared objects can also be used to make a - # static library. This mecanism is used in libtool 1.4 series to + # static library. This mechanism is used in libtool 1.4 series to # handle both shared and static libraries in a single compilation. # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. # # With libtool 1.5 this exception was removed, and libtool now # generates 2 separate objects for the 2 libraries. These two - # compilations output dependencies in in $dir.libs/$base.o.d and + # compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/dirac.pc.in /tmp/1tgnNoYBLI/dirac-1.0.2/dirac.pc.in --- dirac-0.9.1/dirac.pc.in 2004-11-22 13:57:48.000000000 +0000 +++ dirac-1.0.2/dirac.pc.in 2008-12-16 01:19:59.000000000 +0000 @@ -6,6 +6,6 @@ Name: @GENERIC_LIBRARY_NAME@ Description: The BBC Dirac Video Codec Version: @VERSION@ -Libs: -L${libdir} -l@GENERIC_LIBRARY_NAME@_encoder -l@GENERIC_LIBRARY_NAME@_decoder +Libs: -L${libdir} -l@GENERIC_LIBRARY_NAME@_encoder -l@GENERIC_LIBRARY_NAME@_decoder @CONFIG_MATH_LIB@ -lstdc++ Cflags: -I${includedir}/@GENERIC_LIBRARY_NAME@ diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/dirac_api.doxygen /tmp/1tgnNoYBLI/dirac-1.0.2/doc/dirac_api.doxygen --- dirac-0.9.1/doc/dirac_api.doxygen 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/doc/dirac_api.doxygen 2008-09-10 13:32:52.000000000 +0100 @@ -0,0 +1,898 @@ +# Doxyfile 1.2.13.1 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# General configuration options +#--------------------------------------------------------------------------- + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = dirac + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = ./ + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Brazilian, Chinese, Croatian, Czech, Danish, Dutch, Finnish, French, +# German, Greek, Hungarian, Italian, Japanese, Korean, Norwegian, Polish, +# Portuguese, Romanian, Russian, Slovak, Slovene, Spanish and Swedish. + +OUTPUT_LANGUAGE = English + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = YES + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = YES + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these class will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = NO + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = NO + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited +# members of a class in the documentation of that class as if those members were +# ordinary class members. Constructors, destructors and assignment operators of +# the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = NO + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. It is allowed to use relative paths in the argument list. + +STRIP_FROM_PATH = + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower case letters. If set to YES upper case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# users are adviced to set this option to NO. + +CASE_SENSE_NAMES = YES + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = YES + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = YES + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like the Qt-style comments (thus requiring an +# explict @brief command for a brief description. + +JAVADOC_AUTOBRIEF = YES + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# reimplements. + +INHERIT_DOCS = YES + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 4 + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consist of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. +# For instance some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = NO + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = YES + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. + +WARN_FORMAT = + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = $(SOURCEDIR)/libdirac_byteio $(SOURCEDIR)/libdirac_common $(SOURCEDIR)/libdirac_encoder $(SOURCEDIR)/libdirac_decoder $(SOURCEDIR)/libdirac_motionest $(SOURCEDIR)/util/instrumentation $(SOURCEDIR)/util/instrumentation/libdirac_instrument $(SOURCEDIR)/util/conversion/common + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp +# *.h++ *.idl + +FILE_PATTERNS = *.h + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. + +EXCLUDE_PATTERNS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , where +# is the value of the INPUT_FILTER tag, and is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. + +INPUT_FILTER = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse. + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. + +SOURCE_BROWSER = NO + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = NO + +# If the REFERENCED_BY_RELATION tag is set to YES (the default) +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES (the default) +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = YES + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = YES + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = $(SOURCEDIR)/doc/dirac_api_head.html + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = $(SOURCEDIR)/doc/dirac_api_foot.html + +# The HTML_STYLESHEET tag can be used to specify a user defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet + +HTML_STYLESHEET = + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = NO + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the Html help documentation and to the tree view. + +TOC_EXPAND = YES + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = YES + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 4 + +# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be +# generated containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript and frames is required (for instance Mozilla, Netscape 4.0+, +# or Internet explorer 4.0+). Note that for large projects the tree generation +# can take a very long time. In such cases it is better to disable this feature. +# Windows users are probably better off using the HTML help feature. + +GENERATE_TREEVIEW = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = letter + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = YES + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = YES + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimised for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assigments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_XML = NO + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_PREDEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. + +PREDEFINED = + +# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line and do not end with a semicolon. Such function macros are typically +# used for boiler-plate code, and will confuse the parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES tag can be used to specify one or more tagfiles. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in Html, RTF and LaTeX) for classes with base or +# super classes. Setting the tag to NO turns the diagrams off. Note that this +# option is superceded by the HAVE_DOT option below. This is only a fallback. It is +# recommended to install and use dot, since it yield more powerful graphs. + +CLASS_DIAGRAMS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = $(HAVEDOT) + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = YES + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_WIDTH = 1024 + +# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_HEIGHT = 1024 + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermedate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +# The SEARCHENGINE tag specifies whether or not a search engine should be +# used. If set to NO the values of all tags below this one will be ignored. + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +CGI_NAME = + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +CGI_URL = + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +DOC_URL = + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +DOC_ABSPATH = + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +BIN_ABSPATH = + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +EXT_DOC_PATHS = diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/dirac_api_foot.html /tmp/1tgnNoYBLI/dirac-1.0.2/doc/dirac_api_foot.html --- dirac-0.9.1/doc/dirac_api_foot.html 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/doc/dirac_api_foot.html 2008-09-10 13:32:52.000000000 +0100 @@ -0,0 +1,9 @@ +
+

+© 2004 British Broadcasting Corporation. +Dirac code licensed under the Mozilla Public License (MPL) Version 1.1.
+HTML documentation generated by Dimitri van Heesch's +excellent Doxygen tool. +

+ + diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/dirac_api_head.html /tmp/1tgnNoYBLI/dirac-1.0.2/doc/dirac_api_head.html --- dirac-0.9.1/doc/dirac_api_head.html 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/doc/dirac_api_head.html 2008-09-10 13:32:52.000000000 +0100 @@ -0,0 +1,12 @@ + + +Dirac Video Codec + + +

+Dirac - A Video Codec +

+

+Created by the British Broadcasting Corporation. +

+
diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/dirac_bitstream.txt /tmp/1tgnNoYBLI/dirac-1.0.2/doc/dirac_bitstream.txt --- dirac-0.9.1/doc/dirac_bitstream.txt 2004-08-25 17:51:35.000000000 +0100 +++ dirac-1.0.2/doc/dirac_bitstream.txt 1970-01-01 01:00:00.000000000 +0100 @@ -1,81 +0,0 @@ -Dirac Bitstream Format -by Anuradha Suraparaju (anuradha@rd.bbc.co.uk) -v0.1: 18-Aug-2004 - -[ This document is a temporary document. It will be replaced by full-fledged - bitstream syntax and decoding process document in alpha release 0.5.0 ] - -1. Introduction - - A Dirac bitstream is made of up of a sequence of one or more frames. Each - frame is either intra or inter-coded. Intra frames are compressed without - references to any other frame. Inter frames are motion compensated with - respect to one or more reference frames. - -2. Sequence structure - - The start of a sequence is the only random access point in this version of - the Dirac bitstream. A random access point is from where a decoder can - start decoding the bitstream without prior information. - -2.1 Start codes - - Start codes are unique bit patterns that do not otherwise occur in the - bitstream. They identify specific points in the bitstream e.g. start of - frame, start of sequence, etc. A start code is made up of a 4 byte - start code prefix and a one byte code. The start code prefix is - - 0x42 0x42 0x43 0x44 (BBCD) - - Due to the nature of the arithmetic coded output, the first four bytes can - be output as part of the component data and therefore an additional code is - required to indicate that a header does not follow. The different start - codes are - - Code Description - 0xD7 Start of Sequence - 0xD6 Start of an I Frame - 0xD5 Start of an L2 Frame - 0xD4 Start of an L1 Frame - 0xD0 End of Sequence - 0xFF Not a header code treat code prefix and next byte as - data - -2.2 Sequence data - - A sequence commences with a start of sequence code followed by - the sequence header which is followed by one or more coded frames. - The order of the coded frames in the coded bistream is in the order - in which the the decoder processes them but not in the display - order. The sequence is terminated by a sequence end code. - - TODO: list sequence header fields - -2.3. Frame structure - - Each frame commences with a start of frame code (I or L1 or L2 depending - on the type of frame) and is followed by a frame header. A frame can be - either an intra frame (I frame) or inter frame. There are two types of - inter-coded frames: Level 1 (L1) frames which are also used as temporal - references for other pictures and Level 2 (L2) pictures which are - bi-directionally predicted and are not used as temporal references. The - frame header is followed by motion vector data (for L1 and L2 frames only) - and component data. - - TODO: list frame header fields and frame data format - -3. Bitstream syntax - - Field Value - - stream-id 8 byte identfier set to KW-DIRAC - sequence start code 0x42424344D7 - sequence header Golomb coded sequence header - frame start code 0x42424344D6 (I) or 0x42424344D5(L2) or - 0x42424344D5 (L1) - frame header Golomb coded frame header - frame data Arithmetic coder output - . - . - . - sequence end code 0x42424344D0 diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/documentation/algorithm/algorithm/Makefile.am /tmp/1tgnNoYBLI/dirac-1.0.2/doc/documentation/algorithm/algorithm/Makefile.am --- dirac-0.9.1/doc/documentation/algorithm/algorithm/Makefile.am 2005-08-15 16:09:14.000000000 +0100 +++ dirac-1.0.2/doc/documentation/algorithm/algorithm/Makefile.am 1970-01-01 01:00:00.000000000 +0100 @@ -1,13 +0,0 @@ -# $Id: Makefile.am,v 1.1 2005/08/15 15:09:14 asuraparaju Exp $ -# - -# dirac_api.doxygen.in is not yet in use - -algodir = $(datadir)/doc/$(GENERIC_LIBRARY_NAME)/documentation/algorithm/algorithm - -algo_DATA = index.htm - -install-data-hook: - cp -dp $(srcdir)/*.htm $(DESTDIR)$(algodir) - cp -dp $(srcdir)/*.xht $(DESTDIR)$(algodir) - cp -dpR $(srcdir)/figs $(DESTDIR)$(algodir) diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/documentation/algorithm/algorithm/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/doc/documentation/algorithm/algorithm/Makefile.in --- dirac-0.9.1/doc/documentation/algorithm/algorithm/Makefile.in 2008-01-26 12:30:36.000000000 +0000 +++ dirac-1.0.2/doc/documentation/algorithm/algorithm/Makefile.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,402 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in 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. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# $Id: Makefile.am,v 1.1 2005/08/15 15:09:14 asuraparaju Exp $ -# - -# dirac_api.doxygen.in is not yet in use - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = doc/documentation/algorithm/algorithm -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(algodir)" -algoDATA_INSTALL = $(INSTALL_DATA) -DATA = $(algo_DATA) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOM4TE = @AUTOM4TE@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_MATH_LIB = @CONFIG_MATH_LIB@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ -GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ -GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ -GENERIC_RELEASE = @GENERIC_RELEASE@ -GENERIC_VERSION = @GENERIC_VERSION@ -GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ -HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ -HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ -HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ -HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBEXT = @LIBEXT@ -LIBFLAGS = @LIBFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ -VALGRIND = @VALGRIND@ -VERSION = @VERSION@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -algodir = $(datadir)/doc/$(GENERIC_LIBRARY_NAME)/documentation/algorithm/algorithm -algo_DATA = index.htm -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/documentation/algorithm/algorithm/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign doc/documentation/algorithm/algorithm/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -install-algoDATA: $(algo_DATA) - @$(NORMAL_INSTALL) - test -z "$(algodir)" || $(mkdir_p) "$(DESTDIR)$(algodir)" - @list='$(algo_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(algoDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(algodir)/$$f'"; \ - $(algoDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(algodir)/$$f"; \ - done - -uninstall-algoDATA: - @$(NORMAL_UNINSTALL) - @list='$(algo_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(algodir)/$$f'"; \ - rm -f "$(DESTDIR)$(algodir)/$$f"; \ - done -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(DATA) -installdirs: - for dir in "$(DESTDIR)$(algodir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-algoDATA - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) install-data-hook - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-algoDATA uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am html html-am info info-am install install-algoDATA \ - install-am install-data install-data-am install-data-hook \ - install-exec install-exec-am install-info install-info-am \ - install-man install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ - ps ps-am uninstall uninstall-algoDATA uninstall-am \ - uninstall-info-am - - -install-data-hook: - cp -dp $(srcdir)/*.htm $(DESTDIR)$(algodir) - cp -dp $(srcdir)/*.xht $(DESTDIR)$(algodir) - cp -dpR $(srcdir)/figs $(DESTDIR)$(algodir) -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/documentation/algorithm/enhancements/Makefile.am /tmp/1tgnNoYBLI/dirac-1.0.2/doc/documentation/algorithm/enhancements/Makefile.am --- dirac-0.9.1/doc/documentation/algorithm/enhancements/Makefile.am 2005-08-15 17:11:05.000000000 +0100 +++ dirac-1.0.2/doc/documentation/algorithm/enhancements/Makefile.am 1970-01-01 01:00:00.000000000 +0100 @@ -1,11 +0,0 @@ -# $Id: Makefile.am,v 1.1 2005/08/15 16:11:05 asuraparaju Exp $ -# - -# dirac_api.doxygen.in is not yet in use - -enhancedir = $(datadir)/doc/$(GENERIC_LIBRARY_NAME)/documentation/algorithm/enhancements - -enhance_DATA = index.htm - -install-data-hook: - cp -dp $(srcdir)/*.htm $(DESTDIR)$(enhancedir) diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/documentation/algorithm/enhancements/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/doc/documentation/algorithm/enhancements/Makefile.in --- dirac-0.9.1/doc/documentation/algorithm/enhancements/Makefile.in 2008-01-26 12:30:36.000000000 +0000 +++ dirac-1.0.2/doc/documentation/algorithm/enhancements/Makefile.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,400 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in 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. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# $Id: Makefile.am,v 1.1 2005/08/15 16:11:05 asuraparaju Exp $ -# - -# dirac_api.doxygen.in is not yet in use - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = doc/documentation/algorithm/enhancements -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(enhancedir)" -enhanceDATA_INSTALL = $(INSTALL_DATA) -DATA = $(enhance_DATA) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOM4TE = @AUTOM4TE@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_MATH_LIB = @CONFIG_MATH_LIB@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ -GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ -GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ -GENERIC_RELEASE = @GENERIC_RELEASE@ -GENERIC_VERSION = @GENERIC_VERSION@ -GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ -HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ -HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ -HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ -HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBEXT = @LIBEXT@ -LIBFLAGS = @LIBFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ -VALGRIND = @VALGRIND@ -VERSION = @VERSION@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -enhancedir = $(datadir)/doc/$(GENERIC_LIBRARY_NAME)/documentation/algorithm/enhancements -enhance_DATA = index.htm -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/documentation/algorithm/enhancements/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign doc/documentation/algorithm/enhancements/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -install-enhanceDATA: $(enhance_DATA) - @$(NORMAL_INSTALL) - test -z "$(enhancedir)" || $(mkdir_p) "$(DESTDIR)$(enhancedir)" - @list='$(enhance_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(enhanceDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(enhancedir)/$$f'"; \ - $(enhanceDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(enhancedir)/$$f"; \ - done - -uninstall-enhanceDATA: - @$(NORMAL_UNINSTALL) - @list='$(enhance_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(enhancedir)/$$f'"; \ - rm -f "$(DESTDIR)$(enhancedir)/$$f"; \ - done -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(DATA) -installdirs: - for dir in "$(DESTDIR)$(enhancedir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-enhanceDATA - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) install-data-hook - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-enhanceDATA uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-data-hook \ - install-enhanceDATA install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-enhanceDATA uninstall-info-am - - -install-data-hook: - cp -dp $(srcdir)/*.htm $(DESTDIR)$(enhancedir) -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/documentation/algorithm/global_motion/Makefile.am /tmp/1tgnNoYBLI/dirac-1.0.2/doc/documentation/algorithm/global_motion/Makefile.am --- dirac-0.9.1/doc/documentation/algorithm/global_motion/Makefile.am 2005-08-15 17:11:06.000000000 +0100 +++ dirac-1.0.2/doc/documentation/algorithm/global_motion/Makefile.am 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ -# $Id: Makefile.am,v 1.1 2005/08/15 16:11:06 asuraparaju Exp $ -# - -# dirac_api.doxygen.in is not yet in use - -gmdir = $(datadir)/doc/$(GENERIC_LIBRARY_NAME)/documentation/algorithm/global_motion - -gm_DATA = index.htm - -install-data-hook: - cp -dp $(srcdir)/*.htm $(DESTDIR)$(gmdir) - cp -dpR $(srcdir)/images $(DESTDIR)$(gmdir) diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/documentation/algorithm/global_motion/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/doc/documentation/algorithm/global_motion/Makefile.in --- dirac-0.9.1/doc/documentation/algorithm/global_motion/Makefile.in 2008-01-26 12:30:36.000000000 +0000 +++ dirac-1.0.2/doc/documentation/algorithm/global_motion/Makefile.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,401 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in 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. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# $Id: Makefile.am,v 1.1 2005/08/15 16:11:06 asuraparaju Exp $ -# - -# dirac_api.doxygen.in is not yet in use - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = doc/documentation/algorithm/global_motion -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(gmdir)" -gmDATA_INSTALL = $(INSTALL_DATA) -DATA = $(gm_DATA) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOM4TE = @AUTOM4TE@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_MATH_LIB = @CONFIG_MATH_LIB@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ -GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ -GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ -GENERIC_RELEASE = @GENERIC_RELEASE@ -GENERIC_VERSION = @GENERIC_VERSION@ -GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ -HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ -HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ -HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ -HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBEXT = @LIBEXT@ -LIBFLAGS = @LIBFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ -VALGRIND = @VALGRIND@ -VERSION = @VERSION@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -gmdir = $(datadir)/doc/$(GENERIC_LIBRARY_NAME)/documentation/algorithm/global_motion -gm_DATA = index.htm -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/documentation/algorithm/global_motion/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign doc/documentation/algorithm/global_motion/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -install-gmDATA: $(gm_DATA) - @$(NORMAL_INSTALL) - test -z "$(gmdir)" || $(mkdir_p) "$(DESTDIR)$(gmdir)" - @list='$(gm_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(gmDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(gmdir)/$$f'"; \ - $(gmDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(gmdir)/$$f"; \ - done - -uninstall-gmDATA: - @$(NORMAL_UNINSTALL) - @list='$(gm_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(gmdir)/$$f'"; \ - rm -f "$(DESTDIR)$(gmdir)/$$f"; \ - done -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(DATA) -installdirs: - for dir in "$(DESTDIR)$(gmdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-gmDATA - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) install-data-hook - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-gmDATA uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-data-hook install-exec \ - install-exec-am install-gmDATA install-info install-info-am \ - install-man install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ - ps ps-am uninstall uninstall-am uninstall-gmDATA \ - uninstall-info-am - - -install-data-hook: - cp -dp $(srcdir)/*.htm $(DESTDIR)$(gmdir) - cp -dpR $(srcdir)/images $(DESTDIR)$(gmdir) -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/documentation/algorithm/Makefile.am /tmp/1tgnNoYBLI/dirac-1.0.2/doc/documentation/algorithm/Makefile.am --- dirac-0.9.1/doc/documentation/algorithm/Makefile.am 2005-08-15 17:11:05.000000000 +0100 +++ dirac-1.0.2/doc/documentation/algorithm/Makefile.am 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ -if HAVE_ALGO -ALGO_DIR = algorithm -endif - -if HAVE_ENHANCE -ENHANCE_DIR = enhancements -endif - -if HAVE_UPCONV -UPCONV_DIR = upconversion -endif - -if HAVE_GM -GM_DIR = global_motion -endif - -SUBDIRS = $(ALGO_DIR) $(ENHANCE_DIR) $(UPCONV_DIR) $(GM_DIR) diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/documentation/algorithm/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/doc/documentation/algorithm/Makefile.in --- dirac-0.9.1/doc/documentation/algorithm/Makefile.in 2008-01-26 12:30:35.000000000 +0000 +++ dirac-1.0.2/doc/documentation/algorithm/Makefile.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,519 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in 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. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = doc/documentation/algorithm -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = algorithm enhancements upconversion global_motion -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOM4TE = @AUTOM4TE@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_MATH_LIB = @CONFIG_MATH_LIB@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ -GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ -GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ -GENERIC_RELEASE = @GENERIC_RELEASE@ -GENERIC_VERSION = @GENERIC_VERSION@ -GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ -HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ -HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ -HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ -HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBEXT = @LIBEXT@ -LIBFLAGS = @LIBFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ -VALGRIND = @VALGRIND@ -VERSION = @VERSION@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -@HAVE_ALGO_TRUE@ALGO_DIR = algorithm -@HAVE_ENHANCE_TRUE@ENHANCE_DIR = enhancements -@HAVE_UPCONV_TRUE@UPCONV_DIR = upconversion -@HAVE_GM_TRUE@GM_DIR = global_motion -SUBDIRS = $(ALGO_DIR) $(ENHANCE_DIR) $(UPCONV_DIR) $(GM_DIR) -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/documentation/algorithm/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign doc/documentation/algorithm/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -info: info-recursive - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-info-am - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ - clean clean-generic clean-libtool clean-recursive ctags \ - ctags-recursive distclean distclean-generic distclean-libtool \ - distclean-recursive distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive \ - mostlyclean mostlyclean-generic mostlyclean-libtool \ - mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/documentation/algorithm/upconversion/Makefile.am /tmp/1tgnNoYBLI/dirac-1.0.2/doc/documentation/algorithm/upconversion/Makefile.am --- dirac-0.9.1/doc/documentation/algorithm/upconversion/Makefile.am 2005-08-15 17:11:07.000000000 +0100 +++ dirac-1.0.2/doc/documentation/algorithm/upconversion/Makefile.am 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ -# $Id: Makefile.am,v 1.1 2005/08/15 16:11:07 asuraparaju Exp $ -# - -# dirac_api.doxygen.in is not yet in use - -upcvdir = $(datadir)/doc/$(GENERIC_LIBRARY_NAME)/documentation/algorithm/upconversion - -upcv_DATA = index.htm - -install-data-hook: - cp -dp $(srcdir)/*.htm $(DESTDIR)$(upcvdir) - cp -dpR $(srcdir)/images $(DESTDIR)$(upcvdir) diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/documentation/algorithm/upconversion/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/doc/documentation/algorithm/upconversion/Makefile.in --- dirac-0.9.1/doc/documentation/algorithm/upconversion/Makefile.in 2008-01-26 12:30:36.000000000 +0000 +++ dirac-1.0.2/doc/documentation/algorithm/upconversion/Makefile.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,401 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in 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. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# $Id: Makefile.am,v 1.1 2005/08/15 16:11:07 asuraparaju Exp $ -# - -# dirac_api.doxygen.in is not yet in use - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = doc/documentation/algorithm/upconversion -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(upcvdir)" -upcvDATA_INSTALL = $(INSTALL_DATA) -DATA = $(upcv_DATA) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOM4TE = @AUTOM4TE@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_MATH_LIB = @CONFIG_MATH_LIB@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ -GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ -GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ -GENERIC_RELEASE = @GENERIC_RELEASE@ -GENERIC_VERSION = @GENERIC_VERSION@ -GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ -HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ -HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ -HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ -HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBEXT = @LIBEXT@ -LIBFLAGS = @LIBFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ -VALGRIND = @VALGRIND@ -VERSION = @VERSION@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -upcvdir = $(datadir)/doc/$(GENERIC_LIBRARY_NAME)/documentation/algorithm/upconversion -upcv_DATA = index.htm -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/documentation/algorithm/upconversion/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign doc/documentation/algorithm/upconversion/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -install-upcvDATA: $(upcv_DATA) - @$(NORMAL_INSTALL) - test -z "$(upcvdir)" || $(mkdir_p) "$(DESTDIR)$(upcvdir)" - @list='$(upcv_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(upcvDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(upcvdir)/$$f'"; \ - $(upcvDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(upcvdir)/$$f"; \ - done - -uninstall-upcvDATA: - @$(NORMAL_UNINSTALL) - @list='$(upcv_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(upcvdir)/$$f'"; \ - rm -f "$(DESTDIR)$(upcvdir)/$$f"; \ - done -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(DATA) -installdirs: - for dir in "$(DESTDIR)$(upcvdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-upcvDATA - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) install-data-hook - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am uninstall-upcvDATA - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-data-hook install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip install-upcvDATA installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ - ps ps-am uninstall uninstall-am uninstall-info-am \ - uninstall-upcvDATA - - -install-data-hook: - cp -dp $(srcdir)/*.htm $(DESTDIR)$(upcvdir) - cp -dpR $(srcdir)/images $(DESTDIR)$(upcvdir) -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/documentation/code/api/dirac_api.doxygen /tmp/1tgnNoYBLI/dirac-1.0.2/doc/documentation/code/api/dirac_api.doxygen --- dirac-0.9.1/doc/documentation/code/api/dirac_api.doxygen 2006-04-20 11:41:56.000000000 +0100 +++ dirac-1.0.2/doc/documentation/code/api/dirac_api.doxygen 1970-01-01 01:00:00.000000000 +0100 @@ -1,898 +0,0 @@ -# Doxyfile 1.2.13.1 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# General configuration options -#--------------------------------------------------------------------------- - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = dirac - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = ./ - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Brazilian, Chinese, Croatian, Czech, Danish, Dutch, Finnish, French, -# German, Greek, Hungarian, Italian, Japanese, Korean, Norwegian, Polish, -# Portuguese, Romanian, Russian, Slovak, Slovene, Spanish and Swedish. - -OUTPUT_LANGUAGE = English - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = YES - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = YES - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these class will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = NO - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited -# members of a class in the documentation of that class as if those members were -# ordinary class members. Constructors, destructors and assignment operators of -# the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = NO - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. It is allowed to use relative paths in the argument list. - -STRIP_FROM_PATH = - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower case letters. If set to YES upper case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# users are adviced to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like the Qt-style comments (thus requiring an -# explict @brief command for a brief description. - -JAVADOC_AUTOBRIEF = YES - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# reimplements. - -INHERIT_DOCS = YES - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 4 - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consist of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources -# only. Doxygen will then generate output that is more tailored for C. -# For instance some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. - -WARN_FORMAT = - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = $(SOURCEDIR)/../../../../libdirac_byteio $(SOURCEDIR)/../../../../libdirac_common $(SOURCEDIR)/../../../../libdirac_encoder $(SOURCEDIR)/../../../../libdirac_decoder $(SOURCEDIR)/../../../../libdirac_motionest $(SOURCEDIR)/../../../../util/instrumentation $(SOURCEDIR)/../../../../util/instrumentation/libdirac_instrument $(SOURCEDIR)/../../../../util/conversion/common - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp -# *.h++ *.idl - -FILE_PATTERNS = *.h - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = NO - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. - -EXCLUDE_PATTERNS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. - -INPUT_FILTER = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse. - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# If the REFERENCED_BY_RELATION tag is set to YES (the default) -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES (the default) -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = YES - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = $(SOURCEDIR)/dirac_api_head.html - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = $(SOURCEDIR)/dirac_api_foot.html - -# The HTML_STYLESHEET tag can be used to specify a user defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet - -HTML_STYLESHEET = - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = NO - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the Html help documentation and to the tree view. - -TOC_EXPAND = YES - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = YES - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be -# generated containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript and frames is required (for instance Mozilla, Netscape 4.0+, -# or Internet explorer 4.0+). Note that for large projects the tree generation -# can take a very long time. In such cases it is better to disable this feature. -# Windows users are probably better off using the HTML help feature. - -GENERATE_TREEVIEW = NO - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = letter - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = YES - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimised for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assigments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_XML = NO - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_PREDEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line and do not end with a semicolon. Such function macros are typically -# used for boiler-plate code, and will confuse the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::addtions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES tag can be used to specify one or more tagfiles. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in Html, RTF and LaTeX) for classes with base or -# super classes. Setting the tag to NO turns the diagrams off. Note that this -# option is superceded by the HAVE_DOT option below. This is only a fallback. It is -# recommended to install and use dot, since it yield more powerful graphs. - -CLASS_DIAGRAMS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = $(HAVEDOT) - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = YES - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found on the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width -# (in pixels) of the graphs generated by dot. If a graph becomes larger than -# this value, doxygen will try to truncate the graph, so that it fits within -# the specified constraint. Beware that most browsers cannot cope with very -# large images. - -MAX_DOT_GRAPH_WIDTH = 1024 - -# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height -# (in pixels) of the graphs generated by dot. If a graph becomes larger than -# this value, doxygen will try to truncate the graph, so that it fits within -# the specified constraint. Beware that most browsers cannot cope with very -# large images. - -MAX_DOT_GRAPH_HEIGHT = 1024 - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermedate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES - -#--------------------------------------------------------------------------- -# Configuration::addtions related to the search engine -#--------------------------------------------------------------------------- - -# The SEARCHENGINE tag specifies whether or not a search engine should be -# used. If set to NO the values of all tags below this one will be ignored. - -SEARCHENGINE = NO - -# The CGI_NAME tag should be the name of the CGI script that -# starts the search engine (doxysearch) with the correct parameters. -# A script with this name will be generated by doxygen. - -CGI_NAME = - -# The CGI_URL tag should be the absolute URL to the directory where the -# cgi binaries are located. See the documentation of your http daemon for -# details. - -CGI_URL = - -# The DOC_URL tag should be the absolute URL to the directory where the -# documentation is located. If left blank the absolute path to the -# documentation, with file:// prepended to it, will be used. - -DOC_URL = - -# The DOC_ABSPATH tag should be the absolute path to the directory where the -# documentation is located. If left blank the directory on the local machine -# will be used. - -DOC_ABSPATH = - -# The BIN_ABSPATH tag must point to the directory where the doxysearch binary -# is installed. - -BIN_ABSPATH = - -# The EXT_DOC_PATHS tag can be used to specify one or more paths to -# documentation generated for other projects. This allows doxysearch to search -# the documentation for these projects as well. - -EXT_DOC_PATHS = diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/documentation/code/api/dirac_api_foot.html /tmp/1tgnNoYBLI/dirac-1.0.2/doc/documentation/code/api/dirac_api_foot.html --- dirac-0.9.1/doc/documentation/code/api/dirac_api_foot.html 2005-08-15 16:09:14.000000000 +0100 +++ dirac-1.0.2/doc/documentation/code/api/dirac_api_foot.html 1970-01-01 01:00:00.000000000 +0100 @@ -1,9 +0,0 @@ -
-

-© 2004 British Broadcasting Corporation. -Dirac code licensed under the Mozilla Public License (MPL) Version 1.1.
-HTML documentation generated by Dimitri van Heesch's -excellent Doxygen tool. -

- - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/documentation/code/api/dirac_api_head.html /tmp/1tgnNoYBLI/dirac-1.0.2/doc/documentation/code/api/dirac_api_head.html --- dirac-0.9.1/doc/documentation/code/api/dirac_api_head.html 2005-08-15 16:09:14.000000000 +0100 +++ dirac-1.0.2/doc/documentation/code/api/dirac_api_head.html 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ - - -Dirac Video Codec - - -

-Dirac - A Video Codec -

-

-Created by the British Broadcasting Corporation. -

-
diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/documentation/code/api/Makefile.am /tmp/1tgnNoYBLI/dirac-1.0.2/doc/documentation/code/api/Makefile.am --- dirac-0.9.1/doc/documentation/code/api/Makefile.am 2005-08-15 16:09:14.000000000 +0100 +++ dirac-1.0.2/doc/documentation/code/api/Makefile.am 1970-01-01 01:00:00.000000000 +0100 @@ -1,21 +0,0 @@ -# $Id: Makefile.am,v 1.1 2005/08/15 15:09:14 asuraparaju Exp $ -# - -# dirac_api.doxygen.in is not yet in use -EXTRA_DIST = dirac_api.doxygen dirac_api_foot.html dirac_api_head.html - - -CLEANFILES = html/* - -htmldir = $(datadir)/doc/$(GENERIC_LIBRARY_NAME)/documentation/code/api/api_html - -html_DATA = html/index.html - -html/index.html: dirac_api.doxygen - SOURCEDIR="$(srcdir)" \ - HAVEDOT="$(HAVE_DOT)" \ - doxygen $(srcdir)/dirac_api.doxygen - -install-data-hook: - cp -dR html/* $(DESTDIR)$(htmldir) - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/documentation/code/api/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/doc/documentation/code/api/Makefile.in --- dirac-0.9.1/doc/documentation/code/api/Makefile.in 2008-01-26 12:30:36.000000000 +0000 +++ dirac-1.0.2/doc/documentation/code/api/Makefile.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,407 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in 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. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# $Id: Makefile.am,v 1.1 2005/08/15 15:09:14 asuraparaju Exp $ -# - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = doc/documentation/code/api -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(htmldir)" -htmlDATA_INSTALL = $(INSTALL_DATA) -DATA = $(html_DATA) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOM4TE = @AUTOM4TE@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_MATH_LIB = @CONFIG_MATH_LIB@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ -GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ -GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ -GENERIC_RELEASE = @GENERIC_RELEASE@ -GENERIC_VERSION = @GENERIC_VERSION@ -GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ -HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ -HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ -HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ -HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBEXT = @LIBEXT@ -LIBFLAGS = @LIBFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ -VALGRIND = @VALGRIND@ -VERSION = @VERSION@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = $(datadir)/doc/$(GENERIC_LIBRARY_NAME)/documentation/code/api/api_html -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ - -# dirac_api.doxygen.in is not yet in use -EXTRA_DIST = dirac_api.doxygen dirac_api_foot.html dirac_api_head.html -CLEANFILES = html/* -html_DATA = html/index.html -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/documentation/code/api/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign doc/documentation/code/api/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -install-htmlDATA: $(html_DATA) - @$(NORMAL_INSTALL) - test -z "$(htmldir)" || $(mkdir_p) "$(DESTDIR)$(htmldir)" - @list='$(html_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(htmlDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(htmldir)/$$f'"; \ - $(htmlDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(htmldir)/$$f"; \ - done - -uninstall-htmlDATA: - @$(NORMAL_UNINSTALL) - @list='$(html_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(htmldir)/$$f'"; \ - rm -f "$(DESTDIR)$(htmldir)/$$f"; \ - done -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(DATA) -installdirs: - for dir in "$(DESTDIR)$(htmldir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-htmlDATA - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) install-data-hook - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-htmlDATA uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-data-hook install-exec \ - install-exec-am install-htmlDATA install-info install-info-am \ - install-man install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ - ps ps-am uninstall uninstall-am uninstall-htmlDATA \ - uninstall-info-am - - -html/index.html: dirac_api.doxygen - SOURCEDIR="$(srcdir)" \ - HAVEDOT="$(HAVE_DOT)" \ - doxygen $(srcdir)/dirac_api.doxygen - -install-data-hook: - cp -dR html/* $(DESTDIR)$(htmldir) -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/documentation/code/Makefile.am /tmp/1tgnNoYBLI/dirac-1.0.2/doc/documentation/code/Makefile.am --- dirac-0.9.1/doc/documentation/code/Makefile.am 2005-08-15 16:09:14.000000000 +0100 +++ dirac-1.0.2/doc/documentation/code/Makefile.am 1970-01-01 01:00:00.000000000 +0100 @@ -1,9 +0,0 @@ -if HAVE_DOXYGEN -API_DIR = api -endif - -if HAVE_PROG -PROG_DIR = programmers_guide -endif - -SUBDIRS = $(API_DIR) $(PROG_DIR) diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/documentation/code/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/doc/documentation/code/Makefile.in --- dirac-0.9.1/doc/documentation/code/Makefile.in 2008-01-26 12:30:36.000000000 +0000 +++ dirac-1.0.2/doc/documentation/code/Makefile.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,517 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in 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. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = doc/documentation/code -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = api programmers_guide -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOM4TE = @AUTOM4TE@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_MATH_LIB = @CONFIG_MATH_LIB@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ -GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ -GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ -GENERIC_RELEASE = @GENERIC_RELEASE@ -GENERIC_VERSION = @GENERIC_VERSION@ -GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ -HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ -HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ -HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ -HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBEXT = @LIBEXT@ -LIBFLAGS = @LIBFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ -VALGRIND = @VALGRIND@ -VERSION = @VERSION@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -@HAVE_DOXYGEN_TRUE@API_DIR = api -@HAVE_PROG_TRUE@PROG_DIR = programmers_guide -SUBDIRS = $(API_DIR) $(PROG_DIR) -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/documentation/code/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign doc/documentation/code/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -info: info-recursive - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-info-am - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ - clean clean-generic clean-libtool clean-recursive ctags \ - ctags-recursive distclean distclean-generic distclean-libtool \ - distclean-recursive distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive \ - mostlyclean mostlyclean-generic mostlyclean-libtool \ - mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/documentation/code/programmers_guide/Makefile.am /tmp/1tgnNoYBLI/dirac-1.0.2/doc/documentation/code/programmers_guide/Makefile.am --- dirac-0.9.1/doc/documentation/code/programmers_guide/Makefile.am 2005-08-15 17:48:43.000000000 +0100 +++ dirac-1.0.2/doc/documentation/code/programmers_guide/Makefile.am 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ -# $Id: Makefile.am,v 1.2 2005/08/15 16:48:43 asuraparaju Exp $ -# - -# dirac_api.doxygen.in is not yet in use - -progdir = $(datadir)/doc/$(GENERIC_LIBRARY_NAME)/documentation/code/programmers_guide - -prog_DATA = index.htm - -install-data-hook: - cp -dp $(srcdir)/*.htm $(DESTDIR)$(progdir) - cp -dpR $(srcdir)/images $(DESTDIR)$(progdir) diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/documentation/code/programmers_guide/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/doc/documentation/code/programmers_guide/Makefile.in --- dirac-0.9.1/doc/documentation/code/programmers_guide/Makefile.in 2008-01-26 12:30:36.000000000 +0000 +++ dirac-1.0.2/doc/documentation/code/programmers_guide/Makefile.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,401 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in 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. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# $Id: Makefile.am,v 1.2 2005/08/15 16:48:43 asuraparaju Exp $ -# - -# dirac_api.doxygen.in is not yet in use - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = doc/documentation/code/programmers_guide -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(progdir)" -progDATA_INSTALL = $(INSTALL_DATA) -DATA = $(prog_DATA) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOM4TE = @AUTOM4TE@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_MATH_LIB = @CONFIG_MATH_LIB@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ -GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ -GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ -GENERIC_RELEASE = @GENERIC_RELEASE@ -GENERIC_VERSION = @GENERIC_VERSION@ -GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ -HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ -HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ -HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ -HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBEXT = @LIBEXT@ -LIBFLAGS = @LIBFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ -VALGRIND = @VALGRIND@ -VERSION = @VERSION@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -progdir = $(datadir)/doc/$(GENERIC_LIBRARY_NAME)/documentation/code/programmers_guide -prog_DATA = index.htm -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/documentation/code/programmers_guide/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign doc/documentation/code/programmers_guide/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -install-progDATA: $(prog_DATA) - @$(NORMAL_INSTALL) - test -z "$(progdir)" || $(mkdir_p) "$(DESTDIR)$(progdir)" - @list='$(prog_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(progDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(progdir)/$$f'"; \ - $(progDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(progdir)/$$f"; \ - done - -uninstall-progDATA: - @$(NORMAL_UNINSTALL) - @list='$(prog_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(progdir)/$$f'"; \ - rm -f "$(DESTDIR)$(progdir)/$$f"; \ - done -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(DATA) -installdirs: - for dir in "$(DESTDIR)$(progdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-progDATA - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) install-data-hook - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am uninstall-progDATA - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-data-hook install-exec \ - install-exec-am install-info install-info-am install-man \ - install-progDATA install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ - ps ps-am uninstall uninstall-am uninstall-info-am \ - uninstall-progDATA - - -install-data-hook: - cp -dp $(srcdir)/*.htm $(DESTDIR)$(progdir) - cp -dpR $(srcdir)/images $(DESTDIR)$(progdir) -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/documentation/Makefile.am /tmp/1tgnNoYBLI/dirac-1.0.2/doc/documentation/Makefile.am --- dirac-0.9.1/doc/documentation/Makefile.am 2005-08-15 17:18:34.000000000 +0100 +++ dirac-1.0.2/doc/documentation/Makefile.am 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -SUBDIRS = algorithm code tools diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/documentation/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/doc/documentation/Makefile.in --- dirac-0.9.1/doc/documentation/Makefile.in 2008-01-26 12:30:35.000000000 +0000 +++ dirac-1.0.2/doc/documentation/Makefile.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,515 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in 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. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = doc/documentation -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOM4TE = @AUTOM4TE@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_MATH_LIB = @CONFIG_MATH_LIB@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ -GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ -GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ -GENERIC_RELEASE = @GENERIC_RELEASE@ -GENERIC_VERSION = @GENERIC_VERSION@ -GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ -HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ -HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ -HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ -HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBEXT = @LIBEXT@ -LIBFLAGS = @LIBFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ -VALGRIND = @VALGRIND@ -VERSION = @VERSION@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -SUBDIRS = algorithm code tools -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/documentation/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign doc/documentation/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -info: info-recursive - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-info-am - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ - clean clean-generic clean-libtool clean-recursive ctags \ - ctags-recursive distclean distclean-generic distclean-libtool \ - distclean-recursive distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive \ - mostlyclean mostlyclean-generic mostlyclean-libtool \ - mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/documentation/tools/diagnostics/Makefile.am /tmp/1tgnNoYBLI/dirac-1.0.2/doc/documentation/tools/diagnostics/Makefile.am --- dirac-0.9.1/doc/documentation/tools/diagnostics/Makefile.am 2005-08-15 17:18:34.000000000 +0100 +++ dirac-1.0.2/doc/documentation/tools/diagnostics/Makefile.am 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ -# $Id: Makefile.am,v 1.1 2005/08/15 16:18:34 asuraparaju Exp $ -# - -# dirac_api.doxygen.in is not yet in use - -diagdir = $(datadir)/doc/$(GENERIC_LIBRARY_NAME)/documentation/tools/diagnostics - -diag_DATA = index.htm - -install-data-hook: - cp -dp $(srcdir)/*.htm $(DESTDIR)$(diagdir) - cp -dpR $(srcdir)/images $(DESTDIR)$(diagdir) diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/documentation/tools/diagnostics/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/doc/documentation/tools/diagnostics/Makefile.in --- dirac-0.9.1/doc/documentation/tools/diagnostics/Makefile.in 2008-01-26 12:30:36.000000000 +0000 +++ dirac-1.0.2/doc/documentation/tools/diagnostics/Makefile.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,401 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in 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. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# $Id: Makefile.am,v 1.1 2005/08/15 16:18:34 asuraparaju Exp $ -# - -# dirac_api.doxygen.in is not yet in use - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = doc/documentation/tools/diagnostics -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(diagdir)" -diagDATA_INSTALL = $(INSTALL_DATA) -DATA = $(diag_DATA) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOM4TE = @AUTOM4TE@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_MATH_LIB = @CONFIG_MATH_LIB@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ -GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ -GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ -GENERIC_RELEASE = @GENERIC_RELEASE@ -GENERIC_VERSION = @GENERIC_VERSION@ -GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ -HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ -HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ -HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ -HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBEXT = @LIBEXT@ -LIBFLAGS = @LIBFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ -VALGRIND = @VALGRIND@ -VERSION = @VERSION@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -diagdir = $(datadir)/doc/$(GENERIC_LIBRARY_NAME)/documentation/tools/diagnostics -diag_DATA = index.htm -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/documentation/tools/diagnostics/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign doc/documentation/tools/diagnostics/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -install-diagDATA: $(diag_DATA) - @$(NORMAL_INSTALL) - test -z "$(diagdir)" || $(mkdir_p) "$(DESTDIR)$(diagdir)" - @list='$(diag_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(diagDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(diagdir)/$$f'"; \ - $(diagDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(diagdir)/$$f"; \ - done - -uninstall-diagDATA: - @$(NORMAL_UNINSTALL) - @list='$(diag_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(diagdir)/$$f'"; \ - rm -f "$(DESTDIR)$(diagdir)/$$f"; \ - done -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(DATA) -installdirs: - for dir in "$(DESTDIR)$(diagdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-diagDATA - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) install-data-hook - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-diagDATA uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-data-hook \ - install-diagDATA install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-diagDATA uninstall-info-am - - -install-data-hook: - cp -dp $(srcdir)/*.htm $(DESTDIR)$(diagdir) - cp -dpR $(srcdir)/images $(DESTDIR)$(diagdir) -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/documentation/tools/Makefile.am /tmp/1tgnNoYBLI/dirac-1.0.2/doc/documentation/tools/Makefile.am --- dirac-0.9.1/doc/documentation/tools/Makefile.am 2005-08-15 17:11:08.000000000 +0100 +++ dirac-1.0.2/doc/documentation/tools/Makefile.am 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -if HAVE_DIAG -DIAG_DIR = diagnostics -endif - -SUBDIRS = $(DIAG_DIR) diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/documentation/tools/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/doc/documentation/tools/Makefile.in --- dirac-0.9.1/doc/documentation/tools/Makefile.in 2008-01-26 12:30:36.000000000 +0000 +++ dirac-1.0.2/doc/documentation/tools/Makefile.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,516 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in 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. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = doc/documentation/tools -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = diagnostics -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOM4TE = @AUTOM4TE@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_MATH_LIB = @CONFIG_MATH_LIB@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ -GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ -GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ -GENERIC_RELEASE = @GENERIC_RELEASE@ -GENERIC_VERSION = @GENERIC_VERSION@ -GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ -HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ -HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ -HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ -HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBEXT = @LIBEXT@ -LIBFLAGS = @LIBFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ -VALGRIND = @VALGRIND@ -VERSION = @VERSION@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -@HAVE_DIAG_TRUE@DIAG_DIR = diagnostics -SUBDIRS = $(DIAG_DIR) -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/documentation/tools/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign doc/documentation/tools/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -info: info-recursive - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-recursive - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-info-am - -uninstall-info: uninstall-info-recursive - -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ - clean clean-generic clean-libtool clean-recursive ctags \ - ctags-recursive distclean distclean-generic distclean-libtool \ - distclean-recursive distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive \ - mostlyclean mostlyclean-generic mostlyclean-libtool \ - mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/faq.html /tmp/1tgnNoYBLI/dirac-1.0.2/doc/faq.html --- dirac-0.9.1/doc/faq.html 2006-12-04 12:00:28.000000000 +0000 +++ dirac-1.0.2/doc/faq.html 1970-01-01 01:00:00.000000000 +0100 @@ -1,608 +0,0 @@ - - - - - - Frequently asked questions - - - - - -
- dirac banner 
-      logo -
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -Home -
- -Introduction -
- -FAQ -
- Navigation item arrowSpecification -
- Navigation item arrowDocumentation -
- -licences -
- Navigation item arrow Getting - involved -
- -Contact us -
- Navigation item
-                arrowSourceforge
- Navigation item
-                arrowProject page -
- - Navigation item 
-                arrowDownload -
- Navigation item
-                arrowBrowse CVS -
- Navigation item
-                arrowForums -
-
-
- -Summer of Code 2006
- Navigation item
-                arrowProject ideas -
-
-
- SourceForge.net Logo -
- Valid XHTML 1.1! -
-
- - - - -
- -

Frequently asked questions -

- -

- Who are you guys? -

-

- How did Dirac begin? -

-

- Why is it called Dirac? -

-

- Why are you releasing Dirac Open Source? -

-

- Where can I get Dirac? -

-

- What are the license conditions? -

-

- Are you going to charge for Dirac? -

-

- Do the BBC have patents in Dirac? -

-

- Do you infringe any patents? -

-

- What will you do if you infringe patents? -

-

- Is the BBC going to stream video using - Dirac? -

-

- Are you going to broadcast TV using Dirac? -

-

- What about Ogg Theora? -

-

- How does it work? -

-

- Why did you choose the techniques that you're - using? -

-

- What's with your picture file format? -

-

- How do I play compressed video? -

-

- How do I code video? -

-

- How can I help? -

-

- What needs doing? -

-

- When will Dirac be ready? -

-

- Up
-                  arrowtop -

-

- Horizontal rule -

- -

- Who are you guys? -

-

- Dirac was originally developed at BBC Research at Kingswood - Warren in the UK. The BBC have specialists in compression - technology, and have been working on digital television and - its ramifications since the 1960s. -

-

- Within the BBC, the project leader is Tim Borer, and Thomas - Davies is the guru who understands the algorithm in more - depth than most. The software is managed by Anu Suraparaju. - Today, Peter Bleackley and David Flynn are looking at some of - the hardware aspects of the system. In the recent past, - Andrew Kennedy, Michael Prior-Jones, Chris Bowley and others - have all been involved in the project. Pete Shelswell was the - senior line manager, and more recently acted as editor in - chief for the documentation before his retirement. -

-

- Up
-                  arrowtop -

-

- How did Dirac begin? -

-

- BBC R&D has always been involved in video coding research - as it's central to what the BBC does. -

-

- Thomas began experimenting with compression techniques in - about 2001. The ideas were originally developed as part of an - idea to deliver high definition services as a layered - addition to conventional MPEG-2 broadcasts. As with most - similar proposals, he did not manage to achieve any real - benefit from linking the standard definition and high - definition coding, but the algorithm he used was pretty - efficient in isolation. It was the foundation of Dirac. -

-

- Up
-                  arrowtop -

-

- Why is it called Dirac? -

-

- Dirac is named after the British physicist (of Swiss - extraction) Paul Dirac, who was one of the great figures in - modern physics. We've seen some good explanations on the - 'net, suggesting that we chose the name because the Dirac - delta function is fundamental to signal processing and that - Dirac's work underpins wavelets. Sorry, but the stories - aren't true. We thought of hundreds of names, most of them - awful, some of them good, but most of the good ones had been - used already. Tim suggested Dirac. It sounded good. It stuck. - It was going to be called Camel, so maybe we had a lucky - escape. -

-

- You can find out more about Paul Dirac here. -

-

- Up
-                  arrowtop -

-

- Why are you releasing Dirac Open Source? -

-

- The BBC has always advocated open standards, and has tried to - use them where possible. So far, streaming has been dominated - by proprietary systems and existing licensing regimes for - standards-based systems have not been as attractive as they - might be for large-scale broadcasting, particularly for - Public Service broadcasters. -

-

- Up
-                  arrowtop -

-

- Where can I get Dirac? -

-

- You can download the latest version from the Sourceforge - project page. You can also look at the developing code on - the CVS there. -

-

- Up
-                  arrowtop -

-

- What are the license conditions? -

-

- Dirac is released under the Mozilla triple license (MPL). - This is an Open Source license that allows both free and - commercial use of the software. It also allows for - relicensing under the GPL or the LGPL. -

-

- Up
-                  arrowtop -

-

- Are you going to charge for Dirac? -

-

- No. The terms of the MPL mean that as far as the BBC is - concerned, there will be no charges or royalties for the - Dirac software. -

-

- Up
-                  arrowtop -

-

- Do the BBC have patents in Dirac? -

-

- Yes. We have patent applications in train for some of the - techniques involved in Dirac, and others that we intend to - put into Dirac in the future. There has been some FUD about - this, so we'll be clear: this does not affect the Open Source - status of Dirac, nor does it affect its royalty-free status. - The conditions of the MPL mean that we're licensing these - patents for use within the Dirac software for free. -

-

- Up
-                  arrowtop -

-

- Do you infringe any patents? -

-

- The short answer is that we don't know for certain, but we - don't think so. -

-

- We haven't employed armies of lawyers to trawl through the - tens of thousands of video compression techniques. That's not - the way to invent a successful algorithm. Instead we've tried - to use techniques of long standing in novel ways. Where we - think we're novel, we're in the process of getting patent - protection ourselves, which will invalidate others' claims of - priority. -

-

- There are some areas that are more heavily patented than - others. Arithmetic coding is one such, even though the - technique itself has been around for 25 years. We're keeping - an eye on the situation, and we'll adopt alternative - techniques if we have to. Some of the recent changes in the - algorithm have centred on the arithmetic coding - taking it - away from some of the minefields of prior art that we have - uncovered. -

-

- Up
-                  arrowtop -

-

- What will you do if you infringe patents? -

-

- Code round them, first and foremost. There are many - alternative techniques to each of the technologies used - within Dirac. -

-

- Dirac is relatively modular (which is one reason why it's a - conventional hybrid codec rather than, say, 3D wavelets) so - removing or adding tools was relatively easy. -

-

- Now we are close to a version 1.0. and the bytestream and - decoder functionality are fixed, we have to be a little more - careful. Products are about to come to market and we want to - ensure that they have a useful lifetime. Future changes are - likely to be few and backwards compatible. -

-

- Up
-                  arrowtop -

-

- Is the BBC going to stream video using Dirac? -

-

- A good question. Now we are close to a version 1.0, the BBC - has the opportunity to adopt Dirac for operational use. We - have real-time decoding, integration with players, a - bytestream spec and a choice of transport stream formats. -

-

- What we need to deliver next is hardware which can be used - live for encoding - without that, there is a problem - delivering streaming video at the volumes that the BBC would - expect. -

-

- Up
-                  arrowtop -

-

- Are you going to broadcast TV using Dirac? -

-

- Broadcasting or multicasting over the web is likely to - develop over the next few years, and the technology we use - for this is likely to be the same as for standard streaming. - There is no likelihood at all of replacing our existing - Digital TV infrastructure, based on European DVB standards - and using MPEG-2, with anything new - the installed base of - millions of customers is too large. -

-

- However, DVB is starting to - look at a new modulation system for terrestrial broadcasting. - Perhaps there could be an opportunity here. For DVB to adopt - Dirac, they would have to be able to reference Dirac as a - standard. That begs another question. -

-

- Up
-                  arrowtop -

-

- What about Ogg Theora? -

-

- Theora is coming on very nicely, and has an impressive, - well-defined spec. We think we have much better compression - performance, but you can't have too many free codecs. The - Open Source community needs to continue to develop codecs - with increasingly better performance. Theora has helped - create a pool of Open Source compression experts, which is of - benefit to everyone in the field. -

-

- We intend to pack the Dirac elementary stream into MXF, which - has lots of useful features. That doesn't preclude it packing - into Ogg (or Matroska, or anything else) as well, and it's - probably a good idea to have a variety of packing formats. - For this the elementary stream needs to be very well defined. -

-

- Up
-                  arrow top -

-

- How does it work? -

-

- See the algorithm - documentation -

-

- Up
-                  arrowtop -

-

- Why did you choose the techniques that you're - using? -

-

- We chose wavelets for a number of reasons. They perform very - well in still image compression, and can be said to be state - of the art there. They also provide a degree of scalability, - so a codec based on wavelets can perform well across a range - of video standards. By scalability we don't mean embedded - bitstreams or the ability to extract lower-resolution video - from higher-resolution bitstreams - Dirac doesn't do this as - it's very complex - only the flexibility to apply the same - tools to a range of resolutions, perhaps with different - parameters. Wavelet coding is also a well-studied and - well-understood field. -

-

- Overlapped block motion compensation is used to reduce - blockiness and ease the job of the wavelet transform in - coding motion compensated differences. The wavelet transform - may not be the best tool to do this, and we'd welcome other - contributions, but it does have the benefit of simplicity in - that the tools for all frame types are the same. Dirac - supports more or less any block sizes for motion compensation - and this again helps in scaling the algorithms as larger - blocks can be used for higher resolution pictures and smaller - ones for low resolution pictures. -

-

- Up
-                  arrowtop -

-

- What's with your picture file format? -

-

- Dirac now just uses raw planar YUV, and there's no need to - create a header anymore. We also have patches for ffmpeg and - transcode, so you can use any of the formats they - support. We've also got some tools for converting formats to - and from the raw format, and there's advice on using these in - the users - README in the distribution. -

-

- Up
-                  arrowtop -

-

- How do I play compressed video? -

-

- We have a DirectShow filter which you can download, and a - patch for MPlayer. -

-

- There are also software decoders - see the SourceForge and - Schrödinger web sites. -

-

- Up
-                  arrowtop -

-

- How do I code video? -

-

- You can use the encoder directly, using raw video in planar - YUV format. Or you can download and install the patches for - ffmpeg or transcode and use those. -

-

- Up
-                  arrowtop -

-

- How can I help? -

-

- By telling people about Dirac. By contributing to the code. - See getting involved or - contact us to find out more. -

-

- Up
-                  arrowtop -

-

- What needs doing? -

-

- There's still a lot to do. We need optimisation work for the - encoder and decoder - the encoder in particular will always - benefit from speeding up. We also need to integrate tools - like global motion, and optimise other tools. Another thing - we lack is a buffer model and constant bit-rate encoding. -

-

- For a full(er) list, see the TODO - list. -

-

- Up
-                  arrowtop -

-

- When will Dirac be ready? -

-

- It depends what you mean by ready. -

-

- We already have a specification that can be used for real. We - can code in non-real time in software, and for many - application real-time decoding is now feasible. What we have - not yet delivered is real hardware coders for main-stream - use. That is the next phase of the project. -

-

- Up
-                  arrowtop -

-
-
- - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/Makefile.am /tmp/1tgnNoYBLI/dirac-1.0.2/doc/Makefile.am --- dirac-0.9.1/doc/Makefile.am 2005-11-15 15:33:44.000000000 +0000 +++ dirac-1.0.2/doc/Makefile.am 2008-09-16 05:02:57.000000000 +0100 @@ -1,29 +1,21 @@ -# $Id: Makefile.am,v 1.14 2005/11/15 15:33:44 asuraparaju Exp $ +# $Id: Makefile.am,v 1.17 2008/09/16 04:02:57 asuraparaju Exp $ # # dirac_api.doxygen.in is not yet in use -EXTRA_DIST = $(faq_DATA) +EXTRA_DIST = dirac_api.doxygen dirac_api_foot.html dirac_api_head.html -docdir= $(datadir)/doc/$(GENERIC_LIBRARY_NAME)/documentation -faqdir= $(datadir)/doc/$(GENERIC_LIBRARY_NAME) -maindocdir = $(datadir)/doc/$(GENERIC_LIBRARY_NAME) -if HAVE_ALGO -maindoc_DATA = $(srcdir)/index.html -endif +CLEANFILES = html/* -uninstall-local: - rm -rf $(DESTDIR)$(docdir) - rm -f $(DESTDIR)$(maindocdir)/*.html - rm -f $(DESTDIR)$(maindocdir)/*.css - rm -fr $(DESTDIR)$(maindocdir)/images +htmldir = $(datadir)/doc/$(GENERIC_LIBRARY_NAME)/code/api_html -faq_DATA = faq.html todo.html dirac_bitstream.txt +html_DATA = html/index.html + +html/index.html: dirac_api.doxygen + SOURCEDIR="$(top_srcdir)" \ + HAVEDOT="$(HAVE_DOT)" \ + doxygen $(srcdir)/dirac_api.doxygen -if HAVE_ALGO install-data-hook: - cp -dp $(srcdir)/*.html $(DESTDIR)$(maindocdir) - cp -dp $(srcdir)/*.css $(DESTDIR)$(maindocdir) - cp -dpr $(srcdir)/images $(DESTDIR)$(maindocdir) -endif -SUBDIRS = documentation + cp -dR html/* $(DESTDIR)$(htmldir) + diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/doc/Makefile.in --- dirac-0.9.1/doc/Makefile.in 2008-01-26 12:30:35.000000000 +0000 +++ dirac-1.0.2/doc/Makefile.in 2009-02-11 01:43:37.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in 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. @@ -14,18 +14,14 @@ @SET_MAKE@ -# $Id: Makefile.am,v 1.14 2005/11/15 15:33:44 asuraparaju Exp $ +# $Id: Makefile.am,v 1.17 2008/09/16 04:02:57 asuraparaju Exp $ # -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -42,7 +38,8 @@ subdir = doc DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -50,29 +47,18 @@ CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ - html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(faqdir)" "$(DESTDIR)$(maindocdir)" -faqDATA_INSTALL = $(INSTALL_DATA) -maindocDATA_INSTALL = $(INSTALL_DATA) -DATA = $(faq_DATA) $(maindoc_DATA) -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) +am__installdirs = "$(DESTDIR)$(htmldir)" +htmlDATA_INSTALL = $(INSTALL_DATA) +DATA = $(html_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ +ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ @@ -95,62 +81,46 @@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ GENERIC_RELEASE = @GENERIC_RELEASE@ GENERIC_VERSION = @GENERIC_VERSION@ GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBEXT = @LIBEXT@ LIBFLAGS = @LIBFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -159,22 +129,19 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -186,9 +153,10 @@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ -docdir = $(datadir)/doc/$(GENERIC_LIBRARY_NAME)/documentation +docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ @@ -196,7 +164,7 @@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ -htmldir = @htmldir@ +htmldir = $(datadir)/doc/$(GENERIC_LIBRARY_NAME)/code/api_html includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ @@ -204,6 +172,7 @@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -213,17 +182,18 @@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ # dirac_api.doxygen.in is not yet in use -EXTRA_DIST = $(faq_DATA) -faqdir = $(datadir)/doc/$(GENERIC_LIBRARY_NAME) -maindocdir = $(datadir)/doc/$(GENERIC_LIBRARY_NAME) -@HAVE_ALGO_TRUE@maindoc_DATA = $(srcdir)/index.html -faq_DATA = faq.html todo.html dirac_bitstream.txt -SUBDIRS = documentation -all: all-recursive +EXTRA_DIST = dirac_api.doxygen dirac_api_foot.html dirac_api_head.html +CLEANFILES = html/* +html_DATA = html/index.html +all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @@ -261,194 +231,46 @@ clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -install-faqDATA: $(faq_DATA) +install-htmlDATA: $(html_DATA) @$(NORMAL_INSTALL) - test -z "$(faqdir)" || $(mkdir_p) "$(DESTDIR)$(faqdir)" - @list='$(faq_DATA)'; for p in $$list; do \ + test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)" + @list='$(html_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ - echo " $(faqDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(faqdir)/$$f'"; \ - $(faqDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(faqdir)/$$f"; \ + echo " $(htmlDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(htmldir)/$$f'"; \ + $(htmlDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(htmldir)/$$f"; \ done -uninstall-faqDATA: +uninstall-htmlDATA: @$(NORMAL_UNINSTALL) - @list='$(faq_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(faqdir)/$$f'"; \ - rm -f "$(DESTDIR)$(faqdir)/$$f"; \ - done -install-maindocDATA: $(maindoc_DATA) - @$(NORMAL_INSTALL) - test -z "$(maindocdir)" || $(mkdir_p) "$(DESTDIR)$(maindocdir)" - @list='$(maindoc_DATA)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + @list='$(html_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ - echo " $(maindocDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(maindocdir)/$$f'"; \ - $(maindocDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(maindocdir)/$$f"; \ + echo " rm -f '$(DESTDIR)$(htmldir)/$$f'"; \ + rm -f "$(DESTDIR)$(htmldir)/$$f"; \ done - -uninstall-maindocDATA: - @$(NORMAL_UNINSTALL) - @list='$(maindoc_DATA)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(maindocdir)/$$f'"; \ - rm -f "$(DESTDIR)$(maindocdir)/$$f"; \ - done - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ - done - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique tags: TAGS +TAGS: -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here +CTAGS: -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -459,38 +281,22 @@ || exit 1; \ fi; \ done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ - || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ - distdir) \ - || exit 1; \ - fi; \ - done check-am: all-am -check: check-recursive +check: check-am all-am: Makefile $(DATA) -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(faqdir)" "$(DESTDIR)$(maindocdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ +installdirs: + for dir in "$(DESTDIR)$(htmldir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -installcheck: installcheck-recursive +installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ @@ -499,6 +305,7 @@ mostlyclean-generic: clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) @@ -506,85 +313,84 @@ maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -@HAVE_ALGO_FALSE@install-data-hook: -clean: clean-recursive +clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am -distclean: distclean-recursive +distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags +distclean-am: clean-am distclean-generic -dvi: dvi-recursive +dvi: dvi-am dvi-am: -html: html-recursive +html: html-am -info: info-recursive +info: info-am info-am: -install-data-am: install-faqDATA install-maindocDATA +install-data-am: install-htmlDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook +install-dvi: install-dvi-am + install-exec-am: -install-info: install-info-recursive +install-html: install-html-am + +install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: -maintainer-clean: maintainer-clean-recursive +maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic -mostlyclean: mostlyclean-recursive +mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool -pdf: pdf-recursive +pdf: pdf-am pdf-am: -ps: ps-recursive +ps: ps-am ps-am: -uninstall-am: uninstall-faqDATA uninstall-info-am uninstall-local \ - uninstall-maindocDATA +uninstall-am: uninstall-htmlDATA + +.MAKE: install-am install-data-am install-strip -uninstall-info: uninstall-info-recursive +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-data-hook install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-htmlDATA install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am uninstall uninstall-am uninstall-htmlDATA + + +html/index.html: dirac_api.doxygen + SOURCEDIR="$(top_srcdir)" \ + HAVEDOT="$(HAVE_DOT)" \ + doxygen $(srcdir)/dirac_api.doxygen -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ - clean clean-generic clean-libtool clean-recursive ctags \ - ctags-recursive distclean distclean-generic distclean-libtool \ - distclean-recursive distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-data-hook install-exec install-exec-am \ - install-faqDATA install-info install-info-am \ - install-maindocDATA install-man install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive \ - mostlyclean mostlyclean-generic mostlyclean-libtool \ - mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am uninstall-faqDATA uninstall-info-am \ - uninstall-local uninstall-maindocDATA - - -uninstall-local: - rm -rf $(DESTDIR)$(docdir) - rm -f $(DESTDIR)$(maindocdir)/*.html - rm -f $(DESTDIR)$(maindocdir)/*.css - rm -fr $(DESTDIR)$(maindocdir)/images - -@HAVE_ALGO_TRUE@install-data-hook: -@HAVE_ALGO_TRUE@ cp -dp $(srcdir)/*.html $(DESTDIR)$(maindocdir) -@HAVE_ALGO_TRUE@ cp -dp $(srcdir)/*.css $(DESTDIR)$(maindocdir) -@HAVE_ALGO_TRUE@ cp -dpr $(srcdir)/images $(DESTDIR)$(maindocdir) +install-data-hook: + cp -dR html/* $(DESTDIR)$(htmldir) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/doc/todo.html /tmp/1tgnNoYBLI/dirac-1.0.2/doc/todo.html --- dirac-0.9.1/doc/todo.html 2008-01-23 00:40:04.000000000 +0000 +++ dirac-1.0.2/doc/todo.html 1970-01-01 01:00:00.000000000 +0100 @@ -1,641 +0,0 @@ - - - - Dirac Video Codec - - - - - -
Dirac Home
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Navigation item arrowHome
Navigation item arrowIntroduction
Navigation item arrowFAQ
Navigation item arrowSpecification
Navigation item arrowDocumentation -
- Navigation item arrowSupport -
- Navigation item arrowAlgorithm - -
- Navigation item arrowCode -
- Navigation item arrowTools -
- Navigation item arrowPublications -
Navigation item arrowLicences
Navigation item arrowGetting -involved
Navigation item arrowContact -us
Navigation item arrowSourceforge -
- Navigation item arrowProject -page
- - Navigation item arrowDownload
- Navigation item arrowBrowse -CVS
- Navigation item arrowForums
-
Navigation item arrowSummer -of Code 2006
- - Navigation item arrowProject -ideas
-

-
SourceForge.net Logo
Valid XHTML 1.1!
-
- - - - - - - -
-

Dirac -to do list -

-

Last revised Jan 2008.

- -

The tables below -show the latest version of the task -list for Dirac. Tasks are separated into which release they will -feature in.

-

For further -information regarding table information, -see the table -key below.

-Tasks to be included in release 0.6: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
DescriptionTypeScopeSizeStateAllocated
Algorithm -updateDocumentationAlgorithmSIn progressThomas
Bit stream -syntaxDocumentationImplementationMIn progress. Version 1.0.0 and 2.0.0 releasedThomas, Tim, David
-
Bit stream -syntaxNew featureImplementationXLIn progressTeam
Refactor -motion estimationNo function -changeImplementationM/LCompleted
- -
Thomas
Integration -with Multimedia Players and Video processing tools
-
UtilityImplementationMPatches available for MPlayer, FFmpeg and -Transcode -included since release 0.5.2Anu, Andrew
Constant -quality coding metricsNo function -changeAlgorithmMCompletedThomas
Variable -transform depthsNew featureImplementationMCompleted
- -
Anu, Andrew
-
Multiple -sub-band quantiser modesNew featureAlgorithmMIn progressThomas
Different -wavelet transformsNew featureImplementationMCompletedThomas
Refactoring -motion compensationNo function -changeImplementationMCompleted: -multiple precisions supportedMike -Ferenduros, Steve Bearcroft, Thomas
Refactoring -IO (PicIO and bitstream IO)No function -changeImplementationMCompleted
-
Andrew, Anu
-
-

- - Up arrowtop -

-


-
-Tasks to be included in the future... at some point... honest:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
DescriptionTypeScopeSizeStateAllocated
Constant -bitrate buffer modelNew featureAlgorithmLNot startedThomas
Defining bit -depths
-(fixed point implementation)
New featureAlgorithmMNot started
-
Region of -interest codingNew featureAlgorithmMNot started
- -
Interlace -codingNew featureAlgorithmXLNot started
-
DirectShow -filtersUtilityImplementationLCompleted
MXF wrappingNew featureImplementationLNot startedAnu, Andrew
Hardware -implementationHardwareDesignLIn progressPeter,
-Eric Rannaud,
-David Flynn
Optimising -RDONo function -changeImplementationMNot started
-
Real-time -codingNo function -changeImplementationLNot started
- -
Code -architecture assessmentNo function -changeDesignMNot startedTeam
Method -testingNo function -changeTestLIn progressAndrew
Class -testingNo function -changeTestLIn progressAndrew
Sub-system -testingNo function -changeTestLIn progressAndrew
Use -case testingNo function -changeTestLIn progressAndrew
End-to-end -testingNo function -changeTestLIn progressAndrew
Performance -testingNo function -changeTestLIn progressAndrew
Portability -testingNo function -changeTestLIn progressAndrew
Load -testingNo function -changeTestLIn progressAndrew
-

- Up arrowtop -

-


-
- Table -information key

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ColumnOptionNotes
Description
-
Description -of task
TypeDocumentationDocument
New -featureAdditional -codec function
No -function changeNo -change to function
UtilityAuxiliary -application
HardwareHardware -implementation
ScopeAlgorithmChange to -algorithm
ImplementationChange to -code implementation
DesignChange to -design / code structure
TestTest -procedure
Size
-
S(mall), -M(edium), L(arge)
StateNot startedIdentified -but yet to be started
In progressCurrent
CompletedDone
Allocated
-
BBC -R&D Team member -assigned to task or  external contributor
-
- -

- Up arrowtop -

-
-
- - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/encoder/encmain.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/encoder/encmain.cpp --- dirac-0.9.1/encoder/encmain.cpp 2008-01-03 03:36:30.000000000 +0000 +++ dirac-1.0.2/encoder/encmain.cpp 2008-10-29 02:42:06.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * - * $Id: encmain.cpp,v 1.65 2008/01/03 03:36:30 asuraparaju Exp $ $Name: Dirac_0_9_1 $ + * $Id: encmain.cpp,v 1.86 2008/10/29 02:42:06 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -54,6 +54,9 @@ #include #include #include +#include +#include +#include using namespace std; @@ -83,9 +86,14 @@ cout << "\nHD1080I50 bool false Use HD-1080I50 compression presets"; cout << "\nHD1080P60 bool false Use HD-1080P60 compression presets"; cout << "\nHD1080P50 bool false Use HD-1080P50 compression presets"; + cout << "\nUHDTV4K60 bool false Use UHDTV 4K60 compression presets"; + cout << "\nUHDTV4K50 bool false Use UHDTV 4K50 compression presets"; + cout << "\nUHDTV8K60 bool false Use UHDTV 8K60 compression presets"; + cout << "\nUHDTV8K50 bool false Use UHDTV 8K50 compression presets"; cout << "\nDC2K24 bool false Use DIGITAL CINEMA 2K compression presets"; cout << "\nDC4K24 bool false Use DIGITAL CINEMA 4K compression presets"; cout << "\nfull_search ulong ulong 0UL 0UL Use full search motion estimation"; + cout << "\ncombined_me bool false Use a combination of all 3 components to do ME"; cout << "\nwidth ulong Preset Width of frame"; cout << "\nheight ulong Preset Length of frame"; cout << "\nheight ulong Preset Length of frame"; @@ -105,16 +113,17 @@ cout << "\nqf float 0.0F Overall quality factor (>0, typically: 7=medium, 9=high)"; cout << "\ntargetrate ulong 0UL Target Bit Rate in Kbps"; cout << "\nlossless bool false Lossless coding (overrides qf)"; - cout << "\niwlt_filter string DD9_7 Intra frame Transform Filter (DD9_7 LEGALL5_3 DD13_7 HAAR0 HAAR1 FIDELITY DAUB9_7)"; - cout << "\nrwlt_filter string LEGALL5_3 Inter frame Transform Filter (DD9_7 LEGALL5_3 DD13_7 HAAR0 HAAR1 FIDELITY DAUB9_7)"; + cout << "\niwlt_filter string DD13_7 Intra frame Transform Filter (DD9_7 LEGALL5_3 DD13_7 HAAR0 HAAR1 FIDELITY DAUB9_7)"; + cout << "\nrwlt_filter string DD13_7 Inter frame Transform Filter (DD9_7 LEGALL5_3 DD13_7 HAAR0 HAAR1 FIDELITY DAUB9_7)"; cout << "\nwlt_depth ulong 4 Transform Depth"; cout << "\nmulti_quants bool false Use multiple quantisers"; cout << "\nmv_prec string false MV Pixel Precision (1, 1/2, 1/4, 1/8)"; cout << "\nno_spartition bool false Do not use spatial partitioning while coding transform data"; - cout << "\ndenoise bool false Denoise input before coding (NB: PSNR stats will relate to denoised video)"; + cout << "\nprefilter string/int NO_PF 0 Prefilter input giving filter name (NO_PF, CWM, RECTLP, DIAGLP) and strength (0-10)"; cout << "\nuse_vlc bool false Use VLC for entropy coding of coefficients"; - cout << "\nverbose bool false verbose mode"; cout << "\nlocal bool false Write diagnostics & locally decoded video"; + cout << "\nverbose bool false Verbose mode"; + cout << "\nh|help bool false Display help message"; cout << "\ninput string [ required ] Input file name"; cout << "\noutput string [ required ] Output file name [May not be '-']"; cout << endl; @@ -194,8 +203,8 @@ fdata.exceptions (ios::failbit | ios::badbit); try { - fdata << std::endl << "[frame:" << instr.fnum << "]"; - if (instr.ftype == INTRA_FRAME) + fdata << std::endl << "[frame:" << instr.pnum << "]"; + if (instr.ptype == INTRA_PICTURE) { fdata << ">intra" << std::endl; return true; @@ -208,21 +217,21 @@ fdata << instr.refs[i] << " "; } fdata << instr.ybsep << " " << instr.xbsep << " "; - fdata << instr.mb_ylen << " " << instr.mb_xlen << " "; + fdata << instr.sb_ylen << " " << instr.sb_xlen << " "; fdata << instr.mv_ylen << " " << instr.mv_xlen << std::endl << std::endl ; - for (int j=0; j 5) + if(enc_ctx.enc_params.wlt_depth > 4) cerr << "Exceeds maximum transform depth "; else parsed[i] = true; @@ -945,12 +1049,6 @@ return false; } - /* check that we have been suplied with input and output files */ - if(parsed[argc-2] || parsed[argc-1]) { - std::cerr<enc_buf.buffer = video_buf; encoder->enc_buf.size = VIDEO_BUFFER_SIZE; state = dirac_encoder_output ( encoder ); - switch (state) { + switch (state) + { case ENC_STATE_AVAIL: assert (encoder->enc_buf.size > 0); outfile.write((char *)encoder->enc_buf.buffer, encoder->enc_buf.size); - pictures_written++; break; case ENC_STATE_BUFFER: break; - + case ENC_STATE_EOS: + outfile.write((char *)encoder->enc_buf.buffer, + encoder->enc_buf.size); + go = false; + break; case ENC_STATE_INVALID: std::cerr << "Invalid state. Unrecoverable Encoder Error. Quitting..." << std::endl; @@ -1149,31 +1262,23 @@ } while (state == ENC_STATE_AVAIL); - } while (pictures_written/fields_factor <= (end_pos - start_pos) && - end_of_file == false); + } while (go); stop_t = clock(); - encoder->enc_buf.buffer = video_buf; - encoder->enc_buf.size = VIDEO_BUFFER_SIZE; - if (dirac_encoder_end_sequence( encoder ) > 0) - { - outfile.write((char *)encoder->enc_buf.buffer, - encoder->enc_buf.size); - - if ( verbose ) - std::cout << "The resulting bit-rate at " - << (double)encoder->enc_ctx.src_params.frame_rate.numerator/ - encoder->enc_ctx.src_params.frame_rate.denominator - << "Hz is " << encoder->enc_seqstats.bit_rate - << " bits/sec." << std::endl; - - if ( verbose ) - std::cout<<"Time per frame: "<< - (double)(stop_t-start_t)/(double)(CLOCKS_PER_SEC*pictures_written/fields_factor); - std::cout<enc_ctx.src_params.frame_rate.numerator/ + encoder->enc_ctx.src_params.frame_rate.denominator + << "Hz is " << encoder->enc_seqstats.bit_rate + << " bits/sec." << std::endl; + if ( verbose ) + { + std::cout<<"Time per frame: "<< + (double)(stop_t-start_t)/(double)(CLOCKS_PER_SEC*frames_loaded); + std::cout<&2 + exit 1;; + esac + shift;; -o) chowncmd="$chownprog $2" - shift - shift - continue;; - - -s) stripcmd=$stripprog - shift - continue;; - - -t) dstarg=$2 - shift - shift - continue;; - - -T) no_target_directory=true - shift - continue;; + shift;; + + -s) stripcmd=$stripprog;; + + -t) dst_arg=$2 + shift;; + + -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; - *) # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - test -n "$dir_arg$dstarg" && break - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dstarg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dstarg" - shift # fnord - fi - shift # arg - dstarg=$arg - done + --) shift break;; + + -*) echo "$0: invalid option: $1" >&2 + exit 1;; + + *) break;; esac + shift done -if test -z "$1"; then +if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then + # When -d is used, all remaining arguments are directories to create. + # When -t is used, the destination is already specified. + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dst_arg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dst_arg" + shift # fnord + fi + shift # arg + dst_arg=$arg + done +fi + +if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 @@ -164,24 +199,47 @@ exit 0 fi +if test -z "$dir_arg"; then + trap '(exit $?); exit' 1 2 13 15 + + # Set umask so as not to create temps with too-generous modes. + # However, 'strip' requires both read and write access to temps. + case $mode in + # Optimize common cases. + *644) cp_umask=133;; + *755) cp_umask=22;; + + *[0-7]) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw='% 200' + fi + cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; + *) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw=,u+rw + fi + cp_umask=$mode$u_plus_rw;; + esac +fi + for src do # Protect names starting with `-'. case $src in - -*) src=./$src ;; + -*) src=./$src;; esac if test -n "$dir_arg"; then dst=$src - src= - - if test -d "$dst"; then - mkdircmd=: - chmodcmd= - else - mkdircmd=$mkdirprog - fi + dstdir=$dst + test -d "$dstdir" + dstdir_status=$? else + # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. @@ -190,71 +248,199 @@ exit 1 fi - if test -z "$dstarg"; then + if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi - dst=$dstarg + dst=$dst_arg # Protect names starting with `-'. case $dst in - -*) dst=./$dst ;; + -*) dst=./$dst;; esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then - echo "$0: $dstarg: Is a directory" >&2 + echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi - dst=$dst/`basename "$src"` + dstdir=$dst + dst=$dstdir/`basename "$src"` + dstdir_status=0 + else + # Prefer dirname, but fall back on a substitute if dirname fails. + dstdir=` + (dirname "$dst") 2>/dev/null || + expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$dst" : 'X\(//\)[^/]' \| \ + X"$dst" : 'X\(//\)$' \| \ + X"$dst" : 'X\(/\)' \| . 2>/dev/null || + echo X"$dst" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q' + ` + + test -d "$dstdir" + dstdir_status=$? fi fi - # This sed command emulates the dirname command. - dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'` - - # Make sure that the destination directory exists. + obsolete_mkdir_used=false - # Skip lots of stat calls in the usual case. - if test ! -d "$dstdir"; then - defaultIFS=' - ' - IFS="${IFS-$defaultIFS}" - - oIFS=$IFS - # Some sh's can't handle IFS=/ for some reason. - IFS='%' - set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` - shift - IFS=$oIFS + if test $dstdir_status != 0; then + case $posix_mkdir in + '') + # Create intermediate dirs using mode 755 as modified by the umask. + # This is like FreeBSD 'install' as of 1997-10-28. + umask=`umask` + case $stripcmd.$umask in + # Optimize common cases. + *[2367][2367]) mkdir_umask=$umask;; + .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; + + *[0-7]) + mkdir_umask=`expr $umask + 22 \ + - $umask % 100 % 40 + $umask % 20 \ + - $umask % 10 % 4 + $umask % 2 + `;; + *) mkdir_umask=$umask,go-w;; + esac + + # With -d, create the new directory with the user-specified mode. + # Otherwise, rely on $mkdir_umask. + if test -n "$dir_arg"; then + mkdir_mode=-m$mode + else + mkdir_mode= + fi + + posix_mkdir=false + case $umask in + *[123567][0-7][0-7]) + # POSIX mkdir -p sets u+wx bits regardless of umask, which + # is incompatible with FreeBSD 'install' when (umask & 300) != 0. + ;; + *) + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 + + if (umask $mkdir_umask && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/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-writeable 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"` + 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"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/d" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null + fi + trap '' 0;; + esac;; + esac - pathcomp= + if + $posix_mkdir && ( + umask $mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" + ) + then : + else - while test $# -ne 0 ; do - pathcomp=$pathcomp$1 + # The umask is ridiculous, or mkdir does not conform to POSIX, + # or it failed possibly due to a race condition. Create the + # directory the slow way, step by step, checking for races as we go. + + case $dstdir in + /*) prefix='/';; + -*) prefix='./';; + *) prefix='';; + esac + + eval "$initialize_posix_glob" + + oIFS=$IFS + IFS=/ + $posix_glob set -f + set fnord $dstdir shift - if test ! -d "$pathcomp"; then - $mkdirprog "$pathcomp" - # mkdir can fail with a `File exist' error in case several - # install-sh are creating the directory concurrently. This - # is OK. - test -d "$pathcomp" || exit + $posix_glob set +f + IFS=$oIFS + + prefixes= + + for d + do + test -z "$d" && continue + + prefix=$prefix$d + if test -d "$prefix"; then + prefixes= + else + if $posix_mkdir; then + (umask=$mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break + # Don't fail if two instances are running concurrently. + test -d "$prefix" || exit 1 + else + case $prefix in + *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; + *) qprefix=$prefix;; + esac + prefixes="$prefixes '$qprefix'" + fi + fi + prefix=$prefix/ + done + + if test -n "$prefixes"; then + # Don't fail if two instances are running concurrently. + (umask $mkdir_umask && + eval "\$doit_exec \$mkdirprog $prefixes") || + test -d "$dstdir" || exit 1 + obsolete_mkdir_used=true fi - pathcomp=$pathcomp/ - done + fi fi if test -n "$dir_arg"; then - $doit $mkdircmd "$dst" \ - && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ - && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ - && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ - && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } - + { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && + { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || + test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else - dstfile=`basename "$dst"` # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ @@ -262,10 +448,9 @@ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - trap '(exit $?); exit' 1 2 13 15 # Copy the file name to the temp name. - $doit $cpprog "$src" "$dsttmp" && + (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # @@ -273,47 +458,58 @@ # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ - && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ - && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ - && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && - - # Now rename the file to the real destination. - { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ - || { - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. - - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - if test -f "$dstdir/$dstfile"; then - $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ - || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ - || { - echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 - (exit 1); exit 1 - } - else - : - fi - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" - } - } - fi || { (exit 1); exit 1; } -done + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && + { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && + { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && + + # If -C, don't bother to copy if it wouldn't change the file. + if $copy_on_change && + old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && + new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && + + eval "$initialize_posix_glob" && + $posix_glob set -f && + set X $old && old=:$2:$4:$5:$6 && + set X $new && new=:$2:$4:$5:$6 && + $posix_glob set +f && + + test "$old" = "$new" && + $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 + then + rm -f "$dsttmp" + else + # Rename the file to the real destination. + $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || -# The final little trick to "correctly" pass the exit status to the exit trap. -{ - (exit 0); exit 0 -} + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + { + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + test ! -f "$dst" || + $doit $rmcmd -f "$dst" 2>/dev/null || + { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && + { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } + } || + { echo "$0: cannot unlink or rename $dst" >&2 + (exit 1); exit 1 + } + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dst" + } + fi || exit 1 + + trap '' 0 + fi +done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/accessunit_byteio.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/accessunit_byteio.cpp --- dirac-0.9.1/libdirac_byteio/accessunit_byteio.cpp 2007-11-16 04:48:44.000000000 +0000 +++ dirac-1.0.2/libdirac_byteio/accessunit_byteio.cpp 2008-08-14 01:51:08.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: accessunit_byteio.cpp,v 1.5 2007/11/16 04:48:44 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: accessunit_byteio.cpp,v 1.7 2008/08/14 00:51:08 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -42,16 +42,17 @@ using namespace dirac; // Constructor for encoding -AccessUnitByteIO::AccessUnitByteIO( SourceParams& src_params, CodecParams& codec_params): +SequenceHeaderByteIO::SequenceHeaderByteIO( SourceParams& src_params, + EncoderParams& enc_params): ParseUnitByteIO(), -m_parseparams_byteio(*this), +m_parseparams_byteio(*this, m_parse_params, enc_params), // create default source parameters for comparisions m_default_src_params(src_params.GetVideoFormat()), m_src_params(src_params), m_sourceparams_byteio( m_src_params, m_default_src_params, *this), -m_codec_params(codec_params), +m_codec_params(enc_params), m_codingparams_byteio(m_src_params, m_codec_params, m_default_src_params, @@ -60,7 +61,7 @@ } // Constructor for decoding -AccessUnitByteIO::AccessUnitByteIO(const ParseUnitByteIO& parseunit_byteio, +SequenceHeaderByteIO::SequenceHeaderByteIO(const ParseUnitByteIO& parseunit_byteio, ParseParams& parse_params, SourceParams& src_params, CodecParams& codec_params) : @@ -78,12 +79,12 @@ { } -AccessUnitByteIO::~AccessUnitByteIO() +SequenceHeaderByteIO::~SequenceHeaderByteIO() { } //-----public------------------------------------------------------ -bool AccessUnitByteIO::Input() +bool SequenceHeaderByteIO::Input() { //int o=mp_stream->tellg(); InputParseParams(); @@ -110,7 +111,7 @@ return true; } -void AccessUnitByteIO::Output() +void SequenceHeaderByteIO::Output() { OutputParseParams(); @@ -124,7 +125,7 @@ } -int AccessUnitByteIO::GetSize() const +int SequenceHeaderByteIO::GetSize() const { return ParseUnitByteIO::GetSize()+ m_parseparams_byteio.GetSize()+ @@ -137,7 +138,7 @@ //-------private------------------------------------------------------- -unsigned char AccessUnitByteIO::CalcParseCode() const +unsigned char SequenceHeaderByteIO::CalcParseCode() const { unsigned char code = 0; @@ -147,7 +148,7 @@ } -void AccessUnitByteIO::InputSourceParams() +void SequenceHeaderByteIO::InputSourceParams() { // copy current input params m_sourceparams_byteio.SetByteParams(*this); @@ -155,12 +156,12 @@ m_sourceparams_byteio.Input(); } -void AccessUnitByteIO::InputParseParams() +void SequenceHeaderByteIO::InputParseParams() { m_parseparams_byteio.Input(); } -void AccessUnitByteIO::InputCodingParams() +void SequenceHeaderByteIO::InputCodingParams() { // copy current input params m_codingparams_byteio.SetByteParams(m_sourceparams_byteio); @@ -168,7 +169,7 @@ m_codingparams_byteio.Input(); } -void AccessUnitByteIO::OutputSourceParams() +void SequenceHeaderByteIO::OutputSourceParams() { // copy current output params m_sourceparams_byteio.SetByteParams(*this); @@ -176,12 +177,12 @@ m_sourceparams_byteio.Output(); } -void AccessUnitByteIO::OutputParseParams() +void SequenceHeaderByteIO::OutputParseParams() { m_parseparams_byteio.Output(); } -void AccessUnitByteIO::OutputCodingParams() +void SequenceHeaderByteIO::OutputCodingParams() { // copy current output params m_codingparams_byteio.SetByteParams(m_sourceparams_byteio); diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/accessunit_byteio.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/accessunit_byteio.h --- dirac-0.9.1/libdirac_byteio/accessunit_byteio.h 2007-11-16 04:54:24.000000000 +0000 +++ dirac-1.0.2/libdirac_byteio/accessunit_byteio.h 2008-08-14 01:51:08.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: accessunit_byteio.h,v 1.5 2007/11/16 04:54:24 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: accessunit_byteio.h,v 1.7 2008/08/14 00:51:08 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -37,7 +37,7 @@ * ***** END LICENSE BLOCK ***** */ /** -* Definition of class AccessUnitByteIO +* Definition of class SequenceHeaderByteIO */ #ifndef accessunit_byteio_h #define accessunit_byteio_h @@ -53,17 +53,17 @@ /** * A random access point within a Dirac bytestream */ - class AccessUnitByteIO : public ParseUnitByteIO + class SequenceHeaderByteIO : public ParseUnitByteIO { public: /** * Constructor (encoding) *@param src_params Source parameters for current AccessUnit - *@param codec_params Coding parameters for current AccessUnit + *@param enc_params Encoder parameters for current AccessUnit */ - AccessUnitByteIO( SourceParams& src_params, - CodecParams& codec_params); + SequenceHeaderByteIO( SourceParams& src_params, + EncoderParams& enc_params); /** * Constructor (decoding) @@ -72,7 +72,7 @@ *@param src_params Destination of source paramters data *@param codec_params Destination of coding paramters data */ - AccessUnitByteIO(const ParseUnitByteIO& parseunit_byteio, + SequenceHeaderByteIO(const ParseUnitByteIO& parseunit_byteio, ParseParams& parse_params, SourceParams& src_params, CodecParams& codec_params); @@ -80,7 +80,7 @@ /** * Destructor */ - ~AccessUnitByteIO(); + ~SequenceHeaderByteIO(); /** * Parses data in Dirac-stream format (decoding) @@ -139,6 +139,12 @@ * Output coding attributes for bytestream-compatible output (encoding) */ void OutputCodingParams(); + + /** + * Current parse parameters + */ + ParseParams m_parse_params; + /** * Parse-params byte input/output diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/byteio.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/byteio.cpp --- dirac-0.9.1/libdirac_byteio/byteio.cpp 2007-11-16 04:48:44.000000000 +0000 +++ dirac-1.0.2/libdirac_byteio/byteio.cpp 2008-03-14 08:17:36.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: byteio.cpp,v 1.3 2007/11/16 04:48:44 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: byteio.cpp,v 1.4 2008/03/14 08:17:36 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -258,17 +258,18 @@ return nbits; } -void ByteIO::WriteSint(const int val) +void ByteIO::WriteSint(int val) { + unsigned int value = (val >= 0 ? val : -val); //output magnitude - WriteUint(abs(val)); + WriteUint(value); //do sign if (val<0) WriteBit(1); else if (val>0) WriteBit(0); } -void ByteIO::WriteUint(const unsigned int& value) +void ByteIO::WriteUint(unsigned int value) { unsigned int val = value+1; diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/byteio.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/byteio.h --- dirac-0.9.1/libdirac_byteio/byteio.h 2008-01-22 07:38:37.000000000 +0000 +++ dirac-1.0.2/libdirac_byteio/byteio.h 2009-01-21 05:18:09.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: byteio.h,v 1.7 2008/01/22 07:38:37 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: byteio.h,v 1.11 2009/01/21 05:18:09 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -46,6 +46,7 @@ #include // IO classes #include // IO classes #include // setw +#include // CHAR_BIT //LOCAL INCLUDEs #include // stores stats @@ -128,7 +129,7 @@ *@param value Integer to be output */ //void OutputVarLengthUint(const unsigned int& value); - void WriteUint(const unsigned int& value); + void WriteUint(unsigned int value); /** * Sets input size in bits. Read is limited by this @@ -313,7 +314,7 @@ *@param val Integer to be output */ //void OutputVarLengthInt(const int val); - void WriteSint(const int val); + void WriteSint(int val); /** * Output unsigned int value in big endian format @@ -358,7 +359,7 @@ /** * VLC entropy coder can see internals for getting/setting bits */ - friend class BandVLC; + friend class ArithCodecToVLCAdapter; /** * Char used for temporary storage of op data bits diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/codingparams_byteio.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/codingparams_byteio.cpp --- dirac-0.9.1/libdirac_byteio/codingparams_byteio.cpp 2007-12-11 02:27:22.000000000 +0000 +++ dirac-1.0.2/libdirac_byteio/codingparams_byteio.cpp 2008-04-29 09:51:52.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: codingparams_byteio.cpp,v 1.8 2007/12/11 02:27:22 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: codingparams_byteio.cpp,v 1.9 2008/04/29 08:51:52 tjdwave Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -67,18 +67,18 @@ m_codec_params.SetTopFieldFirst(m_src_params.TopFieldFirst()); // Set the dimensions to frame dimensions - m_codec_params.SetOrigXl(m_src_params.Xl()); - m_codec_params.SetOrigYl(m_src_params.Yl()); + m_codec_params.SetXl(m_src_params.Xl()); + m_codec_params.SetYl(m_src_params.Yl()); - m_codec_params.SetOrigChromaXl(m_src_params.ChromaWidth()); - m_codec_params.SetOrigChromaYl(m_src_params.ChromaHeight()); + m_codec_params.SetChromaXl(m_src_params.ChromaWidth()); + m_codec_params.SetChromaYl(m_src_params.ChromaHeight()); // If source was coded as fields, halve the vertical dimensions // to set them to field dimensions if (m_codec_params.FieldCoding()) { - m_codec_params.SetOrigYl(m_codec_params.OrigYl()>>1); - m_codec_params.SetOrigChromaYl(m_codec_params.OrigChromaYl()>>1); + m_codec_params.SetYl(m_codec_params.Yl()>>1); + m_codec_params.SetChromaYl(m_codec_params.ChromaYl()>>1); } unsigned int luma_depth = static_cast @@ -122,7 +122,7 @@ errstr.str(), SEVERITY_ACCESSUNIT_ERROR); } - m_codec_params.SetFieldCoding(coding_mode == 1); + m_codec_params.SetPictureCodingMode(coding_mode); } diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/codingparams_byteio.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/codingparams_byteio.h --- dirac-0.9.1/libdirac_byteio/codingparams_byteio.h 2007-12-05 01:42:40.000000000 +0000 +++ dirac-1.0.2/libdirac_byteio/codingparams_byteio.h 2007-12-05 01:42:40.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: codingparams_byteio.h,v 1.3 2007/12/05 01:42:40 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: codingparams_byteio.h,v 1.3 2007/12/05 01:42:40 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/component_byteio.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/component_byteio.cpp --- dirac-0.9.1/libdirac_byteio/component_byteio.cpp 2006-04-20 11:41:56.000000000 +0100 +++ dirac-1.0.2/libdirac_byteio/component_byteio.cpp 2008-04-29 09:51:52.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: component_byteio.cpp,v 1.1 2006/04/20 10:41:56 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: component_byteio.cpp,v 1.2 2008/04/29 08:51:52 tjdwave Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -40,24 +40,19 @@ using namespace dirac; using namespace std; -ComponentByteIO::ComponentByteIO(CompSort& cs, +ComponentByteIO::ComponentByteIO(CompSort cs, const ByteIO& byteio): ByteIO(byteio), m_compsort(cs) -{ - -} +{} -ComponentByteIO::ComponentByteIO(CompSort& cs): +ComponentByteIO::ComponentByteIO(CompSort cs): ByteIO(), m_compsort(cs) -{ -} +{} ComponentByteIO::~ComponentByteIO() -{ - -} +{} //--------------public---------------------------------------------- diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/component_byteio.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/component_byteio.h --- dirac-0.9.1/libdirac_byteio/component_byteio.h 2006-04-20 11:41:56.000000000 +0100 +++ dirac-1.0.2/libdirac_byteio/component_byteio.h 2008-04-29 09:51:52.000000000 +0100 @@ -53,7 +53,7 @@ namespace dirac { /** - * Frame component in Dirac bytestream format + * Picture component in Dirac bytestream format */ class ComponentByteIO : public ByteIO { @@ -61,17 +61,17 @@ /** * Constructor - *@param cs Frame-component type + *@param cs Picture-component type *@param byteIO Input/output Byte stream */ - ComponentByteIO(CompSort& cs, + ComponentByteIO(CompSort cs, const ByteIO& byteIO); /** * Constructor - *@param cs Frame-component type + *@param cs Picture-component type */ - ComponentByteIO(CompSort& cs); + ComponentByteIO(CompSort cs); /** * Destructor @@ -96,7 +96,7 @@ bool Input(); /** - * Outputs frame values to Dirac stream-format + * Outputs picture values to Dirac stream-format */ void Output(); @@ -108,7 +108,7 @@ private: /** - * Frame component type + * Picture component type */ CompSort m_compsort; diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/dirac_byte_stats.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/dirac_byte_stats.cpp --- dirac-0.9.1/libdirac_byteio/dirac_byte_stats.cpp 2006-04-20 11:41:56.000000000 +0100 +++ dirac-1.0.2/libdirac_byteio/dirac_byte_stats.cpp 2008-04-29 13:27:49.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: dirac_byte_stats.cpp,v 1.1 2006/04/20 10:41:56 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: dirac_byte_stats.cpp,v 1.3 2008/04/29 12:27:49 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -60,14 +60,14 @@ m_byte_count.clear(); } -int DiracByteStats::GetBitCount(const StatType& stat_type) const +int64_t DiracByteStats::GetBitCount(const StatType& stat_type) const { return GetByteCount(stat_type) * CHAR_BIT; } -int DiracByteStats::GetByteCount(const StatType& stat_type) const +int64_t DiracByteStats::GetByteCount(const StatType& stat_type) const { - std::map::const_iterator it; + std::map::const_iterator it; it = m_byte_count.find(stat_type); if(it==m_byte_count.end()) return 0; @@ -75,7 +75,7 @@ return it->second; } -void DiracByteStats::SetByteCount(const StatType& stat_type, int count) +void DiracByteStats::SetByteCount(const StatType& stat_type, int64_t count) { if(m_byte_count.find(stat_type)==m_byte_count.end()) m_byte_count[stat_type]=0; diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/dirac_byte_stats.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/dirac_byte_stats.h --- dirac-0.9.1/libdirac_byteio/dirac_byte_stats.h 2006-04-20 11:41:56.000000000 +0100 +++ dirac-1.0.2/libdirac_byteio/dirac_byte_stats.h 2008-05-06 10:35:51.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: dirac_byte_stats.h,v 1.1 2006/04/20 10:41:56 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: dirac_byte_stats.h,v 1.5 2008/05/06 09:35:51 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -43,6 +43,9 @@ // SYSTEM INCLUDES #include // for byte-counts +#include + +#include namespace dirac { @@ -90,17 +93,17 @@ /** * Gets number of bits for a particular stat-type */ - int GetBitCount(const StatType& stat_type) const; + int64_t GetBitCount(const StatType& stat_type) const; /** * Gets number of bytes for a particular stat-type */ - int GetByteCount(const StatType& stat_type) const; + int64_t GetByteCount(const StatType& stat_type) const; /** * Sets number of bytes for a particular stat-type */ - void SetByteCount(const StatType& stat_type, int count); + void SetByteCount(const StatType& stat_type, int64_t count); private: @@ -108,7 +111,7 @@ /** * Map of byte-counts */ - std::map m_byte_count; + std::map m_byte_count; }; diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/dirac_byte_stream.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/dirac_byte_stream.cpp --- dirac-0.9.1/libdirac_byteio/dirac_byte_stream.cpp 2008-01-15 00:19:30.000000000 +0000 +++ dirac-1.0.2/libdirac_byteio/dirac_byte_stream.cpp 2008-08-14 01:51:08.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: dirac_byte_stream.cpp,v 1.5 2008/01/15 00:19:30 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: dirac_byte_stream.cpp,v 1.8 2008/08/14 00:51:08 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -20,7 +20,8 @@ * Portions created by the Initial Developer are Copyright (C) 2004. * All Rights Reserved. * -* Contributor(s): Andrew Kennedy +* Contributor(s): Andrew Kennedy (Original Author) +* Anuradha Suraparaju * * Alternatively, the contents of this file may be used under the terms of * the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser @@ -44,10 +45,8 @@ DiracByteStream::DiracByteStream(): ByteIO(), -mp_prev_parse_unit(NULL), -mp_next_parse_unit(NULL) +mp_prev_parse_unit(NULL) { - } DiracByteStream::~DiracByteStream() @@ -57,19 +56,19 @@ //---------------decoding---------------------------------------------------- -void DiracByteStream::AddBytes(char* start, +void DiracByteStream::AddBytes(char* start, int count) { // add to input stream string str(start, count); ByteIO::OutputBytes(str); - + } -DiracByteStats DiracByteStream::GetLastUnitStats() +DiracByteStats DiracByteStream::GetLastUnitStats() { DiracByteStats dirac_byte_stats; - + if(m_parse_unit_list.empty()) return dirac_byte_stats; @@ -79,6 +78,12 @@ return dirac_byte_stats; } +void DiracByteStream::Reset(ParseUnitByteIO* p_curr_unit, int pos) +{ + delete p_curr_unit; + SeekGet(pos, ios_base::beg); +} + ParseUnitByteIO* DiracByteStream::GetNextParseUnit() { if(GetSize()==0) @@ -96,60 +101,43 @@ return NULL; } - bool unit_found=false; ParseUnitByteIO* p_curr_unit=NULL; - try + + while(true) { + pos = GetReadBytePosition(); - while(!unit_found) + p_curr_unit = new ParseUnitByteIO(*this); + if (!p_curr_unit->Input()) { - p_curr_unit=mp_next_parse_unit; - pos = GetReadBytePosition(); + Reset(p_curr_unit, pos); + return NULL; + } - if(!p_curr_unit) - { - p_curr_unit = new ParseUnitByteIO(*this); - p_curr_unit->Input(); - } - - // skip past current unit - if(!p_curr_unit->Skip()) - { - // no unit specificed to skip to - unit_found=true; - mp_next_parse_unit=NULL; - break; - } - - // create and read next unit in the stream - mp_next_parse_unit = new ParseUnitByteIO(*this); - mp_next_parse_unit->Input(); - - // look to see if next unit validates the current one - if(!p_curr_unit->IsValid(*mp_next_parse_unit)) - { - // delete the unit - it's invalid - delete p_curr_unit; - // remove unwanted portion of bytes - RemoveRedundantBytes(pos); - // look for next potential parse-unit - continue; - } - - unit_found=true; - } // while - - }// try - catch (DiracException& dirac_exception) - { - if (mp_next_parse_unit != NULL && p_curr_unit != mp_next_parse_unit) - delete mp_next_parse_unit; + // skip past current unit + if(!p_curr_unit->CanSkip()) + { + Reset(p_curr_unit, pos); + return NULL; + } - mp_next_parse_unit = NULL; - delete p_curr_unit; - SeekGet(pos, ios_base::beg); - return NULL; - } + if (p_curr_unit->IsEndOfSequence()) + { + break; + } + + // look to see if next unit validates the current one + if(!p_curr_unit->IsValid()) + { + // delete the unit - it's invalid + delete p_curr_unit; + // remove unwanted portion of bytes + RemoveRedundantBytes(pos); + // look for next potential parse-unit + continue; + } + break; + } // while // Remove all redundant bytes that are not part of a parse unit int remove_size = std::max (0, GetReadBytePosition()-p_curr_unit->GetSize()); @@ -170,7 +158,7 @@ //---------------encoding----------------------------------------------------- -void DiracByteStream::AddAccessUnit(AccessUnitByteIO *p_accessunit_byteio) +void DiracByteStream::AddSequenceHeader(SequenceHeaderByteIO *p_seqheader_byteio) { // set previous parse-unit details ParseUnitByteIO *mp_previous_parse_unit=mp_prev_parse_unit; @@ -179,19 +167,19 @@ mp_previous_parse_unit = m_parse_unit_list.back().second; // set adjacent parse-unit - p_accessunit_byteio->SetAdjacentParseUnits(mp_previous_parse_unit); - + p_seqheader_byteio->SetAdjacentParseUnits(mp_previous_parse_unit); + // push onto to pending list - m_parse_unit_list.push(std::make_pair (PU_SEQ_HEADER, p_accessunit_byteio) ); + m_parse_unit_list.push(std::make_pair (PU_SEQ_HEADER, p_seqheader_byteio) ); // set previous parse-unit - mp_previous_parse_unit = p_accessunit_byteio; + mp_previous_parse_unit = p_seqheader_byteio; // save stats - p_accessunit_byteio->CollateByteStats(m_sequence_stats); + p_seqheader_byteio->CollateByteStats(m_sequence_stats); } -void DiracByteStream::AddFrame(FrameByteIO *p_frame_byteio) +void DiracByteStream::AddPicture(PictureByteIO *p_frame_byteio) { // set previous parse-unit details ParseUnitByteIO *mp_previous_parse_unit=mp_prev_parse_unit; @@ -203,7 +191,7 @@ p_frame_byteio->SetAdjacentParseUnits(mp_previous_parse_unit); // push onto to pending list - m_parse_unit_list.push(std::make_pair(PU_FRAME, p_frame_byteio ) ); + m_parse_unit_list.push(std::make_pair(PU_PICTURE, p_frame_byteio ) ); // set previous parse-unit mp_previous_parse_unit = p_frame_byteio; @@ -244,7 +232,7 @@ // push onto to pending list m_parse_unit_list.push(std::make_pair(PU_END_OF_SEQUENCE, p_endofsequence_byteio) ); - + p_endofsequence_byteio->CollateByteStats(m_sequence_stats); // clear stats @@ -255,7 +243,7 @@ return seq_stats; } -const string DiracByteStream::GetBytes() +const string DiracByteStream::GetBytes() { // take copy ParseUnitList parse_list = m_parse_unit_list; diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/dirac_byte_stream.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/dirac_byte_stream.h --- dirac-0.9.1/libdirac_byteio/dirac_byte_stream.h 2006-04-20 11:41:56.000000000 +0100 +++ dirac-1.0.2/libdirac_byteio/dirac_byte_stream.h 2008-08-14 01:51:08.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: dirac_byte_stream.h,v 1.1 2006/04/20 10:41:56 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: dirac_byte_stream.h,v 1.4 2008/08/14 00:51:08 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -20,7 +20,8 @@ * Portions created by the Initial Developer are Copyright (C) 2004. * All Rights Reserved. * -* Contributor(s): Andrew Kennedy +* Contributor(s): Andrew Kennedy (Original Author) +* Anuradha Suraparaju * * Alternatively, the contents of this file may be used under the terms of * the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser @@ -47,7 +48,7 @@ //LOCAL INCLUDES #include "byteio.h" // Parent class #include "accessunit_byteio.h" // manages parse-unit types -#include "frame_byteio.h" // manages parse-unit types +#include "picture_byteio.h" // manages parse-unit types namespace dirac { @@ -69,7 +70,7 @@ * Destructor */ ~DiracByteStream(); - + /** * Adds Dirac-formatted bytes to internal-byte-stream for processing *@param start Start of char list @@ -96,16 +97,15 @@ /** * Adds a random access point to the current Dirac byte stream - *@param p_accessunit_byteio Access-unit stream. This class is - * now responsible for deleting + *@param p_seqheader_byteio Sequence header data. */ - void AddAccessUnit(AccessUnitByteIO *p_accessunit_byteio); + void AddSequenceHeader(SequenceHeaderByteIO *p_seqheader_byteio); /** - * Adds a frame to the current Dirac byte stream - *@param p_frame_byteio Frame stream. This class is now responsible for deleting. + * Adds a picture to the current Dirac byte stream + *@param p_frame_byteio Picture stream. This class is now responsible for deleting. */ - void AddFrame(FrameByteIO *p_frame_byteio); + void AddPicture(PictureByteIO *p_frame_byteio); /** * Clear parse-units @@ -129,7 +129,11 @@ bool IsUnitAvailable() const; private: - + + void Reset(ParseUnitByteIO* p_curr_unit, int pos); + + private: + /** * Parse-units in Dirac stream */ @@ -143,17 +147,10 @@ ParseUnitByteIO* mp_prev_parse_unit; /** - * Next parse-unit waiting to be processed - * A parse-unit can only be declared valid only if it has been validated - * against the next unit in the stream - */ - ParseUnitByteIO* mp_next_parse_unit; - - /** * Stats for current sequence */ DiracByteStats m_sequence_stats; - + }; } // namespace dirac diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/displayparams_byteio.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/displayparams_byteio.cpp --- dirac-0.9.1/libdirac_byteio/displayparams_byteio.cpp 2008-01-15 04:36:23.000000000 +0000 +++ dirac-1.0.2/libdirac_byteio/displayparams_byteio.cpp 2008-01-31 11:25:15.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: displayparams_byteio.cpp,v 1.9 2008/01/15 04:36:23 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: displayparams_byteio.cpp,v 1.10 2008/01/31 11:25:15 tjdwave Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -233,7 +233,7 @@ FrameRateType frame_rate=IntToFrameRateType(frame_rate_index); if(frame_rate==FRAMERATE_UNDEFINED) DIRAC_THROW_EXCEPTION( - ERR_INVALID_FRAME_RATE, + ERR_INVALID_PICTURE_RATE, "Dirac does not recognise the specified frame-rate", SEVERITY_ACCESSUNIT_ERROR) @@ -356,7 +356,7 @@ // Non-defaults WriteBit(1); - // Frame rate index + // Picture rate index WriteUint(m_src_params.PixelAspectRatioIndex()); if (!m_src_params.PixelAspectRatioIndex()) // i,e. custom value @@ -452,7 +452,7 @@ // Non-defaults WriteBit(1); - // Frame rate index + // Picture rate index WriteUint(m_src_params.FrameRateIndex()); if (!m_src_params.FrameRateIndex()) // i,e. custom value diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/displayparams_byteio.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/displayparams_byteio.h --- dirac-0.9.1/libdirac_byteio/displayparams_byteio.h 2008-01-15 04:36:23.000000000 +0000 +++ dirac-1.0.2/libdirac_byteio/displayparams_byteio.h 2008-01-15 04:36:23.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: displayparams_byteio.h,v 1.4 2008/01/15 04:36:23 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: displayparams_byteio.h,v 1.4 2008/01/15 04:36:23 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/endofsequence_byteio.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/endofsequence_byteio.cpp --- dirac-0.9.1/libdirac_byteio/endofsequence_byteio.cpp 2007-03-29 17:43:38.000000000 +0100 +++ dirac-1.0.2/libdirac_byteio/endofsequence_byteio.cpp 2007-03-29 17:43:38.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: endofsequence_byteio.cpp,v 1.2 2007/03/29 16:43:38 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: endofsequence_byteio.cpp,v 1.2 2007/03/29 16:43:38 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/endofsequence_byteio.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/endofsequence_byteio.h --- dirac-0.9.1/libdirac_byteio/endofsequence_byteio.h 2007-03-29 17:43:38.000000000 +0100 +++ dirac-1.0.2/libdirac_byteio/endofsequence_byteio.h 2008-01-31 11:25:15.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: endofsequence_byteio.h,v 1.2 2007/03/29 16:43:38 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: endofsequence_byteio.h,v 1.3 2008/01/31 11:25:15 tjdwave Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -46,7 +46,7 @@ #include // Parent class // DIRAC includes -#include // FrameType etc +#include // PictureType etc namespace dirac { @@ -91,7 +91,7 @@ private: /** - * Calculates parse-code based on frame parameters + * Calculates parse-code based on picture parameters *@return Char bit-set */ unsigned char CalcParseCode() const; diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/frame_byteio.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/frame_byteio.cpp --- dirac-0.9.1/libdirac_byteio/frame_byteio.cpp 2008-01-09 10:45:09.000000000 +0000 +++ dirac-1.0.2/libdirac_byteio/frame_byteio.cpp 1970-01-01 01:00:00.000000000 +0100 @@ -1,279 +0,0 @@ -/* ***** BEGIN LICENSE BLOCK ***** -* -* $Id: frame_byteio.cpp,v 1.9 2008/01/09 10:45:09 asuraparaju Exp $ $Name: Dirac_0_9_1 $ -* -* Version: MPL 1.1/GPL 2.0/LGPL 2.1 -* -* The contents of this file are subject to the Mozilla Public License -* Version 1.1 (the "License"); you may not use this file except in compliance -* with the License. You may obtain a copy of the License at -* http://www.mozilla.org/MPL/ -* -* Software distributed under the License is distributed on an "AS IS" basis, -* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for -* the specific language governing rights and limitations under the License. -* -* The Original Code is BBC Research and Development code. -* -* The Initial Developer of the Original Code is the British Broadcasting -* Corporation. -* Portions created by the Initial Developer are Copyright (C) 2004. -* All Rights Reserved. -* -* Contributor(s): Andrew Kennedy (Original Author), -* Anuradha Suraparaju -* -* Alternatively, the contents of this file may be used under the terms of -* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser -* Public License Version 2.1 (the "LGPL"), in which case the provisions of -* the GPL or the LGPL are applicable instead of those above. If you wish to -* allow use of your version of this file only under the terms of the either -* the GPL or LGPL and not to allow others to use your version of this file -* under the MPL, indicate your decision by deleting the provisions above -* and replace them with the notice and other provisions required by the GPL -* or LGPL. If you do not delete the provisions above, a recipient may use -* your version of this file under the terms of any one of the MPL, the GPL -* or the LGPL. -* ***** END LICENSE BLOCK ***** */ - -#include "frame_byteio.h" -#include - -using namespace dirac; -using namespace std; - -const unsigned int PP_FRAME_NUM_SIZE = 4; - -const int CODE_ONE_REF_BIT = 0; -const int CODE_TWO_REF_BIT = 1; -const int CODE_REF_FRAME_BIT = 2; -const int CODE_PUTYPE_1_BIT = 3; -const int CODE_VLC_ENTROPY_CODING_BIT = 6; - -// maximum number of refs allowed -const unsigned int MAX_NUM_REFS = 2; - -FrameByteIO::FrameByteIO(FrameParams& frame_params, - int frame_num) : -ParseUnitByteIO(), -m_frame_params(frame_params), -m_frame_num(frame_num), -m_mv_data(0), -m_transform_data(0) -{ - -} - -FrameByteIO::FrameByteIO(FrameParams& frame_params, - const ParseUnitByteIO& parseunit_byteio ): -ParseUnitByteIO(parseunit_byteio), -m_frame_params(frame_params), -m_frame_num(0), -m_mv_data(0), -m_transform_data(0) -{ - -} - - -FrameByteIO::~FrameByteIO() -{ - //delete block data - if (m_mv_data) - { - delete m_mv_data; - m_mv_data = 0; - } - if (m_transform_data) - { - delete m_transform_data; - m_transform_data = 0; - } -} - -void FrameByteIO::CollateByteStats(DiracByteStats& dirac_byte_stats) -{ - if(m_mv_data) - m_mv_data->CollateByteStats(dirac_byte_stats); - if(m_transform_data) - m_transform_data->CollateByteStats(dirac_byte_stats); - - ParseUnitByteIO::CollateByteStats(dirac_byte_stats); -} - -bool FrameByteIO::Input() -{ - // set frame type - SetFrameType(); - SetReferenceType(); - SetEntropyCodingFlag(); - - // Use of VLC for entropy coding is supported for - // intra frames only - if (m_frame_params.GetFrameType() == INTER_FRAME && - m_frame_params.UsingAC() == false) - { - DIRAC_THROW_EXCEPTION( - ERR_UNSUPPORTED_STREAM_DATA, - "VLC codes for entropy coding of coefficient data supported for Intra frames only", - SEVERITY_FRAME_ERROR); - } - - // input frame number - m_frame_num = ReadUintLit(PP_FRAME_NUM_SIZE); - m_frame_params.SetFrameNum(m_frame_num); - - // input reference Picture numbers - InputReferencePictures(); - - // input retired Picture numbers list - m_frame_params.SetRetiredFrameNum(-1); - if (IsRef()) - InputRetiredPicture(); - - // byte align - ByteAlignInput(); - - return true; -} - -const string FrameByteIO::GetBytes() -{ - // Write mv data - if(m_frame_params.FSort().IsInter() && m_mv_data) - { - OutputBytes(m_mv_data->GetBytes()); - } - - // Write transform header - if (m_transform_data) - { - OutputBytes(m_transform_data->GetBytes()); - } - return ParseUnitByteIO::GetBytes(); -} - -int FrameByteIO::GetSize() const -{ - int size = 0; - if (m_mv_data) - size += m_mv_data->GetSize(); - if (m_transform_data) - size += m_transform_data->GetSize(); - - //std::cerr << "Frame Header Size=" << ByteIO::GetSize(); - //std::cerr << "Data Size=" << size << std::endl; - - return size+ParseUnitByteIO::GetSize()+ByteIO::GetSize(); -} - -void FrameByteIO::Output() -{ - // output frame number - WriteUintLit(m_frame_num, PP_FRAME_NUM_SIZE); - - if(m_frame_params.GetFrameType()==INTER_FRAME) - { - // output reference frame numbers - const std::vector& refs = m_frame_params.Refs(); - for(size_t i=0; i < refs.size() && i < MAX_NUM_REFS; ++i) - WriteSint(refs[i] - m_frame_num); - } - - // output retired frame - ASSERTM (m_frame_params.GetReferenceType() == REFERENCE_FRAME || m_frame_params.RetiredFrameNum() == -1, "Only Reference frames can retire frames"); - if(m_frame_params.GetReferenceType() == REFERENCE_FRAME) - { - if (m_frame_params.RetiredFrameNum() == -1) - WriteSint(0); - else - { - WriteSint (m_frame_params.RetiredFrameNum() - m_frame_num); - } - } - // byte align output - ByteAlignOutput(); - -} - - -//-------------private------------------------------------------------------- - -unsigned char FrameByteIO::CalcParseCode() const -{ - unsigned char code = 0; - - int num_refs = m_frame_params.Refs().size(); - - if(m_frame_params.GetFrameType()==INTER_FRAME) - { - // set number of refs - if(num_refs == 1) - SetBit(code, CODE_ONE_REF_BIT); - if(num_refs > 1) - SetBit(code, CODE_TWO_REF_BIT); - } - // set ref type - if(m_frame_params.GetReferenceType()==REFERENCE_FRAME) - SetBit(code, CODE_REF_FRAME_BIT); - - // Set parse unit type - SetBit(code, CODE_PUTYPE_1_BIT); - - // Set Entropy Coding type - if (!m_frame_params.UsingAC()) - { - SetBit(code, CODE_VLC_ENTROPY_CODING_BIT); - } - return code; - - -} - -void FrameByteIO::InputReferencePictures() -{ - // get number of frames referred to - int ref_count = NumRefs(); - - // get the number of these frames - vector& refs = m_frame_params.Refs(); - refs.resize(ref_count); - for(int i=0; i < ref_count; ++i) - refs[i]=m_frame_num+ReadSint(); -} - -void FrameByteIO::InputRetiredPicture() -{ - TESTM(IsRef(), "Retired Picture offset only set for Reference Frames"); - - // input retired frame offset - int offset = ReadSint(); - // input retired frames - if (offset) - { - m_frame_params.SetRetiredFrameNum(m_frame_num + offset); - } -} - -void FrameByteIO::SetFrameType() -{ - if(IsIntra()) - m_frame_params.SetFrameType(INTRA_FRAME); - else if(IsInter()) - m_frame_params.SetFrameType(INTER_FRAME); - -} - -void FrameByteIO::SetReferenceType() -{ - if(IsRef()) - m_frame_params.SetReferenceType(REFERENCE_FRAME); - else if(IsNonRef()) - m_frame_params.SetReferenceType(NON_REFERENCE_FRAME); - -} - -void FrameByteIO::SetEntropyCodingFlag() -{ - m_frame_params.SetUsingAC(IsUsingAC()); -} diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/frame_byteio.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/frame_byteio.h --- dirac-0.9.1/libdirac_byteio/frame_byteio.h 2007-11-16 04:50:47.000000000 +0000 +++ dirac-1.0.2/libdirac_byteio/frame_byteio.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,208 +0,0 @@ -/* ***** BEGIN LICENSE BLOCK ***** -* -* $Id: frame_byteio.h,v 1.6 2007/11/16 04:50:47 asuraparaju Exp $ $Name: Dirac_0_9_1 $ -* -* Version: MPL 1.1/GPL 2.0/LGPL 2.1 -* -* The contents of this file are subject to the Mozilla Public License -* Version 1.1 (the "License"); you may not use this file except in compliance -* with the License. You may obtain a copy of the License at -* http://www.mozilla.org/MPL/ -* -* Software distributed under the License is distributed on an "AS IS" basis, -* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for -* the specific language governing rights and limitations under the License. -* -* The Original Code is BBC Research and Development code. -* -* The Initial Developer of the Original Code is the British Broadcasting -* Corporation. -* Portions created by the Initial Developer are Copyright (C) 2004. -* All Rights Reserved. -* -* Contributor(s): Andrew Kennedy (Original Author) -* Anuradha Suraparaju -* -* Alternatively, the contents of this file may be used under the terms of -* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser -* Public License Version 2.1 (the "LGPL"), in which case the provisions of -* the GPL or the LGPL are applicable instead of those above. If you wish to -* allow use of your version of this file only under the terms of the either -* the GPL or LGPL and not to allow others to use your version of this file -* under the MPL, indicate your decision by deleting the provisions above -* and replace them with the notice and other provisions required by the GPL -* or LGPL. If you do not delete the provisions above, a recipient may use -* your version of this file under the terms of any one of the MPL, the GPL -* or the LGPL. -* ***** END LICENSE BLOCK ***** */ - -/** -* Definition of class FrameByteIO -*/ -#ifndef frame_byteio_h -#define frame_byteio_h - - -//LOCAL INCLUDES -#include // Parent class -#include // Contains mvdata streams -#include // Transform header - -// DIRAC includes -#include // FrameType etc - - -namespace dirac -{ - /** - * A compressed frame in Dirac bytestream format - */ - class FrameByteIO : public ParseUnitByteIO - { - public: - - /** - * Constructor - *@param frame_params Frame parameters - *@param frame_num Frame number - */ - FrameByteIO(FrameParams& frame_params, - int frame_num); - - - /** - * Constructor - *@param frame_params Destination of data - *@param parseunit_byteio Source of data - */ - FrameByteIO(FrameParams& frame_params, - const ParseUnitByteIO& parseunit_byteio); - - /** - * Destructor - */ - virtual ~FrameByteIO(); - - /** - * Gathers byte stats on the frame data - *@param dirac_byte_stats Stat container - */ - void CollateByteStats(DiracByteStats& dirac_byte_stats); - - /** - * Inputs data from Dirac stream-format - */ - bool Input(); - - /** - * Outputs frame values to Dirac stream-format - */ - void Output(); - - - - const std::string GetBytes(); - - int GetSize() const; - - /** - * Gets parse-unit type - */ - ParseUnitType GetType() const { return PU_FRAME;} - - /** - * Returns true is frame in Reference frame - */ - int IsRef() const { return (GetParseCode()&0x0C)==0x0C;} - - /** - * Returns true is frame in Non-Reference frame - */ - int IsNonRef() const { return (GetParseCode()&0x0C)==0x08;} - - /** - * Gets parse-unit type - */ - int NumRefs() const { return (GetParseCode()&0x03);} - - /** - * Returns true is frame is Intra frame - */ - bool IsIntra() const { return IsPicture() && (NumRefs()==0) ; } - - /** - * Returns true is frame is Inter frame - */ - bool IsInter() const { return IsPicture() && (NumRefs()>0) ; } - - /*** - * Sets the MVDataIO - */ - void SetMvData(MvDataByteIO *mv_data) {m_mv_data = mv_data; } - - /*** - * Sets the TransformByteIo - */ - void SetTransformData(TransformByteIO *transform_data) {m_transform_data = transform_data; } - - protected: - - - private: - - /** - * Calculates parse-code based on frame parameters - *@return Char bit-set - */ - unsigned char CalcParseCode() const; - - /** - * Reads reference-frame data - */ - void InputReferencePictures(); - - /** - * Reads retired picture number - */ - void InputRetiredPicture(); - - /** - * Calculates frame-type (eg INTRA/INTER) of frame - */ - void SetFrameType(); - - /** - * Calculates reference-type of frame - */ - void SetReferenceType(); - - /** - * Sets the entropy coding flag in the frame parameters - */ - void SetEntropyCodingFlag(); - - /** - * Frame parameters - */ - FrameParams& m_frame_params; - - /** - * Frame number - */ - int m_frame_num; - - /** - * MV data - */ - MvDataByteIO * m_mv_data; - - /** - * Transform data - */ - TransformByteIO * m_transform_data; - - }; - -} // namespace dirac - -#endif diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/Makefile.am /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/Makefile.am --- dirac-0.9.1/libdirac_byteio/Makefile.am 2007-09-03 12:31:42.000000000 +0100 +++ dirac-1.0.2/libdirac_byteio/Makefile.am 2008-05-06 10:35:51.000000000 +0100 @@ -1,16 +1,16 @@ -# $Id: Makefile.am,v 1.3 2007/09/03 11:31:42 asuraparaju Exp $ +# $Id: Makefile.am,v 1.5 2008/05/06 09:35:51 asuraparaju Exp $ # -INCLUDES = -I$(top_srcdir) -I$(srcdir) +INCLUDES = -I$(top_srcdir) -I$(srcdir) -I$(top_builddir) h_sources = accessunit_byteio.h displayparams_byteio.h parseunit_byteio.h \ - byteio.h frame_byteio.h codingparams_byteio.h dirac_byte_stream.h \ + byteio.h picture_byteio.h codingparams_byteio.h dirac_byte_stream.h \ parseparams_byteio.h mvdata_byteio.h mvdataelement_byteio.h \ transform_byteio.h endofsequence_byteio.h component_byteio.h \ subband_byteio.h dirac_byte_stats.h cpp_sources = accessunit_byteio.cpp displayparams_byteio.cpp \ - parseunit_byteio.cpp byteio.cpp frame_byteio.cpp \ + parseunit_byteio.cpp byteio.cpp picture_byteio.cpp \ codingparams_byteio.cpp dirac_byte_stream.cpp \ parseparams_byteio.cpp mvdata_byteio.cpp \ mvdataelement_byteio.cpp \ diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/Makefile.in --- dirac-0.9.1/libdirac_byteio/Makefile.in 2008-01-26 12:30:37.000000000 +0000 +++ dirac-1.0.2/libdirac_byteio/Makefile.in 2009-02-11 01:43:37.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in 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. @@ -14,19 +14,15 @@ @SET_MAKE@ -# $Id: Makefile.am,v 1.3 2007/09/03 11:31:42 asuraparaju Exp $ +# $Id: Makefile.am,v 1.5 2008/05/06 09:35:51 asuraparaju Exp $ # -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -43,7 +39,8 @@ subdir = libdirac_byteio DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -54,20 +51,20 @@ libdirac_byteio_a_LIBADD = am__libdirac_byteio_a_SOURCES_DIST = accessunit_byteio.h \ displayparams_byteio.h parseunit_byteio.h byteio.h \ - frame_byteio.h codingparams_byteio.h dirac_byte_stream.h \ + picture_byteio.h codingparams_byteio.h dirac_byte_stream.h \ parseparams_byteio.h mvdata_byteio.h mvdataelement_byteio.h \ transform_byteio.h endofsequence_byteio.h component_byteio.h \ subband_byteio.h dirac_byte_stats.h accessunit_byteio.cpp \ displayparams_byteio.cpp parseunit_byteio.cpp byteio.cpp \ - frame_byteio.cpp codingparams_byteio.cpp dirac_byte_stream.cpp \ - parseparams_byteio.cpp mvdata_byteio.cpp \ + picture_byteio.cpp codingparams_byteio.cpp \ + dirac_byte_stream.cpp parseparams_byteio.cpp mvdata_byteio.cpp \ mvdataelement_byteio.cpp transform_byteio.cpp \ endofsequence_byteio.cpp component_byteio.cpp \ subband_byteio.cpp dirac_byte_stats.cpp am__objects_1 = am__objects_2 = accessunit_byteio.$(OBJEXT) \ displayparams_byteio.$(OBJEXT) parseunit_byteio.$(OBJEXT) \ - byteio.$(OBJEXT) frame_byteio.$(OBJEXT) \ + byteio.$(OBJEXT) picture_byteio.$(OBJEXT) \ codingparams_byteio.$(OBJEXT) dirac_byte_stream.$(OBJEXT) \ parseparams_byteio.$(OBJEXT) mvdata_byteio.$(OBJEXT) \ mvdataelement_byteio.$(OBJEXT) transform_byteio.$(OBJEXT) \ @@ -80,13 +77,13 @@ libdirac_byteio_la_LIBADD = am__libdirac_byteio_la_SOURCES_DIST = accessunit_byteio.h \ displayparams_byteio.h parseunit_byteio.h byteio.h \ - frame_byteio.h codingparams_byteio.h dirac_byte_stream.h \ + picture_byteio.h codingparams_byteio.h dirac_byte_stream.h \ parseparams_byteio.h mvdata_byteio.h mvdataelement_byteio.h \ transform_byteio.h endofsequence_byteio.h component_byteio.h \ subband_byteio.h dirac_byte_stats.h accessunit_byteio.cpp \ displayparams_byteio.cpp parseunit_byteio.cpp byteio.cpp \ - frame_byteio.cpp codingparams_byteio.cpp dirac_byte_stream.cpp \ - parseparams_byteio.cpp mvdata_byteio.cpp \ + picture_byteio.cpp codingparams_byteio.cpp \ + dirac_byte_stream.cpp parseparams_byteio.cpp mvdata_byteio.cpp \ mvdataelement_byteio.cpp transform_byteio.cpp \ endofsequence_byteio.cpp component_byteio.cpp \ subband_byteio.cpp dirac_byte_stats.cpp @@ -94,7 +91,7 @@ libdirac_byteio_la-displayparams_byteio.lo \ libdirac_byteio_la-parseunit_byteio.lo \ libdirac_byteio_la-byteio.lo \ - libdirac_byteio_la-frame_byteio.lo \ + libdirac_byteio_la-picture_byteio.lo \ libdirac_byteio_la-codingparams_byteio.lo \ libdirac_byteio_la-dirac_byte_stream.lo \ libdirac_byteio_la-parseparams_byteio.lo \ @@ -108,26 +105,32 @@ @USE_MSVC_FALSE@am_libdirac_byteio_la_OBJECTS = $(am__objects_1) \ @USE_MSVC_FALSE@ $(am__objects_3) libdirac_byteio_la_OBJECTS = $(am_libdirac_byteio_la_OBJECTS) +libdirac_byteio_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ @USE_MSVC_FALSE@am_libdirac_byteio_la_rpath = -DEFAULT_INCLUDES = -I. -I$(srcdir) +DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) -CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \ - $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ SOURCES = $(libdirac_byteio_a_SOURCES) $(libdirac_byteio_la_SOURCES) DIST_SOURCES = $(am__libdirac_byteio_a_SOURCES_DIST) \ $(am__libdirac_byteio_la_SOURCES_DIST) @@ -135,8 +138,7 @@ CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ +ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ @@ -159,62 +161,46 @@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ GENERIC_RELEASE = @GENERIC_RELEASE@ GENERIC_VERSION = @GENERIC_VERSION@ GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBEXT = @LIBEXT@ LIBFLAGS = @LIBFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -223,22 +209,19 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -250,6 +233,7 @@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -268,6 +252,7 @@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -277,17 +262,21 @@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ -INCLUDES = -I$(top_srcdir) -I$(srcdir) +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +INCLUDES = -I$(top_srcdir) -I$(srcdir) -I$(top_builddir) h_sources = accessunit_byteio.h displayparams_byteio.h parseunit_byteio.h \ - byteio.h frame_byteio.h codingparams_byteio.h dirac_byte_stream.h \ + byteio.h picture_byteio.h codingparams_byteio.h dirac_byte_stream.h \ parseparams_byteio.h mvdata_byteio.h mvdataelement_byteio.h \ transform_byteio.h endofsequence_byteio.h component_byteio.h \ subband_byteio.h dirac_byte_stats.h cpp_sources = accessunit_byteio.cpp displayparams_byteio.cpp \ - parseunit_byteio.cpp byteio.cpp frame_byteio.cpp \ + parseunit_byteio.cpp byteio.cpp picture_byteio.cpp \ codingparams_byteio.cpp dirac_byte_stream.cpp \ parseparams_byteio.cpp mvdata_byteio.cpp \ mvdataelement_byteio.cpp \ @@ -355,7 +344,7 @@ rm -f "$${dir}/so_locations"; \ done libdirac_byteio.la: $(libdirac_byteio_la_OBJECTS) $(libdirac_byteio_la_DEPENDENCIES) - $(CXXLINK) $(am_libdirac_byteio_la_rpath) $(libdirac_byteio_la_LDFLAGS) $(libdirac_byteio_la_OBJECTS) $(libdirac_byteio_la_LIBADD) $(LIBS) + $(libdirac_byteio_la_LINK) $(am_libdirac_byteio_la_rpath) $(libdirac_byteio_la_OBJECTS) $(libdirac_byteio_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -371,7 +360,6 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirac_byte_stream.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/displayparams_byteio.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/endofsequence_byteio.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/frame_byteio.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_byteio_la-accessunit_byteio.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_byteio_la-byteio.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_byteio_la-codingparams_byteio.Plo@am__quote@ @@ -380,145 +368,146 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_byteio_la-dirac_byte_stream.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_byteio_la-displayparams_byteio.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_byteio_la-endofsequence_byteio.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_byteio_la-frame_byteio.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_byteio_la-mvdata_byteio.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_byteio_la-mvdataelement_byteio.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_byteio_la-parseparams_byteio.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_byteio_la-parseunit_byteio.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_byteio_la-picture_byteio.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_byteio_la-subband_byteio.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_byteio_la-transform_byteio.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mvdata_byteio.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mvdataelement_byteio.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parseparams_byteio.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parseunit_byteio.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/picture_byteio.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/subband_byteio.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/transform_byteio.Po@am__quote@ .cpp.o: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: -@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< libdirac_byteio_la-accessunit_byteio.lo: accessunit_byteio.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-accessunit_byteio.lo -MD -MP -MF "$(DEPDIR)/libdirac_byteio_la-accessunit_byteio.Tpo" -c -o libdirac_byteio_la-accessunit_byteio.lo `test -f 'accessunit_byteio.cpp' || echo '$(srcdir)/'`accessunit_byteio.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_byteio_la-accessunit_byteio.Tpo" "$(DEPDIR)/libdirac_byteio_la-accessunit_byteio.Plo"; else rm -f "$(DEPDIR)/libdirac_byteio_la-accessunit_byteio.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-accessunit_byteio.lo -MD -MP -MF $(DEPDIR)/libdirac_byteio_la-accessunit_byteio.Tpo -c -o libdirac_byteio_la-accessunit_byteio.lo `test -f 'accessunit_byteio.cpp' || echo '$(srcdir)/'`accessunit_byteio.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_byteio_la-accessunit_byteio.Tpo $(DEPDIR)/libdirac_byteio_la-accessunit_byteio.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='accessunit_byteio.cpp' object='libdirac_byteio_la-accessunit_byteio.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-accessunit_byteio.lo `test -f 'accessunit_byteio.cpp' || echo '$(srcdir)/'`accessunit_byteio.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-accessunit_byteio.lo `test -f 'accessunit_byteio.cpp' || echo '$(srcdir)/'`accessunit_byteio.cpp libdirac_byteio_la-displayparams_byteio.lo: displayparams_byteio.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-displayparams_byteio.lo -MD -MP -MF "$(DEPDIR)/libdirac_byteio_la-displayparams_byteio.Tpo" -c -o libdirac_byteio_la-displayparams_byteio.lo `test -f 'displayparams_byteio.cpp' || echo '$(srcdir)/'`displayparams_byteio.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_byteio_la-displayparams_byteio.Tpo" "$(DEPDIR)/libdirac_byteio_la-displayparams_byteio.Plo"; else rm -f "$(DEPDIR)/libdirac_byteio_la-displayparams_byteio.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-displayparams_byteio.lo -MD -MP -MF $(DEPDIR)/libdirac_byteio_la-displayparams_byteio.Tpo -c -o libdirac_byteio_la-displayparams_byteio.lo `test -f 'displayparams_byteio.cpp' || echo '$(srcdir)/'`displayparams_byteio.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_byteio_la-displayparams_byteio.Tpo $(DEPDIR)/libdirac_byteio_la-displayparams_byteio.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='displayparams_byteio.cpp' object='libdirac_byteio_la-displayparams_byteio.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-displayparams_byteio.lo `test -f 'displayparams_byteio.cpp' || echo '$(srcdir)/'`displayparams_byteio.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-displayparams_byteio.lo `test -f 'displayparams_byteio.cpp' || echo '$(srcdir)/'`displayparams_byteio.cpp libdirac_byteio_la-parseunit_byteio.lo: parseunit_byteio.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-parseunit_byteio.lo -MD -MP -MF "$(DEPDIR)/libdirac_byteio_la-parseunit_byteio.Tpo" -c -o libdirac_byteio_la-parseunit_byteio.lo `test -f 'parseunit_byteio.cpp' || echo '$(srcdir)/'`parseunit_byteio.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_byteio_la-parseunit_byteio.Tpo" "$(DEPDIR)/libdirac_byteio_la-parseunit_byteio.Plo"; else rm -f "$(DEPDIR)/libdirac_byteio_la-parseunit_byteio.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-parseunit_byteio.lo -MD -MP -MF $(DEPDIR)/libdirac_byteio_la-parseunit_byteio.Tpo -c -o libdirac_byteio_la-parseunit_byteio.lo `test -f 'parseunit_byteio.cpp' || echo '$(srcdir)/'`parseunit_byteio.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_byteio_la-parseunit_byteio.Tpo $(DEPDIR)/libdirac_byteio_la-parseunit_byteio.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='parseunit_byteio.cpp' object='libdirac_byteio_la-parseunit_byteio.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-parseunit_byteio.lo `test -f 'parseunit_byteio.cpp' || echo '$(srcdir)/'`parseunit_byteio.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-parseunit_byteio.lo `test -f 'parseunit_byteio.cpp' || echo '$(srcdir)/'`parseunit_byteio.cpp libdirac_byteio_la-byteio.lo: byteio.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-byteio.lo -MD -MP -MF "$(DEPDIR)/libdirac_byteio_la-byteio.Tpo" -c -o libdirac_byteio_la-byteio.lo `test -f 'byteio.cpp' || echo '$(srcdir)/'`byteio.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_byteio_la-byteio.Tpo" "$(DEPDIR)/libdirac_byteio_la-byteio.Plo"; else rm -f "$(DEPDIR)/libdirac_byteio_la-byteio.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-byteio.lo -MD -MP -MF $(DEPDIR)/libdirac_byteio_la-byteio.Tpo -c -o libdirac_byteio_la-byteio.lo `test -f 'byteio.cpp' || echo '$(srcdir)/'`byteio.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_byteio_la-byteio.Tpo $(DEPDIR)/libdirac_byteio_la-byteio.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='byteio.cpp' object='libdirac_byteio_la-byteio.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-byteio.lo `test -f 'byteio.cpp' || echo '$(srcdir)/'`byteio.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-byteio.lo `test -f 'byteio.cpp' || echo '$(srcdir)/'`byteio.cpp -libdirac_byteio_la-frame_byteio.lo: frame_byteio.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-frame_byteio.lo -MD -MP -MF "$(DEPDIR)/libdirac_byteio_la-frame_byteio.Tpo" -c -o libdirac_byteio_la-frame_byteio.lo `test -f 'frame_byteio.cpp' || echo '$(srcdir)/'`frame_byteio.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_byteio_la-frame_byteio.Tpo" "$(DEPDIR)/libdirac_byteio_la-frame_byteio.Plo"; else rm -f "$(DEPDIR)/libdirac_byteio_la-frame_byteio.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='frame_byteio.cpp' object='libdirac_byteio_la-frame_byteio.lo' libtool=yes @AMDEPBACKSLASH@ +libdirac_byteio_la-picture_byteio.lo: picture_byteio.cpp +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-picture_byteio.lo -MD -MP -MF $(DEPDIR)/libdirac_byteio_la-picture_byteio.Tpo -c -o libdirac_byteio_la-picture_byteio.lo `test -f 'picture_byteio.cpp' || echo '$(srcdir)/'`picture_byteio.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_byteio_la-picture_byteio.Tpo $(DEPDIR)/libdirac_byteio_la-picture_byteio.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='picture_byteio.cpp' object='libdirac_byteio_la-picture_byteio.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-frame_byteio.lo `test -f 'frame_byteio.cpp' || echo '$(srcdir)/'`frame_byteio.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-picture_byteio.lo `test -f 'picture_byteio.cpp' || echo '$(srcdir)/'`picture_byteio.cpp libdirac_byteio_la-codingparams_byteio.lo: codingparams_byteio.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-codingparams_byteio.lo -MD -MP -MF "$(DEPDIR)/libdirac_byteio_la-codingparams_byteio.Tpo" -c -o libdirac_byteio_la-codingparams_byteio.lo `test -f 'codingparams_byteio.cpp' || echo '$(srcdir)/'`codingparams_byteio.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_byteio_la-codingparams_byteio.Tpo" "$(DEPDIR)/libdirac_byteio_la-codingparams_byteio.Plo"; else rm -f "$(DEPDIR)/libdirac_byteio_la-codingparams_byteio.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-codingparams_byteio.lo -MD -MP -MF $(DEPDIR)/libdirac_byteio_la-codingparams_byteio.Tpo -c -o libdirac_byteio_la-codingparams_byteio.lo `test -f 'codingparams_byteio.cpp' || echo '$(srcdir)/'`codingparams_byteio.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_byteio_la-codingparams_byteio.Tpo $(DEPDIR)/libdirac_byteio_la-codingparams_byteio.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='codingparams_byteio.cpp' object='libdirac_byteio_la-codingparams_byteio.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-codingparams_byteio.lo `test -f 'codingparams_byteio.cpp' || echo '$(srcdir)/'`codingparams_byteio.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-codingparams_byteio.lo `test -f 'codingparams_byteio.cpp' || echo '$(srcdir)/'`codingparams_byteio.cpp libdirac_byteio_la-dirac_byte_stream.lo: dirac_byte_stream.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-dirac_byte_stream.lo -MD -MP -MF "$(DEPDIR)/libdirac_byteio_la-dirac_byte_stream.Tpo" -c -o libdirac_byteio_la-dirac_byte_stream.lo `test -f 'dirac_byte_stream.cpp' || echo '$(srcdir)/'`dirac_byte_stream.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_byteio_la-dirac_byte_stream.Tpo" "$(DEPDIR)/libdirac_byteio_la-dirac_byte_stream.Plo"; else rm -f "$(DEPDIR)/libdirac_byteio_la-dirac_byte_stream.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-dirac_byte_stream.lo -MD -MP -MF $(DEPDIR)/libdirac_byteio_la-dirac_byte_stream.Tpo -c -o libdirac_byteio_la-dirac_byte_stream.lo `test -f 'dirac_byte_stream.cpp' || echo '$(srcdir)/'`dirac_byte_stream.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_byteio_la-dirac_byte_stream.Tpo $(DEPDIR)/libdirac_byteio_la-dirac_byte_stream.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dirac_byte_stream.cpp' object='libdirac_byteio_la-dirac_byte_stream.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-dirac_byte_stream.lo `test -f 'dirac_byte_stream.cpp' || echo '$(srcdir)/'`dirac_byte_stream.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-dirac_byte_stream.lo `test -f 'dirac_byte_stream.cpp' || echo '$(srcdir)/'`dirac_byte_stream.cpp libdirac_byteio_la-parseparams_byteio.lo: parseparams_byteio.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-parseparams_byteio.lo -MD -MP -MF "$(DEPDIR)/libdirac_byteio_la-parseparams_byteio.Tpo" -c -o libdirac_byteio_la-parseparams_byteio.lo `test -f 'parseparams_byteio.cpp' || echo '$(srcdir)/'`parseparams_byteio.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_byteio_la-parseparams_byteio.Tpo" "$(DEPDIR)/libdirac_byteio_la-parseparams_byteio.Plo"; else rm -f "$(DEPDIR)/libdirac_byteio_la-parseparams_byteio.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-parseparams_byteio.lo -MD -MP -MF $(DEPDIR)/libdirac_byteio_la-parseparams_byteio.Tpo -c -o libdirac_byteio_la-parseparams_byteio.lo `test -f 'parseparams_byteio.cpp' || echo '$(srcdir)/'`parseparams_byteio.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_byteio_la-parseparams_byteio.Tpo $(DEPDIR)/libdirac_byteio_la-parseparams_byteio.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='parseparams_byteio.cpp' object='libdirac_byteio_la-parseparams_byteio.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-parseparams_byteio.lo `test -f 'parseparams_byteio.cpp' || echo '$(srcdir)/'`parseparams_byteio.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-parseparams_byteio.lo `test -f 'parseparams_byteio.cpp' || echo '$(srcdir)/'`parseparams_byteio.cpp libdirac_byteio_la-mvdata_byteio.lo: mvdata_byteio.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-mvdata_byteio.lo -MD -MP -MF "$(DEPDIR)/libdirac_byteio_la-mvdata_byteio.Tpo" -c -o libdirac_byteio_la-mvdata_byteio.lo `test -f 'mvdata_byteio.cpp' || echo '$(srcdir)/'`mvdata_byteio.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_byteio_la-mvdata_byteio.Tpo" "$(DEPDIR)/libdirac_byteio_la-mvdata_byteio.Plo"; else rm -f "$(DEPDIR)/libdirac_byteio_la-mvdata_byteio.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-mvdata_byteio.lo -MD -MP -MF $(DEPDIR)/libdirac_byteio_la-mvdata_byteio.Tpo -c -o libdirac_byteio_la-mvdata_byteio.lo `test -f 'mvdata_byteio.cpp' || echo '$(srcdir)/'`mvdata_byteio.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_byteio_la-mvdata_byteio.Tpo $(DEPDIR)/libdirac_byteio_la-mvdata_byteio.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='mvdata_byteio.cpp' object='libdirac_byteio_la-mvdata_byteio.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-mvdata_byteio.lo `test -f 'mvdata_byteio.cpp' || echo '$(srcdir)/'`mvdata_byteio.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-mvdata_byteio.lo `test -f 'mvdata_byteio.cpp' || echo '$(srcdir)/'`mvdata_byteio.cpp libdirac_byteio_la-mvdataelement_byteio.lo: mvdataelement_byteio.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-mvdataelement_byteio.lo -MD -MP -MF "$(DEPDIR)/libdirac_byteio_la-mvdataelement_byteio.Tpo" -c -o libdirac_byteio_la-mvdataelement_byteio.lo `test -f 'mvdataelement_byteio.cpp' || echo '$(srcdir)/'`mvdataelement_byteio.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_byteio_la-mvdataelement_byteio.Tpo" "$(DEPDIR)/libdirac_byteio_la-mvdataelement_byteio.Plo"; else rm -f "$(DEPDIR)/libdirac_byteio_la-mvdataelement_byteio.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-mvdataelement_byteio.lo -MD -MP -MF $(DEPDIR)/libdirac_byteio_la-mvdataelement_byteio.Tpo -c -o libdirac_byteio_la-mvdataelement_byteio.lo `test -f 'mvdataelement_byteio.cpp' || echo '$(srcdir)/'`mvdataelement_byteio.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_byteio_la-mvdataelement_byteio.Tpo $(DEPDIR)/libdirac_byteio_la-mvdataelement_byteio.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='mvdataelement_byteio.cpp' object='libdirac_byteio_la-mvdataelement_byteio.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-mvdataelement_byteio.lo `test -f 'mvdataelement_byteio.cpp' || echo '$(srcdir)/'`mvdataelement_byteio.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-mvdataelement_byteio.lo `test -f 'mvdataelement_byteio.cpp' || echo '$(srcdir)/'`mvdataelement_byteio.cpp libdirac_byteio_la-transform_byteio.lo: transform_byteio.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-transform_byteio.lo -MD -MP -MF "$(DEPDIR)/libdirac_byteio_la-transform_byteio.Tpo" -c -o libdirac_byteio_la-transform_byteio.lo `test -f 'transform_byteio.cpp' || echo '$(srcdir)/'`transform_byteio.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_byteio_la-transform_byteio.Tpo" "$(DEPDIR)/libdirac_byteio_la-transform_byteio.Plo"; else rm -f "$(DEPDIR)/libdirac_byteio_la-transform_byteio.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-transform_byteio.lo -MD -MP -MF $(DEPDIR)/libdirac_byteio_la-transform_byteio.Tpo -c -o libdirac_byteio_la-transform_byteio.lo `test -f 'transform_byteio.cpp' || echo '$(srcdir)/'`transform_byteio.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_byteio_la-transform_byteio.Tpo $(DEPDIR)/libdirac_byteio_la-transform_byteio.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='transform_byteio.cpp' object='libdirac_byteio_la-transform_byteio.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-transform_byteio.lo `test -f 'transform_byteio.cpp' || echo '$(srcdir)/'`transform_byteio.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-transform_byteio.lo `test -f 'transform_byteio.cpp' || echo '$(srcdir)/'`transform_byteio.cpp libdirac_byteio_la-endofsequence_byteio.lo: endofsequence_byteio.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-endofsequence_byteio.lo -MD -MP -MF "$(DEPDIR)/libdirac_byteio_la-endofsequence_byteio.Tpo" -c -o libdirac_byteio_la-endofsequence_byteio.lo `test -f 'endofsequence_byteio.cpp' || echo '$(srcdir)/'`endofsequence_byteio.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_byteio_la-endofsequence_byteio.Tpo" "$(DEPDIR)/libdirac_byteio_la-endofsequence_byteio.Plo"; else rm -f "$(DEPDIR)/libdirac_byteio_la-endofsequence_byteio.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-endofsequence_byteio.lo -MD -MP -MF $(DEPDIR)/libdirac_byteio_la-endofsequence_byteio.Tpo -c -o libdirac_byteio_la-endofsequence_byteio.lo `test -f 'endofsequence_byteio.cpp' || echo '$(srcdir)/'`endofsequence_byteio.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_byteio_la-endofsequence_byteio.Tpo $(DEPDIR)/libdirac_byteio_la-endofsequence_byteio.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='endofsequence_byteio.cpp' object='libdirac_byteio_la-endofsequence_byteio.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-endofsequence_byteio.lo `test -f 'endofsequence_byteio.cpp' || echo '$(srcdir)/'`endofsequence_byteio.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-endofsequence_byteio.lo `test -f 'endofsequence_byteio.cpp' || echo '$(srcdir)/'`endofsequence_byteio.cpp libdirac_byteio_la-component_byteio.lo: component_byteio.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-component_byteio.lo -MD -MP -MF "$(DEPDIR)/libdirac_byteio_la-component_byteio.Tpo" -c -o libdirac_byteio_la-component_byteio.lo `test -f 'component_byteio.cpp' || echo '$(srcdir)/'`component_byteio.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_byteio_la-component_byteio.Tpo" "$(DEPDIR)/libdirac_byteio_la-component_byteio.Plo"; else rm -f "$(DEPDIR)/libdirac_byteio_la-component_byteio.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-component_byteio.lo -MD -MP -MF $(DEPDIR)/libdirac_byteio_la-component_byteio.Tpo -c -o libdirac_byteio_la-component_byteio.lo `test -f 'component_byteio.cpp' || echo '$(srcdir)/'`component_byteio.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_byteio_la-component_byteio.Tpo $(DEPDIR)/libdirac_byteio_la-component_byteio.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='component_byteio.cpp' object='libdirac_byteio_la-component_byteio.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-component_byteio.lo `test -f 'component_byteio.cpp' || echo '$(srcdir)/'`component_byteio.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-component_byteio.lo `test -f 'component_byteio.cpp' || echo '$(srcdir)/'`component_byteio.cpp libdirac_byteio_la-subband_byteio.lo: subband_byteio.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-subband_byteio.lo -MD -MP -MF "$(DEPDIR)/libdirac_byteio_la-subband_byteio.Tpo" -c -o libdirac_byteio_la-subband_byteio.lo `test -f 'subband_byteio.cpp' || echo '$(srcdir)/'`subband_byteio.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_byteio_la-subband_byteio.Tpo" "$(DEPDIR)/libdirac_byteio_la-subband_byteio.Plo"; else rm -f "$(DEPDIR)/libdirac_byteio_la-subband_byteio.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-subband_byteio.lo -MD -MP -MF $(DEPDIR)/libdirac_byteio_la-subband_byteio.Tpo -c -o libdirac_byteio_la-subband_byteio.lo `test -f 'subband_byteio.cpp' || echo '$(srcdir)/'`subband_byteio.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_byteio_la-subband_byteio.Tpo $(DEPDIR)/libdirac_byteio_la-subband_byteio.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='subband_byteio.cpp' object='libdirac_byteio_la-subband_byteio.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-subband_byteio.lo `test -f 'subband_byteio.cpp' || echo '$(srcdir)/'`subband_byteio.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-subband_byteio.lo `test -f 'subband_byteio.cpp' || echo '$(srcdir)/'`subband_byteio.cpp libdirac_byteio_la-dirac_byte_stats.lo: dirac_byte_stats.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-dirac_byte_stats.lo -MD -MP -MF "$(DEPDIR)/libdirac_byteio_la-dirac_byte_stats.Tpo" -c -o libdirac_byteio_la-dirac_byte_stats.lo `test -f 'dirac_byte_stats.cpp' || echo '$(srcdir)/'`dirac_byte_stats.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_byteio_la-dirac_byte_stats.Tpo" "$(DEPDIR)/libdirac_byteio_la-dirac_byte_stats.Plo"; else rm -f "$(DEPDIR)/libdirac_byteio_la-dirac_byte_stats.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_byteio_la-dirac_byte_stats.lo -MD -MP -MF $(DEPDIR)/libdirac_byteio_la-dirac_byte_stats.Tpo -c -o libdirac_byteio_la-dirac_byte_stats.lo `test -f 'dirac_byte_stats.cpp' || echo '$(srcdir)/'`dirac_byte_stats.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_byteio_la-dirac_byte_stats.Tpo $(DEPDIR)/libdirac_byteio_la-dirac_byte_stats.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dirac_byte_stats.cpp' object='libdirac_byteio_la-dirac_byte_stats.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-dirac_byte_stats.lo `test -f 'dirac_byte_stats.cpp' || echo '$(srcdir)/'`dirac_byte_stats.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_byteio_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_byteio_la-dirac_byte_stats.lo `test -f 'dirac_byte_stats.cpp' || echo '$(srcdir)/'`dirac_byte_stats.cpp mostlyclean-libtool: -rm -f *.lo @@ -526,17 +515,13 @@ clean-libtool: -rm -rf .libs _libs -distclean-libtool: - -rm -f libtool -uninstall-info-am: - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS @@ -548,8 +533,8 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ @@ -559,13 +544,12 @@ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique @@ -579,22 +563,21 @@ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -643,7 +626,7 @@ -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags + distclean-tags dvi: dvi-am @@ -657,12 +640,20 @@ install-data-am: +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -683,19 +674,23 @@ ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLIBRARIES clean-noinstLTLIBRARIES \ ctags distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-info-am + tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/mvdata_byteio.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/mvdata_byteio.cpp --- dirac-0.9.1/libdirac_byteio/mvdata_byteio.cpp 2008-01-09 10:45:09.000000000 +0000 +++ dirac-1.0.2/libdirac_byteio/mvdata_byteio.cpp 2008-08-27 01:17:10.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: mvdata_byteio.cpp,v 1.11 2008/01/09 10:45:09 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: mvdata_byteio.cpp,v 1.13 2008/08/27 00:17:10 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -41,12 +41,11 @@ using namespace dirac; -MvDataByteIO::MvDataByteIO(FrameParams& fparams, - CodecParams& cparams): +MvDataByteIO::MvDataByteIO(PictureParams& pparams, + PicturePredParams& picpredparams): ByteIO(), -m_fparams(fparams), -m_cparams(cparams), -m_default_cparams(cparams.GetVideoFormat(), fparams.GetFrameType(), fparams.Refs().size(), true), +m_pparams(pparams), +m_picpredparams(picpredparams), m_splitmode_data(), m_predmode_data(), m_mv1hblock_data(), @@ -58,12 +57,11 @@ m_vdcblock_data() {} -MvDataByteIO::MvDataByteIO(ByteIO &byte_io, FrameParams& fparams, - CodecParams& cparams): +MvDataByteIO::MvDataByteIO(ByteIO &byte_io, PictureParams& pparams, + PicturePredParams& picpredparams): ByteIO(byte_io), -m_fparams(fparams), -m_cparams(cparams), -m_default_cparams(cparams.GetVideoFormat(), fparams.GetFrameType(), fparams.Refs().size(), true), +m_pparams(pparams), +m_picpredparams(picpredparams), m_splitmode_data(byte_io), m_predmode_data(byte_io), m_mv1hblock_data(byte_io), @@ -87,8 +85,8 @@ int MvDataByteIO::GetSize() const { - if (m_fparams.NumRefs()==2) - return ByteIO::GetSize() + + if (m_pparams.NumRefs()==2) + return ByteIO::GetSize() + m_splitmode_data.GetSize()+ m_predmode_data.GetSize()+ m_mv1hblock_data.GetSize()+ @@ -99,7 +97,7 @@ m_udcblock_data.GetSize()+ m_vdcblock_data.GetSize(); else - return ByteIO::GetSize() + + return ByteIO::GetSize() + m_splitmode_data.GetSize()+ m_predmode_data.GetSize()+ m_mv1hblock_data.GetSize()+ @@ -112,8 +110,8 @@ const std::string MvDataByteIO::GetBytes() { //Output header and block data - if (m_fparams.NumRefs()==2 ) - return ByteIO::GetBytes() + + if (m_pparams.NumRefs()==2 ) + return ByteIO::GetBytes() + m_splitmode_data.GetBytes()+ m_predmode_data.GetBytes()+ m_mv1hblock_data.GetBytes()+ @@ -124,7 +122,7 @@ m_udcblock_data.GetBytes()+ m_vdcblock_data.GetBytes(); else - return ByteIO::GetBytes() + + return ByteIO::GetBytes() + m_splitmode_data.GetBytes()+ m_predmode_data.GetBytes()+ m_mv1hblock_data.GetBytes()+ @@ -145,14 +143,14 @@ // Input Motion Vector Precision InputMVPrecision(); - // Input chroma + // Input chroma InputGlobalMotionParams(); // Input Picture Prediction mode InputFramePredictionMode(); - // Input frame weights - InputFrameWeights(); + // Input picture weights + InputPictureWeights(); // Byte Alignment ByteAlignInput(); @@ -166,14 +164,14 @@ // Output Motion Vector Precision OutputMVPrecision(); - // output global motion + // output global motion OutputGlobalMotionParams(); // output picture prediction mode OutputFramePredictionMode(); - // output frame weights - OutputFrameWeights(); + // output picture weights + OutputPictureWeights(); // Byte Align ByteAlignOutput(); @@ -183,9 +181,9 @@ void MvDataByteIO::OutputBlockParams() { - const OLBParams& olb_params = m_cparams.LumaBParams(2); + const OLBParams& olb_params = m_picpredparams.LumaBParams(2); - // output custom block params flag + // output custom block params flag unsigned int pidx = BlockParametersIndex(olb_params); WriteUint(pidx); if (pidx == 0) // custom block params @@ -220,13 +218,13 @@ else SetDefaultBlockParameters (olb_params, p_idx); - m_cparams.SetLumaBlockParams(olb_params); + m_picpredparams.SetLumaBlockParams(olb_params); } void MvDataByteIO::OutputMVPrecision() { // Output Motion vector precision - WriteUint(m_cparams.MVPrecision()); + WriteUint(m_picpredparams.MVPrecision()); } void MvDataByteIO::InputMVPrecision() @@ -237,9 +235,9 @@ DIRAC_THROW_EXCEPTION( ERR_INVALID_MOTION_VECTOR_PRECISION, "Dirac does not recognise the specified MV precision", - SEVERITY_FRAME_ERROR) + SEVERITY_PICTURE_ERROR) - m_cparams.SetMVPrecision(mv_prec); + m_picpredparams.SetMVPrecision(mv_prec); } void MvDataByteIO::OutputGlobalMotionParams() @@ -256,21 +254,21 @@ // Using Global motion flag if (ReadBool()) { - m_cparams.SetUsingGlobalMotion(true); - + m_picpredparams.SetUsingGlobalMotion(true); + // NOTE: FIXME - input actual global motion params in future DIRAC_THROW_EXCEPTION( ERR_UNSUPPORTED_STREAM_DATA, "Cannot handle global motion parameters", - SEVERITY_FRAME_ERROR) + SEVERITY_PICTURE_ERROR) } else - m_cparams.SetUsingGlobalMotion(false); + m_picpredparams.SetUsingGlobalMotion(false); } void MvDataByteIO::OutputFramePredictionMode() { - // TODO: Output default frame prediction mode index until other + // TODO: Output default picture prediction mode index until other // modes are supported. WriteUint(0); } @@ -285,27 +283,27 @@ DIRAC_THROW_EXCEPTION( ERR_UNSUPPORTED_STREAM_DATA, "Non-default Picture Prediction Mode not supported", - SEVERITY_FRAME_ERROR); + SEVERITY_PICTURE_ERROR); } } -void MvDataByteIO::OutputFrameWeights() +void MvDataByteIO::OutputPictureWeights() { // Output default weights flags - if (m_cparams.FrameWeightsBits() != m_default_cparams.FrameWeightsBits() || - m_cparams.Ref1Weight() != m_default_cparams.Ref1Weight() || - (m_fparams.Refs().size() > 1 && m_cparams.Ref2Weight() != m_default_cparams.Ref2Weight())) + if (m_picpredparams.PictureWeightsBits() != 1 || + m_picpredparams.Ref1Weight() != 1 || + (m_pparams.Refs().size() > 1 && m_picpredparams.Ref2Weight() != 1) ) { - WriteBit(true); + WriteBit(true); // Output weight precision bits - WriteUint(m_cparams.FrameWeightsBits()); + WriteUint(m_picpredparams.PictureWeightsBits()); // Output Ref1 weight - WriteSint(m_cparams.Ref1Weight()); - if (m_fparams.Refs().size() > 1) + WriteSint(m_picpredparams.Ref1Weight()); + if (m_pparams.Refs().size() > 1) { // Output Ref1 weight - WriteSint(m_cparams.Ref2Weight()); + WriteSint(m_picpredparams.Ref2Weight()); } } else @@ -314,21 +312,21 @@ } } -void MvDataByteIO::InputFrameWeights() +void MvDataByteIO::InputPictureWeights() { if (ReadBool()) { - m_cparams.SetFrameWeightsPrecision(ReadUint()); - m_cparams.SetRef1Weight(ReadSint()); - if (m_fparams.Refs().size() > 1) - m_cparams.SetRef2Weight(ReadSint()); + m_picpredparams.SetPictureWeightsPrecision(ReadUint()); + m_picpredparams.SetRef1Weight(ReadSint()); + if (m_pparams.Refs().size() > 1) + m_picpredparams.SetRef2Weight(ReadSint()); else - m_cparams.SetRef2Weight(0); + m_picpredparams.SetRef2Weight(0); } else { - m_cparams.SetFrameWeightsPrecision(m_default_cparams.FrameWeightsBits()); - m_cparams.SetRef1Weight(m_default_cparams.Ref1Weight()); - m_cparams.SetRef2Weight(m_default_cparams.Ref2Weight()); + m_picpredparams.SetPictureWeightsPrecision(1); + m_picpredparams.SetRef1Weight(1); + m_picpredparams.SetRef2Weight(1); } } diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/mvdata_byteio.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/mvdata_byteio.h --- dirac-0.9.1/libdirac_byteio/mvdata_byteio.h 2007-04-11 09:08:49.000000000 +0100 +++ dirac-1.0.2/libdirac_byteio/mvdata_byteio.h 2008-09-10 13:28:46.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: mvdata_byteio.h,v 1.2 2007/04/11 08:08:49 tjdwave Exp $ $Name: Dirac_0_9_1 $ +* $Id: mvdata_byteio.h,v 1.5 2008/09/10 12:28:46 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -53,7 +53,6 @@ namespace dirac { - /** * Represents compressed sequence-parameter data used in an AccessUnit */ @@ -63,20 +62,20 @@ /** * Constructor - *@param fparams Frame Params - *@param c_params Codec parameters + *@param pparams Picture Params + *@param picpredparams Picture prediction parameters */ - MvDataByteIO(FrameParams& fparams, - CodecParams& c_params); + MvDataByteIO(PictureParams& pparams, + PicturePredParams& picpredparams); /** * Constructor - *@param byte_io Input/Output Byte stream - *@param fparams Frame Params - *@param c_params Codec parameters + *@param byte_io Input/Output Byte stream + *@param pparams Picture Params + *@param picpredparams Picture prediction parameters */ - MvDataByteIO(ByteIO &byte_io, FrameParams& fparams, - CodecParams& c_params); + MvDataByteIO(ByteIO &byte_io, PictureParams& pparams, + PicturePredParams& picpredparams); /** * Destructor @@ -109,7 +108,7 @@ * Return pointer to the superblock splitting modes ByteIO stream */ MvDataElementByteIO* SplitModeData() { return &m_splitmode_data; }; - + /** * Return pointer to the superblock splitting modes ByteIO stream */ @@ -119,7 +118,7 @@ * Return pointer to the block MVs reference 1 ByteIO stream */ MvDataElementByteIO* MV1HorizData() { return &m_mv1hblock_data; }; - + /** * Return pointer to the block MVs reference 1 ByteIO stream */ @@ -129,34 +128,34 @@ * Return pointer to the block MV reference 2 ByteIO stream */ MvDataElementByteIO* MV2HorizData() { return &m_mv2hblock_data; }; - + /** * Return pointer to the block MV reference 2 ByteIO stream */ MvDataElementByteIO* MV2VertData() { return &m_mv2vblock_data; }; - + /** * Return pointer to the block Y DC values ByteIO stream */ - MvDataElementByteIO* YDCData() { return &m_ydcblock_data; }; - + MvDataElementByteIO* YDCData() { return &m_ydcblock_data; }; + /** * Return pointer to the block U DC values ByteIO stream */ - MvDataElementByteIO* UDCData() { return &m_udcblock_data; }; - + MvDataElementByteIO* UDCData() { return &m_udcblock_data; }; + /** * Return pointer to the block V DC values ByteIO stream */ - MvDataElementByteIO* VDCData() { return &m_vdcblock_data; }; + MvDataElementByteIO* VDCData() { return &m_vdcblock_data; }; /** - * Return the size + * Return the size */ int GetSize() const; protected: - + private: /** @@ -175,14 +174,14 @@ void InputGlobalMotionParams(); /** - * Inputs frame prediction mode + * Inputs picture prediction mode */ void InputFramePredictionMode(); /** - * Inputs Frame Weights + * Inputs Picture Weights */ - void InputFrameWeights(); + void InputPictureWeights(); /** * Outputs block parameters @@ -200,70 +199,65 @@ void OutputGlobalMotionParams(); /** - * Outputs frame prediction mode + * Outputs picture prediction mode */ void OutputFramePredictionMode(); /** - * Outputs Frame Weights + * Outputs Picture Weights */ - void OutputFrameWeights(); + void OutputPictureWeights(); /** * Sequence paramters for intput/output */ - FrameParams& m_fparams; + PictureParams& m_pparams; /** * Codec params - EncParams for Output and DecParams for input */ - CodecParams& m_cparams; - - /** - * Default Codec params - EncParams for Output and DecParams for input - */ - const CodecParams m_default_cparams; + PicturePredParams& m_picpredparams; /** * block data containing split modes */ MvDataElementByteIO m_splitmode_data; - + /** * block data containing prediction modes */ MvDataElementByteIO m_predmode_data; - + /** * block data containing horizontal MV components for reference 1 */ MvDataElementByteIO m_mv1hblock_data; - + /** * block data containing vertical MV components for reference 1 */ MvDataElementByteIO m_mv1vblock_data; - + /** * block data containing horizontal MV components for reference 2 */ MvDataElementByteIO m_mv2hblock_data; - + /** * block data containing vertical MV components for reference 2 */ MvDataElementByteIO m_mv2vblock_data; - + /** * block data containing Y DC data */ MvDataElementByteIO m_ydcblock_data; - + /** * block data containing U DC data */ MvDataElementByteIO m_udcblock_data; - + /** * block data containing V DC data */ diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/mvdataelement_byteio.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/mvdataelement_byteio.cpp --- dirac-0.9.1/libdirac_byteio/mvdataelement_byteio.cpp 2007-11-16 04:48:44.000000000 +0000 +++ dirac-1.0.2/libdirac_byteio/mvdataelement_byteio.cpp 2007-11-16 04:48:44.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: mvdataelement_byteio.cpp,v 1.2 2007/11/16 04:48:44 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: mvdataelement_byteio.cpp,v 1.2 2007/11/16 04:48:44 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/mvdataelement_byteio.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/mvdataelement_byteio.h --- dirac-0.9.1/libdirac_byteio/mvdataelement_byteio.h 2007-04-11 09:08:49.000000000 +0100 +++ dirac-1.0.2/libdirac_byteio/mvdataelement_byteio.h 2008-12-16 01:19:30.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: mvdataelement_byteio.h,v 1.1 2007/04/11 08:08:49 tjdwave Exp $ $Name: Dirac_0_9_1 $ +* $Id: mvdataelement_byteio.h,v 1.2 2008/12/16 01:19:30 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -78,12 +78,6 @@ virtual ~MvDataElementByteIO(); /** - * Gathers byte stats on the motion vector data - *@param dirac_byte_stats Stat container - */ -// void CollateByteStats(DiracByteStats& dirac_byte_stats); - - /** * Outputs motion vector data Dirac byte-format */ void Output(); diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/parseparams_byteio.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/parseparams_byteio.cpp --- dirac-0.9.1/libdirac_byteio/parseparams_byteio.cpp 2007-11-16 04:48:44.000000000 +0000 +++ dirac-1.0.2/libdirac_byteio/parseparams_byteio.cpp 2008-10-21 01:04:08.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: parseparams_byteio.cpp,v 1.5 2007/11/16 04:48:44 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: parseparams_byteio.cpp,v 1.9 2008/10/21 00:04:08 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -40,15 +40,35 @@ #include #include -const unsigned int PP_AU_FRAME_NUM_SIZE = 4; +const unsigned int PP_AU_PICTURE_NUM_SIZE = 4; using namespace dirac; -ParseParamsByteIO::ParseParamsByteIO( const ByteIO& stream_data): -ByteIO(stream_data) +ParseParamsByteIO::ParseParamsByteIO( const ByteIO& stream_data, + ParseParams &parse_params, + EncoderParams &enc_params): +ByteIO(stream_data), +m_parse_params(parse_params) { - - + if (enc_params.NumL1() == 0) + { + if (!enc_params.UsingAC()) + { + // Simple Profile + m_parse_params.SetProfile(1); + } + else + { + // Main (Intra) profile + m_parse_params.SetProfile(2); + } + } + else + { + // Main (Long GOP) profile + m_parse_params.SetProfile(8); + } + // FIXME - no support for Low Delay Profile } ParseParamsByteIO::ParseParamsByteIO( const ByteIO& stream_data, @@ -64,67 +84,144 @@ { } -//-------------public--------------------------------------------------------------- - -void ParseParamsByteIO::Input() +void ParseParamsByteIO::CheckVersion() { + std::ostringstream errstr; ParseParams def_parse_params; - //input version - m_parse_params.SetMajorVersion(ReadUint()); - m_parse_params.SetMinorVersion(ReadUint()); - - // input profile - m_parse_params.SetProfile(ReadUint()); - - // input level - m_parse_params.SetLevel(ReadUint()); - - std::ostringstream errstr; - // FIXME: for the time being all should be a perfect match until - // we add support for previous versions - if (m_parse_params.MajorVersion() != def_parse_params.MajorVersion() || - m_parse_params.MinorVersion() != def_parse_params.MinorVersion()) + if (m_parse_params.MajorVersion() > def_parse_params.MajorVersion() || + m_parse_params.MajorVersion() == 0 || + (m_parse_params.MajorVersion() == def_parse_params.MajorVersion() && + m_parse_params.MinorVersion() > def_parse_params.MinorVersion())) { - errstr << "Cannot handle version "; + errstr << "WARNING: Bitstream version is "; errstr << m_parse_params.MajorVersion() << "."; errstr << m_parse_params.MinorVersion() << "."; errstr << " Supported version is "; errstr << def_parse_params.MajorVersion() << "."; - errstr << def_parse_params.MinorVersion() << std::endl; + errstr << def_parse_params.MinorVersion(); + errstr << ". May not be able to decode bitstream correctly" << std::endl; + } + + if (errstr.str().size()) + { + DiracException err( + ERR_UNSUPPORTED_STREAM_DATA, + errstr.str(), + SEVERITY_PICTURE_ERROR); + DIRAC_LOG_EXCEPTION(err); + } +} + +void ParseParamsByteIO::CheckProfile() +{ + std::ostringstream errstr; + ParseParams def_parse_params; + + // No profiles were specified in versions 1.0, 1.1, and 2.0 and 2.1. + // So for these versions profile should be 0 in the bitstream + if (m_parse_params.MajorVersion() <= 2 && + m_parse_params.MinorVersion() < 2 && + m_parse_params.Profile() != 0) + { + errstr << "Cannot handle profile " << m_parse_params.Profile() + << " for bitstream version " << m_parse_params.MajorVersion() + << "." << m_parse_params.MinorVersion(); + errstr << ". May not be able to decode bitstream correctly" << std::endl; + } + else if (m_parse_params.MajorVersion() == def_parse_params.MajorVersion() && + m_parse_params.MinorVersion() == def_parse_params.MinorVersion() && + m_parse_params.Profile() != 1 /* Simple */ && + m_parse_params.Profile() != 2 /* Main (Intra) */ && + m_parse_params.Profile() != 8 /* Main (Long GOP) */ + ) + { + errstr << "Cannot handle profile " << m_parse_params.Profile() + << " for bitstream version " << m_parse_params.MajorVersion() + << ". " << m_parse_params.MinorVersion() + << ". Supported profiles are 1 (Simple) " + << " 2 (Main Intra) and 8 (Long GOP)"; + errstr << ". May not be able to decode bitstream correctly" << std::endl; } - if (m_parse_params.Profile() > def_parse_params.Profile()) + if (errstr.str().size()) { - errstr << "Cannot handle profile " << m_parse_params.Profile(); - errstr << ". Supported profile is " << def_parse_params.Profile(); + DiracException err( + ERR_UNSUPPORTED_STREAM_DATA, + errstr.str(), + SEVERITY_PICTURE_ERROR); + DIRAC_LOG_EXCEPTION(err); } +} + +void ParseParamsByteIO::CheckLevel() +{ + std::ostringstream errstr; + ParseParams def_parse_params; - if (m_parse_params.Level() > def_parse_params.Level()) + // No resources constraints for decoder + if (def_parse_params.Level() == 0) + return; + + // Constraints on Decoder. Can Handles level 1 for Simple and Main (Intra) + // profiles, and level 128 for Main (Long GOP) Profile. + if (def_parse_params.Level() != 0) { - errstr << "Cannot handle level " << m_parse_params.Level(); - errstr << ". Supported level is " << def_parse_params.Level(); + if ((m_parse_params.Profile() <= 2 && m_parse_params.Level() != 1) || + (m_parse_params.Profile() ==8 && m_parse_params.Level() != 128)) + { + errstr << "Cannot handle Level " << m_parse_params.Level() + << " for bitstream version " << m_parse_params.MajorVersion() + << ". " << m_parse_params.MinorVersion() + << " Profile " << m_parse_params.Profile() + << ". Supported levels are 1 for Profiles 0, 1, 2 " + << " and 128 for Profile 8"; + errstr << ". May not be able to decode bitstream correctly" << std::endl; + } } if (errstr.str().size()) { - DIRAC_THROW_EXCEPTION( + DiracException err( ERR_UNSUPPORTED_STREAM_DATA, errstr.str(), - SEVERITY_FRAME_ERROR); + SEVERITY_PICTURE_ERROR); + DIRAC_LOG_EXCEPTION(err); } + return; +} + +//-------------public--------------------------------------------------------------- + +void ParseParamsByteIO::Input() +{ + + //input version + m_parse_params.SetMajorVersion(ReadUint()); + m_parse_params.SetMinorVersion(ReadUint()); + + // input profile + m_parse_params.SetProfile(ReadUint()); + + // input level + m_parse_params.SetLevel(ReadUint()); + + CheckVersion(); + + CheckProfile(); + + CheckLevel(); } void ParseParamsByteIO::Output() { - ParseParams def_parse_params; // output version - WriteUint(def_parse_params.MajorVersion()); - WriteUint(def_parse_params.MinorVersion()); + WriteUint(m_parse_params.MajorVersion()); + WriteUint(m_parse_params.MinorVersion()); // output profile - WriteUint(def_parse_params.Profile()); + WriteUint(m_parse_params.Profile()); - // output level - WriteUint(def_parse_params.Level()); + // output level - does not conform to any defined level + WriteUint(m_parse_params.Level()); } diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/parseparams_byteio.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/parseparams_byteio.h --- dirac-0.9.1/libdirac_byteio/parseparams_byteio.h 2007-07-16 16:11:51.000000000 +0100 +++ dirac-1.0.2/libdirac_byteio/parseparams_byteio.h 2008-05-07 06:47:00.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: parseparams_byteio.h,v 1.2 2007/07/16 15:11:51 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: parseparams_byteio.h,v 1.4 2008/05/07 05:47:00 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -61,9 +61,13 @@ /** * Constructor - *@param stream_data Destination of data + *@param stream_data Destination of data + *@param parse_params Parse parameters + *@param enc_params Encoder parameters */ - ParseParamsByteIO(const ByteIO& stream_data); + ParseParamsByteIO(const ByteIO& stream_data, + ParseParams &parse_params, + EncoderParams &enc_params); /** * Constructor @@ -95,12 +99,16 @@ protected: + private: + void CheckVersion(); + void CheckProfile(); + void CheckLevel(); private: /** * Reference to parse parameters */ - ParseParams m_parse_params; + ParseParams& m_parse_params; }; diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/parseunit_byteio.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/parseunit_byteio.cpp --- dirac-0.9.1/libdirac_byteio/parseunit_byteio.cpp 2007-11-16 04:48:44.000000000 +0000 +++ dirac-1.0.2/libdirac_byteio/parseunit_byteio.cpp 2008-05-02 06:57:19.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: parseunit_byteio.cpp,v 1.7 2007/11/16 04:48:44 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: parseunit_byteio.cpp,v 1.10 2008/05/02 05:57:19 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -21,6 +21,7 @@ * All Rights Reserved. * * Contributor(s): Andrew Kennedy (Original Author) +* Anuradha Suraparaju * * Alternatively, the contents of this file may be used under the terms of * the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser @@ -59,7 +60,7 @@ m_previous_parse_offset(0), m_next_parse_offset(0) { - + } ParseUnitByteIO::ParseUnitByteIO(const ByteIO& byte_io): @@ -67,7 +68,7 @@ m_previous_parse_offset(0), m_next_parse_offset(0) { - + } ParseUnitByteIO::ParseUnitByteIO(const ParseUnitByteIO& parseunit_byteio): @@ -110,73 +111,82 @@ return true; } -bool ParseUnitByteIO::IsValid(const ParseUnitByteIO& next_unit) +bool ParseUnitByteIO::IsValid() { - // move back by size of next-unit - SeekGet(-(next_unit.GetPreviousParseOffset()+next_unit.GetSize()), ios_base::cur); + if (IsEndOfSequence()) + return true; + + // Skip past the end of current parse unit + SeekGet(m_next_parse_offset-GetSize(), ios_base::cur); // check the next series of bytes are the parse-info prefix string prefix = InputUnString(PU_PREFIX_SIZE); - bool is_valid = (prefix==PU_PREFIX); - - if(is_valid) + if(prefix==PU_PREFIX) { - // move to start beginning of data in this unit - SeekGet(GetSize()-PU_PREFIX_SIZE, ios_base::cur); - return true; - } - - // not a valid unit - move to start of entire unit - SeekGet(-PU_PREFIX_SIZE, ios_base::cur); + unsigned char next_parse_code; + next_parse_code = InputUnByte(); + // input next unit parse-offsets + int next_unit_next_parse_offset; + next_unit_next_parse_offset = ReadUintLit(PU_NEXT_PARSE_OFFSET_SIZE); + + int next_unit_previous_parse_offset; + next_unit_previous_parse_offset = ReadUintLit(PU_PREVIOUS_PARSE_OFFSET_SIZE); + if (next_unit_previous_parse_offset == m_next_parse_offset) + { + SeekGet(-(m_next_parse_offset-GetSize()+PU_PARSEUNIT_SIZE), ios_base::cur); + return true; + } + } + SeekGet(-(m_next_parse_offset-GetSize()), ios_base::cur); return false; } -bool ParseUnitByteIO::Skip() +bool ParseUnitByteIO::CanSkip() { - if(m_next_parse_offset==0) - return false; + if(m_next_parse_offset==0 || m_next_parse_offset == GetSize()) + return true; - //int curr_pos = GetReadBytePosition(); - SeekGet(m_next_parse_offset-GetSize(), ios_base::cur); + // Skip past the end of current parse unit and past the header of the + // next unit + SeekGet(m_next_parse_offset-GetSize() + GetSize(), ios_base::cur); if(GetReadBytePosition() >= 0) - return true; // success + { + SeekGet(-(m_next_parse_offset-GetSize() + GetSize()), ios_base::cur); + return true; // success + } // end of stream reached mp_stream->clear(); - - DIRAC_THROW_EXCEPTION( - ERR_END_OF_STREAM, - "End of stream", - SEVERITY_NO_ERROR) + return false; } -const string ParseUnitByteIO::GetBytes() +const string ParseUnitByteIO::GetBytes() { stringstream parse_string; parse_string << PU_PREFIX; parse_string << CalcParseCode(); - + //FIXME : Need to do this properly. // Write the parse offsets in Big Endian format for(int i=PU_NEXT_PARSE_OFFSET_SIZE-1; i >= 0; --i) { - unsigned char cp = (m_next_parse_offset>>(i*8)) & 0xff; + unsigned char cp = (m_next_parse_offset>>(i*8)) & 0xff; parse_string << cp; } for(int i=PU_PREVIOUS_PARSE_OFFSET_SIZE-1; i >= 0; --i) { - unsigned char cp = (m_previous_parse_offset>>(i*8)) & 0xff; + unsigned char cp = (m_previous_parse_offset>>(i*8)) & 0xff; parse_string << cp; } return parse_string.str() + ByteIO::GetBytes(); } - + int ParseUnitByteIO::GetSize() const { return PU_PARSEUNIT_SIZE; @@ -201,7 +211,7 @@ return; // set previous parse offset - m_previous_parse_offset = p_prev_parseunit->m_next_parse_offset; + m_previous_parse_offset = p_prev_parseunit->m_next_parse_offset; } @@ -209,22 +219,22 @@ { if(IsSeqHeader()) return PU_SEQ_HEADER; - + if(IsCoreSyntax()) - return PU_CORE_FRAME; + return PU_CORE_PICTURE; if(IsLowDelay()) - return PU_LOW_DELAY_FRAME; + return PU_LOW_DELAY_PICTURE; if(IsPicture()) - return PU_FRAME; + return PU_PICTURE; if(IsEndOfSequence()) return PU_END_OF_SEQUENCE; if(IsAuxiliaryData()) return PU_AUXILIARY_DATA; - + if(IsPaddingData()) return PU_PADDING_DATA; @@ -243,8 +253,8 @@ { // locate parse-unit prefix string byte_buffer; - - while(CanRead()==true) + + while(CanRead()==true && mp_stream->tellg() >= 0) { // ensure current buffer length if((int)byte_buffer.size() == PU_PREFIX_SIZE) @@ -252,7 +262,7 @@ byte_buffer.assign(byte_buffer.substr(1,PU_PREFIX_SIZE-1)); } // read next byte - byte_buffer.push_back(InputUnByte()); + byte_buffer.push_back(InputUnByte()); //look to see if we have prefix if(byte_buffer==PU_PREFIX) @@ -264,24 +274,16 @@ if (cur_pos < 0) // past end of stream { mp_stream->clear(); - // mp_stream->seekg(prev_pos-PU_PREFIX_SIZE, ios_base::beg); - cur_pos = mp_stream->tellg(); - - DIRAC_THROW_EXCEPTION(ERR_END_OF_STREAM, - "End of stream", - SEVERITY_NO_ERROR) + return false; } mp_stream->seekg(-(PU_PARSEUNIT_SIZE-PU_PREFIX_SIZE), ios_base::cur); return true; } - + } // Clear the eof flag and throw an error. mp_stream->clear(); - DIRAC_THROW_EXCEPTION(ERR_END_OF_STREAM, - "End of stream", - SEVERITY_NO_ERROR); return false; } diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/parseunit_byteio.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/parseunit_byteio.h --- dirac-0.9.1/libdirac_byteio/parseunit_byteio.h 2008-01-16 02:42:08.000000000 +0000 +++ dirac-1.0.2/libdirac_byteio/parseunit_byteio.h 2008-05-02 06:57:19.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: parseunit_byteio.h,v 1.9 2008/01/16 02:42:08 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: parseunit_byteio.h,v 1.11 2008/05/02 05:57:19 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -21,6 +21,7 @@ * All Rights Reserved. * * Contributor(s): Andrew Kennedy (Original Author) +* Anuradha Suraparaju * * Alternatively, the contents of this file may be used under the terms of * the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser @@ -55,12 +56,12 @@ /* Types of parse-unit */ typedef enum { PU_SEQ_HEADER=0, - PU_FRAME, + PU_PICTURE, PU_END_OF_SEQUENCE, PU_AUXILIARY_DATA, PU_PADDING_DATA, - PU_CORE_FRAME, - PU_LOW_DELAY_FRAME, + PU_CORE_PICTURE, + PU_LOW_DELAY_PICTURE, PU_UNDEFINED } ParseUnitType; @@ -108,15 +109,14 @@ /** * Accesses validity of a unit by comparing it with an adjacent unit - *@param next_unit Next unit i stream after this one */ - bool IsValid(const ParseUnitByteIO& next_unit); + bool IsValid(); /** - * Skip past the entire parse-unit + * Can Skip past the entire parse-unit *@return false Nothing to skip to */ - bool Skip(); + bool CanSkip(); /** * Gets string containing coded bytes @@ -149,31 +149,6 @@ */ virtual ParseUnitType GetType() const; - protected: - - /** - * Calculates number of bytes to start of next unit - *@return Number of bytes to next unit - */ - virtual int CalcNextUnitOffset(); - - /** - * Pure virtual method for calculating parse-code - *@return Char containing bit-set for parse-unit parameters - */ - virtual unsigned char CalcParseCode() const { return 0;} // encoding - - /** - * Locates start of parse-unit - *@return false if not enough data - */ - bool SyncToUnitStart(); // decoding - - /** - * Get parse code - */ - unsigned char GetParseCode() const { return m_parse_code;} - /** * Returns true is parse unit is a Sequence Header */ @@ -222,6 +197,31 @@ bool IsUsingAC() const { return ((m_parse_code&0x48)==0x08); } + protected: + + /** + * Calculates number of bytes to start of next unit + *@return Number of bytes to next unit + */ + virtual int CalcNextUnitOffset(); + + /** + * Pure virtual method for calculating parse-code + *@return Char containing bit-set for parse-unit parameters + */ + virtual unsigned char CalcParseCode() const { return 0;} // encoding + + /** + * Locates start of parse-unit + *@return false if not enough data + */ + bool SyncToUnitStart(); // decoding + + /** + * Get parse code + */ + unsigned char GetParseCode() const { return m_parse_code;} + private: /** diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/picture_byteio.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/picture_byteio.cpp --- dirac-0.9.1/libdirac_byteio/picture_byteio.cpp 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/libdirac_byteio/picture_byteio.cpp 2008-08-14 02:58:39.000000000 +0100 @@ -0,0 +1,279 @@ +/* ***** BEGIN LICENSE BLOCK ***** +* +* $Id: picture_byteio.cpp,v 1.3 2008/08/14 01:58:39 asuraparaju Exp $ $Name: Dirac_1_0_2 $ +* +* Version: MPL 1.1/GPL 2.0/LGPL 2.1 +* +* The contents of this file are subject to the Mozilla Public License +* Version 1.1 (the "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* http://www.mozilla.org/MPL/ +* +* Software distributed under the License is distributed on an "AS IS" basis, +* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for +* the specific language governing rights and limitations under the License. +* +* The Original Code is BBC Research and Development code. +* +* The Initial Developer of the Original Code is the British Broadcasting +* Corporation. +* Portions created by the Initial Developer are Copyright (C) 2004. +* All Rights Reserved. +* +* Contributor(s): Andrew Kennedy (Original Author), +* Anuradha Suraparaju +* +* Alternatively, the contents of this file may be used under the terms of +* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser +* Public License Version 2.1 (the "LGPL"), in which case the provisions of +* the GPL or the LGPL are applicable instead of those above. If you wish to +* allow use of your version of this file only under the terms of the either +* the GPL or LGPL and not to allow others to use your version of this file +* under the MPL, indicate your decision by deleting the provisions above +* and replace them with the notice and other provisions required by the GPL +* or LGPL. If you do not delete the provisions above, a recipient may use +* your version of this file under the terms of any one of the MPL, the GPL +* or the LGPL. +* ***** END LICENSE BLOCK ***** */ + +#include "picture_byteio.h" +#include + +using namespace dirac; +using namespace std; + +const unsigned int PP_PICTURE_NUM_SIZE = 4; + +const int CODE_ONE_REF_BIT = 0; +const int CODE_TWO_REF_BIT = 1; +const int CODE_REF_PICTURE_BIT = 2; +const int CODE_PUTYPE_1_BIT = 3; +const int CODE_VLC_ENTROPY_CODING_BIT = 6; + +// maximum number of refs allowed +const unsigned int MAX_NUM_REFS = 2; + +PictureByteIO::PictureByteIO(PictureParams& frame_params, + int frame_num) : +ParseUnitByteIO(), +m_frame_params(frame_params), +m_frame_num(frame_num), +m_mv_data(0), +m_transform_data(0) +{ + +} + +PictureByteIO::PictureByteIO(PictureParams& frame_params, + const ParseUnitByteIO& parseunit_byteio ): +ParseUnitByteIO(parseunit_byteio), +m_frame_params(frame_params), +m_frame_num(0), +m_mv_data(0), +m_transform_data(0) +{ + +} + + +PictureByteIO::~PictureByteIO() +{ + //delete block data + if (m_mv_data) + { + delete m_mv_data; + m_mv_data = 0; + } + if (m_transform_data) + { + delete m_transform_data; + m_transform_data = 0; + } +} + +void PictureByteIO::CollateByteStats(DiracByteStats& dirac_byte_stats) +{ + if(m_mv_data) + m_mv_data->CollateByteStats(dirac_byte_stats); + if(m_transform_data) + m_transform_data->CollateByteStats(dirac_byte_stats); + + ParseUnitByteIO::CollateByteStats(dirac_byte_stats); +} + +bool PictureByteIO::Input() +{ + // set picture type + SetPictureType(); + SetReferenceType(); + SetEntropyCodingFlag(); + + // Use of VLC for entropy coding is supported for + // intra frames only + if (m_frame_params.GetPictureType() == INTER_PICTURE && + m_frame_params.UsingAC() == false) + { + DIRAC_THROW_EXCEPTION( + ERR_UNSUPPORTED_STREAM_DATA, + "VLC codes for entropy coding of coefficient data supported for Intra frames only", + SEVERITY_PICTURE_ERROR); + } + + // input picture number + m_frame_num = ReadUintLit(PP_PICTURE_NUM_SIZE); + m_frame_params.SetPictureNum(m_frame_num); + + // input reference Picture numbers + InputReferencePictures(); + + // input retired Picture numbers list + m_frame_params.SetRetiredPictureNum(-1); + if (IsRef()) + InputRetiredPicture(); + + // byte align + ByteAlignInput(); + + return true; +} + +const string PictureByteIO::GetBytes() +{ + // Write mv data + if(m_frame_params.PicSort().IsInter() && m_mv_data) + { + OutputBytes(m_mv_data->GetBytes()); + } + + // Write transform header + if (m_transform_data) + { + OutputBytes(m_transform_data->GetBytes()); + } + return ParseUnitByteIO::GetBytes(); +} + +int PictureByteIO::GetSize() const +{ + int size = 0; + if (m_mv_data) + size += m_mv_data->GetSize(); + if (m_transform_data) + size += m_transform_data->GetSize(); + + //std::cerr << "Picture Header Size=" << ByteIO::GetSize(); + //std::cerr << "Data Size=" << size << std::endl; + + return size+ParseUnitByteIO::GetSize()+ByteIO::GetSize(); +} + +void PictureByteIO::Output() +{ + // output picture number + WriteUintLit(m_frame_num, PP_PICTURE_NUM_SIZE); + + if(m_frame_params.GetPictureType()==INTER_PICTURE) + { + // output reference picture numbers + const std::vector& refs = m_frame_params.Refs(); + for(size_t i=0; i < refs.size() && i < MAX_NUM_REFS; ++i) + WriteSint(refs[i] - m_frame_num); + } + + // output retired picture + ASSERTM (m_frame_params.GetReferenceType() == REFERENCE_PICTURE || m_frame_params.RetiredPictureNum() == -1, "Only Reference frames can retire frames"); + if(m_frame_params.GetReferenceType() == REFERENCE_PICTURE) + { + if (m_frame_params.RetiredPictureNum() == -1) + WriteSint(0); + else + { + WriteSint (m_frame_params.RetiredPictureNum() - m_frame_num); + } + } + // byte align output + ByteAlignOutput(); + +} + + +//-------------private------------------------------------------------------- + +unsigned char PictureByteIO::CalcParseCode() const +{ + unsigned char code = 0; + + int num_refs = m_frame_params.Refs().size(); + + if(m_frame_params.GetPictureType()==INTER_PICTURE) + { + // set number of refs + if(num_refs == 1) + SetBit(code, CODE_ONE_REF_BIT); + if(num_refs > 1) + SetBit(code, CODE_TWO_REF_BIT); + } + // set ref type + if(m_frame_params.GetReferenceType()==REFERENCE_PICTURE) + SetBit(code, CODE_REF_PICTURE_BIT); + + // Set parse unit type + SetBit(code, CODE_PUTYPE_1_BIT); + + // Set Entropy Coding type + if (!m_frame_params.UsingAC()) + { + SetBit(code, CODE_VLC_ENTROPY_CODING_BIT); + } + return code; + + +} + +void PictureByteIO::InputReferencePictures() +{ + // get number of frames referred to + int ref_count = NumRefs(); + + // get the number of these frames + vector& refs = m_frame_params.Refs(); + refs.resize(ref_count); + for(int i=0; i < ref_count; ++i) + refs[i]=m_frame_num+ReadSint(); +} + +void PictureByteIO::InputRetiredPicture() +{ + TESTM(IsRef(), "Retired Picture offset only set for Reference Frames"); + + // input retired picture offset + int offset = ReadSint(); + // input retired frames + if (offset) + { + m_frame_params.SetRetiredPictureNum(m_frame_num + offset); + } +} + +void PictureByteIO::SetPictureType() +{ + if(IsIntra()) + m_frame_params.SetPictureType(INTRA_PICTURE); + else if(IsInter()) + m_frame_params.SetPictureType(INTER_PICTURE); + +} + +void PictureByteIO::SetReferenceType() +{ + if(IsRef()) + m_frame_params.SetReferenceType(REFERENCE_PICTURE); + else if(IsNonRef()) + m_frame_params.SetReferenceType(NON_REFERENCE_PICTURE); + +} + +void PictureByteIO::SetEntropyCodingFlag() +{ + m_frame_params.SetUsingAC(IsUsingAC()); +} diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/picture_byteio.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/picture_byteio.h --- dirac-0.9.1/libdirac_byteio/picture_byteio.h 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/libdirac_byteio/picture_byteio.h 2008-01-31 11:25:15.000000000 +0000 @@ -0,0 +1,208 @@ +/* ***** BEGIN LICENSE BLOCK ***** +* +* $Id: picture_byteio.h,v 1.1 2008/01/31 11:25:15 tjdwave Exp $ $Name: Dirac_1_0_2 $ +* +* Version: MPL 1.1/GPL 2.0/LGPL 2.1 +* +* The contents of this file are subject to the Mozilla Public License +* Version 1.1 (the "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* http://www.mozilla.org/MPL/ +* +* Software distributed under the License is distributed on an "AS IS" basis, +* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for +* the specific language governing rights and limitations under the License. +* +* The Original Code is BBC Research and Development code. +* +* The Initial Developer of the Original Code is the British Broadcasting +* Corporation. +* Portions created by the Initial Developer are Copyright (C) 2004. +* All Rights Reserved. +* +* Contributor(s): Andrew Kennedy (Original Author) +* Anuradha Suraparaju +* +* Alternatively, the contents of this file may be used under the terms of +* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser +* Public License Version 2.1 (the "LGPL"), in which case the provisions of +* the GPL or the LGPL are applicable instead of those above. If you wish to +* allow use of your version of this file only under the terms of the either +* the GPL or LGPL and not to allow others to use your version of this file +* under the MPL, indicate your decision by deleting the provisions above +* and replace them with the notice and other provisions required by the GPL +* or LGPL. If you do not delete the provisions above, a recipient may use +* your version of this file under the terms of any one of the MPL, the GPL +* or the LGPL. +* ***** END LICENSE BLOCK ***** */ + +/** +* Definition of class PictureByteIO +*/ +#ifndef picture_byteio_h +#define picture_byteio_h + + +//LOCAL INCLUDES +#include // Parent class +#include // Contains mvdata streams +#include // Transform header + +// DIRAC includes +#include // PictureType etc + + +namespace dirac +{ + /** + * A compressed picture in Dirac bytestream format + */ + class PictureByteIO : public ParseUnitByteIO + { + public: + + /** + * Constructor + *@param frame_params Picture parameters + *@param frame_num Picture number + */ + PictureByteIO(PictureParams& frame_params, + int frame_num); + + + /** + * Constructor + *@param frame_params Destination of data + *@param parseunit_byteio Source of data + */ + PictureByteIO(PictureParams& frame_params, + const ParseUnitByteIO& parseunit_byteio); + + /** + * Destructor + */ + virtual ~PictureByteIO(); + + /** + * Gathers byte stats on the picture data + *@param dirac_byte_stats Stat container + */ + void CollateByteStats(DiracByteStats& dirac_byte_stats); + + /** + * Inputs data from Dirac stream-format + */ + bool Input(); + + /** + * Outputs picture values to Dirac stream-format + */ + void Output(); + + + + const std::string GetBytes(); + + int GetSize() const; + + /** + * Gets parse-unit type + */ + ParseUnitType GetType() const { return PU_PICTURE;} + + /** + * Returns true is picture in Reference picture + */ + int IsRef() const { return (GetParseCode()&0x0C)==0x0C;} + + /** + * Returns true is picture in Non-Reference picture + */ + int IsNonRef() const { return (GetParseCode()&0x0C)==0x08;} + + /** + * Gets parse-unit type + */ + int NumRefs() const { return (GetParseCode()&0x03);} + + /** + * Returns true is picture is Intra picture + */ + bool IsIntra() const { return IsPicture() && (NumRefs()==0) ; } + + /** + * Returns true is picture is Inter picture + */ + bool IsInter() const { return IsPicture() && (NumRefs()>0) ; } + + /*** + * Sets the MVDataIO + */ + void SetMvData(MvDataByteIO *mv_data) {m_mv_data = mv_data; } + + /*** + * Sets the TransformByteIo + */ + void SetTransformData(TransformByteIO *transform_data) {m_transform_data = transform_data; } + + protected: + + + private: + + /** + * Calculates parse-code based on picture parameters + *@return Char bit-set + */ + unsigned char CalcParseCode() const; + + /** + * Reads reference-picture data + */ + void InputReferencePictures(); + + /** + * Reads retired picture number + */ + void InputRetiredPicture(); + + /** + * Calculates picture-type (eg INTRA/INTER) of picture + */ + void SetPictureType(); + + /** + * Calculates reference-type of picture + */ + void SetReferenceType(); + + /** + * Sets the entropy coding flag in the picture parameters + */ + void SetEntropyCodingFlag(); + + /** + * Picture parameters + */ + PictureParams& m_frame_params; + + /** + * Picture number + */ + int m_frame_num; + + /** + * MV data + */ + MvDataByteIO * m_mv_data; + + /** + * Transform data + */ + TransformByteIO * m_transform_data; + + }; + +} // namespace dirac + +#endif diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_byteio/subband_byteio.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_byteio/subband_byteio.cpp --- dirac-0.9.1/libdirac_byteio/subband_byteio.cpp 2007-11-16 04:48:44.000000000 +0000 +++ dirac-1.0.2/libdirac_byteio/subband_byteio.cpp 2008-04-29 09:51:52.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: subband_byteio.cpp,v 1.3 2007/11/16 04:48:44 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: subband_byteio.cpp,v 1.4 2008/04/29 08:51:52 tjdwave Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -80,7 +80,7 @@ } // If we're not skipped, we need a quantisation index for the subband - m_subband.SetQIndex(ReadUint() ); + m_subband.SetQuantIndex(ReadUint() ); if ( !m_subband.UsingMultiQuants() ) { @@ -88,7 +88,7 @@ // don't have multiquants for ( int j=0 ; j #include #include +#include namespace dirac { @@ -66,10 +67,10 @@ Range(int s, int e): m_fst(s), m_lst(e){} //! Returns the start of the range. - const int First() const {return m_fst;} + int First() const {return m_fst;} //! Returns the end point of the range. - const int Last() const {return m_lst;} + int Last() const {return m_lst;} private: int m_fst ,m_lst; @@ -358,22 +359,22 @@ inline const element_type& operator[](const int pos) const {return m_array_of_rows[pos];} //! Returns the width - const int LengthX() const { return m_length_x; } + int LengthX() const { return m_length_x; } //! Returns the height - const int LengthY() const { return m_length_y; } + int LengthY() const { return m_length_y; } //! Returns the index of the first element of a row - const int FirstX() const { return m_first_x; } + int FirstX() const { return m_first_x; } //! Returns the index of the first element of a column - const int FirstY() const { return m_first_y; } + int FirstY() const { return m_first_y; } //! Returns the index of the last element of a row - const int LastX() const { return m_last_x; } + int LastX() const { return m_last_x; } //! Returns the index of the first element of a column - const int LastY() const { return m_last_y; } + int LastY() const { return m_last_y; } private: //! Initialise the array diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/band_codec.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/band_codec.cpp --- dirac-0.9.1/libdirac_common/band_codec.cpp 2007-12-05 01:23:43.000000000 +0000 +++ dirac-1.0.2/libdirac_common/band_codec.cpp 2009-02-10 01:46:23.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: band_codec.cpp,v 1.40 2007/12/05 01:23:43 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: band_codec.cpp,v 1.53 2009/02/10 01:46:23 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -47,788 +47,73 @@ #include #include #include +#include using namespace dirac; -//! Constructor for encoding. -BandCodec::BandCodec(SubbandByteIO* subband_byteio, - size_t number_of_contexts, - const SubbandList & band_list, - int band_num, - const bool is_intra): - ArithCodec(subband_byteio,number_of_contexts), - m_is_intra(is_intra), - m_bnum(band_num), - m_node(band_list(band_num)), - m_last_qf_idx(m_node.QIndex()) -{ - if (m_node.Parent()!=0) - m_pnode=band_list(m_node.Parent()); -} - - -//encoding function -void BandCodec::DoWorkCode(CoeffArray& in_data) -{ - - const TwoDArray& block_list( m_node.GetCodeBlocks() ); - - if (m_node.Parent() != 0) - { - m_pxp = m_pnode.Xp(); - m_pyp = m_pnode.Yp(); - } - else - { - m_pxp = 0; - m_pyp = 0; - } - - // Now loop over the blocks and code - bool code_skip = (block_list.LengthX() > 1 || block_list.LengthY() > 1); - for (int j=block_list.FirstY() ; j<=block_list.LastY() ; ++j) - { - CodeBlock *block = block_list[j]; - for (int i=block_list.FirstX() ; i<=block_list.LastX() ; ++i) - { - if (code_skip) - EncodeSymbol(block[i].Skipped() , BLOCK_SKIP_CTX ); - if ( !block[i].Skipped() ) - CodeCoeffBlock( block[i] , in_data ); - else - ClearBlock (block[i] , in_data); - }// i - }// j - -} - -void BandCodec::CodeCoeffBlock( const CodeBlock& code_block , CoeffArray& in_data ) -{ - //main coding function, using binarisation - - const int xbeg = code_block.Xstart(); - const int ybeg = code_block.Ystart(); - const int xend = code_block.Xend(); - const int yend = code_block.Yend(); - - const int qf_idx = code_block.QIndex(); - - if ( m_node.UsingMultiQuants() ) - { - CodeQIndexOffset( qf_idx - m_last_qf_idx); - m_last_qf_idx = qf_idx; - } - - m_qf = dirac_quantiser_lists.QuantFactor4( qf_idx ); - if (m_is_intra) - m_offset = dirac_quantiser_lists.IntraQuantOffset4( qf_idx ); - else - m_offset = dirac_quantiser_lists.InterQuantOffset4( qf_idx ); - - for ( int ypos=ybeg; ypos>1)+m_pnode.Yp(); - for ( int xpos=xbeg; xpos>1)+m_pnode.Xp(); - - m_nhood_nonzero = false; - if (ypos > m_node.Yp()) - m_nhood_nonzero |= bool(in_data[ypos-1][xpos]); - if (xpos > m_node.Xp()) - m_nhood_nonzero |= bool(in_data[ypos][xpos-1]); - if (ypos > m_node.Yp() && xpos > m_node.Xp()) - m_nhood_nonzero |= bool(in_data[ypos-1][xpos-1]); - - m_parent_notzero = static_cast ( in_data[m_pypos][m_pxpos] ); - - CodeVal( in_data , xpos , ypos , in_data[ypos][xpos] ); - - }// xpos - }// ypos - -} - -/* -Coefficient magnitude value and differential quantiser index magnitude are -coded using interleaved exp-Golomb coding for binarisation. In this scheme, a -value N>=0 is coded by writing N+1 in binary form of a 1 followed by K other -bits: 1bbbbbbb (adding 1 ensures there'll be a leading 1). These K bits ("info -bits") are interleaved with K zeroes ("follow bits") each of which means -"another bit coming", followed by a terminating 1: - - 0b0b0b ...0b1 - -(Conventional exp-Golomb coding has the K zeroes at the beginning, followed -by the 1 i.e 00...01bb .. b, but interleaving allows the decoder to run a -single loop and avoid counting the number of zeroes, sparing a register.) - -All bits are arithmetically coded. The follow bits have separate contexts -based on position, and have different contexts from the info bits. -*/ - -inline void BandCodec::CodeVal( CoeffArray& in_data , - const int xpos , - const int ypos , - const CoeffType val ) -{ - unsigned int abs_val( std::abs(val) ); - abs_val <<= 2; - abs_val /= m_qf; - - const int N = abs_val+1; - int num_follow_zeroes=0; - - while ( N >= (1<=0; --i, ++c ) - { - EncodeSymbol( 0, ChooseFollowContext( c ) ); - EncodeSymbol( N&(1<( abs_val ); - - if ( abs_val ) - { - // Must code sign bits and reconstruct - in_data[ypos][xpos] *= m_qf; - in_data[ypos][xpos] += m_offset+2; - in_data[ypos][xpos] >>= 2; - - if ( val>0 ) - { - EncodeSymbol( 0 , ChooseSignContext( in_data , xpos , ypos ) ); - } - else - { - EncodeSymbol( 1 , ChooseSignContext( in_data , xpos , ypos ) ); - in_data[ypos][xpos] = -in_data[ypos][xpos]; - } - } -} - -void BandCodec::CodeQIndexOffset( const int offset ) -{ - - const int abs_val = std::abs( offset ); - - int N = abs_val+1; - int num_follow_zeroes=0; - - while ( N>= (1<=0; --i, ++c ) - { - EncodeSymbol( 0 , Q_OFFSET_FOLLOW_CTX ); - EncodeSymbol( N&(1<0 ) - EncodeSymbol( 0 , Q_OFFSET_SIGN_CTX ); - else - EncodeSymbol( 1 , Q_OFFSET_SIGN_CTX ); - } -} - -void BandCodec::DoWorkDecode( CoeffArray& out_data ) -{ - if (m_node.Parent() != 0) - { - m_pxp = m_pnode.Xp(); - m_pyp = m_pnode.Yp(); - } - else - { - m_pxp = 0; - m_pyp = 0; - } - - const TwoDArray& block_list( m_node.GetCodeBlocks() ); - - // Now loop over the blocks and decode - bool decode_skip= (block_list.LengthX() > 1 || block_list.LengthY() > 1); - for (int j=block_list.FirstY() ; j<=block_list.LastY() ; ++j) - { - CodeBlock *block = block_list[j]; - for (int i=block_list.FirstX() ; i<=block_list.LastX() ; ++i) - { - if (decode_skip) - block[i].SetSkip( DecodeSymbol( BLOCK_SKIP_CTX ) ); - if ( !block[i].Skipped() ) - DecodeCoeffBlock( block[i] , out_data ); - else - ClearBlock (block[i] , out_data); - - }// i - }// j - -} - -void BandCodec::DecodeCoeffBlock( const CodeBlock& code_block , CoeffArray& out_data ) -{ - - - const int xbeg = code_block.Xstart(); - const int ybeg = code_block.Ystart(); - const int xend = code_block.Xend(); - const int yend = code_block.Yend(); - - int qf_idx = m_node.QIndex(); - - if ( m_node.UsingMultiQuants() ) - { - qf_idx = m_last_qf_idx+DecodeQIndexOffset(); - m_last_qf_idx = qf_idx; - } - - if (qf_idx > (int)dirac_quantiser_lists.MaxQIndex()) - { - std::ostringstream errstr; - errstr << "Quantiser index out of range [0.." - << (int)dirac_quantiser_lists.MaxQIndex() << "]"; - DIRAC_THROW_EXCEPTION( - ERR_UNSUPPORTED_STREAM_DATA, - errstr.str(), - SEVERITY_FRAME_ERROR); - } - - m_qf = dirac_quantiser_lists.QuantFactor4( qf_idx ); - - if (m_is_intra) - m_offset = dirac_quantiser_lists.IntraQuantOffset4( qf_idx ); - else - m_offset = dirac_quantiser_lists.InterQuantOffset4( qf_idx ); - - //Work - - for ( int ypos=ybeg; ypos>1)+m_pnode.Yp(); - CoeffType *p_out_data = out_data[m_pypos]; - CoeffType *c_out_data_1 = NULL; - if (ypos!=m_node.Yp()) - c_out_data_1 = out_data[ypos-1]; - CoeffType *c_out_data_2 = out_data[ypos]; - for ( int xpos=xbeg; xpos>1)+m_pnode.Xp(); - - m_nhood_nonzero = false; - /* c_out_data_1 is the line above the current - * c_out_data_2 is the current line */ - if (ypos > m_node.Yp()) - m_nhood_nonzero |= bool(c_out_data_1[xpos]); - if (xpos > m_node.Xp()) - m_nhood_nonzero |= bool(c_out_data_2[xpos-1]); - if (ypos > m_node.Yp() && xpos > m_node.Xp()) - m_nhood_nonzero |= bool(c_out_data_1[xpos-1]); - - m_parent_notzero = ( p_out_data[m_pxpos] != 0 ); - DecodeVal( out_data , xpos , ypos ); - - }// xpos - }// ypos -} - - -/* -Coefficient magnitude value and differential quantiser index value is coded -using interleaved exp-Golomb coding for binarisation. In this scheme, a value -N>=0 is coded by writing N+1 in binary form of a 1 followed by K other bits: -1bbbbbbb (adding 1 ensures there'll be a leading 1). These K bits ("info bits") -are interleaved with K zeroes ("follow bits") each of which means "another bit -coming", followed by a terminating 1: - - 0b0b0b ...0b1 - -(Conventional exp-Golomb coding has the K zeroes at the beginning, followed -by the 1 i.e 00...01bb .. b, but interleaving allows the decoder to run a -single loop and avoid counting the number of zeroes, sparing a register.) - -All bits are arithmetically coded. The follow bits have separate contexts -based on position, and have different contexts from the info bits. -*/ -inline void BandCodec::DecodeVal( CoeffArray& out_data , const int xpos , const int ypos ) -{ - - CoeffType& out_pixel = out_data[ypos][xpos]; - - out_pixel = 1; - int bit_count=1; - - while ( !DecodeSymbol( ChooseFollowContext( bit_count ) ) ) - { - out_pixel <<= 1; - out_pixel |= DecodeSymbol( ChooseInfoContext() ); - bit_count++; - }; - --out_pixel; - - if ( out_pixel ) - { - out_pixel *= m_qf; - out_pixel += m_offset+2; - out_pixel >>= 2; - - if ( DecodeSymbol( ChooseSignContext(out_data, xpos, ypos)) ) - out_pixel = -out_pixel; - } -} - -inline int BandCodec::ChooseFollowContext( const int bin_number ) const -{ - //condition on neighbouring values and parent values - - if (!m_parent_notzero) - { - switch ( bin_number ) - { - case 1 : - if(m_nhood_nonzero == false) - return Z_FBIN1z_CTX; - - return Z_FBIN1nz_CTX; - - case 2 : - return Z_FBIN2_CTX; - case 3 : - return Z_FBIN3_CTX; - case 4 : - return Z_FBIN4_CTX; - case 5 : - return Z_FBIN5_CTX; - default : - return Z_FBIN6plus_CTX; - } - } - else - { - switch ( bin_number ) - { - case 1 : - if(m_nhood_nonzero == false) - return NZ_FBIN1z_CTX; - - return NZ_FBIN1nz_CTX; - - case 2 : - return NZ_FBIN2_CTX; - case 3 : - return NZ_FBIN3_CTX; - case 4 : - return NZ_FBIN4_CTX; - case 5 : - return NZ_FBIN5_CTX; - default : - return NZ_FBIN6plus_CTX; - } - - } - -} - -inline int BandCodec::ChooseInfoContext() const -{ - return INFO_CTX; -} - -inline int BandCodec::ChooseSignContext( const CoeffArray& data , const int xpos , const int ypos ) const -{ - if ( m_node.Yp()==0 && m_node.Xp()!=0 ) - { - //we're in a vertically oriented subband - if (ypos == 0) - return SIGN0_CTX; - else - { - if (data[ypos-1][xpos]>0) - return SIGN_POS_CTX; - else if (data[ypos-1][xpos]<0) - return SIGN_NEG_CTX; - else - return SIGN0_CTX; - } - } - else if ( m_node.Xp()==0 && m_node.Yp()!=0 ) - { - //we're in a horizontally oriented subband - if (xpos == 0) - return SIGN0_CTX; - else - { - if ( data[ypos][xpos-1] > 0 ) - return SIGN_POS_CTX; - else if ( data[ypos][xpos-1] < 0 ) - return SIGN_NEG_CTX; - else - return SIGN0_CTX; - } - } - else - return SIGN0_CTX; -} - -int BandCodec::DecodeQIndexOffset() -{ - int offset = 1; - - while ( !DecodeSymbol( Q_OFFSET_FOLLOW_CTX ) ) - { - offset <<= 1; - offset |= DecodeSymbol( Q_OFFSET_INFO_CTX ); - } - --offset; - - if ( offset ) - { - if ( DecodeSymbol( Q_OFFSET_SIGN_CTX ) ) - offset = -offset; - } - return offset; -} - -void BandCodec::SetToVal( const CodeBlock& code_block , CoeffArray& pic_data , const CoeffType val) -{ - for (int j=code_block.Ystart() ; j& block_list( m_node.GetCodeBlocks() ); - - // Now loop over the blocks and code - bool code_skip= (block_list.LengthX() > 1 || block_list.LengthY() > 1); - for (int j=block_list.FirstY() ; j<=block_list.LastY() ; ++j) - { - for (int i=block_list.FirstX() ; i<=block_list.LastX() ; ++i) - { - if (code_skip) - EncodeSymbol(block_list[j][i].Skipped() , BLOCK_SKIP_CTX ); - if ( !block_list[j][i].Skipped() ) - CodeCoeffBlock( block_list[j][i] , in_data ); - else - ClearBlock (block_list[j][i] , in_data); - }// i - }// j -} - -void LFBandCodec::CodeCoeffBlock( const CodeBlock& code_block , CoeffArray& in_data ) -{ - //main coding function, using binarisation - const int xbeg = code_block.Xstart(); - const int ybeg = code_block.Ystart(); - const int xend = code_block.Xend(); - const int yend = code_block.Yend(); - - m_parent_notzero = false; //set parent to always be zero - - const int qf_idx = code_block.QIndex(); - - if ( m_node.UsingMultiQuants() ) - { - CodeQIndexOffset( qf_idx - m_last_qf_idx); - m_last_qf_idx = qf_idx; - } - - m_qf = dirac_quantiser_lists.QuantFactor4( qf_idx ); - - if (m_is_intra) - m_offset = dirac_quantiser_lists.IntraQuantOffset4( qf_idx ); - else - m_offset = dirac_quantiser_lists.InterQuantOffset4( qf_idx ); - - for ( int ypos=ybeg ; ypos m_node.Yp()) - m_nhood_nonzero |= bool(in_data[ypos-1][xpos]); - if (xpos > m_node.Xp()) - m_nhood_nonzero |= bool(in_data[ypos][xpos-1]); - if (ypos > m_node.Yp() && xpos > m_node.Xp()) - m_nhood_nonzero |= bool(in_data[ypos-1][xpos-1]); - - CodeVal( in_data , xpos , ypos , in_data[ypos][xpos] ); - - }//xpos - }//ypos -} - - -void LFBandCodec::DoWorkDecode(CoeffArray& out_data ) -{ - m_pxp = 0; - m_pyp = 0; - - const TwoDArray& block_list( m_node.GetCodeBlocks() ); - - // Now loop over the blocks and decode - bool decode_skip= (block_list.LengthX() > 1 || block_list.LengthY() > 1); - for (int j=block_list.FirstY() ; j<=block_list.LastY() ; ++j) - { - for (int i=block_list.FirstX() ; i<=block_list.LastX() ; ++i) - { - if (decode_skip) - block_list[j][i].SetSkip( DecodeSymbol( BLOCK_SKIP_CTX ) ); - if ( !block_list[j][i].Skipped() ) - DecodeCoeffBlock( block_list[j][i] , out_data ); - else - ClearBlock (block_list[j][i] , out_data); - }// i - }// j - -} - -void LFBandCodec::DecodeCoeffBlock( const CodeBlock& code_block , CoeffArray& out_data ) -{ - - const int xbeg = code_block.Xstart(); - const int ybeg = code_block.Ystart(); - const int xend = code_block.Xend(); - const int yend = code_block.Yend(); - - m_parent_notzero = false;//set parent to always be zero - - int qf_idx = m_node.QIndex(); - - if ( m_node.UsingMultiQuants() ) - { - qf_idx += m_last_qf_idx+DecodeQIndexOffset(); - m_last_qf_idx = qf_idx; - } - - if (qf_idx > (int)dirac_quantiser_lists.MaxQIndex()) - { - std::ostringstream errstr; - errstr << "Quantiser index out of range [0.." - << (int)dirac_quantiser_lists.MaxQIndex() << "]"; - DIRAC_THROW_EXCEPTION( - ERR_UNSUPPORTED_STREAM_DATA, - errstr.str(), - SEVERITY_FRAME_ERROR); - } - - m_qf = dirac_quantiser_lists.QuantFactor4( qf_idx ); - if (m_is_intra) - m_offset = dirac_quantiser_lists.IntraQuantOffset4( qf_idx ); - else - m_offset = dirac_quantiser_lists.InterQuantOffset4( qf_idx ); - - //Work - - for ( int ypos=ybeg ; ypos m_node.Yp()) - m_nhood_nonzero |= bool(out_data[ypos-1][xpos]); - if (xpos > m_node.Xp()) - m_nhood_nonzero |= bool(out_data[ypos][xpos-1]); - if (ypos > m_node.Yp() && xpos > m_node.Xp()) - m_nhood_nonzero |= bool(out_data[ypos-1][xpos-1]); - - DecodeVal( out_data , xpos , ypos ); - - }// xpos - }// ypos -} +template +GenericBandCodec >::GenericBandCodec( + SubbandByteIO* subband_byteio, + size_t number_of_contexts, + const SubbandList & band_list, + int band_num, + const bool is_intra); +template +GenericIntraDCBandCodec >::GenericIntraDCBandCodec( + SubbandByteIO* subband_byteio, + size_t number_of_contexts, + const SubbandList & band_list); ////////////////////////////////////////////////////////////////////////////////// //Finally,special class incorporating prediction for the DC band of intra frames// ////////////////////////////////////////////////////////////////////////////////// void IntraDCBandCodec::DoWorkCode(CoeffArray& in_data) { - - m_pxp = 0; - m_pyp = 0; - // Residues after prediction, quantisation and inverse quantisation m_dc_pred_res.Resize( m_node.Yl() , m_node.Xl() ); + m_dc_pred_res.Fill( 0 ); - const TwoDArray& block_list( m_node.GetCodeBlocks() ); - - // Now loop over the blocks and code. Note that DC blocks can't be skipped - for (int j=block_list.FirstY() ; j<=block_list.LastY() ; ++j) - { - for (int i=block_list.FirstX() ; i<=block_list.LastX() ; ++i) - { - CodeCoeffBlock( block_list[j][i] , in_data ); - }// i - }// j + BandCodec::DoWorkCode(in_data); } -void IntraDCBandCodec::CodeCoeffBlock( const CodeBlock& code_block , CoeffArray& in_data) +void IntraDCBandCodec::CodeCoeff( CoeffArray& in_data, const int xpos, const int ypos) { - // Main coding function, using binarisation - const int xbeg = code_block.Xstart(); - const int ybeg = code_block.Ystart(); - const int xend = code_block.Xend(); - const int yend = code_block.Yend(); - - //set parent to always be zero - m_parent_notzero = false; - CoeffType val; - - CoeffType prediction; - - const int qf_idx = code_block.QIndex(); - - if ( m_node.UsingMultiQuants() ) - { - CodeQIndexOffset( qf_idx - m_last_qf_idx); - m_last_qf_idx = qf_idx; - } - - m_qf = dirac_quantiser_lists.QuantFactor4( qf_idx ); - - m_offset = dirac_quantiser_lists.IntraQuantOffset4( qf_idx ); - - for ( int ypos=ybeg ; ypos < yend; ++ypos ) - { - for (int xpos = xbeg ; xpos < xend; ++xpos ) - { - m_nhood_nonzero = false; - if (ypos > m_node.Yp()) - m_nhood_nonzero |= bool(m_dc_pred_res[ypos-1][xpos]); - if (xpos > m_node.Xp()) - m_nhood_nonzero |= bool(m_dc_pred_res[ypos][xpos-1]); - if (ypos > m_node.Yp() && xpos > m_node.Xp()) - m_nhood_nonzero |= bool(m_dc_pred_res[ypos-1][xpos-1]); - - prediction = GetPrediction( in_data , xpos , ypos ); - val = in_data[ypos][xpos] - prediction; - CodeVal( in_data , xpos , ypos , val ); - m_dc_pred_res[ypos][xpos] = in_data[ypos][xpos]; - in_data[ypos][xpos] += prediction; - }//xpos - }//ypos + m_nhood_nonzero = false; + if (ypos > m_node.Yp()) + m_nhood_nonzero |= bool(m_dc_pred_res[ypos-1][xpos]); + if (xpos > m_node.Xp()) + m_nhood_nonzero |= bool(m_dc_pred_res[ypos][xpos-1]); + if (ypos > m_node.Yp() && xpos > m_node.Xp()) + m_nhood_nonzero |= bool(m_dc_pred_res[ypos-1][xpos-1]); + + ValueType prediction = GetPrediction( in_data , xpos , ypos ); + ValueType val = in_data[ypos][xpos] - prediction; + CodeVal( in_data , xpos , ypos , val ); + m_dc_pred_res[ypos][xpos] = in_data[ypos][xpos]; + in_data[ypos][xpos] += prediction; } - void IntraDCBandCodec::DoWorkDecode(CoeffArray& out_data) { - - m_pxp = 0; - m_pyp = 0; - + // Residues after prediction, quantisation and inverse quantisation m_dc_pred_res.Resize( m_node.Yl() , m_node.Xl() ); + m_dc_pred_res.Fill( 0 ); - const TwoDArray& block_list( m_node.GetCodeBlocks() ); - - // Now loop over the blocks and decode - for (int j=block_list.FirstY() ; j<=block_list.LastY() ; ++j) - { - for (int i=block_list.FirstX() ; i<=block_list.LastX() ; ++i) - { - DecodeCoeffBlock( block_list[j][i] , out_data ); - }// i - }// j + BandCodec::DoWorkDecode(out_data); } -void IntraDCBandCodec::DecodeCoeffBlock( const CodeBlock& code_block , CoeffArray& out_data) +void IntraDCBandCodec::DecodeCoeff( CoeffArray& out_data, const int xpos, const int ypos) { - const int xbeg = code_block.Xstart(); - const int ybeg = code_block.Ystart(); - const int xend = code_block.Xend(); - const int yend = code_block.Yend(); - - m_parent_notzero = false; //set parent to always be zero - - int qf_idx = m_node.QIndex(); - - if ( m_node.UsingMultiQuants() ) - { - qf_idx = DecodeQIndexOffset()+m_last_qf_idx; - m_last_qf_idx = qf_idx; - } - - m_qf = dirac_quantiser_lists.QuantFactor4( qf_idx ); - - m_offset = dirac_quantiser_lists.IntraQuantOffset4( qf_idx ); - - //Work - - for ( int ypos=ybeg ; ypos m_node.Yp()) - m_nhood_nonzero |= bool(m_dc_pred_res[ypos-1][xpos]); - if (xpos > m_node.Xp()) - m_nhood_nonzero |= bool(m_dc_pred_res[ypos][xpos-1]); - if (ypos > m_node.Yp() && xpos > m_node.Xp()) - m_nhood_nonzero |= bool(m_dc_pred_res[ypos-1][xpos-1]); - - DecodeVal( out_data , xpos , ypos ); - m_dc_pred_res[ypos][xpos] = out_data[ypos][xpos]; - out_data[ypos][xpos] += GetPrediction( out_data , xpos , ypos ); - - }//xpos - }//ypos -} - + m_nhood_nonzero = false; + if (ypos > m_node.Yp()) + m_nhood_nonzero |= bool(m_dc_pred_res[ypos-1][xpos]); + if (xpos > m_node.Xp()) + m_nhood_nonzero |= bool(m_dc_pred_res[ypos][xpos-1]); + if (ypos > m_node.Yp() && xpos > m_node.Xp()) + m_nhood_nonzero |= bool(m_dc_pred_res[ypos-1][xpos-1]); -CoeffType IntraDCBandCodec::GetPrediction( const CoeffArray& data , const int xpos , const int ypos ) const -{ - /* NB, 4.5.3 integer division - * numbers are rounded down towards -ve infinity, differing from - * C's convention that rounds towards 0 - */ - if (ypos!=0) - { - if (xpos!=0) - { - int sum = data[ypos][xpos-1] + data[ypos-1][xpos-1] + data[ypos-1][xpos] + 3/2; - if (sum<0) - return (sum-2)/3; - else - return sum/3; - } - else - return data[ypos - 1][0]; - } - else - { - if(xpos!=0) - return data[0][xpos - 1]; - else - return 0; - } + DecodeVal( out_data , xpos , ypos ); + m_dc_pred_res[ypos][xpos] = out_data[ypos][xpos]; } diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/band_codec.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/band_codec.h --- dirac-0.9.1/libdirac_common/band_codec.h 2007-07-26 13:46:35.000000000 +0100 +++ dirac-1.0.2/libdirac_common/band_codec.h 2009-01-21 05:18:09.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: band_codec.h,v 1.26 2007/07/26 12:46:35 tjdwave Exp $ $Name: Dirac_0_9_1 $ +* $Id: band_codec.h,v 1.36 2009/01/21 05:18:09 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -53,24 +53,22 @@ //Subclasses the arithmetic codec to produce a coding/decoding tool for subbands - //! A general class for coding and decoding wavelet subband data. - /*! - A general class for coding and decoding wavelet subband data, deriving from the abstract ArithCodec class. - */ - class BandCodec: public ArithCodec + //! A template class for coding and decoding wavelet subband data. + template + class GenericBandCodec: public EntropyCodec { public: - //! Constructor + //! Constructor /*! Creates a BandCodec object to encode subband data \param subband_byteio input/output for the encoded bits \param number_of_contexts the number of contexts used in the encoding process \param band_list the set of all the subbands - \param band_num the number of the subband being coded - \param is_intra Flag indicating whether the band comes from an intra frame + \param band_num the number of the subband being coded + \param is_intra Flag indicating whether the band comes from an intra picture */ - BandCodec(SubbandByteIO* subband_byteio, + GenericBandCodec(SubbandByteIO* subband_byteio, size_t number_of_contexts, const SubbandList& band_list, int band_num, @@ -84,18 +82,18 @@ inline void DecodeVal(CoeffArray& out_data , const int xpos , const int ypos ); //! Encode the offset for a code block quantiser - void CodeQIndexOffset( const int offset ); + void CodeQuantIndexOffset( const int offset ); //! Decode the offset for a code block quantiser - int DecodeQIndexOffset(); + int DecodeQuantIndexOffset(); //! Set a code block area to a given value inline void SetToVal( const CodeBlock& code_block , CoeffArray& coeff_data , const CoeffType val); //! Set all block values to 0 - inline void ClearBlock( const CodeBlock& code_block , CoeffArray& coeff_data); + virtual void ClearBlock( const CodeBlock& code_block , CoeffArray& coeff_data); - private: + protected: //functions // Overridden from the base class virtual void DoWorkCode(CoeffArray& in_data); @@ -105,6 +103,9 @@ virtual void CodeCoeffBlock(const CodeBlock& code_block , CoeffArray& in_data); virtual void DecodeCoeffBlock(const CodeBlock& code_block , CoeffArray& out_data); + virtual void CodeCoeff(CoeffArray& in_data, const int xpos, const int ypos); + + virtual void DecodeCoeff(CoeffArray& in_data, const int xpos, const int ypos); //! A function for choosing the context for "follow bits" inline int ChooseFollowContext( const int bin_number ) const; @@ -114,100 +115,95 @@ //! A function for choosing the context for sign bits inline int ChooseSignContext(const CoeffArray& data , const int xpos , const int ypos ) const; + private: //! Private, bodyless copy constructor: class should not be copied - BandCodec(const BandCodec& cpy); + GenericBandCodec(const GenericBandCodec& cpy); //! Private, bodyless copy operator=: class should not be assigned - BandCodec& operator=(const BandCodec& rhs); + GenericBandCodec& operator=(const GenericBandCodec& rhs); protected: - - //! Flag indicating whether the band comes from an intra frame + + //! Flag indicating whether the band comes from an intra picture bool m_is_intra; - - //! variables + + //! variables int m_bnum; //! the subband being coded const Subband m_node; - + //! the quantisation index of the last codeblock int m_last_qf_idx; - + //! quantisation value int m_qf; - + //! reconstruction point CoeffType m_offset; //! True if neighbours non-zero bool m_nhood_nonzero; - + //! the parent subband Subband m_pnode; - - //! coords of the parent subband - int m_pxp, m_pyp, m_pxl, m_pyl; - + //! position of the parent coefficient int m_pxpos, m_pypos; - + //! True if the parent of a coeff is not zero bool m_parent_notzero; - + }; - //! A class specially for coding the LF subbands + //! A general class for coding and decoding wavelet subband data. /*! - A class specially for coding the LF subbands, where we don't want to/can't refer to the - parent subband. - */ - class LFBandCodec: public BandCodec + A general class for coding and decoding wavelet subband data, deriving from the abstract ArithCodec class. + */ + typedef GenericBandCodec > BandCodec; + typedef BandCodec LFBandCodec; + + ////////////////////////////////////////////////////////////////////////////////// + //Finally,special class incorporating prediction for the DC band of intra frames// + ////////////////////////////////////////////////////////////////////////////////// + + //! A template class specially for coding the DC subband of Intra frames + template + class GenericIntraDCBandCodec : public GenericBandCodec { public: //! Constructor /*! - Creates a LFBandCodec object to encode subband data. - \param subband_byteio input/output for the encoded bits + Creates a IntraDCBandCodec object to encode subband data + \param subband_byteio input/output for the encoded bits \param number_of_contexts the number of contexts used in the encoding process \param band_list the set of all the subbands - \param band_num the number of the subband being coded - \param is_intra Flag indicating whether the band comes from an intra frame - */ - LFBandCodec(SubbandByteIO* subband_byteio, - size_t number_of_contexts, - const SubbandList& band_list, - int band_num, - const bool is_intra) - : BandCodec(subband_byteio,number_of_contexts,band_list, - band_num,is_intra){} - - private: - // Overridden from the base class - void DoWorkCode(CoeffArray& in_data); - // Ditto - void DoWorkDecode(CoeffArray& out_data); + */ + GenericIntraDCBandCodec(SubbandByteIO* subband_byteio, + size_t number_of_contexts, + const SubbandList& band_list) + : GenericBandCodec(subband_byteio,number_of_contexts, + band_list, band_list.Length(), + true){} - void CodeCoeffBlock(const CodeBlock& code_block , CoeffArray& in_data); - void DecodeCoeffBlock(const CodeBlock& code_block , CoeffArray& out_data); + protected: + //! When coding a skipped block, propegate the predicted values for future non skipped blocks + void ClearBlock( const CodeBlock& code_block , CoeffArray& coeff_data); - //! Private, bodyless copy constructor: class should not be copied - LFBandCodec(const LFBandCodec& cpy); - //! Private, bodyless copy operator=: class should not be assigned - LFBandCodec& operator=(const LFBandCodec& rhs); + //! Prediction of a DC value from its previously coded neighbours + CoeffType GetPrediction(const CoeffArray& data , const int xpos , const int ypos ) const; + //! Decode codeblock of coefficients and perform DC prediction + void DecodeCoeffBlock(const CodeBlock& code_block , CoeffArray& out_data); }; - ////////////////////////////////////////////////////////////////////////////////// - //Finally,special class incorporating prediction for the DC band of intra frames// - ////////////////////////////////////////////////////////////////////////////////// - - //! A class specially for coding the DC subband of Intra frames + //! A class specially for coding the DC subband of Intra frames /*! - A class specially for coding the DC subband of Intra frames, using intra-band prediction - of coefficients. + A class specially for coding the DC subband of Intra frames, using + intra-band prediction of coefficients. It uses the abstract ArithCodec + class */ - class IntraDCBandCodec: public BandCodec + class IntraDCBandCodec: public GenericIntraDCBandCodec > { public: //! Constructor @@ -220,30 +216,33 @@ IntraDCBandCodec(SubbandByteIO* subband_byteio, size_t number_of_contexts, const SubbandList& band_list) - : BandCodec(subband_byteio,number_of_contexts,band_list, - band_list.Length(), true){} + : GenericIntraDCBandCodec >(subband_byteio, + number_of_contexts, + band_list){} + - private: + //! Initialize extra data required for error-feedback DC quantization void DoWorkCode(CoeffArray& in_data); //overridden from the base class - void DoWorkDecode(CoeffArray& out_data); //ditto - void CodeCoeffBlock(const CodeBlock& code_block , CoeffArray& in_data); - void DecodeCoeffBlock(const CodeBlock& code_block , CoeffArray& out_data); + //! Ditto + void DoWorkDecode(CoeffArray& out_data); + + //! Encode a single coefficient using error-feedback DC quantization + void CodeCoeff(CoeffArray& in_data, const int xpos, const int ypos); + + //! Decode a single coefficient using error-feedback DC quantization + void DecodeCoeff(CoeffArray& out_data, const int xpos, const int ypos); //! Private, bodyless copy constructor: class should not be copied - IntraDCBandCodec(const IntraDCBandCodec& cpy); + IntraDCBandCodec(const IntraDCBandCodec& cpy); //! Private, bodyless copy operator=: class should not be assigned IntraDCBandCodec& operator=(const IntraDCBandCodec& rhs); - //! Prediction of a DC value from its previously coded neighbours - CoeffType GetPrediction(const CoeffArray& data , const int xpos , const int ypos ) const; - private: CoeffArray m_dc_pred_res; }; - }// end namespace dirac #endif diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/band_codec_template.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/band_codec_template.h --- dirac-0.9.1/libdirac_common/band_codec_template.h 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/libdirac_common/band_codec_template.h 2009-02-10 01:46:23.000000000 +0000 @@ -0,0 +1,557 @@ + +#include +#include + +using namespace dirac; + +//! Constructor for encoding. +template +GenericBandCodec::GenericBandCodec(SubbandByteIO* subband_byteio, + size_t number_of_contexts, + const SubbandList & band_list, + int band_num, + const bool is_intra): + EntropyCodec(subband_byteio,number_of_contexts), + m_is_intra(is_intra), + m_bnum(band_num), + m_node(band_list(band_num)), + m_last_qf_idx(m_node.QuantIndex()) +{ + if (m_node.Parent()!=0) + m_pnode=band_list(m_node.Parent()); +} + + +//encoding function +template +void GenericBandCodec::DoWorkCode(CoeffArray& in_data) +{ + + const TwoDArray& block_list( m_node.GetCodeBlocks() ); + + // coeff blocks can be skipped only if SpatialPartitioning is + // enabled i.e. more than one code-block per subband + bool code_skip = (block_list.LengthX() > 1 || block_list.LengthY() > 1); + // Now loop over the blocks and code + for (int j=block_list.FirstY() ; j<=block_list.LastY() ; ++j) + { + CodeBlock *block = block_list[j]; + for (int i=block_list.FirstX() ; i<=block_list.LastX() ; ++i) + { + if (code_skip) + EntropyCodec::EncodeSymbol(block[i].Skipped() , BLOCK_SKIP_CTX ); + if ( !block[i].Skipped() ) + CodeCoeffBlock( block[i] , in_data ); + else + ClearBlock (block[i] , in_data); + }// i + }// j + +} + +template +void GenericBandCodec::CodeCoeffBlock( const CodeBlock& code_block , CoeffArray& in_data ) +{ + //main coding function, using binarisation + + const int xbeg = code_block.Xstart(); + const int ybeg = code_block.Ystart(); + const int xend = code_block.Xend(); + const int yend = code_block.Yend(); + + const int qf_idx = code_block.QuantIndex(); + + bool has_parent = m_node.Parent() != 0; + + if ( m_node.UsingMultiQuants() ) + { + CodeQuantIndexOffset( qf_idx - m_last_qf_idx); + m_last_qf_idx = qf_idx; + } + + m_qf = dirac_quantiser_lists.QuantFactor4( qf_idx ); + if (m_is_intra) + m_offset = dirac_quantiser_lists.IntraQuantOffset4( qf_idx ); + else + m_offset = dirac_quantiser_lists.InterQuantOffset4( qf_idx ); + + for ( int ypos=ybeg; ypos>1)+m_pnode.Yp(); + for ( int xpos=xbeg; xpos>1)+m_pnode.Xp(); + + m_nhood_nonzero = false; + if (ypos > m_node.Yp()) + m_nhood_nonzero |= bool(in_data[ypos-1][xpos]); + if (xpos > m_node.Xp()) + m_nhood_nonzero |= bool(in_data[ypos][xpos-1]); + if (ypos > m_node.Yp() && xpos > m_node.Xp()) + m_nhood_nonzero |= bool(in_data[ypos-1][xpos-1]); + + if (has_parent) + m_parent_notzero = static_cast ( in_data[m_pypos][m_pxpos] ); + else + m_parent_notzero = false; + + CodeCoeff( in_data , xpos , ypos ); + + }// xpos + }// ypos + +} + +template +void GenericBandCodec::CodeCoeff( CoeffArray& in_data, const int xpos, const int ypos) +{ + CodeVal( in_data , xpos , ypos , in_data[ypos][xpos] ); +} + + +/* +Coefficient magnitude value and differential quantiser index magnitude are +coded using interleaved exp-Golomb coding for binarisation. In this scheme, a +value N>=0 is coded by writing N+1 in binary form of a 1 followed by K other +bits: 1bbbbbbb (adding 1 ensures there'll be a leading 1). These K bits ("info +bits") are interleaved with K zeroes ("follow bits") each of which means +"another bit coming", followed by a terminating 1: + + 0b0b0b ...0b1 + +(Conventional exp-Golomb coding has the K zeroes at the beginning, followed +by the 1 i.e 00...01bb .. b, but interleaving allows the decoder to run a +single loop and avoid counting the number of zeroes, sparing a register.) + +All bits are arithmetically coded. The follow bits have separate contexts +based on position, and have different contexts from the info bits. +*/ + +template +inline void GenericBandCodec::CodeVal( CoeffArray& in_data , + const int xpos , + const int ypos , + const CoeffType val ) +{ + unsigned int abs_val( std::abs(val) ); + abs_val <<= 2; + abs_val /= m_qf; + + const int N = abs_val+1; + int num_follow_zeroes=0; + + while ( N >= (1<=0; --i, ++c ) + { + EntropyCodec::EncodeSymbol( 0, ChooseFollowContext( c ) ); + EntropyCodec::EncodeSymbol( N&(1<( abs_val ); + + if ( abs_val ) + { + // Must code sign bits and reconstruct + in_data[ypos][xpos] *= m_qf; + in_data[ypos][xpos] += m_offset+2; + in_data[ypos][xpos] >>= 2; + + if ( val>0 ) + { + EntropyCodec::EncodeSymbol( 0 , ChooseSignContext( in_data , xpos , ypos ) ); + } + else + { + EntropyCodec::EncodeSymbol( 1 , ChooseSignContext( in_data , xpos , ypos ) ); + in_data[ypos][xpos] = -in_data[ypos][xpos]; + } + } +} + +template +void GenericBandCodec::CodeQuantIndexOffset( const int offset ) +{ + + const int abs_val = std::abs( offset ); + + int N = abs_val+1; + int num_follow_zeroes=0; + + while ( N>= (1<=0; --i, ++c ) + { + EntropyCodec::EncodeSymbol( 0 , Q_OFFSET_FOLLOW_CTX ); + EntropyCodec::EncodeSymbol( N&(1<0 ) + EntropyCodec::EncodeSymbol( 0 , Q_OFFSET_SIGN_CTX ); + else + EntropyCodec::EncodeSymbol( 1 , Q_OFFSET_SIGN_CTX ); + } +} + +template +void GenericBandCodec::DoWorkDecode( CoeffArray& out_data ) +{ + const TwoDArray& block_list( m_node.GetCodeBlocks() ); + + // coeff blocks can be skipped only if SpatialPartitioning is + // enabled i.e. more than one code-block per subband + bool decode_skip= (block_list.LengthX() > 1 || block_list.LengthY() > 1); + // Now loop over the blocks and decode + for (int j=block_list.FirstY() ; j<=block_list.LastY() ; ++j) + { + CodeBlock *block = block_list[j]; + for (int i=block_list.FirstX() ; i<=block_list.LastX() ; ++i) + { + if (decode_skip) + block[i].SetSkip( EntropyCodec::DecodeSymbol( BLOCK_SKIP_CTX ) ); + if ( !block[i].Skipped() ) + DecodeCoeffBlock( block[i] , out_data ); + else + ClearBlock (block[i] , out_data); + + }// i + }// j + +} + +template +void GenericBandCodec::DecodeCoeffBlock( const CodeBlock& code_block , CoeffArray& out_data ) +{ + + + const int xbeg = code_block.Xstart(); + const int ybeg = code_block.Ystart(); + const int xend = code_block.Xend(); + const int yend = code_block.Yend(); + + int qf_idx = m_node.QuantIndex(); + + bool has_parent = m_node.Parent() != 0; + + if ( m_node.UsingMultiQuants() ) + { + qf_idx = m_last_qf_idx+DecodeQuantIndexOffset(); + m_last_qf_idx = qf_idx; + } + + if (qf_idx > (int)dirac_quantiser_lists.MaxQuantIndex()) + { + std::ostringstream errstr; + errstr << "Quantiser index out of range [0.." + << (int)dirac_quantiser_lists.MaxQuantIndex() << "]"; + DIRAC_THROW_EXCEPTION( + ERR_UNSUPPORTED_STREAM_DATA, + errstr.str(), + SEVERITY_PICTURE_ERROR); + } + + m_qf = dirac_quantiser_lists.QuantFactor4( qf_idx ); + + if (m_is_intra) + m_offset = dirac_quantiser_lists.IntraQuantOffset4( qf_idx ); + else + m_offset = dirac_quantiser_lists.InterQuantOffset4( qf_idx ); + + //Work + + for ( int ypos=ybeg; ypos>1)+m_pnode.Yp(); + CoeffType *p_out_data = NULL; + if (has_parent) + p_out_data = out_data[m_pypos]; + CoeffType *c_out_data_1 = NULL; + if (ypos!=m_node.Yp()) + c_out_data_1 = out_data[ypos-1]; + CoeffType *c_out_data_2 = out_data[ypos]; + for ( int xpos=xbeg; xpos>1)+m_pnode.Xp(); + + m_nhood_nonzero = false; + /* c_out_data_1 is the line above the current + * c_out_data_2 is the current line */ + if (ypos > m_node.Yp()) + m_nhood_nonzero |= bool(c_out_data_1[xpos]); + if (xpos > m_node.Xp()) + m_nhood_nonzero |= bool(c_out_data_2[xpos-1]); + if (ypos > m_node.Yp() && xpos > m_node.Xp()) + m_nhood_nonzero |= bool(c_out_data_1[xpos-1]); + + if (has_parent) + m_parent_notzero = ( p_out_data[m_pxpos] != 0 ); + else + m_parent_notzero = false; + + DecodeCoeff( out_data , xpos , ypos ); + + }// xpos + }// ypos +} + +template +void GenericBandCodec::DecodeCoeff( CoeffArray& in_data, const int xpos, const int ypos) +{ + DecodeVal( in_data , xpos , ypos ); +} + + +/* +Coefficient magnitude value and differential quantiser index value is coded +using interleaved exp-Golomb coding for binarisation. In this scheme, a value +N>=0 is coded by writing N+1 in binary form of a 1 followed by K other bits: +1bbbbbbb (adding 1 ensures there'll be a leading 1). These K bits ("info bits") +are interleaved with K zeroes ("follow bits") each of which means "another bit +coming", followed by a terminating 1: + + 0b0b0b ...0b1 + +(Conventional exp-Golomb coding has the K zeroes at the beginning, followed +by the 1 i.e 00...01bb .. b, but interleaving allows the decoder to run a +single loop and avoid counting the number of zeroes, sparing a register.) + +All bits are arithmetically coded. The follow bits have separate contexts +based on position, and have different contexts from the info bits. +*/ +template +inline void GenericBandCodec::DecodeVal( CoeffArray& out_data , const int xpos , const int ypos ) +{ + + CoeffType& out_pixel = out_data[ypos][xpos]; + + out_pixel = 1; + int bit_count=1; + + while ( !EntropyCodec::DecodeSymbol( ChooseFollowContext( bit_count ) ) ) + { + out_pixel <<= 1; + out_pixel |= EntropyCodec::DecodeSymbol( ChooseInfoContext() ); + bit_count++; + }; + --out_pixel; + + if ( out_pixel ) + { + out_pixel *= m_qf; + out_pixel += m_offset+2; + out_pixel >>= 2; + + if ( EntropyCodec::DecodeSymbol( ChooseSignContext(out_data, xpos, ypos)) ) + out_pixel = -out_pixel; + } +} + +template +inline int GenericBandCodec::ChooseFollowContext( const int bin_number ) const +{ + //condition on neighbouring values and parent values + + if (!m_parent_notzero) + { + switch ( bin_number ) + { + case 1 : + if(m_nhood_nonzero == false) + return Z_FBIN1z_CTX; + + return Z_FBIN1nz_CTX; + + case 2 : + return Z_FBIN2_CTX; + case 3 : + return Z_FBIN3_CTX; + case 4 : + return Z_FBIN4_CTX; + case 5 : + return Z_FBIN5_CTX; + default : + return Z_FBIN6plus_CTX; + } + } + else + { + switch ( bin_number ) + { + case 1 : + if(m_nhood_nonzero == false) + return NZ_FBIN1z_CTX; + + return NZ_FBIN1nz_CTX; + + case 2 : + return NZ_FBIN2_CTX; + case 3 : + return NZ_FBIN3_CTX; + case 4 : + return NZ_FBIN4_CTX; + case 5 : + return NZ_FBIN5_CTX; + default : + return NZ_FBIN6plus_CTX; + } + + } + + /* not reachable, but dumb compilers can't spot that */ + return 0; +} + +template +inline int GenericBandCodec::ChooseInfoContext() const +{ + return INFO_CTX; +} + +template +inline int GenericBandCodec::ChooseSignContext( const CoeffArray& data , const int xpos , const int ypos ) const +{ + if ( m_node.Yp()==0 && m_node.Xp()!=0 ) + { + //we're in a vertically oriented subband + if (ypos == 0) + return SIGN0_CTX; + else + { + if (data[ypos-1][xpos]>0) + return SIGN_POS_CTX; + else if (data[ypos-1][xpos]<0) + return SIGN_NEG_CTX; + else + return SIGN0_CTX; + } + } + else if ( m_node.Xp()==0 && m_node.Yp()!=0 ) + { + //we're in a horizontally oriented subband + if (xpos == 0) + return SIGN0_CTX; + else + { + if ( data[ypos][xpos-1] > 0 ) + return SIGN_POS_CTX; + else if ( data[ypos][xpos-1] < 0 ) + return SIGN_NEG_CTX; + else + return SIGN0_CTX; + } + } + else + return SIGN0_CTX; +} + +template +int GenericBandCodec::DecodeQuantIndexOffset() +{ + int offset = 1; + + while ( !EntropyCodec::DecodeSymbol( Q_OFFSET_FOLLOW_CTX ) ) + { + offset <<= 1; + offset |= EntropyCodec::DecodeSymbol( Q_OFFSET_INFO_CTX ); + } + --offset; + + if ( offset ) + { + if ( EntropyCodec::DecodeSymbol( Q_OFFSET_SIGN_CTX ) ) + offset = -offset; + } + return offset; +} + +template +void GenericBandCodec::SetToVal( const CodeBlock& code_block , CoeffArray& pic_data , const CoeffType val) +{ + for (int j=code_block.Ystart() ; j +void GenericBandCodec::ClearBlock( const CodeBlock& code_block , CoeffArray& coeff_data) +{ + for (int j=code_block.Ystart() ; j +void GenericIntraDCBandCodec::DecodeCoeffBlock(const CodeBlock& code_block , CoeffArray& out_data) +{ + GenericBandCodec::DecodeCoeffBlock(code_block, out_data); + /* do prediction for this block */ + for ( int ypos=code_block.Ystart() ; ypos +void GenericIntraDCBandCodec::ClearBlock( const CodeBlock& code_block , CoeffArray& coeff_data) +{ + for (int ypos=code_block.Ystart() ; ypos +CoeffType GenericIntraDCBandCodec::GetPrediction( const CoeffArray& data , const int xpos , const int ypos ) const +{ + /* NB, 4.5.3 integer division + * numbers are rounded down towards -ve infinity, differing from + * C's convention that rounds towards 0 + */ + if (ypos!=0) + { + if (xpos!=0) + { + int sum = data[ypos][xpos-1] + data[ypos-1][xpos-1] + data[ypos-1][xpos] + 3/2; + if (sum<0) + return (sum-2)/3; + else + return sum/3; + } + else + return data[ypos - 1][0]; + } + else + { + if(xpos!=0) + return data[0][xpos - 1]; + else + return 0; + } +} diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/band_vlc.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/band_vlc.cpp --- dirac-0.9.1/libdirac_common/band_vlc.cpp 2007-12-05 01:23:43.000000000 +0000 +++ dirac-1.0.2/libdirac_common/band_vlc.cpp 2009-02-10 01:46:23.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: band_vlc.cpp,v 1.2 2007/12/05 01:23:43 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: band_vlc.cpp,v 1.8 2009/02/10 01:46:23 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -42,374 +42,60 @@ #include #include #include +#include using namespace dirac; -// Constructor for encoding -BandVLC::BandVLC( SubbandByteIO* subband_byteio, - const SubbandList& band_list, - int band_num, - const bool is_intra) : - m_is_intra(is_intra), - m_bnum(band_num), - m_node(band_list(band_num)), - m_last_qf_idx(m_node.QIndex()), +ArithCodecToVLCAdapter::ArithCodecToVLCAdapter( + SubbandByteIO* subband_byteio, + size_t /*number_of_contexts*/): m_byteio(subband_byteio) -{ -} +{} // encoding functions -int BandVLC::Compress(CoeffArray &in_data) +int ArithCodecToVLCAdapter::Compress(CoeffArray &in_data) { DoWorkCode(in_data); return m_byteio->GetSize(); } -void BandVLC::DoWorkCode(CoeffArray &in_data) -{ - const TwoDArray& block_list( m_node.GetCodeBlocks() ); - // coeff blocks can be skipped only if SpatialPartitioning is - // enabled i.e. more than one code-block per subband - bool code_skip = (block_list.LengthX() > 1 || block_list.LengthY() > 1); - - for (int j=block_list.FirstY() ; j<=block_list.LastY() ; ++j) - { - CodeBlock *block = block_list[j]; - for (int i=block_list.FirstX() ; i<=block_list.LastX() ; ++i) - { - if (code_skip) - m_byteio->WriteBit(block[i].Skipped()); // encode skip flag - if ( !block[i].Skipped() ) - { - CodeCoeffBlock( block[i] , in_data ); - } - else - { - ClearBlock (block[i] , in_data); - } - }// i - }// j -} - -void BandVLC::CodeCoeffBlock(const CodeBlock& code_block , CoeffArray& in_data) -{ - //main coding function, using binarisation - - const int xbeg = code_block.Xstart(); - const int ybeg = code_block.Ystart(); - const int xend = code_block.Xend(); - const int yend = code_block.Yend(); - - const int qf_idx = code_block.QIndex(); - - if ( m_node.UsingMultiQuants() ) - { - CodeQIndexOffset( qf_idx - m_last_qf_idx); - m_last_qf_idx = qf_idx; - } - - m_qf = dirac_quantiser_lists.QuantFactor4( qf_idx ); - if (m_is_intra) - m_offset = dirac_quantiser_lists.IntraQuantOffset4( qf_idx ); - else - m_offset = dirac_quantiser_lists.InterQuantOffset4( qf_idx ); - - for ( int ypos=ybeg; yposWriteSint(offset); -} - -inline void BandVLC::CodeVal( CoeffArray& in_data , - const int xpos , - const int ypos , - const CoeffType val ) -{ - int qval( std::abs(val) ); - qval <<= 2; - qval /= m_qf; - in_data[ypos][xpos] = static_cast( qval ); - - // Code the quantised value into the bitstream - if (val < 0) - qval = -qval; - m_byteio->WriteSint(qval); - - if (qval) - { - // Reconstruct - in_data[ypos][xpos] *= m_qf; - in_data[ypos][xpos] += m_offset+2; - in_data[ypos][xpos] >>= 2; - if (val < 0) - in_data[ypos][xpos] = -in_data[ypos][xpos]; - - } - - -} - // decoding functions -void BandVLC::Decompress(CoeffArray &out_data, int num_bytes) +void ArithCodecToVLCAdapter::Decompress(CoeffArray &out_data, int num_bytes) { m_byteio->SetBitsLeft(num_bytes * 8); DoWorkDecode(out_data); m_byteio->FlushInputB(); } -void BandVLC::DoWorkDecode(CoeffArray& out_data) -{ - const TwoDArray& block_list( m_node.GetCodeBlocks() ); - - // coeff blocks can be skipped only if SpatialPartitioning is - // enabled i.e. more than one code-block per subband - bool decode_skip= (block_list.LengthX() > 1 || block_list.LengthY() > 1); - // Now loop over the blocks and decode - for (int j=block_list.FirstY() ; j<=block_list.LastY() ; ++j) - { - CodeBlock *block = block_list[j]; - for (int i=block_list.FirstX() ; i<=block_list.LastX() ; ++i) - { - if (decode_skip) - block[i].SetSkip( m_byteio->ReadBoolB() ); - if ( !block[i].Skipped() ) - { - DecodeCoeffBlock( block[i] , out_data ); - } - else - { - ClearBlock (block[i] , out_data); - } - - }// i - }// j -} - -void BandVLC::DecodeCoeffBlock(const CodeBlock& code_block , CoeffArray& out_data) -{ - const int xbeg = code_block.Xstart(); - const int ybeg = code_block.Ystart(); - const int xend = code_block.Xend(); - const int yend = code_block.Yend(); - - int qf_idx = m_node.QIndex(); - - if ( m_node.UsingMultiQuants() ) - { - qf_idx = m_last_qf_idx+DecodeQIndexOffset(); - m_last_qf_idx = qf_idx; - } - - if (qf_idx > (int)dirac_quantiser_lists.MaxQIndex()) - { - std::ostringstream errstr; - errstr << "Quantiser index out of range [0.." - << (int)dirac_quantiser_lists.MaxQIndex() << "]"; - DIRAC_THROW_EXCEPTION( - ERR_UNSUPPORTED_STREAM_DATA, - errstr.str(), - SEVERITY_FRAME_ERROR); - } - - m_qf = dirac_quantiser_lists.QuantFactor4( qf_idx ); - - if (m_is_intra) - m_offset = dirac_quantiser_lists.IntraQuantOffset4( qf_idx ); - else - m_offset = dirac_quantiser_lists.InterQuantOffset4( qf_idx ); - - //Work - - for ( int ypos=ybeg; ypos::GenericBandCodec( + SubbandByteIO* subband_byteio, + size_t number_of_contexts, + const SubbandList & band_list, + int band_num, + const bool is_intra); + +template +GenericIntraDCBandCodec::GenericIntraDCBandCodec( + SubbandByteIO* subband_byteio, + size_t number_of_contexts, + const SubbandList & band_list); + +IntraDCBandVLC::IntraDCBandVLC(SubbandByteIO* subband_byteio, + const SubbandList& band_list): + GenericIntraDCBandCodec(subband_byteio, 0, band_list) +{} + +void IntraDCBandVLC::CodeCoeff( CoeffArray& in_data , + const int xpos , + const int ypos ) +{ + CoeffType val, prediction; + + prediction = GetPrediction( in_data, xpos, ypos ); + val = in_data[ypos][xpos] - prediction; + CodeVal( in_data , xpos , ypos , val ); + in_data[ypos][xpos] += prediction; } -int BandVLC::DecodeQIndexOffset( ) -{ - return m_byteio->ReadSintB(); -} -inline void BandVLC::DecodeVal( CoeffArray& out_data , const int xpos , const int ypos ) -{ - // Read quantised coefs - int quant_coeff = m_byteio->ReadSintB(); - CoeffType& out_pixel = out_data[ypos][xpos]; - - // Reconstruct - out_pixel = std::abs(quant_coeff); - if ( out_pixel ) - { - out_pixel *= m_qf; - out_pixel += m_offset+2; - out_pixel >>= 2; - - if ( quant_coeff < 0) - out_pixel = -out_pixel; - } -} - -// general purpose functions -void BandVLC::ClearBlock( const CodeBlock& code_block , CoeffArray& coeff_data) -{ - for (int j=code_block.Ystart() ; j& block_list( m_node.GetCodeBlocks() ); - - // Now loop over the blocks and code. Note that DC blocks can't be skipped - for (int j=block_list.FirstY() ; j<=block_list.LastY() ; ++j) - { - for (int i=block_list.FirstX() ; i<=block_list.LastX() ; ++i) - { - CodeCoeffBlock( block_list[j][i] , in_data ); - }// i - }// j -} - -void IntraDCBandVLC::CodeCoeffBlock( const CodeBlock& code_block , CoeffArray& in_data) -{ - // Main coding function, using binarisation - const int xbeg = code_block.Xstart(); - const int ybeg = code_block.Ystart(); - const int xend = code_block.Xend(); - const int yend = code_block.Yend(); - - CoeffType val; - - CoeffType prediction; - - const int qf_idx = code_block.QIndex(); - - if ( m_node.UsingMultiQuants() ) - { - CodeQIndexOffset( qf_idx - m_last_qf_idx); - m_last_qf_idx = qf_idx; - } - - m_qf = dirac_quantiser_lists.QuantFactor4( qf_idx ); - - m_offset = dirac_quantiser_lists.IntraQuantOffset4( qf_idx ); - - for ( int ypos=ybeg ; ypos < yend; ++ypos ) - { - for (int xpos = xbeg ; xpos < xend; ++xpos ) - { - prediction = GetPrediction( in_data , xpos , ypos ); - val = in_data[ypos][xpos] - prediction; - CodeVal( in_data , xpos , ypos , val ); - in_data[ypos][xpos] += prediction; - }//xpos - }//ypos -} - - -void IntraDCBandVLC::DoWorkDecode(CoeffArray& out_data) -{ - const TwoDArray& block_list( m_node.GetCodeBlocks() ); - - // Now loop over the blocks and decode - for (int j=block_list.FirstY() ; j<=block_list.LastY() ; ++j) - { - for (int i=block_list.FirstX() ; i<=block_list.LastX() ; ++i) - { - DecodeCoeffBlock( block_list[j][i] , out_data ); - }// i - }// j -} - -void IntraDCBandVLC::DecodeCoeffBlock( const CodeBlock& code_block , CoeffArray& out_data) -{ - const int xbeg = code_block.Xstart(); - const int ybeg = code_block.Ystart(); - const int xend = code_block.Xend(); - const int yend = code_block.Yend(); - - int qf_idx = m_node.QIndex(); - - if ( m_node.UsingMultiQuants() ) - { - qf_idx = DecodeQIndexOffset()+m_last_qf_idx; - m_last_qf_idx = qf_idx; - } - - m_qf = dirac_quantiser_lists.QuantFactor4( qf_idx ); - - m_offset = dirac_quantiser_lists.IntraQuantOffset4( qf_idx ); - - //Work - - for ( int ypos=ybeg ; ypos +#include namespace dirac @@ -50,103 +51,68 @@ class SubbandByteIO; class ByteIO; - - //! A general class for coding and decoding wavelet subband data using variable length coding. - /*! - A general class for coding and decoding wavelet subband data using variable length coding, - */ - class BandVLC + /*! Abstract VLC entropy codec base class */ + class ArithCodecToVLCAdapter { public: + /*! Constructor */ + ArithCodecToVLCAdapter(SubbandByteIO* subband_byteio, size_t number_of_contexts); - //! Constructor - /*! - Creates a BandVLC object to encode subband data - \param subband_byteio input/output for the encoded bits - \param band_list the set of all the subbands - \param band_num the number of the subband being coded - \param is_intra Flag indicating whether the band comes from an intra frame - */ - BandVLC(SubbandByteIO* subband_byteio, - const SubbandList& band_list, - int band_num, - const bool is_intra); - - - void Decompress (CoeffArray& out_data, int num_bytes); + /*! Virtual Destructor */ + virtual ~ArithCodecToVLCAdapter(){} + /* Compresses the input and returns the number of bits written */ int Compress (CoeffArray &in_data); - virtual ~BandVLC(){} - - protected: - //! Code an individual quantised value and perform inverse-quantisation - inline void CodeVal( CoeffArray& in_data , const int xpos , const int ypos , const CoeffType val); + /* Decompresses the bitstream */ + void Decompress (CoeffArray& out_data, int num_bytes); - //! Decode an individual quantised value and perform inverse-quantisation - inline void DecodeVal(CoeffArray& out_data , const int xpos , const int ypos ); + /* Encodes a symbol and writes to the output */ + void EncodeSymbol(bool val, int /*context_num*/) + { + m_byteio->WriteBit(val); + } + + /* Decodes a symbol */ + bool DecodeSymbol(int /*context_num*/) + { + return m_byteio->ReadBoolB(); + } - //! Encode the offset for a code block quantiser - void CodeQIndexOffset( const int offset ); + /*! Purely virtual function that does the actual encoding. Derived classes must define it */ + virtual void DoWorkCode(CoeffArray &in_data) = 0; - //! Decode the offset for a code block quantiser - int DecodeQIndexOffset(); + /*! Purely virtual function that does the actual decoding. Derived classes must define it */ + virtual void DoWorkDecode(CoeffArray &out_data) = 0; - //! Set a code block area to a given value - inline void SetToVal( const CodeBlock& code_block , CoeffArray& coeff_data , const CoeffType val); + protected: + /*! Input/output stream for Dirac-format bytes */ + ByteIO *m_byteio; - //! Set all block values to 0 - inline void ClearBlock( const CodeBlock& code_block , CoeffArray& coeff_data); private: - //functions - // Overridden from the base class - virtual void DoWorkCode(CoeffArray& in_data); - // Ditto - virtual void DoWorkDecode(CoeffArray& out_data); - - virtual void CodeCoeffBlock(const CodeBlock& code_block , CoeffArray& in_data); - virtual void DecodeCoeffBlock(const CodeBlock& code_block , CoeffArray& out_data); - //! Private, bodyless copy constructor: class should not be copied - BandVLC(const BandVLC& cpy); + ArithCodecToVLCAdapter(const ArithCodecToVLCAdapter& cpy); //! Private, bodyless copy operator=: class should not be assigned - BandVLC& operator=(const BandVLC& rhs); + ArithCodecToVLCAdapter& operator=(const ArithCodecToVLCAdapter& rhs); + }; - protected: - - //! Flag indicating whether the band comes from an intra frame - bool m_is_intra; - - //! variables - int m_bnum; - - //! the subband being coded - const Subband m_node; - - //! the quantisation index of the last codeblock - int m_last_qf_idx; - - //! quantisation value - int m_qf; - - //! reconstruction point - CoeffType m_offset; - //! Input/output stream of Dirac-format bytes - ByteIO *m_byteio; - - }; + //! A general class for coding and decoding wavelet subband data using variable length coding. + /*! + A general class for coding and decoding wavelet subband data using variable length coding, + */ + typedef GenericBandCodec BandVLC; ////////////////////////////////////////////////////////////////////////////////// //Finally,special class incorporating prediction for the DC band of intra frames// ////////////////////////////////////////////////////////////////////////////////// - //! A class specially for coding the DC subband of Intra frames + //! A class specially for coding the DC subband of Intra frames /*! - A class specially for coding the DC subband of Intra frames, using intra-band prediction + A class specially for coding the DC subband of Intra frames, using intra-band prediction of coefficients. */ - class IntraDCBandVLC: public BandVLC + class IntraDCBandVLC: public GenericIntraDCBandCodec { public: //! Constructor @@ -156,26 +122,17 @@ \param band_list the set of all the subbands */ IntraDCBandVLC(SubbandByteIO* subband_byteio, - const SubbandList& band_list) - : BandVLC(subband_byteio,band_list, - band_list.Length(), true){} - - + const SubbandList& band_list); private: - void DoWorkCode(CoeffArray& in_data); //overridden from the base class - void DoWorkDecode(CoeffArray& out_data); //ditto - - void CodeCoeffBlock(const CodeBlock& code_block , CoeffArray& in_data); - void DecodeCoeffBlock(const CodeBlock& code_block , CoeffArray& out_data); + //! Encode a single coefficient using error-feedback DC quantization + void CodeCoeff(CoeffArray& in_data, const int xpos, const int ypos); + private: //! Private, bodyless copy constructor: class should not be copied - IntraDCBandVLC (const IntraDCBandVLC& cpy); + IntraDCBandVLC (const IntraDCBandVLC& cpy); //! Private, bodyless copy operator=: class should not be assigned IntraDCBandVLC& operator=(const IntraDCBandVLC& rhs); - - //! Prediction of a DC value from its previously coded neighbours - CoeffType GetPrediction(const CoeffArray& data , const int xpos , const int ypos ) const; }; diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/cmd_line.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/cmd_line.cpp --- dirac-0.9.1/libdirac_common/cmd_line.cpp 2004-11-22 14:05:02.000000000 +0000 +++ dirac-1.0.2/libdirac_common/cmd_line.cpp 2008-03-14 08:17:36.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: cmd_line.cpp,v 1.7 2004/11/22 14:05:02 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: cmd_line.cpp,v 1.8 2008/03/14 08:17:36 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -35,6 +35,7 @@ * or the LGPL. * ***** END LICENSE BLOCK ***** */ +#include #include "cmd_line.h" using namespace dirac; diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/cmd_line.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/cmd_line.h --- dirac-0.9.1/libdirac_common/cmd_line.h 2004-11-22 14:05:02.000000000 +0000 +++ dirac-1.0.2/libdirac_common/cmd_line.h 2004-11-22 14:05:02.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: cmd_line.h,v 1.7 2004/11/22 14:05:02 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: cmd_line.h,v 1.7 2004/11/22 14:05:02 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/common.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/common.cpp --- dirac-0.9.1/libdirac_common/common.cpp 2008-01-26 11:43:14.000000000 +0000 +++ dirac-1.0.2/libdirac_common/common.cpp 2009-01-21 05:21:27.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: common.cpp,v 1.64 2008/01/26 11:43:14 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: common.cpp,v 1.80 2009/01/21 05:21:27 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -50,6 +50,7 @@ #include using namespace dirac; + //const dirac::QuantiserLists dirac::dirac_quantiser_lists; @@ -63,10 +64,10 @@ Init(); } -float EntropyCorrector::Factor(const int bandnum , const FrameSort fsort ,const CompSort c) const +float EntropyCorrector::Factor(const int bandnum , const PictureParams& pp , + const CompSort c) const { - int idx = fsort.IsIntra() ? 0 : (fsort.IsRef() ? 1 : 2); - + int idx = pp.PicSort().IsIntra() ? 0 : (pp.IsBPicture() ? 1 : 2); if (c == U_COMP) return m_Ufctrs[idx][bandnum-1]; else if (c == V_COMP) @@ -78,50 +79,50 @@ void EntropyCorrector::Init() { - //do I-frames + //do I-pictures for (int i=0 ; i= m_Yfctrs.LastX()-3 ) { - // Set factor for Intra frames + // Set factor for Intra pictures m_Yfctrs[0][i] = 0.85f; m_Ufctrs[0][i] = 0.85f; m_Vfctrs[0][i] = 0.85f; - // Set factor for Inter Ref frames + // Set factor for Inter Ref pictures m_Yfctrs[1][i] = 0.75f; m_Ufctrs[1][i] = 0.75f; m_Vfctrs[1][i] = 0.75f; - // Set factor for Inter Non-Ref frames + // Set factor for Inter Non-Ref pictures m_Yfctrs[2][i] = 0.75f; m_Ufctrs[2][i] = 0.75f; m_Vfctrs[2][i] = 0.75f; } else { - // Set factor for Intra frames + // Set factor for Intra pictures m_Yfctrs[0][i] = 0.75f; m_Ufctrs[0][i] = 0.75f; m_Vfctrs[0][i] = 0.75f; - // Set factor for Inter Ref frames + // Set factor for Inter Ref pictures m_Yfctrs[1][i] = 0.75f; m_Ufctrs[1][i] = 0.75f; m_Vfctrs[1][i] = 0.75f; - // Set factor for Inter Non-Ref frames + // Set factor for Inter Non-Ref pictures m_Yfctrs[2][i] = 0.75f; m_Ufctrs[2][i] = 0.75f; m_Vfctrs[2][i] = 0.75f; @@ -130,7 +131,8 @@ } -void EntropyCorrector::Update(int bandnum , FrameSort fsort , CompSort c ,int est_bits , int actual_bits){ +void EntropyCorrector::Update(int bandnum , const PictureParams& pp , + CompSort c ,int est_bits , int actual_bits){ //updates the factors - note that the estimated bits are assumed to already include the correction factor float multiplier; @@ -139,7 +141,7 @@ else multiplier=1.0; - int idx = fsort.IsIntra() ? 0 : (fsort.IsRef() ? 1 : 2); + int idx = pp.PicSort().IsIntra() ? 0 : (pp.IsBPicture() ? 1 : 2); if (c == U_COMP) m_Ufctrs[idx][bandnum-1] *= multiplier; else if (c == V_COMP) @@ -202,27 +204,12 @@ } -// Codec params functions - -CodecParams::CodecParams(const VideoFormat &vd, FrameType ftype, unsigned int num_refs, bool set_defaults): - m_x_num_mb(0), - m_y_num_mb(0), - m_x_num_blocks(0), - m_y_num_blocks(0), - m_lbparams(3), - m_cbparams(3), - m_video_format(vd) -{ - if (set_defaults) - SetDefaultCodecParameters(*this, ftype, num_refs); -} - -void CodecParams::SetBlockSizes(const OLBParams& olbparams , const ChromaFormat cformat) +void PicturePredParams::SetBlockSizes(const OLBParams& olbparams , const ChromaFormat cformat) { //given the raw overlapped block parameters, set the modified internal parameters to //take account of the chroma sampling format and overlapping requirements, as well - //as the equivalent parameters for sub-MBs and MBs. - //Does NOT set the number of blocks or macroblocks, as padding may be required. + //as the equivalent parameters for sub-SBs and SBs. + //Does NOT set the number of blocks or superblocks, as padding may be required. OLBParams tmp_olbparams = olbparams; // Factors for scaling chroma blocks @@ -296,41 +283,6 @@ m_lbparams[2].SetYblen( m_lbparams[2].Ybsep()+4); } - // Check if the luma block overlap is zero or implies a chroma overlap >1 - int overlap = m_lbparams[2].Xblen() - m_lbparams[2].Xbsep(); - if (overlap!=0 && overlap<2*xcfactor) - { - m_lbparams[2].SetXblen( m_lbparams[2].Xbsep()+4); - } - overlap = m_lbparams[2].Yblen() - m_lbparams[2].Ybsep(); - if (overlap!=0 && overlap<2*ycfactor) - { - m_lbparams[2].SetYblen( m_lbparams[2].Ybsep()+4); - } - - // Now check that the overlap is a power of 2 - int count = 0; - overlap = m_lbparams[2].Xblen() - m_lbparams[2].Xbsep(); - while ((overlap>>=1)) - ++count; - - overlap = m_lbparams[2].Xblen() - m_lbparams[2].Xbsep(); - if ((1<>=1)) - ++count; - - overlap = m_lbparams[2].Yblen() - m_lbparams[2].Ybsep(); - if ((1<=2"; std::cout<(wf_idx); } @@ -421,7 +382,7 @@ DIRAC_THROW_EXCEPTION( ERR_UNSUPPORTED_STREAM_DATA, errstr.str(), - SEVERITY_FRAME_ERROR); + SEVERITY_PICTURE_ERROR); } m_cb[level].SetHorizontalCodeBlocks(hblocks); @@ -437,7 +398,7 @@ DIRAC_THROW_EXCEPTION( ERR_UNSUPPORTED_STREAM_DATA, errstr.str(), - SEVERITY_FRAME_ERROR); + SEVERITY_PICTURE_ERROR); } return m_cb[level]; @@ -452,7 +413,7 @@ DIRAC_THROW_EXCEPTION( ERR_UNSUPPORTED_STREAM_DATA, errstr.str(), - SEVERITY_FRAME_ERROR); + SEVERITY_PICTURE_ERROR); } m_cb_mode = static_cast(cb_mode); @@ -462,7 +423,7 @@ //Default constructor EncoderParams::EncoderParams(const VideoFormat& video_format, - FrameType ftype, + PictureType ftype, unsigned int num_refs, bool set_defaults): CodecParams(video_format, ftype, num_refs, set_defaults), @@ -473,7 +434,8 @@ m_y_range_me(32), m_ufactor(1.0), m_vfactor(1.0), - m_denoise(false), + m_prefilter(NO_PF), + m_prefilter_strength(0), m_I_lambda(0.0f), m_L1_lambda(0.f), m_L2_lambda(0.0f), @@ -490,14 +452,15 @@ { if (!m_lossless ) { - m_I_lambda = std::pow( 10.0 , (10.0-qf )/2.5 )/16.0; - m_L1_lambda = m_I_lambda*32.0; - m_L2_lambda = m_I_lambda*256.0; + m_I_lambda = std::pow( 10.0 , (12.0-qf )/2.5 )/16.0; + + m_L1_lambda = m_I_lambda*4.0; + m_L2_lambda = m_I_lambda*32.0; // Set the lambdas for motion estimation const double me_ratio = 2.0; - // Use the same ME lambda for L1 and L2 frames + // Use the same ME lambda for L1 and L2 pictures m_L1_me_lambda = std::sqrt(m_L1_lambda)*me_ratio; m_L2_me_lambda = m_L1_me_lambda; } @@ -522,7 +485,7 @@ SetInterTransformFilter(TransformFilter(wf_idx)); } -void EncoderParams::SetUsualCodeBlocks ( const FrameType &ftype) +void EncoderParams::SetUsualCodeBlocks ( const PictureType &/*ftype*/) { // No subband splitting if spatial partitioning if false // Since this function is common to encoder and decoder we allow the @@ -532,63 +495,20 @@ return; SetCodeBlocks(0, 1, 1); - if (TransformDepth() == 0) + int depth = TransformDepth(); + if (depth == 0) return; - switch (GetVideoFormat()) - { - case VIDEO_FORMAT_QSIF525: - case VIDEO_FORMAT_QCIF: - case VIDEO_FORMAT_CUSTOM: - case VIDEO_FORMAT_SIF525: - case VIDEO_FORMAT_CIF: - case VIDEO_FORMAT_4CIF: - case VIDEO_FORMAT_4SIF525: - case VIDEO_FORMAT_SD_480I60: - case VIDEO_FORMAT_SD_576I50: - case VIDEO_FORMAT_HD_720P60: - case VIDEO_FORMAT_HD_720P50: - case VIDEO_FORMAT_HD_1080I60: - case VIDEO_FORMAT_HD_1080I50: - case VIDEO_FORMAT_HD_1080P60: - case VIDEO_FORMAT_HD_1080P50: - case VIDEO_FORMAT_DIGI_CINEMA_2K24: - case VIDEO_FORMAT_DIGI_CINEMA_4K24: - if (ftype == INTRA_FRAME) - { - int depth = TransformDepth(); - for (int i = 1; i <= 2; ++i) - { - SetCodeBlocks(i, 1, 1); - } - for (int i = 3; i <=depth; ++i) - { - SetCodeBlocks(i, 4, 3); - } - } - else - { - int level = TransformDepth(); - SetCodeBlocks(1, 1, 1); - SetCodeBlocks(2, 8, 6); - for (int i = 3; i <=level; ++i) - { - SetCodeBlocks(i, 12, 8); - } - } - break; + int xl_pad = (Xl() + (1 << depth)-1) & ~((1 << depth)-1); + int yl_pad = (Yl() + (1 << depth)-1) & ~((1 << depth)-1); - default: - DIRAC_THROW_EXCEPTION( - ERR_INVALID_VIDEO_FORMAT, - "Unsupported video format", - SEVERITY_FRAME_ERROR); - break; - } + /* NB, could have different sizes based upon ftype == INTRA_PICTURE */ + /* aim for 12x12 codeblocks in each subband, execpt the DC with 4x4 */ + for (int i = 1; i <= depth; i++) + SetCodeBlocks(depth-i+1, std::max(1,(xl_pad >> i) /12), std::max(1, (yl_pad >> i) /12)); + SetCodeBlocks(0, std::max(1,(xl_pad >> depth) /4), std::max(1,(yl_pad >> depth) /4)); } - - int EncoderParams::GOPLength() const { if (m_num_L1>0) @@ -598,7 +518,7 @@ } DecoderParams::DecoderParams(const VideoFormat& video_format, - FrameType ftype, + PictureType ftype, unsigned int num_refs, bool set_defaults): CodecParams(video_format, ftype, num_refs, set_defaults), @@ -610,8 +530,8 @@ // constructor ParseParams::ParseParams(): m_major_ver(2), - m_minor_ver(1), - m_profile(0), + m_minor_ver(2), + m_profile(8), m_level(0) {} @@ -847,87 +767,75 @@ } -//FrameParams functions - +//PictureParams functions // Default constructor -FrameParams::FrameParams(): - m_fsort(FrameSort::IntraRefFrameSort()), - m_frame_type( INTRA_FRAME ), - m_reference_type( REFERENCE_FRAME ), +PictureParams::PictureParams(): + m_psort(PictureSort::IntraRefPictureSort()), + m_picture_type( INTRA_PICTURE ), + m_reference_type( REFERENCE_PICTURE ), m_output(false), m_using_ac(true) {} // Constructor -FrameParams::FrameParams(const ChromaFormat& cf, - int orig_xlen, int orig_ylen, - int dwt_xlen, int dwt_ylen, - int c_dwt_xlen, int c_dwt_ylen, +PictureParams::PictureParams(const ChromaFormat& cf, + int xlen, int ylen, unsigned int luma_depth, unsigned int chroma_depth) : m_cformat(cf), - m_dwt_xl(dwt_xlen), - m_dwt_yl(dwt_ylen), - m_fsort(FrameSort::IntraRefFrameSort()), - m_frame_type( INTRA_FRAME ), - m_reference_type( REFERENCE_FRAME ), + m_psort(PictureSort::IntraRefPictureSort()), + m_picture_type( INTRA_PICTURE ), + m_reference_type( REFERENCE_PICTURE ), m_output(false), - m_dwt_chroma_xl(c_dwt_xlen), - m_dwt_chroma_yl(c_dwt_ylen), - m_orig_xl(orig_xlen), - m_orig_yl(orig_ylen), + m_xl(xlen), + m_yl(ylen), m_luma_depth(luma_depth), m_chroma_depth(chroma_depth), m_using_ac(true) { - m_orig_cxl = m_orig_cyl = 0; + m_cxl = m_cyl = 0; if (cf == format420) { - m_orig_cxl = orig_xlen>>1; - m_orig_cyl = orig_ylen>>1; + m_cxl = xlen>>1; + m_cyl = ylen>>1; } else if (cf == format422) { - m_orig_cxl = orig_xlen>>1; - m_orig_cyl = orig_ylen; + m_cxl = xlen>>1; + m_cyl = ylen; } else if (cf == format444) { - m_orig_cxl = orig_xlen; - m_orig_cyl = orig_ylen; + m_cxl = xlen; + m_cyl = ylen; } } // Constructor -FrameParams::FrameParams(const ChromaFormat& cf, const FrameSort& fs): +PictureParams::PictureParams(const ChromaFormat& cf, const PictureSort& ps): m_cformat(cf), m_output(false), m_using_ac(true) { - SetFSort( fs ); + SetPicSort( ps ); } -// Constructor -FrameParams::FrameParams(const SourceParams& sparams): +PictureParams::PictureParams(const SourceParams& sparams): m_cformat(sparams.CFormat()), - m_dwt_xl(sparams.Xl()), - m_dwt_yl(sparams.Yl()), - m_fsort(FrameSort::IntraRefFrameSort()), - m_frame_type( INTRA_FRAME ), - m_reference_type( REFERENCE_FRAME ), + m_psort(PictureSort::IntraRefPictureSort()), + m_picture_type( INTRA_PICTURE ), + m_reference_type( REFERENCE_PICTURE ), m_output(false), - m_dwt_chroma_xl(sparams.ChromaWidth()), - m_dwt_chroma_yl(sparams.ChromaHeight()), - m_orig_xl(m_dwt_xl), - m_orig_yl(m_dwt_yl), - m_orig_cxl(m_dwt_chroma_xl), - m_orig_cyl(m_dwt_chroma_yl), + m_xl(sparams.Xl()), + m_yl(sparams.Yl()), + m_cxl(sparams.ChromaWidth()), + m_cyl(sparams.ChromaHeight()), m_using_ac(true) { if (sparams.SourceSampling() == 1) { - m_orig_yl = m_dwt_yl = (m_dwt_yl>>1); - m_orig_cyl = m_dwt_chroma_yl = (m_dwt_chroma_yl>>1); + m_yl = (m_yl>>1); + m_cyl = (m_cyl>>1); } m_luma_depth = static_cast ( @@ -940,111 +848,83 @@ ); } -// Constructor -FrameParams::FrameParams(const SourceParams& sparams, const FrameSort& fs): - m_cformat(sparams.CFormat()), - m_dwt_xl(sparams.Xl()), - m_dwt_yl(sparams.Yl()), - m_output(false), - m_orig_xl(sparams.Xl()), - m_orig_yl(sparams.Yl()), - m_using_ac(true) -{ - SetFSort(fs); - m_orig_cxl = m_orig_cyl = m_dwt_chroma_xl = m_dwt_chroma_yl = 0; - if(m_cformat == format422) - { - m_orig_cxl = m_dwt_chroma_xl = m_orig_xl/2; - m_orig_cyl = m_dwt_chroma_yl = m_orig_yl; - } - else if (m_cformat == format420) - { - m_orig_cxl = m_dwt_chroma_xl = m_orig_xl/2; - m_orig_cyl = m_dwt_chroma_yl = m_orig_yl/2; - } - else if (m_cformat==format444) - { - m_orig_cxl = m_dwt_chroma_xl = m_orig_xl; - m_orig_cyl = m_dwt_chroma_yl = m_orig_yl; - } -} -void FrameParams::SetOrigXl(int orig_xlen) +void PictureParams::SetXl(int xlen) { - m_orig_xl = orig_xlen; - m_orig_cxl = 0; + m_xl = xlen; + m_cxl = 0; if (m_cformat == format420 || m_cformat == format422) { - m_orig_cxl = m_orig_xl>>1; + m_cxl = m_xl>>1; } else if (m_cformat == format444) { - m_orig_cxl = m_orig_xl; + m_cxl = m_xl; } } -void FrameParams::SetOrigYl(int orig_ylen) +void PictureParams::SetYl(int ylen) { - m_orig_yl = orig_ylen; - m_orig_cyl = 0; + m_yl = ylen; + m_cyl = 0; if (m_cformat == format420) { - m_orig_cyl = m_orig_yl>>1; + m_cyl = m_yl>>1; } else if (m_cformat == format422 || m_cformat == format444) { - m_orig_cyl = m_orig_yl; + m_cyl = m_yl; } } -bool FrameParams::IsBFrame() const +bool PictureParams::IsBPicture() const { - bool is_B_frame( false ); + bool is_B_picture( false ); if ( m_refs.size() == 2 ) { if ( m_refs[0] < m_fnum && m_refs[1] > m_fnum ) - is_B_frame = true; + is_B_picture = true; if ( m_refs[0] > m_fnum && m_refs[1] < m_fnum ) - is_B_frame = true; + is_B_picture = true; } - return is_B_frame; + return is_B_picture; } -void FrameParams::SetFSort( const FrameSort& fs ) +void PictureParams::SetPicSort( const PictureSort& ps ) { - m_fsort=fs; - if ( fs.IsIntra() ) - m_frame_type = INTRA_FRAME; + m_psort=ps; + if ( ps.IsIntra() ) + m_picture_type = INTRA_PICTURE; else - m_frame_type = INTER_FRAME; + m_picture_type = INTER_PICTURE; - if ( fs.IsRef() ) - m_reference_type = REFERENCE_FRAME; + if ( ps.IsRef() ) + m_reference_type = REFERENCE_PICTURE; else - m_reference_type = NON_REFERENCE_FRAME; + m_reference_type = NON_REFERENCE_PICTURE; } -void FrameParams::SetFrameType(const FrameType ftype) +void PictureParams::SetPictureType(const PictureType ftype) { - m_frame_type = ftype; - if (ftype == INTRA_FRAME ) - m_fsort.SetIntra(); + m_picture_type = ftype; + if (ftype == INTRA_PICTURE ) + m_psort.SetIntra(); else - m_fsort.SetInter(); + m_psort.SetInter(); } -void FrameParams::SetReferenceType(const ReferenceType rtype) +void PictureParams::SetReferenceType(const ReferenceType rtype) { m_reference_type = rtype; - if (rtype == REFERENCE_FRAME ) - m_fsort.SetRef(); + if (rtype == REFERENCE_PICTURE ) + m_psort.SetRef(); else - m_fsort.SetNonRef(); + m_psort.SetNonRef(); } @@ -1140,6 +1020,14 @@ return VIDEO_FORMAT_DIGI_CINEMA_2K24; case VIDEO_FORMAT_DIGI_CINEMA_4K24: return VIDEO_FORMAT_DIGI_CINEMA_4K24; + case VIDEO_FORMAT_UHDTV_4K60: + return VIDEO_FORMAT_UHDTV_4K60; + case VIDEO_FORMAT_UHDTV_4K50: + return VIDEO_FORMAT_UHDTV_4K50; + case VIDEO_FORMAT_UHDTV_8K60: + return VIDEO_FORMAT_UHDTV_8K60; + case VIDEO_FORMAT_UHDTV_8K50: + return VIDEO_FORMAT_UHDTV_8K50; default: return VIDEO_FORMAT_UNDEFINED; } diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/common.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/common.h --- dirac-0.9.1/libdirac_common/common.h 2008-01-15 04:36:23.000000000 +0000 +++ dirac-1.0.2/libdirac_common/common.h 2008-10-01 02:26:47.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: common.h,v 1.70 2008/01/15 04:36:23 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: common.h,v 1.79 2008/10/01 01:26:47 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -59,7 +59,7 @@ decoder. The main classes are the encoder and decoder parameters for controlling the encode and decode processes. These are passed throughout the codec. There are also parameter classes for sequences - and frames. + and Pictures. */ @@ -160,10 +160,10 @@ // Macroblock contexts - MB_SPLIT_BIN1_CTX, // bin 1, MB split mode vals - MB_SPLIT_BIN2_CTX, // bin 2, MB split mode vals. Bin 3 not required + SB_SPLIT_BIN1_CTX, // bin 1, SB split mode vals + SB_SPLIT_BIN2_CTX, // bin 2, SB split mode vals. Bin 3 not required - MB_SPLIT_INFO_CTX, // info context for MB split mode + SB_SPLIT_INFO_CTX, // info context for SB split mode TOTAL_MV_CTXS // The total number of motion vector contexts }; @@ -213,11 +213,22 @@ //Classes used throughout the codec// ///////////////////////////////////// - //! Frame type Class - class FrameSort + + //! Class defining a rational number + class Rational { public: - FrameSort() { fs = 0x00; } // default intra non-ref + //! Numerator + unsigned int m_num; + //! Denominator + unsigned int m_denom; + }; + + //! Picture type Class + class PictureSort + { + public: + PictureSort() { fs = 0x00; } // default intra non-ref void SetIntra() { fs &= 0xfe; } void SetInter() { fs |= 0x01; } @@ -241,30 +252,30 @@ void Clear() { fs=0x00; } - static FrameSort IntraRefFrameSort() + static PictureSort IntraRefPictureSort() { - FrameSort fs; + PictureSort fs; fs.SetIntraRef(); return fs; } - static FrameSort InterRefFrameSort() + static PictureSort InterRefPictureSort() { - FrameSort fs; + PictureSort fs; fs.SetInterRef(); return fs; } - static FrameSort IntraNonRefFrameSort() + static PictureSort IntraNonRefPictureSort() { - FrameSort fs; + PictureSort fs; fs.SetIntraNonRef(); return fs; } - static FrameSort InterNonRefFrameSort() + static PictureSort InterNonRefPictureSort() { - FrameSort fs; + PictureSort fs; fs.SetInterNonRef(); return fs; } @@ -273,273 +284,6 @@ unsigned char fs; }; - //! A class for picture component data. - /*! - A class for encapsulating picture data, derived from TwoDArray. - */ - class PicArray: public TwoDArray - { - public: - //! Default constructor - /*! - Default constructor creates an empty array. - */ - PicArray(): TwoDArray(){} - - //! Constructor. - /*! - Contructor creates a two-D array, with specified size and colour - format. - */ - PicArray(int height, int width, CompSort cs=Y_COMP): - TwoDArray(height, width), m_csort(cs){} - - //copy constructor and assignment= derived by inheritance - - //! Destructor - ~PicArray(){} - - //! Return which component is stored - const CompSort& CSort() const {return m_csort;} - - //! Set the type of component being stored - void SetCSort(const CompSort cs){ m_csort = cs; } - - private: - - CompSort m_csort; - }; - - //! A class for picture component data. - /*! - A class for encapsulating coefficient data, derived from TwoDArray.. - */ - class CoeffArray: public TwoDArray - { - public: - //! Default constructor - /*! - Default constructor creates an empty array. - */ - CoeffArray(): TwoDArray(){} - - //! Constructor. - /*! - Contructor creates a two-D array, with specified size and colour - format. - */ - CoeffArray(int height, int width, CompSort cs=Y_COMP): - TwoDArray(height, width), m_csort(cs){} - - //copy constructor and assignment= derived by inheritance - - //! Destructor - ~CoeffArray(){} - - //! Return which component is stored - const CompSort& CSort() const {return m_csort;} - - //! Set the type of component being stored - void SetCSort(const CompSort cs){ m_csort = cs; } - - private: - - CompSort m_csort; - - }; - - - //! A structure for recording costs, particularly in quantisation. - class CostType - { - public: - //! The error (MSE or 4th power) - double Error; - - //! The entropy in bits per symbol. - double ENTROPY; - - //! The Lagrangian combination of MSE+lambda*entropy - double TOTAL; - }; - - - //! A class used for correcting estimates of entropy. - /*! - A class used by the encoder for correcting estimates of entropy. Used - for selecting quantisers in subband coefficient coding. Factors can be - adjusted in the light of previous experience. - */ - class EntropyCorrector - { - public: - //! Constructor. - /*! - Constructs arrays of correction factors of size. - \param depth the depth of the wavelet transform. - */ - EntropyCorrector(int depth); - - //////////////////////////////////////////////////////////////////// - //NB: Assume default copy constructor, assignment = and destructor// - //////////////////////////////////////////////////////////////////// - - //! Returns the correction factor. - /*! - Returns the correction factor for the band given also the type of - frame and component. - */ - float Factor(const int bandnum, const FrameSort fsort,const CompSort c) const; - - //! Update the correction factors. - /*! - Update the factors for a given subband, component and frame type. - \param bandnum the number of the subband to update - \param fsort frame type - \param c component type - \param est_bits the number of bits it was estimated would be used - \param actual_bits the number of bits that actually were used - */ - void Update(int bandnum, FrameSort fsort, CompSort c,int est_bits,int actual_bits); - - private: - //! Initialises the correction factors - void Init(); - - TwoDArray m_Yfctrs; - TwoDArray m_Ufctrs; - TwoDArray m_Vfctrs; - }; - - //! Parameters for overlapped block motion compensation - class OLBParams - { - - public: - - //! Default constructor does nothing - OLBParams(){} - - //! Constructor - /* - Constructor rationalises proposed parameters to allow suitable - overlap and fit in with chroma format - \param xblen the horizontal block length - \param yblen the vertical block length - \param xblen the horizontal block separation - \param yblen the vertical block separation - - */ - OLBParams(const int xblen, const int yblen, - const int xbsep, const int ybsep); - - // Gets ... - - //! Returns the horizontal block length - int Xblen() const {return m_xblen;} - - //! Returns the vertical block length - int Yblen() const {return m_yblen;} - - //! Returns the horizontal block separation - int Xbsep() const {return m_xbsep;} - - //! Returns the vertical block separation - int Ybsep() const {return m_ybsep;} - - //! The offset in the horizontal start of the block caused by overlap,=(XBLEN-XBSEP)/2 - int Xoffset() const {return m_xoffset;} - - //! The offset in the vertical start of the block caused by overlap,=(YBLEN-YBSEP)/2 - int Yoffset() const {return m_yoffset;} - - // ... and sets - - //! Sets the block width - void SetXblen( int xblen ){ m_xblen = xblen; m_xoffset = (m_xblen-m_xbsep)/2;} - - //! Sets the block height - void SetYblen( int yblen ){ m_yblen = yblen; m_yoffset = (m_yblen-m_ybsep)/2;} - - //! Sets the block horizontal separation - void SetXbsep( int xbsep ){ m_xbsep = xbsep; m_xoffset = (m_xblen-m_xbsep)/2;} - - //! Sets the block vertical separation - void SetYbsep( int ybsep ){ m_ybsep = ybsep; m_yoffset = (m_yblen-m_ybsep)/2;} - - bool operator == (const OLBParams bparams) const; - - // overloaded stream operators - friend std::ostream & operator<< (std::ostream &, OLBParams &); - friend std::istream & operator>> (std::istream &, OLBParams &); - - - private: - - int m_xblen; - int m_yblen; - int m_xbsep; - int m_ybsep; - int m_xoffset; - int m_yoffset; - }; - - //! Class defining a rational number - class Rational - { - public: - //! Numerator - unsigned int m_num; - //! Denominator - unsigned int m_denom; - }; - - //! Parameters relating to the complexity of encoder/decoder - class ParseParams - { - public: - //! Default constructor - ParseParams(); - - // Gets - - //! Get the major version - unsigned int MajorVersion() const { return m_major_ver; } - - //! Get the minor version - unsigned int MinorVersion() const { return m_minor_ver; } - - //! Get the Profile - unsigned int Profile() const { return m_profile; } - - //! Get the Level - unsigned int Level() const { return m_level; } - - // Sets - - //! Set the major version - void SetMajorVersion(unsigned int major_ver) {m_major_ver = major_ver; } - - //! Set the minor version - void SetMinorVersion(unsigned int minor_ver) { m_minor_ver = minor_ver; } - - //! Set the Profile - void SetProfile(unsigned int level) { m_level = level; } - - //! Set the Level - void SetLevel(unsigned int profile) { m_profile = profile; } - - private: - //! Major Version - unsigned int m_major_ver; - //! Minor Version - unsigned int m_minor_ver; - //! Profile - unsigned int m_profile; - //! Level - unsigned int m_level; - }; - //! Parameters relating to the source material being encoded/decoded class SourceParams { @@ -783,40 +527,33 @@ TransferFunction m_transfer_func; }; - //! Parameters for initialising frame class objects - class FrameParams + + //! Parameters for initialising picture class objects + class PictureParams { public: //! Default constructor - FrameParams(); + PictureParams(); //! Constructor /*! - Frame chroma format is set Frame sort defaults to I frame. + Picture chroma format is set Picture sort defaults to I picture. */ - FrameParams(const ChromaFormat& cf, int orig_xlen, int orig_ylen, - int dwt_xlen, int dwt_ylen, - int c_dwt_xlen, int c_dwt_ylen, + PictureParams(const ChromaFormat& cf, int xlen, int ylen, unsigned int luma_depth, unsigned int chroma_depth); //! Constructor /*! - Frame chroma format and frame sort are set. + Picture chroma format and picture sort are set. */ - FrameParams(const ChromaFormat& cf, const FrameSort& fs); + PictureParams(const ChromaFormat& cf, const PictureSort& fs); //! Constructor - /* - All data is derived from the sequence parameters + /*! + Constructor. Parameters are derived from the source parameters */ - FrameParams(const SourceParams& sparams); - - //! Constructor - /* - All data is derived from the sequence parameters - */ - FrameParams(const SourceParams& sparams, const FrameSort& fs); + PictureParams(const SourceParams& sparams); //////////////////////////////////////////////////////////////////// //NB: Assume default copy constructor, assignment = and destructor// @@ -824,32 +561,20 @@ // Gets ... - //! Returns the chroma format of the frame + //! Returns the chroma format of the picture const ChromaFormat& CFormat() const{return m_cformat;} - //! Returns the luma width of the padded frame - int DwtXl() const{return m_dwt_xl;} - - //! Returns the luma height of the padded frame - int DwtYl() const{return m_dwt_yl;} - - //! Returns the chroma width of the padded frame - int DwtChromaXl() const{return m_dwt_chroma_xl;} - - //! Returns the chroma height of the padded frame - int DwtChromaYl() const{return m_dwt_chroma_yl;} - - //! Returns the original picture width - int OrigXl() const {return m_orig_xl;} + //! Returns the picture width + int Xl() const {return m_xl;} - //! Returns the original picture height - int OrigYl() const {return m_orig_yl;} + //! Returns the picture height + int Yl() const {return m_yl;} - //! Returns the original chroma width of the frame - int OrigChromaXl() const{return m_orig_cxl;} + //! Returns the chroma width of the picture + int ChromaXl() const{return m_cxl;} - //! Returns the original chroma height of the frame - int OrigChromaYl() const{return m_orig_cyl;} + //! Returns the chroma height of the picture + int ChromaYl() const{return m_cyl;} //! Returns the luma depth unsigned int LumaDepth() const { return m_luma_depth; } @@ -857,37 +582,37 @@ //! Returns the chroma depth unsigned int ChromaDepth() const { return m_chroma_depth; } - //! Returns the type of the frame - const FrameSort& FSort() const {return m_fsort;} + //! Returns the type of the picture + const PictureSort& PicSort() const {return m_psort;} - //! Returns the number of the frame (in time order) - int FrameNum() const {return m_fnum;} + //! Returns the number of the picture (in time order) + int PictureNum() const {return m_fnum;} - //! Returns the retired reference frame number - int RetiredFrameNum() const {return m_retd_fnum;} + //! Returns the retired reference picture number + int RetiredPictureNum() const {return m_retd_fnum;} - //! Returns whether the frame is bi-directionally predicted by checking references - bool IsBFrame() const; + //! Returns whether the picture is bi-directionally predicted by checking references + bool IsBPicture() const; - //! Returns the number of frames after the current frame number after which the frame can be discarded + //! Returns the number of pictures after the current picture number after which the picture can be discarded int ExpiryTime() const {return m_expiry_time;} - //! Returns an indication of whether the frame has been output yet + //! Returns an indication of whether the picture has been output yet bool Output() const {return m_output;} - //! Returns a const C++ reference to the set of reference frame numbers (will be empty if the frame is an I frame) + //! Returns a const C++ reference to the set of reference picture numbers (will be empty if the picture is an I picture) const std::vector& Refs() const {return m_refs;} - //! Returns non-const C++ referece to the vector of reference frames, to allow them to be set + //! Returns non-const C++ referece to the vector of reference pictures, to allow them to be set std::vector& Refs(){return m_refs;} - //! Return the number of reference frames + //! Return the number of reference pictures unsigned int NumRefs()const {return m_refs.size();} - //! Returns type of frame (see enum) - FrameType GetFrameType () const { return m_frame_type; } + //! Returns type of picture (see enum) + PictureType GetPictureType () const { return m_picture_type; } - //! Returns reference frame type (see enum) + //! Returns reference picture type (see enum) ReferenceType GetReferenceType() const { return m_reference_type;} //! Returns true is entropy coding using Arithmetic coding @@ -895,44 +620,32 @@ // ... Sets - //! Sets the type of frame - void SetFSort( const FrameSort& fs ); + //! Sets the type of picture + void SetPicSort( const PictureSort& ps ); - //! Sets the frame to be Intra/Inter - void SetFrameType(const FrameType ftype); + //! Sets the picture to be Intra/Inter + void SetPictureType(const PictureType ftype); - //! Sets the frame to be a reference or not + //! Sets the picture to be a reference or not void SetReferenceType(const ReferenceType rtype); - //! Sets the frame number - void SetFrameNum( const int fn ){ m_fnum=fn; } + //! Sets the picture number + void SetPictureNum( const int fn ){ m_fnum=fn; } - //! Sets how long the frame will stay in the buffer (encoder only) + //! Sets how long the picture will stay in the buffer (encoder only) void SetExpiryTime( const int expt ){ m_expiry_time=expt; } - //! Sets a flag to indicate that the frame has been output + //! Sets a flag to indicate that the picture has been output void SetAsOutput(){m_output=true;} //! Sets the chroma format void SetCFormat(ChromaFormat cf){ m_cformat = cf; } - //! Sets the padded frame luma length - void SetDwtXl(int xl){m_dwt_xl = xl; } - - //! Sets the padded frame luma height - void SetDwtYl(int yl){m_dwt_yl = yl; } - - //! Sets the original picture width - void SetOrigXl(int orig_xlen); - - //! Sets the original picture height - void SetOrigYl(int orig_ylen); - - //! Sets the chroma length - void SetDwtChromaXl(int xl){m_dwt_chroma_xl = xl; } + //! Sets the picture width + void SetXl(int xlen); - //! Sets the chroma height - void SetDwtChromaYl(int yl){m_dwt_chroma_yl = yl; } + //! Sets the picture height + void SetYl(int ylen); //! Set Luma Depth void SetLumaDepth(unsigned int luma_depth) { m_luma_depth = luma_depth; } @@ -940,8 +653,8 @@ //! Set Chroma Depth void SetChromaDepth(unsigned int chroma_depth) { m_chroma_depth = chroma_depth; } - //! Sets the retired reference frame number - void SetRetiredFrameNum(int retd_fnum) {m_retd_fnum = retd_fnum;} + //! Sets the retired reference picture number + void SetRetiredPictureNum(int retd_fnum) {m_retd_fnum = retd_fnum;} //! Sets the arithmetic coding flag void SetUsingAC(bool using_ac) { m_using_ac = using_ac; } @@ -951,62 +664,272 @@ //! The chroma format ChromaFormat m_cformat; - //! Padded Frame luma width for Discrete Wavelet Transform - int m_dwt_xl; + //! The picture sort + PictureSort m_psort; + + //! The set of picture numbers of reference pictures + std::vector m_refs; + + //! The number of pictures, after the current picture number, after the (de)coding of which the picture can be deleted + int m_expiry_time; + + //! The picture number, in temporal order + int m_fnum; + + //! Picture type + PictureType m_picture_type; + + //! Reference type + ReferenceType m_reference_type; + + //! True if the picture has been output, false if not + bool m_output; + + //! The picture number of the retired picture + mutable int m_retd_fnum; + + //! Picture luma width + int m_xl; + + //! Picture luma height + int m_yl; + + //! Picture chroma width + int m_cxl; + + //! Picture chroma height + int m_cyl; + + //! Luma depth - number of bits required for lumz + unsigned int m_luma_depth; + + //! chroma depth - number of bits required for luma + unsigned int m_chroma_depth; + + //! arithmetic coding flag + bool m_using_ac; + }; + + + //! A class for picture component data. + /*! + A class for encapsulating picture data, derived from TwoDArray. + */ + class PicArray: public TwoDArray + { + public: + //! Default constructor + /*! + Default constructor creates an empty array. + */ + PicArray(): TwoDArray(){} + + //! Constructor. + /*! + Contructor creates a two-D array, with specified size and colour + format. + */ + PicArray(int height, int width, CompSort cs=Y_COMP): + TwoDArray(height, width), m_csort(cs){} + + //copy constructor and assignment= derived by inheritance + + //! Destructor + ~PicArray(){} + + //! Return which component is stored + const CompSort& CSort() const {return m_csort;} + + //! Set the type of component being stored + void SetCSort(const CompSort cs){ m_csort = cs; } + + private: + + CompSort m_csort; + }; + + + //! A structure for recording costs, particularly in quantisation. + class CostType + { + public: + //! The error (MSE or 4th power) + double Error; + + //! The entropy in bits per symbol. + double ENTROPY; + + //! The Lagrangian combination of MSE+lambda*entropy + double TOTAL; + }; + + + //! A class used for correcting estimates of entropy. + /*! + A class used by the encoder for correcting estimates of entropy. Used + for selecting quantisers in subband coefficient coding. Factors can be + adjusted in the light of previous experience. + */ + class EntropyCorrector + { + public: + //! Constructor. + /*! + Constructs arrays of correction factors of size. + \param depth the depth of the wavelet transform. + */ + EntropyCorrector(int depth); + + //////////////////////////////////////////////////////////////////// + //NB: Assume default copy constructor, assignment = and destructor// + //////////////////////////////////////////////////////////////////// + + //! Returns the correction factor. + /*! + Returns the correction factor for the band given also the type of + picture and component. + */ + float Factor(const int bandnum, const PictureParams& pp, + const CompSort c) const; + + //! Update the correction factors. + /*! + Update the factors for a given subband, component and picture type. + \param bandnum the number of the subband to update + \param pp picture parameters + \param c component type + \param est_bits the number of bits it was estimated would be used + \param actual_bits the number of bits that actually were used + */ + void Update(int bandnum, const PictureParams& pp, + CompSort c,int est_bits,int actual_bits); + + private: + //! Initialises the correction factors + void Init(); + + TwoDArray m_Yfctrs; + TwoDArray m_Ufctrs; + TwoDArray m_Vfctrs; + }; + + //! Parameters for overlapped block motion compensation + class OLBParams + { + + public: + + //! Default constructor does nothing + OLBParams(){} + + //! Constructor + /* + Constructor rationalises proposed parameters to allow suitable + overlap and fit in with chroma format + \param xblen the horizontal block length + \param yblen the vertical block length + \param xblen the horizontal block separation + \param yblen the vertical block separation + + */ + OLBParams(const int xblen, const int yblen, + const int xbsep, const int ybsep); + + // Gets ... + + //! Returns the horizontal block length + int Xblen() const {return m_xblen;} + + //! Returns the vertical block length + int Yblen() const {return m_yblen;} + + //! Returns the horizontal block separation + int Xbsep() const {return m_xbsep;} + + //! Returns the vertical block separation + int Ybsep() const {return m_ybsep;} + + //! The offset in the horizontal start of the block caused by overlap,=(XBLEN-XBSEP)/2 + int Xoffset() const {return m_xoffset;} + + //! The offset in the vertical start of the block caused by overlap,=(YBLEN-YBSEP)/2 + int Yoffset() const {return m_yoffset;} + + // ... and sets + + //! Sets the block width + void SetXblen( int xblen ){ m_xblen = xblen; m_xoffset = (m_xblen-m_xbsep)/2;} + + //! Sets the block height + void SetYblen( int yblen ){ m_yblen = yblen; m_yoffset = (m_yblen-m_ybsep)/2;} + + //! Sets the block horizontal separation + void SetXbsep( int xbsep ){ m_xbsep = xbsep; m_xoffset = (m_xblen-m_xbsep)/2;} - //! Padded Frame luma height for Discrete Wavelet Transform - int m_dwt_yl; + //! Sets the block vertical separation + void SetYbsep( int ybsep ){ m_ybsep = ybsep; m_yoffset = (m_yblen-m_ybsep)/2;} - //! The frame sort - FrameSort m_fsort; + bool operator == (const OLBParams bparams) const; - //! The set of frame numbers of reference frames - std::vector m_refs; + // overloaded stream operators + friend std::ostream & operator<< (std::ostream &, OLBParams &); + friend std::istream & operator>> (std::istream &, OLBParams &); - //! The number of frames, after the current frame number, after the (de)coding of which the frame can be deleted - int m_expiry_time; - //! The frame number, in temporal order - int m_fnum; + private: - //! Frame type - FrameType m_frame_type; + int m_xblen; + int m_yblen; + int m_xbsep; + int m_ybsep; + int m_xoffset; + int m_yoffset; + }; - //! Reference type - ReferenceType m_reference_type; + //! Parameters relating to the complexity of encoder/decoder + class ParseParams + { + public: + //! Default constructor + ParseParams(); - //! True if the frame has been output, false if not - bool m_output; + // Gets - //! DWT Chroma length - int m_dwt_chroma_xl; + //! Get the major version + unsigned int MajorVersion() const { return m_major_ver; } - //! DWT Chroma height - int m_dwt_chroma_yl; + //! Get the minor version + unsigned int MinorVersion() const { return m_minor_ver; } - //! The frame number of the retired frame - mutable int m_retd_fnum; + //! Get the Profile + unsigned int Profile() const { return m_profile; } - //! Orignal Frame luma width - int m_orig_xl; + //! Get the Level + unsigned int Level() const { return m_level; } - //! Orignal Frame luma height - int m_orig_yl; + // Sets - //! Orignal Frame chroma width - int m_orig_cxl; + //! Set the major version + void SetMajorVersion(unsigned int major_ver) {m_major_ver = major_ver; } - //! Orignal Frame chroma height - int m_orig_cyl; + //! Set the minor version + void SetMinorVersion(unsigned int minor_ver) { m_minor_ver = minor_ver; } - //! Luma depth - number of bits required for lumz - unsigned int m_luma_depth; + //! Set the Profile + void SetProfile(unsigned int profile) { m_profile = profile; } - //! chroma depth - number of bits required for luma - unsigned int m_chroma_depth; + //! Set the Level + void SetLevel(unsigned int level) { m_level = level; } - //! arithmetic coding flag - bool m_using_ac; + private: + //! Major Version + unsigned int m_major_ver; + //! Minor Version + unsigned int m_minor_ver; + //! Profile + unsigned int m_profile; + //! Level + unsigned int m_level; }; //! Structure to hold code block sizes when spatial partitioning is used @@ -1039,6 +962,135 @@ //! Number of Vertical code blocks unsigned int m_vblocks; }; + + //! Structure to hold motion parameters when motion comp is used + class PicturePredParams + { + public: + PicturePredParams(): + m_lbparams(3), + m_cbparams(3) {} + + //! Return the global motion flag used for encoding/decoding + bool UsingGlobalMotion() const { return m_use_global_motion; } + + //! Return the number of picture weight precision bits + unsigned int PictureWeightsBits() const { return m_picture_weights_bits; } + + //! Return the Ref1 weight + int Ref1Weight() const { return m_ref1_weight; } + + //! Return the Ref2 weight + int Ref2Weight() const { return m_ref2_weight; } + + bool CustomRefWeights() + { + return (m_picture_weights_bits != 1 || + m_ref1_weight != 1 || + m_ref2_weight != 1); + } + + //! Return the number of superblocks horizontally + int XNumSB() const {return m_x_num_sb;} + + //! Return the number of superblocks vertically + int YNumSB() const {return m_y_num_sb;} + + //! Return the number of blocks horizontally + int XNumBlocks() const {return m_x_num_blocks;} + + //! Returns the number of blocks vertically + int YNumBlocks() const {return m_y_num_blocks;} + + //! Return the Luma block parameters for each macroblock splitting level + const OLBParams& LumaBParams(int n) const {return m_lbparams[n];} + + //! Return the Chroma block parameters for each macroblock splitting level + const OLBParams& ChromaBParams(int n) const {return m_cbparams[n];} + + //! Return the number of accuracy bits used for motion vectors + MVPrecisionType MVPrecision() const { return m_mv_precision; } + + //! Set how many SBs there are horizontally + void SetXNumSB(const int xn){m_x_num_sb=xn;} + + //! Set how many SBs there are vertically + void SetYNumSB(const int yn){m_y_num_sb=yn;} + + //! Set how many blocks there are horizontally + void SetXNumBlocks(const int xn){m_x_num_blocks=xn;} + + //! Set how many blocks there are vertically + void SetYNumBlocks(const int yn){m_y_num_blocks=yn;} + + //! Set the block sizes for all SB splitting levels given these prototype block sizes for level=2 + void SetBlockSizes(const OLBParams& olbparams , const ChromaFormat cformat); + + //! Set block level luma params + void SetLumaBlockParams(const OLBParams& olbparams) {m_lbparams[2] = olbparams;} + + //! Set the number of accuracy bits for motion vectors + void SetMVPrecision(const MVPrecisionType p) + { + // Assert in debug mode. Maybe we should throw an exception??? + TESTM((p >=0 && p <=3), "Motion precision value in range 0..3"); + m_mv_precision = p; + } + + void SetMVPrecision(const MVPrecisionType p) const + { + // Assert in debug mode. Maybe we should throw an exception??? + TESTM((p >=0 && p <=3), "Motion precision value in range 0..3"); + m_mv_precision = p; + } + + //! Set the wavelet filter used for picture (de)coding + void SetUsingGlobalMotion(bool gm) { m_use_global_motion=gm; } + + //! Set the picture weight precision bits used for (de)coding + void SetPictureWeightsPrecision(unsigned int wt_prec) { m_picture_weights_bits=wt_prec; } + + //! Set the ref 1 picture weight + void SetRef1Weight(int wt) { m_ref1_weight=wt; } + + //! Set the ref 2 picture weight + void SetRef2Weight(int wt) { m_ref2_weight=wt; } + + private: + + //! The number of superblocks horizontally + int m_x_num_sb; + + //! The number of superblocks verticaly + int m_y_num_sb; + + //! The number of blocks horizontally + int m_x_num_blocks; + + //! The number of blocks vertically + int m_y_num_blocks; + + OneDArray m_lbparams; + + OneDArray m_cbparams; + + //! The precision of motion vectors (number of accuracy bits eg 1=half-pel accuracy) + mutable MVPrecisionType m_mv_precision; + + //! picture predicion parameters - precision + unsigned int m_picture_weights_bits; + + //! picture predicion parameters - reference picture 1 weight + int m_ref1_weight; + + //! picture predicion parameters - reference picture 2 weight + int m_ref2_weight; + + //! Global motion fields + bool m_use_global_motion; + + }; + //! Parameters common to coder and decoder operation /*! Parameters used throughout both the encoder and the decoder @@ -1049,7 +1101,7 @@ //! Default constructor CodecParams (const VideoFormat& video_format = VIDEO_FORMAT_CUSTOM, - FrameType ftype = INTRA_FRAME, + PictureType ftype = INTRA_PICTURE, unsigned int num_refs = 0, bool set_defaults=true); @@ -1059,35 +1111,30 @@ // Gets ... - //! Return the number of macroblocks horizontally - int XNumMB() const {return m_x_num_mb;} - - //! Return the number of macroblocks vertically - int YNumMB() const {return m_y_num_mb;} - - //! Return the number of blocks horizontally - int XNumBlocks() const {return m_x_num_blocks;} - - //! Returns the number of blocks vertically - int YNumBlocks() const {return m_y_num_blocks;} + //! Returns the picture coding mode (independent of source format) + /*! Returns the picture coding mode (independent of source format) + * 0 = Frame coding (no quincunx) + * 1 = Field coding (no quincunx) + */ + int PictureCodingMode() const {return m_pic_coding_mode;} - //! Returns true if we're coding input as fields (independent of source format!) - bool FieldCoding() const {return m_field_coding;} + //! Returns true if the pictures are being coded as fields (mode 1 or 3) + bool FieldCoding() const { return (m_pic_coding_mode==1); } //! Returns true if the topmost field comes first in time when coding bool TopFieldFirst() const {return m_topfieldfirst;} - //! Return the original frame/field luma width - int OrigXl() const {return m_orig_xl;} + //! Return the picture/field luma width + int Xl() const {return m_xl;} - //! Return the original frame/field luma height - int OrigYl() const {return m_orig_yl;} + //! Return the picture/field luma height + int Yl() const {return m_yl;} - //! Return the original frame/field chroma width - int OrigChromaXl() const {return m_orig_cxl;} + //! Return the picture/field chroma width + int ChromaXl() const {return m_cxl;} - //! Return the original frame/field chroma height - int OrigChromaYl() const {return m_orig_cyl;} + //! Return the picture/field chroma height + int ChromaYl() const {return m_cyl;} //! Returns the luma depth unsigned int LumaDepth() const { return m_luma_depth; } @@ -1095,86 +1142,51 @@ //! Returns the chroma depth unsigned int ChromaDepth() const { return m_chroma_depth; } - - //! Return the Luma block parameters for each macroblock splitting level - const OLBParams& LumaBParams(int n) const {return m_lbparams[n];} - - //! Return the Chroma block parameters for each macroblock splitting level - const OLBParams& ChromaBParams(int n) const {return m_cbparams[n];} - - //! Return the number of accuracy bits used for motion vectors - MVPrecisionType MVPrecision() const { return m_mv_precision; } - - //! Return zero transform flag being used for frame (de)coding + //! Return zero transform flag being used for picture (de)coding bool ZeroTransform() const { return m_zero_transform; } - //! Return the wavelet filter currently being used for frame (de)coding + //! Return the wavelet filter currently being used for picture (de)coding WltFilter TransformFilter() const { return m_wlt_filter; } - //! Return the transform depth being used for frame (de)coding + //! Return the transform depth being used for picture (de)coding unsigned int TransformDepth() const { return m_wlt_depth; } - //! Return multiple quantisers flag being used for frame (de)coding + //! Return multiple quantisers flag being used for picture (de)coding CodeBlockMode GetCodeBlockMode() const { return m_cb_mode; } - //! Return the spatial partitioning flag being used for frame (de)coding + //! Return the spatial partitioning flag being used for picture (de)coding bool SpatialPartition() const { return m_spatial_partition; } //! Return the code blocks for a particular level const CodeBlocks &GetCodeBlocks(unsigned int level) const; - //! Return the video format currently being used for frame (de)coding + //! Return the video format currently being used for picture (de)coding VideoFormat GetVideoFormat() const { return m_video_format; } - //! Return the global motion flag used for encoding/decoding - bool UsingGlobalMotion() const { return m_use_global_motion; } - - //! Return the number of frame weight precision bits - unsigned int FrameWeightsBits() const { return m_frame_weights_bits; } - - //! Return the Ref1 weight - int Ref1Weight() const { return m_ref1_weight; } - - //! Return the Ref2 weight - int Ref2Weight() const { return m_ref2_weight; } - - bool CustomRefWeights() - { - return (m_frame_weights_bits != 1 || - m_ref1_weight != 1 || - m_ref2_weight != 1); - } - // ... and Sets - //! Set how many MBs there are horizontally - void SetXNumMB(const int xn){m_x_num_mb=xn;} - - //! Set how many MBs there are vertically - void SetYNumMB(const int yn){m_y_num_mb=yn;} - - //! Set how many blocks there are horizontally - void SetXNumBlocks(const int xn){m_x_num_blocks=xn;} + //! Return the picture prediction params + PicturePredParams& GetPicPredParams(){return m_picpredparams;} - //! Set how many blocks there are vertically - void SetYNumBlocks(const int yn){m_y_num_blocks=yn;} + //! Return the picture prediction params + const PicturePredParams& GetPicPredParams() const {return m_picpredparams;} - //! Sets whether input is coded as fields - void SetFieldCoding(bool field_coding){m_field_coding=field_coding;} + // ... and Sets + //! Sets whether input is coded as fields or quincunxially + void SetPictureCodingMode(int pic_coding){m_pic_coding_mode=pic_coding;} //! Sets whether the topmost field comes first in time [NB: TBD since this duplicates metadata in the sequence header] void SetTopFieldFirst(bool topf){m_topfieldfirst=topf;} - //! Set the original frame/field luma width - void SetOrigXl(const int x){m_orig_xl=x;} - - //! Set the original frame/field luma height - void SetOrigYl(const int y){m_orig_yl=y;} + //! Set the picture/field luma width + void SetXl(const int x){m_xl=x;} + //! Set the picture/field luma height + void SetYl(const int y){m_yl=y;} - //! Set the original frame/field chroma width - void SetOrigChromaXl(const int x){m_orig_cxl=x;} + //! Set the frame/field chroma width + void SetChromaXl(const int x){m_cxl=x;} - //! Set the original frame/field chroma height - void SetOrigChromaYl(const int y){m_orig_cyl=y;} + //! Set the frame/field chroma height + void SetChromaYl(const int y){m_cyl=y;} //! Set Luma Depth void SetLumaDepth(unsigned int luma_depth) { m_luma_depth = luma_depth; } @@ -1182,84 +1194,55 @@ //! Set Chroma Depth void SetChromaDepth(unsigned int chroma_depth) { m_chroma_depth = chroma_depth; } - //! Set the block sizes for all MB splitting levels given these prototype block sizes for level=2 - void SetBlockSizes(const OLBParams& olbparams , const ChromaFormat cformat); - //! Set block level luma params - void SetLumaBlockParams(const OLBParams& olbparams) {m_lbparams[2] = olbparams;} - - //! Set the number of accuracy bits for motion vectors - void SetMVPrecision(const MVPrecisionType p) - { - // Assert in debug mode. Maybe we should throw an exception??? - TESTM((p >=0 && p <=3), "Motion precision value in range 0..3"); - m_mv_precision = p; - } - - void SetMVPrecision(const MVPrecisionType p) const - { - // Assert in debug mode. Maybe we should throw an exception??? - TESTM((p >=0 && p <=3), "Motion precision value in range 0..3"); - m_mv_precision = p; - } - - //! Set the zero transform flag being used for frame (de)coding + //! Set the zero transform flag being used for picture (de)coding void SetZeroTransform(bool zero_transform) { m_zero_transform = zero_transform; } - //! Set the wavelet filter used for frame (de)coding + //! Set the wavelet filter used for picture (de)coding void SetTransformFilter(const WltFilter wf) { m_wlt_filter=wf; } - //! Set the wavelet filter used for frame (de)coding + //! Set the wavelet filter used for picture (de)coding void SetTransformFilter(unsigned int wf_idx); - //! Set the transform depth used for frame (de)coding and allocate for the code blocks array + //! Set the transform depth used for picture (de)coding and allocate for the code blocks array void SetTransformDepth(unsigned int wd); - //! Set the multiple quantisers flag usedto frame (de)coding + //! Set the multiple quantisers flag usedto picture (de)coding void SetCodeBlockMode(unsigned int cb_mode); - //! Set the spatial partition flag usedto frame (de)coding + //! Set the spatial partition flag usedto picture (de)coding void SetSpatialPartition(bool spatial_partition) { m_spatial_partition=spatial_partition; } //! Set the number of code blocks for a particular level void SetCodeBlocks(unsigned int level, unsigned int hblocks, unsigned int vblocks); - //! Set the video format used for frame (de)coding + //! Set the video format used for picture (de)coding void SetVideoFormat(const VideoFormat vd) { m_video_format=vd; } - //! Set the wavelet filter used for frame (de)coding - void SetUsingGlobalMotion(bool gm) { m_use_global_motion=gm; } - - //! Set the frame weight precision bits used for (de)coding - void SetFrameWeightsPrecision(unsigned int wt_prec) { m_frame_weights_bits=wt_prec; } - - //! Set the ref 1 frame weight - void SetRef1Weight(int wt) { m_ref1_weight=wt; } - - //! Set the ref 2 frame weight - void SetRef2Weight(int wt) { m_ref2_weight=wt; } - - protected: + protected: //! Return the Wavelet filter associated with the wavelet index WltFilter TransformFilter (unsigned int wf_idx); private: - //! True if input is coded as fields, false if coded as frames - bool m_field_coding; + //! The picture prediction parameters + PicturePredParams m_picpredparams; + + //! The picture coding mode + int m_pic_coding_mode; //! True if interlaced and top field is first in temporal order bool m_topfieldfirst; - //! The original frame/field luma width - int m_orig_xl; + //! The frame/field luma width + int m_xl; - //! The original frame/field luma height - int m_orig_yl; + //! The frame/field luma height + int m_yl; - //! The original frame/field chroma width - int m_orig_cxl; + //! The frame/field chroma width + int m_cxl; - //! The original frame/field chroma height - int m_orig_cyl; + //! The frame/field chroma height + int m_cyl; //! Luma depth - number of bits required for lumz unsigned int m_luma_depth; @@ -1267,41 +1250,10 @@ //! chroma depth - number of bits required for luma unsigned int m_chroma_depth; - //! The number of macroblocks horizontally - int m_x_num_mb; - - //! The number of macroblocks verticaly - int m_y_num_mb; - - //! The number of blocks horizontally - int m_x_num_blocks; - - //! The number of blocks vertically - int m_y_num_blocks; - - OneDArray m_lbparams; - - OneDArray m_cbparams; - - //! The precision of motion vectors (number of accuracy bits eg 1=half-pel accuracy) - mutable MVPrecisionType m_mv_precision; - //! The video format being used VideoFormat m_video_format; - //! Global motion fields - bool m_use_global_motion; - - //! frame predicion parameters - precision - unsigned int m_frame_weights_bits; - - //! frame predicion parameters - reference frame 1 weight - int m_ref1_weight; - - //! frame predicion parameters - reference frame 1 weight - int m_ref2_weight; - - //! Zero transform flag + //! Zero transform flag bool m_zero_transform; //! The wavelet filter being used @@ -1331,7 +1283,7 @@ public: //! Default constructor EncoderParams(const VideoFormat& video_format, - FrameType ftype = INTER_FRAME, + PictureType ftype = INTER_PICTURE, unsigned int num_refs = 2, bool set_defaults=true); @@ -1361,18 +1313,21 @@ //! Get the vertical search range for full-search motion estimation int YRangeME() const {return m_y_range_me;} + //! Get whether we're doing combined component motion estimation + bool CombinedME() const {return m_combined_me; } + //! Get the quality factor float Qf() const {return m_qf;} - //! Return the nominal number of L1 frames before the next I frame + //! Return the nominal number of L1 pictures before the next I picture /*! - Return the nominal number of L1 frames before the next I frame. Can be - overridden by I-frame insertion + Return the nominal number of L1 pictures before the next I picture. Can be + overridden by I-picture insertion */ int NumL1() const {return m_num_L1;} - //! Return the separation between L1 frames (and between L1 and I frames) + //! Return the separation between L1 pictures (and between L1 and I pictures) int L1Sep() const {return m_L1_sep;} //! Return the amount we're weighting noise in the U component @@ -1384,22 +1339,25 @@ //! Return the number of cycles per degree at the nominal viewing distance for the raster float CPD() const {return m_cpd;} - //! Return whether input denoising is on or off - bool Denoise() const {return m_denoise;} + //! Return what prefiltering is in place + PrefilterType Prefilter() const {return m_prefilter;} + + //! Return the prefiltering strength + int PrefilterStrength() const {return m_prefilter_strength;} - //! Return the Lagrangian parameter to be used for I frames + //! Return the Lagrangian parameter to be used for I pictures float ILambda() const {return m_I_lambda;} - //! Return the Lagrangian parameter to be used for L1 frames + //! Return the Lagrangian parameter to be used for L1 pictures float L1Lambda() const {return m_L1_lambda;} - //! Return the Lagrangian parameter to be used for L2 frames + //! Return the Lagrangian parameter to be used for L2 pictures float L2Lambda() const {return m_L2_lambda;} - //! Return the Lagrangian ME parameter to be used for L1 frames + //! Return the Lagrangian ME parameter to be used for L1 pictures float L1MELambda() const {return m_L1_me_lambda;} - //! Return the Lagrangian ME parameter to be used for L2 frames + //! Return the Lagrangian ME parameter to be used for L2 pictures float L2MELambda() const {return m_L2_me_lambda;} //! Return the size of the GOP @@ -1414,10 +1372,10 @@ //! Return a reference to the entropy factors - we need to be able to change the values of the entropy factors in situ EntropyCorrector& EntropyFactors() {return *m_ent_correct;} - //! Return the Wavelet filter to be used for intra frames + //! Return the Wavelet filter to be used for intra pictures WltFilter IntraTransformFilter() { return m_intra_wltfilter; } - //! Return the Wavelet filter to be used for Inter frames + //! Return the Wavelet filter to be used for Inter pictures WltFilter InterTransformFilter() { return m_inter_wltfilter; } //! Return the Target Bit Rate in kbps @@ -1440,6 +1398,9 @@ //! Set whether we're doing full-search motion estimation void SetFullSearch(const bool fs){m_full_search = fs;} + //! Set whether we're doing combined component motion estimation + void SetCombinedME(const bool cme){m_combined_me = cme;} + //! Set the horizontal search range for full-search motion estimation void SetXRangeME(const int xr){m_x_range_me = xr;} @@ -1449,10 +1410,10 @@ //! Set the quality factor void SetQf(const float qfac){ m_qf=qfac; CalcLambdas(m_qf); } - //! Set the nominal number of L1 frames between I frames + //! Set the nominal number of L1 pictures between I pictures void SetNumL1(const int nl){m_num_L1=nl;} - //! Set the separation between L1 frames + //! Set the separation between L1 pictures void SetL1Sep(const int lsep){m_L1_sep=lsep;} //! Set the amount to weight noise in the U component @@ -1464,28 +1425,28 @@ //! Set the number of cycles per degree at the nominal viewing distance void SetCPD(const float cpd){m_cpd=cpd;} - //! Set denoising value - true or false - void SetDenoise(const bool denoise){m_denoise=denoise;} + void SetPrefilter(const PrefilterType pf, const int str){m_prefilter=pf; + m_prefilter_strength=str;} //! Set the output path to be used for diagnostic data void SetOutputPath(const char * op){ m_output_path = op; } //! Sets the entropy factors - TBD: set this up in a constructor and pass encoder params around entirely by reference void SetEntropyFactors(EntropyCorrector* entcorrect){m_ent_correct=entcorrect;} - //! Set the Wavelet filter to be used for intra frames + //! Set the Wavelet filter to be used for intra pictures void SetIntraTransformFilter(unsigned int wf_idx); - //! Set the Wavelet filter to be used for inter frames + //! Set the Wavelet filter to be used for inter pictures void SetInterTransformFilter(unsigned int wf_idx); - //! Set the Wavelet filter to be used for intra frames + //! Set the Wavelet filter to be used for intra pictures void SetIntraTransformFilter(WltFilter wf) { m_intra_wltfilter = wf; } //! Set the number of code blocks for all levels - void SetUsualCodeBlocks(const FrameType& ftype); + void SetUsualCodeBlocks(const PictureType& ftype); - //! Set the Wavelet filter to be used for inter frames + //! Set the Wavelet filter to be used for inter pictures void SetInterTransformFilter(WltFilter wf) { m_inter_wltfilter = wf; } //! Set the target bit rate @@ -1512,6 +1473,9 @@ //! A flag indicating whether we're doing full-search block matching bool m_full_search; + //! A flag indicating whether we're doing combined component motion estimation + bool m_combined_me; + //! The horizontal range for full-search block matching int m_x_range_me; @@ -1521,10 +1485,10 @@ //! Quality factor float m_qf; - //! Number of L1 frames before next I frame + //! Number of L1 pictures before next I picture int m_num_L1; - //! Separation between L1 frames + //! Separation between L1 pictures int m_L1_sep; //! factor for weighting U component quantisation errors @@ -1536,16 +1500,19 @@ //! Cycles per degree assumed for viewing the video float m_cpd; - //! Flag indicating input denoising - bool m_denoise; + //! Indicator for prefiltering + PrefilterType m_prefilter; + + //! Prefiltering strength + int m_prefilter_strength; - //! Lagrangian parameter for Intra frame coding + //! Lagrangian parameter for Intra picture coding float m_I_lambda; - //! Lagrangian parameter for L1 frame coding + //! Lagrangian parameter for L1 picture coding float m_L1_lambda; - //! Lagrangian parameter for L2 frame coding + //! Lagrangian parameter for L2 picture coding float m_L2_lambda; //! Lagrangian param for L1 motion estimation @@ -1560,10 +1527,10 @@ //! Output file path std::string m_output_path; - //! Wavelet filter for Intra frames + //! Wavelet filter for Intra pictures WltFilter m_intra_wltfilter; - //! Wavelet filter for Inter frames + //! Wavelet filter for Inter pictures WltFilter m_inter_wltfilter; //! Target bit rate @@ -1582,7 +1549,7 @@ { public: //! Default constructor - DecoderParams(const VideoFormat& video_format = VIDEO_FORMAT_CIF, FrameType ftype=INTRA_FRAME, unsigned int num_refs = 0, bool set_defaults = false); + DecoderParams(const VideoFormat& video_format = VIDEO_FORMAT_CIF, PictureType ftype=INTRA_PICTURE, unsigned int num_refs = 0, bool set_defaults = false); //! Returns true if we're operating verbosely, false otherwise bool Verbose() const {return m_verbose;} @@ -1621,13 +1588,13 @@ //! Returns 4 times the quantisation factor inline int QuantFactor4( const int index ) const {return m_qflist4[index]; } - //! Returns the intra frame quantisation offset for non-zero values + //! Returns the intra Picture quantisation offset for non-zero values inline int IntraQuantOffset4( const int index ) const {return m_intra_offset4[index]; } - //! Returns the inter frame quantisation offset for non-zero values + //! Returns the inter Picture quantisation offset for non-zero values inline int InterQuantOffset4( const int index ) const {return m_inter_offset4[index]; } //! Returns the maximum quantiser index supported - inline int MaxQIndex() const {return m_max_qindex; } + inline int MaxQuantIndex() const {return m_max_qindex; } private: diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/common_types.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/common_types.h --- dirac-0.9.1/libdirac_common/common_types.h 2008-01-15 04:36:23.000000000 +0000 +++ dirac-1.0.2/libdirac_common/common_types.h 2008-11-06 04:53:36.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: common_types.h,v 1.15 2008/01/15 04:36:23 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: common_types.h,v 1.21 2008/11/06 04:53:36 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -70,19 +70,28 @@ filterNK } WltFilter; +/*! Enumerated type that defines prefiltering types supported by the + encoder. */ +typedef enum +{ + NO_PF = 0, + DIAGLP, + RECTLP, + CWM +} PrefilterType; static const int NUM_WLT_FILTERS = 8; -/*! Types of frame */ +/*! Types of picture */ typedef enum { - INTRA_FRAME=0, - INTER_FRAME - } FrameType; + INTRA_PICTURE=0, + INTER_PICTURE + } PictureType; /*! Types of referencing */ typedef enum { - REFERENCE_FRAME=0, - NON_REFERENCE_FRAME + REFERENCE_PICTURE=0, + NON_REFERENCE_PICTURE } ReferenceType; /*! Types for video-format */ @@ -104,6 +113,10 @@ VIDEO_FORMAT_HD_1080P50, VIDEO_FORMAT_DIGI_CINEMA_2K24, VIDEO_FORMAT_DIGI_CINEMA_4K24, + VIDEO_FORMAT_UHDTV_4K60, + VIDEO_FORMAT_UHDTV_4K50, + VIDEO_FORMAT_UHDTV_8K60, + VIDEO_FORMAT_UHDTV_8K50, VIDEO_FORMAT_UNDEFINED } VideoFormat; @@ -133,7 +146,7 @@ TF_UNDEF } TransferFunction; -/*! Types of Frame-rate */ +/*! Types of Picture-rate */ typedef enum { FRAMERATE_CUSTOM=0, FRAMERATE_23p97_FPS, diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/dirac_assertions.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/dirac_assertions.cpp --- dirac-0.9.1/libdirac_common/dirac_assertions.cpp 2004-11-22 13:28:05.000000000 +0000 +++ dirac-1.0.2/libdirac_common/dirac_assertions.cpp 2004-11-22 13:28:05.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: dirac_assertions.cpp,v 1.2 2004/11/22 13:28:05 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: dirac_assertions.cpp,v 1.2 2004/11/22 13:28:05 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/dirac_assertions.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/dirac_assertions.h --- dirac-0.9.1/libdirac_common/dirac_assertions.h 2004-11-22 14:05:02.000000000 +0000 +++ dirac-1.0.2/libdirac_common/dirac_assertions.h 2004-11-22 14:05:02.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: dirac_assertions.h,v 1.3 2004/11/22 14:05:02 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: dirac_assertions.h,v 1.3 2004/11/22 14:05:02 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/dirac_exception.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/dirac_exception.cpp --- dirac-0.9.1/libdirac_common/dirac_exception.cpp 2007-03-19 16:18:59.000000000 +0000 +++ dirac-1.0.2/libdirac_common/dirac_exception.cpp 2007-03-19 16:18:59.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: dirac_exception.cpp,v 1.2 2007/03/19 16:18:59 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: dirac_exception.cpp,v 1.2 2007/03/19 16:18:59 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/dirac_exception.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/dirac_exception.h --- dirac-0.9.1/libdirac_common/dirac_exception.h 2008-01-15 04:36:23.000000000 +0000 +++ dirac-1.0.2/libdirac_common/dirac_exception.h 2008-01-31 11:25:16.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: dirac_exception.h,v 1.5 2008/01/15 04:36:23 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: dirac_exception.h,v 1.6 2008/01/31 11:25:16 tjdwave Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -60,7 +60,7 @@ ERR_END_OF_STREAM, ERR_INVALID_VIDEO_FORMAT, ERR_INVALID_CHROMA_FORMAT, - ERR_INVALID_FRAME_RATE, + ERR_INVALID_PICTURE_RATE, ERR_INVALID_SIGNAL_RANGE, ERR_INVALID_PIXEL_ASPECT_RATIO, ERR_INVALID_VIDEO_DEPTH, @@ -75,7 +75,7 @@ enum DiracSeverityCode { SEVERITY_NO_ERROR=0, SEVERITY_WARNING, - SEVERITY_FRAME_ERROR, + SEVERITY_PICTURE_ERROR, SEVERITY_ACCESSUNIT_ERROR, SEVERITY_SEQUENCE_ERROR, SEVERITY_TERMINATE diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/dirac_inttypes.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/dirac_inttypes.h --- dirac-0.9.1/libdirac_common/dirac_inttypes.h 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/libdirac_common/dirac_inttypes.h 2008-05-06 10:35:51.000000000 +0100 @@ -0,0 +1,48 @@ +/* ***** BEGIN LICENSE BLOCK ***** +* +* $Id: dirac_inttypes.h,v 1.1 2008/05/06 09:35:51 asuraparaju Exp $ $Name: Dirac_1_0_2 $ +* +* Version: MPL 1.1/GPL 2.0/LGPL 2.1 +* +* The contents of this file are subject to the Mozilla Public License +* Version 1.1 (the "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* http://www.mozilla.org/MPL/ +* +* Software distributed under the License is distributed on an "AS IS" basis, +* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for +* the specific language governing rights and limitations under the License. +* +* The Original Code is BBC Research and Development code. +* +* The Initial Developer of the Original Code is the British Broadcasting +* Corporation. +* Portions created by the Initial Developer are Copyright (C) 2004. +* All Rights Reserved. +* +* Contributor(s): Anuradha Suraparaju (Original Author) +* +* Alternatively, the contents of this file may be used under the terms of +* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser +* Public License Version 2.1 (the "LGPL"), in which case the provisions of +* the GPL or the LGPL are applicable instead of those above. If you wish to +* allow use of your version of this file only under the terms of the either +* the GPL or LGPL and not to allow others to use your version of this file +* under the MPL, indicate your decision by deleting the provisions above +* and replace them with the notice and other provisions required by the GPL +* or LGPL. If you do not delete the provisions above, a recipient may use +* your version of this file under the terms of any one of the MPL, the GPL +* or the LGPL. +* ***** END LICENSE BLOCK ***** */ + +#ifndef DIRAC_INTTYPES_H +#define DIRAC_INTTYPES_H + +#ifndef _MSC_VER +#include +#else +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; +#endif //_MSC_VER + +#endif //DIRAC_INTTYPES_H diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/dirac-stdint.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/dirac-stdint.h --- dirac-0.9.1/libdirac_common/dirac-stdint.h 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/libdirac_common/dirac-stdint.h 2009-02-11 01:49:53.000000000 +0000 @@ -0,0 +1,9 @@ +#ifndef _DIRAC_LIBDIRAC_COMMON_DIRAC_STDINT_H +#define _DIRAC_LIBDIRAC_COMMON_DIRAC_STDINT_H 1 +#ifndef _GENERATED_STDINT_H +#define _GENERATED_STDINT_H "dirac 1.0.2" +/* generated using gnu compiler gcc (SUSE Linux) 4.3.2 [gcc-4_3-branch revision 141291] */ +#define _STDINT_HAVE_STDINT_H 1 +#include +#endif +#endif diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/dirac_types.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/dirac_types.h --- dirac-0.9.1/libdirac_common/dirac_types.h 2008-01-15 04:36:23.000000000 +0000 +++ dirac-1.0.2/libdirac_common/dirac_types.h 2008-11-18 23:25:54.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: dirac_types.h,v 1.9 2008/01/15 04:36:23 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: dirac_types.h,v 1.12 2008/11/18 23:25:54 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -56,10 +56,32 @@ #endif /* +* Major version corresponds to major version of the software. +* Minor version corresponds to minor version of the software. Bump +* this up by one whenever there are major feature changes to the software. +* Patch version corresponds to changes in the API. It should be +* bumped up by 1 for every committed change to the API +*/ +#define DIRAC_RESEARCH_MAJOR_VERSION 1 /* 0..255 */ +#define DIRAC_RESEARCH_MINOR_VERSION 0 /* 0..255 */ +#define DIRAC_RESEARCH_PATCH_VERSION 2 /* 0..255 */ + +#define DIRAC_RESEARCH_VERSION(X, Y, Z) \ + (((X)<<16) + ((Y)<<8) + (Z)) + +#define DIRAC_RESEARCH_CURVERSION \ + DIRAC_RESEARCH_VERSION(DIRAC_RESEARCH_MAJOR_VERSION, \ + DIRAC_RESEARCH_MINOR_VERSION, \ + DIRAC_RESEARCH_PATCH_VERSION) + +#define DIRAC_RESEARCH_VERSION_ATLEAST(X, Y, Z) \ + (DIRAC_RESEARCH_CURVERSION >= DIRAC_RESEARCH_VERSION(X, Y, Z)) + +/* * Some basic enumeration types used by end user encoder and decoder ...// */ typedef ChromaFormat dirac_chroma_t; -typedef FrameType dirac_frame_type_t; +typedef PictureType dirac_picture_type_t; typedef ReferenceType dirac_reference_type_t; typedef WltFilter dirac_wlt_filter_t; @@ -147,19 +169,20 @@ } dirac_sourceparams_t; -/*! Structure that holds the frame parameters */ +/*! Structure that holds the picture parameters */ typedef struct { - /*! frame type */ - dirac_frame_type_t ftype; + /*! picture type */ + dirac_picture_type_t ptype; /*! reference type */ dirac_reference_type_t rtype; - /*! frame number in decoded order */ - int fnum; -} dirac_frameparams_t; + /*! picture number in decoded order */ + int pnum; +} dirac_picparams_t; -/*! Structure that holds the frame buffers into which data is written */ +/*! Structure that holds the frame buffers into which data is written +(NB we have frame-oriented IO even though we code pictures)*/ typedef struct { /*! buffers to hold the luma and chroma data */ diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/frame_buffer.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/frame_buffer.cpp --- dirac-0.9.1/libdirac_common/frame_buffer.cpp 2007-11-16 04:50:08.000000000 +0000 +++ dirac-1.0.2/libdirac_common/frame_buffer.cpp 1970-01-01 01:00:00.000000000 +0100 @@ -1,744 +0,0 @@ -/* ***** BEGIN LICENSE BLOCK ***** -* -* $Id: frame_buffer.cpp,v 1.24 2007/11/16 04:50:08 asuraparaju Exp $ $Name: Dirac_0_9_1 $ -* -* Version: MPL 1.1/GPL 2.0/LGPL 2.1 -* -* The contents of this file are subject to the Mozilla Public License -* Version 1.1 (the "License"); you may not use this file except in compliance -* with the License. You may obtain a copy of the License at -* http://www.mozilla.org/MPL/ -* -* Software distributed under the License is distributed on an "AS IS" basis, -* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for -* the specific language governing rights and limitations under the License. -* -* The Original Code is BBC Research and Development code. -* -* The Initial Developer of the Original Code is the British Broadcasting -* Corporation. -* Portions created by the Initial Developer are Copyright (C) 2004. -* All Rights Reserved. -* -* Contributor(s): Thomas Davies (Original Author), -* Scott R Ladd, -* Anuradha Suraparaju -* -* Alternatively, the contents of this file may be used under the terms of -* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser -* Public License Version 2.1 (the "LGPL"), in which case the provisions of -* the GPL or the LGPL are applicable instead of those above. If you wish to -* allow use of your version of this file only under the terms of the either -* the GPL or LGPL and not to allow others to use your version of this file -* under the MPL, indicate your decision by deleting the provisions above -* and replace them with the notice and other provisions required by the GPL -* or LGPL. If you do not delete the provisions above, a recipient may use -* your version of this file under the terms of any one of the MPL, the GPL -* or the LGPL. -* ***** END LICENSE BLOCK ***** */ - -#include -#include -using namespace dirac; - -//Simple constructor for decoder operation -FrameBuffer::FrameBuffer() : - m_ref_count(0), - m_num_L1(0), - m_L1_sep(1), - m_gop_len(0), - m_interlace(false), - m_using_ac(false) -{} - -//Simple constructor for general operation -FrameBuffer::FrameBuffer(ChromaFormat cf, - const int orig_xlen, - const int orig_ylen, - const int dwt_xlen, - const int dwt_ylen, - const int dwt_cxlen, - const int dwt_cylen, - unsigned int luma_depth, - unsigned int chroma_depth, - bool using_ac) : - m_ref_count(0), - m_fparams(cf, orig_xlen, orig_ylen, dwt_xlen, dwt_ylen, dwt_cxlen, dwt_cylen, luma_depth, chroma_depth), - m_num_L1(0), - m_L1_sep(1), - m_gop_len(0), - m_interlace(false), - m_using_ac(using_ac) -{} - -//Constructor setting GOP parameters for use with a standard GOP -FrameBuffer::FrameBuffer(ChromaFormat cf, - const int numL1, - const int L1sep, - const int orig_xlen, - const int orig_ylen, - const int dwt_xlen, - const int dwt_ylen, - const int dwt_cxlen, - const int dwt_cylen, - unsigned int luma_depth, - unsigned int chroma_depth, - bool interlace, - bool using_ac) : - m_ref_count(0), - m_fparams(cf,orig_xlen, orig_ylen, dwt_xlen, dwt_ylen, dwt_cxlen, dwt_cylen, luma_depth, chroma_depth), - m_num_L1(numL1), - m_L1_sep(L1sep), - m_interlace(interlace), - m_using_ac(using_ac) -{ - if (m_num_L1>0) - {// conventional GOP coding - m_gop_len = (m_num_L1+1)*m_L1_sep; - } - else if (m_num_L1==0) - {// I-frame only coding - m_gop_len = 1; - m_L1_sep = 0; - } - else - {// don't have a proper GOP, only an initial I-frame - m_gop_len = 0; - } -} - -//Copy constructor. Why anyone would need this I don't know. -FrameBuffer::FrameBuffer(const FrameBuffer& cpy) - { - // first delete all frames in the current buffer - for (size_t i=0 ; i::iterator it = m_fnum_map.find(fnum); - - unsigned int pos = 0; - if (it != m_fnum_map.end()) - pos = it->second; - - return *(m_frame_data[pos]); -} - -const Frame& FrameBuffer::GetFrame( const unsigned int fnum ) const -{ //as above, but const version - - std::map::const_iterator it = m_fnum_map.find(fnum); - - unsigned int pos=0; - if (it != m_fnum_map.end()) - pos = it->second; - - return *(m_frame_data[pos]); -} - -Frame& FrameBuffer::GetFrame( const unsigned int fnum, bool& is_present ) -{//get frame with a given frame number, NOT with a given position in the buffer. - //If the frame number does not occur, the first frame in the buffer is returned. - - std::map::iterator it = m_fnum_map.find(fnum); - - unsigned int pos = 0; - if (it != m_fnum_map.end()) - { - is_present = true; - pos = it->second; - } - else - is_present=false; - - return *(m_frame_data[pos]); -} - -const Frame& FrameBuffer::GetFrame( const unsigned int fnum, bool& is_present ) const -{ //as above, but const version - - std::map::const_iterator it = m_fnum_map.find(fnum); - - unsigned int pos=0; - if (it != m_fnum_map.end()) - { - is_present = true; - pos = it->second; - } - else - is_present=false; - - return *(m_frame_data[pos]); -} - -bool FrameBuffer::IsFrameAvail( const unsigned int fnum ) const -{ - - std::map::const_iterator it = m_fnum_map.find(fnum); - - if (it != m_fnum_map.end()) - return true; - else - return false; -} - -PicArray& FrameBuffer::GetComponent( const unsigned int fnum , CompSort c) -{//as GetFrame, but returns corresponding component - - std::map::iterator it = m_fnum_map.find(fnum); - - unsigned int pos = 0; - if (it!=m_fnum_map.end()) - pos = it->second; - - if (c == U_COMP) - return m_frame_data[pos]->Udata(); - else if (c == V_COMP) - return m_frame_data[pos]->Vdata(); - else - return m_frame_data[pos]->Ydata(); -} - -const PicArray& FrameBuffer::GetComponent( const unsigned int fnum , CompSort c ) const -{//as above, but const version - - std::map::const_iterator it = m_fnum_map.find(fnum); - - // FIXME - how do we handle the condition when a frame matching fnum is - // not found??? - unsigned int pos = 0; - - if (it!=m_fnum_map.end()) - pos = it->second; - - if (c==U_COMP) - return m_frame_data[pos]->Udata(); - else if (c==V_COMP) - return m_frame_data[pos]->Vdata(); - else - return m_frame_data[pos]->Ydata(); -} - -// as GetFrame, but returns corresponding upconverted component -PicArray& FrameBuffer::GetUpComponent(const unsigned int fnum, CompSort c){ - std::map::iterator it = m_fnum_map.find(fnum); - - unsigned int pos = 0; - if (it!=m_fnum_map.end()) - pos = it->second; - - if (c == U_COMP) - return m_frame_data[pos]->UpUdata(); - else if (c == V_COMP) - return m_frame_data[pos]->UpVdata(); - else - return m_frame_data[pos]->UpYdata(); - -} - -const PicArray& FrameBuffer::GetUpComponent(const unsigned int fnum, CompSort c) const {//as above, but const version - std::map::const_iterator it=m_fnum_map.find(fnum); - - unsigned int pos = 0; - if (it!=m_fnum_map.end()) - pos = it->second; - - if (c == U_COMP) - return m_frame_data[pos]->UpUdata(); - else if (c == V_COMP) - return m_frame_data[pos]->UpVdata(); - else - return m_frame_data[pos]->UpYdata(); - -} - -std::vector FrameBuffer::Members() const -{ - std::vector members( 0 ); - for (unsigned int i=0; iGetFparams(); - members.push_back( fparams.FrameNum() ); - } - }// i - - return members; -} - - -void FrameBuffer::PushFrame(const unsigned int frame_num) -{// Put a new frame onto the top of the stack using built-in frame parameters - // with frame number frame_num - - - // if frame is present - return - if (IsFrameAvail(frame_num)) - return; - - m_fparams.SetFrameNum(frame_num); - if ( m_fparams.FSort().IsRef() ) - m_ref_count++; - - int new_frame_pos = -1; - // First check if an unused frame is available in the buffer - for (int i = 0; i < (int)m_frame_in_use.size(); ++i) - { - if (m_frame_in_use[i] == false) - { - new_frame_pos = i; - m_frame_data[i]->ReconfigFrame(m_fparams); - m_frame_in_use[i] = true; - break; - } - } - if (new_frame_pos == -1) - { - // No unused frames in buffer. Allocate a new frame - Frame* fptr = new Frame(m_fparams); - // add the frame to the buffer - m_frame_data.push_back(fptr); - m_frame_in_use.push_back(true); - new_frame_pos = m_frame_data.size()-1; - } - - // put the frame number into the index table - std::pair temp_pair(m_fparams.FrameNum() , new_frame_pos); - m_fnum_map.insert(temp_pair); -} - -void FrameBuffer::PushFrame( const FrameParams& fp ) -{// Put a new frame onto the top of the stack - - // if frame is present - return - if (IsFrameAvail(fp.FrameNum())) - return; - - if ( fp.FSort().IsRef() ) - m_ref_count++; - - int new_frame_pos = -1; - // First check if an unused frame is available in the buffer - for (int i = 0; i < (int)m_frame_in_use.size(); ++i) - { - if (m_frame_in_use[i] == false) - { - new_frame_pos = i; - m_frame_data[i]->ReconfigFrame(fp); - m_frame_in_use[i] = true; - break; - } - } - if (new_frame_pos == -1) - { - // No unused frames in buffer. Allocate a new frame - Frame* fptr = new Frame(fp); - // add the frame to the buffer - m_frame_data.push_back(fptr); - new_frame_pos = m_frame_data.size()-1; - m_frame_in_use.push_back(true); - } - // put the frame number into the index table - std::pair temp_pair(fp.FrameNum() , new_frame_pos); - m_fnum_map.insert(temp_pair); -} - -void FrameBuffer::PushFrame( const Frame& frame ) -{ - int fnum = frame.GetFparams().FrameNum(); - SetFrameParams( fnum ); - PushFrame(fnum); - - bool is_present; - - Frame &f = GetFrame(frame.GetFparams().FrameNum(), is_present); - if(is_present) - frame.CopyContents(f); -} - -void FrameBuffer::Remove(const unsigned int pos) -{//remove frame fnum from the buffer, shifting everything above down - - const FrameParams& fparams = m_frame_data[pos]->GetFparams(); - - if ( m_frame_in_use[pos] == true && fparams.FSort().IsRef() ) - m_ref_count--; - - std::pair* tmp_pair; - - if (pos( m_frame_data[i]->GetFparams().FrameNum() , i); - m_fnum_map.insert(*tmp_pair); - delete tmp_pair; - } - }//i - } -} - - -void FrameBuffer::SetRetiredFrameNum(const int show_fnum, const int current_coded_fnum) -{ - if ( IsFrameAvail(current_coded_fnum)) - { - FrameParams &fparams = GetFrame(current_coded_fnum).GetFparams(); - fparams.SetRetiredFrameNum(-1); - for (size_t i=0 ; iGetFparams().FrameNum() + m_frame_data[i]->GetFparams().ExpiryTime() ) <= show_fnum) - { - // Only _reference_ frames can be retired - the - // decoder will retire non-reference frames as they are displayed - if (m_frame_data[i]->GetFparams().FSort().IsRef() ) - { - fparams.SetRetiredFrameNum(m_frame_data[i]->GetFparams().FrameNum()); - break; - } - } - }//i - } -} -void FrameBuffer::CleanAll(const int show_fnum, const int current_coded_fnum) -{// clean out all frames that have expired - if (IsFrameAvail(current_coded_fnum)) - { - for (size_t i=0 ; iGetFparams().FrameNum() + m_frame_data[i]->GetFparams().ExpiryTime() ) <= show_fnum) - Remove(i); - }//i - } -} - -void FrameBuffer::CleanRetired(const int show_fnum, const int current_coded_fnum) -{// clean out all frames that have expired - if ( IsFrameAvail(current_coded_fnum) ) - { - FrameParams &fparams = GetFrame(current_coded_fnum).GetFparams(); - // Remove Reference frame specified in retired frame number. - if (fparams.FSort().IsRef() && fparams.RetiredFrameNum()>= 0) - Clean(fparams.RetiredFrameNum()); - fparams.SetRetiredFrameNum(-1); - // Remove non-reference frames that have expired - for (size_t i=0 ; iGetFparams().FrameNum() + m_frame_data[i]->GetFparams().ExpiryTime() ) <= show_fnum && m_frame_data[i]->GetFparams().FSort().IsNonRef()) - Remove(i); - }//i - } -} - -void FrameBuffer::Clean(const int fnum) -{// clean out all frames that have expired - for (size_t i=0 ; iGetFparams().FrameNum() == fnum) - { - Remove(i); - } - }//i -} - -void FrameBuffer::SetFrameParams( const unsigned int fnum ) -{ - m_fparams.SetUsingAC( m_using_ac); - if (!m_interlace) - SetProgressiveFrameParams(fnum); - else - SetInterlacedFrameParams(fnum); -} - -void FrameBuffer::SetProgressiveFrameParams( const unsigned int fnum ) -{ - // Set the frame parameters, given the GOP set-up and the frame number in display order - // This function can be ignored by setting the frame parameters directly if required - - m_fparams.SetFrameNum( fnum ); - m_fparams.SetRetiredFrameNum( -1 ); - m_fparams.Refs().clear(); - - if ( m_gop_len>0 ) - { - - if ( fnum % m_gop_len == 0) - { - if (m_gop_len > 1) - m_fparams.SetFSort( FrameSort::IntraRefFrameSort()); - else // I-frame only coding - { - m_fparams.SetFSort( FrameSort::IntraNonRefFrameSort()); - } - // I frame expires after we've coded the next I frame - m_fparams.SetExpiryTime( m_gop_len ); - } - else if (fnum % m_L1_sep == 0) - { - m_fparams.SetFSort( FrameSort::InterRefFrameSort()); - - // Ref the previous I or L1 frame - m_fparams.Refs().push_back( fnum - m_L1_sep ); - - // if we don't have the first L1 frame ... - if ((fnum-m_L1_sep) % m_gop_len>0) - // ... other ref is the prior I frame - m_fparams.Refs().push_back( ( fnum/m_gop_len ) * m_gop_len ); - - // Expires after the next L1 or I frame - m_fparams.SetExpiryTime( m_L1_sep ); - } - else if ((fnum+1) % m_L1_sep == 0) - { - m_fparams.SetFSort( FrameSort::InterNonRefFrameSort()); - - // .. and the previous frame - m_fparams.Refs().push_back(fnum-1); - // Refs are the next I or L1 frame ... - m_fparams.Refs().push_back(fnum+1); - - m_fparams.SetExpiryTime( 1 ); - } - else - { - m_fparams.SetFSort( FrameSort::InterRefFrameSort()); - - // .. and the previous frame - m_fparams.Refs().push_back(fnum-1); - // Refs are the next I or L1 frame ... - m_fparams.Refs().push_back(((fnum/m_L1_sep)+1)*m_L1_sep); - - m_fparams.SetExpiryTime( 1 ); - } - - } - else{ - if (fnum==0) - { - m_fparams.SetFSort( FrameSort::IntraRefFrameSort()); - - m_fparams.SetExpiryTime( 1<<30 );//ie never - } - else if (fnum % m_L1_sep==0) - { - m_fparams.SetFSort( FrameSort::InterRefFrameSort()); - - m_fparams.Refs().push_back(0);//frame 0 is the I frame - - if (fnum != m_L1_sep)//we don't have the first L1 frame - m_fparams.Refs().push_back(fnum-m_L1_sep);//other ref is the prior L1 frame - - //expires after the next L1 or I frame - m_fparams.SetExpiryTime( m_L1_sep ); - } - else - { - m_fparams.SetFSort( FrameSort::InterNonRefFrameSort()); - - m_fparams.Refs().push_back((fnum/m_L1_sep)*m_L1_sep); - m_fparams.Refs().push_back(((fnum/m_L1_sep)+1)*m_L1_sep); - m_fparams.SetExpiryTime( 1 ); //L2 frames could expire directly after being coded, but putting in a delay of 1 - //allows for frame-skipping to be done, since the frame will still be around to - //be used if the next frame is skipped. - } - } -} - -void FrameBuffer::SetInterlacedFrameParams( const unsigned int fnum ) -{ - // Set the frame parameters, given the GOP set-up and the frame number in display order - // This function can be ignored by setting the frame parameters directly if required - - m_fparams.SetFrameNum( fnum ); - m_fparams.SetRetiredFrameNum( -1 ); - m_fparams.Refs().clear(); - - - if ( m_gop_len>0 ) - { - - if ( (fnum/2) % m_gop_len == 0) - { - // Field 1 is Intra Field - if (m_gop_len > 1) - { - m_fparams.SetFSort( FrameSort::IntraRefFrameSort()); - // I frame expires after we've coded the next I frame - m_fparams.SetExpiryTime( m_gop_len * 2); - if (m_interlace && fnum%2) - { - m_fparams.SetFSort( FrameSort::InterRefFrameSort()); - // Ref the previous I field - m_fparams.Refs().push_back( fnum-1 ); - } - } - else - { - // I-frame only coding - m_fparams.SetFSort( FrameSort::IntraNonRefFrameSort()); - m_fparams.SetExpiryTime( m_gop_len ); - } - } - else if ((fnum/2) % m_L1_sep == 0) - { - m_fparams.SetFSort( FrameSort::InterRefFrameSort()); - - if (fnum%2) - { - // Field 2 - // Ref the first field of same frame - m_fparams.Refs().push_back( fnum - 1); - // Ref the previous field 2 of I or L1 frame - m_fparams.Refs().push_back( fnum - m_L1_sep*2 ); - } - else - { - // Field 1 - // Ref the field 1 of previous I or L1 frame - m_fparams.Refs().push_back( fnum - m_L1_sep*2 ); - // Ref the field 2 of previous I or L1 frame - m_fparams.Refs().push_back( fnum - m_L1_sep*2 + 1 ); - } - - // Expires after the next L1 or I frame - m_fparams.SetExpiryTime( (m_L1_sep+1)*2-1 ); - } - else if ((fnum/2+1) % m_L1_sep == 0) - { - // Bi-directional non-reference fields. - m_fparams.SetFSort( FrameSort::InterNonRefFrameSort()); - - // .. and the same parity field of the previous frame - m_fparams.Refs().push_back(fnum-1*2); - // Refs are the same parity fields in the next I or L1 frame ... - m_fparams.Refs().push_back(fnum+1*2); - - m_fparams.SetExpiryTime( 1 ); - } - else - { - // Bi-directional reference fields. - m_fparams.SetFSort( FrameSort::InterRefFrameSort()); - - // .. and the same parity field of the previous frame - m_fparams.Refs().push_back(fnum-1*2); - // Refs are the same parity fields in the next I or L1 frame ... - m_fparams.Refs().push_back((((fnum/2)/m_L1_sep+1)*m_L1_sep)*2+(fnum%2)); - - m_fparams.SetExpiryTime( 2 ); - } - - } - else{ - if (fnum/2==0) - { - m_fparams.SetFSort( FrameSort::IntraRefFrameSort()); - - m_fparams.SetExpiryTime( 1<<30 );//ie never - } - else if (fnum/2 % m_L1_sep==0) - { - m_fparams.SetFSort( FrameSort::InterRefFrameSort()); - - m_fparams.Refs().push_back(0);//frame 0 is the I frame - - if (fnum/2 != m_L1_sep)//we don't have the first L1 frame - m_fparams.Refs().push_back(fnum-m_L1_sep*2);//other ref is the prior L1 frame - - //expires after the next L1 or I frame - m_fparams.SetExpiryTime( m_L1_sep * 2 ); - } - else - { - m_fparams.SetFSort( FrameSort::InterNonRefFrameSort()); - - m_fparams.Refs().push_back((fnum/m_L1_sep)*m_L1_sep); - m_fparams.Refs().push_back(((fnum/m_L1_sep)+1)*m_L1_sep); - m_fparams.SetExpiryTime( 1 ); //L2 frames could expire directly after being coded, but putting in a delay of 1 - //allows for frame-skipping to be done, since the frame will still be around to - //be used if the next frame is skipped. - } - } -} diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/frame_buffer.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/frame_buffer.h --- dirac-0.9.1/libdirac_common/frame_buffer.h 2007-11-16 04:50:08.000000000 +0000 +++ dirac-1.0.2/libdirac_common/frame_buffer.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,298 +0,0 @@ -/* ***** BEGIN LICENSE BLOCK ***** -* -* $Id: frame_buffer.h,v 1.19 2007/11/16 04:50:08 asuraparaju Exp $ $Name: Dirac_0_9_1 $ -* -* Version: MPL 1.1/GPL 2.0/LGPL 2.1 -* -* The contents of this file are subject to the Mozilla Public License -* Version 1.1 (the "License"); you may not use this file except in compliance -* with the License. You may obtain a copy of the License at -* http://www.mozilla.org/MPL/ -* -* Software distributed under the License is distributed on an "AS IS" basis, -* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for -* the specific language governing rights and limitations under the License. -* -* The Original Code is BBC Research and Development code. -* -* The Initial Developer of the Original Code is the British Broadcasting -* Corporation. -* Portions created by the Initial Developer are Copyright (C) 2004. -* All Rights Reserved. -* -* Contributor(s): Thomas Davies (Original Author), -* Anuradha Suraparaju -* -* Alternatively, the contents of this file may be used under the terms of -* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser -* Public License Version 2.1 (the "LGPL"), in which case the provisions of -* the GPL or the LGPL are applicable instead of those above. If you wish to -* allow use of your version of this file only under the terms of the either -* the GPL or LGPL and not to allow others to use your version of this file -* under the MPL, indicate your decision by deleting the provisions above -* and replace them with the notice and other provisions required by the GPL -* or LGPL. If you do not delete the provisions above, a recipient may use -* your version of this file under the terms of any one of the MPL, the GPL -* or the LGPL. -* ***** END LICENSE BLOCK ***** */ - -#ifndef _FRAME_BUFFER_H_ -#define _FRAME_BUFFER_H_ - -#include -#include -#include -#include - -namespace dirac -{ - //! Holds frames both for reference and to overcome reordering delay - /*! - The buffer holds frames in a stack to overcome both reordering due to - bi-directional prediction and use as references for subsequence motion - estimation. Frames, and components of frames, can be accessed by their - frame numbers. GOP parameters can be included in the constructors so - that frames can be given types (I frame, L1 frame or L2 frame) on - being pushed onto the stack; alternatively, these parameters can be - overridden. - */ - class FrameBuffer{ - public: - //! Default Constructor - FrameBuffer(); - - //! Constructor - /*! - Creates a FrameBuffer using the chroma format. Suitable for - compressing when there are no L2 frames, or when the temporal - prediction structure is to be determined on the fly. - - \param cf the Chroma format of frames in the buffer - \param orig_xlen the original luma width of frames in the buffer - \param orig_ylen the original luma height of frames in the buffer - \param dwt_xlen the padded luma width of frames in the buffer - \param dwt_ylen the padded luma height of frames in the buffer - \param dwt_cxlen the padded chroma width of frames in the buffer - \param dwt_cylen the padded chroma height of frames in the buffer - \param luma_depth the video depth of the luma comp in the buffer - \param chroma_depth the video depth of the chroma comp in the buffer - \param using_ac True if using Arithmetic coding to code coefficient data - - */ - FrameBuffer(ChromaFormat cf, - const int orig_xlen, - const int orig_ylen, - const int dwt_xlen, - const int dwt_ylen, - const int dwt_cxlen, - const int dwt_cylen, - const unsigned int luma_depth, - const unsigned int chroma_depth, - bool using_ac); - - //! Constructor - /*! - Creates a FrameBuffer using the chroma format, the number of L1 - frames between I frames and the separation in frames between L1 - frames. Suitable for compressing when there is a full GOP structure - or when the temporal prediction structure is to be determined on - the fly. - - \param cf the Chroma format of frames in the buffer - \param numL1 the number of Layer 1 frames before the next I frame. 0 means that there is only one I frame. - \param L1sep the number of Layer 2 frames between Layer 1 frames - \param orig_xlen the original luma width of frames in the buffer - \param orig_ylen the original luma height of frames in the buffer - \param dwt_xlen the padded luma width of frames in the buffer - \param dwt_ylen the padded luma height of frames in the buffer - \param dwt_cxlen the padded chroma width of frames in the buffer - \param dwt_cylen the padded chroma height of frames in the buffer - \param luma_depth the video depth of the luma comp in the buffer - \param chroma_depth the video depth of the chroma comp in the buffer - \param interlace Set true if material is being coded in interlaced mode - \param using_ac True if using Arithmetic coding to code coefficient data - */ - FrameBuffer(ChromaFormat cf, - const int numL1, - const int L1sep, - const int orig_xlen, - const int orig_ylen, - const int dwt_xlen, - const int dwt_ylen, - const int dwt_cxlen, - const int dwt_cylen, - const unsigned int luma_depth, - const unsigned int chroma_depth, - bool interlace, - bool using_ac); - - //! Copy constructor - /*! - Copy constructor. Removes the current contents of the frame buffer - and copies in the contents of the initialising buffer. - */ - FrameBuffer(const FrameBuffer& cpy); - - //! Operator=. - /*! - Operator=. Assigns all elements of the rhs to the lhs. - */ - FrameBuffer& operator=(const FrameBuffer& rhs); - - //! Destructor - ~FrameBuffer(); - - //! Get frame with a given frame number (NOT with a given position in the buffer) - Frame& GetFrame(const unsigned int fnum ); - - //! Get frame with a given frame number (NOT with a given position in the buffer) - const Frame& GetFrame(const unsigned int fnum) const; - - //! Get frame with a given frame number, setting a flag to true if it's there - Frame& GetFrame(const unsigned int fnum, bool& is_present); - - //! Get frame with a given frame number, setting a flag to true if it's there - const Frame& GetFrame(const unsigned int fnum, bool& is_present) const; - - //! Return true if frame with the particular frame number is available else return false - bool IsFrameAvail(const unsigned int fnum) const; - - //! Get component with a given component sort and frame number (NOT with a given position in the buffer) - PicArray& GetComponent(const unsigned int frame_num, CompSort c); - - //! Get component with a given component sort and frame number (NOT with a given position in the buffer) - const PicArray& GetComponent(const unsigned int frame_num, CompSort c) const; - - //! Get upconverted component with a given component sort and frame number (NOT with a given position in the buffer) - PicArray& GetUpComponent(const unsigned int frame_num, CompSort c); - - //! Get upconverted component with a given component sort and frame number (NOT with a given position in the buffer) - const PicArray& GetUpComponent(const unsigned int frame_num, CompSort c) const; - - //! Returns a list of member frames - std::vector Members() const; - - //! Put a new frame into the top of the buffer - /*! - Put a new frame into the top of the buffer. Frame parameters - associated with the frame will be the built-in parameters for the - buffer. - - \param frame_num the number of the frame being inserted - */ - void PushFrame(const unsigned int frame_num); - - //! Put a new frame into the top of the buffer - /*! - Put a new frame into the top of the buffer. Frame parameters - associated with the frame will be as given by the frame parameter - object. - */ - void PushFrame(const FrameParams& fp); - - //! Put a copy of a new frame into the top of the buffer - /*! - Put a copy of a new frame into the top of the buffer. - */ - void PushFrame( const Frame& frame ); - - //! Sets the reference frame number that will be cleaned - /*! - Indicate which frame which has been output and which is no longer - required for reference. Expiry times are set in each frame's - frame parameters. - \param show_fnum frame number in display order that can be output - \param current_coded_fnum frame number in display order of frame currently being coded - */ - void SetRetiredFrameNum(const int show_fnum, const int current_coded_fnum); - - //! Delete all expired frames - /*! - Delete frames which have been output and which are no longer - required for reference. Expiry times are set in each frame's - frame parameters. - \param show_fnum frame number in display order that can be output - \param current_coded_fnum frame number in display order of frame currently being coded - */ - void CleanAll(const int show_fnum, const int current_coded_fnum); - - //! Delete retired reference frames and expired non-ref frames - /*! - Delete frames which have been output and retired reference frames. - Expiry times are set in each frame's frame parameters. - \param show_fnum frame number in display order that can be output - \param current_coded_fnum frame number in display order of frame currently being coded - */ - void CleanRetired(const int show_fnum, const int current_coded_fnum); - - //! Delete frame - /*! - Delete frame. - \param fnum frame number in display order to be deleted from frame buffer - */ - void Clean(int fnum); - - //! Return the default frame parameters - const FrameParams& GetFParams() const{return m_fparams;} - - //! Returnthe default frame parameters - FrameParams& GetFParams() { return m_fparams; } - - //! Set the frame parameters based on the frame number in display order and internal GOP parameters - void SetFrameParams(const unsigned int fnum); - - private: - //! Remove a frame with a given frame number from the buffer - /*! - Remove a frame with a given frame number (in display order) from - the buffer. Searches through the buffer and removes frame(s) with - that number. - */ - void Remove(const unsigned int fnum); - - //! Set the frame parameters for a progressive frame based on the frame number in display order and internal GOP parameters - void SetProgressiveFrameParams(const unsigned int fnum); - - //! Set the frame parameters for an interlaced frame based on the frame number in display order and internal GOP parameters - void SetInterlacedFrameParams(const unsigned int fnum); - - private: - - //! the count of the number of reference frames in the buffer - int m_ref_count; - - //! the buffer storing all the values - std::vector m_frame_data; - - //! the flags that specifies if the frame is currently in use or not - std::vector m_frame_in_use; - - //!the map from frame numbers to position in the buffer - std::map m_fnum_map; - - //! The frame parameters to use as a default if none are supplied with the frame - FrameParams m_fparams; - - //! The number of L1 frames before next I frame - unsigned int m_num_L1; - - //! The distance, in frames, between L1 frames - unsigned int m_L1_sep; - - //! The length of the group of pictures (GOP) - unsigned int m_gop_len; - - //! Interlaced coding - bool m_interlace; - - //! Arithmetic coding flag to code coefficients - bool m_using_ac; - - - - - }; - -} // namespace dirac - -#endif diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/frame.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/frame.cpp --- dirac-0.9.1/libdirac_common/frame.cpp 2007-09-03 12:30:29.000000000 +0100 +++ dirac-1.0.2/libdirac_common/frame.cpp 1970-01-01 01:00:00.000000000 +0100 @@ -1,509 +0,0 @@ -/* ***** BEGIN LICENSE BLOCK ***** -* -* $Id: frame.cpp,v 1.20 2007/09/03 11:30:29 asuraparaju Exp $ $Name: Dirac_0_9_1 $ -* -* Version: MPL 1.1/GPL 2.0/LGPL 2.1 -* -* The contents of this file are subject to the Mozilla Public License -* Version 1.1 (the "License"); you may not use this file except in compliance -* with the License. You may obtain a copy of the License at -* http://www.mozilla.org/MPL/ -* -* Software distributed under the License is distributed on an "AS IS" basis, -* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for -* the specific language governing rights and limitations under the License. -* -* The Original Code is BBC Research and Development code. -* -* The Initial Developer of the Original Code is the British Broadcasting -* Corporation. -* Portions created by the Initial Developer are Copyright (C) 2004. -* All Rights Reserved. -* -* Contributor(s): Thomas Davies (Original Author) -* -* Alternatively, the contents of this file may be used under the terms of -* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser -* Public License Version 2.1 (the "LGPL"), in which case the provisions of -* the GPL or the LGPL are applicable instead of those above. If you wish to -* allow use of your version of this file only under the terms of the either -* the GPL or LGPL and not to allow others to use your version of this file -* under the MPL, indicate your decision by deleting the provisions above -* and replace them with the notice and other provisions required by the GPL -* or LGPL. If you do not delete the provisions above, a recipient may use -* your version of this file under the terms of any one of the MPL, the GPL -* or the LGPL. -* ***** END LICENSE BLOCK ***** */ - -//Implementation of frame classes in frame.h - -#include -#include -using namespace dirac; - -#include -#if defined(HAVE_MMX) -#include -#endif - -/////////////// -//---Frame---// -/////////////// - -Frame::Frame(const FrameParams& fp): - m_fparams(fp), - m_Y_data(0), - m_U_data(0), - m_V_data(0), - m_upY_data(0), - m_upU_data(0), - m_upV_data(0), - m_redo_upYdata(false), - m_redo_upUdata(false), - m_redo_upVdata(false) -{ - Init(); -} - -Frame::Frame( const Frame& cpy ): - m_fparams(cpy.m_fparams), - m_Y_data(0), - m_U_data(0), - m_V_data(0), - m_upY_data(0), - m_upU_data(0), - m_upV_data(0), - m_redo_upYdata(cpy.m_redo_upYdata), - m_redo_upUdata(cpy.m_redo_upUdata), - m_redo_upVdata(cpy.m_redo_upVdata) -{ - //const ChromaFormat& cformat = m_fparams.CFormat(); - - //delete data to be overwritten - ClearData(); - - //now copy the data accross - m_Y_data = new PicArray( *(cpy.m_Y_data) ); - if (cpy.m_upY_data != 0){ - m_upY_data = new PicArray( *(cpy.m_upY_data) ); - } - - m_U_data = new PicArray( *(cpy.m_U_data) ); - m_V_data = new PicArray( *(cpy.m_V_data) ); - - if ( cpy.m_upU_data != 0 ) - { - m_upU_data = new PicArray( *(cpy.m_upU_data) ); - } - if ( cpy.m_upV_data != 0 ) - { - m_upV_data = new PicArray( *(cpy.m_upV_data) ); - } -} - - -Frame::~Frame() -{ - ClearData(); -} - -Frame& Frame::operator=(const Frame& rhs) -{ - if ( &rhs != this) - { - m_fparams=rhs.m_fparams; - m_redo_upYdata = rhs.m_redo_upYdata; - m_redo_upUdata = rhs.m_redo_upUdata; - m_redo_upVdata = rhs.m_redo_upVdata; - //const ChromaFormat& cformat=m_fparams.CFormat(); - - // Delete current data - ClearData(); - - // Copy the data across - m_Y_data = new PicArray( *(rhs.m_Y_data) ); - - if (rhs.m_upY_data != 0) - m_upY_data = new PicArray( *(rhs.m_upY_data) ); - - m_U_data = new PicArray( *(rhs.m_U_data) ); - if ( rhs.m_upU_data != 0 ) - m_upU_data = new PicArray( *(rhs.m_upU_data) ); - - m_V_data = new PicArray( *(rhs.m_V_data) ); - if ( rhs.m_upV_data != 0 ) - m_upV_data = new PicArray( *(rhs.m_upV_data) ); - } - - return *this; - -} - -void Frame::CopyContents(Frame& out) const -{ - if ( &out != this) - { - out.m_redo_upYdata = true; - out.m_redo_upUdata = true; - out.m_redo_upVdata = true; - m_Y_data->CopyContents(*(out.m_Y_data)); - m_U_data->CopyContents(*(out.m_U_data)); - m_V_data->CopyContents(*(out.m_V_data)); - } -} - -void Frame::Fill(ValueType val) -{ - m_redo_upYdata = true; - m_redo_upUdata = true; - m_redo_upVdata = true; - m_Y_data->Fill(val); - m_U_data->Fill(val); - m_V_data->Fill(val); -} - -//Other functions - -void Frame::Init() -{ - //const ChromaFormat cformat=m_fparams.CFormat(); - - //first delete data if we need to - ClearData(); - - m_Y_data=new PicArray( m_fparams.DwtYl() , m_fparams.DwtXl()); - m_Y_data->SetCSort( Y_COMP ); - - m_U_data = new PicArray( m_fparams.DwtChromaYl() , - m_fparams.DwtChromaXl() ); - m_U_data->SetCSort( U_COMP ); - - m_V_data = new PicArray( m_fparams.DwtChromaYl() , - m_fparams.DwtChromaXl() ); - m_V_data->SetCSort( V_COMP ); -} - -PicArray& Frame::Data(CompSort cs) -{//another way to access the data - - if (cs == U_COMP) return *m_U_data; - else if (cs == V_COMP) return *m_V_data; - else return *m_Y_data; -} - -const PicArray& Frame::Data(CompSort cs) const -{//another way to access the data - - if (cs == U_COMP) return *m_U_data; - else if (cs == V_COMP) return *m_V_data; - else return *m_Y_data; -} - -PicArray& Frame::UpYdata() -{ - if (m_upY_data != 0 && m_redo_upYdata == false) - return *m_upY_data; - else - {//we have to do the upconversion - - if (m_upY_data == 0) - m_upY_data = new PicArray( 2*m_Y_data->LengthY(), - 2*m_Y_data->LengthX() ); - UpConverter myupconv(-(1 << (m_fparams.LumaDepth()-1)), - (1 << (m_fparams.LumaDepth()-1))-1, - m_fparams.OrigXl(), m_fparams.OrigYl()); - myupconv.DoUpConverter( *m_Y_data , *m_upY_data ); - - m_redo_upYdata = false; - return *m_upY_data; - - } -} - -PicArray& Frame::UpUdata() -{ - if (m_upU_data != 0 && m_redo_upUdata == false) - return *m_upU_data; - else - {//we have to do the upconversion - - if (m_upU_data ==0) - m_upU_data = new PicArray(2*m_U_data->LengthY() , - 2*m_U_data->LengthX()); - UpConverter myupconv(-(1 << (m_fparams.ChromaDepth()-1)), - (1 << (m_fparams.ChromaDepth()-1))-1, - m_fparams.OrigChromaXl(), - m_fparams.OrigChromaYl()); - - myupconv.DoUpConverter( *m_U_data , *m_upU_data ); - m_redo_upUdata = false; - return *m_upU_data; - - } -} - -PicArray& Frame::UpVdata() -{ - if (m_upV_data != 0 && m_redo_upVdata == false) - return *m_upV_data; - else - {//we have to do the upconversion - - if (m_upV_data ==0) - m_upV_data = new PicArray( 2*m_V_data->LengthY(), - 2*m_V_data->LengthX() ); - UpConverter myupconv(-(1 << (m_fparams.ChromaDepth()-1)), - (1 << (m_fparams.ChromaDepth()-1))-1, - m_fparams.OrigChromaXl(), - m_fparams.OrigChromaYl()); - myupconv.DoUpConverter( *m_V_data , *m_upV_data ); - m_redo_upVdata = false; - - return *m_upV_data; - - } -} - -PicArray& Frame::UpData(CompSort cs) -{ - if (cs == U_COMP) - return UpUdata(); - else if (cs == V_COMP) - return UpVdata(); - else - return UpYdata(); -} - -const PicArray& Frame::UpYdata() const -{ - if (m_upY_data != 0 && m_redo_upYdata == false) - return *m_upY_data; - else - { - //We have to do the upconversion - //Although we're changing a value - the pointer to the array - it doesn't affect the state of - //the object as viewable from outside. So the pointers to the upconveted data have been - //declared mutable. - - if (m_upY_data == 0) - m_upY_data = new PicArray( 2*m_Y_data->LengthY(), - 2*m_Y_data->LengthX() ); - - UpConverter myupconv(-(1 << (m_fparams.LumaDepth()-1)), - (1 << (m_fparams.LumaDepth()-1))-1, - m_fparams.OrigXl(), m_fparams.OrigYl()); - myupconv.DoUpConverter( *m_Y_data , *m_upY_data ); - - m_redo_upYdata = false; - return *m_upY_data; - - } -} - -const PicArray& Frame::UpUdata() const -{ - if (m_upU_data != 0 && m_redo_upUdata == false) - return *m_upU_data; - else - { - //We have to do the upconversion - //Although we're changing a value - the pointer to the array - it doesn't affect the state of - //the object as viewable from outside. So the pointers to the upconveted data have been - //declared mutable. - - if (m_upU_data == 0) - m_upU_data = new PicArray( 2*m_U_data->LengthY(), - 2*m_U_data->LengthX() ); - - UpConverter myupconv(-(1 << (m_fparams.ChromaDepth()-1)), - (1 << (m_fparams.ChromaDepth()-1))-1, - m_fparams.OrigChromaXl(), - m_fparams.OrigChromaYl()); - myupconv.DoUpConverter( *m_U_data , *m_upU_data ); - m_redo_upUdata = false; - - return *m_upU_data; - - } -} - -const PicArray& Frame::UpVdata() const -{ - if (m_upV_data != 0 && m_redo_upVdata == false) - return *m_upV_data; - else - { - //We have to do the upconversion - //Although we're changing a value - the pointer to the array - it doesn't affect the state of - //the object as viewable from outside. So the pointers to the upconveted data have been - //declared mutable. - - if (m_upV_data == 0) - m_upV_data = new PicArray( 2*m_V_data->LengthY() , - 2*m_V_data->LengthX() ); - - UpConverter myupconv(-(1 << (m_fparams.ChromaDepth()-1)), - (1 << (m_fparams.ChromaDepth()-1))-1, - m_fparams.OrigChromaXl(), - m_fparams.OrigChromaYl()); - myupconv.DoUpConverter( *m_V_data , *m_upV_data ); - m_redo_upVdata = false; - - return *m_upV_data; - - } -} - -const PicArray& Frame::UpData(CompSort cs) const -{ - if (cs == U_COMP) - return UpUdata(); - else if (cs == V_COMP) - return UpVdata(); - else - return UpYdata(); -} - -void Frame::ClipComponent(PicArray& pic_data, CompSort cs) const -{ - ValueType *pic = &(pic_data[pic_data.FirstY()][pic_data.FirstX()]); - int count = pic_data.LengthY() * pic_data.LengthX(); - - ValueType min_val; - ValueType max_val; - - min_val = (cs == Y_COMP) ? - -(1 << (m_fparams.LumaDepth()-1) ) : - -(1 << (m_fparams.ChromaDepth()-1) ); - - max_val = (cs == Y_COMP) ? - (1 << (m_fparams.LumaDepth()-1) )-1 : - (1 << (m_fparams.ChromaDepth()-1) )-1; - -#if defined (HAVE_MMX) - { - int qcount = count >> 2; - count = count & 3; - - //__m64 pack_usmax = _mm_set_pi16 (0xffff, 0xffff, 0xffff, 0xffff); - //__m64 pack_smin = _mm_set_pi16 (0x8000, 0x8000, 0x8000, 0x8000); - __m64 pack_usmax = _mm_set_pi16 (-1, -1, -1, -1); - __m64 pack_smin = _mm_set_pi16 (-32768, -32768, -32768, -32768); - __m64 high_val = _mm_set_pi16 (max_val, max_val, max_val, max_val); - __m64 lo_val = _mm_set_pi16 (min_val, min_val, min_val, min_val); - - __m64 clip_max = _mm_add_pi16 (pack_smin, high_val); - __m64 clip_min = _mm_add_pi16 (pack_smin, lo_val); - - __m64 tmp1 = _mm_subs_pu16 ( pack_usmax, clip_max); - __m64 tmp2 = _mm_adds_pu16 ( clip_min, tmp1 ); - - while (qcount--) - { - ValueType *p1 = pic; - *(__m64 *)p1 = _mm_add_pi16 (pack_smin, *(__m64 *)p1); - *(__m64 *)p1 = _mm_adds_pu16 (*(__m64 *)p1, tmp1); - *(__m64 *)p1 = _mm_subs_pu16 (*(__m64 *)p1, tmp2); - *(__m64 *)p1 = _mm_add_pi16 (lo_val, *(__m64 *)p1); - pic += 4; - } - //Mop up remaining pixels - while( count-- ) - { - *pic = std::max( min_val, std::min( max_val , *pic ) - ); - pic++; - } - - _mm_empty(); - return; - } -#endif - - // NOTE: depending on a contigous chunk of memory being allocated - while (count--) - { - *pic = std::max( min_val, std::min( max_val, *pic )); - pic++; - } -} - -void Frame::Clip() -{ - //just clips the straight picture data, not the upconverted data - - ClipComponent( *m_Y_data, Y_COMP ); - - ClipComponent( *m_U_data, U_COMP ); - ClipComponent( *m_V_data, V_COMP ); -} - -void Frame::ClipUpData() -{ - //just clips the upconverted data - - if (m_upY_data) - ClipComponent( *m_upY_data, Y_COMP ); - - if (m_upU_data) - ClipComponent( *m_upU_data, U_COMP ); - - if (m_upV_data) - ClipComponent( *m_upV_data, V_COMP ); -} - -void Frame::ClearData() -{ - if (m_Y_data != 0) - { - delete m_Y_data; - m_Y_data = 0; - } - - if (m_U_data!=0) - { - delete m_U_data; - m_U_data = 0; - } - - if (m_V_data!=0) - { - delete m_V_data; - m_V_data = 0; - } - - if (m_upY_data != 0) - { - delete m_upY_data; - m_upY_data = 0; - } - - if (m_upU_data!=0) - { - delete m_upU_data; - m_upU_data = 0; - } - - if (m_upV_data != 0) - { - delete m_upV_data; - m_upV_data = 0; - } -} - -void Frame::ReconfigFrame(const FrameParams &fp ) -{ - - FrameParams old_fp = m_fparams; - m_fparams = fp; - m_redo_upYdata = m_redo_upUdata = m_redo_upVdata = true; - - // HAve frame dimensions or Chroma format changed ? - if (m_fparams.DwtXl() == old_fp.DwtXl() && - m_fparams.DwtYl() == old_fp.DwtYl() && - m_fparams.CFormat() == old_fp.CFormat()) - return; - - // Frame dimensions have changed. Re-initialise - Init(); -} diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/frame.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/frame.h --- dirac-0.9.1/libdirac_common/frame.h 2007-09-03 12:30:29.000000000 +0100 +++ dirac-1.0.2/libdirac_common/frame.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,186 +0,0 @@ -/* ***** BEGIN LICENSE BLOCK ***** -* -* $Id: frame.h,v 1.13 2007/09/03 11:30:29 asuraparaju Exp $ $Name: Dirac_0_9_1 $ -* -* Version: MPL 1.1/GPL 2.0/LGPL 2.1 -* -* The contents of this file are subject to the Mozilla Public License -* Version 1.1 (the "License"); you may not use this file except in compliance -* with the License. You may obtain a copy of the License at -* http://www.mozilla.org/MPL/ -* -* Software distributed under the License is distributed on an "AS IS" basis, -* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for -* the specific language governing rights and limitations under the License. -* -* The Original Code is BBC Research and Development code. -* -* The Initial Developer of the Original Code is the British Broadcasting -* Corporation. -* Portions created by the Initial Developer are Copyright (C) 2004. -* All Rights Reserved. -* -* Contributor(s): Thomas Davies (Original Author) -* -* Alternatively, the contents of this file may be used under the terms of -* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser -* Public License Version 2.1 (the "LGPL"), in which case the provisions of -* the GPL or the LGPL are applicable instead of those above. If you wish to -* allow use of your version of this file only under the terms of the either -* the GPL or LGPL and not to allow others to use your version of this file -* under the MPL, indicate your decision by deleting the provisions above -* and replace them with the notice and other provisions required by the GPL -* or LGPL. If you do not delete the provisions above, a recipient may use -* your version of this file under the terms of any one of the MPL, the GPL -* or the LGPL. -* ***** END LICENSE BLOCK ***** */ - -#ifndef _FRAME_H_ -#define _FRAME_H_ - -#include - -namespace dirac -{ - //! A class for encapsulating all the data relating to a frame. - /*! - A class for encapsulating all the data relating to a frame - all the - component data, including upconverted data. - */ - class Frame - { - - public: - - //! Constructor - /*! - Constructor initialises the frame parameters and the data - */ - Frame( const FrameParams& fp ); - - //! Copy constructor. Private as not currently used [may want to implement reference counting later.] - Frame(const Frame& cpy); - - //! Destructor - virtual ~Frame(); - - //! Assignment =. Private as not currently used [may want to implement reference counting later.] - Frame& operator=( const Frame& rhs ); - - //! Frame Copy - /*! - Copy contents of frame into the output frame passed to it - retaining the frame dimensions of the output frame. - */ - void CopyContents(Frame& out ) const; - - //! Frame Fill - /*! - Initialise contents of frame with value provided - */ - void Fill(ValueType val ); - - //gets and sets - //! Gets the frame parameters - FrameParams& GetFparams() const {return m_fparams;} - - //! Sets the frame sort - void SetFrameSort( const FrameSort fs ){m_fparams.SetFSort( fs ); } - - //! Sets the frame type - void SetFrameType( const FrameType ftype ){m_fparams.SetFrameType( ftype ); } - - //! Sets the frame type - void SetReferenceType( const ReferenceType rtype ){m_fparams.SetReferenceType( rtype ); } - - //! Reconfigures the the framend to the new parameters. - void ReconfigFrame( const FrameParams &fp ); - - //! Returns the luma data array - PicArray& Ydata() {return *m_Y_data;} - - //! Returns the U component - PicArray& Udata() {return *m_U_data;} - - //! Returns the V component - PicArray& Vdata() {return *m_V_data;} - - //! Returns the luma data array - const PicArray& Ydata() const {return *m_Y_data;} - - //! Returns the U component - const PicArray& Udata() const {return *m_U_data;} - - //! Returns the V component - const PicArray& Vdata() const {return *m_V_data;} - - //! Returns a given component - PicArray& Data(CompSort cs); - - //! Returns a given component - const PicArray& Data(CompSort cs) const; - - //! Returns upconverted Y data - PicArray& UpYdata(); - - //! Returns upconverted U data - PicArray& UpUdata(); - - //! Returns upconverted V data - PicArray& UpVdata(); - - //! Returns a given upconverted component - PicArray& UpData(CompSort cs); - - //! Returns upconverted Y data - const PicArray& UpYdata() const; - - //! Returns upconverted U data - const PicArray& UpUdata() const; - - //! Returns upconverted V data - const PicArray& UpVdata() const; - - //! Returns a given upconverted component - const PicArray& UpData(CompSort cs) const; - - //! Clip the data to prevent overshoot - /*! - Clips the data to lie between 0 and (1< #endif #include -#include +#include using namespace dirac; using std::vector; -#define NUM_USED_BLKS(w,sep,len) ((w+sep-(len-sep)/2-1)/sep) +#define NUM_USED_BLKS(w,sep,len) ((w+sep+(len-sep)/2-1)/sep) //--public member functions--// /////////////////////////////// -// Convenience function to perform motion compensation on a frame -// Static function that motion compensates a frame. It uses the -// MV precision value in the CodecParams to instantiate the +// Convenience function to perform motion compensation on a picture +// Static function that motion compensates a picture. It uses the +// MV precision value in the PicturePredParams to instantiate the // appropriate MotionCompensation sub-class. -void MotionCompensator::CompensateFrame(const CodecParams &cp, +void MotionCompensator::CompensatePicture(const PicturePredParams &ppp, const AddOrSub direction , - FrameBuffer& buffer , - const int fnum, - const MvData& mv_data ) + const MvData& mv_data, + Picture* in_pic , + Picture* refsptr[2]) { - switch (cp.MVPrecision()) + switch (ppp.MVPrecision()) { case MV_PRECISION_EIGHTH_PIXEL: { - MotionCompensator_EighthPixel my_comp(cp); - my_comp.CompensateFrame( direction , buffer , fnum , mv_data); + MotionCompensator_EighthPixel my_comp(ppp); + my_comp.CompensatePicture( direction , mv_data, in_pic, refsptr); break; } case MV_PRECISION_HALF_PIXEL: { - MotionCompensator_HalfPixel my_comp(cp); - my_comp.CompensateFrame( direction , buffer , fnum , mv_data); + MotionCompensator_HalfPixel my_comp(ppp); + my_comp.CompensatePicture( direction , mv_data, in_pic, refsptr); break; } case MV_PRECISION_PIXEL: { - MotionCompensator_Pixel my_comp(cp); - my_comp.CompensateFrame( direction , buffer , fnum , mv_data); + MotionCompensator_Pixel my_comp(ppp); + my_comp.CompensatePicture( direction , mv_data, in_pic, refsptr); break; } case MV_PRECISION_QUARTER_PIXEL: default: { - MotionCompensator_QuarterPixel my_comp(cp); - my_comp.CompensateFrame( direction , buffer , fnum , mv_data); + MotionCompensator_QuarterPixel my_comp(ppp); + my_comp.CompensatePicture( direction , mv_data, in_pic, refsptr); break; } } @@ -102,9 +102,9 @@ // Initialises the lookup tables that is needed for motion // motion compensation. Creates the necessary arithmetic objects and // calls ReConfig to create weighting blocks to fit the values within -// m_cparams. -MotionCompensator::MotionCompensator( const CodecParams &cp ): - m_cparams(cp), +// m_predparams. +MotionCompensator::MotionCompensator( const PicturePredParams &ppp ): + m_predparams(ppp), luma_or_chroma(true) { // Allocate for block weights @@ -127,71 +127,61 @@ delete[] m_sub_block_weights; } -//Called to perform motion compensated addition/subtraction on an entire frame. -void MotionCompensator::CompensateFrame( const AddOrSub direction , - FrameBuffer& my_buffer , - int fnum , - const MvData& mv_data) +//Called to perform motion compensated addition/subtraction on an entire picture. +void MotionCompensator::CompensatePicture( const AddOrSub direction , + const MvData& mv_data, + Picture* my_picture , + Picture* refsptr[2]) { m_add_or_sub = direction; - int ref1_idx,ref2_idx; - Frame& my_frame=my_buffer.GetFrame(fnum); - const FrameSort& fsort=my_frame.GetFparams().FSort(); + const PictureSort& psort=my_picture->GetPparams().PicSort(); - m_cformat = my_frame.GetFparams().CFormat(); + m_cformat = my_picture->GetPparams().CFormat(); - if (fsort.IsInter()) + if (psort.IsInter()) {//we can motion compensate - const std::vector& refs=my_frame.GetFparams().Refs(); - if (refs.size()>0) + const std::vector& refs=my_picture->GetPparams().Refs(); + + // Now check that references are marked correctly + if ( !refsptr[0]->GetPparams().PicSort().IsRef() ) + { + std::cout<GetPparams().PictureNum() != refs[0] ) { - //extract the references - ref1_idx = refs[0]; - if ( refs.size()>1 ) - ref2_idx = refs[1]; - else - ref2_idx = refs[0]; + std::cout<GetPparams().PictureNum()<<" and "; + std::cout< 0 ? my_buffer.GetFrame(ref2_idx) : ref1frame; - // Now check that references are marked correctly - if ( !ref1frame.GetFparams().FSort().IsRef() ) - { - std::cout<1 ) + { + if ( !refsptr[1]->GetPparams().PicSort().IsRef() ) { - std::cout<1 ) + if ( refsptr[1]->GetPparams().PictureNum() != refs[1]) { - if ( !ref2frame.GetFparams().FSort().IsRef() ) - { - std::cout<GetPparams().PictureNum()<<" and "; + std::cout<>1; int mb_xlen = m_bparams.Xblen()*blocks_per_mb_row - (m_bparams.Xblen()-m_bparams.Xbsep())*(blocks_per_mb_row-1); int mb_ylen = m_bparams.Yblen(); @@ -233,7 +223,7 @@ } // Firstly calculate the non-weighted Weighting blocks. i,e, assuming that - // the frame_weight for each reference frame is 1. + // the picture_weight for each reference picture is 1. // Calculate non-weighted Block Weights CalculateWeights( m_bparams.Xbsep(), m_bparams.Ybsep(), m_block_weights ); @@ -245,19 +235,18 @@ CalculateWeights( sb_xsep, sb_ysep , m_sub_block_weights ); } -void MotionCompensator::CompensateComponent( Frame& picframe , - const Frame &ref1frame , - const Frame& ref2frame , - const MvData& mv_data , - const CompSort cs) +void MotionCompensator::CompensateComponent( Picture* pic , + Picture* refsptr[2] , + const MvData& mv_data , + const CompSort cs ) { // Set up references to pictures and references - PicArray& pic_data_out = picframe.Data( cs ); + PicArray& pic_data_out = pic->Data( cs ); - // Size of frame component being motion compensated + // Size of picture component being motion compensated - const PicArray& ref1up = ref1frame.UpData( cs ); - const PicArray& ref2up = ref2frame.UpData( cs ); + const PicArray& ref1up = refsptr[0]->UpData( cs ); + const PicArray& ref2up = refsptr[1]->UpData( cs ); // Set up a row of blocks which will contain the MC data, which // we'll add or subtract to pic_data_out @@ -280,11 +269,11 @@ } } - ImageCoords orig_pic_size(picframe.GetFparams().OrigXl(), picframe.GetFparams().OrigYl()); + ImageCoords pic_size(pic->GetPparams().Xl(), pic->GetPparams().Yl()); if ( cs != Y_COMP ) { - orig_pic_size.x = picframe.GetFparams().OrigChromaXl(); - orig_pic_size.y = picframe.GetFparams().OrigChromaYl(); + pic_size.x = pic->GetPparams().ChromaXl(); + pic_size.y = pic->GetPparams().ChromaYl(); } @@ -292,7 +281,7 @@ const TwoDArray& dcarray = mv_data.DC( cs ); // Set up references to the vectors - const int num_refs = picframe.GetFparams().Refs().size(); + const int num_refs = pic->GetPparams().Refs().size(); const MvArray* mv_array1; const MvArray* mv_array2; mv_array1 = &mv_data.Vectors(1); @@ -318,17 +307,19 @@ int save_from_row = m_bparams.Ybsep()-m_bparams.Yoffset(); // unpadded picture dimensions - const int x_end_data = pic_data_out.FirstX() + std::min(pic_data_out.LengthX(), orig_pic_size.x ); - const int y_end_data = pic_data_out.FirstY() + std::min(pic_data_out.LengthY(), orig_pic_size.y ); + const int x_end_data = pic_data_out.FirstX() + std::min(pic_data_out.LengthX(), pic_size.x ); + const int y_end_data = pic_data_out.FirstY() + std::min(pic_data_out.LengthY(), pic_size.y ); - const int blocks_per_mb_row = m_cparams.XNumBlocks()/m_cparams.XNumMB(); + const int blocks_per_mb_row = m_predparams.XNumBlocks()/m_predparams.XNumSB(); const int blocks_per_sb_row = blocks_per_mb_row>>1; // The picture does not contain integral number of blocks. So not all // blocks need to be processed. Compute the relevant blocks to be - // processed using the original picturesize and not the padded pic size - int y_num_blocks = NUM_USED_BLKS(orig_pic_size.y,m_bparams.Ybsep(),m_bparams.Yblen()); - int x_num_blocks = NUM_USED_BLKS(orig_pic_size.x,m_bparams.Xbsep(),m_bparams.Xblen()); + // processed + int y_num_blocks = std::min((NUM_USED_BLKS(pic_size.y,m_bparams.Ybsep(),m_bparams.Yblen())), + m_predparams.YNumBlocks()); + int x_num_blocks = std::min((NUM_USED_BLKS(pic_size.x,m_bparams.Xbsep(),m_bparams.Xblen())), + m_predparams.XNumBlocks()); //Loop over all the block rows pos.y = -m_bparams.Yoffset(); @@ -339,31 +330,31 @@ //loop over all the blocks in a row for(int xblock = 0 ; xblock < x_num_blocks; xblock+=xb_incr) { - int split_mode = mv_data.MBSplit()[yblock/blocks_per_mb_row][xblock/blocks_per_mb_row]; + int split_mode = mv_data.SBSplit()[yblock/blocks_per_mb_row][xblock/blocks_per_mb_row]; - int blk_len_x, blk_len_y = m_bparams.Yblen(); + int blk_x, blk_y = 1; switch (split_mode) { case 0: // processing superblock - blk_len_x = blocks_per_mb_row * m_bparams.Xblen(); + blk_x = blocks_per_mb_row; break; case 1: // processing sub-superblock - blk_len_x = blocks_per_sb_row * m_bparams.Xblen(); + blk_x = blocks_per_sb_row; break; case 2: // processing block default: - blk_len_x = m_bparams.Xblen(); + blk_x = 1; break; } //Decide which weights to use. - if (pos.x >=0 && (pos.x+blk_len_x) < orig_pic_size.x) + if (pos.x >=0 && (xblock+blk_x) < x_num_blocks) { // block is entirely within picture in x direction if (pos.y < 0) wgt_idx = 1; - else if ((pos.y+blk_len_y) < orig_pic_size.y) + else if ((yblock+blk_y) < y_num_blocks) wgt_idx = 4; else wgt_idx = 7; @@ -373,7 +364,7 @@ // left edge of block is outside picture in x direction if (pos.y < 0) wgt_idx = 0; - else if ((pos.y+blk_len_y) < orig_pic_size.y) + else if ((yblock+blk_y) < y_num_blocks) wgt_idx = 3; else wgt_idx = 6; @@ -383,7 +374,7 @@ // right edge of block is outside picture in x direction if (pos.y < 0) wgt_idx = 2; - else if ((pos.y+blk_len_y) < orig_pic_size.y) + else if ((yblock+blk_y) < y_num_blocks) wgt_idx = 5; else wgt_idx = 8; @@ -419,7 +410,7 @@ mv2.x >>= xscale_shift; mv2.y >>= yscale_shift; - CompensateBlock(pic_data, pos, orig_pic_size, block_mode, dcarray[yblock][xblock], ref1up, mv1, ref2up, mv2, *wt); + CompensateBlock(pic_data, pos, pic_size, block_mode, dcarray[yblock][xblock], ref1up, mv1, ref2up, mv2, *wt); //Increment the block horizontal position pos.x += xincr; @@ -458,7 +449,7 @@ // for all the picture lines in the block row. Need only do this when we're // subtracting. - for (int j=orig_pic_size.x; j orig_pic_size.y) - end_y = orig_pic_size.y; + if (end_y > pic_size.y) + end_y = pic_size.y; } #if defined (HAVE_MMX) - CompensateComponentAddAndShift_mmx (start_y, end_y, 6, orig_pic_size, + CompensateComponentAddAndShift_mmx (start_y, end_y, 6, pic_size, pic_data, pic_data_out); #else for ( int i = start_y, pic_y = 0; i < end_y; i++, pic_y++) @@ -483,14 +474,14 @@ ValueType *pic_row = pic_data[pic_y]; ValueType *out_row = pic_data_out[i]; - for ( int j =0; j < orig_pic_size.x; j++) + for ( int j =0; j < pic_size.x; j++) { out_row[j] += static_cast( (pic_row[j] + 32) >> 6 ); } // Pad the remaining pixels of the row with last truepic pixel val - for ( int j = orig_pic_size.x; j < pic_data.LengthX(); j++) + for ( int j = pic_size.x; j < pic_data.LengthX(); j++) { - out_row[j] = out_row[orig_pic_size.x-1]; + out_row[j] = out_row[pic_size.x-1]; } } #endif @@ -510,7 +501,7 @@ { // Finally, now we've done all the blocks, we must set all padded lines // below the last row equal to 0, if we're subtracting - for ( int y=orig_pic_size.y ; y &pic_data , const ImageCoords& pos , - const ImageCoords& orig_pic_size , + const ImageCoords& pic_size , PredMode block_mode, ValueType dc, const PicArray &ref1up_data , @@ -552,8 +543,8 @@ { //Coordinates in the image being written to. const ImageCoords start_pos( std::max(pos.x,0) , std::max(pos.y,0) ); - const ImageCoords end_pos( std::min( pos.x + wt_array.LengthX() , orig_pic_size.x ) , - std::min( pos.y + wt_array.LengthY() , orig_pic_size.y ) ); + const ImageCoords end_pos( std::min( pos.x + wt_array.LengthX() , pic_size.x ) , + std::min( pos.y + wt_array.LengthY() , pic_size.y ) ); // Check if we are within original picture bounds if (start_pos.x >= end_pos.x || start_pos.y >= end_pos.y) @@ -564,16 +555,16 @@ if(block_mode == REF1_ONLY) { - BlockPixelPred(val1, pos, orig_pic_size, ref1up_data, mv1); + BlockPixelPred(val1, pos, pic_size, ref1up_data, mv1); } else if (block_mode == REF2_ONLY) { - BlockPixelPred(val1, pos, orig_pic_size, ref2up_data, mv2); + BlockPixelPred(val1, pos, pic_size, ref2up_data, mv2); } else if(block_mode == REF1AND2) { - BlockPixelPred(val1, pos, orig_pic_size, ref1up_data, mv1); - BlockPixelPred(val2, pos, orig_pic_size, ref2up_data, mv2); + BlockPixelPred(val1, pos, pic_size, ref1up_data, mv1); + BlockPixelPred(val2, pos, pic_size, ref2up_data, mv2); } else {//we have a DC block. @@ -626,10 +617,10 @@ if (block_mode == INTRA) return; - if (m_cparams.CustomRefWeights()) + if (m_predparams.CustomRefWeights()) { int ref_wt_prec_bias = 1; - for (int i = m_cparams.FrameWeightsBits()-1; i > 0; --i) + for (int i = m_predparams.PictureWeightsBits()-1; i > 0; --i) { ref_wt_prec_bias <<= 1; } @@ -639,8 +630,8 @@ { for (int x = 0; x < val1_block.LengthX(); ++x) { - val1_block[y][x] *= (m_cparams.Ref1Weight() + - m_cparams.Ref2Weight()); + val1_block[y][x] *= (m_predparams.Ref1Weight() + + m_predparams.Ref2Weight()); } } } @@ -650,8 +641,8 @@ { for (int x = 0; x < val1_block.LengthX(); ++x) { - val1_block[y][x] *= m_cparams.Ref1Weight(); - val2_block[y][x] *= m_cparams.Ref2Weight(); + val1_block[y][x] *= m_predparams.Ref1Weight(); + val2_block[y][x] *= m_predparams.Ref2Weight(); val1_block[y][x] += val2_block[y][x]; } } @@ -660,7 +651,7 @@ { for (int x = 0; x < val1_block.LengthX(); ++x) { - val1_block[y][x] = (val1_block[y][x] + ref_wt_prec_bias) >> m_cparams.FrameWeightsBits(); + val1_block[y][x] = (val1_block[y][x] + ref_wt_prec_bias) >> m_predparams.PictureWeightsBits(); } } } @@ -704,7 +695,7 @@ TwoDArray* wts_array) { // Firstly calculate the non-weighted Weighting blocks. i,e, assuming that - // the frame_weight for each reference frame is 1. + // the picture_weight for each reference picture is 1. // We can create all nine weighting blocks by calculating values // for four blocks and mirroring them to generate the others. CreateBlock( xbsep, ybsep, false , false , wts_array[0] ); @@ -839,14 +830,14 @@ // Motion Compesation class that provides pixel precision compensation -MotionCompensator_Pixel::MotionCompensator_Pixel( const CodecParams &cp ) : - MotionCompensator( cp ) +MotionCompensator_Pixel::MotionCompensator_Pixel( const PicturePredParams &ppp ) : + MotionCompensator( ppp ) {} void MotionCompensator_Pixel::BlockPixelPred( TwoDArray &block_data , const ImageCoords& pos, - const ImageCoords& orig_pic_size , + const ImageCoords& pic_size , const PicArray &refup_data , const MVector &mv) { @@ -860,8 +851,8 @@ //the reference image. const int refXlen = refup_data.LengthX(); //const int refYlen = refup_data.LengthY(); - const int trueRefXlen = (orig_pic_size.x << 1) - 1; - const int trueRefYlen = (orig_pic_size.y << 1) - 1; + const int trueRefXlen = (pic_size.x << 1) - 1; + const int trueRefYlen = (pic_size.y << 1) - 1; bool do_bounds_checking = false; //Check if there are going to be any problems copying the block from @@ -907,15 +898,15 @@ // Motion Compesation class that provides half-pixel precision compensation -MotionCompensator_HalfPixel::MotionCompensator_HalfPixel( const CodecParams &cp ) : - MotionCompensator( cp ) +MotionCompensator_HalfPixel::MotionCompensator_HalfPixel( const PicturePredParams &ppp ) : + MotionCompensator( ppp ) {} #if !defined (HAVE_MMX) -void MotionCompensator_HalfPixel::BlockPixelPred( +void MotionCompensator_HalfPixel::BlockPixelPred( TwoDArray &block_data , const ImageCoords& pos , - const ImageCoords& orig_pic_size , + const ImageCoords& pic_size , const PicArray &refup_data , const MVector &mv) { @@ -923,12 +914,12 @@ const ImageCoords start_pos( std::max(pos.x,0) , std::max(pos.y,0) ); const ImageCoords ref_start( ( start_pos.x<<1 ) + mv.x ,( start_pos.y<<1 ) + mv.y ); - //An additional stage to make sure the block to be copied does not fall + //An additional stage to make sure the block to be copied does not fall //outsidethe reference image. const int refXlen = refup_data.LengthX(); //const int refYlen = refup_data.LengthY(); - const int trueRefXlen = (orig_pic_size.x << 1) - 1; - const int trueRefYlen = (orig_pic_size.y << 1) - 1; + const int trueRefXlen = (pic_size.x << 1) - 1; + const int trueRefYlen = (pic_size.y << 1) - 1; bool do_bounds_checking = false; @@ -966,7 +957,7 @@ y &block_data , const ImageCoords& pos , - const ImageCoords& orig_pic_size , + const ImageCoords& pic_size , const PicArray &refup_data , const MVector &mv) { @@ -1004,8 +995,8 @@ //the reference image. const int refXlen = refup_data.LengthX(); //const int refYlen = refup_data.LengthY(); - const int trueRefXlen = (orig_pic_size.x<<1) - 1; - const int trueRefYlen = (orig_pic_size.y<<1) - 1; + const int trueRefXlen = (pic_size.x<<1) - 1; + const int trueRefYlen = (pic_size.y<<1) - 1; ValueType *block_curr = &block_data[0][0]; @@ -1101,14 +1092,14 @@ // Motion Compesation class that provides one eighth-pixel precision // compensation -MotionCompensator_EighthPixel::MotionCompensator_EighthPixel( const CodecParams &cp ) : - MotionCompensator( cp ) +MotionCompensator_EighthPixel::MotionCompensator_EighthPixel( const PicturePredParams &ppp ) : + MotionCompensator( ppp ) {} void MotionCompensator_EighthPixel::BlockPixelPred( TwoDArray &block_data , const ImageCoords& pos , - const ImageCoords& orig_pic_size , + const ImageCoords& pic_size , const PicArray &refup_data , const MVector &mv) { @@ -1134,8 +1125,8 @@ //the reference image. const int refXlen = refup_data.LengthX(); //const int refYlen = refup_data.LengthY(); - const int trueRefXlen = (orig_pic_size.x << 1) - 1; - const int trueRefYlen = (orig_pic_size.y << 1) - 1; + const int trueRefXlen = (pic_size.x << 1) - 1; + const int trueRefYlen = (pic_size.y << 1) - 1; bool do_bounds_checking = false; //Check if there are going to be any problems copying the block from diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/mot_comp.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/mot_comp.h --- dirac-0.9.1/libdirac_common/mot_comp.h 2008-01-09 10:50:23.000000000 +0000 +++ dirac-1.0.2/libdirac_common/mot_comp.h 2008-08-27 01:17:11.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: mot_comp.h,v 1.18 2008/01/09 10:50:23 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: mot_comp.h,v 1.22 2008/08/27 00:17:11 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -53,19 +53,18 @@ #include #include #include -#include +#include namespace dirac { - class FrameBuffer; - class Frame; + class PictureBuffer; + class Picture; - - //! Abstract Motion compensator class. + //! Abstract Motion compensator class. /*! - Motion compensator class, for doing motion compensation with two + Motion compensator class, for doing motion compensation with two references and overlapped blocks, using raised-cosine roll-off. - This is an abstract class. It must be sub-classed and the + This is an abstract class. It must be sub-classed and the BlockPixelPred must be defined in the sub-classes. */ class MotionCompensator @@ -76,40 +75,40 @@ /*! Constructor initialises using codec parameters. */ - MotionCompensator( const CodecParams &cp ); + MotionCompensator( const PicturePredParams &ppp ); //! Destructor virtual ~MotionCompensator(); - //! Convenience function to perform motion compensation on a frame + //! Convenience function to perform motion compensation on a picture /*! - Static function that motion compensates a frame. It uses the - MV precision value in the CodecParams to instantiate the + Static function that motion compensates a picture. It uses the + MV precision value in the PicturePredParams to instantiate the appropriate MotionCompensation sub-class. - \param cp Encoder/decoder parameters + \param ppp Picture prediction parameters \param direction whether we're subtracting or adding - \param buffer the FrameBuffer object containing the frame and the reference frames - \param fnum number of frame in the frame buffer to be compensated - ` \param mv_data the motion vector data + \param mv_data the motion vector data + \param in_pic Pointer to picture being motion compensated + \param refptr Array of pointers to reference pictures. */ - static void CompensateFrame ( const CodecParams &cp, - const AddOrSub direction , - FrameBuffer& buffer , - const int fnum, - const MvData& mv_data ); + static void CompensatePicture ( const PicturePredParams &ppp, + const AddOrSub direction , + const MvData& mv_data, + Picture* in_pic , + Picture* refptr[2]); - //! Compensate a frame + //! Compensate a picture /*! - Perform motion compensated addition/subtraction on a frame using + Perform motion compensated addition/subtraction on a picture using parameters \param direction whether we're subtracting or adding - \param fnum number of frame in the frame buffer to be compensated - \param my_buffer the FrameBuffer object containing the frame and the reference frames ` \param mv_data the motion vector data + \param in_pic Pointer to picture being motion compensated + \param refsptr Array of pointers to reference pictures. */ - void CompensateFrame( const AddOrSub direction , - FrameBuffer& my_buffer , - int fnum , - const MvData& mv_data ); + void CompensatePicture( const AddOrSub direction , + const MvData& mv_data, + Picture* in_pic , + Picture* refsptr[2] ); private: //private, body-less copy constructor: this class should not be copied @@ -120,9 +119,8 @@ //functions //! Motion-compensate a component - void CompensateComponent( Frame& picframe , - const Frame& ref1frame , - const Frame& ref2frame , + void CompensateComponent( Picture* pic , + Picture* refsptr[2] , const MvData& mv_data , const CompSort cs); //! Recalculate the weight matrix and store other key block related parameters. @@ -135,10 +133,10 @@ void CalculateWeights(int xbsep, int ybsep, TwoDArray* wt_array); //! Calculates a weighting block. - /*! - Params defines the block parameters so the relevant weighting - arrays can be created. FullX and FullY refer to whether the - weight should be adjusted for the edge of an image. eg. 1D + /*! + Params defines the block parameters so the relevant weighting + arrays can be created. FullX and FullY refer to whether the + weight should be adjusted for the edge of an image. eg. 1D Weighting shapes in x direction FullX true FullX false *** ******** @@ -154,23 +152,23 @@ //! Flips the values in an array in the y direction. void FlipY(const TwoDArray& Original, TwoDArray& Flipped); - virtual void CompensateBlock( TwoDArray& pic_data , - const ImageCoords& pos , + virtual void CompensateBlock( TwoDArray& pic_data , + const ImageCoords& pos , const ImageCoords &orig_pic_size, PredMode block_mode, ValueType dc, - const PicArray& ref1up_data , + const PicArray& ref1up_data , const MVector& mv1 , - const PicArray& ref2up_data , + const PicArray& ref2up_data , const MVector& mv2 , const TwoDArray& Weights ); //! Predict pixels in a block. Pure virtual. SubClasses need to define it - virtual void BlockPixelPred( TwoDArray& block_data , + virtual void BlockPixelPred( TwoDArray& block_data , const ImageCoords& pos, const ImageCoords &orig_pic_size, - const PicArray& refup_data , + const PicArray& refup_data , const MVector& mv) = 0; - + // Adjust the block value based on reference weights /* * Adjust the block value based on reference weights of each @@ -180,38 +178,38 @@ * mode is REF1AND2 * block_mode - Block prediction mode. * - * On return, val1_block will contain the weight reference weight + * On return, val1_block will contain the weight reference weight * adjusted block values */ - void AdjustBlockByRefWeights (TwoDArray& val1_block, - TwoDArray& val2_block, + void AdjustBlockByRefWeights (TwoDArray& val1_block, + TwoDArray& val2_block, PredMode block_mode); - + // Adjust the block value based spatial weighting matrix /* * Adjust the block value based on spatial weighting matrix * val_block - Predicted block - * pos - position of top lef corner of block in frame + * pos - position of top lef corner of block in picture * wt_array - spatial weighting matrix * - * On return, val_block will contain the spatial weight adjusted block + * On return, val_block will contain the spatial weight adjusted block * values */ void AdjustBlockBySpatialWeights (TwoDArray& val_block, const ImageCoords &pos, const TwoDArray &wt_array); protected: - //variables + //variables //! The codec parameters - CodecParams m_cparams; + PicturePredParams m_predparams; //! The chroma format ChromaFormat m_cformat; - bool luma_or_chroma; //true if we're doing luma, false if we're coding chroma - + bool luma_or_chroma; //true if we're doing luma, false if we're coding chroma + // A marker saying whether we're doing MC addition or subtraction - AddOrSub m_add_or_sub; + AddOrSub m_add_or_sub; // Block information OLBParams m_bparams; @@ -223,7 +221,7 @@ TwoDArray* m_sub_block_weights; }; - //! Pixel precision Motion compensator class. + //! Pixel precision Motion compensator class. class MotionCompensator_Pixel : public MotionCompensator { @@ -232,18 +230,18 @@ /*! Constructor initialises using codec parameters. */ - MotionCompensator_Pixel (const CodecParams &cp); + MotionCompensator_Pixel (const PicturePredParams &ppp); private: - //! Motion-compensate a block. - virtual void BlockPixelPred( TwoDArray& block_data , + //! Motion-compensate a block. + virtual void BlockPixelPred( TwoDArray& block_data , const ImageCoords& pos, const ImageCoords &orig_pic_size, - const PicArray& refup_data , + const PicArray& refup_data , const MVector& mv); }; - //! Half Pixel precision Motion compensator class. + //! Half Pixel precision Motion compensator class. class MotionCompensator_HalfPixel : public MotionCompensator { public: @@ -251,17 +249,17 @@ /*! Constructor initialises using codec parameters. */ - MotionCompensator_HalfPixel (const CodecParams &cp); + MotionCompensator_HalfPixel (const PicturePredParams &ppp); private: - //! Motion-compensate a block. - virtual void BlockPixelPred( TwoDArray& block_data , + //! Motion-compensate a block. + virtual void BlockPixelPred( TwoDArray& block_data , const ImageCoords& pos, const ImageCoords &orig_pic_size, - const PicArray& refup_data , + const PicArray& refup_data , const MVector& mv); }; - //! Quarter Pixel precision Motion compensator class. + //! Quarter Pixel precision Motion compensator class. class MotionCompensator_QuarterPixel : public MotionCompensator { public: @@ -269,17 +267,17 @@ /*! Constructor initialises using codec parameters. */ - MotionCompensator_QuarterPixel (const CodecParams &cp); + MotionCompensator_QuarterPixel (const PicturePredParams &ppp); private: - //! Motion-compensate a block. - virtual void BlockPixelPred( TwoDArray& block_data , + //! Motion-compensate a block. + virtual void BlockPixelPred( TwoDArray& block_data , const ImageCoords& pos, const ImageCoords &orig_pic_size, - const PicArray& refup_data , + const PicArray& refup_data , const MVector& mv); }; - //! Eighth Pixel precision Motion compensator class. + //! Eighth Pixel precision Motion compensator class. class MotionCompensator_EighthPixel : public MotionCompensator { public: @@ -287,13 +285,13 @@ /*! Constructor initialises using codec parameters. */ - MotionCompensator_EighthPixel (const CodecParams &cp); + MotionCompensator_EighthPixel (const PicturePredParams &ppp); private: - //! Motion-compensate a block. - virtual void BlockPixelPred( TwoDArray& block_data , + //! Motion-compensate a block. + virtual void BlockPixelPred( TwoDArray& block_data , const ImageCoords& pos, const ImageCoords &orig_pic_size, - const PicArray& refup_data , + const PicArray& refup_data , const MVector& mv); }; diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/mot_comp_mmx.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/mot_comp_mmx.cpp --- dirac-0.9.1/libdirac_common/mot_comp_mmx.cpp 2008-01-09 10:50:23.000000000 +0000 +++ dirac-1.0.2/libdirac_common/mot_comp_mmx.cpp 2008-01-09 10:50:23.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: mot_comp_mmx.cpp,v 1.9 2008/01/09 10:50:23 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: mot_comp_mmx.cpp,v 1.9 2008/01/09 10:50:23 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/mot_comp_mmx.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/mot_comp_mmx.h --- dirac-0.9.1/libdirac_common/mot_comp_mmx.h 2008-01-09 10:50:23.000000000 +0000 +++ dirac-1.0.2/libdirac_common/mot_comp_mmx.h 2008-01-09 10:50:23.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: mot_comp_mmx.h,v 1.4 2008/01/09 10:50:23 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: mot_comp_mmx.h,v 1.4 2008/01/09 10:50:23 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/motion.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/motion.cpp --- dirac-0.9.1/libdirac_common/motion.cpp 2007-07-30 19:40:01.000000000 +0100 +++ dirac-1.0.2/libdirac_common/motion.cpp 2008-10-01 02:26:47.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: motion.cpp,v 1.21 2007/07/30 18:40:01 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: motion.cpp,v 1.28 2008/10/01 01:26:47 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -52,28 +52,15 @@ //Motion vector and Motion Estimation structures// ////////////////////////////////////////////////// -MvData::MvData( const int xnumMB, const int ynumMB , - const int xnumblocks, const int ynumblocks , const int num_refs ): +MvData::MvData( const PicturePredParams& predparams , const int num_refs ): + m_predparams( predparams ), m_vectors( Range(1 , num_refs) ), m_gm_vectors( Range(1 , num_refs) ), - m_modes( ynumblocks , xnumblocks ), + m_modes( predparams.YNumBlocks() , predparams.XNumBlocks() ), m_dc( 3 ), - m_mb_split( ynumMB , xnumMB ), - m_gm_params( Range(1 , num_refs) ), - m_num_refs(num_refs) -{ - - InitMvData(); -} - -MvData::MvData( const int xnumMB , const int ynumMB , const int num_refs ): - m_vectors( Range(1 , num_refs) ), - m_gm_vectors( Range(1 , num_refs) ), - m_modes( 4*ynumMB , 4*xnumMB ), - m_dc( 3 ), - m_mb_split( ynumMB , xnumMB ), - m_gm_params( Range(1 , num_refs) ), - m_num_refs(num_refs) + m_sb_split( predparams.YNumSB() , predparams.XNumSB() ), + m_gm_params( Range(1 , num_refs) )//, +// m_num_refs(num_refs) { InitMvData(); } @@ -114,32 +101,17 @@ delete m_dc[i]; } - - -MEData::MEData(const int xnumMB , const int ynumMB , - const int xnumblocks , const int ynumblocks , const int num_refs ): - MvData( xnumMB , ynumMB , xnumblocks , ynumblocks , num_refs ), - m_pred_costs( Range( 1 , num_refs ) ), - m_intra_costs( ynumblocks , xnumblocks, 0 ), - m_bipred_costs( ynumblocks , xnumblocks ), - m_MB_costs( ynumMB , xnumMB ), - m_lambda_map( ynumblocks , xnumblocks ), - m_inliers( Range( 1 , num_refs ) ) -{ - InitMEData(); -} - -MEData::MEData( const int xnumMB , const int ynumMB , const int num_refs ): - MvData( xnumMB , ynumMB , num_refs ), +MEData::MEData(const PicturePredParams& predparams , const int num_refs ): + MvData( predparams , num_refs ), m_pred_costs( Range( 1 , num_refs ) ), - m_intra_costs( 4*ynumMB , 4*xnumMB, 0 ), - m_bipred_costs( 4*ynumMB , 4*xnumMB ), - m_MB_costs( ynumMB , xnumMB ), - m_lambda_map( 4*ynumMB , 4*xnumMB ), - m_inliers( Range( 1 , num_refs ) ) + m_intra_costs( predparams.YNumBlocks() , predparams.XNumBlocks(), 0 ), + m_bipred_costs( predparams.YNumBlocks() , predparams.XNumBlocks() ), + m_SB_costs( predparams.YNumSB() , predparams.XNumSB() ), + m_lambda_map( predparams.YNumBlocks() , predparams.XNumBlocks() ), + m_inliers( Range( 1 , num_refs ) ), + m_intra_block_ratio(0.0) { InitMEData(); - } void MEData::InitMEData() @@ -358,7 +330,6 @@ }// i }// j - } @@ -372,6 +343,35 @@ delete m_inliers[i]; } +void MEData::DropRef( const int rindex ){ + + if (rindex==2){} + else if (rindex==1){ + // Swap data for reference 1 and reference 2 + // so that reference 2 becomes the new reference 1 + + MvArray* ptr = m_vectors[1]; + m_vectors[1] = m_vectors[2]; + m_vectors[2] = ptr; + + ptr = m_gm_vectors[1]; + m_gm_vectors[1] = m_gm_vectors[2]; + m_gm_vectors[2] = ptr; + + OneDArray* ptr2 = m_gm_params[1]; + m_gm_params[1] = m_gm_params[2]; + m_gm_params[2] = ptr2; + + TwoDArray* ptr3 = m_pred_costs[1]; + m_pred_costs[1] = m_pred_costs[2]; + m_pred_costs[2] = ptr3; + + TwoDArray* ptr4 = m_inliers[1]; + m_inliers[1] = m_inliers[2]; + m_inliers[2] = ptr4; + } +} + namespace dirac { //! Overloaded operator<< for MvCostData @@ -416,8 +416,8 @@ stream.ignore(1000, '\n'); // input reference-independent information - stream >> me_data.MBSplit(); - stream >> me_data.MBCosts(); + stream >> me_data.SBSplit(); + stream >> me_data.SBCosts(); stream >> me_data.Mode(); stream >> me_data.IntraCosts(); @@ -452,8 +452,8 @@ ostream &operator<< (ostream & stream, MEData & me_data) { // output reference-independent information - stream << endl << endl << me_data.MBSplit(); - stream << endl << me_data.MBCosts(); + stream << endl << endl << me_data.SBSplit(); + stream << endl << me_data.SBCosts(); stream << endl << me_data.Mode(); stream << endl << me_data.IntraCosts() << endl; @@ -696,20 +696,24 @@ //! Return the mean of a set of signed integer values int GetSMean(std::vector& values) { + if (values.size()==0) + return 0; + int sum=0; - for (unsigned int I=0;I0 ) + for (unsigned int i=0;i=0 ) { sum+=(values.size()>>1); sum/=values.size(); } else { - sum = -sum; + int old_sum = sum; + sum -= values.size()*old_sum; sum+=(values.size()>>1); sum/=values.size(); - sum = -sum; + sum += old_sum; } return sum; diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/motion.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/motion.h --- dirac-0.9.1/libdirac_common/motion.h 2007-04-11 09:08:49.000000000 +0100 +++ dirac-1.0.2/libdirac_common/motion.h 2008-10-01 02:26:47.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: motion.h,v 1.21 2007/04/11 08:08:49 tjdwave Exp $ $Name: Dirac_0_9_1 $ +* $Id: motion.h,v 1.30 2008/10/01 01:26:47 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -222,27 +222,20 @@ //! Constructor /*! Constructor takes: - \param xnumMB the number of MBs horizontally - \param ynumMB the number of MBs vertically - \param xnumblocks the number of blocks horizontally - \param ynumblocks the number of blocks vertically - \param num_refs the number of references being used for the frame + \param predparams Picture prediction parameters + \param num_refs the number of references being used for the picture */ - MvData( const int xnumMB, const int ynumMB , - const int xnumblocks, const int ynumblocks , const int num_refs); - - //! Constructor - /*! - Constructor. Numbers of blocks derived from the number of MBs - \param xnumMB the number of MBs horizontally - \param ynumMB the number of MBs vertically - \param num_refs the number of references being used for the frame - */ - MvData( const int xnumMB, const int ynumMB , const int num_refs); + MvData( const PicturePredParams& predparams , const int num_refs); //! Destructor ~MvData(); + //! Return a reference to the local picture prediction params + PicturePredParams& GetPicPredParams(){return m_predparams;} + + //! Return a reference to the local picture prediction params + const PicturePredParams& GetPicPredParams() const{return m_predparams;} + //! Get the MVs for a reference MvArray& Vectors(const int ref_id){return *( m_vectors[ref_id] );} @@ -269,12 +262,12 @@ //! Get the block prediction modes const TwoDArray& Mode() const {return m_modes;} - - //! Get the MB split level - TwoDArray& MBSplit(){return m_mb_split;} - //! Get the MB split level - const TwoDArray& MBSplit() const{return m_mb_split;} + //! Get the SB split level + TwoDArray& SBSplit(){return m_sb_split;} + + //! Get the SB split level + const TwoDArray& SBSplit() const{return m_sb_split;} //! Get the global motion model parameters OneDArray& GlobalMotionParameters(const int ref_id) { return *( m_gm_params[ref_id] ); } @@ -282,10 +275,10 @@ //! Get the global motion model parameters const OneDArray& GlobalMotionParameters(const int ref_id) const { return *( m_gm_params[ref_id] ); } - //! Return the number of reference frames - const unsigned int NumRefs()const {return m_num_refs;} + protected: + // A local copy of the picture prediction parameters + PicturePredParams m_predparams; - private: // Initialises the arrays of data void InitMvData(); @@ -301,14 +294,14 @@ // The DC values OneDArray< TwoDArray* > m_dc; - // The MB split levels - TwoDArray m_mb_split; + // The SB split levels + TwoDArray m_sb_split; // Global motion model parameters OneDArray< OneDArray* > m_gm_params; - // Number of reference frames - const unsigned int m_num_refs; +// // Number of reference frames +// unsigned int m_num_refs; }; //! Class for all the motion estimation data @@ -324,26 +317,16 @@ //! Constructor /*! Constructor takes: - \param xnumMB the number of MBs horizontally - \param ynumMB the number of MBs vertically - \param xnumblocks the number of blocks horizontally - \param ynumblocks the number of blocks vertically - \param num_refs the number of references being used for the frame + \param predparams the picture prediction parameters + \param num_refs the number of references being used for the picture */ - MEData( const int xnumMB, const int ynumMB , - const int xnumblocks, const int ynumblocks , const int num_refs = 2); - - //! Constructor - /*! - Constructor. Numbers of blocks derived from the number of MBs - \param xnumMB the number of MBs horizontally - \param ynumMB the number of MBs vertically - \param num_refs the number of references being used for the frame - */ - MEData( const int xnumMB, const int ynumMB , const int num_refs = 2); + MEData( const PicturePredParams& predparams , const int num_refs = 2); //! Destructor ~MEData(); + + //! drop the data relating to one reference + void DropRef( int ref_index ); //! Get the block cost structures for each reference TwoDArray& PredCosts(const int ref_id){ return *( m_pred_costs[ref_id] ); } @@ -363,11 +346,17 @@ //! Get the bipred costs const TwoDArray& BiPredCosts() const { return m_bipred_costs; } - //! Get the MB costs - TwoDArray& MBCosts(){ return m_MB_costs; } + //! Get the SB costs + TwoDArray& SBCosts(){ return m_SB_costs; } + + //! Get the SB costs + const TwoDArray& SBCosts() const { return m_SB_costs; } - //! Get the MB costs - const TwoDArray& MBCosts() const { return m_MB_costs; } + //! Get the proportion of intra blocks + float IntraBlockRatio() const {return m_intra_block_ratio; } + + //! Set the intra block ratio + void SetIntraBlockRatio(const float r){ m_intra_block_ratio = r; } //! Set up the lambda map by detecting motion discontinuities void SetLambdaMap( const int num_refs , const float lambda ); @@ -407,7 +396,7 @@ TwoDArray m_bipred_costs; // The costs for each macroblock as a whole - TwoDArray m_MB_costs; + TwoDArray m_SB_costs; // A map of the lambda values to use TwoDArray m_lambda_map; @@ -415,6 +404,9 @@ // Global motion inliers OneDArray< TwoDArray* > m_inliers; + // Intra block ratio + float m_intra_block_ratio; + }; //motion estimation and coding stuff @@ -444,7 +436,7 @@ inline int Norm1(const MVector& mv){//L^1 norm of a motion vector return abs(mv.x)+abs(mv.y); } - + //! Return the mean of a set of unsigned integer values unsigned int GetUMean(std::vector& values); diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/mv_codec.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/mv_codec.cpp --- dirac-0.9.1/libdirac_common/mv_codec.cpp 2007-12-12 11:10:54.000000000 +0000 +++ dirac-1.0.2/libdirac_common/mv_codec.cpp 2008-10-01 02:26:47.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: mv_codec.cpp,v 1.32 2007/12/12 11:10:54 tjdwave Exp $ $Name: Dirac_0_9_1 $ +* $Id: mv_codec.cpp,v 1.35 2008/10/01 01:26:47 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -60,26 +60,26 @@ // Main code function void SplitModeCodec::DoWorkCode( MvData& in_data ) { - for (m_mb_yp = 0; m_mb_yp < in_data.MBSplit().LengthY(); ++m_mb_yp) + for (m_sb_yp = 0; m_sb_yp < in_data.SBSplit().LengthY(); ++m_sb_yp) { - for (m_mb_xp = 0; m_mb_xp < in_data.MBSplit().LengthX(); ++m_mb_xp) + for (m_sb_xp = 0; m_sb_xp < in_data.SBSplit().LengthX(); ++m_sb_xp) { CodeVal(in_data); - }//m_mb_xp - }//m_mb_yp + }//m_sb_xp + }//m_sb_yp } // Main decode function void SplitModeCodec::DoWorkDecode( MvData& out_data) { - for (m_mb_yp = 0; m_mb_yp < out_data.MBSplit().LengthY(); ++m_mb_yp) + for (m_sb_yp = 0; m_sb_yp < out_data.SBSplit().LengthY(); ++m_sb_yp) { - for (m_mb_xp = 0; m_mb_xp < out_data.MBSplit().LengthX(); ++m_mb_xp) + for (m_sb_xp = 0; m_sb_xp < out_data.SBSplit().LengthX(); ++m_sb_xp) { DecodeVal( out_data ); - }//m_mb_xp - }//m_mb_yp + }//m_sb_xp + }//m_sb_yp } //protected functions// @@ -100,18 +100,18 @@ std::vector < unsigned int > nbrs; - if (m_mb_xp > 0 && m_mb_yp > 0) + if (m_sb_xp > 0 && m_sb_yp > 0) { - nbrs.push_back( split_data[m_mb_yp-1][m_mb_xp] ); - nbrs.push_back( split_data[m_mb_yp-1][m_mb_xp-1] ); - nbrs.push_back( split_data[m_mb_yp][m_mb_xp-1] ); + nbrs.push_back( split_data[m_sb_yp-1][m_sb_xp] ); + nbrs.push_back( split_data[m_sb_yp-1][m_sb_xp-1] ); + nbrs.push_back( split_data[m_sb_yp][m_sb_xp-1] ); result = GetUMean(nbrs); } - else if (m_mb_xp > 0 && m_mb_yp == 0) - result = split_data[m_mb_yp][m_mb_xp-1]; - else if (m_mb_xp == 0 && m_mb_yp > 0) - result = split_data[m_mb_yp-1][m_mb_xp]; + else if (m_sb_xp > 0 && m_sb_yp == 0) + result = split_data[m_sb_yp][m_sb_xp-1]; + else if (m_sb_xp == 0 && m_sb_yp > 0) + result = split_data[m_sb_yp-1][m_sb_xp]; return result; } @@ -119,11 +119,11 @@ void SplitModeCodec::CodeVal(const MvData& in_data) { - int val = in_data.MBSplit()[m_mb_yp][m_mb_xp] - Prediction( in_data.MBSplit() ); + int val = in_data.SBSplit()[m_sb_yp][m_sb_xp] - Prediction( in_data.SBSplit() ); if (val < 0) val+=3; //produce prediction mod 3 - EncodeUInt(val, MB_SPLIT_BIN1_CTX, MB_SPLIT_BIN2_CTX); + EncodeUInt(val, SB_SPLIT_BIN1_CTX, SB_SPLIT_BIN2_CTX); } //decoding functions// @@ -133,9 +133,9 @@ void SplitModeCodec::DecodeVal(MvData& out_data) { - out_data.MBSplit()[m_mb_yp][m_mb_xp] = - (DecodeUInt(MB_SPLIT_BIN1_CTX, MB_SPLIT_BIN2_CTX) + - Prediction(out_data.MBSplit())) % 3; + out_data.SBSplit()[m_sb_yp][m_sb_xp] = + (DecodeUInt(SB_SPLIT_BIN1_CTX, SB_SPLIT_BIN2_CTX) + + Prediction(out_data.SBSplit())) % 3; } /******************************************************************************/ @@ -144,8 +144,10 @@ //////////////////// // Constructor PredModeCodec::PredModeCodec(ByteIO* p_byteio, - size_t number_of_contexts) - : ArithCodec (p_byteio,number_of_contexts) + size_t number_of_contexts, + int num_refs) + : ArithCodec (p_byteio,number_of_contexts), + m_num_refs(num_refs) {} @@ -160,26 +162,26 @@ int step,max; int split_depth; - for (m_mb_yp = 0, m_mb_tlb_y = 0; m_mb_yp < in_data.MBSplit().LengthY(); ++m_mb_yp, m_mb_tlb_y += 4) + for (m_sb_yp = 0, m_sb_tlb_y = 0; m_sb_yp < in_data.SBSplit().LengthY(); ++m_sb_yp, m_sb_tlb_y += 4) { - for (m_mb_xp = 0,m_mb_tlb_x = 0; m_mb_xp < in_data.MBSplit().LengthX(); ++m_mb_xp,m_mb_tlb_x += 4) + for (m_sb_xp = 0,m_sb_tlb_x = 0; m_sb_xp < in_data.SBSplit().LengthX(); ++m_sb_xp,m_sb_tlb_x += 4) { - split_depth = in_data.MBSplit()[m_mb_yp][m_mb_xp]; + split_depth = in_data.SBSplit()[m_sb_yp][m_sb_xp]; step = 4 >> (split_depth); max = (1 << split_depth); //now do all the block modes and mvs in the mb - for (m_b_yp = m_mb_tlb_y; m_b_yp < m_mb_tlb_y+4; m_b_yp += step) + for (m_b_yp = m_sb_tlb_y; m_b_yp < m_sb_tlb_y+4; m_b_yp += step) { - for (m_b_xp = m_mb_tlb_x; m_b_xp < m_mb_tlb_x+4; m_b_xp += step) + for (m_b_xp = m_sb_tlb_x; m_b_xp < m_sb_tlb_x+4; m_b_xp += step) { CodeVal(in_data); }//m_b_xp }//m_b_yp - }//m_mb_xp - }//m_mb_yp + }//m_sb_xp + }//m_sb_yp } // Main decode function @@ -190,11 +192,11 @@ int xstart,ystart; // Then the prediction mode - for (m_mb_yp = 0,m_mb_tlb_y = 0; m_mb_yp < out_data.MBSplit().LengthY(); ++m_mb_yp,m_mb_tlb_y += 4) + for (m_sb_yp = 0,m_sb_tlb_y = 0; m_sb_yp < out_data.SBSplit().LengthY(); ++m_sb_yp,m_sb_tlb_y += 4) { - for (m_mb_xp = 0,m_mb_tlb_x = 0; m_mb_xp < out_data.MBSplit().LengthX(); ++m_mb_xp,m_mb_tlb_x += 4) + for (m_sb_xp = 0,m_sb_tlb_x = 0; m_sb_xp < out_data.SBSplit().LengthX(); ++m_sb_xp,m_sb_tlb_x += 4) { - split_depth = out_data.MBSplit()[m_mb_yp][m_mb_xp]; + split_depth = out_data.SBSplit()[m_sb_yp][m_sb_xp]; step = 4 >> (split_depth); max = (1 << split_depth); @@ -203,12 +205,12 @@ { for (int i = 0; i < max; ++i) { - xstart = m_b_xp = m_mb_tlb_x + i * step; - ystart = m_b_yp = m_mb_tlb_y + j * step; + xstart = m_b_xp = m_sb_tlb_x + i * step; + ystart = m_b_yp = m_sb_tlb_y + j * step; DecodeVal(out_data); - // propagate throughout MB + // propagate throughout SB for (m_b_yp = ystart; m_b_yp < ystart+step; m_b_yp++) { for (m_b_xp = xstart; m_b_xp < xstart+step; m_b_xp++) @@ -219,8 +221,8 @@ }//i }//j - }//m_mb_xp - }//m_mb_yp + }//m_sb_xp + }//m_sb_yp } //protected functions// @@ -235,8 +237,7 @@ //prediction functions -unsigned int PredModeCodec::Prediction(const TwoDArray < PredMode > & preddata, - const unsigned int num_refs) const +unsigned int PredModeCodec::Prediction(const TwoDArray < PredMode > & preddata) const { unsigned int result = (unsigned int)(INTRA); unsigned int num_ref1_nbrs( 0 ); @@ -250,7 +251,7 @@ result = num_ref1_nbrs>>1; - if ( num_refs==2) + if ( m_num_refs==2) { num_ref2_nbrs += ((unsigned int)( preddata[m_b_yp-1][m_b_xp] ) ) & 2; num_ref2_nbrs += ((unsigned int)( preddata[m_b_yp-1][m_b_xp-1] ) ) & 2; @@ -260,9 +261,9 @@ } } else if (m_b_xp > 0 && m_b_yp == 0) - result = (unsigned int)( preddata[0][m_b_xp-1] ); + result = (unsigned int)( preddata[0][m_b_xp-1] ); else if (m_b_xp == 0 && m_b_yp > 0) - result = (unsigned int)( preddata[m_b_yp-1][0] ); + result = (unsigned int)( preddata[m_b_yp-1][0] ); return result; } @@ -271,14 +272,14 @@ { // Xor with the prediction so we predict whether REF1 is used or REF2 is // used, separately - unsigned int residue = in_data.Mode()[m_b_yp][m_b_xp] ^ - Prediction( in_data.Mode(), in_data.NumRefs() ); + unsigned int residue = in_data.Mode()[m_b_yp][m_b_xp] ^ + Prediction( in_data.Mode() ); // Code REF1 part of the prediction residue (ie the first bit) EncodeSymbol( residue & 1 , PMODE_BIT0_CTX ); // Code REF2 part of the prediction residue (ie the second bit) - if (in_data.NumRefs()==2) + if (m_num_refs==2) { EncodeSymbol( residue & 2 , PMODE_BIT1_CTX ); } @@ -293,21 +294,21 @@ // Xor with the prediction so we predict whether REF1 is used or REF2 is // used, separately unsigned int residue; - + // Decode REF1 part of the prediction residue (ie the first bit) bool bit; bit = DecodeSymbol( PMODE_BIT0_CTX ); residue = (unsigned int) bit; // Decode REF2 part of the prediction residue (ie the second bit) - if (out_data.NumRefs()==2) + if (m_num_refs==2) { bit = DecodeSymbol( PMODE_BIT1_CTX ); residue |= ( (unsigned int) bit ) << 1; } - out_data.Mode()[m_b_yp][m_b_xp] = - PredMode( Prediction (out_data.Mode() , out_data.NumRefs()) ^ residue ); + out_data.Mode()[m_b_yp][m_b_xp] = + PredMode( Prediction( out_data.Mode() ) ^ residue ); } /******************************************************************************/ @@ -315,41 +316,40 @@ //public functions// //////////////////// -// Constructor -VectorElementCodec::VectorElementCodec(ByteIO* p_byteio, +// Constructor +VectorElementCodec::VectorElementCodec(ByteIO* p_byteio, int ref_id, - MvElement horvert, + MvElement horvert, size_t number_of_contexts) : ArithCodec (p_byteio,number_of_contexts), m_ref(ref_id), m_hv(horvert) -{} +{} -void VectorElementCodec::InitContexts() -{ -} +void VectorElementCodec::InitContexts() +{} // Main code function void VectorElementCodec::DoWorkCode( MvData& in_data ) { - int step,max; - int split_depth; - - for (m_mb_yp = 0, m_mb_tlb_y = 0; m_mb_yp < in_data.MBSplit().LengthY(); ++m_mb_yp, m_mb_tlb_y += 4) + int step,max; + int split_depth; + + for (m_sb_yp = 0, m_sb_tlb_y = 0; m_sb_yp < in_data.SBSplit().LengthY(); ++m_sb_yp, m_sb_tlb_y += 4) { - for (m_mb_xp = 0,m_mb_tlb_x = 0; m_mb_xp < in_data.MBSplit().LengthX(); ++m_mb_xp,m_mb_tlb_x += 4) + for (m_sb_xp = 0,m_sb_tlb_x = 0; m_sb_xp < in_data.SBSplit().LengthX(); ++m_sb_xp,m_sb_tlb_x += 4) { - split_depth = in_data.MBSplit()[m_mb_yp][m_mb_xp]; + split_depth = in_data.SBSplit()[m_sb_yp][m_sb_xp]; - step = 4 >> (split_depth); + step = 4 >> (split_depth); max = (1 << split_depth); //now do all the block modes and mvs in the mb - for (m_b_yp = m_mb_tlb_y; m_b_yp < m_mb_tlb_y+4; m_b_yp += step) + for (m_b_yp = m_sb_tlb_y; m_b_yp < m_sb_tlb_y+4; m_b_yp += step) { - for (m_b_xp = m_mb_tlb_x; m_b_xp < m_mb_tlb_x+4; m_b_xp += step) + for (m_b_xp = m_sb_tlb_x; m_b_xp < m_sb_tlb_x+4; m_b_xp += step) { if ( in_data.Mode()[m_b_yp][m_b_xp] & m_ref ) { @@ -358,8 +358,8 @@ }//m_b_xp }//m_b_yp - }//m_mb_xp - }//m_mb_yp + }//m_sb_xp + }//m_sb_yp } // Main decode function @@ -369,11 +369,11 @@ int split_depth; int xstart,ystart; - for (m_mb_yp = 0,m_mb_tlb_y = 0; m_mb_yp < out_data.MBSplit().LengthY(); ++m_mb_yp,m_mb_tlb_y += 4) + for (m_sb_yp = 0,m_sb_tlb_y = 0; m_sb_yp < out_data.SBSplit().LengthY(); ++m_sb_yp,m_sb_tlb_y += 4) { - for (m_mb_xp = 0,m_mb_tlb_x = 0; m_mb_xp < out_data.MBSplit().LengthX(); ++m_mb_xp,m_mb_tlb_x += 4) + for (m_sb_xp = 0,m_sb_tlb_x = 0; m_sb_xp < out_data.SBSplit().LengthX(); ++m_sb_xp,m_sb_tlb_x += 4) { - split_depth = out_data.MBSplit()[m_mb_yp][m_mb_xp]; + split_depth = out_data.SBSplit()[m_sb_yp][m_sb_xp]; step = 4 >> (split_depth); max = (1 << split_depth); @@ -382,15 +382,15 @@ { for (int i = 0; i < max; ++i) { - xstart = m_b_xp = m_mb_tlb_x + i * step; - ystart = m_b_yp = m_mb_tlb_y + j * step; + xstart = m_b_xp = m_sb_tlb_x + i * step; + ystart = m_b_yp = m_sb_tlb_y + j * step; if (out_data.Mode()[m_b_yp][m_b_xp] & m_ref) { DecodeVal( out_data ); } - // propagate throughout MB + // propagate throughout SB for (m_b_yp = ystart; m_b_yp < ystart+step; m_b_yp++) { for (m_b_xp = xstart; m_b_xp < xstart+step; m_b_xp++) @@ -403,8 +403,8 @@ }//i }//j - }//m_mb_xp - }//m_mb_yp + }//m_sb_xp + }//m_sb_yp } //protected functions// @@ -503,19 +503,19 @@ int step,max; int split_depth; - for (m_mb_yp = 0, m_mb_tlb_y = 0; m_mb_yp < in_data.MBSplit().LengthY(); ++m_mb_yp, m_mb_tlb_y += 4) + for (m_sb_yp = 0, m_sb_tlb_y = 0; m_sb_yp < in_data.SBSplit().LengthY(); ++m_sb_yp, m_sb_tlb_y += 4) { - for (m_mb_xp = 0,m_mb_tlb_x = 0; m_mb_xp < in_data.MBSplit().LengthX(); ++m_mb_xp,m_mb_tlb_x += 4) + for (m_sb_xp = 0,m_sb_tlb_x = 0; m_sb_xp < in_data.SBSplit().LengthX(); ++m_sb_xp,m_sb_tlb_x += 4) { - split_depth = in_data.MBSplit()[m_mb_yp][m_mb_xp]; + split_depth = in_data.SBSplit()[m_sb_yp][m_sb_xp]; step = 4 >> (split_depth); max = (1 << split_depth); //now do all the block modes and mvs in the mb - for (m_b_yp = m_mb_tlb_y; m_b_yp < m_mb_tlb_y+4; m_b_yp += step) + for (m_b_yp = m_sb_tlb_y; m_b_yp < m_sb_tlb_y+4; m_b_yp += step) { - for (m_b_xp = m_mb_tlb_x; m_b_xp < m_mb_tlb_x+4; m_b_xp += step) + for (m_b_xp = m_sb_tlb_x; m_b_xp < m_sb_tlb_x+4; m_b_xp += step) { if(in_data.Mode()[m_b_yp][m_b_xp] == INTRA) { @@ -524,8 +524,8 @@ }//m_b_xp }//m_b_yp - }//m_mb_xp - }//m_mb_yp + }//m_sb_xp + }//m_sb_yp } // Main decode function @@ -535,12 +535,12 @@ int split_depth; int xstart,ystart; - for (m_mb_yp = 0,m_mb_tlb_y = 0; m_mb_yp < out_data.MBSplit().LengthY(); ++m_mb_yp,m_mb_tlb_y += 4) + for (m_sb_yp = 0,m_sb_tlb_y = 0; m_sb_yp < out_data.SBSplit().LengthY(); ++m_sb_yp,m_sb_tlb_y += 4) { - for (m_mb_xp = 0,m_mb_tlb_x = 0; m_mb_xp < out_data.MBSplit().LengthX(); ++m_mb_xp,m_mb_tlb_x += 4) + for (m_sb_xp = 0,m_sb_tlb_x = 0; m_sb_xp < out_data.SBSplit().LengthX(); ++m_sb_xp,m_sb_tlb_x += 4) { //start with split mode - split_depth = out_data.MBSplit()[m_mb_yp][m_mb_xp]; + split_depth = out_data.SBSplit()[m_sb_yp][m_sb_xp]; step = 4 >> (split_depth); max = (1 << split_depth); @@ -549,15 +549,15 @@ { for (int i = 0; i < max; ++i) { - xstart = m_b_xp = m_mb_tlb_x + i * step; - ystart = m_b_yp = m_mb_tlb_y + j * step; + xstart = m_b_xp = m_sb_tlb_x + i * step; + ystart = m_b_yp = m_sb_tlb_y + j * step; if(out_data.Mode()[m_b_yp][m_b_xp] == INTRA) { DecodeVal( out_data ); } - // propagate throughout MB + // propagate throughout SB for (m_b_yp = ystart; m_b_yp < ystart+step; m_b_yp++) { for (m_b_xp = xstart; m_b_xp < xstart+step; m_b_xp++) @@ -568,8 +568,8 @@ }//i }//j - }//m_mb_xp - }//m_mb_yp + }//m_sb_xp + }//m_sb_yp } @@ -588,7 +588,7 @@ ValueType DCCodec::Prediction(const TwoDArray < ValueType > & dcdata, const TwoDArray < PredMode > & preddata) const { - std::vector < unsigned int > nbrs; + std::vector < int > nbrs; PredMode pmode; ValueType result = 0; @@ -596,18 +596,18 @@ { pmode = preddata[m_b_yp-1][m_b_xp]; if (pmode == INTRA) - nbrs.push_back( (unsigned int) dcdata[m_b_yp-1][m_b_xp] ); + nbrs.push_back( (int) dcdata[m_b_yp-1][m_b_xp] ); pmode = preddata[m_b_yp-1][m_b_xp-1]; if (pmode == INTRA) - nbrs.push_back((unsigned int)dcdata[m_b_yp-1][m_b_xp-1] ); + nbrs.push_back((int)dcdata[m_b_yp-1][m_b_xp-1] ); pmode = preddata[m_b_yp][m_b_xp-1]; if (pmode == INTRA) - nbrs.push_back( (unsigned int) dcdata[m_b_yp][m_b_xp-1] ); + nbrs.push_back( (int) dcdata[m_b_yp][m_b_xp-1] ); if (nbrs.size() > 0) - result = ValueType(GetUMean(nbrs)); + result = ValueType(GetSMean(nbrs)); } else if (m_b_xp > 0 && m_b_yp == 0) { @@ -621,7 +621,6 @@ if (pmode == INTRA) result = dcdata[m_b_yp-1][0]; } - return result; } diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/mv_codec.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/mv_codec.h --- dirac-0.9.1/libdirac_common/mv_codec.h 2007-04-11 09:08:49.000000000 +0100 +++ dirac-1.0.2/libdirac_common/mv_codec.h 2008-10-01 02:26:47.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: mv_codec.h,v 1.22 2007/04/11 08:08:49 tjdwave Exp $ $Name: Dirac_0_9_1 $ +* $Id: mv_codec.h,v 1.25 2008/10/01 01:26:47 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -76,8 +76,8 @@ private: - // Position of current MB - int m_mb_xp, m_mb_yp; + // Position of current SB + int m_sb_xp, m_sb_yp; private: @@ -88,11 +88,11 @@ SplitModeCodec& operator=(const SplitModeCodec& rhs); // coding functions - // Code the MB splitting mode + // Code the SB splitting mode void CodeVal(const MvData& in_data); // decoding functions - // Decode the MB splitting mode + // Decode the SB splitting mode void DecodeVal( MvData& out_data); void DoWorkCode( MvData& in_data ); @@ -120,32 +120,33 @@ Creates a MvDataCodec object to encode MV data, based on parameters \param p_byteio Input/output for the encoded bits \param number_of_contexts the number of contexts used - */ - PredModeCodec(ByteIO* p_byteio, size_t number_of_contexts); - - + \param num_refs Number of references + */ + PredModeCodec(ByteIO* p_byteio, size_t number_of_contexts, const int num_refs); - //! Initialises the contexts + //! Initialises the contexts void InitContexts(); - + private: // Position of current block int m_b_xp, m_b_yp; - // Position of current MB - int m_mb_xp, m_mb_yp; - // Position of top-left block of current MB - int m_mb_tlb_x, m_mb_tlb_y; + // Position of current SB + int m_sb_xp, m_sb_yp; + // Position of top-left block of current SB + int m_sb_tlb_x, m_sb_tlb_y; + // Number of reference pictures + int m_num_refs; private: - // functions + // functions //! Private, bodyless copy constructor: class should not be copied PredModeCodec(const PredModeCodec& cpy); //! Private, bodyless copy operator=: class should not be assigned PredModeCodec& operator=(const PredModeCodec& rhs); - // coding functions + // coding functions // Code the block prediction mode void CodeVal(const MvData& in_data); @@ -156,12 +157,11 @@ void DoWorkCode( MvData& in_data ); void DoWorkDecode(MvData& out_data); - // Context stuff + // Context stuff void ResetAll(); //prediction stuff - unsigned int Prediction(const TwoDArray& preddata, - const unsigned int num_refs) const; + unsigned int Prediction(const TwoDArray& preddata) const; }; @@ -195,11 +195,11 @@ // Position of current block int m_b_xp, m_b_yp; - // Position of current MB - int m_mb_xp, m_mb_yp; + // Position of current SB + int m_sb_xp, m_sb_yp; - // Position of top-left block of current MB - int m_mb_tlb_x, m_mb_tlb_y; + // Position of top-left block of current SB + int m_sb_tlb_x, m_sb_tlb_y; // The identity of the reference (1 or 2) const int m_ref; @@ -262,10 +262,10 @@ const CompSort m_csort; // Position of current block int m_b_xp, m_b_yp; - // Position of current MB - int m_mb_xp, m_mb_yp; - // Position of top-left block of current MB - int m_mb_tlb_x, m_mb_tlb_y; + // Position of current SB + int m_sb_xp, m_sb_yp; + // Position of top-left block of current SB + int m_sb_tlb_x, m_sb_tlb_y; private: diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/pic_io.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/pic_io.cpp --- dirac-0.9.1/libdirac_common/pic_io.cpp 2007-09-26 13:18:43.000000000 +0100 +++ dirac-1.0.2/libdirac_common/pic_io.cpp 2008-06-19 11:17:17.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: pic_io.cpp,v 1.26 2007/09/26 12:18:43 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: pic_io.cpp,v 1.28 2008/06/19 10:17:17 tjdwave Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -44,7 +44,6 @@ using namespace dirac; /*************************************Output***********************************/ - StreamPicOutput::~StreamPicOutput() { } @@ -64,13 +63,13 @@ { } -bool StreamFrameOutput::WriteNextFrame( const Frame& myframe ) +bool StreamFrameOutput::WriteToNextFrame( const Picture& myframe ) { bool ret_val; - ret_val=WriteFrameComponent(myframe.Ydata() , Y_COMP ); - ret_val&=WriteFrameComponent( myframe.Udata() , U_COMP ); - ret_val&=WriteFrameComponent( myframe.Vdata() , V_COMP ); + ret_val=WriteFrameComponent(myframe.Data(Y_COMP), Y_COMP ); + ret_val&=WriteFrameComponent( myframe.Data(U_COMP), U_COMP ); + ret_val&=WriteFrameComponent( myframe.Data(V_COMP), V_COMP ); return ret_val; } @@ -137,13 +136,13 @@ delete [] m_frame_store; } -bool StreamFieldOutput::WriteNextFrame( const Frame& myframe ) +bool StreamFieldOutput::WriteToNextFrame( const Picture& myfield ) { bool ret_val; - ret_val=WriteFieldComponent(myframe.Ydata() , myframe.GetFparams().FrameNum(), Y_COMP ); - ret_val&=WriteFieldComponent(myframe.Udata() , myframe.GetFparams().FrameNum(), U_COMP ); - ret_val&=WriteFieldComponent(myframe.Vdata() , myframe.GetFparams().FrameNum(), V_COMP ); + ret_val=WriteFieldComponent(myfield.Data(Y_COMP) , myfield.GetPparams().PictureNum(), Y_COMP ); + ret_val&=WriteFieldComponent(myfield.Data(U_COMP) , myfield.GetPparams().PictureNum(), U_COMP ); + ret_val&=WriteFieldComponent(myfield.Data(V_COMP) , myfield.GetPparams().PictureNum(), V_COMP ); return ret_val; } @@ -300,6 +299,7 @@ delete m_op_pic_str; } + /**************************************Input***********************************/ @@ -343,39 +343,17 @@ m_ip_pic_ptr->seekg( num*num_bytes , std::ios::cur ); } -bool StreamFrameInput::ReadNextPicture(Frame& myframe) +bool StreamFrameInput::ReadNextPicture(Picture& myframe) { //return value. Failure if one of the components can't be read, //success otherwise/. bool ret_val; - ret_val=ReadFrameComponent( myframe.Ydata() , Y_COMP); - ret_val&=ReadFrameComponent(myframe.Udata() , U_COMP); - ret_val&=ReadFrameComponent(myframe.Vdata() , V_COMP); - - return ret_val; -} - -bool StreamFrameInput::ReadNextFrame(FrameBuffer& my_fbuf, int fnum) -{ - //return value. Failure if one of the components can't be read, - //success otherwise/. - - my_fbuf.SetFrameParams(fnum); - FrameParams& my_fp = my_fbuf.GetFParams(); - my_fbuf.PushFrame(my_fp.FrameNum()); - bool ret_val = false; - bool is_present; - - Frame &myframe1 = my_fbuf.GetFrame(my_fp.FrameNum(), is_present); + ret_val=ReadFrameComponent( myframe.Data(Y_COMP) , Y_COMP); + ret_val&=ReadFrameComponent(myframe.Data(U_COMP) , U_COMP); + ret_val&=ReadFrameComponent(myframe.Data(V_COMP) , V_COMP); - if (is_present) - { - ret_val=ReadFrameComponent( myframe1.Ydata(), Y_COMP); - ret_val&=ReadFrameComponent(myframe1.Udata(), U_COMP); - ret_val&=ReadFrameComponent(myframe1.Vdata(), V_COMP); - } return ret_val; } @@ -457,17 +435,19 @@ REPORTM (num && false, "StreamFieldInput::Skip - Reached unimplemented function"); } -bool StreamFieldInput::ReadNextPicture(Frame& myframe) +bool StreamFieldInput::ReadNextPicture(Picture& mypic) { + // FIXME: this method is BROKEN! + //return value. Failure if one of the components can't be read, //success otherwise/. bool ret_val; - bool is_field1 = (myframe.GetFparams().FrameNum()%2) == 0; - ret_val=ReadFieldComponent( is_field1, myframe.Ydata(), Y_COMP); - ret_val&=ReadFieldComponent(is_field1, myframe.Udata(), U_COMP); - ret_val&=ReadFieldComponent(is_field1, myframe.Vdata(), V_COMP); + bool is_field1 = ((mypic.GetPparams().PictureNum()%2) == 0); + ret_val=ReadFieldComponent( is_field1, mypic.Data(Y_COMP), Y_COMP); + ret_val&=ReadFieldComponent(is_field1, mypic.Data(U_COMP), U_COMP); + ret_val&=ReadFieldComponent(is_field1, mypic.Data(V_COMP), V_COMP); int picture_size = m_sparams.Xl()*m_sparams.Yl() + 2*m_sparams.ChromaWidth()*m_sparams.ChromaHeight(); @@ -481,27 +461,17 @@ return ret_val; } -bool StreamFieldInput::ReadNextFrame(FrameBuffer& my_fbuf, int fnum) +bool StreamFieldInput::ReadNextFrame(Picture& field1, Picture& field2) { //return value. Failure if one of the components can't be read, //success otherwise/. - my_fbuf.SetFrameParams(fnum); - FrameParams& my_fp = my_fbuf.GetFParams(); - my_fbuf.PushFrame(my_fp.FrameNum()); bool ret_val = false; - bool is_present; - Frame &myframe1 = my_fbuf.GetFrame(my_fp.FrameNum(), is_present); - if (is_present) - { - my_fbuf.SetFrameParams(fnum+1); - my_fbuf.PushFrame(my_fp.FrameNum()); - Frame &myframe2 = my_fbuf.GetFrame(my_fp.FrameNum(), is_present); - ret_val=ReadFieldComponent( myframe1.Ydata(), myframe2.Ydata(), Y_COMP); - ret_val&=ReadFieldComponent(myframe1.Udata(), myframe2.Udata(), U_COMP); - ret_val&=ReadFieldComponent(myframe1.Vdata(), myframe2.Vdata(), V_COMP); - } + ret_val=ReadFieldComponent( field1.Data(Y_COMP), field2.Data(Y_COMP), Y_COMP); + ret_val&=ReadFieldComponent(field1.Data(U_COMP), field2.Data(U_COMP), U_COMP); + ret_val&=ReadFieldComponent(field1.Data(V_COMP), field2.Data(V_COMP), V_COMP); + return ret_val; } @@ -645,13 +615,13 @@ return true; } -MemoryStreamInput::MemoryStreamInput(SourceParams& sparams, bool interlace) +MemoryStreamInput::MemoryStreamInput(SourceParams& sparams, bool field_input) { //picture input m_ip_pic_ptr = new std::istream(&m_membuf); - if (interlace) + if (field_input) m_inp_str = new StreamFieldInput(m_ip_pic_ptr, sparams); else m_inp_str = new StreamFrameInput(m_ip_pic_ptr, sparams); diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/pic_io.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/pic_io.h --- dirac-0.9.1/libdirac_common/pic_io.h 2007-09-26 13:23:31.000000000 +0100 +++ dirac-1.0.2/libdirac_common/pic_io.h 2008-06-19 11:17:17.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: pic_io.h,v 1.16 2007/09/26 12:23:31 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: pic_io.h,v 1.19 2008/06/19 10:17:17 tjdwave Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -47,11 +47,10 @@ #include #include -#include +#include namespace dirac { - class FrameBuffer; ////////////////////////////////////////// //--------------------------------------// @@ -90,8 +89,8 @@ //! virtual Destructor virtual ~StreamPicOutput(); - //! Write the next frame to the output - virtual bool WriteNextFrame(const Frame& myframe) = 0; + //! Write a picture to the next frame to be output + virtual bool WriteToNextFrame(const Picture& myframe) = 0; //! Get the source parameters SourceParams& GetSourceParams() {return m_sparams;} @@ -123,7 +122,7 @@ virtual ~StreamFrameOutput(); //! Write the next frame to the output - bool WriteNextFrame(const Frame& myframe); + bool WriteToNextFrame(const Picture& myframe); protected: //! Write a frame component to file @@ -148,8 +147,8 @@ //! virtual Destructor virtual ~StreamFieldOutput(); - //! Write the next frame to the output - bool WriteNextFrame(const Frame& myframe); + //! Write a field to the next frame to be output + bool WriteToNextFrame(const Picture& myfield); protected: //! Write a field component to file @@ -321,15 +320,7 @@ virtual void Skip( const int n)= 0; //! Read the next picture frame/field from the file - virtual bool ReadNextPicture(Frame& myframe) = 0; - - //! Read the next frame/two fields from the file - /*! - Read next frame/two fields into the frame buffer - \param my_fbuf Frame Buffer - \param fnum Frame/Field number - */ - virtual bool ReadNextFrame(FrameBuffer &my_fbuf, int fnum) = 0; + virtual bool ReadNextPicture(Picture& mypic) = 0; //! Get the source parameters SourceParams& GetSourceParams() const {return m_sparams;} @@ -367,16 +358,8 @@ //! Skip n frames of input virtual void Skip( const int n); - //! Read the next picture frame/field from the file - virtual bool ReadNextPicture(Frame& myframe); - - //! Read the next frame/two fields from the file - /*! - Read next frame/two fields into the frame buffer - \param my_fbuf Frame Buffer - \param fnum Frame/Field number - */ - virtual bool ReadNextFrame(FrameBuffer &my_fbuf, int fnum); + //! Read the next frame from the file + virtual bool ReadNextPicture(Picture& myframe); private: @@ -405,16 +388,11 @@ //! Skip n frames of input virtual void Skip( const int n); - //! Read the next picture frame/field from the file - virtual bool ReadNextPicture(Frame& myframe); + //! Read the next field from the file + virtual bool ReadNextPicture(Picture& myfield); - //! Read the next frame/two fields from the file - /*! - Read next frame/two fields into the frame buffer - \param my_fbuf Frame Buffer - \param fnum Frame/Field number - */ - virtual bool ReadNextFrame(FrameBuffer &my_fbuf, int fnum); + //! Read the next frame from the file + bool ReadNextFrame(Picture& field1, Picture& field2); protected: //! Read both Field components from the file @@ -435,9 +413,9 @@ //! Constructor /*! Create a MemoryStreamInput object \param sparams Source parameters - \param interlace Treat input as interlaced + \param field_input Treat input as fields, not frames */ - MemoryStreamInput(SourceParams& sparams, bool interlace); + MemoryStreamInput(SourceParams& sparams, bool field_input); //! Destructor ~MemoryStreamInput(); diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/picture_buffer.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/picture_buffer.cpp --- dirac-0.9.1/libdirac_common/picture_buffer.cpp 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/libdirac_common/picture_buffer.cpp 2008-06-19 11:07:03.000000000 +0100 @@ -0,0 +1,265 @@ +/* ***** BEGIN LICENSE BLOCK ***** +* +* $Id: picture_buffer.cpp,v 1.7 2008/06/19 10:07:03 tjdwave Exp $ $Name: Dirac_1_0_2 $ +* +* Version: MPL 1.1/GPL 2.0/LGPL 2.1 +* +* The contents of this file are subject to the Mozilla Public License +* Version 1.1 (the "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* http://www.mozilla.org/MPL/ +* +* Software distributed under the License is distributed on an "AS IS" basis, +* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for +* the specific language governing rights and limitations under the License. +* +* The Original Code is BBC Research and Development code. +* +* The Initial Developer of the Original Code is the British Broadcasting +* Corporation. +* Portions created by the Initial Developer are Copyright (C) 2004. +* All Rights Reserved. +* +* Contributor(s): Thomas Davies (Original Author), +* Scott R Ladd, +* Anuradha Suraparaju +* +* Alternatively, the contents of this file may be used under the terms of +* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser +* Public License Version 2.1 (the "LGPL"), in which case the provisions of +* the GPL or the LGPL are applicable instead of those above. If you wish to +* allow use of your version of this file only under the terms of the either +* the GPL or LGPL and not to allow others to use your version of this file +* under the MPL, indicate your decision by deleting the provisions above +* and replace them with the notice and other provisions required by the GPL +* or LGPL. If you do not delete the provisions above, a recipient may use +* your version of this file under the terms of any one of the MPL, the GPL +* or the LGPL. +* ***** END LICENSE BLOCK ***** */ + +#include +#include +using namespace dirac; + +//Simple constructor for decoder operation +PictureBuffer::PictureBuffer(){} + +//Copy constructor. Why anyone would need this I don't know. +PictureBuffer::PictureBuffer(const PictureBuffer& cpy) + { + // first delete all frames in the current buffer + for (size_t i=0 ; i::iterator it = m_pnum_map.find(pnum); + + unsigned int pos = 0; + if (it != m_pnum_map.end()) + pos = it->second; + + return *(m_pic_data[pos]); +} + +const Picture& PictureBuffer::GetPicture( const unsigned int pnum ) const +{ //as above, but const version + + std::map::const_iterator it = m_pnum_map.find(pnum); + + unsigned int pos=0; + if (it != m_pnum_map.end()) + pos = it->second; + + return *(m_pic_data[pos]); +} + +Picture& PictureBuffer::GetPicture( const unsigned int pnum, bool& is_present ) +{//get picture with a given picture number, NOT with a given position in the buffer. + //If the picture number does not occur, the first picture in the buffer is returned. + + std::map::iterator it = m_pnum_map.find(pnum); + + unsigned int pos = 0; + if (it != m_pnum_map.end()) + { + is_present = true; + pos = it->second; + } + else + is_present=false; + + return *(m_pic_data[pos]); +} + +const Picture& PictureBuffer::GetPicture( const unsigned int pnum, bool& is_present ) const +{ //as above, but const version + + std::map::const_iterator it = m_pnum_map.find(pnum); + + unsigned int pos=0; + if (it != m_pnum_map.end()) + { + is_present = true; + pos = it->second; + } + else + is_present=false; + + return *(m_pic_data[pos]); +} + +bool PictureBuffer::IsPictureAvail( const unsigned int pnum ) const +{ + + std::map::const_iterator it = m_pnum_map.find(pnum); + + if (it != m_pnum_map.end()) + return true; + else + return false; +} + +std::vector PictureBuffer::Members() const +{ + std::vector members( 0 ); + for (unsigned int i=0; iGetPparams(); + members.push_back( pparams.PictureNum() ); + }// i + + return members; +} + +void PictureBuffer::PushPicture( const PictureParams& pp ) +{// Put a new picture onto the top of the stack + + // if picture is present - return + if (IsPictureAvail(pp.PictureNum())) + return; + +// if ( pp.PicSort().IsRef() ) +// m_ref_count++; + + Picture* pptr = new Picture(pp); + // add the picture to the buffer + m_pic_data.push_back(pptr); + + // put the picture number into the index table + std::pair temp_pair(pp.PictureNum() , m_pic_data.size()-1 ); + m_pnum_map.insert(temp_pair); +} + +void PictureBuffer::CopyPicture( const Picture& picture ) +{ + PushPicture(picture.GetPparams()); + + bool is_present; + + Picture & p= GetPicture(picture.GetPparams().PictureNum(), is_present); + if(is_present) + p = picture; +} + +void PictureBuffer::ClearSlot(const unsigned int pos) +{ + // Clear a slot corresponding to position pos to take more data + + std::pair* tmp_pair; + + if (pos( m_pic_data[i]->GetPparams().PictureNum() , i); + m_pnum_map.insert(*tmp_pair); + delete tmp_pair; + }//i + } +} + + +void PictureBuffer::SetRetiredPictureNum(const int show_pnum, const int current_coded_pnum) +{ + if ( IsPictureAvail(current_coded_pnum)) + { + PictureParams &pparams = GetPicture(current_coded_pnum).GetPparams(); + pparams.SetRetiredPictureNum(-1); + for (size_t i=0 ; iGetPparams().PicSort().IsRef() ){ + if ( (m_pic_data[i]->GetPparams().PictureNum() + m_pic_data[i]->GetPparams().ExpiryTime() ) <= show_pnum){ + pparams.SetRetiredPictureNum(m_pic_data[i]->GetPparams().PictureNum()); + break; + } + } + }//i + } +} + +void PictureBuffer::Remove(const int pnum) +{ + for (size_t i=0 ; iGetPparams().PictureNum() == pnum) + ClearSlot(i); + }//i +} + diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/picture_buffer.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/picture_buffer.h --- dirac-0.9.1/libdirac_common/picture_buffer.h 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/libdirac_common/picture_buffer.h 2008-06-19 11:07:03.000000000 +0100 @@ -0,0 +1,198 @@ +/* ***** BEGIN LICENSE BLOCK ***** +* +* $Id: picture_buffer.h,v 1.4 2008/06/19 10:07:03 tjdwave Exp $ $Name: Dirac_1_0_2 $ +* +* Version: MPL 1.1/GPL 2.0/LGPL 2.1 +* +* The contents of this file are subject to the Mozilla Public License +* Version 1.1 (the "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* http://www.mozilla.org/MPL/ +* +* Software distributed under the License is distributed on an "AS IS" basis, +* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for +* the specific language governing rights and limitations under the License. +* +* The Original Code is BBC Research and Development code. +* +* The Initial Developer of the Original Code is the British Broadcasting +* Corporation. +* Portions created by the Initial Developer are Copyright (C) 2004. +* All Rights Reserved. +* +* Contributor(s): Thomas Davies (Original Author), +* Anuradha Suraparaju +* +* Alternatively, the contents of this file may be used under the terms of +* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser +* Public License Version 2.1 (the "LGPL"), in which case the provisions of +* the GPL or the LGPL are applicable instead of those above. If you wish to +* allow use of your version of this file only under the terms of the either +* the GPL or LGPL and not to allow others to use your version of this file +* under the MPL, indicate your decision by deleting the provisions above +* and replace them with the notice and other provisions required by the GPL +* or LGPL. If you do not delete the provisions above, a recipient may use +* your version of this file under the terms of any one of the MPL, the GPL +* or the LGPL. +* ***** END LICENSE BLOCK ***** */ + +#ifndef _PICTURE_BUFFER_H_ +#define _PICTURE_BUFFER_H_ + +#include +#include +#include +#include + +namespace dirac +{ + //! Holds pictures both for reference and to overcome reordering delay + /*! + The buffer holds pictures in a stack to overcome both reordering due to + bi-directional prediction and use as references for subsequence motion + estimation. Pictures, and components of pictures, can be accessed by their + picture numbers. GOP parameters can be included in the constructors so + that pictures can be given types (I picture, L1 picture or L2 picture) on + being pushed onto the stack; alternatively, these parameters can be + overridden. + */ + class PictureBuffer{ + public: + //! Default Constructor + PictureBuffer(); + + //! Constructor + /*! + Creates a PictureBuffer using the chroma format. Suitable for + compressing when there are no L2 pictures, or when the temporal + prediction structure is to be determined on the fly. + + \param cf the Chroma format of pictures in the buffer + \param xlen the luma width of pictures in the buffer + \param ylen the luma height of pictures in the buffer + \param luma_depth the video depth of the luma comp in the buffer + \param chroma_depth the video depth of the chroma comp in the buffer + \param using_ac True if using Arithmetic coding to code coefficient data + + */ + PictureBuffer(ChromaFormat cf, + const int xlen, + const int ylen, + const unsigned int luma_depth, + const unsigned int chroma_depth, + bool using_ac); + + //! Constructor + /*! + Creates a PictureBuffer using the chroma format, the number of L1 + pictures between I pictures and the separation in pictures between L1 + pictures. Suitable for compressing when there is a full GOP structure + or when the temporal prediction structure is to be determined on + the fly. + + \param cf the Chroma format of pictures in the buffer + \param numL1 the number of Layer 1 pictures before the next I picture. 0 means that there is only one I picture. + \param L1sep the number of Layer 2 pictures between Layer 1 pictures + \param xlen the luma width of pictures in the buffer + \param ylen the luma height of pictures in the buffer + \param luma_depth the video depth of the luma comp in the buffer + \param chroma_depth the video depth of the chroma comp in the buffer + \param interlace Set true if material is being coded in interlaced mode + \param using_ac True if using Arithmetic coding to code coefficient data + */ + PictureBuffer(ChromaFormat cf, + const int numL1, + const int L1sep, + const int xlen, + const int ylen, + const unsigned int luma_depth, + const unsigned int chroma_depth, + bool interlace, + bool using_ac); + + //! Copy constructor + /*! + Copy constructor. Removes the current contents of the pictureture buffer + and copies in the contents of the initialising buffer. + */ + PictureBuffer(const PictureBuffer& cpy); + + //! Operator=. + /*! + Operator=. Assigns all elements of the rhs to the lhs. + */ + PictureBuffer& operator=(const PictureBuffer& rhs); + + //! Destructor + ~PictureBuffer(); + + //! Get picture with a given picture number (NOT with a given position in the buffer) + Picture& GetPicture(const unsigned int pnum ); + + //! Get picture with a given picture number (NOT with a given position in the buffer) + const Picture& GetPicture(const unsigned int pnum) const; + + //! Get picture with a given picture number, setting a flag to true if it's there + Picture& GetPicture(const unsigned int pnum, bool& is_present); + + //! Get picture with a given picture number, setting a flag to true if it's there + const Picture& GetPicture(const unsigned int pnum, bool& is_present) const; + + //! Return true if picture with the particular picture number is available else return false + bool IsPictureAvail(const unsigned int pnum) const; + + //! Returns a list of member pictures + std::vector Members() const; + + //! Put a new picture into the top of the buffer + /*! + Put a new picture into the top of the buffer. Picture parameters + associated with the picture will be as given by the picture parameter + object. + */ + void PushPicture(const PictureParams& pp); + + //! Put a copy of a new picture into the buffer + /*! + Put a copy of a new picture into the buffer. + */ + void CopyPicture( const Picture& picture ); + + //! Sets the reference picture number that will be cleaned + /*! + Indicate which picture which has been output and which is no longer + required for reference. Expiry times are set in each picture's + picture parameters. + \param show_pnum picture number in display order that can be output + \param current_coded_pnum picture number in display order of picture currently being coded + */ + void SetRetiredPictureNum(const int show_pnum, const int current_coded_pnum); + + //! Delete picture + /*! + Delete picture. + \param pnum picture number in display order to be deleted from picture buffer + */ + void Remove(int pnum); + + private: + //! Clear internal data slot number pos + /*! + Clear internal data slot number pos + */ + void ClearSlot(const unsigned int pos); + +// //! the count of the number of reference pictures in the buffer +// int m_ref_count; + + //! the buffer storing all the values + std::vector m_pic_data; + + //!the map from picture numbers to position in the buffer + std::map m_pnum_map; + + }; + +} // namespace dirac + +#endif diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/picture.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/picture.cpp --- dirac-0.9.1/libdirac_common/picture.cpp 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/libdirac_common/picture.cpp 2008-08-14 01:51:08.000000000 +0100 @@ -0,0 +1,337 @@ +/* ***** BEGIN LICENSE BLOCK ***** +* +* $Id: picture.cpp,v 1.4 2008/08/14 00:51:08 asuraparaju Exp $ $Name: Dirac_1_0_2 $ +* +* Version: MPL 1.1/GPL 2.0/LGPL 2.1 +* +* The contents of this file are subject to the Mozilla Public License +* Version 1.1 (the "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* http://www.mozilla.org/MPL/ +* +* Software distributed under the License is distributed on an "AS IS" basis, +* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for +* the specific language governing rights and limitations under the License. +* +* The Original Code is BBC Research and Development code. +* +* The Initial Developer of the Original Code is the British Broadcasting +* Corporation. +* Portions created by the Initial Developer are Copyright (C) 2004. +* All Rights Reserved. +* +* Contributor(s): Thomas Davies (Original Author) +* +* Alternatively, the contents of this file may be used under the terms of +* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser +* Public License Version 2.1 (the "LGPL"), in which case the provisions of +* the GPL or the LGPL are applicable instead of those above. If you wish to +* allow use of your version of this file only under the terms of the either +* the GPL or LGPL and not to allow others to use your version of this file +* under the MPL, indicate your decision by deleting the provisions above +* and replace them with the notice and other provisions required by the GPL +* or LGPL. If you do not delete the provisions above, a recipient may use +* your version of this file under the terms of any one of the MPL, the GPL +* or the LGPL. +* ***** END LICENSE BLOCK ***** */ + +//Implementation of picture classes in picture.h + +#include +#include +using namespace dirac; + +#include +#if defined(HAVE_MMX) +#include +#endif + +/////////////// +//---Picture---// +/////////////// + +Picture::Picture(const PictureParams& pp): + m_pparams(pp) +{ + for (int c=0;c<3;++c){ + m_pic_data[c] = NULL; + m_up_pic_data[c] = NULL; + } + + Init(); +} + +Picture::Picture( const Picture& cpy ): + m_pparams(cpy.m_pparams) +{ + + //delete data to be overwritten + for (int c=0;c<3;++c){ + m_pic_data[c] = NULL; + m_up_pic_data[c] = NULL; + } + + //now copy the data across + for (int c=0; c<3; ++c ){ + m_pic_data[c] = new PicArray( *(cpy.m_pic_data[c]) ); + if (cpy.m_up_pic_data[c] != NULL) + m_up_pic_data[c] = new PicArray( *(cpy.m_up_pic_data[c]) ); + } + +} + + +Picture::~Picture() +{ + ClearData(); +} + +Picture& Picture::operator=(const Picture& rhs) +{ + if ( &rhs != this) + { + m_pparams=rhs.m_pparams; + + // Delete current data + ClearData(); + + // Copy the data across + for (int c=0; c<3; ++c ){ + m_pic_data[c] = new PicArray( *(rhs.m_pic_data[c]) ); + + if (rhs.m_up_pic_data[c] != NULL) + m_up_pic_data[c] = new PicArray( *(rhs.m_up_pic_data[c]) ); + } + } + + return *this; + +} + +void Picture::Fill(ValueType val) +{ + for (int c=0; c<3; ++c ){ + m_pic_data[c]->Fill(val); + if (m_up_pic_data[c] != NULL ) + delete m_up_pic_data[c]; + } +} + +//Other functions + +void Picture::Init() +{ + //const ChromaFormat cformat=m_pparams.CFormat(); + + //first delete data if we need to + ClearData(); + + m_pic_data[0]=new PicArray( m_pparams.Yl() , m_pparams.Xl()); + m_pic_data[0]->SetCSort( Y_COMP ); + + m_pic_data[1] = new PicArray( m_pparams.ChromaYl() , + m_pparams.ChromaXl() ); + m_pic_data[1]->SetCSort( U_COMP ); + + m_pic_data[2] = new PicArray( m_pparams.ChromaYl() , + m_pparams.ChromaXl() ); + m_pic_data[2]->SetCSort( V_COMP ); +} + +PicArray& Picture::UpData(CompSort cs) +{ + const int c = (int) cs; + + if (m_up_pic_data[c] != NULL ) + return *(m_up_pic_data[c]); + else + {//we have to do the upconversion + + m_up_pic_data[c] = new PicArray( 2*m_pic_data[c]->LengthY(), + 2*m_pic_data[c]->LengthX() ); + UpConverter* myupconv; + if (c>0) + myupconv = new UpConverter(-(1 << (m_pparams.ChromaDepth()-1)), + (1 << (m_pparams.ChromaDepth()-1))-1, + m_pparams.ChromaXl(), m_pparams.ChromaYl()); + else + myupconv = new UpConverter(-(1 << (m_pparams.LumaDepth()-1)), + (1 << (m_pparams.LumaDepth()-1))-1, + m_pparams.Xl(), m_pparams.Yl()); + + myupconv->DoUpConverter( *(m_pic_data[c]) , *(m_up_pic_data[c]) ); + + delete myupconv; + + return *(m_up_pic_data[c]); + + } +} + +const PicArray& Picture::UpData(CompSort cs) const +{ + const int c = (int) cs; + + if (m_up_pic_data[c] != NULL) + return *(m_up_pic_data[c]); + else + {//we have to do the upconversion + + m_up_pic_data[c] = new PicArray( 2*m_pic_data[c]->LengthY(), + 2*m_pic_data[c]->LengthX() ); + UpConverter* myupconv; + if (c>0) + myupconv = new UpConverter(-(1 << (m_pparams.ChromaDepth()-1)), + (1 << (m_pparams.ChromaDepth()-1))-1, + m_pparams.ChromaXl(), m_pparams.ChromaYl()); + else + myupconv = new UpConverter(-(1 << (m_pparams.LumaDepth()-1)), + (1 << (m_pparams.LumaDepth()-1))-1, + m_pparams.Xl(), m_pparams.Yl()); + + myupconv->DoUpConverter( *(m_pic_data[c]) , *(m_up_pic_data[c]) ); + + delete myupconv; + + return *(m_up_pic_data[c]); + + } +} + +void Picture::InitWltData( const int transform_depth ) +{ + + int xpad_len, ypad_len; + int tx_mul = 1<LengthX(); + ypad_len = m_pic_data[c]->LengthY(); + + if ( xpad_len%tx_mul != 0 ) + xpad_len = ( (xpad_len/tx_mul)+1 ) *tx_mul; + if ( ypad_len%tx_mul != 0 ) + ypad_len = ( (ypad_len/tx_mul)+1 ) * tx_mul; + + m_wlt_data[c].Resize( ypad_len, xpad_len ); + } + +} + +void Picture::ClipComponent(PicArray& pic_data, CompSort cs) const +{ + ValueType *pic = &(pic_data[pic_data.FirstY()][pic_data.FirstX()]); + int count = pic_data.LengthY() * pic_data.LengthX(); + + ValueType min_val; + ValueType max_val; + + min_val = (cs == Y_COMP) ? + -(1 << (m_pparams.LumaDepth()-1) ) : + -(1 << (m_pparams.ChromaDepth()-1) ); + + max_val = (cs == Y_COMP) ? + (1 << (m_pparams.LumaDepth()-1) )-1 : + (1 << (m_pparams.ChromaDepth()-1) )-1; + +#if defined (HAVE_MMX) + { + int qcount = count >> 2; + count = count & 3; + + //__m64 pack_usmax = _mm_set_pi16 (0xffff, 0xffff, 0xffff, 0xffff); + //__m64 pack_smin = _mm_set_pi16 (0x8000, 0x8000, 0x8000, 0x8000); + __m64 pack_usmax = _mm_set_pi16 (-1, -1, -1, -1); + __m64 pack_smin = _mm_set_pi16 (-32768, -32768, -32768, -32768); + __m64 high_val = _mm_set_pi16 (max_val, max_val, max_val, max_val); + __m64 lo_val = _mm_set_pi16 (min_val, min_val, min_val, min_val); + + __m64 clip_max = _mm_add_pi16 (pack_smin, high_val); + __m64 clip_min = _mm_add_pi16 (pack_smin, lo_val); + + __m64 tmp1 = _mm_subs_pu16 ( pack_usmax, clip_max); + __m64 tmp2 = _mm_adds_pu16 ( clip_min, tmp1 ); + + while (qcount--) + { + ValueType *p1 = pic; + *(__m64 *)p1 = _mm_add_pi16 (pack_smin, *(__m64 *)p1); + *(__m64 *)p1 = _mm_adds_pu16 (*(__m64 *)p1, tmp1); + *(__m64 *)p1 = _mm_subs_pu16 (*(__m64 *)p1, tmp2); + *(__m64 *)p1 = _mm_add_pi16 (lo_val, *(__m64 *)p1); + pic += 4; + } + //Mop up remaining pixels + while( count-- ) + { + *pic = std::max( min_val, std::min( max_val , *pic ) + ); + pic++; + } + + _mm_empty(); + return; + } +#endif + + // NOTE: depending on a contigous chunk of memory being allocated + while (count--) + { + *pic = std::max( min_val, std::min( max_val, *pic )); + pic++; + } +} + +void Picture::Clip() +{ + //just clips the straight picture data, not the upconverted data + + for (int c=0; c<3; ++c) + ClipComponent( *(m_pic_data[c]), (CompSort) c); +} + +void Picture::ClipUpData() +{ + //just clips the upconverted data + + for (int c=0; c<3; ++c){ + if (m_up_pic_data[c]) + ClipComponent( *(m_up_pic_data[c]), (CompSort) c ); + } + +} + +void Picture::ClearData() +{ + for (int c=0;c<3;++c){ + if (m_pic_data[c] != NULL){ + delete m_pic_data[c]; + m_pic_data[c] = NULL; + } + + if (m_up_pic_data[c] != NULL){ + delete m_up_pic_data[c]; + m_up_pic_data[c] = NULL; + } + } + +} + +void Picture::ReconfigPicture(const PictureParams &pp ) +{ + + PictureParams old_pp = m_pparams; + m_pparams = pp; + + // HAve picture dimensions or Chroma format changed ? + if (m_pparams.Xl() == old_pp.Xl() && + m_pparams.Yl() == old_pp.Yl() && + m_pparams.CFormat() == old_pp.CFormat()) + return; + + // Picture dimensions have changed. Re-initialise + Init(); +} + + + diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/picture.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/picture.h --- dirac-0.9.1/libdirac_common/picture.h 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/libdirac_common/picture.h 2008-08-14 01:51:08.000000000 +0100 @@ -0,0 +1,149 @@ +/* ***** BEGIN LICENSE BLOCK ***** +* +* $Id: picture.h,v 1.4 2008/08/14 00:51:08 asuraparaju Exp $ $Name: Dirac_1_0_2 $ +* +* Version: MPL 1.1/GPL 2.0/LGPL 2.1 +* +* The contents of this file are subject to the Mozilla Public License +* Version 1.1 (the "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* http://www.mozilla.org/MPL/ +* +* Software distributed under the License is distributed on an "AS IS" basis, +* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for +* the specific language governing rights and limitations under the License. +* +* The Original Code is BBC Research and Development code. +* +* The Initial Developer of the Original Code is the British Broadcasting +* Corporation. +* Portions created by the Initial Developer are Copyright (C) 2004. +* All Rights Reserved. +* +* Contributor(s): Thomas Davies (Original Author) +* +* Alternatively, the contents of this file may be used under the terms of +* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser +* Public License Version 2.1 (the "LGPL"), in which case the provisions of +* the GPL or the LGPL are applicable instead of those above. If you wish to +* allow use of your version of this file only under the terms of the either +* the GPL or LGPL and not to allow others to use your version of this file +* under the MPL, indicate your decision by deleting the provisions above +* and replace them with the notice and other provisions required by the GPL +* or LGPL. If you do not delete the provisions above, a recipient may use +* your version of this file under the terms of any one of the MPL, the GPL +* or the LGPL. +* ***** END LICENSE BLOCK ***** */ + +#ifndef _PICTURE_H_ +#define _PICTURE_H_ + +#include +#include + +namespace dirac +{ + //! A class for encapsulating all the data relating to a picture. + /*! + A class for encapsulating all the data relating to a picture - all the + component data, including upconverted data. + */ + class Picture + { + + public: + + //! Constructor + /*! + Constructor initialises the picture parameters and the data + */ + Picture( const PictureParams& pp ); + + //! Copy constructor. Private as not currently used [may want to implement reference counting later.] + Picture(const Picture& cpy); + + //! Destructor + virtual ~Picture(); + + //! Assignment =. Private as not currently used [may want to implement reference counting later.] + Picture& operator=( const Picture& rhs ); + + //! Picture Fill + /*! + Initialise contents of picture with value provided + */ + void Fill(ValueType val ); + + //gets and sets + //! Gets the picture parameters + PictureParams& GetPparams() const {return m_pparams;} + + //! Sets the picture sort + void SetPictureSort( const PictureSort ps ){m_pparams.SetPicSort( ps ); } + + //! Sets the picture type + void SetPictureType( const PictureType ftype ){m_pparams.SetPictureType( ftype ); } + + //! Sets the picture type + void SetReferenceType( const ReferenceType rtype ){m_pparams.SetReferenceType( rtype ); } + + //! Reconfigures to the new parameters. + void ReconfigPicture( const PictureParams &pp ); + + //! Returns a given component + PicArray& Data(CompSort cs){return *m_pic_data[(int) cs];} + + //! Returns a given component + const PicArray& Data(CompSort cs) const{return *m_pic_data[(int) cs];} + + //! Returns a given upconverted component + PicArray& UpData(CompSort cs); + + //! Returns a given upconverted component + const PicArray& UpData(CompSort cs) const; + + //! Returns the wavelet coefficient data + const CoeffArray& WltData( CompSort c ) const { return m_wlt_data[(int) c]; } + + //! Returns the wavelet coefficient data + CoeffArray& WltData( CompSort c ) { return m_wlt_data[(int) c]; } + + //! Initialises the wavelet coefficient data arrays; + void InitWltData( const int transform_depth ); + + //! Clip the data to prevent overshoot + /*! + Clips the data to lie between 0 and (1< 0 && num_refs < 3, "Number of reference frames should be 1 or 2 fo INTER frames" ); OLBParams bparams; - cparams.SetUsingGlobalMotion(false); + PicturePredParams& predparams = cparams.GetPicPredParams(); + predparams.SetUsingGlobalMotion(false); SetDefaultBlockParameters(bparams, cparams.GetVideoFormat()); - cparams.SetLumaBlockParams(bparams); - cparams.SetFieldCoding(false); - cparams.SetMVPrecision(MV_PRECISION_QUARTER_PIXEL); + predparams.SetLumaBlockParams(bparams); + predparams.SetMVPrecision(MV_PRECISION_HALF_PIXEL); // NOTE: FIXME - need to add global motion params here - cparams.SetFrameWeightsPrecision(1); - cparams.SetRef1Weight(1); - cparams.SetRef2Weight(1); + predparams.SetPictureWeightsPrecision(1); + predparams.SetRef1Weight(1); + predparams.SetRef2Weight(1); + cparams.SetPictureCodingMode(0); } } -void SetDefaultSourceParameters(const VideoFormat &vf, SourceParams& sparams) +void SetDefaultSourceParameters(const VideoFormat &vf, SourceParams& sparams) { std::ostringstream errstr; sparams.SetVideoFormat(vf); @@ -122,7 +127,7 @@ sparams.SetLeftOffset(0); sparams.SetTopOffset(0); sparams.SetColourSpecification(1); - + switch (vf) { case VIDEO_FORMAT_CUSTOM: @@ -283,13 +288,57 @@ sparams.SetSignalRange(SIGNAL_RANGE_12BIT_VIDEO); sparams.SetColourSpecification(4); break; - default: + case VIDEO_FORMAT_UHDTV_4K60: + case VIDEO_FORMAT_UHDTV_4K50: + sparams.SetXl(3840); + sparams.SetYl(2160); + sparams.SetCFormat(format422); + sparams.SetSourceSampling(0); + switch (vf) + { + case VIDEO_FORMAT_UHDTV_4K60: + sparams.SetFrameRate(FRAMERATE_59p94_FPS); + break; + case VIDEO_FORMAT_UHDTV_4K50: + sparams.SetFrameRate(FRAMERATE_50_FPS); + break; + default: + break; + } + sparams.SetSignalRange(SIGNAL_RANGE_10BIT_VIDEO); + sparams.SetCleanWidth(3840); + sparams.SetCleanHeight(2160); + sparams.SetColourSpecification(3); + break; + case VIDEO_FORMAT_UHDTV_8K60: + case VIDEO_FORMAT_UHDTV_8K50: + sparams.SetXl(7680); + sparams.SetYl(4320); + sparams.SetCFormat(format422); + sparams.SetSourceSampling(0); + switch (vf) + { + case VIDEO_FORMAT_UHDTV_8K60: + sparams.SetFrameRate(FRAMERATE_59p94_FPS); + break; + case VIDEO_FORMAT_UHDTV_8K50: + sparams.SetFrameRate(FRAMERATE_50_FPS); + break; + default: + break; + } + sparams.SetSignalRange(SIGNAL_RANGE_10BIT_VIDEO); + sparams.SetCleanWidth(7680); + sparams.SetCleanHeight(4320); + sparams.SetColourSpecification(3); + break; + default: errstr << "Unsupported video format " << sparams.GetVideoFormat() << std::endl; DIRAC_THROW_EXCEPTION( ERR_INVALID_VIDEO_FORMAT, errstr.str(), - SEVERITY_FRAME_ERROR); + SEVERITY_PICTURE_ERROR); break; } } @@ -297,8 +346,8 @@ void SetDefaultEncoderParameters(EncoderParams& encparams) { encparams.SetLossless(false); - encparams.SetQf(7.0f); - encparams.SetMVPrecision(MV_PRECISION_QUARTER_PIXEL); + encparams.SetQf(5.5f); + encparams.GetPicPredParams().SetMVPrecision(MV_PRECISION_HALF_PIXEL); encparams.SetUsingAC(true); switch (encparams.GetVideoFormat()) @@ -327,7 +376,14 @@ encparams.SetNumL1(7); encparams.SetCPD(32.0f); break; - + case VIDEO_FORMAT_UHDTV_4K60: + case VIDEO_FORMAT_UHDTV_4K50: + case VIDEO_FORMAT_UHDTV_8K60: + case VIDEO_FORMAT_UHDTV_8K50: + encparams.SetL1Sep(6); + encparams.SetNumL1(7); + encparams.SetCPD(48.0f); + break; case VIDEO_FORMAT_CIF: default: encparams.SetL1Sep(3); @@ -345,12 +401,6 @@ { case VIDEO_FORMAT_QCIF: case VIDEO_FORMAT_QSIF525: - bparams.SetXblen(8); - bparams.SetYblen(8); - bparams.SetXbsep(4); - bparams.SetYbsep(4); - break; - case VIDEO_FORMAT_CUSTOM: case VIDEO_FORMAT_SIF525: case VIDEO_FORMAT_CIF: @@ -383,7 +433,15 @@ bparams.SetXbsep(16); bparams.SetYbsep(16); break; - + case VIDEO_FORMAT_UHDTV_4K60: + case VIDEO_FORMAT_UHDTV_4K50: + case VIDEO_FORMAT_UHDTV_8K60: + case VIDEO_FORMAT_UHDTV_8K50: + bparams.SetXblen(36); + bparams.SetYblen(36); + bparams.SetXbsep(24); + bparams.SetYbsep(24); + break; default: bparams.SetXblen(12); bparams.SetYblen(12); @@ -399,23 +457,23 @@ { case 0: // custom - so undefined values return; - case 1: + case 1: bparams = OLBParams(8, 8, 4, 4); break; - case 2: + case 2: bparams = OLBParams(12, 12, 8, 8); break; - case 3: + case 3: bparams = OLBParams(16, 16, 12, 12); break; - case 4: + case 4: bparams = OLBParams(24, 24, 16, 16); break; default: DIRAC_THROW_EXCEPTION( ERR_UNSUPPORTED_STREAM_DATA, "Block params index out of range [0-4]", - SEVERITY_FRAME_ERROR); + SEVERITY_PICTURE_ERROR); break; } } @@ -435,15 +493,42 @@ return 3; else if (bparams == bparams_4) return 4; - else + else return 0; } -void SetDefaultTransformFilter(FrameType ftype, WltFilter &wf) +void SetDefaultTransformFilter(const PictureType ptype, const VideoFormat video_format, + WltFilter &wf) { - if (ftype == INTRA_FRAME) - wf = DD9_7; - else - wf = LEGALL5_3; + switch (video_format) + { + case VIDEO_FORMAT_QCIF: + case VIDEO_FORMAT_QSIF525: + case VIDEO_FORMAT_CUSTOM: + case VIDEO_FORMAT_SIF525: + case VIDEO_FORMAT_CIF: + case VIDEO_FORMAT_4SIF525: + case VIDEO_FORMAT_4CIF: + case VIDEO_FORMAT_SD_480I60: + case VIDEO_FORMAT_SD_576I50: + case VIDEO_FORMAT_HD_720P60: + case VIDEO_FORMAT_HD_720P50: + case VIDEO_FORMAT_HD_1080I60: + case VIDEO_FORMAT_HD_1080I50: + case VIDEO_FORMAT_HD_1080P60: + case VIDEO_FORMAT_HD_1080P50: + case VIDEO_FORMAT_DIGI_CINEMA_2K24: + case VIDEO_FORMAT_DIGI_CINEMA_4K24: + case VIDEO_FORMAT_UHDTV_4K60: + case VIDEO_FORMAT_UHDTV_4K50: + case VIDEO_FORMAT_UHDTV_8K60: + case VIDEO_FORMAT_UHDTV_8K50: + default: + if (ptype == INTRA_PICTURE) + wf = DD13_7; + else + wf = DD13_7; + break; + } } } diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/video_format_defaults.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/video_format_defaults.h --- dirac-0.9.1/libdirac_common/video_format_defaults.h 2007-09-28 16:46:08.000000000 +0100 +++ dirac-1.0.2/libdirac_common/video_format_defaults.h 2008-10-01 01:26:20.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: video_format_defaults.h,v 1.4 2007/09/28 15:46:08 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: video_format_defaults.h,v 1.7 2008/10/01 00:26:20 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -50,10 +50,10 @@ /** * Sets default codec parameters - common to encoder and decoder *@param cparams Codec Params objects for setting defaults - *@param ftype Frame type i,e, INTRA or INTER + *@param ptype Picture type i,e, INTRA or INTER *@param num_refs Number of reference frames */ - void SetDefaultCodecParameters (CodecParams &cparams, FrameType ftype, unsigned int num_refs); + void SetDefaultCodecParameters (CodecParams &cparams, PictureType ptype, unsigned int num_refs); /** * Sets default encoder parameters @@ -90,11 +90,13 @@ unsigned int BlockParametersIndex(const OLBParams& bparams); /** - * Sets the default Transform filter depending on frame type - *@param ftype Frame type i.e. intra or inter + * Sets the default Transform filter depending on picture type + *@param ptype Picture type i.e. intra or inter + *@param video_format The video format *@param wf WltFilter object for getting the default wavelet filter */ - void SetDefaultTransformFilter( FrameType ftype, WltFilter &wf); + void SetDefaultTransformFilter( const PictureType ptype, const VideoFormat video_format, + WltFilter &wf); } // namespace dirac #endif diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/wavelet_utils.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/wavelet_utils.cpp --- dirac-0.9.1/libdirac_common/wavelet_utils.cpp 2007-12-12 14:01:51.000000000 +0000 +++ dirac-1.0.2/libdirac_common/wavelet_utils.cpp 2008-10-20 05:21:02.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: wavelet_utils.cpp,v 1.39 2007/12/12 14:01:51 tjdwave Exp $ $Name: Dirac_0_9_1 $ +* $Id: wavelet_utils.cpp,v 1.44 2008/10/20 04:21:02 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -37,17 +37,16 @@ * or the LGPL. * ***** END LICENSE BLOCK ***** */ - #include #include #include + using namespace dirac; // Default constructor CodeBlock::CodeBlock() : - m_skipped( false ) -{ + m_skipped( false ){ Init( 0 , 0 , 0 , 0 ); } @@ -66,8 +65,7 @@ void CodeBlock::Init( const int xstart , const int ystart , const int xend , - const int yend ) -{ + const int yend ){ m_xstart = xstart; m_xend = xend; m_ystart = ystart; @@ -79,8 +77,7 @@ // Default constructor -Subband::Subband() -{ +Subband::Subband(){ // this space intentionally left blank } @@ -92,8 +89,7 @@ m_yl( ylen ), m_wt( 1.0 ), m_code_block_array(), - m_skipped( false ) -{ + m_skipped( false ){ SetNumBlocks( 1 , 1 ); } @@ -117,8 +113,7 @@ m_wt = w; } -void Subband::SetNumBlocks( const int ynum , const int xnum) -{ +void Subband::SetNumBlocks( const int ynum , const int xnum){ m_code_block_array.Resize( ynum , xnum ); OneDArray xbounds( xnum + 1 ); @@ -142,21 +137,18 @@ } //! Destructor -Subband::~Subband() -{} +Subband::~Subband(){} //subband list methods -void SubbandList::Init(const int depth,const int xlen,const int ylen) -{ +void SubbandList::Init(const int depth,const int xlen,const int ylen){ int xl=xlen; int yl=ylen; Clear(); Subband* tmp; - for (int level = 1; level <= depth; ++level) - { + for (int level = 1; level <= depth; ++level){ xl/=2; yl/=2; /* HH */ @@ -174,8 +166,7 @@ AddBand( *tmp ); delete tmp; - if (level == depth) - { + if (level == depth){ /* LL */ tmp=new Subband( 0 , 0 , xl , yl , level); AddBand( *tmp ); @@ -189,126 +180,31 @@ (*this)(len-2).SetParent(0); (*this)(len-1).SetParent(0); - for (int level = 2; level <= depth; ++level) - { + for (int level = 2; level <= depth; ++level){ //do parent-child relationship for other bands - (*this)( len-3*(level-1) ).AddChild( len-3*(level) ); (*this)( len-3*(level) ).SetParent( len-3*(level-1) ); - - (*this)( len-3*(level-1)+1 ).AddChild( len-3*(level)+1 ); (*this)(len-3*(level)+1).SetParent(len-3*(level-1)+1); - - (*this)( len-3*(level-1)+2 ).AddChild( len-3*(level)+2 ); (*this)(len-3*(level)+2).SetParent(len-3*(level-1)+2); }// level } -//wavelet transform methods -/////////////////////////// - -//public methods - -WaveletTransform::WaveletTransform(int d, WltFilter f) - : m_depth(d), - m_filt_sort(f) -{ - switch( m_filt_sort ) - { - - case DD9_7 : - m_vhfilter = new VHFilterDD9_7; - break; - - case LEGALL5_3 : - m_vhfilter = new VHFilterLEGALL5_3; - break; - - case DD13_7 : - m_vhfilter = new VHFilterDD13_7; - break; - - case HAAR0 : - m_vhfilter = new VHFilterHAAR0; - break; - - case HAAR1 : - m_vhfilter = new VHFilterHAAR1; - break; - - default : - m_vhfilter = new VHFilterDAUB9_7; - } -} - -//! Destructor -WaveletTransform::~WaveletTransform() -{ - delete m_vhfilter; -} - -void WaveletTransform::Transform(const Direction d, PicArray& pic_data, CoeffArray& coeff_data) -{ - int xl,yl; - - if (d == FORWARD) - { - xl=pic_data.LengthX(); - yl=pic_data.LengthY(); - - // First copy picture data into coeff_data - for ( int j=0; j>=1 , yl>>=1) - { - m_vhfilter->Split(0,0,xl,yl,coeff_data); - } - - m_band_list.Init( m_depth , coeff_data.LengthX() , coeff_data.LengthY() ); - } - else - { - xl = coeff_data.LengthX()/(1<<(m_depth-1)); - yl = coeff_data.LengthY()/(1<<(m_depth-1)); - - for (int l = 1; l <= m_depth; ++l, xl<<=1 , yl<<=1 ) - { - m_vhfilter->Synth(0,0,xl,yl,coeff_data); - } - //band list now inaccurate, so clear - m_band_list.Clear(); - - // Lastly, copy coeff_data back into picture data - for ( int j=0; jGetLowFactor(); - double hfac = m_vhfilter->GetHighFactor(); + double lfac; + double hfac; + int filt_shift; + + switch (wltfilter){ + case DD9_7 : + lfac = 1.218660804;; + hfac = 0.780720058; + filt_shift = 1; + + break; + + case LEGALL5_3 : + lfac = 1.179535649; + hfac = 0.81649658; + filt_shift = 1; + + break; + + case DD13_7 : + lfac = 1.235705971; + hfac = 0.780719354; + filt_shift = 1; + + break; + + case HAAR0 : + lfac = 1.414213562; + hfac = 0.707106781; + filt_shift = 0; + + break; + + case HAAR1 : + lfac = 1.414213562; + hfac = 0.707106781; + filt_shift = 1; + + break; + + case DAUB9_7 : + lfac = 1.149604398; + hfac = 0.869864452; + filt_shift = 1; + + break; + + default: + lfac = 1.0; + hfac = 1.0; + filt_shift = 0; + + } + int idx; int shift; + int depth = (m_band_list.Length()-1)/3; // Do the DC subband idx = m_band_list.Length(); - double cf = (1<<(m_depth*m_vhfilter->GetShift())) / std::pow(lfac,2*m_depth ) ; + double cf = (1<<(depth*filt_shift)) / std::pow(lfac,2*depth ) ; + m_band_list(idx).SetWt( m_band_list(idx).Wt()*cf); // Do the non-DC subbands - for (int level=1; level<=m_depth; level++) + for (int level=1; level<=depth; level++) { - shift = (m_depth-level+1)*m_vhfilter->GetShift(); + shift = (depth-level+1)*filt_shift; for ( int orient=3;orient>=1; --orient ) { - idx = 3*(m_depth-level)+orient; + idx = 3*(depth-level)+orient; // index into the subband list - idx = 3*(m_depth-level)+orient; + idx = 3*(depth-level)+orient; // Divide through by the weight for the LF subband that was decomposed // to create this level - cf = 1.0/ std::pow(lfac,2*(m_depth-level) ); + cf = 1.0/ std::pow(lfac,2*(depth-level) ); if ( m_band_list(idx).Xp() != 0 && m_band_list(idx).Yp() != 0) // HH subband @@ -440,11 +381,114 @@ } +// Returns a perceptual noise weighting based on extending CCIR 959 values +// assuming a two-d isotropic response. Also has a fudge factor of 20% for chroma +float CoeffArray::PerceptualWeight( const float xf , + const float yf , + const CompSort cs ) +{ + double freq_sqd( xf*xf + yf*yf ); + + if ( cs != Y_COMP ) + freq_sqd *= 1.2; + + return 0.255 * std::pow( 1.0 + 0.2561*freq_sqd , 0.75) ; + +} + + + +//wavelet transform methods +/////////////////////////// + +//public methods + +WaveletTransform::WaveletTransform(int d, WltFilter f) + : m_depth(d), + m_filt_sort(f) +{ + switch( m_filt_sort ){ + + case DD9_7 : + m_vhfilter = new VHFilterDD9_7; + break; + + case LEGALL5_3 : + m_vhfilter = new VHFilterLEGALL5_3; + break; + + case DD13_7 : + m_vhfilter = new VHFilterDD13_7; + break; + + case HAAR0 : + m_vhfilter = new VHFilterHAAR0; + break; + + case HAAR1 : + m_vhfilter = new VHFilterHAAR1; + break; + + default : + m_vhfilter = new VHFilterDAUB9_7; + } +} + +//! Destructor +WaveletTransform::~WaveletTransform(){ delete m_vhfilter; } + +void WaveletTransform::Transform(const Direction d, PicArray& pic_data, CoeffArray& coeff_data) { + + int xl,yl; + + SubbandList& bands = coeff_data.BandList(); + + if (d == FORWARD){ + xl=coeff_data.LengthX(); + yl=coeff_data.LengthY(); + + // First copy picture data into coeff_data and pad + for ( int j=0; j>=1 , yl>>=1){ + m_vhfilter->Split(0,0,xl,yl,coeff_data); + } + + bands.Init( m_depth , coeff_data.LengthX() , coeff_data.LengthY() ); + } + else{ + xl = coeff_data.LengthX()/(1<<(m_depth-1)); + yl = coeff_data.LengthY()/(1<<(m_depth-1)); + + for (int l = 1; l <= m_depth; ++l, xl<<=1 , yl<<=1 ) + m_vhfilter->Synth(0,0,xl,yl,coeff_data); + + //band list now inaccurate, so clear + bands.Clear(); + + // Lastly, copy coeff_data back into picture data + for ( int j=0; j& clist ){ m_children = clist; } - - //! Add a child to the list of child subbands - void AddChild( const int c ){ m_children.push_back(c); } - //! Set the number of (spatial) quantisers in the subband. Creates code block structure void SetNumBlocks( const int ynum , const int xnum ); //! Set the quantisation index - void SetQIndex( const int idx){ m_qindex = idx; } + void SetQuantIndex( const int idx){ m_qindex = idx; } //! Set the number of (spatial) quantisers in the subband. Creates code block structure void SetUsingMultiQuants( const bool multi){ m_multi_quants = multi; } @@ -318,58 +312,8 @@ private: std::vector bands; }; - - //! A class to do wavelet transforms - /*! - A class to do forward and backward wavelet transforms by iteratively splitting or merging the - lowest frequency band. - */ - class WaveletTransform - { - public: - //! Constructor - WaveletTransform(int d = 4, WltFilter f = DAUB9_7); - - //! Destructor - virtual ~WaveletTransform(); - - //! Transforms the data to and from the wavelet domain - /*! - Transforms the data to and from the wavelet domain. - \param d the direction of the transform - \param pic_data the data to be transformed - \param coeff_data array that holds the transform coefficient data - */ - void Transform(const Direction d, PicArray& pic_data, CoeffArray& coeff_data); - - //! Returns the set of subbands - SubbandList& BandList(){return m_band_list;} - - //! Returns the set of subbands - const SubbandList& BandList() const {return m_band_list;} - - //! Sets the subband weights - /*! - Sets perceptual weights for the subbands. Takes into account both perceptual factors - (weight noise less at higher spatial frequencies) and the scaling needed for the - wavelet transform. - - \param cpd perctual factor - the number of cycles per degree - \param fsort the frame sort (I, L1 or L2) - \param cformat the chroma format - \param csort the component type (Y, U or V) - \param field_coding True if input is coded as fields - */ - void SetBandWeights (const float cpd, - const FrameSort& fsort, - const ChromaFormat& cformat, - const CompSort csort, - const bool field_coding); - - - private: - // Classes used within wavelet transform - + + class CoeffArray; //! A virtual parent class to do vertical and horizontal splitting with wavelet filters class VHFilter { @@ -386,12 +330,6 @@ //! Create a single band from 4 quadrant bands virtual void Synth(const int xp, const int yp, const int xl, const int yl, CoeffArray& coeff_data)=0; - //! Return a correction factor to compensate for non-unity gain of low-pass filter - virtual double GetLowFactor() const=0; - - //! Return a correction factor to compensate for non-unity gain of high-pass filter - virtual double GetHighFactor() const =0; - //! Return the value of the additional bitshift virtual int GetShift() const =0; @@ -423,12 +361,6 @@ //! Create a single band from 4 quadrant bands void Synth(const int xp, const int yp, const int xl, const int yl, CoeffArray& coeff_data); - //! Return a correction factor to compensate for non-unity gain of low-pass filter - double GetLowFactor() const { return 1.149604398;} - - //! Return a correction factor to compensate for non-unity gain of high-pass filter - double GetHighFactor() const { return 0.869864452;} - //! Return the value of the additional bitshift int GetShift() const {return 1;} @@ -447,13 +379,7 @@ //! Create a single band from 4 quadrant bands void Synth(const int xp, const int yp, const int xl, const int yl, CoeffArray& coeff_data); - //! Return a correction factor to compensate for non-unity power gain of low-pass filter - double GetLowFactor() const { return 1.179535649;} - - //! Return a correction factor to compensate for non-unity power gain of high-pass filter - double GetHighFactor() const { return 0.81649658;} - - //! Return the value of the additional bitshift + //! Return the value of the additional bitshift int GetShift() const {return 1;} @@ -475,15 +401,8 @@ //! Create a single band from 4 quadrant bands void Synth(const int xp, const int yp, const int xl, const int yl, CoeffArray& coeff_data); - //! Return a correction factor to compensate for non-unity power gain of low-pass filter - double GetLowFactor() const { return 1.218660804;} - - //! Return a correction factor to compensate for non-unity power gain of high-pass filter - double GetHighFactor() const { return 0.780720058;} - //! Return the value of the additional bitshift int GetShift() const {return 1;} - }; @@ -499,13 +418,7 @@ //! Create a single band from 4 quadrant bands void Synth(const int xp, const int yp, const int xl, const int yl, CoeffArray& coeff_data); - //! Return a correction factor to compensate for non-unity power gain of low-pass filter - double GetLowFactor() const { return 1.235705971;} - - //! Return a correction factor to compensate for non-unity power gain of high-pass filter - double GetHighFactor() const { return 0.780719354;} - - //! Return the value of the additional bitshift + //! Return the value of the additional bitshift int GetShift() const {return 1;} }; @@ -522,13 +435,7 @@ //! Create a single band from 4 quadrant bands void Synth(const int xp, const int yp, const int xl, const int yl, CoeffArray& coeff_data); - //! Return a correction factor to compensate for non-unity power gain of low-pass filter - double GetLowFactor() const { return 1.414213562;} - - //! Return a correction factor to compensate for non-unity power gain of high-pass filter - double GetHighFactor() const { return 0.707106781;} - - //! Return the value of the additional bitshift + //! Return the value of the additional bitshift int GetShift() const {return 0;} @@ -546,16 +453,9 @@ //! Create a single band from 4 quadrant bands void Synth(const int xp, const int yp, const int xl, const int yl, CoeffArray& coeff_data); - //! Return a correction factor to compensate for non-unity power gain of low-pass filter - double GetLowFactor() const { return 1.414213562;} - - //! Return a correction factor to compensate for non-unity power gain of high-pass filter - double GetHighFactor() const { return 0.707106781;} - - //! Return the value of the additional bitshift + //! Return the value of the additional bitshift int GetShift() const {return 1;} - }; @@ -713,21 +613,108 @@ { in_val += static_cast< CoeffType >( (gain * static_cast< int >( val1 + val2 )) >>12 ); } - }; + }; + + //! A class for wavelet coefficient data. + /*! + A class for encapsulating coefficient data, derived from TwoDArray.. + */ + class CoeffArray: public TwoDArray + { + public: + //! Default constructor + /*! + Default constructor creates an empty array. + */ + CoeffArray(): TwoDArray(){} - private: + //! Constructor. + /*! + Contructor creates a two-D array, with specified size and colour + format. + */ + CoeffArray(int height, int width, CompSort cs=Y_COMP): + TwoDArray(height, width), m_csort(cs){} - // Private variables + //copy constructor and assignment= derived by inheritance + + //! Destructor + ~CoeffArray(){} + + //! Return which component is stored + const CompSort& CSort() const {return m_csort;} + //! Set the type of component being stored + void SetCSort(const CompSort cs){ m_csort = cs; } + + //! Returns the set of subbands + SubbandList& BandList(){return m_band_list;} + + //! Returns the set of subbands + const SubbandList& BandList() const {return m_band_list;} + + //! Sets the subband weights + /*! + Sets perceptual weights for the subbands. Takes into account both perceptual factors + (weight noise less at higher spatial frequencies) and the scaling needed for the + wavelet transform. + */ + void SetBandWeights (const EncoderParams& encparams, + const PictureParams& pparams, + const CompSort csort, + const float cpd_scale_factor); + + private: + + CompSort m_csort; + + // The subband list to be used for conventional transform apps SubbandList m_band_list; + private: + + //! Given x and y spatial frequencies in cycles per degree, returns a weighting value + float PerceptualWeight(float xf,float yf,CompSort cs); + + }; + + //! A class to do wavelet transforms + /*! + A class to do forward and backward wavelet transforms by iteratively splitting or merging the + lowest frequency band. + */ + class WaveletTransform + { + public: + //! Constructor + WaveletTransform(int d = 4, WltFilter f = DAUB9_7); + + //! Destructor + virtual ~WaveletTransform(); + + //! Transforms the data to and from the wavelet domain + /*! + Transforms the data to and from the wavelet domain. + \param d the direction of the transform + \param pic_data the data to be transformed + \param coeff_data array that holds the transform coefficient data + */ + void Transform(const Direction d, PicArray& pic_data, CoeffArray& coeff_data); + + private: + + + private: + + // Private variables + //! Depth of the transform int m_depth; - //! The filter set to be used + //! The (vertical and horizontal) wavelet filter set to be used WltFilter m_filt_sort; - //! A class to do the filtering required + //! A class to do the vertical and horizontal filtering required VHFilter* m_vhfilter; private: @@ -738,10 +725,7 @@ //! Private, bodyless copy operator=: class should not be assigned WaveletTransform& operator=(const WaveletTransform& rhs); - //! Given x and y spatial frequencies in cycles per degree, returns a weighting value - float PerceptualWeight(float xf,float yf,CompSort cs); }; - }// end namespace dirac #endif diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_common/wavelet_utils_mmx.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_common/wavelet_utils_mmx.cpp --- dirac-0.9.1/libdirac_common/wavelet_utils_mmx.cpp 2007-09-28 16:46:08.000000000 +0100 +++ dirac-1.0.2/libdirac_common/wavelet_utils_mmx.cpp 2008-08-14 01:51:08.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: wavelet_utils_mmx.cpp,v 1.11 2007/09/28 15:46:08 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: wavelet_utils_mmx.cpp,v 1.13 2008/08/14 00:51:08 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -130,7 +130,7 @@ } #endif -void WaveletTransform::VHFilter::ShiftRowLeft(CoeffType *row, int length, int shift) +void VHFilter::ShiftRowLeft(CoeffType *row, int length, int shift) { int xstop = length/4*4; CoeffType *shift_row = row; @@ -144,7 +144,7 @@ _mm_empty(); } -void WaveletTransform::VHFilter::ShiftRowRight(CoeffType *row, int length, int shift) +void VHFilter::ShiftRowRight(CoeffType *row, int length, int shift) { CoeffType *shift_row = row; int round_val = 1<<(shift-1); @@ -214,7 +214,7 @@ _mm_empty(); } -void WaveletTransform::VHFilterDD9_7::Synth(const int xp , +void VHFilterDD9_7::Synth(const int xp , const int yp , const int xl , const int yl , @@ -228,7 +228,7 @@ PredictStepShift<2> predict; __m64 pred_round = _mm_set_pi16 (1<<(2-1), 1<<(2-1), 1<<(2-1), 1<<(2-1)); - int xstop = xp + (xl>>2)<<2; + int xstop = xp + ((xl>>2)<<2); // First lifting stage // Top edge @@ -506,7 +506,7 @@ Interleave_mmx( xp , yp , xl ,yl , coeff_data ); } -void WaveletTransform::VHFilterDD13_7::Synth(const int xp , +void VHFilterDD13_7::Synth(const int xp , const int yp , const int xl , const int yl , @@ -525,7 +525,7 @@ // Next, do the vertical synthesis int ymid = yp + yl/2; - int xstop = xp + (xl>>2)<<2; + int xstop = xp + ((xl>>2)<<2); // First lifting stage - odd samples // bottom edge CoeffType *out = coeff_data[ymid-1]; @@ -939,7 +939,7 @@ #if 0 //Opts - Attempt1 -void WaveletTransform::VHFilterLEGALL5_3::Synth(const int xp , +void VHFilterLEGALL5_3::Synth(const int xp , const int yp , const int xl , const int yl , @@ -1074,7 +1074,7 @@ #if 0 //Opts Attempt 2 -void WaveletTransform::VHFilterLEGALL5_3::Synth(const int xp , +void VHFilterLEGALL5_3::Synth(const int xp , const int yp , const int xl , const int yl , @@ -1236,7 +1236,7 @@ //Attempt 3 -inline void WaveletTransform::VHFilterLEGALL5_3::HorizSynth (int xp, int xl, int ystart, int yend, CoeffArray &coeff_data) +inline void VHFilterLEGALL5_3::HorizSynth (int xp, int xl, int ystart, int yend, CoeffArray &coeff_data) { static const PredictStepShift< 2 > predict; static const UpdateStepShift< 1 > update; @@ -1263,7 +1263,7 @@ } } -void WaveletTransform::VHFilterLEGALL5_3::Synth(const int xp , +void VHFilterLEGALL5_3::Synth(const int xp , const int yp , const int xl , const int yl , @@ -1473,7 +1473,7 @@ _mm_empty(); } -void WaveletTransform::VHFilterLEGALL5_3::Split(const int xp , +void VHFilterLEGALL5_3::Split(const int xp , const int yp , const int xl , const int yl , diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_decoder/comp_decompress.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_decoder/comp_decompress.cpp --- dirac-0.9.1/libdirac_decoder/comp_decompress.cpp 2007-11-16 04:50:08.000000000 +0000 +++ dirac-1.0.2/libdirac_decoder/comp_decompress.cpp 2009-01-21 05:18:09.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: comp_decompress.cpp,v 1.28 2007/11/16 04:50:08 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: comp_decompress.cpp,v 1.32 2009/01/21 05:18:09 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -53,38 +53,28 @@ using std::vector; //Constructor -CompDecompressor::CompDecompressor( DecoderParams& decp, const FrameParams& fp) +CompDecompressor::CompDecompressor( DecoderParams& decp, const PictureParams& pp) : m_decparams(decp), - m_fparams(fp) + m_pparams(pp), + m_psort( pp.PicSort() ) {} void CompDecompressor::Decompress(ComponentByteIO* p_component_byteio, - PicArray& pic_data ) + CoeffArray& coeff_data, + SubbandList& bands) { - const FrameSort& fsort=m_fparams.FSort(); - const int depth( m_decparams.TransformDepth() ); - - // The array holding the coefficients - CoeffArray coeff_data( pic_data.LengthY(), pic_data.LengthX() ); - - WaveletTransform wtransform( depth , m_decparams.TransformFilter() ); - SubbandList& bands=wtransform.BandList(); - - // Initialise all the subbands - bands.Init(depth , coeff_data.LengthX() , coeff_data.LengthY()); // Set up the code blocks SetupCodeBlocks( bands ); - for ( int b=bands.Length() ; b>=1 ; --b ) - { + for ( int b=bands.Length() ; b>=1 ; --b ){ // Multiple quantiser are used only if // a. The global code_block_mode is QUANT_MULTIPLE // and // b. More than one code block is present in the subband. - bands(b).SetUsingMultiQuants( + bands(b).SetUsingMultiQuants( m_decparams.SpatialPartition() && m_decparams.GetCodeBlockMode() == QUANT_MULTIPLE && (bands(b).GetCodeBlocks().LengthX() > 1 || @@ -94,53 +84,46 @@ // Read the header data first SubbandByteIO subband_byteio(bands(b), *p_component_byteio); subband_byteio.Input(); - //std::cout << "Subband Num=" << b << "Arithdata size=" << subband_byteio.GetBandDataLength() << std::endl; - if ( !bands(b).Skipped() ) - { - if (m_fparams.UsingAC()) - { + if ( !bands(b).Skipped() ){ + if (m_pparams.UsingAC()){ // A pointer to the object(s) we'll be using for coding the bands BandCodec* bdecoder; - - if ( b>=bands.Length()-3) - { - if ( fsort.IsIntra() && b==bands.Length() ) - bdecoder=new IntraDCBandCodec(&subband_byteio, + + if ( b>=bands.Length()-3){ + if ( m_psort.IsIntra() && b==bands.Length() ) + bdecoder=new IntraDCBandCodec(&subband_byteio, TOTAL_COEFF_CTXS ,bands); else - bdecoder=new LFBandCodec(&subband_byteio , TOTAL_COEFF_CTXS, - bands , b, fsort.IsIntra()); + bdecoder=new LFBandCodec(&subband_byteio , + TOTAL_COEFF_CTXS, bands , + b, m_psort.IsIntra()); } else bdecoder=new BandCodec( &subband_byteio , TOTAL_COEFF_CTXS , - bands , b, fsort.IsIntra()); + bands , b, m_psort.IsIntra()); bdecoder->Decompress(coeff_data , subband_byteio.GetBandDataLength()); delete bdecoder; } - else - { + else{ // A pointer to the object(s) we'll be using for coding the bands BandVLC* bdecoder; - - if ( fsort.IsIntra() && b==bands.Length() ) + + if ( m_psort.IsIntra() && b==bands.Length() ) bdecoder=new IntraDCBandVLC(&subband_byteio, bands); else - bdecoder=new BandVLC( &subband_byteio , bands , - b, fsort.IsIntra()); + bdecoder=new BandVLC( &subband_byteio , 0, bands , + b, m_psort.IsIntra()); bdecoder->Decompress(coeff_data , subband_byteio.GetBandDataLength()); delete bdecoder; } } - else - { + else{ SetToVal( coeff_data , bands(b) , 0 ); } } - - wtransform.Transform(BACKWARD,pic_data, coeff_data); } void CompDecompressor::SetupCodeBlocks( SubbandList& bands ) @@ -168,8 +151,8 @@ }// band_num } -void CompDecompressor::SetToVal( CoeffArray& coeff_data , - const Subband& node , +void CompDecompressor::SetToVal( CoeffArray& coeff_data , + const Subband& node , CoeffType val ) { diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_decoder/comp_decompress.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_decoder/comp_decompress.h --- dirac-0.9.1/libdirac_decoder/comp_decompress.h 2007-07-26 13:46:35.000000000 +0100 +++ dirac-1.0.2/libdirac_decoder/comp_decompress.h 2008-06-19 11:33:24.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: comp_decompress.h,v 1.10 2007/07/26 12:46:35 tjdwave Exp $ $Name: Dirac_0_9_1 $ +* $Id: comp_decompress.h,v 1.14 2008/06/19 10:33:24 tjdwave Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -48,11 +48,11 @@ namespace dirac { - //! Compress a frame component + //! Decompress a picture component /*! - This class compresses one of the three components (Y, U, or V) of a - frame according to a given set or parameters. CompCompressor is used - by FrameCompressor.. + This class decompresses one of the three components (Y, U, or V) of a + picture according to a given set or parameters. CompDecompressor is used + by PictureCompressor.. */ class CompDecompressor { @@ -62,19 +62,21 @@ Create and initialize a component decompressor with the given characteristics. \param decp decoding parameters - \param fp frame parameters + \param fp picture parameters */ - CompDecompressor( DecoderParams& decp, const FrameParams& fp); + CompDecompressor( DecoderParams& decp, const PictureParams& fp); - //! Decompress a frame component + //! Decompress a picture component /*! - Decompress a PicArray containing a frame component (Y, U, or V). + Decompress a PicArray containing a picture component (Y, U, or V). \param p_component_byteio Bytestream of component data - \param pic_data contains the component data to be decompressed + \param coeff_data contains the component data to be decompressed + \param bands the subband metadata */ void Decompress(ComponentByteIO *p_component_byteio, - PicArray& pic_data); + CoeffArray& coeff_data, + SubbandList& bands); private: //! Copy constructor is private and body-less @@ -113,8 +115,12 @@ //! Copy of the decompression parameters provided to the constructor DecoderParams& m_decparams; - //! Reference to the frame parameters provided to the constructor - const FrameParams& m_fparams; + //! Reference to the picture parameters provided to the constructor + const PictureParams& m_pparams; + + //! Reference to the picture sort + const PictureSort& m_psort; + }; diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_decoder/decoder_types.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_decoder/decoder_types.h --- dirac-0.9.1/libdirac_decoder/decoder_types.h 2004-08-11 15:16:58.000000000 +0100 +++ dirac-1.0.2/libdirac_decoder/decoder_types.h 2008-02-13 03:36:11.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: decoder_types.h,v 1.1 2004/08/11 14:16:58 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: decoder_types.h,v 1.2 2008/02/13 03:36:11 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -49,9 +49,7 @@ typedef enum { STATE_BUFFER, /* need more data input */ STATE_SEQUENCE, /* start of sequence detected */ - STATE_PICTURE_START, /* start of picture detected */ - STATE_PICTURE_DECODE, /* decoding picture */ - STATE_PICTURE_AVAIL, /* decoded picture available */ + STATE_PICTURE_AVAIL, /* decoded frame available */ STATE_SEQUENCE_END, /* end of sequence detected */ STATE_INVALID /* invalid state. Stop further processing */ } DecoderState; diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_decoder/dirac_cppparser.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_decoder/dirac_cppparser.cpp --- dirac-0.9.1/libdirac_decoder/dirac_cppparser.cpp 2007-11-16 04:50:08.000000000 +0000 +++ dirac-1.0.2/libdirac_decoder/dirac_cppparser.cpp 2008-05-02 07:05:04.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: dirac_cppparser.cpp,v 1.9 2007/11/16 04:50:08 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: dirac_cppparser.cpp,v 1.13 2008/05/02 06:05:04 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -39,19 +39,19 @@ #include #include #include -#include +#include #include #include -#include +#include #include -#include +#include using namespace dirac; InputStreamBuffer::InputStreamBuffer() { m_chunk_buffer = new char[m_buffer_size]; - + setg (m_chunk_buffer, //beginning of read area m_chunk_buffer, //read position m_chunk_buffer); //end position @@ -86,7 +86,7 @@ if (new_pos > egptr() || new_pos < eback()) return -1; - setg(eback(), //start of read + setg(eback(), //start of read new_pos, //current read position egptr()); //end of stream positon @@ -95,7 +95,7 @@ void InputStreamBuffer::Copy(char *start, int bytes) { - //std::cerr << "eback=" << m_chunk_buffer - eback() + //std::cerr << "eback=" << m_chunk_buffer - eback() // << "gptr=" << gptr() -m_chunk_buffer // << "egptr=" << egptr() - m_chunk_buffer << endl; @@ -108,21 +108,21 @@ delete [] m_chunk_buffer; m_chunk_buffer = temp; } - //std::cerr << "eback=" << m_chunk_buffer - eback() + //std::cerr << "eback=" << m_chunk_buffer - eback() // << "gptr=" << gptr() -m_chunk_buffer // << "egptr=" << egptr() - m_chunk_buffer << endl; memcpy (egptr(), start, bytes); setg(m_chunk_buffer, gptr(), egptr()+bytes); - //std::cerr << "eback=" << m_chunk_buffer - eback() + //std::cerr << "eback=" << m_chunk_buffer - eback() // << "gptr=" << gptr() -m_chunk_buffer // << "egptr=" << egptr() - m_chunk_buffer << endl; } void InputStreamBuffer::PurgeProcessedData() { - //std::cerr << "eback=" << m_chunk_buffer - eback() + //std::cerr << "eback=" << m_chunk_buffer - eback() // << "gptr=" << gptr() -m_chunk_buffer // << "egptr=" << egptr() - m_chunk_buffer << endl; @@ -131,7 +131,7 @@ memmove (m_chunk_buffer, gptr(), egptr() - gptr()); setg(m_chunk_buffer, m_chunk_buffer, m_chunk_buffer+(egptr() - gptr())); } - //std::cerr << "eback=" << m_chunk_buffer - eback() + //std::cerr << "eback=" << m_chunk_buffer - eback() // << "gptr=" << gptr() -m_chunk_buffer // << "egptr=" << egptr() - m_chunk_buffer << endl; } @@ -142,16 +142,14 @@ } -DiracParser::DiracParser(bool verbose) : - m_state(STATE_BUFFER), - m_next_state(STATE_SEQUENCE), - m_show_fnum(-1), - m_decomp(0), - m_skip(false), - m_skip_type(FrameSort::IntraNonRefFrameSort()), +DiracParser::DiracParser(bool verbose) : + m_state(STATE_BUFFER), + m_next_state(STATE_SEQUENCE), + m_show_pnum(-1), + m_decomp(0), m_verbose(verbose) { - + } @@ -180,20 +178,20 @@ if (!m_decomp) return STATE_BUFFER; - // look to see if all frames have been processed + // look to see if all pictures have been processed if(m_decomp->Finished()) { // if so....delete delete m_decomp; m_decomp=NULL; m_next_state = STATE_BUFFER; + return STATE_SEQUENCE_END; } else - // otherwise....get remaining frames from buffer - pu_type = PU_CORE_FRAME; - + // otherwise....get remaining pictures from buffer + pu_type = PU_CORE_PICTURE; } - + // get next parse unit from stream if(m_next_state!=STATE_SEQUENCE_END) { @@ -217,41 +215,43 @@ m_decomp->NewAccessUnit(*p_parse_unit); break; - case PU_CORE_FRAME: + case PU_CORE_PICTURE: { if (!m_decomp) continue; - - Frame &my_frame = m_decomp->DecompressNextFrame(p_parse_unit, - m_skip); - - int framenum_decoded = my_frame.GetFparams().FrameNum(); - if (framenum_decoded != m_show_fnum) + + const Picture *my_picture = m_decomp->DecompressNextPicture(p_parse_unit); + if (my_picture) { - m_show_fnum = my_frame.GetFparams().FrameNum(); - if (m_verbose) + int picturenum_decoded = my_picture->GetPparams().PictureNum(); + if (picturenum_decoded != m_show_pnum) { - std::cout << std::endl << "Frame " << m_show_fnum << " available"; + m_show_pnum = my_picture->GetPparams().PictureNum(); + if (m_verbose) + { + std::cout << std::endl; + std::cout << "Picture "; + std::cout<< m_show_pnum << " available"; + } + m_state = STATE_PICTURE_AVAIL; + return m_state; } - m_state = STATE_PICTURE_AVAIL; - return m_state; } - else break; } case PU_END_OF_SEQUENCE: m_next_state = STATE_SEQUENCE_END; break; - + case PU_AUXILIARY_DATA: case PU_PADDING_DATA: if (m_verbose) std::cerr << "Ignoring Auxiliary/Padding data" << std::endl; // Ignore auxiliary and padding data and continue parsing break; - case PU_LOW_DELAY_FRAME: + case PU_LOW_DELAY_PICTURE: if (m_verbose) - std::cerr << "Low delay frame decoding not yet supported" << std::endl; + std::cerr << "Low delay picture decoding not yet supported" << std::endl; return STATE_INVALID; default: @@ -276,63 +276,12 @@ return m_decomp->GetParseParams(); } -const FrameParams& DiracParser::GetNextFrameParams() const +const PictureParams* DiracParser::GetNextPictureParams() const { - return m_decomp->GetNextFrameParams(); + return m_decomp->GetNextPictureParams(); } -const Frame& DiracParser::GetNextFrame() const +const Picture* DiracParser::GetNextPicture() const { - return m_decomp->GetNextFrame(); + return m_decomp->GetNextPicture(); } - - -// NOTE - FIXME - Temporarily comment out skip -void DiracParser::SetSkip(bool skip) -{ - if (!skip) - return; - /*** - const FrameParams& fparams = m_decomp->GetNextFrameParams(); - // FIXME: need to change this logic once bitstream is finalised. so that - // we skip to next RAP when an L1 frame is skipped - if (skip == false) - { - if (m_skip_type.IsNonRef()) - m_skip = false; - - else if (m_skip_type.IsRef() ) - { - if (fparams.FSort().IsNonRef() || fparams.FSort().IsInterRef()) - m_skip = true; - else - { - m_skip_type.SetInterNonRef(); - m_skip = false; - } - } - } - else - { - m_skip = true; - if (m_skip_type.IsRef() != fparams.FSort().IsRef() || - m_skip_type.IsIntra() != fparams.FSort().IsIntra()) - { - if (!fparams.FSort().IsNonRef()) - { - if (fparams.FSort().IsInter()) - { - m_skip_type.SetInterRef(); - } - else - { - m_skip_type.SetIntraRef(); - } - } - } - } - ***/ -} - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_decoder/dirac_cppparser.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_decoder/dirac_cppparser.h --- dirac-0.9.1/libdirac_decoder/dirac_cppparser.h 2007-09-03 12:31:42.000000000 +0100 +++ dirac-1.0.2/libdirac_decoder/dirac_cppparser.h 2008-05-02 07:05:04.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: dirac_cppparser.h,v 1.5 2007/09/03 11:31:42 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: dirac_cppparser.h,v 1.8 2008/05/02 06:05:04 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -44,15 +44,15 @@ #include #include #include //for DecoderState -#include -#include +#include +#include namespace dirac { class SequenceDecompressor; - class Frame; + class Picture; - //! Input Stream Buffer Class. + //! Input Stream Buffer Class. class InputStreamBuffer : public std::streambuf { public: @@ -65,13 +65,13 @@ //! Rewind buffer to start of data std::ios::pos_type Rewind(); - //! Seek to position specified by bytes offset from pos + //! Seek to position specified by bytes offset from pos /*! Seek takes - \param bytes offset in bytes + \param bytes offset in bytes \param pos the position from which the offset is applied */ - std::ios::pos_type Seek(std::ios::pos_type bytes, + std::ios::pos_type Seek(std::ios::pos_type bytes, std::ios::seekdir pos = std::ios::cur); //! Return the current read position in the buffer @@ -106,11 +106,11 @@ //! Dirac Stream Parser Class /*! This class is a wrapper around the SequenceDecompressor class. The - Sequence Decompressor class needs a full frame of data to be available - to decompress a frame successfully. So, the DiracParser class uses + Sequence Decompressor class needs a full picture of data to be available + to decompress a picture successfully. So, the DiracParser class uses the InputStreamBuffer class to store data until a chunk is available to be processed and then invokes the SequenceDecompressor functions to - process data. A chunk of data can be a start of sequence, a frame or + process data. A chunk of data can be a start of sequence, a picture or end of sequence data. The istream used to instantiate the SequenceDecompressor object is created using an InputStreamBuffer object which is manipulated the DiracParser. This ensures that data is @@ -128,7 +128,7 @@ //! Destructor ~DiracParser(); - + //! Adds bytes to encoder /*! SetBuffer takes \param start Start of input buffer @@ -138,11 +138,10 @@ //! Parse the data in internal buffer /*! - Parses the data in the input buffer. This function returns one + Parses the data in the input buffer. This function returns one of the following values - \n STATE_BUFFER : Not enough data in internal buffer to process + \n STATE_BUFFER : Not enough data in internal buffer to process \n STATE_SEQUENCE : Start of sequence detected - \n STATE_PICTURE_START : Start of picture detected \n STATE_PICTURE_AVAIL : Decoded picture available \n STATE_SEQUENCE_END : End of sequence detected \n STATE_INVALID : Invalid stream. Stop further processing @@ -155,25 +154,15 @@ //! Return the source parameters of the current sequence const SourceParams& GetSourceParams() const; - //! Return the frame parameters of the next frame to be decoded - const FrameParams& GetNextFrameParams() const; + //! Return the picture parameters of the next picture to be decoded + const PictureParams* GetNextPictureParams() const; + + //! Return the decoded picture + const Picture* GetNextPicture() const; - //! Return the decoded frame - const Frame& GetNextFrame() const; - //! Return the coding parameters of the current sequence const DecoderParams& GetDecoderParams() const; - //! Return the last frame in the sequence - // const Frame& GetLastFrame() const; - - //! Set the skip flag - /*! Set the skip flag to the value specified in skip. If skip is true, - the parser will skip decoding the next frame until the this - function is called again with skip set to false - */ - void SetSkip (bool skip); - private: private: @@ -186,14 +175,10 @@ DecoderState m_state; //! Next state the parser will enter DecoderState m_next_state; - //! frame number of last frame decoded in display order - int m_show_fnum; + //! picture number of last picture decoded in display order + int m_show_pnum; //! Sequence decompressor object SequenceDecompressor *m_decomp; - //! skip next frame flag - bool m_skip; - //! skip frame type - FrameSort m_skip_type; //! verbose flag bool m_verbose; //! Byte Stream Buffer diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_decoder/dirac_parser.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_decoder/dirac_parser.cpp --- dirac-0.9.1/libdirac_decoder/dirac_parser.cpp 2008-01-15 04:36:23.000000000 +0000 +++ dirac-1.0.2/libdirac_decoder/dirac_parser.cpp 2008-06-19 11:33:24.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: dirac_parser.cpp,v 1.17 2008/01/15 04:36:23 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: dirac_parser.cpp,v 1.22 2008/06/19 10:33:24 tjdwave Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -41,7 +41,7 @@ #include #include #include -#include +#include #if defined (HAVE_MMX) #include @@ -225,7 +225,7 @@ #endif } -static void set_field_component (const PicArray& pic_data, const CompSort cs, dirac_decoder_t *decoder) +static void set_field_component (const PicArray& pic_data, const CompSort cs, dirac_decoder_t *decoder, unsigned int pic_num) { TEST (decoder->fbuf != NULL); int xl, yl; @@ -260,10 +260,9 @@ // Seek offset between writing fields to store int skip = 0; - int field_num = decoder->frame_params.fnum; - bool top_field = decoder->src_params.topfieldfirst ? (!(field_num%2)) : - (field_num%2); + bool top_field = decoder->src_params.topfieldfirst ? (!(pic_num%2)) : + (pic_num%2); if (top_field) // i.e. top field { @@ -298,35 +297,25 @@ TEST (decoder->fbuf != NULL); TEST (decoder->state == STATE_PICTURE_AVAIL); - const Frame& my_frame = parser->GetNextFrame(); + const Picture* my_picture = parser->GetNextPicture(); - if (!parser->GetDecoderParams().FieldCoding()) + if (my_picture) { - set_frame_component (my_frame.Ydata(), Y_COMP, decoder); - set_frame_component (my_frame.Udata(), U_COMP, decoder); - set_frame_component (my_frame.Vdata(), V_COMP, decoder); - } - else - { - set_field_component (my_frame.Ydata(), Y_COMP, decoder); - set_field_component (my_frame.Udata(), U_COMP, decoder); - set_field_component (my_frame.Vdata(), V_COMP, decoder); - } - return; -} - -static void set_frame_params (const FrameParams& my_frame_params, dirac_decoder_t *decoder) -{ - TEST (decoder != NULL); - dirac_frameparams_t *frame_params = &decoder->frame_params; - - TEST (decoder->state == STATE_PICTURE_AVAIL || - decoder->state == STATE_PICTURE_START); - - frame_params->ftype = my_frame_params.FSort().IsIntra() ? INTRA_FRAME : INTER_FRAME; - frame_params->rtype = my_frame_params.FSort().IsRef() ? REFERENCE_FRAME : NON_REFERENCE_FRAME; - frame_params->fnum = my_frame_params.FrameNum(); + int pic_num = my_picture->GetPparams().PictureNum(); + if (!parser->GetDecoderParams().FieldCoding()) + { + set_frame_component (my_picture->Data(Y_COMP), Y_COMP, decoder); + set_frame_component (my_picture->Data(U_COMP), U_COMP, decoder); + set_frame_component (my_picture->Data(V_COMP), V_COMP, decoder); + } + else + { + set_field_component (my_picture->Data(Y_COMP), Y_COMP, decoder, pic_num); + set_field_component (my_picture->Data(U_COMP), U_COMP, decoder, pic_num); + set_field_component (my_picture->Data(V_COMP), V_COMP, decoder, pic_num); + } + } return; } @@ -336,6 +325,8 @@ TEST (decoder->parser != NULL); DiracParser *parser = static_cast(decoder->parser); + unsigned int pic_num; + while(true) { try @@ -354,29 +345,41 @@ return decoder->state; break; - case STATE_PICTURE_START: - /* frame params of the frame being decoded in coding order */ - set_frame_params (parser->GetNextFrameParams(), decoder); - decoder->frame_avail = 0; - return decoder->state; - break; - case STATE_PICTURE_AVAIL: - /* frame params of the frame available for display */ - set_frame_params (parser->GetNextFrame().GetFparams(), decoder); - set_frame_data (parser, decoder); - if (!parser->GetDecoderParams().FieldCoding() || - decoder->frame_params.fnum%2) + { + const Picture *my_picture = parser->GetNextPicture(); + if (my_picture) { - decoder->frame_avail = 1; - return decoder->state; + pic_num = parser->GetNextPicture()->GetPparams().PictureNum(); + decoder->frame_num = pic_num; + set_frame_data (parser, decoder); + + /* A full frame is only available if we're doing + * progressive coding or have decoded the second field. + * Will only return when a full frame is available + */ + if (!parser->GetDecoderParams().FieldCoding() || + pic_num%2) + { + /* Frame number currently available for display */ + decoder->frame_num = pic_num; + if (parser->GetDecoderParams().FieldCoding()) + decoder->frame_num = pic_num>>1; + decoder->frame_avail = 1; + return decoder->state; + } } break; + } case STATE_INVALID: return decoder->state; break; + case STATE_SEQUENCE_END: + return decoder->state; + break; + default: break; } @@ -390,16 +393,6 @@ return decoder->state; } -extern DllExport void dirac_skip (dirac_decoder_t *decoder, int skip) -{ - TEST (decoder != NULL); - TEST (decoder->parser != NULL); - DiracParser *parser = static_cast(decoder->parser); - - parser->SetSkip(skip > 0 ? true : false); -} - - extern DllExport void dirac_set_buf (dirac_decoder_t *decoder, unsigned char *buf[3], void *id) { TEST (decoder != NULL); diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_decoder/dirac_parser.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_decoder/dirac_parser.h --- dirac-0.9.1/libdirac_decoder/dirac_parser.h 2007-09-03 12:31:42.000000000 +0100 +++ dirac-1.0.2/libdirac_decoder/dirac_parser.h 2008-02-13 03:36:11.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: dirac_parser.h,v 1.6 2007/09/03 11:31:42 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: dirac_parser.h,v 1.8 2008/02/13 03:36:11 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -52,12 +52,12 @@ \verbatim #include \n - Initialise the decodern + Initialise the decoder - decoder_handle = dirac_decoder_init(); + dirac_decoder_t *decoder_handle = dirac_decoder_init(); do { - dirac_decoder_state_t state = dirac_parse (decoder); + dirac_decoder_state_t state = dirac_parse (decoder_handle); switch (state) { case STATE_BUFFER: @@ -110,13 +110,13 @@ dirac_parseparams_t parse_params; /*! source parameters */ dirac_sourceparams_t src_params; - /*! frame parameters */ - dirac_frameparams_t frame_params; + /*! frame (NOT picture) number */ + unsigned int frame_num; /*! void pointer to internal parser */ void *parser; - /*! frame buffer to hold luma and chroma data */ + /*! frame (NOT picture) buffer to hold luma and chroma data */ dirac_framebuf_t *fbuf; - /*! boolean flag that indicates if a decoded frame is available */ + /*! boolean flag that indicates if a decoded frame (NOT picture) is available */ int frame_avail; /*! verbose output */ int verbose; @@ -177,13 +177,6 @@ */ extern DllExport void dirac_set_buf (dirac_decoder_t *decoder, unsigned char *buf[3], void *id); -/*! - Skip the next frame to be decoded - \param decoder Decoder object - \param skip Value 0 - decode next frame; 1 - skip next frame -*/ -extern DllExport void dirac_skip(dirac_decoder_t *decoder, int skip); - #ifdef __cplusplus } #endif diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_decoder/frame_decompress.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_decoder/frame_decompress.cpp --- dirac-0.9.1/libdirac_decoder/frame_decompress.cpp 2007-11-12 02:27:18.000000000 +0000 +++ dirac-1.0.2/libdirac_decoder/frame_decompress.cpp 1970-01-01 01:00:00.000000000 +0100 @@ -1,432 +0,0 @@ -/* ***** BEGIN LICENSE BLOCK ***** -* -* $Id: frame_decompress.cpp,v 1.31 2007/11/12 02:27:18 asuraparaju Exp $ $Name: Dirac_0_9_1 $ -* -* Version: MPL 1.1/GPL 2.0/LGPL 2.1 -* -* The contents of this file are subject to the Mozilla Public License -* Version 1.1 (the "License"); you may not use this file except in compliance -* with the License. You may obtain a copy of the License at -* http://www.mozilla.org/MPL/ -* -* Software distributed under the License is distributed on an "AS IS" basis, -* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for -* the specific language governing rights and limitations under the License. -* -* The Original Code is BBC Research and Development code. -* -* The Initial Developer of the Original Code is the British Broadcasting -* Corporation. -* Portions created by the Initial Developer are Copyright (C) 2004. -* All Rights Reserved. -* -* Contributor(s): Thomas Davies (Original Author), -* Scott R Ladd, -* Anuradha Suraparaju, -* Andrew Kennedy, -* Tim Borer -* -* Alternatively, the contents of this file may be used under the terms of -* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser -* Public License Version 2.1 (the "LGPL"), in which case the provisions of -* the GPL or the LGPL are applicable instead of those above. If you wish to -* allow use of your version of this file only under the terms of the either -* the GPL or LGPL and not to allow others to use your version of this file -* under the MPL, indicate your decision by deleting the provisions above -* and replace them with the notice and other provisions required by the GPL -* or LGPL. If you do not delete the provisions above, a recipient may use -* your version of this file under the terms of any one of the MPL, the GPL -* or the LGPL. -* ***** END LICENSE BLOCK ***** */ - - -//Decompression of frames -///////////////////////// - -#include -#include -#include -#include -#include -#include -#include -using namespace dirac; - -#include -#include - -using std::vector; -using std::auto_ptr; - -FrameDecompressor::FrameDecompressor(DecoderParams& decp, ChromaFormat cf) -: -m_decparams(decp), -m_cformat(cf) -{ -} - -FrameDecompressor::~FrameDecompressor() -{ -} - - -bool FrameDecompressor::Decompress(ParseUnitByteIO& parseunit_byteio, - FrameBuffer& my_buffer) -{ - // get current byte position - //int start_pos = parseunit_byteio.GetReadBytePosition(); - try { - - // read frame data - FrameByteIO frame_byteio(m_fparams, - parseunit_byteio); - - frame_byteio.Input(); - - FrameSort fs; - - if (m_fparams.GetFrameType() == INTRA_FRAME) - fs.SetIntra(); - else - fs.SetInter(); - - if (m_fparams.GetReferenceType() == REFERENCE_FRAME) - fs.SetRef(); - else - fs.SetNonRef(); - - m_fparams.SetFSort(fs); - - if (m_fparams.GetReferenceType() == REFERENCE_FRAME) - { - // Now clean the reference frames from the buffer - CleanReferenceFrames( my_buffer ); - } - - // Check if the frame can be decoded - if (m_fparams.FSort().IsInter()) - { - const std::vector& refs = m_fparams.Refs(); - - for (unsigned int i = 0; i < refs.size(); ++i) - { - if ( !my_buffer.IsFrameAvail(refs[i]) ) - { - return false; - } - } - } - - m_skipped=false; - if ( !m_skipped ) - {//if we're not m_skipped then we can decode the rest of the frame - - if ( m_decparams.Verbose() ) - { - std::cout<1 ) - std::cout<<" and "< mv_data; - - if ( fsort.IsInter() ) - { //do all the MV stuff - DecompressMVData( mv_data, frame_byteio ); - } - - // Read the transform header - TransformByteIO transform_byteio(frame_byteio, m_fparams, m_decparams); - transform_byteio.Input(); - - if (m_fparams.FSort().IsIntra() && m_decparams.ZeroTransform()) - { - DIRAC_THROW_EXCEPTION( - ERR_UNSUPPORTED_STREAM_DATA, - "Intra frames cannot have Zero-Residual", - SEVERITY_FRAME_ERROR); - } - - // Set frame dimensions based on the transform depth. If zero residual - // then use the actual picture dimensions - PushFrame(my_buffer); - - //Reference to the frame being decoded - Frame& my_frame = my_buffer.GetFrame(m_fparams.FrameNum()); - - if (!m_decparams.ZeroTransform()) - { - //decode components - CompDecompress( &transform_byteio, my_buffer,m_fparams.FrameNum() , Y_COMP ); - CompDecompress( &transform_byteio, my_buffer , m_fparams.FrameNum() , U_COMP ); - CompDecompress( &transform_byteio, my_buffer , m_fparams.FrameNum() , V_COMP ); - } - else - { - my_frame.Fill(0); - } - - if ( fsort.IsInter() ) - //motion compensate to add the data back in if we don't have an I frame - MotionCompensator::CompensateFrame( m_decparams , ADD , - my_buffer , m_fparams.FrameNum() , - *(mv_data.get()) ); - my_frame.Clip(); - - if (m_decparams.Verbose()) - std::cout<= 0 && my_buffer.IsFrameAvail(retd_fnum) && my_buffer.GetFrame(retd_fnum).GetFparams().FSort().IsRef() ) - { - my_buffer.Clean(retd_fnum); - if ( m_decparams.Verbose() ) - std::cout<& mv_data, - FrameByteIO& frame_byteio ) -{ - MvDataByteIO mvdata_byteio (frame_byteio, m_fparams, m_decparams); - - // Read in the frame prediction parameters - mvdata_byteio.Input(); - - SetMVBlocks(); - mv_data.reset(new MvData( m_decparams.XNumMB() , - m_decparams.YNumMB(), m_fparams.NumRefs() )); - - // decode mv data - if (m_decparams.Verbose()) - std::cout<Input(); - // Read the mode data - num_bits = mvdata_byteio.SplitModeData()->DataBlockSize(); - SplitModeCodec smode_decoder( mvdata_byteio.SplitModeData()->DataBlock(), TOTAL_MV_CTXS); - smode_decoder.Decompress( *(mv_data.get()) , num_bits); - - // Read in the prediction mode data header - mvdata_byteio.PredModeData()->Input(); - // Read the mode data - num_bits = mvdata_byteio.PredModeData()->DataBlockSize(); - PredModeCodec pmode_decoder( mvdata_byteio.PredModeData()->DataBlock(), TOTAL_MV_CTXS); - pmode_decoder.Decompress( *(mv_data.get()) , num_bits); - - // Read in the MV1 horizontal data header - mvdata_byteio.MV1HorizData()->Input(); - // Read the MV1 horizontal data - num_bits = mvdata_byteio.MV1HorizData()->DataBlockSize(); - VectorElementCodec vdecoder1h( mvdata_byteio.MV1HorizData()->DataBlock(), 1, - HORIZONTAL, TOTAL_MV_CTXS); - vdecoder1h.Decompress( *(mv_data.get()) , num_bits); - - // Read in the MV1 vertical data header - mvdata_byteio.MV1VertData()->Input(); - // Read the MV1 data - num_bits = mvdata_byteio.MV1VertData()->DataBlockSize(); - VectorElementCodec vdecoder1v( mvdata_byteio.MV1VertData()->DataBlock(), 1, - VERTICAL, TOTAL_MV_CTXS); - vdecoder1v.Decompress( *(mv_data.get()) , num_bits); - - if ( (mv_data.get())->NumRefs()>1 ) - { - // Read in the MV2 horizontal data header - mvdata_byteio.MV2HorizData()->Input(); - // Read the MV2 horizontal data - num_bits = mvdata_byteio.MV2HorizData()->DataBlockSize(); - VectorElementCodec vdecoder2h( mvdata_byteio.MV2HorizData()->DataBlock(), 2, - HORIZONTAL, TOTAL_MV_CTXS); - vdecoder2h.Decompress( *(mv_data.get()) , num_bits); - - // Read in the MV2 vertical data header - mvdata_byteio.MV2VertData()->Input(); - // Read the MV2 vertical data - num_bits = mvdata_byteio.MV2VertData()->DataBlockSize(); - VectorElementCodec vdecoder2v( mvdata_byteio.MV2VertData()->DataBlock(), 2, - VERTICAL, TOTAL_MV_CTXS); - vdecoder2v.Decompress( *(mv_data.get()) , num_bits); - } - - // Read in the Y DC data header - mvdata_byteio.YDCData()->Input(); - // Read the Y DC data - num_bits = mvdata_byteio.YDCData()->DataBlockSize(); - DCCodec ydc_decoder( mvdata_byteio.YDCData()->DataBlock(), Y_COMP, TOTAL_MV_CTXS); - ydc_decoder.Decompress( *(mv_data.get()) , num_bits); - - // Read in the U DC data header - mvdata_byteio.UDCData()->Input(); - // Read the U DC data - num_bits = mvdata_byteio.UDCData()->DataBlockSize(); - DCCodec udc_decoder( mvdata_byteio.YDCData()->DataBlock(), U_COMP, TOTAL_MV_CTXS); - udc_decoder.Decompress( *(mv_data.get()) , num_bits); - - // Read in the Y DC data header - mvdata_byteio.YDCData()->Input(); - // Read the Y DC data - num_bits = mvdata_byteio.YDCData()->DataBlockSize(); - DCCodec vdc_decoder( mvdata_byteio.VDCData()->DataBlock(), V_COMP, TOTAL_MV_CTXS); - vdc_decoder.Decompress( *(mv_data.get()) , num_bits); -} diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_decoder/frame_decompress.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_decoder/frame_decompress.h --- dirac-0.9.1/libdirac_decoder/frame_decompress.h 2007-09-03 12:31:42.000000000 +0100 +++ dirac-1.0.2/libdirac_decoder/frame_decompress.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,153 +0,0 @@ -/* ***** BEGIN LICENSE BLOCK ***** -* -* $Id: frame_decompress.h,v 1.17 2007/09/03 11:31:42 asuraparaju Exp $ $Name: Dirac_0_9_1 $ -* -* Version: MPL 1.1/GPL 2.0/LGPL 2.1 -* -* The contents of this file are subject to the Mozilla Public License -* Version 1.1 (the "License"); you may not use this file except in compliance -* with the License. You may obtain a copy of the License at -* http://www.mozilla.org/MPL/ -* -* Software distributed under the License is distributed on an "AS IS" basis, -* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for -* the specific language governing rights and limitations under the License. -* -* The Original Code is BBC Research and Development code. -* -* The Initial Developer of the Original Code is the British Broadcasting -* Corporation. -* Portions created by the Initial Developer are Copyright (C) 2004. -* All Rights Reserved. -* -* Contributor(s): Thomas Davies (Original Author), -* Scott R Ladd, -* Anuradha Suraparaju -* Andrew Kennedy -* -* Alternatively, the contents of this file may be used under the terms of -* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser -* Public License Version 2.1 (the "LGPL"), in which case the provisions of -* the GPL or the LGPL are applicable instead of those above. If you wish to -* allow use of your version of this file only under the terms of the either -* the GPL or LGPL and not to allow others to use your version of this file -* under the MPL, indicate your decision by deleting the provisions above -* and replace them with the notice and other provisions required by the GPL -* or LGPL. If you do not delete the provisions above, a recipient may use -* your version of this file under the terms of any one of the MPL, the GPL -* or the LGPL. -* ***** END LICENSE BLOCK ***** */ - - - -#ifndef _FRAME_DECOMPRESS_H_ -#define _FRAME_DECOMPRESS_H_ - -#include -#include -#include -#include - -namespace dirac -{ - class MvData; - - //! Compress a single image frame - /*! - This class decompresses a single frame at a time, using parameters - supplied at its construction. FrameDecompressor is used by - SequenceDecompressor. - */ - class FrameDecompressor{ - public: - //! Constructor - /*! - Creates a FrameDecompressor with specific set of parameters the - control the decompression process. It decodes motion data before - decoding each component of the frame. - - \param decp decoder parameters - \param cf the chroma format of the frame being decompressed - */ - FrameDecompressor(DecoderParams& decp, ChromaFormat cf); - - //! Destructor - /*! - Releases resources. - */ - ~FrameDecompressor(); - - //! Decompress the next frame into the buffer - /*! - Decompresses the next frame from the stream and place at the end - of a frame buffer. - Returns true if able to decode successfully, false otherwise - - \param parseunit_byteio Frame info in Dirac-stream format - \param my_buffer picture buffer into which the frame is placed - */ - bool Decompress(ParseUnitByteIO& parseunit_byteio, - FrameBuffer& my_buffer); - - //! Returns the frame parameters of the current frame being decoded - const FrameParams& GetFrameParams() const{ return m_fparams; } - - private: - //! Copy constructor is private and body-less - /*! - Copy constructor is private and body-less. This class should not be copied. - - */ - FrameDecompressor(const FrameDecompressor& cpy); - - //! Assignment = is private and body-less - /*! - Assignment = is private and body-less. This class should not be - assigned. - */ - FrameDecompressor& operator=(const FrameDecompressor& rhs); - - //! Removes all the reference frames in the retired list - void CleanReferenceFrames( FrameBuffer& my_buffer ); - - //! Decodes component data - void CompDecompress(TransformByteIO *p_transform_byteio, - FrameBuffer& my_buffer,int fnum, CompSort cs); - - //! Decodes the motion data - void DecompressMVData( std::auto_ptr& mv_data, FrameByteIO& frame_byteio ); - - - //! Set the number of superblocks and blocks - void SetMVBlocks(); - - //! Add a frame to the frame buffer - void PushFrame(FrameBuffer &my_buffer); - - //Member variables - - //! Parameters for the decompression, as provided in constructor - DecoderParams& m_decparams; - - //! Chroma format of the frame being decompressed - ChromaFormat m_cformat; - - //! An indicator which is true if the frame has been skipped, false otherwise - bool m_skipped; - - //! An indicator that is true if we use global motion vectors, false otherwise - bool m_use_global; - - //! An indicator that is true if we use block motion vectors, false otherwise - bool m_use_block_mv; - - //! Prediction mode to use if we only have global motion vectors - PredMode m_global_pred_mode; - - //! Current Frame Parameters - FrameParams m_fparams; - }; - -} // namespace dirac - -#endif diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_decoder/Makefile.am /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_decoder/Makefile.am --- dirac-0.9.1/libdirac_decoder/Makefile.am 2006-04-20 11:41:57.000000000 +0100 +++ dirac-1.0.2/libdirac_decoder/Makefile.am 2008-08-14 03:18:22.000000000 +0100 @@ -1,12 +1,12 @@ -# $Id: Makefile.am,v 1.10 2006/04/20 10:41:57 asuraparaju Exp $ +# $Id: Makefile.am,v 1.13 2008/08/14 02:18:22 asuraparaju Exp $ # -INCLUDES = -I$(top_srcdir) -I$(srcdir) +INCLUDES = -I$(top_srcdir) -I$(srcdir) -I$(top_builddir) -h_sources = comp_decompress.h frame_decompress.h seq_decompress.h \ +h_sources = comp_decompress.h picture_decompress.h seq_decompress.h \ decoder_types.h dirac_cppparser.h dirac_parser.h -cpp_sources = comp_decompress.cpp frame_decompress.cpp seq_decompress.cpp \ +cpp_sources = comp_decompress.cpp picture_decompress.cpp seq_decompress.cpp \ dirac_cppparser.cpp dirac_parser.cpp if USE_MSVC @@ -26,7 +26,7 @@ libdirac_decoder_la_LIBADD = $(top_builddir)/libdirac_common/libdirac_common.la $(top_builddir)/libdirac_byteio/libdirac_byteio.la -libdirac_decoder_la_LDFLAGS= -no-undefined -version-info $(GENERIC_LIBRARY_VERSION) +libdirac_decoder_la_LDFLAGS= -no-undefined -version-info $(GENERIC_LIBRARY_VERSION) -export-symbols-regex '^dirac_' library_includedir=$(includedir)/$(GENERIC_LIBRARY_NAME)/libdirac_decoder library_include_HEADERS = dirac_parser.h decoder_types.h diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_decoder/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_decoder/Makefile.in --- dirac-0.9.1/libdirac_decoder/Makefile.in 2008-01-26 12:30:37.000000000 +0000 +++ dirac-1.0.2/libdirac_decoder/Makefile.in 2009-02-11 01:43:38.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in 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. @@ -14,20 +14,16 @@ @SET_MAKE@ -# $Id: Makefile.am,v 1.10 2006/04/20 10:41:57 asuraparaju Exp $ +# $Id: Makefile.am,v 1.13 2008/08/14 02:18:22 asuraparaju Exp $ # -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -45,7 +41,8 @@ DIST_COMMON = $(library_include_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -66,7 +63,7 @@ $(top_builddir)/libdirac_common/libdirac_common.a \ $(top_builddir)/libdirac_byteio/libdirac_byteio.a am__objects_1 = -am__objects_2 = comp_decompress.$(OBJEXT) frame_decompress.$(OBJEXT) \ +am__objects_2 = comp_decompress.$(OBJEXT) picture_decompress.$(OBJEXT) \ seq_decompress.$(OBJEXT) dirac_cppparser.$(OBJEXT) \ dirac_parser.$(OBJEXT) am_libdirac_decoder_a_OBJECTS = $(am__objects_1) $(am__objects_2) @@ -77,32 +74,38 @@ $(top_builddir)/libdirac_common/libdirac_common.la \ $(top_builddir)/libdirac_byteio/libdirac_byteio.la am__objects_3 = libdirac_decoder_la-comp_decompress.lo \ - libdirac_decoder_la-frame_decompress.lo \ + libdirac_decoder_la-picture_decompress.lo \ libdirac_decoder_la-seq_decompress.lo \ libdirac_decoder_la-dirac_cppparser.lo \ libdirac_decoder_la-dirac_parser.lo am_libdirac_decoder_la_OBJECTS = $(am__objects_1) $(am__objects_3) libdirac_decoder_la_OBJECTS = $(am_libdirac_decoder_la_OBJECTS) +libdirac_decoder_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(libdirac_decoder_la_CXXFLAGS) $(CXXFLAGS) \ + $(libdirac_decoder_la_LDFLAGS) $(LDFLAGS) -o $@ @USE_MSVC_FALSE@am_libdirac_decoder_la_rpath = -rpath $(libdir) -DEFAULT_INCLUDES = -I. -I$(srcdir) +DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) -CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \ - $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ SOURCES = $(libdirac_decoder_a_SOURCES) $(libdirac_decoder_la_SOURCES) DIST_SOURCES = $(libdirac_decoder_a_SOURCES) \ $(libdirac_decoder_la_SOURCES) @@ -112,8 +115,7 @@ CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ +ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ @@ -136,62 +138,46 @@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ GENERIC_RELEASE = @GENERIC_RELEASE@ GENERIC_VERSION = @GENERIC_VERSION@ GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBEXT = @LIBEXT@ LIBFLAGS = @LIBFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -200,22 +186,19 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -227,6 +210,7 @@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -245,6 +229,7 @@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -254,13 +239,17 @@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ -INCLUDES = -I$(top_srcdir) -I$(srcdir) -h_sources = comp_decompress.h frame_decompress.h seq_decompress.h \ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +INCLUDES = -I$(top_srcdir) -I$(srcdir) -I$(top_builddir) +h_sources = comp_decompress.h picture_decompress.h seq_decompress.h \ decoder_types.h dirac_cppparser.h dirac_parser.h -cpp_sources = comp_decompress.cpp frame_decompress.cpp seq_decompress.cpp \ +cpp_sources = comp_decompress.cpp picture_decompress.cpp seq_decompress.cpp \ dirac_cppparser.cpp dirac_parser.cpp @USE_MSVC_TRUE@lib_LIBRARIES = libdirac_decoder.a @@ -274,7 +263,7 @@ libdirac_decoder_la_SOURCES = $(h_sources) $(cpp_sources) libdirac_decoder_la_CXXFLAGS = $(AM_CXXFLAGS) libdirac_decoder_la_LIBADD = $(top_builddir)/libdirac_common/libdirac_common.la $(top_builddir)/libdirac_byteio/libdirac_byteio.la -libdirac_decoder_la_LDFLAGS = -no-undefined -version-info $(GENERIC_LIBRARY_VERSION) +libdirac_decoder_la_LDFLAGS = -no-undefined -version-info $(GENERIC_LIBRARY_VERSION) -export-symbols-regex '^dirac_' library_includedir = $(includedir)/$(GENERIC_LIBRARY_NAME)/libdirac_decoder library_include_HEADERS = dirac_parser.h decoder_types.h @USE_MSVC_TRUE@CLEANFILES = *.pdb *.ilk *.dll *.lib *.exp *.a @@ -313,7 +302,7 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-libLIBRARIES: $(lib_LIBRARIES) @$(NORMAL_INSTALL) - test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)" + test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ @@ -346,21 +335,21 @@ $(RANLIB) libdirac_decoder.a install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) - test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)" + test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ - echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) - @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ - echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ - $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLTLIBRARIES: @@ -372,7 +361,7 @@ rm -f "$${dir}/so_locations"; \ done libdirac_decoder.la: $(libdirac_decoder_la_OBJECTS) $(libdirac_decoder_la_DEPENDENCIES) - $(CXXLINK) $(am_libdirac_decoder_la_rpath) $(libdirac_decoder_la_LDFLAGS) $(libdirac_decoder_la_OBJECTS) $(libdirac_decoder_la_LIBADD) $(LIBS) + $(libdirac_decoder_la_LINK) $(am_libdirac_decoder_la_rpath) $(libdirac_decoder_la_OBJECTS) $(libdirac_decoder_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -383,82 +372,78 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/comp_decompress.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirac_cppparser.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirac_parser.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/frame_decompress.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_decoder_la-comp_decompress.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_decoder_la-dirac_cppparser.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_decoder_la-dirac_parser.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_decoder_la-frame_decompress.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_decoder_la-picture_decompress.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_decoder_la-seq_decompress.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/picture_decompress.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/seq_decompress.Po@am__quote@ .cpp.o: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: -@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< libdirac_decoder_la-comp_decompress.lo: comp_decompress.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_decoder_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_decoder_la-comp_decompress.lo -MD -MP -MF "$(DEPDIR)/libdirac_decoder_la-comp_decompress.Tpo" -c -o libdirac_decoder_la-comp_decompress.lo `test -f 'comp_decompress.cpp' || echo '$(srcdir)/'`comp_decompress.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_decoder_la-comp_decompress.Tpo" "$(DEPDIR)/libdirac_decoder_la-comp_decompress.Plo"; else rm -f "$(DEPDIR)/libdirac_decoder_la-comp_decompress.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_decoder_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_decoder_la-comp_decompress.lo -MD -MP -MF $(DEPDIR)/libdirac_decoder_la-comp_decompress.Tpo -c -o libdirac_decoder_la-comp_decompress.lo `test -f 'comp_decompress.cpp' || echo '$(srcdir)/'`comp_decompress.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_decoder_la-comp_decompress.Tpo $(DEPDIR)/libdirac_decoder_la-comp_decompress.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='comp_decompress.cpp' object='libdirac_decoder_la-comp_decompress.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_decoder_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_decoder_la-comp_decompress.lo `test -f 'comp_decompress.cpp' || echo '$(srcdir)/'`comp_decompress.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_decoder_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_decoder_la-comp_decompress.lo `test -f 'comp_decompress.cpp' || echo '$(srcdir)/'`comp_decompress.cpp -libdirac_decoder_la-frame_decompress.lo: frame_decompress.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_decoder_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_decoder_la-frame_decompress.lo -MD -MP -MF "$(DEPDIR)/libdirac_decoder_la-frame_decompress.Tpo" -c -o libdirac_decoder_la-frame_decompress.lo `test -f 'frame_decompress.cpp' || echo '$(srcdir)/'`frame_decompress.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_decoder_la-frame_decompress.Tpo" "$(DEPDIR)/libdirac_decoder_la-frame_decompress.Plo"; else rm -f "$(DEPDIR)/libdirac_decoder_la-frame_decompress.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='frame_decompress.cpp' object='libdirac_decoder_la-frame_decompress.lo' libtool=yes @AMDEPBACKSLASH@ +libdirac_decoder_la-picture_decompress.lo: picture_decompress.cpp +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_decoder_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_decoder_la-picture_decompress.lo -MD -MP -MF $(DEPDIR)/libdirac_decoder_la-picture_decompress.Tpo -c -o libdirac_decoder_la-picture_decompress.lo `test -f 'picture_decompress.cpp' || echo '$(srcdir)/'`picture_decompress.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_decoder_la-picture_decompress.Tpo $(DEPDIR)/libdirac_decoder_la-picture_decompress.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='picture_decompress.cpp' object='libdirac_decoder_la-picture_decompress.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_decoder_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_decoder_la-frame_decompress.lo `test -f 'frame_decompress.cpp' || echo '$(srcdir)/'`frame_decompress.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_decoder_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_decoder_la-picture_decompress.lo `test -f 'picture_decompress.cpp' || echo '$(srcdir)/'`picture_decompress.cpp libdirac_decoder_la-seq_decompress.lo: seq_decompress.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_decoder_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_decoder_la-seq_decompress.lo -MD -MP -MF "$(DEPDIR)/libdirac_decoder_la-seq_decompress.Tpo" -c -o libdirac_decoder_la-seq_decompress.lo `test -f 'seq_decompress.cpp' || echo '$(srcdir)/'`seq_decompress.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_decoder_la-seq_decompress.Tpo" "$(DEPDIR)/libdirac_decoder_la-seq_decompress.Plo"; else rm -f "$(DEPDIR)/libdirac_decoder_la-seq_decompress.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_decoder_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_decoder_la-seq_decompress.lo -MD -MP -MF $(DEPDIR)/libdirac_decoder_la-seq_decompress.Tpo -c -o libdirac_decoder_la-seq_decompress.lo `test -f 'seq_decompress.cpp' || echo '$(srcdir)/'`seq_decompress.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_decoder_la-seq_decompress.Tpo $(DEPDIR)/libdirac_decoder_la-seq_decompress.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='seq_decompress.cpp' object='libdirac_decoder_la-seq_decompress.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_decoder_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_decoder_la-seq_decompress.lo `test -f 'seq_decompress.cpp' || echo '$(srcdir)/'`seq_decompress.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_decoder_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_decoder_la-seq_decompress.lo `test -f 'seq_decompress.cpp' || echo '$(srcdir)/'`seq_decompress.cpp libdirac_decoder_la-dirac_cppparser.lo: dirac_cppparser.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_decoder_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_decoder_la-dirac_cppparser.lo -MD -MP -MF "$(DEPDIR)/libdirac_decoder_la-dirac_cppparser.Tpo" -c -o libdirac_decoder_la-dirac_cppparser.lo `test -f 'dirac_cppparser.cpp' || echo '$(srcdir)/'`dirac_cppparser.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_decoder_la-dirac_cppparser.Tpo" "$(DEPDIR)/libdirac_decoder_la-dirac_cppparser.Plo"; else rm -f "$(DEPDIR)/libdirac_decoder_la-dirac_cppparser.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_decoder_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_decoder_la-dirac_cppparser.lo -MD -MP -MF $(DEPDIR)/libdirac_decoder_la-dirac_cppparser.Tpo -c -o libdirac_decoder_la-dirac_cppparser.lo `test -f 'dirac_cppparser.cpp' || echo '$(srcdir)/'`dirac_cppparser.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_decoder_la-dirac_cppparser.Tpo $(DEPDIR)/libdirac_decoder_la-dirac_cppparser.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dirac_cppparser.cpp' object='libdirac_decoder_la-dirac_cppparser.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_decoder_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_decoder_la-dirac_cppparser.lo `test -f 'dirac_cppparser.cpp' || echo '$(srcdir)/'`dirac_cppparser.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_decoder_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_decoder_la-dirac_cppparser.lo `test -f 'dirac_cppparser.cpp' || echo '$(srcdir)/'`dirac_cppparser.cpp libdirac_decoder_la-dirac_parser.lo: dirac_parser.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_decoder_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_decoder_la-dirac_parser.lo -MD -MP -MF "$(DEPDIR)/libdirac_decoder_la-dirac_parser.Tpo" -c -o libdirac_decoder_la-dirac_parser.lo `test -f 'dirac_parser.cpp' || echo '$(srcdir)/'`dirac_parser.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_decoder_la-dirac_parser.Tpo" "$(DEPDIR)/libdirac_decoder_la-dirac_parser.Plo"; else rm -f "$(DEPDIR)/libdirac_decoder_la-dirac_parser.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_decoder_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_decoder_la-dirac_parser.lo -MD -MP -MF $(DEPDIR)/libdirac_decoder_la-dirac_parser.Tpo -c -o libdirac_decoder_la-dirac_parser.lo `test -f 'dirac_parser.cpp' || echo '$(srcdir)/'`dirac_parser.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_decoder_la-dirac_parser.Tpo $(DEPDIR)/libdirac_decoder_la-dirac_parser.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dirac_parser.cpp' object='libdirac_decoder_la-dirac_parser.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_decoder_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_decoder_la-dirac_parser.lo `test -f 'dirac_parser.cpp' || echo '$(srcdir)/'`dirac_parser.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_decoder_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_decoder_la-dirac_parser.lo `test -f 'dirac_parser.cpp' || echo '$(srcdir)/'`dirac_parser.cpp mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: install-library_includeHEADERS: $(library_include_HEADERS) @$(NORMAL_INSTALL) - test -z "$(library_includedir)" || $(mkdir_p) "$(DESTDIR)$(library_includedir)" + test -z "$(library_includedir)" || $(MKDIR_P) "$(DESTDIR)$(library_includedir)" @list='$(library_include_HEADERS)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ @@ -479,8 +464,8 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS @@ -492,8 +477,8 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ @@ -503,13 +488,12 @@ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique @@ -523,22 +507,21 @@ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -554,7 +537,7 @@ all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(HEADERS) installdirs: for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(libdir)" "$(DESTDIR)$(library_includedir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am @@ -592,7 +575,7 @@ -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags + distclean-tags dvi: dvi-am @@ -606,13 +589,21 @@ install-data-am: install-library_includeHEADERS +install-dvi: install-dvi-am + install-exec-am: install-exec-local install-libLIBRARIES \ install-libLTLIBRARIES +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -633,25 +624,28 @@ ps-am: -uninstall-am: uninstall-info-am uninstall-libLIBRARIES \ - uninstall-libLTLIBRARIES uninstall-library_includeHEADERS \ - uninstall-local +uninstall-am: uninstall-libLIBRARIES uninstall-libLTLIBRARIES \ + uninstall-library_includeHEADERS uninstall-local + +.MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libLIBRARIES clean-libLTLIBRARIES clean-libtool ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am \ - install-exec-local install-info install-info-am \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-exec-local install-html \ + install-html-am install-info install-info-am \ install-libLIBRARIES install-libLTLIBRARIES \ - install-library_includeHEADERS install-man install-strip \ + install-library_includeHEADERS install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-info-am \ - uninstall-libLIBRARIES uninstall-libLTLIBRARIES \ - uninstall-library_includeHEADERS uninstall-local + tags uninstall uninstall-am uninstall-libLIBRARIES \ + uninstall-libLTLIBRARIES uninstall-library_includeHEADERS \ + uninstall-local @USE_MSVC_TRUE@install-exec-local: libdirac_decoder.lib diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_decoder/picture_decompress.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_decoder/picture_decompress.cpp --- dirac-0.9.1/libdirac_decoder/picture_decompress.cpp 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/libdirac_decoder/picture_decompress.cpp 2008-10-01 02:26:47.000000000 +0100 @@ -0,0 +1,372 @@ +/* ***** BEGIN LICENSE BLOCK ***** +* +* $Id: picture_decompress.cpp,v 1.9 2008/10/01 01:26:47 asuraparaju Exp $ $Name: Dirac_1_0_2 $ +* +* Version: MPL 1.1/GPL 2.0/LGPL 2.1 +* +* The contents of this file are subject to the Mozilla Public License +* Version 1.1 (the "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* http://www.mozilla.org/MPL/ +* +* Software distributed under the License is distributed on an "AS IS" basis, +* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for +* the specific language governing rights and limitations under the License. +* +* The Original Code is BBC Research and Development code. +* +* The Initial Developer of the Original Code is the British Broadcasting +* Corporation. +* Portions created by the Initial Developer are Copyright (C) 2004. +* All Rights Reserved. +* +* Contributor(s): Thomas Davies (Original Author), +* Scott R Ladd, +* Anuradha Suraparaju, +* Andrew Kennedy, +* Tim Borer +* +* Alternatively, the contents of this file may be used under the terms of +* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser +* Public License Version 2.1 (the "LGPL"), in which case the provisions of +* the GPL or the LGPL are applicable instead of those above. If you wish to +* allow use of your version of this file only under the terms of the either +* the GPL or LGPL and not to allow others to use your version of this file +* under the MPL, indicate your decision by deleting the provisions above +* and replace them with the notice and other provisions required by the GPL +* or LGPL. If you do not delete the provisions above, a recipient may use +* your version of this file under the terms of any one of the MPL, the GPL +* or the LGPL. +* ***** END LICENSE BLOCK ***** */ + + +//Decompression of pictures +///////////////////////// + +#include +#include +#include +#include +#include +#include +#include +using namespace dirac; + +#include +#include + +using std::vector; +using std::auto_ptr; + +PictureDecompressor::PictureDecompressor(DecoderParams& decp, ChromaFormat cf) +: +m_decparams(decp), +m_cformat(cf) +{ +} + +PictureDecompressor::~PictureDecompressor() +{ +} + + +bool PictureDecompressor::Decompress(ParseUnitByteIO& parseunit_byteio, + PictureBuffer& my_buffer) +{ + // get current byte position + //int start_pos = parseunit_byteio.GetReadBytePosition(); + try { + + // read picture data + PictureByteIO picture_byteio(m_pparams, + parseunit_byteio); + + picture_byteio.Input(); + + PictureSort fs; + + if (m_pparams.GetPictureType() == INTRA_PICTURE) + fs.SetIntra(); + else + fs.SetInter(); + + if (m_pparams.GetReferenceType() == REFERENCE_PICTURE) + fs.SetRef(); + else + fs.SetNonRef(); + + m_pparams.SetPicSort(fs); + + if (m_pparams.GetReferenceType() == REFERENCE_PICTURE) + // Now clean the reference pictures from the buffer + CleanReferencePictures( my_buffer ); + + // Check if the picture can be decoded + if (m_pparams.PicSort().IsInter()){ + const std::vector& refs = m_pparams.Refs(); + + for (unsigned int i = 0; i < refs.size(); ++i) + if ( !my_buffer.IsPictureAvail(refs[i]) ) + return false; + } + + // decode the rest of the picture + + if ( m_decparams.Verbose() ){ + std::cout<1 ) + std::cout<<" and "< mv_data; + + if ( psort.IsInter() ) + //do all the MV stuff + DecompressMVData( mv_data, picture_byteio ); + + // Read the transform header + TransformByteIO transform_byteio(picture_byteio, m_pparams, m_decparams); + transform_byteio.Input(); + + if (m_pparams.PicSort().IsIntra() && m_decparams.ZeroTransform()){ + DIRAC_THROW_EXCEPTION( + ERR_UNSUPPORTED_STREAM_DATA, + "Intra pictures cannot have Zero-Residual", + SEVERITY_PICTURE_ERROR); + } + + // Add a picture to the buffer to decode into + PushPicture(my_buffer); + + //Reference to the picture being decoded + Picture& my_picture = my_buffer.GetPicture(m_pparams.PictureNum()); + + if (!m_decparams.ZeroTransform()){ + //decode components + Picture& pic = my_buffer.GetPicture( m_pparams.PictureNum() ); + + CompDecompressor my_compdecoder( m_decparams , pic.GetPparams() ); + + PicArray* comp_data[3]; + CoeffArray* coeff_data[3]; + + const int depth( m_decparams.TransformDepth() ); + WaveletTransform wtransform( depth, m_decparams.TransformFilter() ); + + pic.InitWltData( depth ); + + for (int c=0; c<3; ++c){ + ComponentByteIO component_byteio((CompSort) c, transform_byteio); + comp_data[c] = &pic.Data((CompSort) c); + coeff_data[c] = &pic.WltData((CompSort) c); + + SubbandList& bands = coeff_data[c]->BandList(); + + bands.Init(depth , coeff_data[c]->LengthX() , coeff_data[c]->LengthY()); + my_compdecoder.Decompress(&component_byteio, *(coeff_data[c]), bands ); + + wtransform.Transform(BACKWARD,*(comp_data[c]), *(coeff_data[c])); + } + } + else + my_picture.Fill(0); + + if ( psort.IsInter() ){ + Picture* my_pic = &my_buffer.GetPicture( m_pparams.PictureNum() ); + + const std::vector& refs = m_pparams.Refs(); + Picture* ref_pics[2]; + + ref_pics[0] = &my_buffer.GetPicture( refs[0] ); + if (refs.size()>1) + ref_pics[1] = &my_buffer.GetPicture( refs[1] ); + else + ref_pics[1] = ref_pics[0]; + + //motion compensate to add the data back in if we don't have an I picture + MotionCompensator::CompensatePicture( m_decparams.GetPicPredParams() , ADD , *(mv_data.get()) , + my_pic, ref_pics ); + } + + my_picture.Clip(); + + if (m_decparams.Verbose()) + std::cout<= 0 && my_buffer.IsPictureAvail(retd_pnum) && my_buffer.GetPicture(retd_pnum).GetPparams().PicSort().IsRef() ) + { + my_buffer.Remove(retd_pnum); + if ( m_decparams.Verbose() ) + std::cout<& mv_data, + PictureByteIO& picture_byteio ) +{ + PicturePredParams& predparams = m_decparams.GetPicPredParams(); + MvDataByteIO mvdata_byteio (picture_byteio, m_pparams, predparams); + + // Read in the picture prediction parameters + mvdata_byteio.Input(); + + SetMVBlocks(); + mv_data.reset(new MvData( predparams, m_pparams.NumRefs() )); + + // decode mv data + if (m_decparams.Verbose()) + std::cout<Input(); + // Read the mode data + num_bits = mvdata_byteio.SplitModeData()->DataBlockSize(); + SplitModeCodec smode_decoder( mvdata_byteio.SplitModeData()->DataBlock(), TOTAL_MV_CTXS); + smode_decoder.Decompress( *(mv_data.get()) , num_bits); + + // Read in the prediction mode data header + mvdata_byteio.PredModeData()->Input(); + // Read the mode data + num_bits = mvdata_byteio.PredModeData()->DataBlockSize(); + PredModeCodec pmode_decoder( mvdata_byteio.PredModeData()->DataBlock(), TOTAL_MV_CTXS, m_pparams.NumRefs()); + pmode_decoder.Decompress( *(mv_data.get()) , num_bits); + + // Read in the MV1 horizontal data header + mvdata_byteio.MV1HorizData()->Input(); + // Read the MV1 horizontal data + num_bits = mvdata_byteio.MV1HorizData()->DataBlockSize(); + VectorElementCodec vdecoder1h( mvdata_byteio.MV1HorizData()->DataBlock(), 1, + HORIZONTAL, TOTAL_MV_CTXS); + vdecoder1h.Decompress( *(mv_data.get()) , num_bits); + + // Read in the MV1 vertical data header + mvdata_byteio.MV1VertData()->Input(); + // Read the MV1 data + num_bits = mvdata_byteio.MV1VertData()->DataBlockSize(); + VectorElementCodec vdecoder1v( mvdata_byteio.MV1VertData()->DataBlock(), 1, + VERTICAL, TOTAL_MV_CTXS); + vdecoder1v.Decompress( *(mv_data.get()) , num_bits); + + if ( m_pparams.NumRefs()>1 ) + { + // Read in the MV2 horizontal data header + mvdata_byteio.MV2HorizData()->Input(); + // Read the MV2 horizontal data + num_bits = mvdata_byteio.MV2HorizData()->DataBlockSize(); + VectorElementCodec vdecoder2h( mvdata_byteio.MV2HorizData()->DataBlock(), 2, + HORIZONTAL, TOTAL_MV_CTXS); + vdecoder2h.Decompress( *(mv_data.get()) , num_bits); + + // Read in the MV2 vertical data header + mvdata_byteio.MV2VertData()->Input(); + // Read the MV2 vertical data + num_bits = mvdata_byteio.MV2VertData()->DataBlockSize(); + VectorElementCodec vdecoder2v( mvdata_byteio.MV2VertData()->DataBlock(), 2, + VERTICAL, TOTAL_MV_CTXS); + vdecoder2v.Decompress( *(mv_data.get()) , num_bits); + } + + // Read in the Y DC data header + mvdata_byteio.YDCData()->Input(); + // Read the Y DC data + num_bits = mvdata_byteio.YDCData()->DataBlockSize(); + DCCodec ydc_decoder( mvdata_byteio.YDCData()->DataBlock(), Y_COMP, TOTAL_MV_CTXS); + ydc_decoder.Decompress( *(mv_data.get()) , num_bits); + + // Read in the U DC data header + mvdata_byteio.UDCData()->Input(); + // Read the U DC data + num_bits = mvdata_byteio.UDCData()->DataBlockSize(); + DCCodec udc_decoder( mvdata_byteio.YDCData()->DataBlock(), U_COMP, TOTAL_MV_CTXS); + udc_decoder.Decompress( *(mv_data.get()) , num_bits); + + // Read in the Y DC data header + mvdata_byteio.YDCData()->Input(); + // Read the Y DC data + num_bits = mvdata_byteio.YDCData()->DataBlockSize(); + DCCodec vdc_decoder( mvdata_byteio.VDCData()->DataBlock(), V_COMP, TOTAL_MV_CTXS); + vdc_decoder.Decompress( *(mv_data.get()) , num_bits); +} + +void PictureDecompressor::InitCoeffData( CoeffArray& coeff_data, const int xl, const int yl ){ + + // First set the dimensions up // + int xpad_len = xl; + int ypad_len = yl; + + // The pic dimensions must be a multiple of 2^(transform depth) + int tx_mul = (1< +#include +#include +#include + +namespace dirac +{ + class MvData; + + //! Compress a single image picture + /*! + This class decompresses a single picture at a time, using parameters + supplied at its construction. PictureDecompressor is used by + SequenceDecompressor. + */ + class PictureDecompressor{ + public: + //! Constructor + /*! + Creates a PictureDecompressor with specific set of parameters the + control the decompression process. It decodes motion data before + decoding each component of the picture. + + \param decp decoder parameters + \param cf the chroma format of the picture being decompressed + */ + PictureDecompressor(DecoderParams& decp, ChromaFormat cf); + + //! Destructor + /*! + Releases resources. + */ + ~PictureDecompressor(); + + //! Decompress the next picture into the buffer + /*! + Decompresses the next picture from the stream and place at the end + of a picture buffer. + Returns true if able to decode successfully, false otherwise + + \param parseunit_byteio Picture info in Dirac-stream format + \param my_buffer picture buffer into which the picture is placed + */ + bool Decompress(ParseUnitByteIO& parseunit_byteio, + PictureBuffer& my_buffer); + + //! Returns the picture parameters of the current picture being decoded + const PictureParams& GetPicParams() const{ return m_pparams; } + + private: + //! Copy constructor is private and body-less + /*! + Copy constructor is private and body-less. This class should not be copied. + + */ + PictureDecompressor(const PictureDecompressor& cpy); + + //! Assignment = is private and body-less + /*! + Assignment = is private and body-less. This class should not be + assigned. + */ + PictureDecompressor& operator=(const PictureDecompressor& rhs); + + //! Initialise the padded coefficient data for the IDWT and subband decoding + void InitCoeffData( CoeffArray& coeff_data, const int xl, const int yl ); + + //! Removes all the reference pictures in the retired list + void CleanReferencePictures( PictureBuffer& my_buffer ); + + //! Decodes component data + void CompDecompress(TransformByteIO *p_transform_byteio, + PictureBuffer& my_buffer,int pnum, CompSort cs); + + //! Decodes the motion data + void DecompressMVData( std::auto_ptr& mv_data, PictureByteIO& picture_byteio ); + + + //! Set the number of superblocks and blocks + void SetMVBlocks(); + + //! Add a picture to the picture buffer + void PushPicture(PictureBuffer &my_buffer); + + //Member variables + + //! Parameters for the decompression, as provided in constructor + DecoderParams& m_decparams; + + //! Chroma format of the picture being decompressed + ChromaFormat m_cformat; + + //! An indicator which is true if the picture has been skipped, false otherwise + bool m_skipped; + + //! An indicator that is true if we use global motion vectors, false otherwise + bool m_use_global; + + //! An indicator that is true if we use block motion vectors, false otherwise + bool m_use_block_mv; + + //! Prediction mode to use if we only have global motion vectors + PredMode m_global_pred_mode; + + //! Current Picture Parameters + PictureParams m_pparams; + }; + +} // namespace dirac + +#endif diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_decoder/seq_decompress.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_decoder/seq_decompress.cpp --- dirac-0.9.1/libdirac_decoder/seq_decompress.cpp 2007-09-03 12:31:42.000000000 +0100 +++ dirac-1.0.2/libdirac_decoder/seq_decompress.cpp 2008-08-14 01:51:08.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: seq_decompress.cpp,v 1.20 2007/09/03 11:31:42 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: seq_decompress.cpp,v 1.25 2008/08/14 00:51:08 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -48,115 +48,123 @@ #include #include #include -#include -#include +#include +#include #include using namespace dirac; SequenceDecompressor::SequenceDecompressor(ParseUnitByteIO& parseunit,bool verbosity) -: +: m_all_done(false), -m_current_code_fnum(0), +m_current_code_pnum(0), m_delay(1), -m_show_fnum(-1), -m_highest_fnum(0) +m_show_pnum(-1), +m_highest_pnum(0) { // read unit NewAccessUnit(parseunit); + if ( m_decparams.FieldCoding() ) + m_delay = 2; + m_decparams.SetVerbose( verbosity ); - - m_fbuffer= new FrameBuffer( ); - m_fdecoder = new FrameDecompressor (m_decparams , m_srcparams.CFormat()); - + m_pbuffer= new PictureBuffer( ); + + m_pdecoder = new PictureDecompressor (m_decparams , m_srcparams.CFormat()); + } SequenceDecompressor::~SequenceDecompressor() { - delete m_fbuffer; - delete m_fdecoder; + delete m_pbuffer; + delete m_pdecoder; } -const FrameParams& SequenceDecompressor::GetNextFrameParams() const +const PictureParams* SequenceDecompressor::GetNextPictureParams() const { - return m_fdecoder->GetFrameParams(); + return &m_pdecoder->GetPicParams(); } void SequenceDecompressor::NewAccessUnit(ParseUnitByteIO& parseunit_byteio) { - // read access-unit data - AccessUnitByteIO accessunit_byteio(parseunit_byteio, - m_parse_params, m_srcparams, m_decparams); - accessunit_byteio.Input(); + // read sequence header + SequenceHeaderByteIO seqheader_byteio(parseunit_byteio,m_parse_params, m_srcparams, m_decparams); + seqheader_byteio.Input(); } -Frame& SequenceDecompressor::DecompressNextFrame(ParseUnitByteIO* p_parseunit_byteio, - bool skip /* = false */) +const Picture* SequenceDecompressor::DecompressNextPicture(ParseUnitByteIO* p_parseunit_byteio) { - //this function decodes the next frame in coding order and returns the next frame in display order + //this function decodes the next picture in coding order and returns the next picture in display order //In general these will differ, and because of re-ordering there is a m_delay which needs to be imposed. //This creates problems at the start and at the end of the sequence which must be dealt with. - //At the start we just keep outputting frame 0. At the end you will need to loop for longer to get all - //the frames out. It's up to the calling function to do something with the decoded frames as they + //At the start we just keep outputting picture 0. At the end you will need to loop for longer to get all + //the pictures out. It's up to the calling function to do something with the decoded pictures as they //come out - write them to screen or to file, as required. - TEST (m_fdecoder != NULL); - - // Remove the last displayed frame from the buffer if it wasn't a reference - if ( m_show_fnum>0 ) + TEST (m_pdecoder != NULL); + + // Remove the last displayed picture from the buffer if it wasn't a reference + if ( m_show_pnum>0 ) { if ( m_decparams.Verbose() ) - std::cout<IsFrameAvail(m_show_fnum-1) && - m_fbuffer->GetFrame(m_show_fnum-1).GetFparams().FSort().IsNonRef() ) + std::cout<IsPictureAvail(m_show_pnum-1) && + m_pbuffer->GetPicture(m_show_pnum-1).GetPparams().PicSort().IsNonRef() ) { - m_fbuffer->Clean(m_show_fnum-1); + m_pbuffer->Remove(m_show_pnum-1); if ( m_decparams.Verbose() ) - std::cout<<(m_show_fnum-1)<<" "; + std::cout<<(m_show_pnum-1)<<" "; } } - bool new_frame_to_display=false; - - if (!skip && p_parseunit_byteio) + bool new_picture_to_display=false; + + if (p_parseunit_byteio) { if (m_decparams.Verbose()) - std::cout<Decompress(*p_parseunit_byteio, - *m_fbuffer); + std::cout<Decompress(*p_parseunit_byteio, + *m_pbuffer); } - /*** - //if we've exited with success, there's a new frame to display, so increment - //the counters. Otherwise, freeze on the last frame shown - m_show_fnum=std::max(m_current_code_fnum-m_delay,0); - if (new_frame_to_display || skip) - { - m_current_code_fnum++; - } - ***/ - // FIXME - temporary fix to fix frame delay for i-frames - Frame &f = m_fbuffer->GetFrame(m_show_fnum+1 ); - m_show_fnum = m_show_fnum >= 0 ? m_show_fnum : m_fdecoder->GetFrameParams().FrameNum()-1; + if (m_show_pnum < 0 && new_picture_to_display == false) + return NULL; - m_highest_fnum = std::max(m_fdecoder->GetFrameParams().FrameNum(), m_highest_fnum); - if (f.GetFparams().FrameNum() == m_show_fnum+1) + if (m_pbuffer->IsPictureAvail(m_show_pnum+1 )) + ++m_show_pnum; + else if (new_picture_to_display && m_pdecoder->GetPicParams().PicSort().IsNonRef()) { - ++m_show_fnum; - return f; + // if a decoded future non reference frame is available it implies + // that some frames have been skipped because of possible truncation + // errors + m_show_pnum = m_pdecoder->GetPicParams().PictureNum(); } - - return m_fbuffer->GetFrame(m_show_fnum); + + m_highest_pnum = std::max(m_pdecoder->GetPicParams().PictureNum(), m_highest_pnum); + + if (m_pbuffer->IsPictureAvail(m_show_pnum)) + return &m_pbuffer->GetPicture(m_show_pnum); + else + return NULL; } -Frame& SequenceDecompressor::GetNextFrame() +const Picture* SequenceDecompressor::GetNextPicture() { - return m_fbuffer->GetFrame(m_show_fnum); + if (m_pbuffer->IsPictureAvail(m_show_pnum)) + return &m_pbuffer->GetPicture(m_show_pnum); + else + return NULL; } bool SequenceDecompressor::Finished() { - return m_show_fnum==m_highest_fnum; + if (m_show_pnum>=m_highest_pnum) + return true; + + if (!m_pbuffer->IsPictureAvail(m_show_pnum+1 )) + ++m_show_pnum; + + return false; } diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_decoder/seq_decompress.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_decoder/seq_decompress.h --- dirac-0.9.1/libdirac_decoder/seq_decompress.h 2007-09-03 12:31:43.000000000 +0100 +++ dirac-1.0.2/libdirac_decoder/seq_decompress.h 2008-05-02 07:05:04.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: seq_decompress.h,v 1.10 2007/09/03 11:31:43 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: seq_decompress.h,v 1.13 2008/05/02 06:05:04 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -54,13 +54,13 @@ namespace dirac { - class FrameBuffer; - class Frame; - class FrameDecompressor; + class PictureBuffer; + class Picture; + class PictureDecompressor; - //! Decompresses a sequence of frames from a stream. + //! Decompresses a sequence of pictures from a stream. /*! - This class decompresses a sequence of frames, frame by frame. + This class decompresses a sequence of frames, picture by picture. */ class SequenceDecompressor{ public: @@ -76,7 +76,7 @@ //! Destructor /*! - Closes files and releases resources. + Closes files and releases resources. */ ~SequenceDecompressor(); @@ -87,37 +87,35 @@ void NewAccessUnit(ParseUnitByteIO& parseunit_byteio); - //! Decompress the next frame in sequence + //! Decompress the next picture in sequence /*! - This function decodes the next frame in coding order and returns - the next frame in display order. In general these will differ, and + This function decodes the next picture in coding order and returns + the next picture in display order. In general these will differ, and because of re-ordering there is a delay which needs to be imposed. This creates problems at the start and at the end of the sequence which must be dealt with. At the start we just keep outputting - frame 0. At the end you will need to loop for longer to get all - the frames out. It's up to the calling function to do something - with the decoded frames as they come out -- write them to screen + picture 0. At the end you will need to loop for longer to get all + the pictures out. It's up to the calling function to do something + with the decoded pictures as they come out -- write them to screen or to file, as required. - \param p_parseunit_byteio Frame information in Dirac-stream format - \param skip skip decoding next frame - \return reference to the next locally decoded frame available for display + \param p_parseunit_byteio Picture information in Dirac-stream format + \return reference to the next locally decoded picture available for display */ - Frame& DecompressNextFrame(ParseUnitByteIO* p_parseunit_byteio, - bool skip = false); + const Picture* DecompressNextPicture(ParseUnitByteIO* p_parseunit_byteio); - //! Get the next frame available for display - Frame& GetNextFrame(); + //! Get the next picture available for display + const Picture* GetNextPicture(); - //! Get the next frame parameters - const FrameParams& GetNextFrameParams() const; + //! Get the next picture parameters + const PictureParams* GetNextPictureParams() const; //! Determine if decompression is complete. /*! - Indicates whether or not the last frame in the sequence has been + Indicates whether or not the last picture in the sequence has been decompressed. - \return true if last frame has been compressed; false if not + \return true if last picture has been compressed; false if not */ - bool Finished(); + bool Finished(); //! Interrogates for parse parameters. /*! Returns the parse parameters used for this decompression run. @@ -171,20 +169,20 @@ ParseParams m_parse_params; //! The source parameters obtained from the stream header SourceParams m_srcparams; - //! A picture buffer used for local storage of frames whilst pending re-ordering or being used for reference. - FrameBuffer* m_fbuffer; - //! Number of the frame in coded order which is to be decoded - int m_current_code_fnum; + //! A picture buffer used for local storage of pictures whilst pending re-ordering or being used for reference. + PictureBuffer* m_pbuffer; + //! Number of the picture in coded order which is to be decoded + int m_current_code_pnum; //! A delay so that we don't display what we haven't decoded - int m_delay; - //! Index, in display order, of the last frame read - int m_last_frame_read; - //! Index, in display order of the frame to be displayed next - computed from delay and current_code_fnum - int m_show_fnum; - //! Frame decompressor object - FrameDecompressor *m_fdecoder; - //! Highest frame-num processed - for tracking end-of-sequence - int m_highest_fnum; + int m_delay; + //! Index, in display order, of the last picture read + int m_last_picture_read; + //! Index, in display order of the picture to be displayed next - computed from delay and current_code_pnum + int m_show_pnum; + //! Picture decompressor object + PictureDecompressor *m_pdecoder; + //! Highest picture-num processed - for tracking end-of-sequence + int m_highest_pnum; }; } // namespace dirac diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_encoder/comp_compress.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_encoder/comp_compress.cpp --- dirac-0.9.1/libdirac_encoder/comp_compress.cpp 2007-12-12 14:01:51.000000000 +0000 +++ dirac-1.0.2/libdirac_encoder/comp_compress.cpp 2009-01-21 05:18:09.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: comp_compress.cpp,v 1.45 2007/12/12 14:01:51 tjdwave Exp $ $Name: Dirac_0_9_1 $ +* $Id: comp_compress.cpp,v 1.49 2009/01/21 05:18:09 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -55,24 +55,25 @@ #include #include -CompCompressor::CompCompressor( EncoderParams& encp,const FrameParams& fp) +CompCompressor::CompCompressor( EncoderParams& encp,const PictureParams& pp) : m_encparams(encp), - m_fparams(fp), - m_fsort( m_fparams.FSort() ), - m_cformat( m_fparams.CFormat() ) + m_pparams(pp), + m_psort( m_pparams.PicSort() ), + m_cformat( m_pparams.CFormat() ) {} ComponentByteIO* CompCompressor::Compress( CoeffArray& coeff_data , SubbandList& bands, - const OneDArray& estimated_bits ) + CompSort csort, + const OneDArray& estimated_bits) { - //need to transform, select quantisers for each band, and then compress each component in turn - m_csort=coeff_data.CSort(); + // Need to transform, select quantisers for each band, + // and then compress each component in turn unsigned int num_band_bytes( 0 ); // create byte output - ComponentByteIO *p_component_byteio = new ComponentByteIO(m_csort); + ComponentByteIO *p_component_byteio = new ComponentByteIO(csort); // Loop over all the bands (from DC to HF) quantising and coding them for (int b=bands.Length() ; b>=1 ; --b ) @@ -83,25 +84,25 @@ if ( !bands(b).Skipped() ) { // If not skipped ... - if (m_fparams.UsingAC()) + if (m_pparams.UsingAC()) { // A pointer to an object for coding the subband data BandCodec* bcoder; - // Pick the right codec according to the frame type and subband + // Pick the right codec according to the picture type and subband if (b >= bands.Length()-3) { - if ( m_fsort.IsIntra() && b == bands.Length() ) + if ( m_psort.IsIntra() && b == bands.Length() ) bcoder=new IntraDCBandCodec(&subband_byteio, TOTAL_COEFF_CTXS , bands ); else bcoder=new LFBandCodec(&subband_byteio ,TOTAL_COEFF_CTXS, - bands , b, m_fsort.IsIntra()); + bands , b, m_psort.IsIntra()); } else bcoder=new BandCodec(&subband_byteio , TOTAL_COEFF_CTXS , - bands , b, m_fsort.IsIntra() ); + bands , b, m_psort.IsIntra() ); num_band_bytes = bcoder->Compress(coeff_data); @@ -113,18 +114,19 @@ // A pointer to an object for coding the subband data BandVLC* bcoder; - if ( m_fsort.IsIntra() && b == bands.Length() ) + if ( m_psort.IsIntra() && b == bands.Length() ) bcoder=new IntraDCBandVLC(&subband_byteio, bands ); else - bcoder=new BandVLC(&subband_byteio , bands , b, - m_fsort.IsIntra() ); + bcoder=new BandVLC(&subband_byteio , 0, bands , b, + m_psort.IsIntra() ); num_band_bytes = bcoder->Compress(coeff_data); delete bcoder; } // Update the entropy correction factors - m_encparams.EntropyFactors().Update(b , m_fsort , m_csort , estimated_bits[b] , 8*num_band_bytes); + m_encparams.EntropyFactors().Update(b , m_pparams , csort , + estimated_bits[b] , 8*num_band_bytes); } else { // ... skipped diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_encoder/comp_compress.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_encoder/comp_compress.h --- dirac-0.9.1/libdirac_encoder/comp_compress.h 2008-01-22 07:38:37.000000000 +0000 +++ dirac-1.0.2/libdirac_encoder/comp_compress.h 2008-05-07 06:47:00.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: comp_compress.h,v 1.16 2008/01/22 07:38:37 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: comp_compress.h,v 1.19 2008/05/07 05:47:00 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -49,11 +49,11 @@ { class MEData; - //! Compress a frame component + //! Compress a picture component /*! This class compresses one of the three components (Y, U, or V) of a - frame according to a given set or parameters. CompCompressor is used - by FrameCompressor. + picture according to a given set or parameters. CompCompressor is used + by PictureCompressor. */ class CompCompressor { @@ -63,21 +63,23 @@ Create and initialize a component compressor with the given characteristics. \param encp encoding parameters - \param fp frame parameters + \param fp picture parameters */ - CompCompressor( EncoderParams & encp, const FrameParams& fp); + CompCompressor( EncoderParams & encp, const PictureParams& fp); - //! Compress a frame component + //! Compress a picture component /*! - Compress a PicArray containing a frame component (Y, U, or V). + Compress a PicArray containing a picture component (Y, U, or V). \param coeff_data the component data to be compressed \param bands Subbands list + \param csort Chroma format \param estimated_bits the list of estimated number of bits in each subband - \return Frame-component in Dirac-bytestream format + \return Picture-component in Dirac-bytestream format */ ComponentByteIO* Compress( CoeffArray& coeff_data , - SubbandList& bands, - const OneDArray& estimated_bits); + SubbandList& bands, + CompSort csort, + const OneDArray& estimated_bits); private: //! Copy constructor is private and body-less. This class should not be copied. @@ -95,14 +97,12 @@ // member variables EncoderParams& m_encparams; - const FrameParams& m_fparams; + const PictureParams& m_pparams; - const FrameSort& m_fsort; + const PictureSort& m_psort; const ChromaFormat& m_cformat; - CompSort m_csort; - float m_lambda; }; diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_encoder/dirac_encoder.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_encoder/dirac_encoder.cpp --- dirac-0.9.1/libdirac_encoder/dirac_encoder.cpp 2008-01-15 04:36:24.000000000 +0000 +++ dirac-1.0.2/libdirac_encoder/dirac_encoder.cpp 2008-11-18 23:25:54.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: dirac_encoder.cpp,v 1.39 2008/01/15 04:36:24 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: dirac_encoder.cpp,v 1.57 2008/11/18 23:25:54 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -45,7 +45,7 @@ #include #include #include -#include +#include #include #include #include @@ -128,11 +128,11 @@ */ void alloc_instr_data(dirac_instr_t *instr) { - instr->mb_split_mode = new int [instr->mb_ylen*instr->mb_xlen]; - memset (instr->mb_split_mode, 0, sizeof(int)*instr->mb_ylen*instr->mb_xlen); + instr->sb_split_mode = new int [instr->sb_ylen*instr->sb_xlen]; + memset (instr->sb_split_mode, 0, sizeof(int)*instr->sb_ylen*instr->sb_xlen); - instr->mb_costs = new float [instr->mb_ylen*instr->mb_xlen]; - memset (instr->mb_costs, 0, sizeof(float)*instr->mb_ylen*instr->mb_xlen); + instr->sb_costs = new float [instr->sb_ylen*instr->sb_xlen]; + memset (instr->sb_costs, 0, sizeof(float)*instr->sb_ylen*instr->sb_xlen); instr->pred_mode = new int [instr->mv_ylen * instr->mv_xlen]; memset (instr->pred_mode, 0, sizeof(int)*instr->mv_ylen*instr->mv_xlen); @@ -172,11 +172,11 @@ */ void dealloc_instr_data(dirac_instr_t *instr) { - if (instr->mb_split_mode) - delete [] instr->mb_split_mode; + if (instr->sb_split_mode) + delete [] instr->sb_split_mode; - if (instr->mb_costs) - delete [] instr->mb_costs; + if (instr->sb_costs) + delete [] instr->sb_costs; if (instr->pred_mode) delete [] instr->pred_mode; @@ -246,6 +246,15 @@ // Return the source parameters const SourceParams& GetSrcParams() const { return m_srcparams; } + // Return the pts offset + int GetPTSOffset() const { return m_seqcomp->PTSOffset(); } + + // Signal End of Sequence + void SignalEOS() { m_eos_signalled = true; m_seqcomp->SignalEOS(); } + + // End of Sequence + bool EOS() { return m_eos_signalled == true; } + private: // Set the encoder parameters @@ -254,8 +263,8 @@ // Set the source parameters void SetSourceParams (const dirac_encoder_context_t *enc_ctx); - // Get the frame statistics - void GetFrameStats(dirac_encoder_t *encoder); + // Get the picture statistics + void GetPictureStats(dirac_encoder_t *encoder); // Get the seuqence statistics void GetSequenceStats(dirac_encoder_t *encoder, @@ -263,38 +272,38 @@ private: // sequence compressor - SequenceCompressor *m_comp; + SequenceCompressor *m_seqcomp; // Source parameters SourceParams m_srcparams; // encoder parameters EncoderParams m_encparams; - // locally encoded frame in coded order - const Frame *m_enc_frame; + // locally encoded picture in coded order + const EncPicture *m_enc_picture; // locally encoded frame ME data const MEData *m_enc_medata; - // locally decoded frame number in display order - int m_decfnum; - //locally decoded frame type - FrameSort m_decfsort; - // locally decoded frame number in display order - int m_show_fnum; + // locally decoded picture number in display order + int m_decpnum; + //locally decoded picture type + PictureSort m_decpsort; + // locally decoded picture number in display order + int m_show_pnum; // total number of frames/fields loaded so far int m_num_loaded_pictures; // total number of frames/fields encoded so far int m_num_coded_pictures; // verbose flag bool m_verbose; - // input stream for uncompressed input frame + // input stream for uncompressed input pictures MemoryStreamInput *m_inp_ptr; - // output stream for locally decoded frame + // output stream for locally decoded pictures MemoryStreamOutput *m_out_ptr; // buffer to hold locally decoded frame. Set by SetDecodeBuffer unsigned char *m_dec_buf; // size of buffer to hold locally decoded data. Set by SetDecodeBuffer int m_dec_bufsize; - // Flag that determines if locally decoded frames are to be returned. Set + // Flag that determines if locally decoded pictures are to be returned. Set // in Constructor - bool m_return_decoded_frames; + bool m_return_decoded_pictures; // Flag that determines if instrumentation data is to be returned. Set // in Constructor bool m_return_instr_data; @@ -309,11 +318,15 @@ // Total Number GOPs in the input sequence int m_gop_count; - // To count the number of frame for calculating the GOP bit rate - int m_frame_count; + // To count the number of pictures for calculating the GOP bit rate + int m_picture_count; // field 1 stats if interlaced - dirac_enc_framestats_t m_field1_stats; + dirac_enc_picstats_t m_field1_stats; + + // End of sequence flag. Set to true when user app signals end of + // sequence + bool m_eos_signalled; }; @@ -328,19 +341,19 @@ dirac_instr_t *instr = &encoder->instr; dirac_instr_t old_instr = *instr; - if (!m_return_instr_data) + if (!m_return_instr_data || m_enc_picture == NULL) return; - const FrameParams& fparams = m_enc_frame->GetFparams(); - const FrameSort fsort = fparams.FSort(); + const PictureParams& pparams = m_enc_picture->GetPparams(); + const PictureSort psort = pparams.PicSort(); - instr->fnum = fparams.FrameNum(); - instr->ftype = fsort.IsIntra() ? INTRA_FRAME : INTER_FRAME; - instr->rtype = fsort.IsRef() ? REFERENCE_FRAME : NON_REFERENCE_FRAME; + instr->pnum = pparams.PictureNum(); + instr->ptype = psort.IsIntra() ? INTRA_PICTURE : INTER_PICTURE; + instr->rtype = psort.IsRef() ? REFERENCE_PICTURE : NON_REFERENCE_PICTURE; instr->num_refs = 0; encoder->instr_data_avail = 1; - if (fsort.IsIntra()) + if (psort.IsIntra()) { // no MV data for Intra coded data return; @@ -349,26 +362,26 @@ TESTM (m_enc_medata != NULL, "ME data available"); // Reference info - instr->num_refs = fparams.Refs().size(); + instr->num_refs = pparams.Refs().size(); ASSERTM (instr->num_refs <= 2, "Max # reference frames is 2"); for (int i=0; inum_refs; ++i) - instr->refs[i] = fparams.Refs()[i]; + instr->refs[i] = pparams.Refs()[i]; // Block separation params - instr->ybsep = m_encparams.LumaBParams(2).Ybsep(); - instr->xbsep = m_encparams.LumaBParams(2).Xbsep(); + instr->ybsep = m_encparams.GetPicPredParams().LumaBParams(2).Ybsep(); + instr->xbsep = m_encparams.GetPicPredParams().LumaBParams(2).Xbsep(); - // Num macroblocks - instr->mb_ylen = m_enc_medata->MBSplit().LengthY(); - instr->mb_xlen = m_enc_medata->MBSplit().LengthX(); + // Num superblocks + instr->sb_ylen = m_enc_medata->SBSplit().LengthY(); + instr->sb_xlen = m_enc_medata->SBSplit().LengthX(); // Motion vector array dimensions instr->mv_ylen = m_enc_medata->Vectors(1).LengthY(); instr->mv_xlen = m_enc_medata->Vectors(1).LengthX(); - if (old_instr.mb_ylen != instr->mb_ylen || - old_instr.mb_xlen != instr->mb_xlen || + if (old_instr.sb_ylen != instr->sb_ylen || + old_instr.sb_xlen != instr->sb_xlen || old_instr.mv_ylen != instr->mv_ylen || old_instr.mv_xlen != instr->mv_xlen) { @@ -376,8 +389,8 @@ alloc_instr_data(instr); } - copy_2dArray (m_enc_medata->MBSplit(), instr->mb_split_mode); - copy_2dArray (m_enc_medata->MBCosts(), instr->mb_costs); + copy_2dArray (m_enc_medata->SBSplit(), instr->sb_split_mode); + copy_2dArray (m_enc_medata->SBCosts(), instr->sb_costs); copy_2dArray (m_enc_medata->Mode(), instr->pred_mode); copy_2dArray (m_enc_medata->IntraCosts(), instr->intra_costs); @@ -403,18 +416,19 @@ DiracEncoder::DiracEncoder(const dirac_encoder_context_t *enc_ctx, bool verbose) : m_srcparams(static_cast(enc_ctx->enc_params.video_format), true), - m_encparams(static_cast(enc_ctx->enc_params.video_format), INTER_FRAME, 2, true), - m_show_fnum(-1), + m_encparams(static_cast(enc_ctx->enc_params.video_format), INTER_PICTURE, 2, true), + m_show_pnum(-1), m_num_loaded_pictures(0), m_num_coded_pictures(0), m_verbose(verbose), m_dec_buf(0), m_dec_bufsize(0), - m_return_decoded_frames(enc_ctx->decode_flag > 0), + m_return_decoded_pictures(enc_ctx->decode_flag > 0), m_return_instr_data(enc_ctx->instr_flag > 0), m_gop_bits(0), m_gop_count(0), - m_frame_count(0) + m_picture_count(0), + m_eos_signalled(false) { // Setup source parameters SetSourceParams (enc_ctx); @@ -430,11 +444,11 @@ // initialise the sequence compressor if (!m_encparams.FieldCoding()) { - m_comp = new FrameSequenceCompressor (m_inp_ptr->GetStream(), m_encparams, m_dirac_byte_stream); + m_seqcomp = new FrameSequenceCompressor (m_inp_ptr->GetStream(), m_encparams, m_dirac_byte_stream); } else { - m_comp = new FieldSequenceCompressor (m_inp_ptr->GetStream(), m_encparams, m_dirac_byte_stream); + m_seqcomp = new FieldSequenceCompressor (m_inp_ptr->GetStream(), m_encparams, m_dirac_byte_stream); } } @@ -442,12 +456,12 @@ { m_dec_buf = buffer; m_dec_bufsize = buffer_size; - m_return_decoded_frames = true; + m_return_decoded_pictures = true; } DiracEncoder::~DiracEncoder() { - delete m_comp; + delete m_seqcomp; delete m_inp_ptr; delete m_out_ptr; } @@ -458,6 +472,11 @@ m_srcparams.SetXl( enc_ctx->src_params.width ); m_srcparams.SetYl( enc_ctx->src_params.height ); + m_srcparams.SetCleanWidth( m_srcparams.Xl() ); + m_srcparams.SetCleanHeight( m_srcparams.Yl() ); + m_srcparams.SetLeftOffset( 0 ); + m_srcparams.SetTopOffset( 0 ); + m_srcparams.SetSourceSampling( enc_ctx->src_params.source_sampling ); if (m_srcparams.FrameRate().m_num != (unsigned int)enc_ctx->src_params.frame_rate.numerator || m_srcparams.FrameRate().m_denom != (unsigned int)enc_ctx->src_params.frame_rate.denominator) @@ -484,16 +503,16 @@ OLBParams bparams(12, 12, 8, 8); m_encparams.SetLocalDecode(enc_ctx->decode_flag); - m_encparams.SetOrigXl( enc_ctx->src_params.width ); - m_encparams.SetOrigYl( enc_ctx->src_params.height ); - m_encparams.SetOrigChromaXl( enc_ctx->src_params.chroma_width ); - m_encparams.SetOrigChromaYl( enc_ctx->src_params.chroma_height ); + m_encparams.SetXl( enc_ctx->src_params.width ); + m_encparams.SetYl( enc_ctx->src_params.height ); + m_encparams.SetChromaXl( enc_ctx->src_params.chroma_width ); + m_encparams.SetChromaYl( enc_ctx->src_params.chroma_height ); if (enc_ctx->enc_params.picture_coding_mode > 1) { std::ostringstream errstr; - errstr << "Picture coding mode " + errstr << "Picture coding mode " << enc_ctx->enc_params.picture_coding_mode << " out of supported range [0-1]"; DIRAC_THROW_EXCEPTION( @@ -502,12 +521,12 @@ SEVERITY_TERMINATE); } - m_encparams.SetFieldCoding(enc_ctx->enc_params.picture_coding_mode == 1); + m_encparams.SetPictureCodingMode(enc_ctx->enc_params.picture_coding_mode); if (m_encparams.FieldCoding()) { // Change coding dimensions to field dimensions - m_encparams.SetOrigYl( enc_ctx->src_params.height>>1 ); - m_encparams.SetOrigChromaYl( enc_ctx->src_params.chroma_height >> 1); + m_encparams.SetYl( enc_ctx->src_params.height>>1 ); + m_encparams.SetChromaYl( enc_ctx->src_params.chroma_height >> 1); } unsigned int luma_depth = static_cast ( @@ -519,18 +538,20 @@ m_encparams.SetChromaDepth(chroma_depth); m_encparams.SetFullSearch(enc_ctx->enc_params.full_search); + m_encparams.SetCombinedME(enc_ctx->enc_params.combined_me); m_encparams.SetXRangeME(enc_ctx->enc_params.x_range_me); m_encparams.SetYRangeME(enc_ctx->enc_params.y_range_me); + m_encparams.SetCPD(enc_ctx->enc_params.cpd); m_encparams.SetQf(enc_ctx->enc_params.qf); m_encparams.SetTargetRate(enc_ctx->enc_params.trate); m_encparams.SetLossless(enc_ctx->enc_params.lossless); m_encparams.SetL1Sep(enc_ctx->enc_params.L1_sep); m_encparams.SetNumL1(enc_ctx->enc_params.num_L1); - m_encparams.SetCPD(enc_ctx->enc_params.cpd); - m_encparams.SetDenoise(enc_ctx->enc_params.denoise); + m_encparams.SetPrefilter(enc_ctx->enc_params.prefilter, + enc_ctx->enc_params.prefilter_strength); m_encparams.SetUFactor(1.5f); m_encparams.SetVFactor(0.75f); - m_encparams.SetMVPrecision(enc_ctx->enc_params.mv_precision); + m_encparams.GetPicPredParams().SetMVPrecision(enc_ctx->enc_params.mv_precision); m_encparams.SetUsingAC(enc_ctx->enc_params.using_ac); bparams.SetYblen( enc_ctx->enc_params.yblen ); bparams.SetXblen( enc_ctx->enc_params.xblen ); @@ -549,7 +570,7 @@ //have I-frame only coding m_encparams.SetL1Sep(0); } - m_encparams.SetBlockSizes( bparams , enc_ctx->src_params.chroma ); + m_encparams.GetPicPredParams().SetBlockSizes( bparams , enc_ctx->src_params.chroma ); // Set transforms parameters m_encparams.SetIntraTransformFilter(enc_ctx->enc_params.intra_wlt_filter); @@ -563,9 +584,9 @@ bool DiracEncoder::LoadNextFrame (unsigned char *data, int size) { - TESTM (m_comp->Finished() != true, "Did not reach end of sequence"); + TESTM (m_seqcomp->Finished() != true, "Did not reach end of sequence"); m_inp_ptr->SetMembufReference(data, size); - if (m_comp->LoadNextFrame()) + if (m_seqcomp->LoadNextFrame()) { if (!m_encparams.FieldCoding()) m_num_loaded_pictures++; @@ -578,79 +599,88 @@ int DiracEncoder::CompressNextPicture () { - TESTM (m_comp->Finished() != true, "Did not reach end of sequence"); + TESTM (m_seqcomp->Finished() != true, "Did not reach end of sequence"); if (!m_num_loaded_pictures) return 0; - Frame &myframe = m_comp->CompressNextFrame(); + const EncPicture *mypicture = m_seqcomp->CompressNextPicture(); - m_enc_frame = m_comp->GetFrameEncoded(); - m_enc_medata = m_comp->GetMEData(); + m_decpnum = -1; - m_decfnum = -1; - if (m_return_decoded_frames && - myframe.GetFparams().FrameNum() != m_show_fnum) - { - int ret_val; - m_show_fnum = myframe.GetFparams().FrameNum(); - TEST (! (m_return_decoded_frames && !m_dec_buf) ); - if (m_return_decoded_frames && m_dec_buf) - { - // write locally decoded frame to decode buffer - m_out_ptr->SetMembufReference(m_dec_buf, m_dec_bufsize); - ret_val = m_out_ptr->GetStream()->WriteNextFrame(myframe); - - if (ret_val) + if (mypicture){ + m_enc_picture = m_seqcomp->GetPictureEncoded(); + if (m_enc_picture->GetPparams().PicSort().IsIntra()==false) + m_enc_medata = &m_enc_picture->GetMEData(); + else + m_enc_medata = NULL; + + if (m_return_decoded_pictures && + mypicture->GetPparams().PictureNum() != m_show_pnum){ + int ret_val; + m_show_pnum = mypicture->GetPparams().PictureNum(); + TEST (! (m_return_decoded_pictures && !m_dec_buf) ); + if (m_return_decoded_pictures && m_dec_buf) { - m_decfnum = m_show_fnum; - m_decfsort = myframe.GetFparams().FSort(); + // write locally decoded picture to decode buffer + m_out_ptr->SetMembufReference(m_dec_buf, m_dec_bufsize); + ret_val = m_out_ptr->GetStream()->WriteToNextFrame(*mypicture); + + if (ret_val) + { + m_decpnum = m_show_pnum; + m_decpsort = mypicture->GetPparams().PicSort(); + } } } } + else{ + m_enc_picture = NULL; + m_enc_medata = NULL; + } if(!m_dirac_byte_stream.IsUnitAvailable()) return 0; - - m_num_coded_pictures++; - TESTM (m_enc_frame != 0, "Encoder picture available"); - + if (mypicture){ + m_num_coded_pictures++; + TESTM (m_enc_picture != 0, "Encoder picture available"); + } return 1; } -void DiracEncoder::GetFrameStats(dirac_encoder_t *encoder) +void DiracEncoder::GetPictureStats(dirac_encoder_t *encoder) { - dirac_enc_framestats_t *fstats = &encoder->enc_fstats; + dirac_enc_picstats_t *pstats = &encoder->enc_pstats; DiracByteStats dirac_byte_stats = m_dirac_byte_stream.GetLastUnitStats(); - fstats->mv_bits = dirac_byte_stats.GetBitCount(STAT_MV_BYTE_COUNT); - // fstats->mv_hdr_bits = foutput.MVBytes() * 8; + pstats->mv_bits = dirac_byte_stats.GetBitCount(STAT_MV_BYTE_COUNT); + // pstats->mv_hdr_bits = poutput.MVBytes() * 8; - fstats->ycomp_bits = dirac_byte_stats.GetBitCount(STAT_YCOMP_BYTE_COUNT); - // fstats->ycomp_hdr_bits = foutput.ComponentHeadBytes( Y_COMP ) * 8; + pstats->ycomp_bits = dirac_byte_stats.GetBitCount(STAT_YCOMP_BYTE_COUNT); + // pstats->ycomp_hdr_bits = poutput.ComponentHeadBytes( Y_COMP ) * 8; - fstats->ucomp_bits = dirac_byte_stats.GetBitCount(STAT_UCOMP_BYTE_COUNT); - // fstats->ucomp_hdr_bits = foutput.ComponentHeadBytes( U_COMP ) * 8; + pstats->ucomp_bits = dirac_byte_stats.GetBitCount(STAT_UCOMP_BYTE_COUNT); + // pstats->ucomp_hdr_bits = poutput.ComponentHeadBytes( U_COMP ) * 8; - fstats->vcomp_bits = dirac_byte_stats.GetBitCount(STAT_VCOMP_BYTE_COUNT); - // fstats->vcomp_hdr_bits = foutput.ComponentHeadBytes( V_COMP ) * 8; + pstats->vcomp_bits = dirac_byte_stats.GetBitCount(STAT_VCOMP_BYTE_COUNT); + // pstats->vcomp_hdr_bits = poutput.ComponentHeadBytes( V_COMP ) * 8; - fstats->frame_bits = dirac_byte_stats.GetBitCount(STAT_TOTAL_BYTE_COUNT); - // fstats->frame_hdr_bits = foutput.FrameHeadBytes() * 8; + pstats->pic_bits = dirac_byte_stats.GetBitCount(STAT_TOTAL_BYTE_COUNT); + // pstats->pic_hdr_bits = poutput.PictureHeadBytes() * 8; DiracEncoder *compressor = (DiracEncoder *)encoder->compressor; if (compressor->GetEncParams().Verbose()) { - std::cout<enc_fparams.fnum/2; - std::cout<< " stats"; - std::cout<enc_pparams.pnum/2; + std::cout<< " stats"; + std::cout< #include /*! \file @@ -62,7 +63,7 @@ // Initialse the encoder context with the presets for SD576 - Standard // Definition Digital - dirac_encoder_context_init (&enc_ctx, SD576); + dirac_encoder_context_init (&enc_ctx, VIDEO_FORMAT_SD576I50); // Override parameters if required // interlace : 1 - interlaced; 0 - progressive @@ -85,9 +86,15 @@ // Output buffer dirac_encoder_state_t state; - - while (read uncompressed frame data into buffer) + int go = 1; + do { + read uncompressed frame data into buffer + if (end of file) + { + // push end of sequence + dirac_encoder_end_sequence(encoder); + } // load one frame of data into encoder if (dirac_encoder_load(encoder, buffer, buffer_size) == 0) { @@ -106,6 +113,12 @@ break; case ENC_STATE_BUFFER: break; + case ENC_STATE_EOS: + // Reached end of sequence + // End of sequence information is available in encoder->enc_buf + // Sequence statistics available in encoder->enc_seqstats; + go = 0; // exit from the encoding loop + break; case ENC_STATE_INVALID: default: // Unrecoverable error encountered. Exit; @@ -125,13 +138,7 @@ } } while (state == ENC_STATE_AVAIL) } - } - // Retrieve end of sequence info - encoder->enc_buf.buffer = video_buf; - encoder->enc_buf.size = VIDEO_BUFFER_SIZE; - dirac_encoder_end_sequence( encoder ); - // End of sequence info is availale in encoder->enc_buf - // Sequence statistics available in encoder->enc_seqstats; + } while (go == 1); // Free the encoder resources dirac_encoder_close(encoder) @@ -150,17 +157,21 @@ { ENC_STATE_INVALID = -1, ENC_STATE_BUFFER, - ENC_STATE_AVAIL + ENC_STATE_AVAIL, + ENC_STATE_EOS } dirac_encoder_state_t ; +/*! Enumerated type that defines prefiltering types supported by the + encoder. */ +typedef PrefilterType dirac_prefilter_t; + /*! Enumerated type that defines encoder presets that set the encoder and sequence paramters. More presets may be added in future*/ typedef VideoFormat dirac_encoder_presets_t; -/*! Enumerated type that defined motion vector precisions supported by the - encoder. More mv precisions may be added in future.*/ +/*! Enumerated type that defines motion vector precisions supported by the + encoder.*/ typedef MVPrecisionType dirac_mvprecision_t; - /*! Structure that holds the encoder specific parameters */ typedef struct { @@ -170,6 +181,8 @@ float qf; /*! Full-search motion estimation */ int full_search; + /*! Combined component motion estimation */ + int combined_me; /*! x-range for full search ME */ int x_range_me; /*! y-range for full search ME */ @@ -200,8 +213,10 @@ unsigned int wlt_depth; /*! Spatial partitioning flag */ unsigned int spatial_partition; - /*! Denoising flag */ - unsigned int denoise; + /*! prefilter indicator */ + dirac_prefilter_t prefilter; + /*! prefilter strength*/ + unsigned int prefilter_strength; /*! Multiple quantisers flag */ unsigned int multi_quants; /*! motion-vector pixel precision */ @@ -252,7 +267,7 @@ int size; } dirac_enc_data_t; -/*! Structure that holds the statistics about the encoded frame */ +/*! Structure that holds the statistics about the encoded picture */ typedef struct { /*! Number of motion vector bits */ @@ -263,25 +278,25 @@ unsigned int ucomp_bits; /*! Number of used to encode v component */ unsigned int vcomp_bits; - /*! Total number of bits used to encode frame */ - unsigned int frame_bits; -} dirac_enc_framestats_t; + /*! Total number of bits used to encode picture */ + unsigned int pic_bits; +} dirac_enc_picstats_t; /*! Structure that holds the statistics about the encoded sequence */ typedef struct { /*! Number of motion vector bits */ - unsigned int mv_bits; + int64_t mv_bits; /*! Total number of bits used to encode sequence */ - unsigned int seq_bits; + int64_t seq_bits; /*! Number of used to encode y component */ - unsigned int ycomp_bits; + int64_t ycomp_bits; /*! Number of used to encode u component */ - unsigned int ucomp_bits; + int64_t ucomp_bits; /*! Number of used to encode v component */ - unsigned int vcomp_bits; + int64_t vcomp_bits; /*! Average bit rate for the sequence */ - unsigned int bit_rate; + int64_t bit_rate; } dirac_enc_seqstats_t; /*! Structure that holds the motion vector information */ @@ -306,31 +321,31 @@ typedef struct { /*! Frame type */ - dirac_frame_type_t ftype; + dirac_picture_type_t ptype; /*! Reference type */ dirac_reference_type_t rtype; - /*! Frame number */ - int fnum; - /*! Number of reference frames */ + /*! Picture number */ + int pnum; + /*! Number of reference pictures */ int num_refs; - /*! Array of Reference frame numbers */ + /*! Array of Reference picture numbers */ int refs[2]; /*! Block separation in X direction */ int xbsep; /*! Block separation in Y direction */ int ybsep; /*! MacroBlock length in X direction */ - int mb_xlen; + int sb_xlen; /*! MacroBlock length in Y direction */ - int mb_ylen; + int sb_ylen; /*! Motion Vector array length in X direction */ int mv_xlen; /*! Motion Vector array length in Y direction */ int mv_ylen; - /*! Macro-block split mode array - mb_ylen*mb_xlen*/ - int *mb_split_mode; - /*! Macro-block costs array - mb_ylen*mb_xlen*/ - float *mb_costs; + /*! Macro-block split mode array - sb_ylen*sb_xlen*/ + int *sb_split_mode; + /*! Macro-block costs array - sb_ylen*sb_xlen*/ + float *sb_costs; /*! Block prediction mode - mv_xlen*mv_ylen */ int *pred_mode; /*! Block intrac costs - mv_xlen*mv_ylen */ @@ -355,8 +370,8 @@ /*! Encoder context */ dirac_encoder_context_t enc_ctx; - /*! encoded frame avail flag */ - int encoded_frame_avail; + /*! encoded picture available flag */ + int encoded_picture_avail; /*! encoded output. This buffer must be initialised by the user of the @@ -364,19 +379,19 @@ */ dirac_enc_data_t enc_buf; - /*! encoded frame params */ - dirac_frameparams_t enc_fparams; + /*! encoded picture params */ + dirac_picparams_t enc_pparams; - /*! encoded frame stats */ - dirac_enc_framestats_t enc_fstats; + /*! encoded picture stats */ + dirac_enc_picstats_t enc_pstats; - /*! encoded frame stats */ + /*! encoded sequence stats */ dirac_enc_seqstats_t enc_seqstats; /*! end of sequence */ int end_of_sequence; - /* locally decoded frame available flag. + /* locally decoded frame (NB: not picture) available flag. 1 - locally decoded frame available in dec_buf. 0 - locally decoded frame not available. */ @@ -388,8 +403,8 @@ */ dirac_framebuf_t dec_buf; - /*! locally decoded frame params */ - dirac_frameparams_t dec_fparams; + /*! locally decoded picture params */ + dirac_picparams_t dec_pparams; /*! instrumentation data buffer. This buffer is allocated and managed by @@ -414,6 +429,17 @@ */ extern DllExport dirac_encoder_t *dirac_encoder_init (const dirac_encoder_context_t *enc_ctx, int verbose); +#if DIRAC_RESEARCH_VERSION_ATLEAST(1,0,2) +/*! + Query the encoder for the reordering depth. + \param encoder Encoder Handle + \return encoder The number of pictures a realtime decoder must wait + before outputting the first picture in display order; + or -1 for failure. +*/ +extern DllExport int dirac_encoder_pts_offset (const dirac_encoder_t *encoder); +#endif + /*! Load uncompressed data into the encoder. Expects one full frame of data \param encoder Encoder Handle @@ -429,21 +455,19 @@ Retrieve an encoded frame from the encoder. Returns the state of the encoder. The encoder buffer enc_buf in the encodermust be set up with the buffer and buffer_size that will hold the encoded frame - \param encoder Encoder Handle - \return ENC_STATE_INVALID - unrecoverable error - ENC_STATE_BUFFER - load data into encoder - ENC_STATE_AVAIL - Encoded frame available + \param encoder Encoder Handle + \return ENC_STATE_INVALID - unrecoverable error + ENC_STATE_BUFFER - load data into encoder + ENC_STATE_AVAIL - Encoded frame available + ENC_STATE_EOS - End of Sequence info available */ extern DllExport dirac_encoder_state_t dirac_encoder_output (dirac_encoder_t *encoder); /*! - Retrieve end of sequence information from the encoder. The encoder buffer, - enc_buf, in the encodermust be set up with the buffer and - buffer_size that will hold the end of sequence information. + Request the encoder to end the sequence. \param encoder Encoder Handle - \return return status. >=0 - successful; -1 failed */ -extern DllExport int dirac_encoder_end_sequence (dirac_encoder_t *encoder); +extern DllExport void dirac_encoder_end_sequence (dirac_encoder_t *encoder); /*! Free resources held by encoder diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_encoder/enc_picture.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_encoder/enc_picture.cpp --- dirac-0.9.1/libdirac_encoder/enc_picture.cpp 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/libdirac_encoder/enc_picture.cpp 2008-10-01 02:26:47.000000000 +0100 @@ -0,0 +1,383 @@ +/* ***** BEGIN LICENSE BLOCK ***** +* +* $Id: enc_picture.cpp,v 1.6 2008/10/01 01:26:47 asuraparaju Exp $ $Name: Dirac_1_0_2 $ +* +* Version: MPL 1.1/GPL 2.0/LGPL 2.1 +* +* The contents of this file are subject to the Mozilla Public License +* Version 1.1 (the "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* http://www.mozilla.org/MPL/ +* +* Software distributed under the License is distributed on an "AS IS" basis, +* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for +* the specific language governing rights and limitations under the License. +* +* The Original Code is BBC Research and Development code. +* +* The Initial Developer of the Original Code is the British Broadcasting +* Corporation. +* Portions created by the Initial Developer are Copyright (C) 2008. +* All Rights Reserved. +* +* Contributor(s): Thomas Davies (Original Author), +* +* Alternatively, the contents of this file may be used under the terms of +* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser +* Public License Version 2.1 (the "LGPL"), in which case the provisions of +* the GPL or the LGPL are applicable instead of those above. If you wish to +* allow use of your version of this file only under the terms of the either +* the GPL or LGPL and not to allow others to use your version of this file +* under the MPL, indicate your decision by deleting the provisions above +* and replace them with the notice and other provisions required by the GPL +* or LGPL. If you do not delete the provisions above, a recipient may use +* your version of this file under the terms of any one of the MPL, the GPL +* or the LGPL. +* ***** END LICENSE BLOCK ***** */ + +#include +#include + +using namespace dirac; + +EncPicture::EncPicture( const PictureParams& pp): + Picture( pp ), + m_me_data( NULL ), + m_status( NO_ENC ), + m_complexity( 0.0 ), + m_norm_complexity( 1.0 ), + m_pred_bias(0.5) +{ + for (int c=0; c<3; ++c ){ + m_orig_data[c] = new PicArray( m_pic_data[c]->LengthY(), m_pic_data[c]->LengthX() ); + m_orig_up_data[c] = NULL; + m_filt_data[c] = NULL; + m_filt_up_data[c] = NULL; + } +} + +void EncPicture::ClearData(){ + + Picture::ClearData(); + + for (int c=0;c<3;++c){ + if (m_orig_data[c] != NULL){ + delete m_orig_data[c]; + m_orig_data[c] = NULL; + } + + if (m_orig_up_data[c] != NULL){ + delete m_orig_up_data[c]; + m_orig_up_data[c] = NULL; + } + + if (m_filt_data[c] != NULL){ + delete m_filt_data[c]; + m_filt_data[c] = NULL; + } + + if (m_filt_up_data[c] != NULL){ + delete m_filt_up_data[c]; + m_filt_up_data[c] = NULL; + } + } + + if ( m_me_data != NULL ) + delete m_me_data; +} + +EncPicture::~EncPicture() +{ + ClearData(); +} + +void EncPicture::SetOrigData() +{ + for ( int c=0; c<3 ; ++c ) + SetOrigData(c); +} + +void EncPicture::SetOrigData( const int c ) +{ + if ( m_pic_data[c] != NULL ) + *(m_orig_data[c]) = *(m_pic_data[c]); +} + +void EncPicture::InitMEData( const PicturePredParams& predparams , const int num_refs) +{ + if (m_me_data != NULL) + delete m_me_data; + + m_me_data=new MEData( predparams, num_refs ); +} + +const PicArray& EncPicture::DataForME( bool combined_me ) const{ + + if (combined_me) + return CombinedData(); + else + return OrigData( Y_COMP ); +} + +const PicArray& EncPicture::UpDataForME( bool combined_me ) const{ + + if (combined_me) + return UpCombinedData(); + else + return UpOrigData( Y_COMP ); +} + + +const PicArray& EncPicture::UpOrigData(CompSort cs) const +{ + const int c = (int) cs; + + if (m_orig_up_data[c] != NULL) + return *m_orig_up_data[c]; + else + {//we have to do the upconversion + + m_orig_up_data[c] = new PicArray( 2*m_orig_data[c]->LengthY(), + 2*m_orig_data[c]->LengthX() ); + UpConverter* myupconv; + if (c>0) + myupconv = new UpConverter(-(1 << (m_pparams.ChromaDepth()-1)), + (1 << (m_pparams.ChromaDepth()-1))-1, + m_pparams.ChromaXl(), m_pparams.ChromaYl()); + else + myupconv = new UpConverter(-(1 << (m_pparams.LumaDepth()-1)), + (1 << (m_pparams.LumaDepth()-1))-1, + m_pparams.Xl(), m_pparams.Yl()); + + myupconv->DoUpConverter( *(m_orig_data[c]) , *(m_orig_up_data[c]) ); + + delete myupconv; + + return *(m_orig_up_data[c]); + + } +} + +const PicArray& EncPicture::FiltData(CompSort cs) const +{ + const int c = (int) cs; + + if (m_filt_data[c] != NULL) + return *m_filt_data[c]; + else + {//we have to do the filtering + + if (m_orig_data[c] != NULL ) + m_filt_data[c] = new PicArray( m_orig_data[c]->LengthY(), + m_orig_data[c]->LengthX() ); + + AntiAliasFilter( *(m_filt_data[c]), *(m_orig_data[c])); + + return *(m_filt_data[c]); + + } +} + +const PicArray& EncPicture::UpFiltData(CompSort cs) const +{ + const int c = (int) cs; + + if (m_filt_up_data[c] != NULL) + return *m_filt_up_data[c]; + else + {//we have to do the upconversion + + const PicArray& filt_data = FiltData( cs ); + + m_filt_up_data[c] = new PicArray( 2*filt_data.LengthY(), + 2*filt_data.LengthX() ); + UpConverter* myupconv; + if (c>0) + myupconv = new UpConverter(-(1 << (m_pparams.ChromaDepth()-1)), + (1 << (m_pparams.ChromaDepth()-1))-1, + m_pparams.ChromaXl(), m_pparams.ChromaYl()); + else + myupconv = new UpConverter(-(1 << (m_pparams.LumaDepth()-1)), + (1 << (m_pparams.LumaDepth()-1))-1, + m_pparams.Xl(), m_pparams.Yl()); + + myupconv->DoUpConverter( filt_data , *(m_filt_up_data[c]) ); + + delete myupconv; + + return *(m_filt_up_data[c]); + + } +} + +void EncPicture::AntiAliasFilter( PicArray& out_data, const PicArray& in_data ) const{ + + //Special case for first row + for (int i = in_data.FirstX(); i <= in_data.LastX(); ++i) + { + out_data[in_data.FirstY()][i] = (3*in_data[in_data.FirstY()][i] + + in_data[in_data.FirstY()+1][i] +2 )>>2; + } + //Middle section + for (int j = in_data.FirstY()+1; j < in_data.LastY(); ++j) + { + for (int i = in_data.FirstX(); i <= in_data.LastX(); ++i) + { + out_data[j][i] = (in_data[j-1][i] + 2*in_data[j][i] + in_data[j+1][i] + 2)>>2; + } + } + //Special case for last row + for (int i = in_data.FirstX(); i <= in_data.LastX(); ++i) + { + out_data[in_data.LastY()][i] = (in_data[in_data.LastY()-1][i] + + 3*in_data[in_data.LastY()][i] + 2)>>2; + } +} + +const PicArray& EncPicture::CombinedData() const +{ + + if (m_filt_data[Y_COMP] != NULL) + return *m_filt_data[Y_COMP]; + else + {//we have to do the combining + + if (m_orig_data[Y_COMP] != NULL ) + m_filt_data[Y_COMP] = new PicArray( m_orig_data[Y_COMP]->LengthY(), + m_orig_data[Y_COMP]->LengthX() ); + + Combine( *(m_filt_data[Y_COMP]), *(m_orig_data[Y_COMP]), + *(m_orig_data[U_COMP]), *(m_orig_data[V_COMP]) + ); + + return *(m_filt_data[Y_COMP]); + + } +} + +const PicArray& EncPicture::UpCombinedData() const +{ + if (m_filt_up_data[Y_COMP] != NULL) + return *m_filt_up_data[Y_COMP]; + else + {//we have to do the upconversion + + const PicArray& filt_data = CombinedData(); + + m_filt_up_data[Y_COMP] = new PicArray( 2*filt_data.LengthY(), + 2*filt_data.LengthX() ); + UpConverter* myupconv; + myupconv = new UpConverter(-(1 << (m_pparams.LumaDepth()-1)), + (1 << (m_pparams.LumaDepth()-1))-1, + m_pparams.Xl(), m_pparams.Yl()); + + myupconv->DoUpConverter( filt_data , *(m_filt_up_data[Y_COMP]) ); + + delete myupconv; + + return *(m_filt_up_data[Y_COMP]); + + } +} + + + +void EncPicture::Combine( PicArray& comb_data, const PicArray& y_data, + const PicArray& u_data, const PicArray& v_data ) const +{ + int hcr = y_data.LengthX()/u_data.LengthX(); + int vcr = y_data.LengthY()/u_data.LengthY(); + + float val, valc, valy; + + if (vcr==1){ + for (int j=0; j>1]); + val *= val; + valc = val; + + val = float(v_data[j][i>>1]); + val *= val; + valc += val; + + valy = float(y_data[j][i]) + 128.0; + valy *= valy; + comb_data[j][i] = ValueType( std::sqrt(valc+valy)-128.0 ); + + valy = float(y_data[j][i+1]) + 128.0; + valy *= valy; + + comb_data[j][i+1] = ValueType( std::sqrt(valc+valy)-128.0 ); + + }// i + } + }// j + } + else{ // 420 format + for (int j=0; j>1][i>>1]); + val *= val; + valc = val; + + val = float(v_data[j>>1][i>>1]); + val *= val; + valc += val; + + valy = float(y_data[j][i]) + 128.0; + valy *= valy; + comb_data[j][i] = ValueType( std::sqrt(valc+valy)-128.0 ); + + valy = float(y_data[j][i+1]) + 128.0; + valy *= valy; + comb_data[j][i+1] = ValueType( std::sqrt(valc+valy)-128.0 ); + + valy = float(y_data[j+1][i]) + 128.0; + valy *= valy; + comb_data[j+1][i] = ValueType( std::sqrt(valc+valy)-128.0 ); + + valy = float(y_data[j+1][i+1]) + 128.0; + valy *= valy; + comb_data[j+1][i+1] = ValueType( std::sqrt(valc+valy)-128.0 ); + + }// i + }// j + + } + + +} + + +void EncPicture::DropRef( int rindex ){ + + std::vector& refs = m_pparams.Refs(); + + if (rindex==1 || rindex==2 ) + refs.erase( refs.begin()+rindex-1 ); + + // Now reconfigure the motion data + if ( m_me_data!=NULL ) + m_me_data->DropRef( rindex ); + +} diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_encoder/enc_picture.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_encoder/enc_picture.h --- dirac-0.9.1/libdirac_encoder/enc_picture.h 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/libdirac_encoder/enc_picture.h 2008-10-01 02:26:47.000000000 +0100 @@ -0,0 +1,163 @@ +/* ***** BEGIN LICENSE BLOCK ***** +* +* $Id: enc_picture.h,v 1.6 2008/10/01 01:26:47 asuraparaju Exp $ $Name: Dirac_1_0_2 $ +* +* Version: MPL 1.1/GPL 2.0/LGPL 2.1 +* +* The contents of this file are subject to the Mozilla Public License +* Version 1.1 (the "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* http://www.mozilla.org/MPL/ +* +* Software distributed under the License is distributed on an "AS IS" basis, +* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for +* the specific language governing rights and limitations under the License. +* +* The Original Code is BBC Research and Development code. +* +* The Initial Developer of the Original Code is the British Broadcasting +* Corporation. +* Portions created by the Initial Developer are Copyright (C) 2008. +* All Rights Reserved. +* +* Contributor(s): Thomas Davies (Original Author), +* +* Alternatively, the contents of this file may be used under the terms of +* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser +* Public License Version 2.1 (the "LGPL"), in which case the provisions of +* the GPL or the LGPL are applicable instead of those above. If you wish to +* allow use of your version of this file only under the terms of the either +* the GPL or LGPL and not to allow others to use your version of this file +* under the MPL, indicate your decision by deleting the provisions above +* and replace them with the notice and other provisions required by the GPL +* or LGPL. If you do not delete the provisions above, a recipient may use +* your version of this file under the terms of any one of the MPL, the GPL +* or the LGPL. +* ***** END LICENSE BLOCK ***** */ + +#ifndef _ENC_PICTURE_H_ +#define _ENC_PICTURE_H_ + +#include +#include + + +namespace dirac +{ +static const unsigned int DONE_ME_INIT = 0x1; +static const unsigned int DONE_PEL_ME = 0x2; +static const unsigned int DONE_SUBPEL_ME = 0x4; +static const unsigned int DONE_ME_MODE_DECN = 0x8; +static const unsigned int DONE_MV_CODING = 0x10; +static const unsigned int DONE_MC = 0x20; +static const unsigned int DONE_DWT = 0x40; +static const unsigned int DONE_QUANT_SEL = 0x80; +static const unsigned int DONE_RES_CODING = 0x100; +static const unsigned int DONE_IDWT = 0x200; +static const unsigned int DONE_MC_BACK = 0x400; +static const unsigned int DONE_SET_PTYPE = 0x800; +static const unsigned int DONE_PIC_COMPLEXITY = 0x1000; + +static const unsigned int ALL_ENC = 0xFFFFFFFF; +static const unsigned int NO_ENC = 0; + +class EncPicture : public Picture +{ +public: + EncPicture( const PictureParams& pp ); + + virtual ~EncPicture(); + + //! Initialise the motion estimation data arrays + void InitMEData( const PicturePredParams& predparams, const int num_refs); + + //! Returns the motion data + MEData& GetMEData(){ return *m_me_data;} + + //! Returns the motion data + const MEData& GetMEData() const { return *m_me_data;} + + //! Drops a reference from the motion vector data + void DropRef( int rindex ); + + + //! Returns a given component of the original data + const PicArray& OrigData(CompSort c) const { return *m_orig_data[(int) c];} + + //! Returns a given upconverted component of the original data + const PicArray& UpOrigData(CompSort cs) const; + + //! Initialises a copy of the data arrays into the original data + void SetOrigData(); + + //! Returns a version of the picture data suitable for motion estimation + const PicArray& DataForME(bool combined_me) const; + + //! Returns a version of the picture data suitable for subpel motion estimation + const PicArray& UpDataForME(bool combined_me) const; + + + void UpdateStatus( const unsigned int mask ){ m_status |= mask; } + + void FlipStatus( const unsigned int mask){ m_status ^= mask; } + + void SetStatus( const int status ){ m_status = status; } + + unsigned int GetStatus() const{ return m_status; } + + + double GetComplexity() const {return m_complexity; } + + void SetComplexity(double c){ m_complexity = c; } + + double GetNormComplexity() const { return m_norm_complexity; } + + void SetNormComplexity( double c ){ m_norm_complexity = c; } + + double GetPredBias() const { return m_pred_bias; } + + void SetPredBias( double b ){ m_pred_bias = b; } + + +private: + + virtual void ClearData(); + + //! Filters a (field) picture vertically to reduce aliasing for motion estimation purposes + void AntiAliasFilter( PicArray& out_data, const PicArray& in_data ) const; + + //! Returns an anti-aliased version of the original data + const PicArray& FiltData(CompSort c) const; + + const PicArray& CombinedData() const; + const PicArray& UpCombinedData() const; + void Combine( PicArray& comb_data, const PicArray& y_data, + const PicArray& u_data, const PicArray& v_data ) const; + + //! Returns an upconverted anti-aliased version of the original data + const PicArray& UpFiltData(CompSort c) const; + + + void SetOrigData(const int c); + +private: + + PicArray* m_orig_data[3]; + mutable PicArray* m_orig_up_data[3]; + mutable PicArray* m_filt_data[3]; + mutable PicArray* m_filt_up_data[3]; + + MEData* m_me_data; + + unsigned int m_status; + + double m_complexity; + double m_norm_complexity; + + double m_pred_bias; +}; + + +} + +#endif diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_encoder/enc_queue.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_encoder/enc_queue.cpp --- dirac-0.9.1/libdirac_encoder/enc_queue.cpp 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/libdirac_encoder/enc_queue.cpp 2008-08-14 02:58:39.000000000 +0100 @@ -0,0 +1,292 @@ +/* ***** BEGIN LICENSE BLOCK ***** +* +* $Id: enc_queue.cpp,v 1.3 2008/08/14 01:58:39 asuraparaju Exp $ $Name: Dirac_1_0_2 $ +* +* Version: MPL 1.1/GPL 2.0/LGPL 2.1 +* +* The contents of this file are subject to the Mozilla Public License +* Version 1.1 (the "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* http://www.mozilla.org/MPL/ +* +* Software distributed under the License is distributed on an "AS IS" basis, +* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for +* the specific language governing rights and limitations under the License. +* +* The Original Code is BBC Research and Development code. +* +* The Initial Developer of the Original Code is the British Broadcasting +* Corporation. +* Portions created by the Initial Developer are Copyright (C) 2008. +* All Rights Reserved. +* +* Contributor(s): Thomas Davies (Original Author), +* +* Alternatively, the contents of this file may be used under the terms of +* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser +* Public License Version 2.1 (the "LGPL"), in which case the provisions of +* the GPL or the LGPL are applicable instead of those above. If you wish to +* allow use of your version of this file only under the terms of the either +* the GPL or LGPL and not to allow others to use your version of this file +* under the MPL, indicate your decision by deleting the provisions above +* and replace them with the notice and other provisions required by the GPL +* or LGPL. If you do not delete the provisions above, a recipient may use +* your version of this file under the terms of any one of the MPL, the GPL +* or the LGPL. +* ***** END LICENSE BLOCK ***** */ + +#include +#include +using namespace dirac; + +//Simple constructor for decoder operation +EncQueue::EncQueue(){} + +//Copy constructor. Why anyone would need this I don't know. +EncQueue::EncQueue(const EncQueue& cpy) + { + // first delete all frames in the current buffer + for (size_t i=0 ; i::iterator it = m_pnum_map.find(pnum); + + unsigned int pos = 0; + if (it != m_pnum_map.end()) + pos = it->second; + + return *(m_pic_data[pos]); +} + +const EncPicture& EncQueue::GetPicture( const unsigned int pnum ) const +{ //as above, but const version + + std::map::const_iterator it = m_pnum_map.find(pnum); + + unsigned int pos=0; + if (it != m_pnum_map.end()) + pos = it->second; + + return *(m_pic_data[pos]); +} + +EncPicture& EncQueue::GetPicture( const unsigned int pnum, bool& is_present ) +{//get picture with a given picture number, NOT with a given position in the buffer. + //If the picture number does not occur, the first picture in the buffer is returned. + + std::map::iterator it = m_pnum_map.find(pnum); + + unsigned int pos = 0; + if (it != m_pnum_map.end()) + { + is_present = true; + pos = it->second; + } + else + is_present=false; + + return *(m_pic_data[pos]); +} + +const EncPicture& EncQueue::GetPicture( const unsigned int pnum, bool& is_present ) const +{ //as above, but const version + + std::map::const_iterator it = m_pnum_map.find(pnum); + + unsigned int pos=0; + if (it != m_pnum_map.end()) + { + is_present = true; + pos = it->second; + } + else + is_present=false; + + return *(m_pic_data[pos]); +} + +bool EncQueue::IsPictureAvail( const unsigned int pnum ) const +{ + + std::map::const_iterator it = m_pnum_map.find(pnum); + + if (it != m_pnum_map.end()) + return true; + else + return false; +} + +std::vector EncQueue::Members() const +{ + std::vector members( 0 ); + for (unsigned int i=0; iGetPparams(); + members.push_back( pparams.PictureNum() ); + }// i + + return members; +} + +void EncQueue::PushPicture( const PictureParams& pp ) +{// Put a new picture onto the top of the stack + + // if picture is present - return + if (IsPictureAvail(pp.PictureNum())) + return; + +// if ( pp.PicSort().IsRef() ) +// m_ref_count++; + + EncPicture* pptr = new EncPicture(pp); + // add the picture to the buffer + m_pic_data.push_back(pptr); + + // put the picture number into the index table + std::pair temp_pair(pp.PictureNum() , m_pic_data.size()-1); + m_pnum_map.insert(temp_pair); +} + +void EncQueue::CopyPicture( const EncPicture& picture ) +{ + PushPicture(picture.GetPparams()); + + bool is_present; + + EncPicture & p= GetPicture(picture.GetPparams().PictureNum(), is_present); + if(is_present) + p = picture; +} + +void EncQueue::ClearSlot(const unsigned int pos) +{ + // Clear a slot corresponding to position pos to take more data + + std::pair* tmp_pair; + + if (pos( m_pic_data[i]->GetPparams().PictureNum() , i); + m_pnum_map.insert(*tmp_pair); + delete tmp_pair; + }//i + } +} + + +void EncQueue::SetRetiredPictureNum(const int show_pnum, const int current_coded_pnum) +{ + + if ( IsPictureAvail(current_coded_pnum)) + { + PictureParams &pparams = GetPicture(current_coded_pnum).GetPparams(); + pparams.SetRetiredPictureNum(-1); + for (size_t i=0 ; iGetPparams().PicSort().IsRef() ) + { + if ( (m_pic_data[i]->GetPparams().PictureNum() + m_pic_data[i]->GetPparams().ExpiryTime() ) <= show_pnum) + { + pparams.SetRetiredPictureNum(m_pic_data[i]->GetPparams().PictureNum()); + break; + } + } + }//i + } +} + +void EncQueue::CleanAll(const int show_pnum, const int current_coded_pnum) +{// clean out all frames that have expired + if (IsPictureAvail(current_coded_pnum)) + { + for (size_t i=0 ; iGetPparams().PictureNum() + m_pic_data[i]->GetPparams().ExpiryTime() ) <= show_pnum) + ClearSlot(i); + }//i + } +} + +void EncQueue::CleanRetired(const int show_pnum, const int current_coded_pnum) +{// clean out all frames that have expired + if ( IsPictureAvail(current_coded_pnum) ) + { + PictureParams &pparams = GetPicture(current_coded_pnum).GetPparams(); + // Remove Reference picture specified in retired picture number. + if (pparams.PicSort().IsRef() && pparams.RetiredPictureNum()>= 0) + Remove(pparams.RetiredPictureNum()); + pparams.SetRetiredPictureNum(-1); + // Remove non-reference frames that have expired + for (size_t i=0 ; iGetPparams().PictureNum()+ + m_pic_data[i]->GetPparams().ExpiryTime() )<=show_pnum + && m_pic_data[i]->GetPparams().PicSort().IsNonRef() ) + ClearSlot(i); + }//i + } +} + +void EncQueue::Remove(const int pnum) +{ + for (size_t i=0 ; iGetPparams().PictureNum() == pnum) + ClearSlot(i); + }//i +} + diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_encoder/enc_queue.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_encoder/enc_queue.h --- dirac-0.9.1/libdirac_encoder/enc_queue.h 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/libdirac_encoder/enc_queue.h 2008-08-14 03:30:50.000000000 +0100 @@ -0,0 +1,222 @@ +/* ***** BEGIN LICENSE BLOCK ***** +* +* $Id: enc_queue.h,v 1.3 2008/08/14 02:30:50 asuraparaju Exp $ $Name: Dirac_1_0_2 $ +* +* Version: MPL 1.1/GPL 2.0/LGPL 2.1 +* +* The contents of this file are subject to the Mozilla Public License +* Version 1.1 (the "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* http://www.mozilla.org/MPL/ +* +* Software distributed under the License is distributed on an "AS IS" basis, +* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for +* the specific language governing rights and limitations under the License. +* +* The Original Code is BBC Research and Development code. +* +* The Initial Developer of the Original Code is the British Broadcasting +* Corporation. +* Portions created by the Initial Developer are Copyright (C) 2004. +* All Rights Reserved. +* +* Contributor(s): Thomas Davies (Original Author), +* Anuradha Suraparaju +* +* Alternatively, the contents of this file may be used under the terms of +* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser +* Public License Version 2.1 (the "LGPL"), in which case the provisions of +* the GPL or the LGPL are applicable instead of those above. If you wish to +* allow use of your version of this file only under the terms of the either +* the GPL or LGPL and not to allow others to use your version of this file +* under the MPL, indicate your decision by deleting the provisions above +* and replace them with the notice and other provisions required by the GPL +* or LGPL. If you do not delete the provisions above, a recipient may use +* your version of this file under the terms of any one of the MPL, the GPL +* or the LGPL. +* ***** END LICENSE BLOCK ***** */ + +#ifndef _ENC_QUEUE_H_ +#define _ENC_QUEUE_H_ + +#include +#include +#include +#include + +namespace dirac +{ + //! Holds pictures both for reference and to overcome reordering delay + /*! + The buffer holds pictures in a stack to overcome both reordering due to + bi-directional prediction and use as references for subsequence motion + estimation. Pictures, and components of pictures, can be accessed by their + picture numbers. GOP parameters can be included in the constructors so + that pictures can be given types (I picture, L1 picture or L2 picture) on + being pushed onto the stack; alternatively, these parameters can be + overridden. + */ + class EncQueue{ + public: + //! Default Constructor + EncQueue(); + + //! Constructor + /*! + Creates a EncQueue using the chroma format. Suitable for + compressing when there are no L2 pictures, or when the temporal + prediction structure is to be determined on the fly. + + \param cf the Chroma format of pictures in the buffer + \param xlen the luma width of pictures in the buffer + \param ylen the luma height of pictures in the buffer + \param luma_depth the video depth of the luma comp in the buffer + \param chroma_depth the video depth of the chroma comp in the buffer + \param using_ac True if using Arithmetic coding to code coefficient data + + */ + EncQueue(ChromaFormat cf, + const int xlen, + const int ylen, + const unsigned int luma_depth, + const unsigned int chroma_depth, + bool using_ac); + + //! Constructor + /*! + Creates a EncQueue using the chroma format, the number of L1 + pictures between I pictures and the separation in pictures between L1 + pictures. Suitable for compressing when there is a full GOP structure + or when the temporal prediction structure is to be determined on + the fly. + + \param cf the Chroma format of pictures in the buffer + \param numL1 the number of Layer 1 pictures before the next I picture. 0 means that there is only one I picture. + \param L1sep the number of Layer 2 pictures between Layer 1 pictures + \param xlen the luma width of pictures in the buffer + \param ylen the luma height of pictures in the buffer + \param luma_depth the video depth of the luma comp in the buffer + \param chroma_depth the video depth of the chroma comp in the buffer + \param interlace Set true if material is being coded in interlaced mode + \param using_ac True if using Arithmetic coding to code coefficient data + */ + EncQueue(ChromaFormat cf, + const int numL1, + const int L1sep, + const int xlen, + const int ylen, + const unsigned int luma_depth, + const unsigned int chroma_depth, + bool interlace, + bool using_ac); + + //! Copy constructor + /*! + Copy constructor. Removes the current contents of the pictureture buffer + and copies in the contents of the initialising buffer. + */ + EncQueue(const EncQueue& cpy); + + //! Operator=. + /*! + Operator=. Assigns all elements of the rhs to the lhs. + */ + EncQueue& operator=(const EncQueue& rhs); + + //! Destructor + ~EncQueue(); + + //! Get picture with a given picture number (NOT with a given position in the buffer) + EncPicture& GetPicture(const unsigned int pnum ); + + //! Get picture with a given picture number (NOT with a given position in the buffer) + const EncPicture& GetPicture(const unsigned int pnum) const; + + //! Get picture with a given picture number, setting a flag to true if it's there + EncPicture& GetPicture(const unsigned int pnum, bool& is_present); + + //! Get picture with a given picture number, setting a flag to true if it's there + const EncPicture& GetPicture(const unsigned int pnum, bool& is_present) const; + + //! Return true if picture with the particular picture number is available else return false + bool IsPictureAvail(const unsigned int pnum) const; + + //! Returns a list of member pictures + std::vector Members() const; + + //! Returns the size of the queue + int Size() const { return m_pic_data.size(); } + + //! Put a new picture into the top of the buffer + /*! + Put a new picture into the top of the buffer. EncPicture parameters + associated with the picture will be as given by the picture parameter + object. + */ + void PushPicture(const PictureParams& pp); + + //! Put a copy of a new picture into the buffer + /*! + Put a copy of a new picture into the buffer. + */ + void CopyPicture( const EncPicture& picture ); + + //! Sets the reference picture number that will be cleaned + /*! + Indicate which picture which has been output and which is no longer + required for reference. Expiry times are set in each picture's + picture parameters. + \param show_pnum picture number in display order that can be output + \param current_coded_pnum picture number in display order of picture currently being coded + */ + void SetRetiredPictureNum(const int show_pnum, const int current_coded_pnum); + + //! Delete all expired pictures + /*! + Delete pictures which have been output and which are no longer + required for reference. Expiry times are set in each picture's + picture parameters. + \param show_pnum picture number in display order that can be output + \param current_coded_pnum picture number in display order of picture currently being coded + */ + void CleanAll(const int show_pnum, const int current_coded_pnum); + + //! Delete retired reference pictures and expired non-ref pictures + /*! + Delete pictures which have been output and retired reference pictures. + Expiry times are set in each picture's picture parameters. + \param show_pnum picture number in display order that can be output + \param current_coded_pnum picture number in display order of picture currently being coded + */ + void CleanRetired(const int show_pnum, const int current_coded_pnum); + + //! Delete picture + /*! + Delete picture. + \param pnum picture number in display order to be deleted from picture buffer + */ + void Remove(int pnum); + + private: + //! Clear internal data slot number pos + /*! + Clear internal data slot number pos + */ + void ClearSlot(const unsigned int pos); + + private: + +// //! the count of the number of reference pictures in the buffer +// int m_ref_count; + + //! the buffer storing all the values + std::vector m_pic_data; + + //!the map from picture numbers to position in the buffer + std::map m_pnum_map; + + }; + +} // namespace dirac + +#endif diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_encoder/frame_compress.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_encoder/frame_compress.cpp --- dirac-0.9.1/libdirac_encoder/frame_compress.cpp 2008-01-09 10:48:21.000000000 +0000 +++ dirac-1.0.2/libdirac_encoder/frame_compress.cpp 1970-01-01 01:00:00.000000000 +0100 @@ -1,552 +0,0 @@ -/* ***** BEGIN LICENSE BLOCK ***** -* -* $Id: frame_compress.cpp,v 1.36 2008/01/09 10:48:21 asuraparaju Exp $ $Name: Dirac_0_9_1 $ -* -* Version: MPL 1.1/GPL 2.0/LGPL 2.1 -* -* The contents of this file are subject to the Mozilla Public License -* Version 1.1 (the "License"); you may not use this file except in compliance -* with the License. You may obtain a copy of the License at -* http://www.mozilla.org/MPL/ -* -* Software distributed under the License is distributed on an "AS IS" basis, -* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for -* the specific language governing rights and limitations under the License. -* -* The Original Code is BBC Research and Development code. -* -* The Initial Developer of the Original Code is the British Broadcasting -* Corporation. -* Portions created by the Initial Developer are Copyright (C) 2004. -* All Rights Reserved. -* -* Contributor(s): Thomas Davies (Original Author), -* Scott R Ladd, -* Chris Bowley, -* Anuradha Suraparaju, -* Tim Borer, -* Andrew Kennedy -* -* Alternatively, the contents of this file may be used under the terms of -* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser -* Public License Version 2.1 (the "LGPL"), in which case the provisions of -* the GPL or the LGPL are applicable instead of those above. If you wish to -* allow use of your version of this file only under the terms of the either -* the GPL or LGPL and not to allow others to use your version of this file -* under the MPL, indicate your decision by deleting the provisions above -* and replace them with the notice and other provisions required by the GPL -* or LGPL. If you do not delete the provisions above, a recipient may use -* your version of this file under the terms of any one of the MPL, the GPL -* or the LGPL. -* ***** END LICENSE BLOCK ***** */ - -//Compression of frames// -///////////////////////// - -#include -#include -#include -#include -#include -#include -#include -using namespace dirac; - -#include -#include - -FrameCompressor::FrameCompressor( EncoderParams& encp ) : - m_encparams(encp), - m_me_data(0), - m_skipped(false), - m_use_global(false), - m_use_block_mv(true), - m_global_pred_mode(REF1_ONLY), - m_medata_avail(false), - m_is_a_cut(false) -{} - -FrameCompressor::~FrameCompressor() -{ - if (m_me_data) - delete m_me_data; -} - -bool FrameCompressor::MotionEstimate(const FrameBuffer& my_fbuffer , - int fnum ) -{ - m_is_a_cut = false; - - if (m_me_data) - { - delete m_me_data; - m_me_data = 0; - } - - m_me_data = new MEData( m_encparams.XNumMB() , - m_encparams.YNumMB(), - my_fbuffer.GetFrame( fnum).GetFparams().NumRefs() ); - - MotionEstimator my_motEst( m_encparams ); - my_motEst.DoME( my_fbuffer , fnum , *m_me_data ); - - // If we have a cut.... - AnalyseMEData( *m_me_data ); - - // Set me data available flag - if ( m_is_a_cut==false ) - m_medata_avail = true; - else - { - m_medata_avail = false; - delete m_me_data; - m_me_data = 0; - } - - return m_is_a_cut; -} - -FrameByteIO* FrameCompressor::Compress( FrameBuffer& my_buffer , - int fnum) -{ - Frame& my_frame = my_buffer.GetFrame( fnum ); - - FrameParams& fparams = my_frame.GetFparams(); - const FrameSort& fsort = fparams.FSort(); - - // Set the wavelet filter - if ( fsort.IsIntra() ) - { - m_encparams.SetTransformFilter( m_encparams.IntraTransformFilter() ); - m_encparams.SetUsualCodeBlocks( INTRA_FRAME ); - } - else - { - m_encparams.SetTransformFilter( m_encparams.InterTransformFilter() ); - m_encparams.SetUsualCodeBlocks( INTER_FRAME ); - } - - // Write the frame header. We wait until after motion estimation, since - // this allows us to do cut-detection and (possibly) to decide whether - // or not to skip a frame before actually encoding anything. However we - // can do this at any point prior to actually writing any frame data. - //WriteFrameHeader( my_frame.GetFparams() ); - FrameByteIO* p_frame_byteio = new FrameByteIO(fparams, - fnum); - - p_frame_byteio->Output(); - - if ( !m_skipped ) - { // If not skipped we continue with the coding ... - if (m_encparams.Verbose() ) - std::cout<(m_encparams)); - p_frame_byteio->SetMvData(mv_data); - - CompressMVData( mv_data ); - } - - // Then motion compensate - MotionCompensator::CompensateFrame( m_encparams , SUBTRACT , - my_buffer , fnum , - *m_me_data ); - - }//?fsort - - //Write Transform Header - TransformByteIO *p_transform_byteio = new TransformByteIO(fparams, - static_cast(m_encparams)); - p_frame_byteio->SetTransformData(p_transform_byteio); - p_transform_byteio->Output(); - - /* Code component data */ - ///////////////////////// - - CompCompressor my_compcoder(m_encparams , fparams ); - - PicArray* comp_data[3]; - CoeffArray* comp_coeff_data[3]; - WaveletTransform* comp_transform[3]; - SubbandList* comp_bands[3]; - OneDArray* est_bits[3]; - - - const int depth=m_encparams.TransformDepth(); - const WltFilter filter = m_encparams.TransformFilter(); - - // Construction and definition of objects - for (int i=0;i<3;++i){ - comp_data[i] = &my_buffer.GetComponent( fnum , (CompSort) i ); - comp_transform[i] = new WaveletTransform( depth, filter ); - comp_coeff_data[i] = new CoeffArray(comp_data[i]->LengthY(), - comp_data[i]->LengthX(), (CompSort) i ); - }// i - - // Do the wavelet transforms for Y, U and V - - for (int i=0;i<3;++i){ - comp_transform[i]->Transform( FORWARD , *comp_data[i], *comp_coeff_data[i] ); - comp_transform[i]->SetBandWeights( m_encparams.CPD() , fsort , - fparams.CFormat(), (CompSort) i, m_encparams.FieldCoding()); - comp_bands[i] = &comp_transform[i]->BandList(); - SetupCodeBlocks( *comp_bands[i] ); - - }//i - - - // Select the component quantisers - float lambda; - for (int i=0; i<3; ++i){ - lambda = GetCompLambda( fparams, (CompSort) i ); - - est_bits[i] = new OneDArray( Range( 1, comp_bands[i]->Length() ) ); - - SelectQuantisers( *comp_coeff_data[i] , *comp_bands[i] , lambda, - *est_bits[i] , m_encparams.GetCodeBlockMode(), - fsort, (CompSort) i ); - } - - - - // Quantise and code the component subbands - for (int i=0; i<3; ++i){ - p_transform_byteio->AddComponent( my_compcoder.Compress( - *comp_coeff_data[i], *comp_bands[i], *est_bits[i] ) ); - } - - - // Transform back into the picture domain if required - if ( fsort.IsIntra() || fsort.IsRef() || m_encparams.LocalDecode() ) - { - for (int i=0; i<3; ++i){ - comp_transform[i]->Transform( BACKWARD , *comp_data[i], *comp_coeff_data[i] ); - }// i - } - - - // Destruction of objects - for (int i=0; i<3; ++i) - { - delete comp_transform[i]; - delete comp_coeff_data[i]; - delete est_bits[i]; - - } - - - //motion compensate again if necessary - if (fsort.IsInter() ) - { - if ( fsort.IsRef() || m_encparams.LocalDecode() ) - { - MotionCompensator::CompensateFrame( m_encparams , ADD , - my_buffer , fnum , - *m_me_data ); - } - }//?fsort - - //finally clip the data to keep it in range - my_buffer.GetFrame( fnum ).Clip(); - - }//?m_skipped - - // return compressed frame - return p_frame_byteio; -} - -const MEData* FrameCompressor::GetMEData() const -{ - TESTM (m_me_data != NULL, "m_medata allocated"); - TESTM (m_medata_avail == true, "ME Data available"); - - return m_me_data; -} - -void FrameCompressor::CompressMVData(MvDataByteIO* mv_data) -{ - SplitModeCodec smode_coder( mv_data->SplitModeData()->DataBlock(), TOTAL_MV_CTXS); - smode_coder.Compress( *m_me_data ); - mv_data->SplitModeData()->Output(); - - PredModeCodec pmode_coder( mv_data->PredModeData()->DataBlock(), TOTAL_MV_CTXS); - pmode_coder.Compress( *m_me_data ); - mv_data->PredModeData()->Output(); - - VectorElementCodec vcoder1h( mv_data->MV1HorizData()->DataBlock(), 1, - HORIZONTAL, TOTAL_MV_CTXS); - vcoder1h.Compress( *m_me_data ); - mv_data->MV1HorizData()->Output(); - - VectorElementCodec vcoder1v( mv_data->MV1VertData()->DataBlock(), 1, - VERTICAL, TOTAL_MV_CTXS); - vcoder1v.Compress( *m_me_data ); - mv_data->MV1VertData()->Output(); - - if ( m_me_data->NumRefs()>1 ) - { - VectorElementCodec vcoder2h( mv_data->MV2HorizData()->DataBlock(), 2, - HORIZONTAL, TOTAL_MV_CTXS); - vcoder2h.Compress( *m_me_data ); - mv_data->MV2HorizData()->Output(); - - VectorElementCodec vcoder2v( mv_data->MV2VertData()->DataBlock(), 2, - VERTICAL, TOTAL_MV_CTXS); - vcoder2v.Compress( *m_me_data ); - mv_data->MV2VertData()->Output(); - } - - DCCodec ydc_coder( mv_data->YDCData()->DataBlock(), Y_COMP, TOTAL_MV_CTXS); - ydc_coder.Compress( *m_me_data ); - mv_data->YDCData()->Output(); - - DCCodec udc_coder( mv_data->UDCData()->DataBlock(), U_COMP, TOTAL_MV_CTXS); - udc_coder.Compress( *m_me_data ); - mv_data->UDCData()->Output(); - - DCCodec vdc_coder( mv_data->VDCData()->DataBlock(), V_COMP, TOTAL_MV_CTXS); - vdc_coder.Compress( *m_me_data ); - mv_data->VDCData()->Output(); - - mv_data->Output(); -} - -void FrameCompressor::AnalyseMEData( const MEData& me_data ) -{ - // Count the number of intra blocks - const TwoDArray& modes = me_data.Mode(); - - int count_intra = 0; - for ( int j=0 ; j( count_intra ) / - static_cast( modes.LengthX() * modes.LengthY() ); - - if ( m_encparams.Verbose() ) - std::cout< 33.33 ) - m_is_a_cut = true; - else - m_is_a_cut = false; - -} - -float FrameCompressor::GetCompLambda( const FrameParams& fparams, - const CompSort csort ) -{ - const FrameSort fsort = fparams.FSort(); - - float lambda; - - if ( fsort.IsIntra() ) - { - lambda= m_encparams.ILambda(); - if ( m_is_a_cut ) - { - // The intra frame is inserted so we can lower the quality - lambda *= 5; - - } - } - else - { - double log_intra_lambda = std::log10( m_encparams.ILambda() ); - double log_frame_lambda; - - if (fparams.IsBFrame() ) - log_frame_lambda= std::log10( m_encparams.L2Lambda() ); - else - log_frame_lambda= std::log10( m_encparams.L1Lambda() ); - - - lambda= std::pow(10.0, ( (1.7*m_intra_ratio*log_intra_lambda+ - (100.0-2*m_intra_ratio)*log_frame_lambda )/100.0) ); - } - - - if (csort == U_COMP) - lambda*= m_encparams.UFactor(); - if (csort == V_COMP) - lambda*= m_encparams.VFactor(); - - return lambda; -} - -void FrameCompressor::SetupCodeBlocks( SubbandList& bands ) -{ - int xregions; - int yregions; - - // The maximum number of regions horizontally and vertically - - - for (int band_num = 1; band_num<=bands.Length() ; ++band_num) - { - if (m_encparams.SpatialPartition()) - { - int level = m_encparams.TransformDepth() - (band_num-1)/3; - const CodeBlocks &cb = m_encparams.GetCodeBlocks(level); - xregions = cb.HorizontalCodeBlocks(); - yregions = cb.VerticalCodeBlocks(); - } - else - { - xregions = 1; - yregions = 1; - } - - bands( band_num ).SetNumBlocks( yregions , xregions ); - }// band_num -} - -void FrameCompressor::SelectQuantisers( CoeffArray& coeff_data , - SubbandList& bands , - const float lambda, - OneDArray& est_bits, - const CodeBlockMode cb_mode, - const FrameSort fsort, - const CompSort csort ) -{ - - // Set up the multiquantiser mode - for ( int b=bands.Length() ; b>=1 ; --b ) - { - // Set multiquants flag in the subband only if - // a. Global m_cb_mode flag is set to QUANT_MULTIPLE in encparams - // and - // b. Current subband has more than one block - if ( - cb_mode == QUANT_MULTIPLE && - (bands(b).GetCodeBlocks().LengthX() > 1 || - bands(b).GetCodeBlocks().LengthY() > 1) - ) - bands(b).SetUsingMultiQuants( true ); - else - bands(b).SetUsingMultiQuants( false ); - }// b - - // Select all the quantizers - if ( !m_encparams.Lossless() ) - { - // Set the DC band quantiser to be 1 - bands( bands.Length() ).SetQIndex( 0 ); - bands( bands.Length() ).SetSkip( false ); - bands( bands.Length() ).SetUsingMultiQuants( false ); - est_bits[ bands.Length()] = 0; - TwoDArray& blocks = bands( bands.Length() ).GetCodeBlocks(); - for (int j=0; j=1 ; --b ) - { est_bits[b] = SelectMultiQuants( coeff_data , bands , b, lambda, - fsort, csort ); - }// b - } - else - { - for ( int b=bands.Length() ; b>=1 ; --b ) - { - bands(b).SetQIndex( 0 ); - TwoDArray& blocks = bands(b).GetCodeBlocks(); - for (int j=0; j -#include -#include -#include - -namespace dirac -{ - - class MvData; - - //! Compress a single image frame - /*! - This class compresses a single frame at a time, using parameters - supplied at its construction. FrameCompressor is used by - SequenceCompressor. - */ - class FrameCompressor - { - public: - //! Constructor - /*! - Creates a FrameEncoder with specific set of parameters the control - the compression process. It encodes motion data before encoding - each component of the frame. - \param encp encoder parameters - */ - FrameCompressor( EncoderParams& encp ); - - //! Destructor - ~FrameCompressor( ); - - //! Performs motion estimation for a frame and writes the data locally - /*! Performs motion estimation for a frame and writes the data locally - \param my_fbuffer picture buffer of uncoded originals - \param fnum frame number to compress - \return true if a cut is detected. - */ - bool MotionEstimate( const FrameBuffer& my_fbuffer, - int fnum); - - //! Compress a specific frame within a group of pictures (GOP) - /*! - Compresses a specified frame within a group of pictures. - \param my_fbuffer picture buffer in which the reference frames resides - \param fnum frame number to compress - \return Compressed frame in Dirac bytestream format - */ - FrameByteIO* Compress( FrameBuffer& my_fbuffer , - int fnum ); - - //! Returns true if the frame has been skipped rather than coded normally - bool IsSkipped(){ return m_skipped; } - - //! Returns true if Motion estimation data is available - bool IsMEDataAvail() const { return m_medata_avail; } - - //! Returns the motion estimation data - const MEData* GetMEData() const; - - private: - //! Copy constructor is private and body-less - /*! - Copy constructor is private and body-less. This class should not - be copied. - */ - FrameCompressor( const FrameCompressor& cpy ); - - //! Assignment = is private and body-less - /*! - Assignment = is private and body-less. This class should not be - assigned. - */ - FrameCompressor& operator=(const FrameCompressor& rhs); - - //! Analyses the ME data and returns true if a cut is detected, false otherwise - void AnalyseMEData( const MEData& ); - - //! Compresses the motion vector data - void CompressMVData(MvDataByteIO* mv_data); - - //! Returns the value lambda according to frame and component type - float GetCompLambda( const FrameParams& fparams, - const CompSort csort ); - - void SelectQuantisers( CoeffArray& coeff_data , - SubbandList& bands , - const float lambda, - OneDArray& est_counts, - const CodeBlockMode cb_mode, - const FrameSort fsort, - const CompSort csort ); - - int SelectMultiQuants( CoeffArray& coeff_data , - SubbandList& bands , - const int band_num, - const float lambda, - const FrameSort fsort, - const CompSort csort ); - - void SetupCodeBlocks( SubbandList& bands ); - - - void AddSubAverage(CoeffArray& coeff_data,int xl,int yl,AddOrSub dirn); - - private: - - //member variables - // a local copy of the encoder params - EncoderParams& m_encparams; - - // Pointer to the motion vector data - MEData* m_me_data; - - // True if the frame has been skipped, false otherwise - bool m_skipped; - - // True if we use global motion vectors, false otherwise - bool m_use_global; - - // True if we use block motion vectors, false otherwise - bool m_use_block_mv; - - // Prediction mode to use if we only have global motion vectors - PredMode m_global_pred_mode; - - // True if motion estimation data is available - bool m_medata_avail; - - // True if we have detected a cut - bool m_is_a_cut; - - // The proportion of intra blocks that motion estimation has found - double m_intra_ratio; - }; - -} // namespace dirac - -#endif diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_encoder/Makefile.am /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_encoder/Makefile.am --- dirac-0.9.1/libdirac_encoder/Makefile.am 2007-03-21 11:05:43.000000000 +0000 +++ dirac-1.0.2/libdirac_encoder/Makefile.am 2008-06-19 11:05:52.000000000 +0100 @@ -1,15 +1,15 @@ -# $Id: Makefile.am,v 1.14 2007/03/21 11:05:43 tjdwave Exp $ +# $Id: Makefile.am,v 1.18 2008/06/19 10:05:52 tjdwave Exp $ # -INCLUDES = -I$(top_srcdir) -I$(srcdir) +INCLUDES = -I$(top_srcdir) -I$(srcdir) -I$(top_builddir) -h_sources = comp_compress.h frame_compress.h quality_monitor.h \ +h_sources = comp_compress.h picture_compress.h quality_monitor.h \ quant_chooser.h seq_compress.h dirac_encoder.h \ - rate_control.h + rate_control.h prefilter.h enc_picture.h enc_queue.h -cpp_sources = comp_compress.cpp frame_compress.cpp quality_monitor.cpp \ +cpp_sources = comp_compress.cpp picture_compress.cpp quality_monitor.cpp \ quant_chooser.cpp seq_compress.cpp dirac_encoder.cpp \ - rate_control.cpp + rate_control.cpp prefilter.cpp enc_picture.cpp enc_queue.cpp if USE_MSVC diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_encoder/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_encoder/Makefile.in --- dirac-0.9.1/libdirac_encoder/Makefile.in 2008-01-26 12:30:37.000000000 +0000 +++ dirac-1.0.2/libdirac_encoder/Makefile.in 2009-02-11 01:43:38.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in 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. @@ -14,20 +14,16 @@ @SET_MAKE@ -# $Id: Makefile.am,v 1.14 2007/03/21 11:05:43 tjdwave Exp $ +# $Id: Makefile.am,v 1.18 2008/06/19 10:05:52 tjdwave Exp $ # -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -45,7 +41,8 @@ DIST_COMMON = $(library_include_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -67,10 +64,11 @@ $(top_builddir)/libdirac_common/libdirac_common.a \ $(top_builddir)/libdirac_byteio/libdirac_byteio.a am__objects_1 = -am__objects_2 = comp_compress.$(OBJEXT) frame_compress.$(OBJEXT) \ +am__objects_2 = comp_compress.$(OBJEXT) picture_compress.$(OBJEXT) \ quality_monitor.$(OBJEXT) quant_chooser.$(OBJEXT) \ seq_compress.$(OBJEXT) dirac_encoder.$(OBJEXT) \ - rate_control.$(OBJEXT) + rate_control.$(OBJEXT) prefilter.$(OBJEXT) \ + enc_picture.$(OBJEXT) enc_queue.$(OBJEXT) am_libdirac_encoder_a_OBJECTS = $(am__objects_1) $(am__objects_2) libdirac_encoder_a_OBJECTS = $(am_libdirac_encoder_a_OBJECTS) libLTLIBRARIES_INSTALL = $(INSTALL) @@ -80,34 +78,43 @@ $(top_builddir)/libdirac_common/libdirac_common.la \ $(top_builddir)/libdirac_byteio/libdirac_byteio.la am__objects_3 = libdirac_encoder_la-comp_compress.lo \ - libdirac_encoder_la-frame_compress.lo \ + libdirac_encoder_la-picture_compress.lo \ libdirac_encoder_la-quality_monitor.lo \ libdirac_encoder_la-quant_chooser.lo \ libdirac_encoder_la-seq_compress.lo \ libdirac_encoder_la-dirac_encoder.lo \ - libdirac_encoder_la-rate_control.lo + libdirac_encoder_la-rate_control.lo \ + libdirac_encoder_la-prefilter.lo \ + libdirac_encoder_la-enc_picture.lo \ + libdirac_encoder_la-enc_queue.lo am_libdirac_encoder_la_OBJECTS = $(am__objects_1) $(am__objects_3) libdirac_encoder_la_OBJECTS = $(am_libdirac_encoder_la_OBJECTS) +libdirac_encoder_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) \ + $(libdirac_encoder_la_LDFLAGS) $(LDFLAGS) -o $@ @USE_MSVC_FALSE@am_libdirac_encoder_la_rpath = -rpath $(libdir) -DEFAULT_INCLUDES = -I. -I$(srcdir) +DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) -CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \ - $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ SOURCES = $(libdirac_encoder_a_SOURCES) $(libdirac_encoder_la_SOURCES) DIST_SOURCES = $(libdirac_encoder_a_SOURCES) \ $(libdirac_encoder_la_SOURCES) @@ -117,8 +124,7 @@ CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ +ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ @@ -141,62 +147,46 @@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ GENERIC_RELEASE = @GENERIC_RELEASE@ GENERIC_VERSION = @GENERIC_VERSION@ GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBEXT = @LIBEXT@ LIBFLAGS = @LIBFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -205,22 +195,19 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -232,6 +219,7 @@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -250,6 +238,7 @@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -259,16 +248,20 @@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ -INCLUDES = -I$(top_srcdir) -I$(srcdir) -h_sources = comp_compress.h frame_compress.h quality_monitor.h \ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +INCLUDES = -I$(top_srcdir) -I$(srcdir) -I$(top_builddir) +h_sources = comp_compress.h picture_compress.h quality_monitor.h \ quant_chooser.h seq_compress.h dirac_encoder.h \ - rate_control.h + rate_control.h prefilter.h enc_picture.h enc_queue.h -cpp_sources = comp_compress.cpp frame_compress.cpp quality_monitor.cpp \ +cpp_sources = comp_compress.cpp picture_compress.cpp quality_monitor.cpp \ quant_chooser.cpp seq_compress.cpp dirac_encoder.cpp \ - rate_control.cpp + rate_control.cpp prefilter.cpp enc_picture.cpp enc_queue.cpp @USE_MSVC_TRUE@lib_LIBRARIES = libdirac_encoder.a @USE_MSVC_FALSE@libdirac_encoder_a_AR = ar crv @@ -326,7 +319,7 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-libLIBRARIES: $(lib_LIBRARIES) @$(NORMAL_INSTALL) - test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)" + test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ @@ -359,21 +352,21 @@ $(RANLIB) libdirac_encoder.a install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) - test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)" + test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ - echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) - @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ - echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ - $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLTLIBRARIES: @@ -385,7 +378,7 @@ rm -f "$${dir}/so_locations"; \ done libdirac_encoder.la: $(libdirac_encoder_la_OBJECTS) $(libdirac_encoder_la_DEPENDENCIES) - $(CXXLINK) $(am_libdirac_encoder_la_rpath) $(libdirac_encoder_la_LDFLAGS) $(libdirac_encoder_la_OBJECTS) $(libdirac_encoder_la_LIBADD) $(LIBS) + $(libdirac_encoder_la_LINK) $(am_libdirac_encoder_la_rpath) $(libdirac_encoder_la_OBJECTS) $(libdirac_encoder_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -395,101 +388,124 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/comp_compress.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirac_encoder.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/frame_compress.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/enc_picture.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/enc_queue.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_encoder_la-comp_compress.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_encoder_la-dirac_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_encoder_la-frame_compress.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_encoder_la-enc_picture.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_encoder_la-enc_queue.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_encoder_la-picture_compress.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_encoder_la-prefilter.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_encoder_la-quality_monitor.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_encoder_la-quant_chooser.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_encoder_la-rate_control.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_encoder_la-seq_compress.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/picture_compress.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prefilter.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quality_monitor.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quant_chooser.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rate_control.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/seq_compress.Po@am__quote@ .cpp.o: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: -@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< libdirac_encoder_la-comp_compress.lo: comp_compress.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_encoder_la-comp_compress.lo -MD -MP -MF "$(DEPDIR)/libdirac_encoder_la-comp_compress.Tpo" -c -o libdirac_encoder_la-comp_compress.lo `test -f 'comp_compress.cpp' || echo '$(srcdir)/'`comp_compress.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_encoder_la-comp_compress.Tpo" "$(DEPDIR)/libdirac_encoder_la-comp_compress.Plo"; else rm -f "$(DEPDIR)/libdirac_encoder_la-comp_compress.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_encoder_la-comp_compress.lo -MD -MP -MF $(DEPDIR)/libdirac_encoder_la-comp_compress.Tpo -c -o libdirac_encoder_la-comp_compress.lo `test -f 'comp_compress.cpp' || echo '$(srcdir)/'`comp_compress.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_encoder_la-comp_compress.Tpo $(DEPDIR)/libdirac_encoder_la-comp_compress.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='comp_compress.cpp' object='libdirac_encoder_la-comp_compress.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_encoder_la-comp_compress.lo `test -f 'comp_compress.cpp' || echo '$(srcdir)/'`comp_compress.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_encoder_la-comp_compress.lo `test -f 'comp_compress.cpp' || echo '$(srcdir)/'`comp_compress.cpp -libdirac_encoder_la-frame_compress.lo: frame_compress.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_encoder_la-frame_compress.lo -MD -MP -MF "$(DEPDIR)/libdirac_encoder_la-frame_compress.Tpo" -c -o libdirac_encoder_la-frame_compress.lo `test -f 'frame_compress.cpp' || echo '$(srcdir)/'`frame_compress.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_encoder_la-frame_compress.Tpo" "$(DEPDIR)/libdirac_encoder_la-frame_compress.Plo"; else rm -f "$(DEPDIR)/libdirac_encoder_la-frame_compress.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='frame_compress.cpp' object='libdirac_encoder_la-frame_compress.lo' libtool=yes @AMDEPBACKSLASH@ +libdirac_encoder_la-picture_compress.lo: picture_compress.cpp +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_encoder_la-picture_compress.lo -MD -MP -MF $(DEPDIR)/libdirac_encoder_la-picture_compress.Tpo -c -o libdirac_encoder_la-picture_compress.lo `test -f 'picture_compress.cpp' || echo '$(srcdir)/'`picture_compress.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_encoder_la-picture_compress.Tpo $(DEPDIR)/libdirac_encoder_la-picture_compress.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='picture_compress.cpp' object='libdirac_encoder_la-picture_compress.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_encoder_la-frame_compress.lo `test -f 'frame_compress.cpp' || echo '$(srcdir)/'`frame_compress.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_encoder_la-picture_compress.lo `test -f 'picture_compress.cpp' || echo '$(srcdir)/'`picture_compress.cpp libdirac_encoder_la-quality_monitor.lo: quality_monitor.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_encoder_la-quality_monitor.lo -MD -MP -MF "$(DEPDIR)/libdirac_encoder_la-quality_monitor.Tpo" -c -o libdirac_encoder_la-quality_monitor.lo `test -f 'quality_monitor.cpp' || echo '$(srcdir)/'`quality_monitor.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_encoder_la-quality_monitor.Tpo" "$(DEPDIR)/libdirac_encoder_la-quality_monitor.Plo"; else rm -f "$(DEPDIR)/libdirac_encoder_la-quality_monitor.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_encoder_la-quality_monitor.lo -MD -MP -MF $(DEPDIR)/libdirac_encoder_la-quality_monitor.Tpo -c -o libdirac_encoder_la-quality_monitor.lo `test -f 'quality_monitor.cpp' || echo '$(srcdir)/'`quality_monitor.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_encoder_la-quality_monitor.Tpo $(DEPDIR)/libdirac_encoder_la-quality_monitor.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='quality_monitor.cpp' object='libdirac_encoder_la-quality_monitor.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_encoder_la-quality_monitor.lo `test -f 'quality_monitor.cpp' || echo '$(srcdir)/'`quality_monitor.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_encoder_la-quality_monitor.lo `test -f 'quality_monitor.cpp' || echo '$(srcdir)/'`quality_monitor.cpp libdirac_encoder_la-quant_chooser.lo: quant_chooser.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_encoder_la-quant_chooser.lo -MD -MP -MF "$(DEPDIR)/libdirac_encoder_la-quant_chooser.Tpo" -c -o libdirac_encoder_la-quant_chooser.lo `test -f 'quant_chooser.cpp' || echo '$(srcdir)/'`quant_chooser.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_encoder_la-quant_chooser.Tpo" "$(DEPDIR)/libdirac_encoder_la-quant_chooser.Plo"; else rm -f "$(DEPDIR)/libdirac_encoder_la-quant_chooser.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_encoder_la-quant_chooser.lo -MD -MP -MF $(DEPDIR)/libdirac_encoder_la-quant_chooser.Tpo -c -o libdirac_encoder_la-quant_chooser.lo `test -f 'quant_chooser.cpp' || echo '$(srcdir)/'`quant_chooser.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_encoder_la-quant_chooser.Tpo $(DEPDIR)/libdirac_encoder_la-quant_chooser.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='quant_chooser.cpp' object='libdirac_encoder_la-quant_chooser.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_encoder_la-quant_chooser.lo `test -f 'quant_chooser.cpp' || echo '$(srcdir)/'`quant_chooser.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_encoder_la-quant_chooser.lo `test -f 'quant_chooser.cpp' || echo '$(srcdir)/'`quant_chooser.cpp libdirac_encoder_la-seq_compress.lo: seq_compress.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_encoder_la-seq_compress.lo -MD -MP -MF "$(DEPDIR)/libdirac_encoder_la-seq_compress.Tpo" -c -o libdirac_encoder_la-seq_compress.lo `test -f 'seq_compress.cpp' || echo '$(srcdir)/'`seq_compress.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_encoder_la-seq_compress.Tpo" "$(DEPDIR)/libdirac_encoder_la-seq_compress.Plo"; else rm -f "$(DEPDIR)/libdirac_encoder_la-seq_compress.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_encoder_la-seq_compress.lo -MD -MP -MF $(DEPDIR)/libdirac_encoder_la-seq_compress.Tpo -c -o libdirac_encoder_la-seq_compress.lo `test -f 'seq_compress.cpp' || echo '$(srcdir)/'`seq_compress.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_encoder_la-seq_compress.Tpo $(DEPDIR)/libdirac_encoder_la-seq_compress.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='seq_compress.cpp' object='libdirac_encoder_la-seq_compress.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_encoder_la-seq_compress.lo `test -f 'seq_compress.cpp' || echo '$(srcdir)/'`seq_compress.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_encoder_la-seq_compress.lo `test -f 'seq_compress.cpp' || echo '$(srcdir)/'`seq_compress.cpp libdirac_encoder_la-dirac_encoder.lo: dirac_encoder.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_encoder_la-dirac_encoder.lo -MD -MP -MF "$(DEPDIR)/libdirac_encoder_la-dirac_encoder.Tpo" -c -o libdirac_encoder_la-dirac_encoder.lo `test -f 'dirac_encoder.cpp' || echo '$(srcdir)/'`dirac_encoder.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_encoder_la-dirac_encoder.Tpo" "$(DEPDIR)/libdirac_encoder_la-dirac_encoder.Plo"; else rm -f "$(DEPDIR)/libdirac_encoder_la-dirac_encoder.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_encoder_la-dirac_encoder.lo -MD -MP -MF $(DEPDIR)/libdirac_encoder_la-dirac_encoder.Tpo -c -o libdirac_encoder_la-dirac_encoder.lo `test -f 'dirac_encoder.cpp' || echo '$(srcdir)/'`dirac_encoder.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_encoder_la-dirac_encoder.Tpo $(DEPDIR)/libdirac_encoder_la-dirac_encoder.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='dirac_encoder.cpp' object='libdirac_encoder_la-dirac_encoder.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_encoder_la-dirac_encoder.lo `test -f 'dirac_encoder.cpp' || echo '$(srcdir)/'`dirac_encoder.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_encoder_la-dirac_encoder.lo `test -f 'dirac_encoder.cpp' || echo '$(srcdir)/'`dirac_encoder.cpp libdirac_encoder_la-rate_control.lo: rate_control.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_encoder_la-rate_control.lo -MD -MP -MF "$(DEPDIR)/libdirac_encoder_la-rate_control.Tpo" -c -o libdirac_encoder_la-rate_control.lo `test -f 'rate_control.cpp' || echo '$(srcdir)/'`rate_control.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_encoder_la-rate_control.Tpo" "$(DEPDIR)/libdirac_encoder_la-rate_control.Plo"; else rm -f "$(DEPDIR)/libdirac_encoder_la-rate_control.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_encoder_la-rate_control.lo -MD -MP -MF $(DEPDIR)/libdirac_encoder_la-rate_control.Tpo -c -o libdirac_encoder_la-rate_control.lo `test -f 'rate_control.cpp' || echo '$(srcdir)/'`rate_control.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_encoder_la-rate_control.Tpo $(DEPDIR)/libdirac_encoder_la-rate_control.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='rate_control.cpp' object='libdirac_encoder_la-rate_control.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_encoder_la-rate_control.lo `test -f 'rate_control.cpp' || echo '$(srcdir)/'`rate_control.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_encoder_la-rate_control.lo `test -f 'rate_control.cpp' || echo '$(srcdir)/'`rate_control.cpp + +libdirac_encoder_la-prefilter.lo: prefilter.cpp +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_encoder_la-prefilter.lo -MD -MP -MF $(DEPDIR)/libdirac_encoder_la-prefilter.Tpo -c -o libdirac_encoder_la-prefilter.lo `test -f 'prefilter.cpp' || echo '$(srcdir)/'`prefilter.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_encoder_la-prefilter.Tpo $(DEPDIR)/libdirac_encoder_la-prefilter.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='prefilter.cpp' object='libdirac_encoder_la-prefilter.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_encoder_la-prefilter.lo `test -f 'prefilter.cpp' || echo '$(srcdir)/'`prefilter.cpp + +libdirac_encoder_la-enc_picture.lo: enc_picture.cpp +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_encoder_la-enc_picture.lo -MD -MP -MF $(DEPDIR)/libdirac_encoder_la-enc_picture.Tpo -c -o libdirac_encoder_la-enc_picture.lo `test -f 'enc_picture.cpp' || echo '$(srcdir)/'`enc_picture.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_encoder_la-enc_picture.Tpo $(DEPDIR)/libdirac_encoder_la-enc_picture.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='enc_picture.cpp' object='libdirac_encoder_la-enc_picture.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_encoder_la-enc_picture.lo `test -f 'enc_picture.cpp' || echo '$(srcdir)/'`enc_picture.cpp + +libdirac_encoder_la-enc_queue.lo: enc_queue.cpp +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_encoder_la-enc_queue.lo -MD -MP -MF $(DEPDIR)/libdirac_encoder_la-enc_queue.Tpo -c -o libdirac_encoder_la-enc_queue.lo `test -f 'enc_queue.cpp' || echo '$(srcdir)/'`enc_queue.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_encoder_la-enc_queue.Tpo $(DEPDIR)/libdirac_encoder_la-enc_queue.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='enc_queue.cpp' object='libdirac_encoder_la-enc_queue.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_encoder_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_encoder_la-enc_queue.lo `test -f 'enc_queue.cpp' || echo '$(srcdir)/'`enc_queue.cpp mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: install-library_includeHEADERS: $(library_include_HEADERS) @$(NORMAL_INSTALL) - test -z "$(library_includedir)" || $(mkdir_p) "$(DESTDIR)$(library_includedir)" + test -z "$(library_includedir)" || $(MKDIR_P) "$(DESTDIR)$(library_includedir)" @list='$(library_include_HEADERS)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ @@ -510,8 +526,8 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS @@ -523,8 +539,8 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ @@ -534,13 +550,12 @@ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique @@ -554,22 +569,21 @@ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -585,7 +599,7 @@ all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(HEADERS) installdirs: for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(libdir)" "$(DESTDIR)$(library_includedir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am @@ -623,7 +637,7 @@ -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags + distclean-tags dvi: dvi-am @@ -637,13 +651,21 @@ install-data-am: install-library_includeHEADERS +install-dvi: install-dvi-am + install-exec-am: install-exec-local install-libLIBRARIES \ install-libLTLIBRARIES +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -664,25 +686,28 @@ ps-am: -uninstall-am: uninstall-info-am uninstall-libLIBRARIES \ - uninstall-libLTLIBRARIES uninstall-library_includeHEADERS \ - uninstall-local +uninstall-am: uninstall-libLIBRARIES uninstall-libLTLIBRARIES \ + uninstall-library_includeHEADERS uninstall-local + +.MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libLIBRARIES clean-libLTLIBRARIES clean-libtool ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am \ - install-exec-local install-info install-info-am \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-exec-local install-html \ + install-html-am install-info install-info-am \ install-libLIBRARIES install-libLTLIBRARIES \ - install-library_includeHEADERS install-man install-strip \ + install-library_includeHEADERS install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-info-am \ - uninstall-libLIBRARIES uninstall-libLTLIBRARIES \ - uninstall-library_includeHEADERS uninstall-local + tags uninstall uninstall-am uninstall-libLIBRARIES \ + uninstall-libLTLIBRARIES uninstall-library_includeHEADERS \ + uninstall-local #Custom install rule for MSCV diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_encoder/picture_compress.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_encoder/picture_compress.cpp --- dirac-0.9.1/libdirac_encoder/picture_compress.cpp 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/libdirac_encoder/picture_compress.cpp 2009-01-21 05:20:57.000000000 +0000 @@ -0,0 +1,710 @@ +/* ***** BEGIN LICENSE BLOCK ***** +* +* $Id: picture_compress.cpp,v 1.28 2009/01/21 05:20:57 asuraparaju Exp $ $Name: Dirac_1_0_2 $ +* +* Version: MPL 1.1/GPL 2.0/LGPL 2.1 +* +* The contents of this file are subject to the Mozilla Public License +* Version 1.1 (the "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* http://www.mozilla.org/MPL/ +* +* Software distributed under the License is distributed on an "AS IS" basis, +* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for +* the specific language governing rights and limitations under the License. +* +* The Original Code is BBC Research and Development code. +* +* The Initial Developer of the Original Code is the British Broadcasting +* Corporation. +* Portions created by the Initial Developer are Copyright (C) 2004. +* All Rights Reserved. +* +* Contributor(s): Thomas Davies (Original Author), +* Scott R Ladd, +* Chris Bowley, +* Anuradha Suraparaju, +* Tim Borer, +* Andrew Kennedy +* +* Alternatively, the contents of this file may be used under the terms of +* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser +* Public License Version 2.1 (the "LGPL"), in which case the provisions of +* the GPL or the LGPL are applicable instead of those above. If you wish to +* allow use of your version of this file only under the terms of the either +* the GPL or LGPL and not to allow others to use your version of this file +* under the MPL, indicate your decision by deleting the provisions above +* and replace them with the notice and other provisions required by the GPL +* or LGPL. If you do not delete the provisions above, a recipient may use +* your version of this file under the terms of any one of the MPL, the GPL +* or the LGPL. +* ***** END LICENSE BLOCK ***** */ + +//Compression of pictures// +///////////////////////// + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace dirac; + +#include +#include + +PictureCompressor::PictureCompressor( EncoderParams& encp ) : + m_encparams(encp), + m_skipped(false), + m_use_global(false), + m_use_block_mv(true), + m_global_pred_mode(REF1_ONLY), + m_me_data(NULL), + m_medata_avail(false), + m_is_a_cut(false) +{} + +PictureCompressor::~PictureCompressor() +{} + + +void PictureCompressor::PixelME( EncQueue& my_buffer , int pnum ) +{ + PixelMatcher pix_match( m_encparams ); + pix_match.DoSearch( my_buffer , pnum ); +} + +void PictureCompressor::CalcComplexity( EncQueue& my_buffer, int pnum , const OLBParams& olbparams ) +{ + EncPicture& my_picture = my_buffer.GetPicture( pnum ); + PictureParams& pparams = my_picture.GetPparams(); + + if ( (my_picture.GetStatus()&DONE_PEL_ME) != 0 ){ + MEData& me_data = my_picture.GetMEData(); + + TwoDArray* pcosts1; + TwoDArray* pcosts2; + + pcosts1 = &me_data.PredCosts(1); + if (pparams.NumRefs()>1) + pcosts2 = &me_data.PredCosts(2); + else + pcosts2 = pcosts1; + + float cost1, cost2, cost; + double total_cost1 = 0.0; + double total_cost2 = 0.0; + double total_cost = 0.0; + + int count1=0;int count=0; + + float cost_threshold = float(olbparams.Xblen()*olbparams.Yblen()*10); + + for (int j=4; jLengthY()-4; ++j){ + for (int i=4; iLengthX()-4; ++i){ + cost1 = (*pcosts1)[j][i].SAD; + cost2 = (*pcosts2)[j][i].SAD; + cost = std::min(cost1, cost2); + total_cost1 += cost1; + total_cost2 += cost2; + total_cost += cost; + if (pparams.NumRefs()>1 && cost<=cost_threshold){ + ++count; + if (cost1<=cost2) + ++count1; + } + } + + } + total_cost1 *= olbparams.Xbsep()*olbparams.Ybsep(); + total_cost1 /= olbparams.Xblen()*olbparams.Yblen(); + + total_cost2 *= olbparams.Xbsep()*olbparams.Ybsep(); + total_cost2 /= olbparams.Xblen()*olbparams.Yblen(); + + if (pparams.NumRefs()>1){ + my_picture.SetPredBias(float(count1)/float(count)); + } + else + my_picture.SetPredBias(0.5); + + total_cost *= olbparams.Xbsep()*olbparams.Ybsep(); + total_cost /= olbparams.Xblen()*olbparams.Yblen(); + +// my_picture.SetComplexity( total_cost ); + my_picture.SetComplexity( total_cost*total_cost ); + + } + +} + +void PictureCompressor::CalcComplexity2( EncQueue& my_buffer, int pnum ) +{ + // to be used after doing motion compensation + EncPicture& my_picture = my_buffer.GetPicture( pnum ); + const PicArray& pic_data = my_picture.Data( Y_COMP ); + + if ( (my_picture.GetStatus()&DONE_MC) != 0 ){ + + float cost; + double total_sq_cost = 0.0; + double total_cost = 0.0; + + for (int j=0; j queue_members = my_buffer.Members(); + + double mean_complexity = 0.0; + int count = 0; + for (size_t i=0; i= pnum - 10 + && n <= pnum + 10){ + mean_complexity += enc_pic.GetComplexity(); + count++; + } + + } + mean_complexity /= count; + my_picture.SetNormComplexity( my_picture.GetComplexity() / mean_complexity ); + + } + +} + +void PictureCompressor::SubPixelME( EncQueue& my_buffer , int pnum ) +{ + const std::vector& refs = my_buffer.GetPicture(pnum).GetPparams().Refs(); + const int num_refs = refs.size(); + + PictureParams& pparams = my_buffer.GetPicture(pnum).GetPparams(); + MEData& me_data = my_buffer.GetPicture(pnum).GetMEData(); + PicturePredParams& predparams = me_data.GetPicPredParams(); + + float lambda; + if ( pparams.IsBPicture()) + lambda = m_encparams.L2MELambda(); + else + lambda = m_encparams.L1MELambda(); + +//lambda *= my_buffer.GetPicture(pnum).GetNormComplexity(); + + // Set up the lambda to be used + me_data.SetLambdaMap( num_refs , lambda ); + + m_orig_prec = predparams.MVPrecision(); + + // Step 2. + // Pixel accurate vectors are then refined to sub-pixel accuracy + + if (m_orig_prec != MV_PRECISION_PIXEL) + { + SubpelRefine pelrefine( m_encparams ); + pelrefine.DoSubpel( my_buffer , pnum ); + } + else + { + // FIXME: HACK HACK + // Mutiplying the motion vectors by 2 and setting MV precision to + // HALF_PIXEL to implement pixel accurate motion estimate + MvArray &mv_arr1 = me_data.Vectors(1); + for (int j = 0; j < mv_arr1.LengthY(); ++j) + { + for (int i = 0; i < mv_arr1.LengthX(); ++i) + mv_arr1[j][i] = mv_arr1[j][i] << 1; + } + if (num_refs > 1) + { + MvArray &mv_arr2 = me_data.Vectors(2); + for (int j = 0; j < mv_arr2.LengthY(); ++j) + { + for (int i = 0; i < mv_arr2.LengthX(); ++i) + mv_arr2[j][i] = mv_arr2[j][i] << 1; + } + } + predparams.SetMVPrecision(MV_PRECISION_HALF_PIXEL); + } + +} + +void PictureCompressor::ModeDecisionME( EncQueue& my_buffer, int pnum ) +{ + MEData& me_data = my_buffer.GetPicture(pnum).GetMEData(); + PictureParams& pparams = my_buffer.GetPicture(pnum).GetPparams(); + PicturePredParams& predparams = me_data.GetPicPredParams(); + + ModeDecider my_mode_dec( m_encparams ); + my_mode_dec.DoModeDecn( my_buffer , pnum ); + + const int num_refs = pparams.NumRefs(); + + if (m_orig_prec == MV_PRECISION_PIXEL) + { + // FIXME: HACK HACK + // Divide the motion vectors by 2 to convert back to pixel + // accurate motion vectors and reset MV precision to + // PIXEL accuracy + MvArray &mv_arr1 = me_data.Vectors(1); + for (int j = 0; j < mv_arr1.LengthY(); ++j) + { + for (int i = 0; i < mv_arr1.LengthX(); ++i) + mv_arr1[j][i] = mv_arr1[j][i] >> 1; + } + if (num_refs > 1) + { + MvArray &mv_arr2 = me_data.Vectors(2); + for (int j = 0; j < mv_arr2.LengthY(); ++j) + { + for (int i = 0; i < mv_arr2.LengthX(); ++i) + mv_arr2[j][i] = mv_arr2[j][i]>>1; + } + } + predparams.SetMVPrecision(MV_PRECISION_PIXEL); + } + +} + +void PictureCompressor::IntraModeAnalyse( EncQueue& my_buffer, int pnum ) +{ + MEData& me_data = my_buffer.GetPicture(pnum).GetMEData(); + + // Count the number of intra blocks + const TwoDArray& modes = me_data.Mode(); + + int count_intra = 0; + for ( int j=0 ; j( count_intra ) / + static_cast( modes.LengthX() * modes.LengthY() ) ); + +} + +void PictureCompressor::MotionCompensate( EncQueue& my_buffer, int pnum, + AddOrSub dirn ) +{ + EncPicture* my_pic = &my_buffer.GetPicture(pnum); + std::vector& my_refs = my_pic->GetPparams().Refs(); + Picture* ref_pics[2]; + + ref_pics[0]=&my_buffer.GetPicture(my_refs[0]); + if (my_refs.size()>1) + ref_pics[1]=&my_buffer.GetPicture(my_refs[1]); + else + ref_pics[1]=&my_buffer.GetPicture(my_refs[0]); + + PicturePredParams& predparams = my_pic->GetMEData().GetPicPredParams(); + MotionCompensator::CompensatePicture( predparams , dirn , + my_pic->GetMEData() , my_pic, ref_pics ); +} + +void PictureCompressor::Prefilter( EncQueue& my_buffer, int pnum ) +{ + Picture& my_picture = my_buffer.GetPicture( pnum ); + + for (int c=0; c<3; ++c ){ + if ( m_encparams.Prefilter() == RECTLP ) + LPFilter( my_picture.Data( (CompSort) c) , m_encparams.Qf(), + m_encparams.PrefilterStrength() ); + + if ( m_encparams.Prefilter() == DIAGLP ) +// DiagFilter( my_picture.Data( (CompSort) c), 3.0, 5 ); + DiagFilter( my_picture.Data( (CompSort) c) , m_encparams.Qf(), + m_encparams.PrefilterStrength() ); + } + +} + +void PictureCompressor::DoDWT( EncQueue& my_buffer , int pnum, Direction dirn ) +{ + Picture& my_picture = my_buffer.GetPicture( pnum ); + PictureParams& pparams = my_picture.GetPparams(); + const PictureSort& psort = pparams.PicSort(); + + // Set the wavelet filter + if ( psort.IsIntra() ){ + m_encparams.SetTransformFilter( m_encparams.IntraTransformFilter() ); + m_encparams.SetUsualCodeBlocks( INTRA_PICTURE ); + } + else{ + m_encparams.SetTransformFilter( m_encparams.InterTransformFilter() ); + m_encparams.SetUsualCodeBlocks( INTER_PICTURE ); + } + + const int depth=m_encparams.TransformDepth(); + const WltFilter filter = m_encparams.TransformFilter(); + WaveletTransform wtransform( depth, filter ); + + if ( dirn==FORWARD ) + my_picture.InitWltData( depth ); + + for (int c=0; c<3; ++c){ + + PicArray& comp_data = my_buffer.GetPicture( pnum ).Data((CompSort) c ); + CoeffArray& coeff_data = my_buffer.GetPicture( pnum ).WltData((CompSort) c ); + + wtransform.Transform( dirn , comp_data, coeff_data ); + + } + +} + +void PictureCompressor::CodeResidue( EncQueue& my_buffer , + int pnum, PictureByteIO* p_picture_byteio ) +{ + EncPicture& my_picture = my_buffer.GetPicture( pnum ); + + PictureParams& pparams = my_picture.GetPparams(); + + if ( !m_skipped ){ + // If not skipped we continue with the coding ... + if (m_encparams.Verbose() ) + std::cout<(m_encparams)); + p_picture_byteio->SetTransformData(p_transform_byteio); + p_transform_byteio->Output(); + + /* Code component data */ + ///////////////////////// + + CompCompressor my_compcoder(m_encparams , pparams ); + + const int depth=m_encparams.TransformDepth(); + + PicArray* comp_data[3]; + CoeffArray* coeff_data[3]; + OneDArray* est_bits[3]; + float lambda[3]; + + // Construction and definition of objects + for (int c=0;c<3;++c){ + comp_data[c] = &my_picture.Data((CompSort) c ); + coeff_data[c] = &my_picture.WltData((CompSort) c ); + est_bits[c] = new OneDArray( Range( 1, 3*depth+1 ) ); + }// c + + /* Do the wavelet transforms and select the component + * quantisers using perceptual weighting + */ + double cpd_scale; + if (pparams.PicSort().IsIntra() ){ + cpd_scale = 1.0; + } + else{ + float intra_ratio = my_picture.GetMEData().IntraBlockRatio(); + + cpd_scale = 5.0*intra_ratio*1.0 + (1.0-5.0*intra_ratio)*0.125; + cpd_scale = std::max( 0.125, std::min( 1.2, cpd_scale ) ); + } + for (int c=0; c<3; ++c){ + lambda[c] = GetCompLambda( my_picture, (CompSort) c ); + + coeff_data[c]->SetBandWeights( m_encparams , pparams, (CompSort) c, cpd_scale); + + SubbandList& bands = coeff_data[c]->BandList(); + SetupCodeBlocks( bands ); + SelectQuantisers( *(coeff_data[c]) , bands , lambda[c], + *est_bits[c] , m_encparams.GetCodeBlockMode(), pparams, (CompSort) c ); + + p_transform_byteio->AddComponent( my_compcoder.Compress( + *(coeff_data[c]), bands, (CompSort) c, *est_bits[c] ) ); + } + + // Destruction of objects + for (int c=0; c<3; ++c) + delete est_bits[c]; + + }//?m_skipped + +} + +void PictureCompressor::CodeMVData(EncQueue& my_buffer, int pnum, PictureByteIO* pic_byteio) +{ + + // Code the MV data + + EncPicture& my_picture = my_buffer.GetPicture(pnum); + PictureParams& pparams = my_picture.GetPparams(); + MvData& mv_data = static_cast (my_picture.GetMEData()); + + // If we're using global motion parameters, code them + if (m_use_global){ + /* + Code the global motion parameters + TBC .... + */ + } + + // If we're using block motion vectors, code them + if ( m_use_block_mv ){ + MvDataByteIO *mv_byteio = new MvDataByteIO(pparams, mv_data.GetPicPredParams()); + pic_byteio->SetMvData(mv_byteio); + + SplitModeCodec smode_coder( mv_byteio->SplitModeData()->DataBlock(), TOTAL_MV_CTXS); + smode_coder.Compress( mv_data ); + mv_byteio->SplitModeData()->Output(); + + PredModeCodec pmode_coder( mv_byteio->PredModeData()->DataBlock(), TOTAL_MV_CTXS, pparams.NumRefs() ); + pmode_coder.Compress( mv_data ); + mv_byteio->PredModeData()->Output(); + + VectorElementCodec vcoder1h( mv_byteio->MV1HorizData()->DataBlock(), 1, + HORIZONTAL, TOTAL_MV_CTXS); + vcoder1h.Compress( mv_data ); + mv_byteio->MV1HorizData()->Output(); + + VectorElementCodec vcoder1v( mv_byteio->MV1VertData()->DataBlock(), 1, + VERTICAL, TOTAL_MV_CTXS); + vcoder1v.Compress( mv_data ); + mv_byteio->MV1VertData()->Output(); + + if ( pparams.NumRefs()>1 ) + { + VectorElementCodec vcoder2h( mv_byteio->MV2HorizData()->DataBlock(), 2, + HORIZONTAL, TOTAL_MV_CTXS); + vcoder2h.Compress( mv_data ); + mv_byteio->MV2HorizData()->Output(); + + VectorElementCodec vcoder2v( mv_byteio->MV2VertData()->DataBlock(), 2, + VERTICAL, TOTAL_MV_CTXS); + vcoder2v.Compress( mv_data ); + mv_byteio->MV2VertData()->Output(); + } + + DCCodec ydc_coder( mv_byteio->YDCData()->DataBlock(), Y_COMP, TOTAL_MV_CTXS); + ydc_coder.Compress( mv_data ); + mv_byteio->YDCData()->Output(); + + DCCodec udc_coder( mv_byteio->UDCData()->DataBlock(), U_COMP, TOTAL_MV_CTXS); + udc_coder.Compress( mv_data ); + mv_byteio->UDCData()->Output(); + + DCCodec vdc_coder( mv_byteio->VDCData()->DataBlock(), V_COMP, TOTAL_MV_CTXS); + vdc_coder.Compress( mv_data ); + mv_byteio->VDCData()->Output(); + + mv_byteio->Output(); + } +} + +float PictureCompressor::GetCompLambda( const EncPicture& my_picture, + const CompSort csort ) +{ + const PictureParams& pparams = my_picture.GetPparams(); + + const PictureSort psort = pparams.PicSort(); + + float lambda; + + if ( psort.IsIntra() ){ + if ( m_is_a_cut ) + lambda = m_encparams.L1Lambda()/8; + else + lambda = m_encparams.ILambda(); + + } + else{ + double log_intra_lambda = std::log10( m_encparams.ILambda() ); +/* +double picture_lambda = m_encparams.L1Lambda() / my_picture.GetNormComplexity(); +if (pparams.IsBPicture() ) + picture_lambda *= 1.2; + + double log_picture_lambda = std::log10( picture_lambda ); +*/ +///* + double log_picture_lambda; + if (pparams.IsBPicture() ) + log_picture_lambda= std::log10( m_encparams.L2Lambda() ); + else + log_picture_lambda= std::log10( m_encparams.L1Lambda() ); + +//*/ + float intra_ratio = my_picture.GetMEData().IntraBlockRatio(); + + lambda= std::pow(10.0, 3.0*intra_ratio*log_intra_lambda+ + (1.0-3.0*intra_ratio)*log_picture_lambda ); + +//lambda /= my_picture.GetNormComplexity(); + + } + + if (csort == U_COMP) + lambda*= m_encparams.UFactor(); + if (csort == V_COMP) + lambda*= m_encparams.VFactor(); + + return lambda; +} + +void PictureCompressor::SetupCodeBlocks( SubbandList& bands ) +{ + int xregions; + int yregions; + + for (int band_num = 1; band_num<=bands.Length() ; ++band_num){ + if (m_encparams.SpatialPartition()){ + int level = m_encparams.TransformDepth() - (band_num-1)/3; + const CodeBlocks &cb = m_encparams.GetCodeBlocks(level); + xregions = cb.HorizontalCodeBlocks(); + yregions = cb.VerticalCodeBlocks(); + } + else{ + xregions = 1; + yregions = 1; + } + + bands( band_num ).SetNumBlocks( yregions , xregions ); + }// band_num +} + +void PictureCompressor::SelectQuantisers( CoeffArray& coeff_data , + SubbandList& bands , + const float lambda, + OneDArray& est_bits, + const CodeBlockMode cb_mode, + const PictureParams& pp, + const CompSort csort ) +{ + + // Set up the multiquantiser mode + for ( int b=bands.Length() ; b>=1 ; --b ){ + // Set multiquants flag in the subband only if + // a. Global m_cb_mode flag is set to QUANT_MULTIPLE in encparams + // and + // b. Current subband has more than one block + if ( + cb_mode == QUANT_MULTIPLE && + (bands(b).GetCodeBlocks().LengthX() > 1 || + bands(b).GetCodeBlocks().LengthY() > 1) + ) + bands(b).SetUsingMultiQuants( true ); + else + bands(b).SetUsingMultiQuants( false ); + }// b + + // Select all the quantizers + if ( !m_encparams.Lossless() ){ + // Set quantizers for all bands. + for ( int b=bands.Length() ; b>=1 ; --b ) + est_bits[b] = SelectMultiQuants( coeff_data , bands , b, lambda, + pp, csort ); + } + else{ + for ( int b=bands.Length() ; b>=1 ; --b ){ + bands(b).SetQuantIndex( 0 ); + est_bits[b] = 0; + TwoDArray& blocks = bands(b).GetCodeBlocks(); + for (int j=0; j +#include +#include +#include + +namespace dirac +{ + + class MvData; + + //! Compress a single image picture + /*! + This class compresses a single picture at a time, using parameters + supplied at its construction. PictureCompressor is used by + SequenceCompressor. + */ + class PictureCompressor + { + public: + //! Constructor + /*! + Creates a FrameEncoder with specific set of parameters the control + the compression process. It encodes motion data before encoding + each component of the picture. + \param encp encoder parameters + */ + PictureCompressor( EncoderParams& encp ); + + //! Destructor + ~PictureCompressor( ); + + //! Do pixel accurate motion estimate + void PixelME( EncQueue& my_buffer , int pnum ); + + //! Calculate the complexity of a picture + void CalcComplexity( EncQueue& my_buffer, int pnum , const OLBParams& olbparams ); + void CalcComplexity2( EncQueue& my_buffer, int pnum ); + + //! Normalise picture complexity with respect to others in the queue + void NormaliseComplexity( EncQueue& my_buffer, int pnum ); + + //! Do subpixel accurate motion vector refinement + void SubPixelME( EncQueue& my_buffer , int pnum ); + + //! Do mode decision based on sub-pel vectors + void ModeDecisionME( EncQueue& my_buffer, int pnum ); + + //! Detect cuts in the current picture + void IntraModeAnalyse( EncQueue& my_buffer, int pnum ); + + //! Does motion compensation on picture pnum (forward or backward) + void MotionCompensate( EncQueue& my_buffer, int pnum, AddOrSub dirn ); + + //! Prefilter if required + void Prefilter( EncQueue& my_buffer, int pnum ); + + //! Do the DWT on a given picture + void DoDWT( EncQueue& my_buffer , int pnum, Direction dirn ); + + //! Compress a specific picture within a group of pictures (GOP) + /*! + Compresses a specified picture within a group of pictures. + \param my_pbuffer picture buffer in which the reference frames resides + \param pnum picture number to compress + \param pic_byteio compressed picture in Dirac bytestream format + */ + void CodeResidue( EncQueue& my_pbuffer , int pnum , PictureByteIO* pic_byteio); + + //! Compresses the motion vector data + void CodeMVData( EncQueue& my_buffer, int pnum, PictureByteIO* pic_byteio); + + //! Returns true if the picture has been skipped rather than coded normally + bool IsSkipped(){ return m_skipped; } + + //! Returns true if Motion estimation data is available + bool IsMEDataAvail() const { return m_medata_avail; } + + //! Returns the motion estimation data + const MEData* GetMEData() const; + + private: + //! Copy constructor is private and body-less + /*! + Copy constructor is private and body-less. This class should not + be copied. + */ + PictureCompressor( const PictureCompressor& cpy ); + + //! Assignment = is private and body-less + /*! + Assignment = is private and body-less. This class should not be + assigned. + */ + PictureCompressor& operator=(const PictureCompressor& rhs); + + //! Initialise the coefficient data array for holding wavelet coefficients + void InitCoeffData( CoeffArray& coeff_data, const int xl, const int yl ); + + //! Returns the value lambda according to picture and component type + float GetCompLambda( const EncPicture& my_picture, + const CompSort csort ); + + void SelectQuantisers( CoeffArray& coeff_data , + SubbandList& bands , + const float lambda, + OneDArray& est_counts, + const CodeBlockMode cb_mode, + const PictureParams& pp, + const CompSort csort ); + + int SelectMultiQuants( CoeffArray& coeff_data , + SubbandList& bands , + const int band_num, + const float lambda, + const PictureParams& pp, + const CompSort csort ); + + void SetupCodeBlocks( SubbandList& bands ); + + + void AddSubAverage(CoeffArray& coeff_data,int xl,int yl,AddOrSub dirn); + + private: + + //member variables + // a local copy of the encoder params + EncoderParams& m_encparams; + + // True if the picture has been skipped, false otherwise + bool m_skipped; + + // True if we use global motion vectors, false otherwise + bool m_use_global; + + // True if we use block motion vectors, false otherwise + bool m_use_block_mv; + + // Prediction mode to use if we only have global motion vectors + PredMode m_global_pred_mode; + + // A pointer to the current picture motion vector data + MEData* m_me_data; + + // True if motion estimation data is available + bool m_medata_avail; + + // True if we have detected a cut + bool m_is_a_cut; + + // The original MV precision type + MVPrecisionType m_orig_prec; + + }; + +} // namespace dirac + +#endif diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_encoder/prefilter.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_encoder/prefilter.cpp --- dirac-0.9.1/libdirac_encoder/prefilter.cpp 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/libdirac_encoder/prefilter.cpp 2008-10-29 02:42:06.000000000 +0000 @@ -0,0 +1,588 @@ +/* ***** BEGIN LICENSE BLOCK ***** +* +* $Id: prefilter.cpp,v 1.9 2008/10/29 02:42:06 asuraparaju Exp $ $Name: Dirac_1_0_2 $ +* +* Version: MPL 1.1/GPL 2.0/LGPL 2.1 +* +* The contents of this file are subject to the Mozilla Public License +* Version 1.1 (the "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* http://www.mozilla.org/MPL/ +* +* Software distributed under the License is distributed on an "AS IS" basis, +* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for +* the specific language governing rights and limitations under the License. +* +* The Original Code is BBC Research and Development code. +* +* The Initial Developer of the Original Code is the British Broadcasting +* Corporation. +* Portions created by the Initial Developer are Copyright (C) 2008. +* All Rights Reserved. +* +* Contributor(s): Thomas Davies (Original Author), +* +* Alternatively, the contents of this file may be used under the terms of +* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser +* Public License Version 2.1 (the "LGPL"), in which case the provisions of +* the GPL or the LGPL are applicable instead of those above. If you wish to +* allow use of your version of this file only under the terms of the either +* the GPL or LGPL and not to allow others to use your version of this file +* under the MPL, indicate your decision by deleting the provisions above +* and replace them with the notice and other provisions required by the GPL +* or LGPL. If you do not delete the provisions above, a recipient may use +* your version of this file under the terms of any one of the MPL, the GPL +* or the LGPL. +* ***** END LICENSE BLOCK ***** */ + +#include +#include + +using namespace dirac; + +void dirac::CWMFilter( Picture& picture, const int strength ) +{ + CWMFilterComponent( picture.Data(Y_COMP), strength ); + CWMFilterComponent( picture.Data(U_COMP), strength ); + CWMFilterComponent( picture.Data(V_COMP), strength ); +} + +void dirac::CWMFilterComponent( PicArray& pic_data, const int strength ) +{ + // Do centre-weighted median denoising + + PicArray pic_copy( pic_data ); + + const int width( 3 ); + const int offset( (width-1)/2 ); + const int centre_weight = std::max(1, (width*width+1)-strength ); + const int list_length = centre_weight+(width*width)-1; + + ValueType* val_list = new ValueType[list_length]; + + for (int j=offset; j ordered_vals( length ); + + // Place the values in order + int pos=0; + ordered_vals[0] = val_list[0]; + for (int i=1 ; i=pos ; --k ) + { + ordered_vals[k+1] = ordered_vals[k]; + }// k + ordered_vals[pos] = val_list[i]; + } + }// i + + // return the middle value + if ( length%2!=0 ) + return ordered_vals[(length-1)/2]; + else + return (ordered_vals[(length/2)-1]+ordered_vals[length/2]+1)>>1; + +} + +/*************************************************************/ + + +void VFilter( PicArray& pic_data, const OneDArray& filter, const int bits ); +void HFilter( PicArray& pic_data, const OneDArray& filter, const int bits ); + +double sinxoverx( const double val ) +{ + if ( 0.0f == val ) + return 1.0; + else + return sin(val)/val; + +} + +OneDArray MakeLPRectFilter( const float bw, const int bits ) +{ + const int tl = 8; + const float pi = 3.1415926535; + + OneDArray double_filter( Range( -tl, tl ) ); + OneDArray int_filter( Range( -tl, tl) ); + + // Use the Hanning window + for (int i=double_filter.First(); i<=double_filter.Last(); ++i) + { + double_filter[i] = cos( (pi*i)/ + (double_filter.Length()+1) ); + } + + // Apply sinc function + for (int i=double_filter.First(); i<=double_filter.Last(); ++i) + { + double_filter[i] *= sinxoverx( pi*1.0*bw*i ); + } + + // Get DC gain = 1<0 ? int( double_filter[i]+0.5 ) : -int( -double_filter[i]+0.5 ); + int_filter[i] = (int_filter[i]+8)>>4; + } + + return int_filter; +} + +void dirac::LPFilter( PicArray& pic_data, const float qf, const int strength ) +{ + float bw = (std::min( std::max( qf+3.0f-float(strength), 1.0f ), 10.0f ))/10.0; + + // filter with 14-bit accuracy + OneDArray filter=MakeLPRectFilter(bw, 14); + + HFilter( pic_data, filter, 14 ); + VFilter( pic_data, filter, 14 ); + +} + +void HFilter( PicArray& pic_data, const OneDArray& filter, const int bits ) +{ + ValueType* line_data = new ValueType[pic_data.LengthX()]; + const int offset = (1<<(bits-1)); + + int sum; + + for (int j=0; j=filter.First(); --k) + sum += filter[k]*pic_data[j][std::max(i-k,0)]; + sum >>= bits; + sum = std::min( 127, std::max( -128, sum) ); + line_data[i] = ValueType( sum ); + }// i + // Do the middle bit + for (int i=filter.Last(); i<=pic_data.LastX()+filter.First(); ++i) + { + sum = offset; + for (int k=filter.Last(); k>=filter.First(); --k) + sum += filter[k]*pic_data[j][i-k]; + sum >>= bits; + sum = std::min( 127, std::max( -128, sum) ); + line_data[i] = ValueType( sum ); + }// i + // Do the last bit + for (int i=pic_data.LastX()+filter.First()+1; i=filter.First(); --k) + sum += filter[k]*pic_data[j][std::min(i-k,pic_data.LastX())]; + sum >>= bits; + sum = std::min( 127, std::max( -128, sum) ); + line_data[i] = ValueType( sum ); + }// i + + // Copy data back + + for (int i=0; i& filter, const int bits ) +{ + PicArray tmp_data( pic_data ); + const int offset = (1<<(bits-1)); + + int sum; + + // Do the first bit + for (int j=0; j=filter.First(); --k) + sum += filter[k]*pic_data[std::max(j-k,0)][i]; + sum >>= bits; + sum = std::min( 127, std::max( -128, sum) ); + tmp_data[j][i] = ValueType( sum ); + }// i + + }// j + + // Do the middle bit + for (int j=filter.Last(); j<=pic_data.LastY()+filter.First(); ++j) + { + + for (int i=0; i=filter.First(); --k) + sum += filter[k]*pic_data[j-k][i]; + sum >>= bits; + sum = std::min( 127, std::max( -128, sum) ); + tmp_data[j][i] = ValueType( sum ); + }// i + + }// j + + // Do the last bit + for (int j=pic_data.LastY()+filter.First()+1; j=filter.First(); --k) + sum += filter[k]*pic_data[std::min(j-k,pic_data.LastY())][i]; + sum >>= bits; + sum = std::min( 127, std::max( -128, sum) ); + tmp_data[j][i] = ValueType( sum ); + }// i + + }// j + + // Copy data across + pic_data = tmp_data; + +} + +/***************************************************************************/ + +ValueType DiagFilterBchkD( const PicArray& pic, + const int xpos, const int ypos, + const TwoDArray& filter, + const int shift) +{ + // Half the filter length + const int len2 = 6; + + const int height = pic.LengthY(); + const int width = pic.LengthX(); + + int uplus, uneg, vplus, vneg; + int val = (1<<(shift-1)); + + // Do 0 position horizontally + val += filter[0][0]*pic[ypos][xpos]; + + for (int i=1; i<=len2;++i){ + uplus = xpos + i; + uplus = (uplus>=width ? width-1 : uplus); + uneg = xpos - i; + uneg = (uneg<0 ? 0 : uneg ); + val += filter[0][i]*(pic[ypos][uplus]+pic[ypos][uneg] ); + } + + // Do other positions vertically// + ////////////////////////////////// + + for (int j=1; j<=len2;++j){ + vplus = ypos + j; + vplus = ( vplus>=height ? height-1 : vplus); + vneg = ypos - j; + vneg = (vneg<0 ? 0 : vneg ); + + // Do 0 position horizontally + val += filter[j][0]*(pic[vneg][xpos]+pic[vplus][xpos]); + for (int i=1; i<=len2;++i){ + uplus = xpos + i; + uplus = (uplus>=width ? width-1 : uplus); + uneg = xpos - i; + uneg = (uneg<0 ? 0 : uneg ); + val += filter[j][i]*(pic[vneg][uplus]+pic[vneg][uneg]+ + pic[vplus][uplus]+pic[vplus][uneg] ); + } + } + + val >>= shift; + + return ValueType(val); +} + +ValueType DiagFilterD( const PicArray& pic, + const int xpos, const int ypos, + const TwoDArray& filter, + const int shift) +{ + // Half the filter length + const int len2 = 6; + + int uplus, uneg, vplus, vneg; + int val = (1<<(shift-1)); + + // Do 0 position horizontally + val += filter[0][0]*pic[ypos][xpos]; + + for (int i=1; i<=len2;++i){ + uplus = xpos + i; + uneg = xpos - i; + val += filter[0][i]*(pic[ypos][uplus]+pic[ypos][uneg] ); + } + + // Do other positions vertically// + ////////////////////////////////// + + for (int j=1; j<=len2;++j){ + vplus = ypos + j; + vneg = ypos - j; + + // Do 0 position horizontally + val += filter[j][0]*(pic[vneg][xpos]+pic[vplus][xpos]); + for (int i=1; i<=len2;++i){ + uplus = xpos + i; + uneg = xpos - i; + val += filter[j][i]*(pic[vneg][uplus]+pic[vneg][uneg]+ + pic[vplus][uplus]+pic[vplus][uneg] ); + } + } + + val >>= shift; + + return ValueType(val); +} + + +TwoDArray GetDiagLPFilter( const float bw ) +{ + TwoDArray f( 7, 7 ); + + // Bandwidth quantised to range 0.2-1 + int qbf = int( bw*10.0 + 0.5 ); + qbf = std::min( std::max( qbf, 2 ) , 10 ); + + switch (qbf){ + + case 1 : + f[0][0]=1651; f[0][1]=1544; f[0][2]=1259; f[0][3]=887; f[0][4]=530; f[0][5]=260; f[0][6]=99; + f[1][0]=1544; f[1][1]=1442; f[1][2]=1170; f[1][3]=817; f[1][4]=480; f[1][5]=229; f[1][6]=83; + f[2][0]=1259; f[2][1]=1170; f[2][2]=935; f[2][3]=634; f[2][4]=354; f[2][5]=153; f[2][6]=45; + f[3][0]=887; f[3][1]=817; f[3][2]=634; f[3][3]=405; f[3][4]=202; f[3][5]=70; f[3][6]=11; + f[4][0]=530; f[4][1]=480; f[4][2]=354; f[4][3]=202; f[4][4]=80; f[4][5]=15; f[4][6]=0; + f[5][0]=260; f[5][1]=229; f[5][2]=153; f[5][3]=70; f[5][4]=15; f[5][5]=0; f[5][6]=0; + f[6][0]=99; f[6][1]=83; f[6][2]=45; f[6][3]=11; f[6][4]=0; f[6][5]=0; f[6][6]=0; + + break; + + case 2: + + f[0][0]=2855; f[0][1]=2540; f[0][2]=1775; f[0][3]=947; f[0][4]=364; f[0][5]=89; f[0][6]=10; + f[1][0]=2540; f[1][1]=2251; f[1][2]=1551; f[1][3]=804; f[1][4]=290; f[1][5]=59; f[1][6]=1; + f[2][0]=1775; f[2][1]=1551; f[2][2]=1020; f[2][3]=475; f[2][4]=130; f[2][5]=3; f[2][6]=-10; + f[3][0]=947; f[3][1]=804; f[3][2]=475; f[3][3]=165; f[3][4]=5; f[3][5]=-22; f[3][6]=-6; + f[4][0]=364; f[4][1]=290; f[4][2]=130; f[4][3]=5; f[4][4]=-28; f[4][5]=-10; f[4][6]=0; + f[5][0]=89; f[5][1]=59; f[5][2]=3; f[5][3]=-22; f[5][4]=-10; f[5][5]=0; f[5][6]=0; + f[6][0]=10; f[6][1]=1; f[6][2]=-10; f[6][3]=-6; f[6][4]=0; f[6][5]=0; f[6][6]=0; + + break; + + case 3: + + f[0][0]=5767; f[0][1]=4718; f[0][2]=2498; f[0][3]=745; f[0][4]=72; f[0][5]=5; f[0][6]=23; + f[1][0]=4718; f[1][1]=3796; f[1][2]=1875; f[1][3]=423; f[1][4]=-58; f[1][5]=-41; f[1][6]=7; + f[2][0]=2498; f[2][1]=1875; f[2][2]=643; f[2][3]=-146; f[2][4]=-241; f[2][5]=-88; f[2][6]=-9; + f[3][0]=745; f[3][1]=423; f[3][2]=-146; f[3][3]=-367; f[3][4]=-220; f[3][5]=-51; f[3][6]=-2; + f[4][0]=72; f[4][1]=-58; f[4][2]=-241; f[4][3]=-220; f[4][4]=-78; f[4][5]=-5; f[4][6]=0; + f[5][0]=5; f[5][1]=-41; f[5][2]=-88; f[5][3]=-51; f[5][4]=-5; f[5][5]=0; f[5][6]=0; + f[6][0]=23; f[6][1]=7; f[6][2]=-9; f[6][3]=-2; f[6][4]=0; f[6][5]=0; f[6][6]=0; + + break; + + case 4: + + f[0][0]=10534; f[0][1]=7642; f[0][2]=2603; f[0][3]=194; f[0][4]=56; f[0][5]=120; f[0][6]=28; + f[1][0]=7642; f[1][1]=5237; f[1][2]=1218; f[1][3]=-383; f[1][4]=-153; f[1][5]=40; f[1][6]=2; + f[2][0]=2603; f[2][1]=1218; f[2][2]=-771; f[2][3]=-958; f[2][4]=-269; f[2][5]=-3; f[2][6]=-7; + f[3][0]=194; f[3][1]=-383; f[3][2]=-958; f[3][3]=-541; f[3][4]=-18; f[3][5]=48; f[3][6]=4; + f[4][0]=56; f[4][1]=-153; f[4][2]=-269; f[4][3]=-18; f[4][4]=96; f[4][5]=22; f[4][6]=0; + f[5][0]=120; f[5][1]=40; f[5][2]=-3; f[5][3]=48; f[5][4]=22; f[5][5]=0; f[5][6]=0; + f[6][0]=28; f[6][1]=2; f[6][2]=-7; f[6][3]=4; f[6][4]=0; f[6][5]=0; f[6][6]=0; + + break; + + case 5 : + + f[0][0]=16421; f[0][1]=10159; f[0][2]=1716; f[0][3]=33; f[0][4]=325; f[0][5]=57; f[0][6]=6; + f[1][0]=10159; f[1][1]=5309; f[1][2]=-580; f[1][3]=-747; f[1][4]=44; f[1][5]=-43; f[1][6]=-25; + f[2][0]=1716; f[2][1]=-580; f[2][2]=-2310; f[2][3]=-763; f[2][4]=100; f[2][5]=-19; f[2][6]=-12; + f[3][0]=33; f[3][1]=-747; f[3][2]=-763; f[3][3]=308; f[3][4]=326; f[3][5]=27; f[3][6]=1; + f[4][0]=325; f[4][1]=44; f[4][2]=100; f[4][3]=326; f[4][4]=84; f[4][5]=-14; f[4][6]=0; + f[5][0]=57; f[5][1]=-43; f[5][2]=-19; f[5][3]=27; f[5][4]=-14; f[5][5]=0; f[5][6]=0; + f[6][0]=6; f[6][1]=-25; f[6][2]=-12; f[6][3]=1; f[6][4]=0; f[6][5]=0; f[6][6]=0; + + break; + + case 6 : + + f[0][0]=23511; f[0][1]=11883; f[0][2]=566; f[0][3]=524; f[0][4]=231; f[0][5]=18; f[0][6]=41; + f[1][0]= 11883; f[1][1]=3647; f[1][2]=-2496; f[1][3]=-361; f[1][4]=-96; f[1][5]=-97; f[1][6]=1; + f[2][0]=566; f[2][1]=-2496; f[2][2]=-2329; f[2][3]=459; f[2][4]=152; f[2][5]=-7; f[2][6]=18; + f[3][0]=524; f[3][1]=-361; f[3][2]=459; f[3][3]=979; f[3][4]=33; f[3][5]=-28; f[3][6]=3; + f[4][0]=231; f[4][1]=-96; f[4][2]=152; f[4][3]=33; f[4][4]=-184; f[4][5]=-15; f[4][6]=0; + f[5][0]=18; f[5][1]=-97; f[5][2]=-7; f[5][3]=-28; f[5][4]=-15; f[5][5]=0; f[5][6]=0; + f[6][0]=41; f[6][1]=1; f[6][2]=18; f[6][3]=3; f[6][4]=0; f[6][5]=0; f[6][6]=0; + + break; + + case 7 : + + f[0][0]=32188; f[0][1]=12652; f[0][2]=3; f[0][3]=921; f[0][4]=1; f[0][5]=128; f[0][6]=0; + f[1][0]=12652; f[1][1]=295; f[1][2]=-3414; f[1][3]=-2; f[1][4]=-343; f[1][5]=-1; f[1][6]=-37; + f[2][0]=3; f[2][1]=-3414; f[2][2]=-212; f[2][3]=1273; f[2][4]=1; f[2][5]=98; f[2][6]=0; + f[3][0]=921; f[3][1]=-2; f[3][2]=1273; f[3][3]=110; f[3][4]=-363; f[3][5]=0; f[3][6]=-8; + f[4][0]=1; f[4][1]=-343; f[4][2]=1; f[4][3]=-363; f[4][4]=-29; f[4][5]=29; f[4][6]=0; + f[5][0]=128; f[5][1]=-1; f[5][2]=98; f[5][3]=0; f[5][4]=29; f[5][5]=0; f[5][6]=0; + f[6][0]=0; f[6][1]=-37; f[6][2]=0; f[6][3]=-8; f[6][4]=0; f[6][5]=0; f[6][6]=0; + + break; + + case 8 : + + f[0][0]=41902; f[0][1]=12084; f[0][2]=435; f[0][3]=610; f[0][4]=188; f[0][5]=34; f[0][6]=37; + f[1][0]=12084; f[1][1]=-4268; f[1][2]=-2715; f[1][3]=-286; f[1][4]=-144; f[1][5]=-84; f[1][6]=-2; + f[2][0]=435; f[2][1]=-2715; f[2][2]=2809; f[2][3]=640; f[2][4]=127; f[2][5]=10; f[2][6]=17; + f[3][0]=610; f[3][1]=-286; f[3][2]=640; f[3][3]=-1250; f[3][4]=-45; f[3][5]=-26; f[3][6]=2; + f[4][0]=188; f[4][1]=-144; f[4][2]=127; f[4][3]=-45; f[4][4]=259; f[4][5]=-8; f[4][6]=0; + f[5][0]=34; f[5][1]=-84; f[5][2]=10; f[5][3]=-26; f[5][4]=-8; f[5][5]=0; f[5][6]=0; + f[6][0]=37; f[6][1]=-2; f[6][2]=17; f[6][3]=2; f[6][4]=0; f[6][5]=0; f[6][6]=0; + + break; + + case 9 : + + f[0][0]=53098; f[0][1]=10449; f[0][2]=1546; f[0][3]=73; f[0][4]=342; f[0][5]=38; f[0][6]=12; + f[1][0]=10449; f[1][1]=-9060; f[1][2]=-873; f[1][3]=-727; f[1][4]=52; f[1][5]=-65; f[1][6]=-20; + f[2][0]=1546; f[2][1]=-873; f[2][2]=4261; f[2][3]=-627; f[2][4]=137; f[2][5]=-27; f[2][6]=-7; + f[3][0]=73; f[3][1]=-727; f[3][2]=-627; f[3][3]=-804; f[3][4]=328; f[3][5]=14; f[3][6]=2; + f[4][0]=342; f[4][1]=52; f[4][2]=137; f[4][3]=328; f[4][4]=-83; f[4][5]=-20; f[4][6]=0; + f[5][0]=38; f[5][1]=-65; f[5][2]=-27; f[5][3]=14; f[5][4]=-20; f[5][5]=0; f[5][6]=0; + f[6][0]=12; f[6][1]=-20; f[6][2]=-7; f[6][3]=2; f[6][4]=0; f[6][5]=0; f[6][6]=0; + + break; + + default:// case 10 + + for (int j=0; j + +namespace dirac +{ + +/*************************************************************/ + +//! Denoises an input frame +void CWMFilter( Picture& picture, const int strength ); + +void CWMFilterComponent( PicArray& pic_data, const int strength ); + +ValueType Median( const ValueType* val_list, const int length); + + +/*************************************************************/ + +//! Denoises a component +void LPFilter( PicArray& pic_data, const float qf, const int strength ); + +//! Diagonally filters an input component +void DiagFilter( PicArray& pic_data, const float qf , const int strength ); + +} // namespace dirac + +#endif diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_encoder/quality_monitor.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_encoder/quality_monitor.cpp --- dirac-0.9.1/libdirac_encoder/quality_monitor.cpp 2007-12-05 01:42:40.000000000 +0000 +++ dirac-1.0.2/libdirac_encoder/quality_monitor.cpp 2008-08-14 02:04:26.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: quality_monitor.cpp,v 1.28 2007/12/05 01:42:40 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: quality_monitor.cpp,v 1.33 2008/08/14 01:04:26 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -43,10 +43,10 @@ QualityMonitor::QualityMonitor(EncoderParams& encp) : m_encparams(encp), - m_quality_averageY(3), - m_quality_averageU(3), - m_quality_averageV(3), - m_frame_total(3) + m_mse_averageY(3), + m_mse_averageU(3), + m_mse_averageV(3), + m_picture_total(3) { ResetAll(); } @@ -59,33 +59,36 @@ for (int i=0; i<3 ; ++i ) { - m_quality_averageY[i] = 0.0; - m_quality_averageU[i] = 0.0; - m_quality_averageV[i] = 0.0; - m_frame_total[i] = 0; + m_mse_averageY[i] = 0.0; + m_mse_averageU[i] = 0.0; + m_mse_averageV[i] = 0.0; + m_picture_total[i] = 0; }// i - m_totalquality_averageY = 0.0; - m_totalquality_averageU = 0.0; - m_totalquality_averageV = 0.0; - m_allframe_total = 0; + m_totalmse_averageY = 0.0; + m_totalmse_averageU = 0.0; + m_totalmse_averageV = 0.0; + m_allpicture_total = 0; } void QualityMonitor::WriteLog() { + const double Ymax = double( (1< - -using namespace dirac; - -// Custom 4th power, to speed things up -static inline double pow4 (double x) -{ - return x * x * x* x; -} - -// Constructor -QuantChooser::QuantChooser( const CoeffArray& coeff_data, - const float lambda ): - m_coeff_data( coeff_data ), - m_lambda( lambda ), - m_entropy_correctionfactor( 1.0 ) -{} - - -int QuantChooser::GetBestQuant( Subband& node ) -{ - // NB : quantiser selection only supports a single quantiser per subband - // Setting MultiQuants=true and using this function will get the same - // quantiser for each codeblock - - m_subband_wt = node.Wt(); - - // The largest value in the block or band - CoeffType max_val; - - // The index of the maximum bit of the largest value - int max_bit( 0 ); - - max_val = BlockAbsMax( node ); - - if ( max_val>=1 ) - max_bit = int( std::floor( std::log( float( max_val ) )/std::log( 2.0 ) ) ); - else - { - // Exit saying 'Skip this subband' if there's no data in it - node.SetSkip( true ); - return 0; - } - - // The number of quantisers to be tested - int num_quants( 4 * max_bit + 5 ); - - // Set the array sizes - m_costs.Resize( num_quants ); - m_count0.Resize( num_quants ); - m_count1=node.Xl()*node.Yl(); - m_countPOS.Resize( num_quants ); - m_countNEG.Resize( num_quants ); - m_error_total.Resize( num_quants ); - - // Total estimated bits for the subband - double bit_sum( 0.0 ); - - // Step 1. Do integral bits first - m_bottom_idx = 0; - m_top_idx = num_quants-1; - m_index_step = 4; - - IntegralErrorCalc( node, 2 , 2); - LagrangianCalc( ); - SelectBestQuant(); - - // Step 2. Do 1/2-bit accuracy next - m_bottom_idx = std::max( m_min_idx - 2 , 0 ); - m_top_idx = std::min( m_min_idx + 2 , num_quants-1 ); - m_index_step = 2; - - NonIntegralErrorCalc( node, 2 , 2); - LagrangianCalc( ); - SelectBestQuant(); - - // Step 3. Finally, do 1/4-bit accuracy next - m_bottom_idx = std::max( m_min_idx - 1 , 0 ); - m_top_idx = std::min( m_min_idx + 1 , num_quants-1 ); - m_index_step = 1; - - NonIntegralErrorCalc( node, 1 , 2); - LagrangianCalc( ); - SelectBestQuant(); - - bit_sum = m_costs[m_min_idx].ENTROPY * node.Xl() * node.Yl(); - - node.SetQIndex( m_min_idx ); - - TwoDArray& block_list( node.GetCodeBlocks() ); - - // Set the codeblock quantisers - for (int j=0 ; j( bit_sum ); - -} - -void QuantChooser::IntegralErrorCalc( Subband& node, const int xratio , const int yratio ) -{ - - CoeffType val, quant_val , abs_val; - - CalcValueType error; - - m_count1 = ( (node.Xl()/xratio)*(node.Yl()/yratio) ); - for (int q = m_bottom_idx ; q<=m_top_idx ; q+=4 ) - { - m_error_total[q] = 0.0; - m_count0[q] =0; - m_countPOS[q] = 0; - m_countNEG[q] = 0; - } - - // Work out the error totals and counts for each quantiser - for ( int j=node.Yp(); j>= (q>>2); - if (!quant_val) - break; - - m_count0[q] += quant_val; - // Multiply back up so that we can quantise again in the next loop step - quant_val <<= (q>>2)+2; - quant_val += dirac_quantiser_lists.InterQuantOffset4( q )+2; - quant_val >>= 2; - if (val>0) - m_countPOS[q]++; - else - m_countNEG[q]++; - - error = abs_val-quant_val; - - // Using the fourth power to measure the error - m_error_total[q] += pow4( static_cast( error ) ); - - }// q - double derror = pow4 ( static_cast( abs_val ) ); - for (; q <= m_top_idx; q+= 4) - { - m_error_total[q] += derror; - } - }// i - }// j - -} - -void QuantChooser::NonIntegralErrorCalc( Subband& node , const int xratio , const int yratio ) -{ - - CoeffType val, abs_val; - - CalcValueType quant_val; - CalcValueType error; - - m_count1 = ( (node.Xl()/xratio)*(node.Yl()/yratio) ); - for (int q = m_bottom_idx ; q<=m_top_idx ; q+=m_index_step ) - { - m_error_total[q] = 0.0; - m_count0[q] =0; - m_countPOS[q] = 0; - m_countNEG[q] = 0; - } - - // Work out the error totals and counts for each quantiser - for ( int j=node.Yp(); j( abs_val ); - quant_val <<= 2; - quant_val /= dirac_quantiser_lists.QuantFactor4( q ); - - if ( !quant_val ) - break; - - m_count0[q] += quant_val; - quant_val *= dirac_quantiser_lists.QuantFactor4( q ); - quant_val += dirac_quantiser_lists.InterQuantOffset4( q )+2; - quant_val >>= 2; - - if ( val>0 ) - m_countPOS[q]++; - else - m_countNEG[q]++; - - error = abs_val-quant_val; - m_error_total[q] += pow4( error ); - }// q - double derror = pow4( abs_val ); - for ( ; q <= m_top_idx; q += m_index_step) - m_error_total[q] += derror; - }// i - }// j - -} - - -void QuantChooser::LagrangianCalc() -{ - - // probabilities - double p0,p1; - - double sign_entropy; - - // Do Lagrangian costs calculation - for ( int q=m_bottom_idx ; q<=m_top_idx ; q += m_index_step ) - { - - m_costs[q].Error = m_error_total[q]/double(m_count1); - m_costs[q].Error = std::sqrt( m_costs[q].Error )/( m_subband_wt*m_subband_wt ); - - // Calculate probabilities and entropy - p0 = double( m_count0[q] )/ double( m_count0[q]+m_count1 ); - p1 = 1.0 - p0; - - if ( p0 != 0.0 && p1 != 0.0) - m_costs[q].ENTROPY = -( p0*std::log(p0)+p1*std::log(p1) ) / std::log(2.0); - else - m_costs[q].ENTROPY = 0.0; - - // We want the entropy *per symbol*, not per bit ... - m_costs[q].ENTROPY *= double(m_count0[q]+m_count1); - m_costs[q].ENTROPY /= double(m_count1); - - // Now add in the sign entropy - if ( m_countPOS[q] + m_countNEG[q] != 0 ) - { - p0 = double( m_countNEG[q] )/double( m_countPOS[q]+m_countNEG[q] ); - p1 = 1.0-p0; - if ( p0 != 0.0 && p1 != 0.0) - sign_entropy = -( (p0*std::log(p0)+p1*std::log(p1) ) / std::log(2.0)); - else - sign_entropy = 0.0; - } - else - sign_entropy = 0.0; - - // We want the entropy *per symbol*, not per bit ... - sign_entropy *= double( m_countNEG[q] + m_countPOS[q] ); - sign_entropy /= double(m_count1); - - m_costs[q].ENTROPY += sign_entropy; - - // Sort out correction factors - m_costs[q].ENTROPY *= m_entropy_correctionfactor; - m_costs[q].TOTAL = m_costs[q].Error+m_lambda*m_costs[q].ENTROPY; - - }// q -} - -void QuantChooser::SelectBestQuant() -{ - // Selects the best quantiser to use for a subband block - - m_min_idx = m_bottom_idx; - for ( int q=m_bottom_idx + m_index_step; q<=m_top_idx ; q +=m_index_step ) - { - if ( m_costs[q].TOTAL < m_costs[m_min_idx].TOTAL) - m_min_idx = q; - }// q - -} - -void QuantChooser::SetSkip( CodeBlock& cblock , const int qidx) -{ - const int u_threshold = dirac_quantiser_lists.QuantFactor4( qidx ); - - // Sets the skip flag for a codeblock - bool can_skip = true; - for (int j=cblock.Ystart(); j= u_threshold ) - can_skip = false; - } - } - cblock.SetSkip( can_skip ); -} - -CoeffType QuantChooser::BlockAbsMax( const Subband& node ) -{ - CoeffType val( 0 ); - - for (int j=node.Yp() ; j + +using namespace dirac; + +// Custom 4th power, to speed things up +static inline double pow4 (double x) +{ + return x * x * x* x; +} + +// Constructor +QuantChooser::QuantChooser( const CoeffArray& coeff_data, + const float lambda ): + m_coeff_data( coeff_data ), + m_lambda( lambda ), + m_entropy_correctionfactor( 1.0 ) +{} + + +int QuantChooser::GetBestQuant( Subband& node ) +{ + // NB : quantiser selection only supports a single quantiser per subband + // Setting MultiQuants=true and using this function will get the same + // quantiser for each codeblock + + m_subband_wt = node.Wt(); + + // The largest value in the block or band + CoeffType max_val; + + // The index of the maximum bit of the largest value + int max_bit( 0 ); + + max_val = BlockAbsMax( node ); + + if ( max_val>=1 ) + max_bit = int( std::floor( std::log( float( max_val ) )/std::log( 2.0 ) ) ); + else + { + // Exit saying 'Skip this subband' if there's no data in it + node.SetSkip( true ); + return 0; + } + + // The number of quantisers to be tested + int num_quants( 4 * max_bit + 5 ); + + // Set the array sizes + m_costs.Resize( num_quants ); + m_count0.Resize( num_quants ); + m_count1=node.Xl()*node.Yl(); + m_countPOS.Resize( num_quants ); + m_countNEG.Resize( num_quants ); + m_error_total.Resize( num_quants ); + + // Total estimated bits for the subband + double bit_sum( 0.0 ); + + // Step 1. Do integral bits first + m_bottom_idx = 0; + m_top_idx = num_quants-1; + m_index_step = 4; + + IntegralErrorCalc( node, 2 , 2); + LagrangianCalc( ); + SelectBestQuant(); + + // Step 2. Do 1/2-bit accuracy next + m_bottom_idx = std::max( m_min_idx - 2 , 0 ); + m_top_idx = std::min( m_min_idx + 2 , num_quants-1 ); + m_index_step = 2; + + NonIntegralErrorCalc( node, 2 , 2); + LagrangianCalc( ); + SelectBestQuant(); + + // Step 3. Finally, do 1/4-bit accuracy next + m_bottom_idx = std::max( m_min_idx - 1 , 0 ); + m_top_idx = std::min( m_min_idx + 1 , num_quants-1 ); + m_index_step = 1; + + NonIntegralErrorCalc( node, 1 , 2); + LagrangianCalc( ); + SelectBestQuant(); + + bit_sum = m_costs[m_min_idx].ENTROPY * node.Xl() * node.Yl(); + + node.SetQuantIndex( m_min_idx ); + + TwoDArray& block_list( node.GetCodeBlocks() ); + + // Set the codeblock quantisers + for (int j=0 ; j( bit_sum ); + +} + +void QuantChooser::IntegralErrorCalc( Subband& node, const int xratio , const int yratio ) +{ + + CoeffType val, quant_val , abs_val; + + CalcValueType error; + + m_count1 = ( (node.Xl()/xratio)*(node.Yl()/yratio) ); + for (int q = m_bottom_idx ; q<=m_top_idx ; q+=4 ) + { + m_error_total[q] = 0.0; + m_count0[q] =0; + m_countPOS[q] = 0; + m_countNEG[q] = 0; + } + + // Work out the error totals and counts for each quantiser + for ( int j=node.Yp(); j>= (q>>2); + if (!quant_val) + break; + + m_count0[q] += quant_val; + // Multiply back up so that we can quantise again in the next loop step + quant_val <<= (q>>2)+2; + quant_val += dirac_quantiser_lists.InterQuantOffset4( q )+2; + quant_val >>= 2; + if (val>0) + m_countPOS[q]++; + else + m_countNEG[q]++; + + error = abs_val-quant_val; + + // Using the fourth power to measure the error + m_error_total[q] += pow4( static_cast( error ) ); + + }// q + double derror = pow4 ( static_cast( abs_val ) ); + for (; q <= m_top_idx; q+= 4) + { + m_error_total[q] += derror; + } + }// i + }// j + +} + +void QuantChooser::NonIntegralErrorCalc( Subband& node , const int xratio , const int yratio ) +{ + + CoeffType val, abs_val; + + CalcValueType quant_val; + CalcValueType error; + + m_count1 = ( (node.Xl()/xratio)*(node.Yl()/yratio) ); + for (int q = m_bottom_idx ; q<=m_top_idx ; q+=m_index_step ) + { + m_error_total[q] = 0.0; + m_count0[q] =0; + m_countPOS[q] = 0; + m_countNEG[q] = 0; + } + + // Work out the error totals and counts for each quantiser + for ( int j=node.Yp(); j( abs_val ); + quant_val <<= 2; + quant_val /= dirac_quantiser_lists.QuantFactor4( q ); + + if ( !quant_val ) + break; + + m_count0[q] += quant_val; + quant_val *= dirac_quantiser_lists.QuantFactor4( q ); + quant_val += dirac_quantiser_lists.InterQuantOffset4( q )+2; + quant_val >>= 2; + + if ( val>0 ) + m_countPOS[q]++; + else + m_countNEG[q]++; + + error = abs_val-quant_val; + m_error_total[q] += pow4( error ); + }// q + double derror = pow4( abs_val ); + for ( ; q <= m_top_idx; q += m_index_step) + m_error_total[q] += derror; + }// i + }// j + +} + + +void QuantChooser::LagrangianCalc() +{ + + // probabilities + double p0,p1; + + double sign_entropy; + + // Do Lagrangian costs calculation + for ( int q=m_bottom_idx ; q<=m_top_idx ; q += m_index_step ) + { + + m_costs[q].Error = m_error_total[q]/double(m_count1); + m_costs[q].Error = std::sqrt( m_costs[q].Error )/( m_subband_wt*m_subband_wt ); + + // Calculate probabilities and entropy + p0 = double( m_count0[q] )/ double( m_count0[q]+m_count1 ); + p1 = 1.0 - p0; + + if ( p0 != 0.0 && p1 != 0.0) + m_costs[q].ENTROPY = -( p0*std::log(p0)+p1*std::log(p1) ) / std::log(2.0); + else + m_costs[q].ENTROPY = 0.0; + + // We want the entropy *per symbol*, not per bit ... + m_costs[q].ENTROPY *= double(m_count0[q]+m_count1); + m_costs[q].ENTROPY /= double(m_count1); + + // Now add in the sign entropy + if ( m_countPOS[q] + m_countNEG[q] != 0 ) + { + p0 = double( m_countNEG[q] )/double( m_countPOS[q]+m_countNEG[q] ); + p1 = 1.0-p0; + if ( p0 != 0.0 && p1 != 0.0) + sign_entropy = -( (p0*std::log(p0)+p1*std::log(p1) ) / std::log(2.0)); + else + sign_entropy = 0.0; + } + else + sign_entropy = 0.0; + + // We want the entropy *per symbol*, not per bit ... + sign_entropy *= double( m_countNEG[q] + m_countPOS[q] ); + sign_entropy /= double(m_count1); + + m_costs[q].ENTROPY += sign_entropy; + + // Sort out correction factors + m_costs[q].ENTROPY *= m_entropy_correctionfactor; + m_costs[q].TOTAL = m_costs[q].Error+m_lambda*m_costs[q].ENTROPY; + + }// q +} + +void QuantChooser::SelectBestQuant() +{ + // Selects the best quantiser to use for a subband block + + m_min_idx = m_bottom_idx; + for ( int q=m_bottom_idx + m_index_step; q<=m_top_idx ; q +=m_index_step ) + { + if ( m_costs[q].TOTAL < m_costs[m_min_idx].TOTAL) + m_min_idx = q; + }// q + +} + +void QuantChooser::SetSkip( CodeBlock& cblock , const int qidx) +{ + const int u_threshold = dirac_quantiser_lists.QuantFactor4( qidx ); + + // Sets the skip flag for a codeblock + bool can_skip = true; + for (int j=cblock.Ystart(); j= u_threshold ) + can_skip = false; + } + } + cblock.SetSkip( can_skip ); +} + +CoeffType QuantChooser::BlockAbsMax( const Subband& node ) +{ + int val( 0 ); + + for (int j=node.Yp() ; j -#include -#include - -namespace dirac -{ - //! Choose a quantiser - /*! - This class chooses a quantiser or quantisers for a subband - */ - class QuantChooser - { - public: - - //! Constructor - QuantChooser( const CoeffArray& pic_data , const float lambda ); - - //! Finds the best quantisers for the subband, returning the predicted number of bits needed - int GetBestQuant( Subband& node ); - - //! Sets the factor used for correcting the entropy calculation - void SetEntropyCorrection( const float ecfac ){ m_entropy_correctionfactor = ecfac; } - private: - //! Copy constructor is private and body-less. This class should not be copied. - QuantChooser(const QuantChooser& cpy); - - //! Assignment = is private and body-less. This class should not be assigned. - QuantChooser& operator=(const QuantChooser& rhs); - - //! Calculate errors and entropies for integral-bit quantisers - void IntegralErrorCalc( Subband& node , const int xratio , const int yratio ); - - //! Calculate errors and entropies for non-integral-bit quantisers - void NonIntegralErrorCalc( Subband& node, const int xratio, const int yratio ); - - //! Having got statistics, calculate the Lagrangian costs - void LagrangianCalc(); - - //! Select the best quantisation index on the basis of the Lagrangian calculations - void SelectBestQuant(); - - CoeffType BlockAbsMax( const Subband& node ); - - //! Set the skip flag for a codeblock - void SetSkip( CodeBlock& cblock , const int qidx); - - private: - //! The perceptual weighting factor of the subband being tested - float m_subband_wt; - - //! The smallest quantisation index being tested - int m_bottom_idx; - //! The largest quantisation index being tested - int m_top_idx; - //! The step we use in jumping through the list of quantisers - int m_index_step; - - //! The index of the quantiser with the lowest cost - int m_min_idx; - - //! A local reference to the data under consideration - const CoeffArray& m_coeff_data; - - //! The lambda value to be used in the Lagrangian calculation - const float m_lambda; - - //! A value for correcting the crude calculation of the entropy - float m_entropy_correctionfactor; - - //! An array used to count the number of zeroes - OneDArray m_count0; - //! The number of ones (equal to the number of coefficients) - int m_count1; - //! An array used to count the number of positive values - OneDArray m_countPOS; - //! An array used to count the number of negative values - OneDArray m_countNEG; - //! An array used to collate the sum of the perceptually-weighted errors - OneDArray m_error_total; - //! An array used to collate the computed costs - OneDArray m_costs; - - }; - -} // namespace dirac - - - -#endif +/* ***** BEGIN LICENSE BLOCK ***** +* +* $Id: quant_chooser.h,v 1.7 2008/05/27 01:29:54 asuraparaju Exp $ $Name: Dirac_1_0_2 $ +* +* Version: MPL 1.1/GPL 2.0/LGPL 2.1 +* +* The contents of this file are subject to the Mozilla Public License +* Version 1.1 (the "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* http://www.mozilla.org/MPL/ +* +* Software distributed under the License is distributed on an "AS IS" basis, +* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for +* the specific language governing rights and limitations under the License. +* +* The Original Code is BBC Research and Development code. +* +* The Initial Developer of the Original Code is the British Broadcasting +* Corporation. +* Portions created by the Initial Developer are Copyright (C) 2004. +* All Rights Reserved. +* +* Contributor(s): Thomas Davies (Original Author) +* +* Alternatively, the contents of this file may be used under the terms of +* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser +* Public License Version 2.1 (the "LGPL"), in which case the provisions of +* the GPL or the LGPL are applicable instead of those above. If you wish to +* allow use of your version of this file only under the terms of the either +* the GPL or LGPL and not to allow others to use your version of this file +* under the MPL, indicate your decision by deleting the provisions above +* and replace them with the notice and other provisions required by the GPL +* or LGPL. If you do not delete the provisions above, a recipient may use +* your version of this file under the terms of any one of the MPL, the GPL +* or the LGPL. +* ***** END LICENSE BLOCK ***** */ + + +#ifndef _QUANT_CHOOSER_H_ +#define _QUANT_CHOOSER_H_ + +#include +#include +#include + +namespace dirac +{ + //! Choose a quantiser + /*! + This class chooses a quantiser or quantisers for a subband + */ + class QuantChooser + { + public: + + //! Constructor + QuantChooser( const CoeffArray& pic_data , const float lambda ); + + //! Finds the best quantisers for the subband, returning the predicted number of bits needed + int GetBestQuant( Subband& node ); + + //! Sets the factor used for correcting the entropy calculation + void SetEntropyCorrection( const float ecfac ){ m_entropy_correctionfactor = ecfac; } + private: + //! Copy constructor is private and body-less. This class should not be copied. + QuantChooser(const QuantChooser& cpy); + + //! Assignment = is private and body-less. This class should not be assigned. + QuantChooser& operator=(const QuantChooser& rhs); + + //! Calculate errors and entropies for integral-bit quantisers + void IntegralErrorCalc( Subband& node , const int xratio , const int yratio ); + + //! Calculate errors and entropies for non-integral-bit quantisers + void NonIntegralErrorCalc( Subband& node, const int xratio, const int yratio ); + + //! Having got statistics, calculate the Lagrangian costs + void LagrangianCalc(); + + //! Select the best quantisation index on the basis of the Lagrangian calculations + void SelectBestQuant(); + + CoeffType BlockAbsMax( const Subband& node ); + + //! Set the skip flag for a codeblock + void SetSkip( CodeBlock& cblock , const int qidx); + + private: + //! The perceptual weighting factor of the subband being tested + float m_subband_wt; + + //! The smallest quantisation index being tested + int m_bottom_idx; + //! The largest quantisation index being tested + int m_top_idx; + //! The step we use in jumping through the list of quantisers + int m_index_step; + + //! The index of the quantiser with the lowest cost + int m_min_idx; + + //! A local reference to the data under consideration + const CoeffArray& m_coeff_data; + + //! The lambda value to be used in the Lagrangian calculation + const float m_lambda; + + //! A value for correcting the crude calculation of the entropy + float m_entropy_correctionfactor; + + //! An array used to count the number of zeroes + OneDArray m_count0; + //! The number of ones (equal to the number of coefficients) + int m_count1; + //! An array used to count the number of positive values + OneDArray m_countPOS; + //! An array used to count the number of negative values + OneDArray m_countNEG; + //! An array used to collate the sum of the perceptually-weighted errors + OneDArray m_error_total; + //! An array used to collate the computed costs + OneDArray m_costs; + + }; + +} // namespace dirac + + + +#endif diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_encoder/rate_control.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_encoder/rate_control.cpp --- dirac-0.9.1/libdirac_encoder/rate_control.cpp 2008-01-26 11:44:33.000000000 +0000 +++ dirac-1.0.2/libdirac_encoder/rate_control.cpp 2008-12-16 01:21:02.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: rate_control.cpp,v 1.20 2008/01/26 11:44:33 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: rate_control.cpp,v 1.33 2008/12/16 01:21:02 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -44,7 +44,7 @@ /* The algorithm controls the bitrate by adaptively changing the Quality Factor, QF of each frame before encoding by the -m_fcoder.Compress( , , , ) function in CompressNextFrame() (seq_compress.cpp). +m_fcoder.Compress( , , , ) function in CompressNextPicture() (seq_compress.cpp). The first sub-group which is I, L1, L2, L2 frames are encoded by using the initial QF which is set to 7. The corresponding bitrate R is then calculated. Adaption for the next subgroup is carried out by determining a model @@ -93,7 +93,7 @@ m_I_qf (encp.Qf()), m_I_qf_long_term(encp.Qf()), m_target_rate(trate), - m_buffer_size(4000*trate),// for the moment, set buffer size to 4*bitrate + m_buffer_size(5000*trate),// for the moment, set buffer size to 5 seconds m_buffer_bits((m_buffer_size*9)/10),// initial occupancy of 90% m_encparams(encp), m_fcount(encp.L1Sep() ), @@ -102,16 +102,20 @@ { SetFrameDistribution(); CalcTotalBits(srcp); - + if (m_intra_only) m_Iframe_bits = m_total_GOP_bits; else { m_Iframe_bits = m_total_GOP_bits/10; m_L1frame_bits = (m_Iframe_bits*3)/m_num_L1frame; - m_L2frame_bits = ( m_total_GOP_bits - m_Iframe_bits - - m_L1frame_bits*m_num_L1frame )/ - (m_encparams.GOPLength()-1-m_num_L1frame); + if (m_encparams.L1Sep()>1) + m_L2frame_bits = ( m_total_GOP_bits - m_Iframe_bits - + m_L1frame_bits*m_num_L1frame )/ + (m_encparams.GOPLength()-1-m_num_L1frame); + else + m_L2frame_bits = 0; + } } @@ -187,16 +191,36 @@ return (double)(bits)/(1000.0*m_GOP_duration); } -void RateController::CalcNextQualFactor(const FrameParams& fparams, int num_bits) +void RateController::CalcNextQualFactor(const PictureParams& pparams, int num_bits) { // Decrement the subgroup frame counter. This is zero just after the last // L2 frame before the next L1 frame i.e. before the start of an L1L2L2 // subgroup m_fcount--; - UpdateBuffer( num_bits ); - + + // filter tap for adjusting the QF + double target_ratio = 0.9; + + int field_factor = m_encparams.FieldCoding() ? 2 : 1; + + double top_size = (1.0 - target_ratio)-0.5; + double bottom_size = target_ratio-0.1; + double actual_ratio = double(m_buffer_bits)/double(m_buffer_size); + double tap; + + if ((pparams.PictureNum()/field_factor)<=3*m_encparams.L1Sep() ) + tap = 1.0; + else{ + if (actual_ratio>target_ratio) + tap = (actual_ratio-target_ratio)/top_size; + else + tap = (target_ratio-actual_ratio)/bottom_size; + + tap = std::min( 1.0, std::max(tap, 0.25 )); + } + if (!m_intra_only) { @@ -205,26 +229,22 @@ // First, do normal coding - if ( fparams.FrameNum() % m_encparams.GOPLength()==0 ) + if ( pparams.PicSort().IsIntra() == true ) { - // We have a scheduled I frame target = m_Iframe_bits; if (num_bits < target/2 ) - { emergency_realloc = true; - } - - + // Update the statistics m_frame_complexity.SetIComplexity( num_bits ); // We've just coded an intra frame so we need to set qf for // the next group of L2(B) frames + m_qf = std::max(tap*m_qf+(1.0-tap)*m_encparams.Qf(), m_encparams.Qf()-1.0); m_encparams.SetQf( m_qf ); - if (fparams.FrameNum()==0 || - (m_encparams.FieldCoding() && fparams.FrameNum() < 2)) + if (pparams.PictureNum()/field_factor==0) { // We've just coded the very first frame, which is a special // case as the two L2 frames which normally follow are missing @@ -232,47 +252,38 @@ } } - else + + //Update complexities + if ( (pparams.PictureNum()/field_factor) % m_encparams.L1Sep() !=0 ) { - // We have a scheduled inter frame (we may have an inserted - // intra frame). We allocate bits for the next - // group if we can (L1 frame) or if we need to (emergency). + // Scheduled B/L2 picture - //Update complexities - if ( fparams.FrameNum() % m_encparams.L1Sep() !=0 ) - { - // Scheduled B/L2 picture - - target = m_L2frame_bits; - - if (num_bits < target/2 ){ - emergency_realloc = true; - } + target = m_L2frame_bits; - m_L2_complexity_sum += num_bits; + if (num_bits < target/2 ){ + emergency_realloc = true; } - else - { - // Scheduled P/L1 picture - target = m_L1frame_bits; - - if (num_bits < target/2 ){ - emergency_realloc = true; - } - - m_frame_complexity.SetL1Complexity(num_bits); + m_L2_complexity_sum += num_bits; + } + else if ( pparams.PicSort().IsIntra() == false ) + { + // Scheduled P/L1 picture (if inserted I picture, don't change the complexity) + + target = m_L1frame_bits; + + if (num_bits < target/2 || num_bits > target*3 ){ + emergency_realloc = true; } + m_frame_complexity.SetL1Complexity(num_bits); } - if ( m_fcount==0 || emergency_realloc==true) { - if (emergency_realloc==true && m_encparams.Verbose()==true ) - std::cout<= 0, "Data loaded before calling CompressNextPicture"); + + const int field_factor = m_encparams.FieldCoding() ? 2 : 1; - m_show_fnum = std::max( m_current_code_fnum - m_delay , 0 ); + // If we have a scheduled P picture, reset the P separation to normal + if ( m_encparams.L1Sep()!=m_L1_sep ){ + if ( (m_current_code_pnum-field_factor) % (m_encparams.L1Sep()*field_factor)==0 ) + m_L1_sep = m_encparams.L1Sep(); + } - // Flag saying we're ready to encode - bool can_encode = false; + m_current_display_pnum = CodedToDisplay( m_current_code_pnum ); + m_show_pnum = std::max( m_current_code_pnum - m_delay , 0 ); - if (m_last_frame_read >= m_current_display_fnum ) - can_encode = true; + if ( CanEncode() ) + { - if ( can_encode ) - { // We haven't coded everything, so compress the next frame + // Compress the picture// + /////////////////////// - // stream access-unit data if first frame in unit - if(IsNewAccessUnit()) - { - // The access unit frame number must be equal to the frame - // number in display order of the I_Frame that follows it and - // not the coded order. - AccessUnitByteIO *p_accessunit_byteio = new AccessUnitByteIO - ( - m_pic_in->GetSourceParams(), - m_encparams - ); - p_accessunit_byteio->Output(); + const std::vector& queue_members = m_enc_pbuffer.Members(); - // add the unit to the byte stream - m_dirac_byte_stream.AddAccessUnit(p_accessunit_byteio); + EncPicture* current_pic = &m_enc_pbuffer.GetPicture( m_current_display_pnum ); + PictureParams* current_pp = ¤t_pic->GetPparams(); + // 1. Set the picture type and refs for all the pictures in the queue not already encoded + for (size_t i=0; iReport(); + /* Do motion estimation and compensation if inter*/ + bool is_a_cut( false ); - if (m_encparams.FieldCoding()) - std::cout<0.8) +// enc_pic.DropRef(2); +// else if(enc_pic.GetPredBias()<0.2) +// enc_pic.DropRef(1); +// } + } + } } + if ( current_pp->PicSort().IsInter() ){ +// // 7. Normalise complexity for the current picture +// m_pcoder.NormaliseComplexity( m_enc_pbuffer, m_current_display_pnum ); + bool subgroup_reconfig; - // Compress the frame// - /////////////////////// + do{ + subgroup_reconfig = false; + //8. Do subpel refinement + m_pcoder.SubPixelME( m_enc_pbuffer, m_current_display_pnum ); + //9. Do mode decision + m_pcoder.ModeDecisionME( m_enc_pbuffer, m_current_display_pnum ); - Frame& my_frame = m_fbuffer->GetFrame( m_current_display_fnum ); + //10. Work out how many blocks are intra + m_pcoder.IntraModeAnalyse( m_enc_pbuffer, m_current_display_pnum ); - FrameParams& fparams = my_frame.GetFparams(); - - if (fparams.FSort().IsRef()) - m_fbuffer->SetRetiredFrameNum( m_show_fnum, m_current_display_fnum ); + //11. Change the GOP structure to PPP if there are too many intras + if ( m_L1_sep>1 && current_pic->GetMEData().IntraBlockRatio()>0.25 + && (m_current_display_pnum % (m_encparams.L1Sep()*field_factor))==0){ - // Do motion estimation using the original (not reconstructed) data - if (m_encparams.Verbose() && my_frame.GetFparams().FSort().IsInter()) - { - std::cout< 1) - { - std::cout<<" and "<< fparams.Refs()[1]; - } - } - bool is_a_cut( false ); - if ( my_frame.GetFparams().FSort().IsInter() ) - { - is_a_cut = m_fcoder.MotionEstimate( *m_mebuffer, - m_current_display_fnum ); - if ( is_a_cut ) - { - // Set the frame type to intra - if (my_frame.GetFparams().FSort().IsRef()) - my_frame.SetFrameSort (FrameSort::IntraRefFrameSort()); + subgroup_reconfig = true; + + m_L1_sep = 1; + for (int i = 0; iSetStatus( DONE_SET_PTYPE ); + + // Current picture to code has now changed: recalculate + m_current_display_pnum = CodedToDisplay( m_current_code_pnum ); + current_pic = &m_enc_pbuffer.GetPicture(m_current_display_pnum ); + current_pp = ¤t_pic->GetPparams(); + + } + + }while(subgroup_reconfig==true); + + //11. Do cut detection and insert intra pictures + if ( current_pic->GetMEData().IntraBlockRatio()>0.3333 ){ + is_a_cut = true; + if ( m_encparams.L1Sep()>1 && + (m_current_display_pnum % (field_factor*m_encparams.L1Sep())) == 0){ + m_gop_start_num = current_pp->PictureNum();//restart the GOP + } + + if ( current_pp->PicSort().IsRef() ) // Set the picture type to intra + current_pic->SetPictureSort (PictureSort::IntraRefPictureSort()); else - my_frame.SetFrameSort (FrameSort::IntraNonRefFrameSort()); + current_pic->SetPictureSort (PictureSort::IntraNonRefPictureSort()); if ( m_encparams.Verbose() ) - std::cout<GetMEData(); +// +// if (me_data.IntraBlockRatio()>0.1)//FIXME: this is broken with adaptive block sizes +// m_predparams.SetBlockSizes(*m_intra_olbp, m_srcparams.CFormat() ); + + m_pcoder.MotionCompensate(m_enc_pbuffer, m_current_display_pnum, SUBTRACT ); + current_pic->UpdateStatus( DONE_MC ); } + } + if ( current_pp->PicSort().IsRef()==true ) + m_enc_pbuffer.SetRetiredPictureNum( m_show_pnum, m_current_display_pnum ); - // Now code the residual data - if (m_encparams.TargetRate() == 0) + // 12. Now code the residual data and motion data + if (m_encparams.TargetRate() != 0) + UpdateIntraPicCBRModel( *current_pp, is_a_cut ); + + // 13. Write a sequence header if necessary + if( (m_encparams.NumL1() > 0 && current_pp->PicSort().IsRef()==true && + current_pp->PicSort().IsIntra()==true && (m_current_display_pnum % m_encparams.L1Sep() == 0)) || + (m_encparams.NumL1() == 0 && (m_current_display_pnum % m_encparams.GOPLength())==0)) { - FrameByteIO *p_frame_byteio; - // Coding Without using Rate Control Algorithm - p_frame_byteio = m_fcoder.Compress(*m_fbuffer , - m_current_display_fnum); - - // add the frame to the byte stream + if (m_encparams.Verbose()) + { + std::cout<GetSourceParams(), + m_encparams); + p_seqheader_byteio->Output(); - m_dirac_byte_stream.AddFrame(p_frame_byteio); + m_dirac_byte_stream.AddSequenceHeader(p_seqheader_byteio); } - else - { - RateControlCompress(my_frame, is_a_cut); + + // 13. Write the picture header. + PictureByteIO* p_picture_byteio = new PictureByteIO(*current_pp, m_current_display_pnum ); + p_picture_byteio->Output(); + + if ( m_encparams.Verbose() ){ + if (m_encparams.TargetRate()!=0 ) + m_ratecontrol->Report(); + + if (m_encparams.FieldCoding()) + std::cout<PicSort().IsIntra()==false ) + std::cout<GetMEData().IntraBlockRatio()*100.0<<"% of blocks are intra "; + if (is_a_cut==true) + std::cout<PicSort().IsRef() ) + std::cout<<"REF"; + else std::cout<<"NON-REF"; + + std::cout<<" , "; + if (current_pp->PicSort().IsIntra()) + std::cout<<"INTRA"; + else std::cout<<"INTER"; + + if ( current_pp->PicSort().IsInter() ){ + std::cout<Refs()[0]; + if (current_pp->Refs().size() > 1) + std::cout<<" and "<< current_pp->Refs()[1]; + } } - // Measure the encoded frame quality - if ( m_encparams.LocalDecode() ) - { - const Frame &orig_frame = OriginalFrame( m_current_display_fnum ); - if (m_current_display_fnum != orig_frame.GetFparams().FrameNum()) - { - std::cerr << "Error in frame buffer:" - << " Requested : " << m_current_display_fnum - << " Retrieved : " << orig_frame.GetFparams().FrameNum() << std::endl; - } - m_qmonitor.UpdateModel( - m_fbuffer->GetFrame( m_current_display_fnum ) , - OriginalFrame(m_current_display_fnum) ); - } + // 14. Code the motion vectors + if ( current_pp->PicSort().IsInter() ) + m_pcoder.CodeMVData(m_enc_pbuffer , m_current_display_pnum, p_picture_byteio); + + // 15. Do prefiltering on the residue if necessary + if (m_encparams.Prefilter() != NO_PF ) + m_pcoder.Prefilter( m_enc_pbuffer, m_current_display_pnum ); + + // 16. Do the transform on the 3 components + m_pcoder.DoDWT( m_enc_pbuffer, m_current_display_pnum , FORWARD); + + // 17. Select the quantisers + + // 18. Code the residue + m_pcoder.CodeResidue(m_enc_pbuffer , m_current_display_pnum, p_picture_byteio); + + const PictureSort& psort = current_pp->PicSort(); + + /* All coding is done - so output and reconstruct */ + + m_dirac_byte_stream.AddPicture(p_picture_byteio); + + // 19. Do the inverse DWT if necessary + m_pcoder.DoDWT( m_enc_pbuffer, m_current_display_pnum , BACKWARD); + + + // 20. Motion compensate back if necessary + if (psort.IsInter() && !is_a_cut ) + m_pcoder.MotionCompensate(m_enc_pbuffer, m_current_display_pnum, ADD ); + + // Reset block sizes for next picture + m_predparams.SetBlockSizes(*m_basic_olb_params2, m_srcparams.CFormat() ); + + // 21. Clip the data to keep it in range + current_pic->Clip(); + + // Use the results of encoding to update the CBR model + if (m_encparams.TargetRate() != 0 ) + UpdateCBRModel(*current_pic, p_picture_byteio); + + // 22. Measure the encoded picture quality + if ( m_encparams.LocalDecode() ) + m_qmonitor.UpdateModel( *current_pic ); + // Increment our position - m_current_code_fnum++; + m_current_code_pnum++; + + CleanBuffers(); - CleanBuffers(); + current_pic->SetStatus( ALL_ENC ); } - // Return the latest frame that can be shown - if ( m_encparams.Verbose() ) - { + // Return the latest picture that can be shown + if ( m_enc_pbuffer.GetPicture(m_show_pnum).GetStatus() == ALL_ENC ){ + if ( m_encparams.Verbose() ){ std::cout<GetFrame(m_show_fnum ); + else + return NULL; } + + void SequenceCompressor::CleanBuffers() { // If we're not at the beginning, clean the buffer - if ( m_current_code_fnum != 0 ) - { - m_fbuffer->CleanRetired( m_show_fnum, m_current_display_fnum ); - m_mebuffer->CleanAll( m_show_fnum, m_current_display_fnum ); - } + if ( m_current_code_pnum != 0 ) + m_enc_pbuffer.CleanRetired( m_show_pnum, m_current_display_pnum ); } -const Frame *SequenceCompressor::GetFrameEncoded() +const EncPicture *SequenceCompressor::GetPictureEncoded() { - if (m_current_display_fnum >= 0) - return &m_fbuffer->GetFrame( m_current_display_fnum ); + if (m_current_display_pnum >= 0) + return &m_enc_pbuffer.GetPicture( m_current_display_pnum ); return 0; } -const MEData *SequenceCompressor::GetMEData() -{ - if ( m_fcoder.IsMEDataAvail()) - return m_fcoder.GetMEData(); - - return 0; -} DiracByteStats SequenceCompressor::EndSequence() { DiracByteStats seq_stats; @@ -375,101 +538,117 @@ } -void SequenceCompressor::Denoise( Frame& frame ) -{ - DenoiseComponent( frame.Ydata() ); - DenoiseComponent( frame.Udata() ); - DenoiseComponent( frame.Vdata() ); +void SequenceCompressor::UpdateIntraPicCBRModel( const PictureParams& pparams, const bool is_a_cut ){ + // For intra pictures we want to update before coding + // especially if they're inserted + + if ( pparams.PicSort().IsIntra() && m_current_display_pnum > 0 && + m_encparams.NumL1() != 0){ + // Calculate the new QF for encoding the following I picture + if ( is_a_cut ) + m_ratecontrol->SetCutPictureQualFactor(); + else + m_ratecontrol->CalcNextIntraQualFactor(); + } +} +FrameSequenceCompressor::FrameSequenceCompressor( + StreamPicInput* pin , + EncoderParams& encp, + DiracByteStream& dirac_byte_stream): + SequenceCompressor(pin, encp, dirac_byte_stream) +{ } -void SequenceCompressor::DenoiseComponent( PicArray& pic_data ) +void FrameSequenceCompressor::SetPicTypeAndRefs( PictureParams& pparams ) { - // Do centre-weighted median denoising + // Set the temporal prediction parameters for frame coding - PicArray pic_copy( pic_data ); + const int pnum = pparams.PictureNum(); + const int rel_pnum = pnum - m_gop_start_num; + const int gop_len = m_encparams.GOPLength(); + const int num_L1 = m_encparams.NumL1(); - const int centre_weight = 5; - const int list_length = centre_weight+8; - ValueType val_list[list_length]; + pparams.SetRetiredPictureNum( -1 ); + pparams.Refs().clear(); - for (int j=1; j0 ){ - for (int s=-1; s<=1; ++s) - { - for (int r=-1; r<=1; ++r) - { - val_list[pos]=pic_copy[j+s][i+r]; - pos++; - }// r - }// s + if ( rel_pnum % gop_len == 0){ + if (gop_len > 1) + pparams.SetPicSort( PictureSort::IntraRefPictureSort()); + else // I-picture only coding + pparams.SetPicSort( PictureSort::IntraNonRefPictureSort()); - pic_data[j][i] = Median( val_list, list_length ); - }// i - }// j + // I picture expires after we've coded the next I picture + pparams.SetExpiryTime( 2*m_L1_sep ); + } + else if (rel_pnum % m_L1_sep == 0){ + pparams.SetPicSort( PictureSort::InterRefPictureSort()); -} + // Ref the previous I or L1 picture + pparams.Refs().push_back( pnum - m_L1_sep ); -ValueType SequenceCompressor::Median( const ValueType* val_list, const int length) -{ + // if we don't have the first L1 picture ... + if ( ((rel_pnum-m_L1_sep) % gop_len>0) && m_L1_sep>1) + // ... other ref is the prior I/L1 picture but one + pparams.Refs().push_back( pnum - 2*m_L1_sep ); + // Expires after the next L1 or I picture + pparams.SetExpiryTime( 2*m_L1_sep ); + if (rel_pnum % m_encparams.L1Sep() == 0 ) + pparams.SetExpiryTime(2*m_encparams.L1Sep()); + } + else if ((rel_pnum+1) % m_L1_sep == 0){ + pparams.SetPicSort( PictureSort::InterNonRefPictureSort()); - OneDArray ordered_vals( length ); + // .. and the previous picture + pparams.Refs().push_back(pnum-1); + // Refs are the next I or L1 picture ... + if (m_enc_pbuffer.IsPictureAvail(pnum+1)) + pparams.Refs().push_back(pnum+1); - // Place the values in order - int pos=0; - ordered_vals[0] = val_list[0]; - for (int i=1 ; i=pos ; --k ) - { - ordered_vals[k+1] = ordered_vals[k]; - }// k - ordered_vals[pos] = val_list[i]; - } - }// i - - // return the middle value - if ( length%2!=0 ) - return ordered_vals[(length-1)/2]; - else - return (ordered_vals[(length/2)-1]+ordered_vals[length/2]+1)>>1; + // .. and the previous picture + pparams.Refs().push_back(pnum-1); + // Refs are the next I or L1 picture ... + int next_ref = ((pnum/m_L1_sep)+1)*m_L1_sep; + if (m_enc_pbuffer.IsPictureAvail(next_ref)) + pparams.Refs().push_back(next_ref); -} + pparams.SetExpiryTime( 2 ); + } + + } + else{ + pparams.SetPicSort( PictureSort::IntraNonRefPictureSort()); + pparams.SetExpiryTime( 1 ); + } -FrameSequenceCompressor::FrameSequenceCompressor( - StreamPicInput* pin , - EncoderParams& encp, - DiracByteStream& dirac_byte_stream): - SequenceCompressor(pin, encp, dirac_byte_stream) -{ } bool FrameSequenceCompressor::LoadNextFrame() { - m_pic_in->ReadNextFrame( *m_fbuffer, m_last_frame_read+1 ); + PictureParams pp( m_pparams ); + pp.SetPictureNum( m_last_picture_read+1 ); + + // Set an initially huge expiry time as we don't know when it will expire yet + pp.SetExpiryTime(1<<30); + + m_enc_pbuffer.PushPicture( pp ); + + m_pic_in->ReadNextPicture( m_enc_pbuffer.GetPicture(m_last_picture_read+1) ); + + // Copy into the original data + m_enc_pbuffer.GetPicture(m_last_picture_read+1).SetOrigData(); + + if ( m_encparams.Prefilter()==CWM ) + CWMFilter(m_enc_pbuffer.GetPicture( m_last_picture_read+1 ) , + m_encparams.PrefilterStrength() ); if ( m_pic_in->End() ) { @@ -477,81 +656,40 @@ return false; } - if ( m_encparams.Denoise() ) - Denoise(m_fbuffer->GetFrame( m_last_frame_read+1 ) ); + m_last_picture_read++; - m_last_frame_read++; - m_mebuffer->PushFrame( m_fbuffer->GetFrame( m_last_frame_read ) ); return true; } -int FrameSequenceCompressor::CodedToDisplay( const int pnum ) +int FrameSequenceCompressor::CodedToDisplay( const int cnum ) { int div; - if (m_encparams.L1Sep()>0) + if (m_L1_sep>0) { - // We have L1 and L2 frames - if (pnum==0) + // We have L1 and L2 pictures + if (cnum==0) return 0; - else if ((pnum-1)% m_encparams.L1Sep()==0) - {//we have L1 or subsequent I frames - div=(pnum-1)/m_encparams.L1Sep(); - return pnum+m_encparams.L1Sep()-1; + else if ((cnum-1)% m_L1_sep==0) + {//we have L1 or subsequent I pictures + div=(cnum-1)/m_L1_sep; + return cnum+m_L1_sep-1; } - else//we have L2 frames - return pnum-1; + else//we have L2 pictures + return cnum-1; } else - {//we just have I-frames, so no re-ordering - return pnum; - } -} + {//we just have I-pictures, so no re-ordering -bool FrameSequenceCompressor::IsNewAccessUnit() -{ - return (m_current_display_fnum % m_encparams.GOPLength()==0); + return cnum; + } } -void FrameSequenceCompressor::RateControlCompress(Frame& my_frame, bool is_a_cut) +void FrameSequenceCompressor::UpdateCBRModel(EncPicture& my_frame, + const PictureByteIO* p_picture_byteio) { - if (m_encparams.TargetRate() == 0) - return; - - FrameByteIO *p_frame_byteio; - - p_frame_byteio = m_fcoder.Compress(*m_fbuffer, - m_current_display_fnum); - - FrameParams& fparams = my_frame.GetFparams(); - const FrameSort& fsort = fparams.FSort(); - - - // Coding using Rate Control Algorithm - - if ( fsort.IsIntra() && - m_current_display_fnum != 0 && - m_encparams.NumL1() != 0) - { - // Calculate the new QF for encoding the following I frames in the sequence - // in normal coding - - if ( is_a_cut ) - { - // Recompute the QF based on long-term history since recent history is bunk - m_ratecontrol->SetCutFrameQualFactor(); - } - else - m_ratecontrol->CalcNextIntraQualFactor(); - } - - - // add the frame to the byte stream - m_dirac_byte_stream.AddFrame(p_frame_byteio); - - // Update the quality factor - m_ratecontrol->CalcNextQualFactor(fparams, p_frame_byteio->GetSize()*8); + m_ratecontrol->CalcNextQualFactor(my_frame.GetPparams(), p_picture_byteio->GetSize()*8); } @@ -562,50 +700,40 @@ DiracByteStream& dirac_byte_stream): SequenceCompressor(pin, encp, dirac_byte_stream) { - if ( m_encparams.LocalDecode() ) - { - m_origbuffer = new FrameBuffer(*m_mebuffer); - } m_delay = 2; } bool FieldSequenceCompressor::LoadNextFrame() { - m_pic_in->ReadNextFrame( *m_fbuffer, m_last_frame_read+1 ); + PictureParams pp( m_pparams ); + pp.SetExpiryTime( 1<<30 ); - if ( m_pic_in->End() ) - { - m_all_done = true; - return false; - } + int pnum = m_last_picture_read+1; - ++m_last_frame_read; - if ( m_encparams.Denoise() ) - { - Denoise(m_fbuffer->GetFrame( m_last_frame_read ) ); - Denoise(m_fbuffer->GetFrame( m_last_frame_read+1 ) ); + for (int j=pnum; j<=pnum+1; ++j){ + pp.SetPictureNum( j ); + m_enc_pbuffer.PushPicture( pp ); } - m_mebuffer->PushFrame( m_fbuffer->GetFrame( m_last_frame_read ) ); - Frame &field1 = m_mebuffer->GetFrame( m_last_frame_read ); - PreMotionEstmationFilter(field1.Ydata()); - PreMotionEstmationFilter(field1.Udata()); - PreMotionEstmationFilter(field1.Vdata()); + StreamFieldInput* field_input = (StreamFieldInput*) m_pic_in; + field_input->ReadNextFrame( m_enc_pbuffer.GetPicture( pnum ), m_enc_pbuffer.GetPicture(pnum+1) ); - if ( m_encparams.LocalDecode() ) - m_origbuffer->PushFrame( m_fbuffer->GetFrame( m_last_frame_read ) ); + // Copy data across + for (int j=pnum; j<=pnum+1; ++j){ + m_enc_pbuffer.GetPicture( j ).SetOrigData(); - m_mebuffer->PushFrame( m_fbuffer->GetFrame( m_last_frame_read + 1 ) ); + if ( m_encparams.Prefilter()==CWM ) + CWMFilter(m_enc_pbuffer.GetPicture( j ), m_encparams.PrefilterStrength() ); - Frame &field2 = m_mebuffer->GetFrame( m_last_frame_read + 1 ); - PreMotionEstmationFilter(field2.Ydata()); - PreMotionEstmationFilter(field2.Udata()); - PreMotionEstmationFilter(field2.Vdata()); + } - if ( m_encparams.LocalDecode() ) - m_origbuffer->PushFrame( m_fbuffer->GetFrame( m_last_frame_read + 1 ) ); + if ( m_pic_in->End() ){ + m_all_done = true; + return false; + } + + m_last_picture_read +=2; - ++m_last_frame_read; return true; } @@ -633,43 +761,111 @@ } } -const Frame& FieldSequenceCompressor::OriginalFrame(int frame_num) +void FieldSequenceCompressor::SetPicTypeAndRefs( PictureParams& pparams ) { - if ( m_encparams.LocalDecode() ) - return m_origbuffer->GetFrame(frame_num); - else - return m_mebuffer->GetFrame(frame_num); -} +// FIXME: won't work with adaptive GOP properly + // Set the temporal prediction parameters for field coding -void FieldSequenceCompressor::CleanBuffers() -{ - // If we're not at the beginning, clean the buffer - if ( m_current_code_fnum != 0 ) - { - SequenceCompressor::CleanBuffers(); - if (m_encparams.LocalDecode()) - m_origbuffer->CleanAll( m_show_fnum, m_current_display_fnum ); + const int pnum = pparams.PictureNum(); + const int rel_pnum = pparams.PictureNum()-m_gop_start_num; + const int gop_len = m_encparams.GOPLength(); + const int num_L1 = m_encparams.NumL1(); + + pparams.SetRetiredPictureNum( -1 ); + pparams.Refs().clear(); + + if ( num_L1>0 ){ + + if ( (rel_pnum/2) % gop_len == 0){ + // Field 1 is Intra Field + if (gop_len > 1){ + pparams.SetPicSort( PictureSort::IntraRefPictureSort()); + // I picture expires after we've coded the next L1 picture + pparams.SetExpiryTime( gop_len * 2); + pparams.SetExpiryTime( 2*m_L1_sep ); + if ( pnum%2){ + pparams.SetPicSort( PictureSort::InterRefPictureSort()); + // Ref the previous I field + pparams.Refs().push_back( pnum-1 ); + } + } + else{ + // I-picture only coding + pparams.SetPicSort( PictureSort::IntraNonRefPictureSort()); + pparams.SetExpiryTime( gop_len ); + } + } + else if ((rel_pnum/2) % m_L1_sep == 0){ + + pparams.SetPicSort( PictureSort::InterRefPictureSort()); + + if (pnum%2){ + // Field 2 + // Ref the first field of same picture + pparams.Refs().push_back( pnum - 1); + // Ref the previous field 2 of I or L1 picture + pparams.Refs().push_back( pnum - m_L1_sep*2 ); + } + else{ + // Field 1 + // Ref the field 1 of previous I or L1 picture + pparams.Refs().push_back( pnum - m_L1_sep*2 ); + // Ref the field 2 of previous I or L1 picture + pparams.Refs().push_back( pnum - m_L1_sep*2 + 1 ); + } + + // Expires after the next L1 or I picture + pparams.SetExpiryTime( (m_L1_sep+1)*2-1 ); + if ((rel_pnum/2) % m_encparams.L1Sep() == 0 ) + pparams.SetExpiryTime((2*m_encparams.L1Sep())+1*2-1); + } + else if ((rel_pnum/2+1) % m_L1_sep == 0){ + // Bi-directional non-reference fields. + if (pnum%2) + pparams.SetPicSort( PictureSort::InterNonRefPictureSort()); + else + pparams.SetPicSort( PictureSort::InterRefPictureSort()); + + pparams.Refs().push_back(pnum-1); + if (m_enc_pbuffer.IsPictureAvail(pnum+2)) + pparams.Refs().push_back(pnum+2); + + pparams.SetExpiryTime( 1 ); + } + else{ + // Bi-directional reference fields. + pparams.SetPicSort( PictureSort::InterRefPictureSort()); + + pparams.Refs().push_back(pnum-1); + int next_ref = (((pnum/2)/m_L1_sep+1)*m_L1_sep)*2+(pnum%2); + if (m_enc_pbuffer.IsPictureAvail(next_ref)) + pparams.Refs().push_back(next_ref); + pparams.SetExpiryTime( 4 ); + } + + } + else{ + pparams.SetPicSort( PictureSort::IntraNonRefPictureSort()); + pparams.SetExpiryTime( 2 ); } } FieldSequenceCompressor::~FieldSequenceCompressor() { - if ( m_encparams.LocalDecode() ) - delete m_origbuffer; } int FieldSequenceCompressor::CodedToDisplay( const int pnum ) { - // Frame the field pnum belongs to + // Frame the field pnum belongs to int fnum = pnum>>1; - if (m_encparams.L1Sep()>0) + if (m_L1_sep>0) { // We have L1 and L2 frames if (fnum==0) return pnum; - else if ((fnum-1)% m_encparams.L1Sep()==0) + else if ((fnum-1)% m_L1_sep==0) {//we have L1 or subsequent I frames - return (pnum+(m_encparams.L1Sep()-1)*2); + return (pnum+(m_L1_sep-1)*2); } else//we have L2 frames return (pnum - 2); @@ -680,55 +876,17 @@ } } -bool FieldSequenceCompressor::IsNewAccessUnit( ) +void FieldSequenceCompressor::UpdateCBRModel(EncPicture& my_picture, + const PictureByteIO* p_picture_byteio) { - return ((m_current_display_fnum) % (m_encparams.GOPLength()<<1)==0); -} - -void FieldSequenceCompressor::RateControlCompress(Frame& my_frame, bool is_a_cut) -{ - if (m_encparams.TargetRate() == 0) - return; - - - FrameByteIO *p_frame_byteio; - - p_frame_byteio = m_fcoder.Compress(*m_fbuffer, - m_current_display_fnum); - - - FrameParams& fparams = my_frame.GetFparams(); - const FrameSort& fsort = fparams.FSort(); - - // Coding using Rate Control Algorithm - if ( fsort.IsIntra() && - m_current_display_fnum > 1 && - m_encparams.NumL1() != 0) - { - // Calculate the new QF for encoding the following I frames in the sequence - // in normal coding - - if ( is_a_cut ) - { - // Recompute the QF based on long-term history since recent history is bunk - m_ratecontrol->SetCutFrameQualFactor(); - } - else if (m_current_display_fnum%2 == 0) - m_ratecontrol->CalcNextIntraQualFactor(); - } - - - if (m_current_display_fnum%2 == 0) - m_field1_bytes = p_frame_byteio->GetSize(); + if (m_current_display_pnum%2 == 0) + m_field1_bytes = p_picture_byteio->GetSize(); else - m_field2_bytes = p_frame_byteio->GetSize(); + m_field2_bytes = p_picture_byteio->GetSize(); // Update the quality factor - if (fparams.FrameNum()%2) - m_ratecontrol->CalcNextQualFactor(fparams, (m_field1_bytes+m_field2_bytes)*8); - + if (my_picture.GetPparams().PictureNum()%2) + m_ratecontrol->CalcNextQualFactor(my_picture.GetPparams(), (m_field1_bytes+m_field2_bytes)*8); - // add the frame to the byte stream - m_dirac_byte_stream.AddFrame(p_frame_byteio); } diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_encoder/seq_compress.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_encoder/seq_compress.h --- dirac-0.9.1/libdirac_encoder/seq_compress.h 2007-09-26 13:18:43.000000000 +0100 +++ dirac-1.0.2/libdirac_encoder/seq_compress.h 2008-10-20 05:20:12.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: seq_compress.h,v 1.19 2007/09/26 12:18:43 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: seq_compress.h,v 1.33 2008/10/20 04:20:12 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -49,11 +49,11 @@ #include #include -#include +#include #include #include #include -#include +#include #include #include @@ -75,7 +75,7 @@ //! Constructor /*! Creates a sequence compressor, and prepares to begin compressing - with the first frame.Sets up frame padding in the picture input if + with the first picture.Sets up picture padding in the picture input if necesary \param pin an input stream containing a sequence of frames \param encp parameters for the encoding process @@ -93,7 +93,7 @@ //! Load data /*! - Load one frame of data into the Sequence Compressor. Sets + Load one picture of data into the Sequence Compressor. Sets m_all_done to true if no more data is available to be loaded. Input can be frame or field. So the child class will have to implement this function. @@ -102,16 +102,16 @@ */ virtual bool LoadNextFrame() = 0; - //! Compress the next frame in sequence + //! Compress the next picture in sequence /*! - This function codes the next frame in coding order and returns the - next frame in display order. In general these will differ, and + This function codes the next picture in coding order and returns the + next picture in display order. In general these will differ, and because of re-ordering there is a delay which needs to be imposed. This creates problems at the start and at the end of the sequence which must be dealt with. At the start we just keep outputting - frame 0. At the end you will need to loop for longer to get all - the frames out. It's up to the calling function to do something - with the decoded frames as they come out -- write them to screen + picture 0. At the end you will need to loop for longer to get all + the pictures out. It's up to the calling function to do something + with the decoded pictures as they come out -- write them to screen or to file, for example. . If coding is fast enough the compressed version could be watched real-time (with suitable buffering in the calling function to @@ -120,38 +120,40 @@ NOTE: LoadNextFrame must be called atleast once before invoking this method. - \return reference to the next locally decoded frame available for display + \return pointer to the next locally decoded picture available for display */ - Frame &CompressNextFrame(); + const EncPicture *CompressNextPicture(); - //! Return a pointer to the most recent frame encoded - const Frame *GetFrameEncoded(); + //! Set up the appropriate prediction parameters for a picture + virtual void SetPicTypeAndRefs( PictureParams& pparams ) = 0; - //! Return Motion estimation info related to the most recent frame encoded - const MEData *GetMEData(); + //! Return a pointer to the most recent picture encoded + const EncPicture *GetPictureEncoded(); DiracByteStats EndSequence(); //! Determine if compression is complete. /*! - Indicates whether or not the last frame in the sequence has been + Indicates whether or not the last picture in the sequence has been compressed. - \return true if last frame has been compressed; false if not + \return true if last picture has been compressed; false if not */ bool Finished(){return m_all_done;} + //! Signal end of sequence + void SignalEOS() { m_eos_signalled = true; } - protected: - void Denoise( Frame& frame ); + //! The delay required for correct timestamps + int PTSOffset(){return m_delay;} - //! Denoises a component - void DenoiseComponent( PicArray& pic_data ); + protected: - ValueType Median( const ValueType* val_list, const int length); + //! Set up the motion block parameters + void SetMotionParameters(); - //! Uses the GOP parameters to convert frame numbers in coded order to display order. + //! Uses the GOP parameters to convert picture numbers in coded order to display order. /*! - Uses the GOP parameters to convert frame numbers in coded order + Uses the GOP parameters to convert picture numbers in coded order to display order. Pure virtual function. The child class will have to define it. \param pnum the picture number in coded order @@ -161,18 +163,18 @@ //! Make a report to screen on the coding results for the whole sequence void MakeSequenceReport(); - //! Return original un-encoded frame - virtual const Frame& OriginalFrame(int frame_num) - { return m_mebuffer->GetFrame(frame_num); } - - //! Remove unwanted frames from frame buffers + //! Remove unwanted pictures from picture buffers virtual void CleanBuffers(); - //! Return true if we need to start a new access unit. Purely virtual. The child class will have to define it. - virtual bool IsNewAccessUnit() = 0; + //! Update the CBR model based on the data we've compressed. + //Purely virtual. The child class will have to define it. + virtual void UpdateCBRModel(EncPicture& my_picture, const PictureByteIO* picture_byteio) = 0; - //! Compress the frame using constant bit rate coding. Purely virtual. The child class will have to define it. - virtual void RateControlCompress(Frame& my_frame, bool is_a_cut) = 0; + //! Update the parameters to be used in advance of coding an intra frame + void UpdateIntraPicCBRModel( const PictureParams& , const bool is_a_cut ); + + //! Returns true if the encoder can encode a picture + bool CanEncode(); //! Completion flag, returned via the Finished method. bool m_all_done; @@ -180,39 +182,60 @@ //! Flag indicating whether we've just finished. /*! Flag which is false if we've been all-done for more than one - frame, true otherwise (so that we can take actions on finishing + picture, true otherwise (so that we can take actions on finishing once only). */ bool m_just_finished; + //! A class to hold the basic block parameters + OLBParams* m_basic_olb_params0; + + //! A class to hold the basic block parameters + OLBParams* m_basic_olb_params1; + + //! A class to hold the basic block parameters + const OLBParams* m_basic_olb_params2; + + //! A class to hold block parameters to use when there are lots of intra blocks + OLBParams* m_intra_olbp; + //! The parameters of the input source SourceParams& m_srcparams; //! The parameters used for encoding. EncoderParams& m_encparams; + //! The parameters used for ME/MC + PicturePredParams& m_predparams; + + //! The L1 separation currently in use + int m_L1_sep; + + //! Generic picture parameters for initialising pictures + PictureParams m_pparams; + //! Pointer pointing at the picture input. StreamPicInput* m_pic_in; - //! A picture buffer used for local storage of frames whilst pending re-ordering or being used for reference. - FrameBuffer* m_fbuffer; + //! A picture buffer used for local storage of pictures whilst pending re-ordering or being used for reference. + EncQueue m_enc_pbuffer; - //! A picture buffer for motion estimation - FrameBuffer* m_mebuffer; + //state variables for CompressNextPicture - //state variables for CompressNextFrame + //! The number of the current picture to be coded, in display order + int m_current_display_pnum; - //! The number of the current frame to be coded, in display order - int m_current_display_fnum; + //! The number of the current picture to be coded, in coded order + int m_current_code_pnum; - //! The number of the current frame to be coded, in coded order - int m_current_code_fnum; + //! The number of the picture which should be output for concurrent display or storage + int m_show_pnum; - //! The number of the frame which should be output for concurrent display or storage - int m_show_fnum; + //! The index, in display order, of the last picture read + int m_last_picture_read; - //! The index, in display order, of the last frame read - int m_last_frame_read; + //! The picture number of the last GOP start + int m_gop_start_num; //! A delay so that we don't display what we haven't coded int m_delay; @@ -223,12 +246,15 @@ //! A class for monitoring and controlling bit rate RateController* m_ratecontrol; - //! A class to hold the frame compressor object - FrameCompressor m_fcoder; + //! A class to hold the picture compressor object + PictureCompressor m_pcoder; //! Output destination for compressed data in bitstream format DiracByteStream& m_dirac_byte_stream; + //! Flag to check if End of Sequence has been signalled by the end user + bool m_eos_signalled; + private: //! Copy constructor is private and body-less /*! @@ -285,10 +311,13 @@ false - otherwise */ virtual bool LoadNextFrame(); - protected: + + //! Set up the appropriate prediction parameters for a picture + virtual void SetPicTypeAndRefs( PictureParams& pparams ); + +protected: virtual int CodedToDisplay(const int pnum); - virtual bool IsNewAccessUnit(); - virtual void RateControlCompress(Frame& my_frame, bool is_a_cut); + virtual void UpdateCBRModel(EncPicture& my_picture, const PictureByteIO* picture_byteio); }; @@ -323,7 +352,7 @@ //! Load data /*! - Load oen frame i.e. two fields of data into the Sequence + Load one frame i.e. two fields of data into the Sequence Compressor. Sets m_all_done to true if no more data is available to be loaded. \return true - if both fields load succeeded. @@ -331,15 +360,15 @@ */ virtual bool LoadNextFrame(); - protected: - virtual const Frame& OriginalFrame(int frame_num); + + //! Set up the appropriate prediction parameters for a picture + virtual void SetPicTypeAndRefs( PictureParams& pparams ); - virtual void CleanBuffers(); + protected: virtual int CodedToDisplay(const int pnum); - virtual bool IsNewAccessUnit(); - virtual void RateControlCompress(Frame& my_frame, bool is_a_cut); + virtual void UpdateCBRModel(EncPicture& my_picture, const PictureByteIO* picture_byteio); private: //! Filter fields /*! @@ -348,9 +377,6 @@ */ void PreMotionEstmationFilter (PicArray& comp); - //! A picture buffer for original frames - FrameBuffer* m_origbuffer; - // Field1 bytes int m_field1_bytes; // Field2 bytes diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_motionest/block_match.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_motionest/block_match.cpp --- dirac-0.9.1/libdirac_motionest/block_match.cpp 2007-08-02 15:22:51.000000000 +0100 +++ dirac-1.0.2/libdirac_motionest/block_match.cpp 2008-10-29 02:46:22.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: block_match.cpp,v 1.19 2007/08/02 14:22:51 tjdwave Exp $ $Name: Dirac_0_9_1 $ +* $Id: block_match.cpp,v 1.21 2008/10/29 02:46:22 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -250,9 +250,6 @@ //now test against the offsets in the MV list to get the lowest cost// ////////////////////////////////////////////////////////////////////// - // First test the first in each of the lists to choose which lists to pursue - - float best_cost = m_cost_array[ypos][xpos].total; MVector best_mv = m_mv_array[ypos][xpos]; @@ -316,7 +313,7 @@ lambda, best_costs , best_mv); - }// + }// }// list_num @@ -324,7 +321,7 @@ ///////////////////////////////////// m_mv_array[ypos][xpos] = best_mv; - m_cost_array[ypos][xpos] = best_costs; + m_cost_array[ypos][xpos] = best_costs; } void BlockMatcher::RefineMatchSubp(const int xpos, const int ypos, @@ -335,7 +332,7 @@ BlockDiffParams dparams; dparams.SetBlockLimits( m_bparams , m_pic_data , xpos , ypos); - m_cost_array[ypos][xpos].mvcost = GetVarUp( mv_prediction, + m_cost_array[ypos][xpos].mvcost = GetVarUp( mv_prediction, m_mv_array[ypos][xpos]<Diff( dparams, mv_prediction); pred_costs.total = pred_costs.SAD; - + if (pred_costs.SAD<2*dparams.Xl()*dparams.Yl() ) { m_mv_array[ypos][xpos] = mv_prediction; m_cost_array[ypos][xpos] = pred_costs; - return; + return; } - // Now, let's see if we can do better than this - + // Now, let's see if we can do better than this + MvCostData cand_costs; MVector cand_mv, old_best_mv; diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_motionest/block_match.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_motionest/block_match.h --- dirac-0.9.1/libdirac_motionest/block_match.h 2007-09-03 15:52:40.000000000 +0100 +++ dirac-1.0.2/libdirac_motionest/block_match.h 2007-09-03 15:52:40.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: block_match.h,v 1.10 2007/09/03 14:52:40 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: block_match.h,v 1.10 2007/09/03 14:52:40 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_motionest/downconvert.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_motionest/downconvert.cpp --- dirac-0.9.1/libdirac_motionest/downconvert.cpp 2007-03-19 16:19:00.000000000 +0000 +++ dirac-1.0.2/libdirac_motionest/downconvert.cpp 2007-03-19 16:19:00.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: downconvert.cpp,v 1.10 2007/03/19 16:19:00 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: downconvert.cpp,v 1.10 2007/03/19 16:19:00 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_motionest/downconvert.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_motionest/downconvert.h --- dirac-0.9.1/libdirac_motionest/downconvert.h 2007-03-19 16:19:00.000000000 +0000 +++ dirac-1.0.2/libdirac_motionest/downconvert.h 2007-03-19 16:19:00.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: downconvert.h,v 1.11 2007/03/19 16:19:00 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: downconvert.h,v 1.11 2007/03/19 16:19:00 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_motionest/downconvert_mmx.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_motionest/downconvert_mmx.cpp --- dirac-0.9.1/libdirac_motionest/downconvert_mmx.cpp 2007-03-19 16:19:00.000000000 +0000 +++ dirac-1.0.2/libdirac_motionest/downconvert_mmx.cpp 2007-03-19 16:19:00.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: downconvert_mmx.cpp,v 1.2 2007/03/19 16:19:00 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: downconvert_mmx.cpp,v 1.2 2007/03/19 16:19:00 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_motionest/Makefile.am /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_motionest/Makefile.am --- dirac-0.9.1/libdirac_motionest/Makefile.am 2005-11-08 11:37:44.000000000 +0000 +++ dirac-1.0.2/libdirac_motionest/Makefile.am 2008-08-27 01:17:11.000000000 +0100 @@ -1,11 +1,11 @@ -# $Id: Makefile.am,v 1.12 2005/11/08 11:37:44 asuraparaju Exp $ +# $Id: Makefile.am,v 1.13 2008/08/27 00:17:11 asuraparaju Exp $ # INCLUDES = -I$(top_srcdir) -I$(srcdir) -h_sources = block_match.h downconvert.h me_mode_decn.h me_subpel.h me_utils.h motion_estimate.h pixel_match.h me_utils_mmx.h +h_sources = block_match.h downconvert.h me_mode_decn.h me_subpel.h me_utils.h pixel_match.h me_utils_mmx.h -cpp_sources = block_match.cpp downconvert.cpp me_mode_decn.cpp me_subpel.cpp me_utils.cpp motion_estimate.cpp pixel_match.cpp me_utils_mmx.cpp downconvert_mmx.cpp +cpp_sources = block_match.cpp downconvert.cpp me_mode_decn.cpp me_subpel.cpp me_utils.cpp pixel_match.cpp me_utils_mmx.cpp downconvert_mmx.cpp if USE_MSVC noinst_LIBRARIES = libdirac_motionest.a diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_motionest/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_motionest/Makefile.in --- dirac-0.9.1/libdirac_motionest/Makefile.in 2008-01-26 12:30:37.000000000 +0000 +++ dirac-1.0.2/libdirac_motionest/Makefile.in 2009-02-11 01:43:38.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in 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. @@ -14,19 +14,15 @@ @SET_MAKE@ -# $Id: Makefile.am,v 1.12 2005/11/08 11:37:44 asuraparaju Exp $ +# $Id: Makefile.am,v 1.13 2008/08/27 00:17:11 asuraparaju Exp $ # -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -43,7 +39,8 @@ subdir = libdirac_motionest DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -55,8 +52,8 @@ am__objects_1 = am__objects_2 = block_match.$(OBJEXT) downconvert.$(OBJEXT) \ me_mode_decn.$(OBJEXT) me_subpel.$(OBJEXT) me_utils.$(OBJEXT) \ - motion_estimate.$(OBJEXT) pixel_match.$(OBJEXT) \ - me_utils_mmx.$(OBJEXT) downconvert_mmx.$(OBJEXT) + pixel_match.$(OBJEXT) me_utils_mmx.$(OBJEXT) \ + downconvert_mmx.$(OBJEXT) am_libdirac_motionest_a_OBJECTS = $(am__objects_1) $(am__objects_2) libdirac_motionest_a_OBJECTS = $(am_libdirac_motionest_a_OBJECTS) LTLIBRARIES = $(noinst_LTLIBRARIES) @@ -66,32 +63,37 @@ libdirac_motionest_la-me_mode_decn.lo \ libdirac_motionest_la-me_subpel.lo \ libdirac_motionest_la-me_utils.lo \ - libdirac_motionest_la-motion_estimate.lo \ libdirac_motionest_la-pixel_match.lo \ libdirac_motionest_la-me_utils_mmx.lo \ libdirac_motionest_la-downconvert_mmx.lo am_libdirac_motionest_la_OBJECTS = $(am__objects_1) $(am__objects_3) libdirac_motionest_la_OBJECTS = $(am_libdirac_motionest_la_OBJECTS) +libdirac_motionest_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ @USE_MSVC_FALSE@am_libdirac_motionest_la_rpath = -DEFAULT_INCLUDES = -I. -I$(srcdir) +DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) -CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \ - $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ SOURCES = $(libdirac_motionest_a_SOURCES) \ $(libdirac_motionest_la_SOURCES) DIST_SOURCES = $(libdirac_motionest_a_SOURCES) \ @@ -100,8 +102,7 @@ CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ +ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ @@ -124,62 +125,46 @@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ GENERIC_RELEASE = @GENERIC_RELEASE@ GENERIC_VERSION = @GENERIC_VERSION@ GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBEXT = @LIBEXT@ LIBFLAGS = @LIBFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -188,22 +173,19 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -215,6 +197,7 @@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -233,6 +216,7 @@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -242,11 +226,15 @@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ INCLUDES = -I$(top_srcdir) -I$(srcdir) -h_sources = block_match.h downconvert.h me_mode_decn.h me_subpel.h me_utils.h motion_estimate.h pixel_match.h me_utils_mmx.h -cpp_sources = block_match.cpp downconvert.cpp me_mode_decn.cpp me_subpel.cpp me_utils.cpp motion_estimate.cpp pixel_match.cpp me_utils_mmx.cpp downconvert_mmx.cpp +h_sources = block_match.h downconvert.h me_mode_decn.h me_subpel.h me_utils.h pixel_match.h me_utils_mmx.h +cpp_sources = block_match.cpp downconvert.cpp me_mode_decn.cpp me_subpel.cpp me_utils.cpp pixel_match.cpp me_utils_mmx.cpp downconvert_mmx.cpp @USE_MSVC_TRUE@noinst_LIBRARIES = libdirac_motionest.a @USE_MSVC_FALSE@libdirac_motionest_a_AR = ar crv @USE_MSVC_TRUE@libdirac_motionest_a_AR = link.exe -lib /out:libdirac_motionest.a $(libdirac_motionest_a_OBJECTS) ; echo @@ -305,7 +293,7 @@ rm -f "$${dir}/so_locations"; \ done libdirac_motionest.la: $(libdirac_motionest_la_OBJECTS) $(libdirac_motionest_la_DEPENDENCIES) - $(CXXLINK) $(am_libdirac_motionest_la_rpath) $(libdirac_motionest_la_LDFLAGS) $(libdirac_motionest_la_OBJECTS) $(libdirac_motionest_la_LIBADD) $(LIBS) + $(libdirac_motionest_la_LINK) $(am_libdirac_motionest_la_rpath) $(libdirac_motionest_la_OBJECTS) $(libdirac_motionest_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -323,98 +311,89 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_motionest_la-me_subpel.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_motionest_la-me_utils.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_motionest_la-me_utils_mmx.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_motionest_la-motion_estimate.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdirac_motionest_la-pixel_match.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/me_mode_decn.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/me_subpel.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/me_utils.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/me_utils_mmx.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/motion_estimate.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pixel_match.Po@am__quote@ .cpp.o: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: -@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< libdirac_motionest_la-block_match.lo: block_match.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_motionest_la-block_match.lo -MD -MP -MF "$(DEPDIR)/libdirac_motionest_la-block_match.Tpo" -c -o libdirac_motionest_la-block_match.lo `test -f 'block_match.cpp' || echo '$(srcdir)/'`block_match.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_motionest_la-block_match.Tpo" "$(DEPDIR)/libdirac_motionest_la-block_match.Plo"; else rm -f "$(DEPDIR)/libdirac_motionest_la-block_match.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_motionest_la-block_match.lo -MD -MP -MF $(DEPDIR)/libdirac_motionest_la-block_match.Tpo -c -o libdirac_motionest_la-block_match.lo `test -f 'block_match.cpp' || echo '$(srcdir)/'`block_match.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_motionest_la-block_match.Tpo $(DEPDIR)/libdirac_motionest_la-block_match.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='block_match.cpp' object='libdirac_motionest_la-block_match.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_motionest_la-block_match.lo `test -f 'block_match.cpp' || echo '$(srcdir)/'`block_match.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_motionest_la-block_match.lo `test -f 'block_match.cpp' || echo '$(srcdir)/'`block_match.cpp libdirac_motionest_la-downconvert.lo: downconvert.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_motionest_la-downconvert.lo -MD -MP -MF "$(DEPDIR)/libdirac_motionest_la-downconvert.Tpo" -c -o libdirac_motionest_la-downconvert.lo `test -f 'downconvert.cpp' || echo '$(srcdir)/'`downconvert.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_motionest_la-downconvert.Tpo" "$(DEPDIR)/libdirac_motionest_la-downconvert.Plo"; else rm -f "$(DEPDIR)/libdirac_motionest_la-downconvert.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_motionest_la-downconvert.lo -MD -MP -MF $(DEPDIR)/libdirac_motionest_la-downconvert.Tpo -c -o libdirac_motionest_la-downconvert.lo `test -f 'downconvert.cpp' || echo '$(srcdir)/'`downconvert.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_motionest_la-downconvert.Tpo $(DEPDIR)/libdirac_motionest_la-downconvert.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='downconvert.cpp' object='libdirac_motionest_la-downconvert.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_motionest_la-downconvert.lo `test -f 'downconvert.cpp' || echo '$(srcdir)/'`downconvert.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_motionest_la-downconvert.lo `test -f 'downconvert.cpp' || echo '$(srcdir)/'`downconvert.cpp libdirac_motionest_la-me_mode_decn.lo: me_mode_decn.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_motionest_la-me_mode_decn.lo -MD -MP -MF "$(DEPDIR)/libdirac_motionest_la-me_mode_decn.Tpo" -c -o libdirac_motionest_la-me_mode_decn.lo `test -f 'me_mode_decn.cpp' || echo '$(srcdir)/'`me_mode_decn.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_motionest_la-me_mode_decn.Tpo" "$(DEPDIR)/libdirac_motionest_la-me_mode_decn.Plo"; else rm -f "$(DEPDIR)/libdirac_motionest_la-me_mode_decn.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_motionest_la-me_mode_decn.lo -MD -MP -MF $(DEPDIR)/libdirac_motionest_la-me_mode_decn.Tpo -c -o libdirac_motionest_la-me_mode_decn.lo `test -f 'me_mode_decn.cpp' || echo '$(srcdir)/'`me_mode_decn.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_motionest_la-me_mode_decn.Tpo $(DEPDIR)/libdirac_motionest_la-me_mode_decn.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='me_mode_decn.cpp' object='libdirac_motionest_la-me_mode_decn.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_motionest_la-me_mode_decn.lo `test -f 'me_mode_decn.cpp' || echo '$(srcdir)/'`me_mode_decn.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_motionest_la-me_mode_decn.lo `test -f 'me_mode_decn.cpp' || echo '$(srcdir)/'`me_mode_decn.cpp libdirac_motionest_la-me_subpel.lo: me_subpel.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_motionest_la-me_subpel.lo -MD -MP -MF "$(DEPDIR)/libdirac_motionest_la-me_subpel.Tpo" -c -o libdirac_motionest_la-me_subpel.lo `test -f 'me_subpel.cpp' || echo '$(srcdir)/'`me_subpel.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_motionest_la-me_subpel.Tpo" "$(DEPDIR)/libdirac_motionest_la-me_subpel.Plo"; else rm -f "$(DEPDIR)/libdirac_motionest_la-me_subpel.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_motionest_la-me_subpel.lo -MD -MP -MF $(DEPDIR)/libdirac_motionest_la-me_subpel.Tpo -c -o libdirac_motionest_la-me_subpel.lo `test -f 'me_subpel.cpp' || echo '$(srcdir)/'`me_subpel.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_motionest_la-me_subpel.Tpo $(DEPDIR)/libdirac_motionest_la-me_subpel.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='me_subpel.cpp' object='libdirac_motionest_la-me_subpel.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_motionest_la-me_subpel.lo `test -f 'me_subpel.cpp' || echo '$(srcdir)/'`me_subpel.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_motionest_la-me_subpel.lo `test -f 'me_subpel.cpp' || echo '$(srcdir)/'`me_subpel.cpp libdirac_motionest_la-me_utils.lo: me_utils.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_motionest_la-me_utils.lo -MD -MP -MF "$(DEPDIR)/libdirac_motionest_la-me_utils.Tpo" -c -o libdirac_motionest_la-me_utils.lo `test -f 'me_utils.cpp' || echo '$(srcdir)/'`me_utils.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_motionest_la-me_utils.Tpo" "$(DEPDIR)/libdirac_motionest_la-me_utils.Plo"; else rm -f "$(DEPDIR)/libdirac_motionest_la-me_utils.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_motionest_la-me_utils.lo -MD -MP -MF $(DEPDIR)/libdirac_motionest_la-me_utils.Tpo -c -o libdirac_motionest_la-me_utils.lo `test -f 'me_utils.cpp' || echo '$(srcdir)/'`me_utils.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_motionest_la-me_utils.Tpo $(DEPDIR)/libdirac_motionest_la-me_utils.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='me_utils.cpp' object='libdirac_motionest_la-me_utils.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_motionest_la-me_utils.lo `test -f 'me_utils.cpp' || echo '$(srcdir)/'`me_utils.cpp - -libdirac_motionest_la-motion_estimate.lo: motion_estimate.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_motionest_la-motion_estimate.lo -MD -MP -MF "$(DEPDIR)/libdirac_motionest_la-motion_estimate.Tpo" -c -o libdirac_motionest_la-motion_estimate.lo `test -f 'motion_estimate.cpp' || echo '$(srcdir)/'`motion_estimate.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_motionest_la-motion_estimate.Tpo" "$(DEPDIR)/libdirac_motionest_la-motion_estimate.Plo"; else rm -f "$(DEPDIR)/libdirac_motionest_la-motion_estimate.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='motion_estimate.cpp' object='libdirac_motionest_la-motion_estimate.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_motionest_la-motion_estimate.lo `test -f 'motion_estimate.cpp' || echo '$(srcdir)/'`motion_estimate.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_motionest_la-me_utils.lo `test -f 'me_utils.cpp' || echo '$(srcdir)/'`me_utils.cpp libdirac_motionest_la-pixel_match.lo: pixel_match.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_motionest_la-pixel_match.lo -MD -MP -MF "$(DEPDIR)/libdirac_motionest_la-pixel_match.Tpo" -c -o libdirac_motionest_la-pixel_match.lo `test -f 'pixel_match.cpp' || echo '$(srcdir)/'`pixel_match.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_motionest_la-pixel_match.Tpo" "$(DEPDIR)/libdirac_motionest_la-pixel_match.Plo"; else rm -f "$(DEPDIR)/libdirac_motionest_la-pixel_match.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_motionest_la-pixel_match.lo -MD -MP -MF $(DEPDIR)/libdirac_motionest_la-pixel_match.Tpo -c -o libdirac_motionest_la-pixel_match.lo `test -f 'pixel_match.cpp' || echo '$(srcdir)/'`pixel_match.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_motionest_la-pixel_match.Tpo $(DEPDIR)/libdirac_motionest_la-pixel_match.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='pixel_match.cpp' object='libdirac_motionest_la-pixel_match.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_motionest_la-pixel_match.lo `test -f 'pixel_match.cpp' || echo '$(srcdir)/'`pixel_match.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_motionest_la-pixel_match.lo `test -f 'pixel_match.cpp' || echo '$(srcdir)/'`pixel_match.cpp libdirac_motionest_la-me_utils_mmx.lo: me_utils_mmx.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_motionest_la-me_utils_mmx.lo -MD -MP -MF "$(DEPDIR)/libdirac_motionest_la-me_utils_mmx.Tpo" -c -o libdirac_motionest_la-me_utils_mmx.lo `test -f 'me_utils_mmx.cpp' || echo '$(srcdir)/'`me_utils_mmx.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_motionest_la-me_utils_mmx.Tpo" "$(DEPDIR)/libdirac_motionest_la-me_utils_mmx.Plo"; else rm -f "$(DEPDIR)/libdirac_motionest_la-me_utils_mmx.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_motionest_la-me_utils_mmx.lo -MD -MP -MF $(DEPDIR)/libdirac_motionest_la-me_utils_mmx.Tpo -c -o libdirac_motionest_la-me_utils_mmx.lo `test -f 'me_utils_mmx.cpp' || echo '$(srcdir)/'`me_utils_mmx.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_motionest_la-me_utils_mmx.Tpo $(DEPDIR)/libdirac_motionest_la-me_utils_mmx.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='me_utils_mmx.cpp' object='libdirac_motionest_la-me_utils_mmx.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_motionest_la-me_utils_mmx.lo `test -f 'me_utils_mmx.cpp' || echo '$(srcdir)/'`me_utils_mmx.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_motionest_la-me_utils_mmx.lo `test -f 'me_utils_mmx.cpp' || echo '$(srcdir)/'`me_utils_mmx.cpp libdirac_motionest_la-downconvert_mmx.lo: downconvert_mmx.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_motionest_la-downconvert_mmx.lo -MD -MP -MF "$(DEPDIR)/libdirac_motionest_la-downconvert_mmx.Tpo" -c -o libdirac_motionest_la-downconvert_mmx.lo `test -f 'downconvert_mmx.cpp' || echo '$(srcdir)/'`downconvert_mmx.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_motionest_la-downconvert_mmx.Tpo" "$(DEPDIR)/libdirac_motionest_la-downconvert_mmx.Plo"; else rm -f "$(DEPDIR)/libdirac_motionest_la-downconvert_mmx.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_motionest_la-downconvert_mmx.lo -MD -MP -MF $(DEPDIR)/libdirac_motionest_la-downconvert_mmx.Tpo -c -o libdirac_motionest_la-downconvert_mmx.lo `test -f 'downconvert_mmx.cpp' || echo '$(srcdir)/'`downconvert_mmx.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_motionest_la-downconvert_mmx.Tpo $(DEPDIR)/libdirac_motionest_la-downconvert_mmx.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='downconvert_mmx.cpp' object='libdirac_motionest_la-downconvert_mmx.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_motionest_la-downconvert_mmx.lo `test -f 'downconvert_mmx.cpp' || echo '$(srcdir)/'`downconvert_mmx.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_motionest_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_motionest_la-downconvert_mmx.lo `test -f 'downconvert_mmx.cpp' || echo '$(srcdir)/'`downconvert_mmx.cpp mostlyclean-libtool: -rm -f *.lo @@ -422,17 +401,13 @@ clean-libtool: -rm -rf .libs _libs -distclean-libtool: - -rm -f libtool -uninstall-info-am: - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS @@ -444,8 +419,8 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ @@ -455,13 +430,12 @@ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique @@ -475,22 +449,21 @@ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -539,7 +512,7 @@ -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags + distclean-tags dvi: dvi-am @@ -553,12 +526,20 @@ install-data-am: +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -579,19 +560,23 @@ ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLIBRARIES clean-noinstLTLIBRARIES \ ctags distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-info-am + tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_motionest/me_mode_decn.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_motionest/me_mode_decn.cpp --- dirac-0.9.1/libdirac_motionest/me_mode_decn.cpp 2007-08-13 11:29:23.000000000 +0100 +++ dirac-1.0.2/libdirac_motionest/me_mode_decn.cpp 2008-10-20 05:19:32.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: me_mode_decn.cpp,v 1.25 2007/08/13 10:29:23 tjdwave Exp $ $Name: Dirac_0_9_1 $ +* $Id: me_mode_decn.cpp,v 1.34 2008/10/20 04:19:32 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -37,7 +37,7 @@ * ***** END LICENSE BLOCK ***** */ #include -#include +#include using namespace dirac; #include @@ -51,85 +51,93 @@ m_me_data_set(3) { - // The following factors normalise costs for sub-MBs and MBs to those of - // blocks, so that the overlap is take into account (e.g. a sub-MB has - // length XBLEN+XBSEP and YBLEN+YBSEP). The MB costs for a 1x1 - // decomposition are not directly comprable to those for other decompositions - // because of the block overlaps. These factors remove these effects, so that - // all SAD costs are normalised to the area corresponding to non-overlapping - // 16 blocks of size XBLEN*YBLEN. - - m_level_factor[0] = float( 16 * m_encparams.LumaBParams(2).Xblen() * m_encparams.LumaBParams(2).Yblen() )/ - float( m_encparams.LumaBParams(0).Xblen() * m_encparams.LumaBParams(0).Yblen() ); - - m_level_factor[1] = float( 4 * m_encparams.LumaBParams(2).Xblen() * m_encparams.LumaBParams(2).Yblen() )/ - float( m_encparams.LumaBParams(1).Xblen() * m_encparams.LumaBParams(1).Yblen() ); - - m_level_factor[2] = 1.0f; - - for (int i=0 ; i<=2 ; ++i) - m_mode_factor[i] = 80.0*std::pow(0.8 , 2-i); } ModeDecider::~ModeDecider() { - if (fsort.IsInter()) + if (m_psort.IsInter()) { delete m_me_data_set[0]; delete m_me_data_set[1]; } } -void ModeDecider::DoModeDecn(const FrameBuffer& my_buffer, int frame_num, MEData& me_data) +void ModeDecider::DoModeDecn( EncQueue& my_buffer, int pic_num ) { + + m_predparams = &(my_buffer.GetPicture(pic_num).GetMEData().GetPicPredParams() ); + + // The following factors normalise costs for sub-SBs and SBs to those of + // blocks, so that the overlap is take into account (e.g. a sub-SB has + // length XBLEN+XBSEP and YBLEN+YBSEP). The SB costs for a 1x1 + // decomposition are not directly comprable to those for other decompositions + // because of the block overlaps. These factors remove these effects, so that + // all SAD costs are normalised to the area corresponding to non-overlapping + // 16 blocks of size XBLEN*YBLEN. - // We've got 'raw' block motion vectors for up to two reference frames. Now we want + m_level_factor[0] = float( 16 * m_predparams->LumaBParams(2).Xblen() * m_predparams->LumaBParams(2).Yblen() )/ + float( m_predparams->LumaBParams(0).Xblen() * m_predparams->LumaBParams(0).Yblen() ); + + m_level_factor[1] = float( 4 * m_predparams->LumaBParams(2).Xblen() * m_predparams->LumaBParams(2).Yblen() )/ + float( m_predparams->LumaBParams(1).Xblen() * m_predparams->LumaBParams(1).Yblen() ); + + m_level_factor[2] = 1.0f; + + for (int i=0 ; i<=2 ; ++i) + m_mode_factor[i] = 80.0*std::pow(0.8 , 2-i); + + // We've got 'raw' block motion vectors for up to two reference pictures. Now we want // to make a decision as to mode. In this initial implementation, this is bottom-up - // i.e. find mvs for MBs and sub-MBs and see whether it's worthwhile merging. + // i.e. find mvs for SBs and sub-SBs and see whether it's worthwhile merging. int ref1,ref2; - // Initialise // + // Initialise // //////////////// - fsort = my_buffer.GetFrame(frame_num).GetFparams().FSort(); - if (fsort.IsInter()) + m_psort = my_buffer.GetPicture(pic_num).GetPparams().PicSort(); + if (m_psort.IsInter()) { // Extract the references - const vector& refs = my_buffer.GetFrame(frame_num).GetFparams().Refs(); + const vector& refs = my_buffer.GetPicture(pic_num).GetPparams().Refs(); num_refs = refs.size(); ref1 = refs[0]; // The picture we're doing estimation from - m_pic_data = &(my_buffer.GetComponent( frame_num , Y_COMP)); + m_pic_data = &(my_buffer.GetPicture( pic_num ).DataForME(m_encparams.CombinedME()) ); // Set up the hierarchy of motion vector data objects - m_me_data_set[0] = new MEData( m_encparams.XNumMB() , m_encparams.YNumMB() , - m_encparams.XNumBlocks()/4 , m_encparams.YNumBlocks()/4, num_refs ); - m_me_data_set[1] = new MEData( m_encparams.XNumMB() , m_encparams.YNumMB() , - m_encparams.XNumBlocks()/2 , m_encparams.YNumBlocks()/2, num_refs ); + PicturePredParams predparams0 = *m_predparams; + predparams0.SetXNumBlocks( m_predparams->XNumBlocks()/4 ); + predparams0.SetYNumBlocks( m_predparams->YNumBlocks()/4 ); + + PicturePredParams predparams1 = *m_predparams; + predparams1.SetXNumBlocks( m_predparams->XNumBlocks()/2 ); + predparams1.SetYNumBlocks( m_predparams->YNumBlocks()/2 ); + + m_me_data_set[0] = new MEData( predparams0, num_refs ); + m_me_data_set[1] = new MEData( predparams1, num_refs ); - m_me_data_set[2] = &me_data; + m_me_data_set[2] = &my_buffer.GetPicture(pic_num).GetMEData(); // Set up the lambdas to use per block - m_me_data_set[0]->SetLambdaMap( 0 , me_data.LambdaMap() , 1.0/m_level_factor[0] ); - m_me_data_set[1]->SetLambdaMap( 1 , me_data.LambdaMap() , 1.0/m_level_factor[1] ); + m_me_data_set[0]->SetLambdaMap( 0 , m_me_data_set[2]->LambdaMap() , 1.0/m_level_factor[0] ); + m_me_data_set[1]->SetLambdaMap( 1 , m_me_data_set[2]->LambdaMap() , 1.0/m_level_factor[1] ); // Set up the reference pictures - m_ref1_updata = &(my_buffer.GetUpComponent( ref1 , Y_COMP)); + m_ref1_updata = &(my_buffer.GetPicture( ref1 ).UpDataForME(m_encparams.CombinedME()) ); if (num_refs>1) { ref2 = refs[1]; - m_ref2_updata = &(my_buffer.GetUpComponent( ref2 , Y_COMP)); - // Create an object for computing bi-directional prediction calculations - - if ( m_encparams.MVPrecision()==MV_PRECISION_EIGHTH_PIXEL ) + m_ref2_updata = &(my_buffer.GetPicture( ref2).UpDataForME(m_encparams.CombinedME()) ); + // Create an object for computing bi-directional prediction calculations + if ( m_predparams->MVPrecision()==MV_PRECISION_EIGHTH_PIXEL ) m_bicheckdiff = new BiBlockEighthPel( *m_ref1_updata , *m_ref2_updata , *m_pic_data ); - else if ( m_encparams.MVPrecision()==MV_PRECISION_QUARTER_PIXEL ) + else if ( m_predparams->MVPrecision()==MV_PRECISION_QUARTER_PIXEL ) m_bicheckdiff = new BiBlockQuarterPel( *m_ref1_updata , *m_ref2_updata , *m_pic_data ); @@ -139,7 +147,7 @@ *m_pic_data ); } else - { + { ref2 = ref1; } @@ -147,38 +155,42 @@ // Create an object for doing intra calculations m_intradiff = new IntraBlockDiff( *m_pic_data ); - // Loop over all the macroblocks, doing the work // + // Loop over all the superblocks, doing the work // /////////////////////////////////////////////////// - for (m_ymb_loc=0 ; m_ymb_locYNumSB() ; ++m_ysb_loc ){ + for (m_xsb_loc=0 ; m_xsb_locXNumSB(); ++m_xsb_loc ){ + DoSBDecn(); + }//m_xsb_loc + }//m_ysb_loc delete m_intradiff; if (num_refs>1) delete m_bicheckdiff; } + + // Finally, although not strictly part of motion estimation, + // we have to assign DC values for + // blocks we're decided are intra. + SetDC( my_buffer , pic_num ); + } -void ModeDecider::DoMBDecn() +void ModeDecider::DoSBDecn() { - // Does the mode decision for the given MB, in three stages + // Does the mode decision for the given SB, in three stages // Start with 4x4 modes DoLevelDecn(2); - float old_best_MB_cost = m_me_data_set[2]->MBCosts()[m_ymb_loc][m_xmb_loc]; + float old_best_SB_cost = m_me_data_set[2]->SBCosts()[m_ysb_loc][m_xsb_loc]; // Next do 2x2 modes DoLevelDecn(1); // Do 1x1 mode if merging worked before - if ( m_me_data_set[2]->MBCosts()[m_ymb_loc][m_xmb_loc] <= old_best_MB_cost) + if ( m_me_data_set[2]->SBCosts()[m_ysb_loc][m_xsb_loc] <= old_best_SB_cost) { - old_best_MB_cost = m_me_data_set[2]->MBCosts()[m_ymb_loc][m_xmb_loc]; + old_best_SB_cost = m_me_data_set[2]->SBCosts()[m_ysb_loc][m_xsb_loc]; DoLevelDecn(0); } @@ -190,43 +202,43 @@ // stick to a decomposition at this level // Looks at two cases: the prediction mode is - // constant across the MB; and the pred mode + // constant across the SB; and the pred mode // for each constituent is different. // The limits of the prediction units - const int xstart = m_xmb_loc <MBSplit()[m_ymb_loc][m_xmb_loc] = 2; - m_me_data_set[2]->MBCosts()[m_ymb_loc][m_xmb_loc] = MB_cost; + m_me_data_set[2]->SBSplit()[m_ysb_loc][m_xsb_loc] = 2; + m_me_data_set[2]->SBCosts()[m_ysb_loc][m_xsb_loc] = SB_cost; } - if ( level<2 && MB_cost <= m_me_data_set[2]->MBCosts()[m_ymb_loc][m_xmb_loc] ) + if ( level<2 && SB_cost <= m_me_data_set[2]->SBCosts()[m_ysb_loc][m_xsb_loc] ) { - m_me_data_set[2]->MBCosts()[m_ymb_loc][m_xmb_loc] = MB_cost; - m_me_data_set[2]->MBSplit()[m_ymb_loc][m_xmb_loc] = level; - + m_me_data_set[2]->SBCosts()[m_ysb_loc][m_xsb_loc] = SB_cost; + m_me_data_set[2]->SBSplit()[m_ysb_loc][m_xsb_loc] = level; + // Parameters of the base-level blocks corresponding to each // prediction unit int xblock_start; @@ -266,18 +278,18 @@ void ModeDecider::DoME(const int xpos , const int ypos , const int level) { - // Do motion estimation for a prediction unit using the + // Do motion estimation for a prediction unit using the // four vectors derived from the next level as a guide MEData& me_data = *(m_me_data_set[level]); const MEData& guide_data = *(m_me_data_set[level+1]); // The corresponding location of the guide data - const int guide_xpos = xpos<<1; + const int guide_xpos = xpos<<1; const int guide_ypos = ypos<<1; // The location of the lowest level vectors - const int xblock = xpos << ( 2 - level); + const int xblock = xpos << ( 2 - level); const int yblock = ypos << ( 2 - level); // The list of potential candidate vectors @@ -308,10 +320,10 @@ mv_pred.y = 0; } - BlockMatcher my_bmatch1( *m_pic_data , - *m_ref1_updata , - m_encparams.LumaBParams(level) , - m_encparams.MVPrecision(), + BlockMatcher my_bmatch1( *m_pic_data , + *m_ref1_updata , + m_predparams->LumaBParams(level) , + m_predparams->MVPrecision(), me_data.Vectors(1) , me_data.PredCosts(1) ); me_data.PredCosts(1)[ypos][xpos].total = 100000000.0f; my_bmatch1.FindBestMatchSubp( xpos , ypos , cand_list, mv_pred, lambda ); @@ -319,7 +331,7 @@ if (num_refs>1) {//do the same for the other reference - cand_list.clear(); + cand_list.clear(); for ( int j=0 ; j<2 ; ++j ) for (int i=0 ; i<2 ; ++i ) @@ -340,10 +352,10 @@ mv_pred.y = 0; } - BlockMatcher my_bmatch2( *m_pic_data , - *m_ref2_updata , - m_encparams.LumaBParams(level) , - m_encparams.MVPrecision(), + BlockMatcher my_bmatch2( *m_pic_data , + *m_ref2_updata , + m_predparams->LumaBParams(level) , + m_predparams->MVPrecision(), me_data.Vectors(2) , me_data.PredCosts(2) ); me_data.PredCosts(2)[ypos][xpos].total = 100000000.0f; my_bmatch2.FindBestMatchSubp( xpos , ypos , cand_list, mv_pred, lambda ); @@ -355,7 +367,7 @@ float ModeDecider::DoUnitDecn(const int xpos , const int ypos , const int level ) { - // For a given prediction unit (MB, subMB or block) find the best + // For a given prediction unit (SB, subSB or block) find the best // mode, given that the REF1 and REF2 motion estimation has // already been done. @@ -371,10 +383,10 @@ float mode_cost(0.0); float min_unit_cost; float best_SAD_value; - + BlockDiffParams dparams; - dparams.SetBlockLimits( m_encparams.LumaBParams( level ) , *m_pic_data, xpos , ypos); + dparams.SetBlockLimits( m_predparams->LumaBParams( level ) , *m_pic_data, xpos , ypos); // First check REF1 costs // /**************************/ @@ -408,8 +420,8 @@ me_data.PredCosts(1)[ypos][xpos].mvcost+ me_data.PredCosts(2)[ypos][xpos].mvcost; - me_data.BiPredCosts()[ypos][xpos].SAD = m_bicheckdiff->Diff(dparams , - me_data.Vectors(1)[ypos][xpos] , + me_data.BiPredCosts()[ypos][xpos].SAD = m_bicheckdiff->Diff(dparams , + me_data.Vectors(1)[ypos][xpos] , me_data.Vectors(2)[ypos][xpos] ); me_data.BiPredCosts()[ypos][xpos].SetTotal( loc_lambda ); @@ -429,7 +441,8 @@ // Calculate the cost if we were to code the block as intra // /************************************************************/ - if (best_SAD_value> 4.0*m_encparams.LumaBParams( level ).Xblen()*m_encparams.LumaBParams( level ).Yblen() ) + if ( level==2 && best_SAD_value> 4.0*m_predparams->LumaBParams( level ).Xblen()* + m_predparams->LumaBParams( level ).Yblen() ) { // mode_cost = ModeCost( xblock , yblock ) * m_mode_factor[level]; me_data.IntraCosts()[ypos][xpos] = m_intradiff->Diff( dparams , me_data.DC( Y_COMP )[ypos][xpos] ); @@ -438,7 +451,7 @@ me_data.IntraCosts()[ypos][xpos] *= m_level_factor[level]; unit_cost = me_data.IntraCosts()[ypos][xpos] + mode_cost; - if ( unit_cost0 && m_me_data_set[2]->Mode()[yblock][xblock-1] == INTRA ) { @@ -461,7 +474,7 @@ dc_pred >>= 1; } } - + return dc_pred; } @@ -472,29 +485,29 @@ unsigned int mode_predictor = (unsigned int)(REF1_ONLY); const TwoDArray& preddata( m_me_data_set[2]->Mode() ); - - unsigned int num_ref1_nbrs( 0 ); + + unsigned int num_ref1_nbrs( 0 ); unsigned int num_ref2_nbrs( 0 ); - + if (xindex > 0 && yindex > 0) { - num_ref1_nbrs += ((unsigned int)( preddata[yindex-1][xindex] ) ) & 1; - num_ref1_nbrs += ((unsigned int)( preddata[yindex-1][xindex-1] ) ) & 1; + num_ref1_nbrs += ((unsigned int)( preddata[yindex-1][xindex] ) ) & 1; + num_ref1_nbrs += ((unsigned int)( preddata[yindex-1][xindex-1] ) ) & 1; num_ref1_nbrs += ((unsigned int)( preddata[yindex][xindex-1] ) ) & 1; mode_predictor = num_ref1_nbrs>>1; - num_ref2_nbrs += ((unsigned int)( preddata[yindex-1][xindex] ) ) & 2; - num_ref2_nbrs += ((unsigned int)( preddata[yindex-1][xindex-1] ) ) & 2; - num_ref2_nbrs += ((unsigned int)( preddata[yindex][xindex-1] ) ) & 2; + num_ref2_nbrs += ((unsigned int)( preddata[yindex-1][xindex] ) ) & 2; + num_ref2_nbrs += ((unsigned int)( preddata[yindex-1][xindex-1] ) ) & 2; + num_ref2_nbrs += ((unsigned int)( preddata[yindex][xindex-1] ) ) & 2; num_ref2_nbrs >>= 1; mode_predictor ^= ( (num_ref2_nbrs>>1)<<1 ); } else if (xindex > 0 && yindex == 0) - mode_predictor = (unsigned int)( preddata[0][xindex-1] ); + mode_predictor = (unsigned int)( preddata[0][xindex-1] ); else if (xindex == 0 && yindex > 0) - mode_predictor = (unsigned int)( preddata[yindex-1][0] ); + mode_predictor = (unsigned int)( preddata[yindex-1][0] ); unsigned int var = (mode_predictor & 1)+((mode_predictor>>1) &1); @@ -506,3 +519,55 @@ { return 4.0*std::abs( static_cast( dc_val - dc_pred ) ); } + +ValueType ModeDecider::GetBlockDC(const PicArray& pic_data, + int xunit , int yunit , int split, CompSort cs) +{ + BlockDiffParams dparams; + + if ( cs!=Y_COMP ) + dparams.SetBlockLimits( m_predparams->ChromaBParams( split ) , + pic_data, xunit , yunit); + else + dparams.SetBlockLimits( m_predparams->LumaBParams( split ) , + pic_data, xunit , yunit); + + IntraBlockDiff intradiff( pic_data ); + + return intradiff.CalcDC( dparams ); +} + +void ModeDecider::SetDC( const PicArray& pic_data , MEData& me_data , CompSort cs ) +{ + + TwoDArray& dcarray = me_data.DC( cs ); + TwoDArray temp_dcarray (dcarray.LengthY(), dcarray.LengthX() ); + + for ( int y=0 ; y>4; + } + dcarray[y][dcarray.LastX()] = temp_dcarray[y][dcarray.LastX()]; + } +} + +void ModeDecider::SetDC( EncQueue& my_buffer , int pic_num ) +{ + MEData& me_data = my_buffer.GetPicture(pic_num).GetMEData(); + SetDC( my_buffer.GetPicture( pic_num ).OrigData(Y_COMP) , me_data , Y_COMP ); + SetDC( my_buffer.GetPicture( pic_num ).OrigData(U_COMP) , me_data , U_COMP ); + SetDC( my_buffer.GetPicture( pic_num ).OrigData(V_COMP) , me_data , V_COMP ); + +} diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_motionest/me_mode_decn.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_motionest/me_mode_decn.h --- dirac-0.9.1/libdirac_motionest/me_mode_decn.h 2007-03-19 16:19:00.000000000 +0000 +++ dirac-1.0.2/libdirac_motionest/me_mode_decn.h 2008-10-01 02:26:47.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: me_mode_decn.h,v 1.12 2007/03/19 16:19:00 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: me_mode_decn.h,v 1.18 2008/10/01 01:26:47 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -43,27 +43,27 @@ namespace dirac { - class FrameBuffer; + class EncQueue; - //! Decides between macroblock and block prediction modes. + //! Decides between superblock and block prediction modes. /*! - Loops over all the macroblocks and decides on the best modes. A - macroblock is a square of 16 blocks. There are three possible + Loops over all the superblocks and decides on the best modes. A + superblock is a square of 16 blocks. There are three possible splitting levels: - level 0 means the macroblock is considered as a single block; - level 1 means the macroblock is considered as 4 larger blocks, - termed sub-macroblocks; - level 0 means the macroblock is split right down to blocks. + level 0 means the superblock is considered as a single block; + level 1 means the superblock is considered as 4 larger blocks, + termed sub-superblocks; + level 0 means the superblock is split right down to blocks. In deciding which modes to adopt, the ModeDecider object calculates costs for all permutations, doing motion estimation for the level 1 and level 0 modes as these have not been calculated before. - The process of decision for each is as follows. For each MB, we loop + The process of decision for each is as follows. For each SB, we loop over the levels, and call DoLevelDecn. DoLevelDecn does motion estimation if it's necessary. Then it assumes that we don't have a common block mode and calls DoUnitDecn which finds the best mode for - each unit in the MB at that level, individually. When we've got a + each unit in the SB at that level, individually. When we've got a best cost for that level we go up to the next one. */ class ModeDecider @@ -72,44 +72,42 @@ public: //! Constructor /*! - The constructor creates arrays for handling the motion vector data + The constructor creates arrays for handling the motion vector data at splitting levels 0 and 1, as motion estimation must be performed for these levels. */ - ModeDecider(const EncoderParams& encp ); + ModeDecider(const EncoderParams& encp ); //! Destructor /*! The destructor destroys the classes created in the constructor - */ + */ ~ModeDecider(); //! Does the actual mode decision /*! Does the mode decision \param my_buffer the buffer of all the relevant frames - \param frame_num the frame number for which motion estimation is being done - \param me_data the motion vector data into which decisions will be written + \param pic_num the picture number for which motion estimation is being done */ - void DoModeDecn( const FrameBuffer& my_buffer , int frame_num , MEData& me_data); + void DoModeDecn( EncQueue& my_buffer , int pic_num ); private: ModeDecider( const ModeDecider& cpy );//private, body-less copy constructor: this class should not be copied ModeDecider& operator=( const ModeDecider& rhs );//private, body-less assignment=: this class should not be assigned //functions - void DoMBDecn(); //called by do_mode_decn for each MB + void DoSBDecn(); //called by do_mode_decn for each SB //! Make a mode decision given a particular level of decomposition void DoLevelDecn( int level ); - //! Decide on a mode for a given prediction unit (block, sub-MB or MB) + //! Decide on a mode for a given prediction unit (block, sub-SB or SB) float DoUnitDecn( const int xpos , const int ypos , const int level ); //! Do motion estimation for a prediction unit at a given level void DoME( const int xpos , const int ypos , const int level ); - //! Return a measure of the cost of coding a given mode float ModeCost( const int xindex , const int yindex ); @@ -119,20 +117,33 @@ //! Get a measure of DC value variance float GetDCVar( const ValueType dc_val , const ValueType dc_pred); + //! Go through all the intra blocks and extract the chroma dc values to be coded + void SetDC( EncQueue& my_buffer, int pic_num); + + //! Called by previous fn for each component + void SetDC(const PicArray& pic_data, MEData& me_data,CompSort cs); + + //! Called by previous fn for each block + ValueType GetBlockDC(const PicArray& pic_data, int xloc,int yloc,int split, CompSort cs); + + // Member data - FrameSort fsort; + PictureSort m_psort; + + //! A local reference to the encoder parameters + const EncoderParams& m_encparams; - //! A local reference to the encoder params - const EncoderParams& m_encparams; + //! A local pointer to the picture prediction params + const PicturePredParams* m_predparams; //! The Lagrangian parameter for motion estimation float m_lambda; - //! Correction factor for comparing SAD costs for different MB splittings + //! Correction factor for comparing SAD costs for different SB splittings OneDArray m_level_factor; - //! Correction factor for comparing mode costs for different MB splittings + //! Correction factor for comparing mode costs for different SB splittings OneDArray m_mode_factor; //! Motion vector data for each level of splitting @@ -147,7 +158,7 @@ BiBlockDiff* m_bicheckdiff; //position variables, used in all the mode decisions - int m_xmb_loc,m_ymb_loc; //coords of the current MB + int m_xsb_loc,m_ysb_loc; //coords of the current SB }; diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_motionest/me_subpel.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_motionest/me_subpel.cpp --- dirac-0.9.1/libdirac_motionest/me_subpel.cpp 2006-04-20 11:41:58.000000000 +0100 +++ dirac-1.0.2/libdirac_motionest/me_subpel.cpp 2008-10-01 02:26:47.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: me_subpel.cpp,v 1.14 2006/04/20 10:41:58 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: me_subpel.cpp,v 1.20 2008/10/01 01:26:47 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -36,19 +36,19 @@ * ***** END LICENSE BLOCK ***** */ #include -#include +#include using namespace dirac; #include using std::vector; -SubpelRefine::SubpelRefine(const EncoderParams& encp): +SubpelRefine::SubpelRefine(const EncoderParams& encp): m_encparams(encp), m_nshift(4) { - //define the relative coordinates of the four neighbours - m_nshift[0].x = -1; + //define the relative coordinates of the four neighbours + m_nshift[0].x = -1; m_nshift[0].y = 0; m_nshift[1].x = -1; @@ -62,35 +62,39 @@ } -void SubpelRefine::DoSubpel(const FrameBuffer& my_buffer,int frame_num, MEData& me_data) +void SubpelRefine::DoSubpel( EncQueue& my_buffer,int pic_num ) { + m_predparams = &(my_buffer.GetPicture(pic_num).GetMEData().GetPicPredParams() ); + //main loop for the subpel refinement int ref1,ref2; - const FrameSort fsort = my_buffer.GetFrame(frame_num).GetFparams().FSort(); + const PictureSort psort = my_buffer.GetPicture(pic_num).GetPparams().PicSort(); - if (fsort.IsInter()) + if (psort.IsInter()) { // Get the references - const vector& refs = my_buffer.GetFrame(frame_num).GetFparams().Refs(); + const vector& refs = my_buffer.GetPicture(pic_num).GetPparams().Refs(); int num_refs = refs.size(); ref1 = refs[0]; if (num_refs>1) ref2 = refs[1]; - else + else ref2 = ref1; - const PicArray& pic_data = my_buffer.GetComponent(frame_num , Y_COMP); - const PicArray& refup1_data = my_buffer.GetUpComponent( ref1 , Y_COMP); - const PicArray& refup2_data = my_buffer.GetUpComponent( ref2 , Y_COMP); + const PicArray& pic_data = my_buffer.GetPicture(pic_num).DataForME(m_encparams.CombinedME()); + const PicArray& refup1_data = my_buffer.GetPicture(ref1).UpDataForME(m_encparams.CombinedME()); + const PicArray& refup2_data = my_buffer.GetPicture(ref2).UpDataForME(m_encparams.CombinedME()); + + MEData& me_data = my_buffer.GetPicture(pic_num).GetMEData(); // Now match the pictures MatchPic( pic_data , refup1_data , me_data ,1 ); if (ref1 != ref2 ) MatchPic( pic_data , refup2_data , me_data ,2 ); - + } } @@ -108,25 +112,23 @@ TwoDArray& pred_costs = me_data.PredCosts( ref_id ); // Provide a block matching object to do the work - BlockMatcher my_bmatch( pic_data , refup_data , m_encparams.LumaBParams(2) , - m_encparams.MVPrecision() , mv_array , pred_costs ); + BlockMatcher my_bmatch( pic_data , refup_data , m_predparams->LumaBParams(2) , + m_predparams->MVPrecision() , mv_array , pred_costs ); // Do the work // ///////////////// // Loop over all the blocks, doing the work - for (int yblock=0 ; yblockYNumBlocks() ; ++yblock){ + for (int xblock=0 ; xblockXNumBlocks() ; ++xblock){ DoBlock(xblock , yblock , my_bmatch , me_data , ref_id ); - }// xblock + }// xblock }// yblock } -void SubpelRefine::DoBlock(const int xblock , const int yblock , +void SubpelRefine::DoBlock(const int xblock , const int yblock , BlockMatcher& my_bmatch, MEData& me_data , const int ref_id ) { // For each block, home into the sub-pixel vector @@ -157,7 +159,7 @@ }// i } - else + else { for (int i=0 ; i m_nshift; - - - + }; } // namespace dirac diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_motionest/me_utils.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_motionest/me_utils.cpp --- dirac-0.9.1/libdirac_motionest/me_utils.cpp 2006-06-05 15:54:17.000000000 +0100 +++ dirac-1.0.2/libdirac_motionest/me_utils.cpp 2008-10-21 05:55:46.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: me_utils.cpp,v 1.19 2006/06/05 14:54:17 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: me_utils.cpp,v 1.23 2008/10/21 04:55:46 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -43,6 +43,9 @@ //-------------------------------// /////////////////////////////////// +#if defined(HAVE_MMX) +#include +#endif #include #include #include @@ -50,6 +53,7 @@ using namespace dirac; #include +//#define INTRA_HAAR void BlockDiffParams::SetBlockLimits( const OLBParams& bparams , const PicArray& m_pic_data , @@ -277,6 +281,65 @@ } +ValueType IntraBlockDiff::CalcDC( const BlockDiffParams& dparams ){ + + CalcValueType int_dc( 0 ); + if (dparams.Xl() <= 0 || dparams.Yl() <= 0) + { + return 0; + } + + for ( int j=dparams.Yp() ; j( m_pic_data[j][i] ); + + int_dc /= ( dparams.Xl() * dparams.Yl() ); + + return static_cast( int_dc ); +} + +#ifdef INTRA_HAAR +float IntraBlockDiff::Diff( const BlockDiffParams& dparams , ValueType& dc_val ) +{ + if (dparams.Xl() <= 0 || dparams.Yl() <= 0) + { + dc_val = 0; + return 0; + } + + dc_val = CalcDC(dparams); + + // Now compute the resulting SAD + ValueType dc( dc_val ); + CalcValueType intra_cost( 0 ); + + for (int j=dparams.Yp(); j( intra_cost ); +} + +#else + float IntraBlockDiff::Diff( const BlockDiffParams& dparams , ValueType& dc_val ) { if (dparams.Xl() <= 0 || dparams.Yl() <= 0) @@ -342,7 +405,7 @@ return static_cast( intra_cost ); #endif //HAVE_MMX } - +#endif float BlockDiffHalfPel::Diff( const BlockDiffParams& dparams , const MVector& mv ) diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_motionest/me_utils.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_motionest/me_utils.h --- dirac-0.9.1/libdirac_motionest/me_utils.h 2006-04-20 11:41:58.000000000 +0100 +++ dirac-1.0.2/libdirac_motionest/me_utils.h 2008-08-14 01:58:24.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: me_utils.h,v 1.12 2006/04/20 10:41:58 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: me_utils.h,v 1.14 2008/08/14 00:58:24 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1- * @@ -83,22 +83,22 @@ // ... and gets //! Return the x-position of the top-left block corner - const int Xp() const {return m_xp;} + int Xp() const {return m_xp;} //! Return the y-position of the top-left block corner - const int Yp() const {return m_yp;} + int Yp() const {return m_yp;} //! Return the block width - const int Xl() const {return m_xl;} + int Xl() const {return m_xl;} //! Return the block height - const int Yl() const {return m_yl;} + int Yl() const {return m_yl;} //! Return the block horizontal endpoint - const int Xend() const {return m_xend;} + int Xend() const {return m_xend;} //! Return the block vertical endpoint - const int Yend() const {return m_yend;} + int Yend() const {return m_yend;} private: @@ -205,14 +205,17 @@ */ IntraBlockDiff( const PicArray& pic ); - //! Do the difference, returning SAD + //! Do the difference, calculating the DC value and returning SAD /*! - Do the difference, returning SAD + Do the difference, calculating the DC value and returning SAD \param dparams block parameters \param dc_val DC value */ float Diff( const BlockDiffParams& dparams , ValueType& dc_val ); + //! Calculate a DC value + ValueType CalcDC( const BlockDiffParams& dparams); + private: //! Private, bodyless copy-constructor: class should not be copied IntraBlockDiff(const IntraBlockDiff& cpy); diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_motionest/me_utils_mmx.h /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_motionest/me_utils_mmx.h --- dirac-0.9.1/libdirac_motionest/me_utils_mmx.h 2005-10-07 11:17:44.000000000 +0100 +++ dirac-1.0.2/libdirac_motionest/me_utils_mmx.h 2008-05-27 02:29:55.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: me_utils_mmx.h,v 1.2 2005/10/07 10:17:44 asuraparaju Exp $ +* $Id: me_utils_mmx.h,v 1.3 2008/05/27 01:29:55 asuraparaju Exp $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -51,30 +51,30 @@ CalcValueType simple_block_diff_mmx_4(const BlockDiffParams& dparams, const MVector& mv, const PicArray& pic_data, const PicArray& ref_data, CalcValueType i_best_sum); CalcValueType simple_intra_block_diff_mmx_4 ( const BlockDiffParams& dparams, const PicArray& pic_data, ValueType &dc_val); - CalcValueType bchk_simple_block_diff_mmx_4 ( + CalcValueType bchk_simple_block_diff_mmx_4 ( const BlockDiffParams& dparams, const MVector& mv, const PicArray& pic_data, const PicArray& ref_data, - CalcValueType i_best_sum); + CalcValueType i_best_sum); float simple_block_diff_up_mmx_4( const PicArray& pic_data, const PicArray& ref_data, const ImageCoords& start_pos, const ImageCoords& end_pos, const ImageCoords& ref_start, const ImageCoords& ref_stop, - const MVector& rmdr, float cost_so_far, - float best_cost_so_far); + const MVector& rmdr, float cost_so_far, + float best_cost_so_far); - void simple_biblock_diff_pic_mmx_4( - const PicArray& pic_data, const PicArray& ref_data, - TwoDArray& diff, + void simple_biblock_diff_pic_mmx_4( + const PicArray& pic_data, const PicArray& ref_data, + TwoDArray& diff, const ImageCoords& start_pos, const ImageCoords& end_pos, const ImageCoords& ref_start, const ImageCoords& ref_stop, - const MVector& rmdr); + const MVector& rmdr); CalcValueType simple_biblock_diff_up_mmx_4( const TwoDArray& diff_data, const PicArray& ref_data, const ImageCoords& ref_start, const ImageCoords& ref_stop, - const MVector& rmdr); + const MVector& rmdr); } #endif /* HAVE_MMX */ diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_motionest/motion_estimate.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_motionest/motion_estimate.cpp --- dirac-0.9.1/libdirac_motionest/motion_estimate.cpp 2007-04-03 14:02:38.000000000 +0100 +++ dirac-1.0.2/libdirac_motionest/motion_estimate.cpp 1970-01-01 01:00:00.000000000 +0100 @@ -1,244 +0,0 @@ -/* ***** BEGIN LICENSE BLOCK ***** -* -* $Id: motion_estimate.cpp,v 1.19 2007/04/03 13:02:38 asuraparaju Exp $ $Name: Dirac_0_9_1 $ -* -* Version: MPL 1.1/GPL 2.0/LGPL 2.1 -* -* The contents of this file are subject to the Mozilla Public License -* Version 1.1 (the "License"); you may not use this file except in compliance -* with the License. You may obtain a copy of the License at -* http://www.mozilla.org/MPL/ -* -* Software distributed under the License is distributed on an "AS IS" basis, -* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for -* the specific language governing rights and limitations under the License. -* -* The Original Code is BBC Research and Development code. -* -* The Initial Developer of the Original Code is the British Broadcasting -* Corporation. -* Portions created by the Initial Developer are Copyright (C) 2004. -* All Rights Reserved. -* -* Contributor(s): Thomas Davies (Original Author) -* -* Alternatively, the contents of this file may be used under the terms of -* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser -* Public License Version 2.1 (the "LGPL"), in which case the provisions of -* the GPL or the LGPL are applicable instead of those above. If you wish to -* allow use of your version of this file only under the terms of the either -* the GPL or LGPL and not to allow others to use your version of this file -* under the MPL, indicate your decision by deleting the provisions above -* and replace them with the notice and other provisions required by the GPL -* or LGPL. If you do not delete the provisions above, a recipient may use -* your version of this file under the terms of any one of the MPL, the GPL -* or the LGPL. -* ***** END LICENSE BLOCK ***** */ - - -#include -#include -#include -#include -#include -using namespace dirac; - -#include -#include - -MotionEstimator::MotionEstimator( const EncoderParams& encp ): - m_encparams( encp ) -{} - -void MotionEstimator::DoME(const FrameBuffer& my_buffer, int frame_num, MEData& me_data) -{ - - const FrameParams& fparams = my_buffer.GetFrame(frame_num).GetFparams(); - - // Step 1. - //Initial search gives vectors for each reference accurate to 1 pixel - - PixelMatcher pix_match( m_encparams ); - pix_match.DoSearch( my_buffer , frame_num , me_data); - - float lambda; - // Get the references - const std::vector& refs = my_buffer.GetFrame(frame_num).GetFparams().Refs(); - - const int num_refs = refs.size(); - if ( fparams.IsBFrame()) - lambda = m_encparams.L2MELambda(); - else - lambda = m_encparams.L1MELambda(); - - // Set up the lambda to be used - me_data.SetLambdaMap( num_refs , lambda ); - - MVPrecisionType orig_prec = m_encparams.MVPrecision(); - - // Step 2. - // Pixel accurate vectors are then refined to sub-pixel accuracy - - if (orig_prec != MV_PRECISION_PIXEL) - { - SubpelRefine pelrefine( m_encparams ); - pelrefine.DoSubpel( my_buffer , frame_num , me_data ); - } - else - { - // FIXME: HACK HACK - // Mutiplying the motion vectors by 2 and setting MV precision to - // HALF_PIXEL to implement pixel accurate motion estimate - MvArray &mv_arr1 = me_data.Vectors(1); - for (int j = 0; j < mv_arr1.LengthY(); ++j) - { - for (int i = 0; i < mv_arr1.LengthX(); ++i) - mv_arr1[j][i] = mv_arr1[j][i] << 1; - } - if (num_refs > 1) - { - MvArray &mv_arr2 = me_data.Vectors(2); - for (int j = 0; j < mv_arr2.LengthY(); ++j) - { - for (int i = 0; i < mv_arr2.LengthX(); ++i) - mv_arr2[j][i] = mv_arr2[j][i] << 1; - } - } - m_encparams.SetMVPrecision(MV_PRECISION_HALF_PIXEL); - } - - // Step3. - // We now have to decide how each macroblock should be split - // and which references should be used, and so on. - - ModeDecider my_mode_dec( m_encparams ); - my_mode_dec.DoModeDecn( my_buffer , frame_num , me_data ); - - if (orig_prec == MV_PRECISION_PIXEL) - { - // FIXME: HACK HACK - // Divide the motion vectors by 2 to convert back to pixel - // accurate motion vectors and reset MV precision to - // PIXEL accuracy - MvArray &mv_arr1 = me_data.Vectors(1); - for (int j = 0; j < mv_arr1.LengthY(); ++j) - { - for (int i = 0; i < mv_arr1.LengthX(); ++i) - mv_arr1[j][i] = mv_arr1[j][i] >> 1; - } - if (num_refs > 1) - { - MvArray &mv_arr2 = me_data.Vectors(2); - for (int j = 0; j < mv_arr2.LengthY(); ++j) - { - for (int i = 0; i < mv_arr2.LengthX(); ++i) - mv_arr2[j][i] = mv_arr2[j][i]>>1; - } - } - m_encparams.SetMVPrecision(MV_PRECISION_PIXEL); - } - - // Finally, although not strictly part of motion estimation, - // we have to assign DC values for chroma components for - // blocks we're decided are intra. - - SetChromaDC( my_buffer , frame_num , me_data ); - -//return false; -} - -ValueType MotionEstimator::GetChromaBlockDC(const PicArray& pic_data, - int xunit , int yunit , int split) -{ - BlockDiffParams dparams; - dparams.SetBlockLimits( m_encparams.ChromaBParams( split ) , - pic_data, xunit , yunit); - - ValueType dc; - - IntraBlockDiff intradiff( pic_data ); - - intradiff.Diff( dparams , dc ); - - return dc; -} - -void MotionEstimator::SetChromaDC( const PicArray& pic_data , MvData& mv_data , CompSort csort ) -{ - - // Lower limit of block coords in MB - int xtl,ytl; - // Upper limit of block coords in MB - int xbr,ybr; - - // Ditto, for subMBs - int xsubMBtl,ysubMBtl; - int xsubMBbr,ysubMBbr; - - TwoDArray& dcarray = mv_data.DC( csort ); - - ValueType dc = 0; - - // Coords of the prediction units (at appropriate level) - int xunit, yunit; - - // The delimiters of the blocks contained in the prediction unit - int xstart, ystart; - int xend, yend; - - int level; - - for ( int ymb=0 ; ymb -namespace dirac -{ - - class FrameBuffer; - - - //! Class to handle the whole motion estimation process. - /*! - - Class to handle the whole motion estimation process, which works in - three stages. - - First a pixel-accurate estimate is formed by looking at the current - frame data and the data from the reference frame(s). Motion vectors - are found for every block. - - Second, these pixel-accurate motion vectors are refined to sub-pixel - accuracy. This means some sort of upconversion needs to be applied to - the reference. This can be done by actually upconverting the reference - to create a bigger picture or by doing some interpolation of values - on the fly. - - Third, mode decisions have to be made. This means choosing which (if - any) reference to use for each block, and whether to use the same - motion vectors for groups of blocks together. A 2x2 group of blocks is - called a sub-MB and a 4x4 group of blocks is a MB (Macroblock). All - the MV data is organised by MB. - */ - class MotionEstimator{ - public: - //! Constructor - MotionEstimator( const EncoderParams& encp ); - //! Destructor - ~MotionEstimator(){} - - //! Do the motion estimation - void DoME(const FrameBuffer& my_buffer , int frame_num , MEData& me_data); - - private: - //! Copy constructor: private, body-less - class should not be copied - MotionEstimator( const MotionEstimator& cpy ); - - //! Assignment= : //private, body-less - class should not be assigned - MotionEstimator& operator=( const MotionEstimator& rhs ); - - //! Go through all the intra blocks and extract the chroma dc values to be coded - void SetChromaDC(const FrameBuffer& my_buffer, int frame_num, MvData& mv_data); - - //! Called by previous fn for each component - void SetChromaDC(const PicArray& pic_data, MvData& mv_data,CompSort csort); - - //! Called by previous fn for each block - ValueType GetChromaBlockDC(const PicArray& pic_data, int xloc,int yloc,int split); - - // Member variables - - //! A local reference to the encoder parameters - const EncoderParams& m_encparams; - }; - -} // namespace dirac - -#endif diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/libdirac_motionest/pixel_match.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/libdirac_motionest/pixel_match.cpp --- dirac-0.9.1/libdirac_motionest/pixel_match.cpp 2007-08-02 15:22:51.000000000 +0100 +++ dirac-1.0.2/libdirac_motionest/pixel_match.cpp 2008-10-01 02:26:47.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: pixel_match.cpp,v 1.12 2007/08/02 14:22:51 tjdwave Exp $ $Name: Dirac_0_9_1 $ +* $Id: pixel_match.cpp,v 1.20 2008/10/01 01:26:47 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -39,7 +39,7 @@ #include #include #include -#include +#include #include #include #include @@ -56,35 +56,36 @@ {} -void PixelMatcher::DoSearch(const FrameBuffer& my_buffer, int frame_num, MEData& me_data) +void PixelMatcher::DoSearch( EncQueue& my_buffer, int pic_num ) { + m_predparams = &(my_buffer.GetPicture(pic_num).GetMEData().GetPicPredParams() ); - //does an initial search using hierarchical matching to get guide vectors + //does an initial search using hierarchical matching to get guide vectors - // Frame numbers of references + // Picture numbers of references int ref1,ref2; // Use the luminance only for motion estimating - const PicArray& pic_data = my_buffer.GetComponent( frame_num , Y_COMP ); + const PicArray& pic_data = my_buffer.GetPicture( pic_num ).DataForME(m_encparams.CombinedME()); - const vector& refs = my_buffer.GetFrame( frame_num ).GetFparams().Refs(); + const vector& refs = my_buffer.GetPicture( pic_num ).GetPparams().Refs(); ref1 = refs[0]; if (refs.size()>1) ref2 = refs[1]; - else + else ref2 = ref1; // Record temporal distances - m_tdiff[0] = std::abs( ref1 - frame_num ); - m_tdiff[1] = std::abs( ref2 - frame_num ); + m_tdiff[0] = std::abs( ref1 - pic_num ); + m_tdiff[1] = std::abs( ref2 - pic_num ); // Obtain C++ references to the reference picture luma components - const PicArray& ref1_data = my_buffer.GetComponent(ref1 , Y_COMP); - const PicArray& ref2_data = my_buffer.GetComponent(ref2 , Y_COMP); + const PicArray& ref1_data = my_buffer.GetPicture(ref1).DataForME(m_encparams.CombinedME()); + const PicArray& ref2_data = my_buffer.GetPicture(ref2).DataForME(m_encparams.CombinedME()); - // Determine the frame sort - this affects the motion estimation Lagrangian parameter - m_fsort = my_buffer.GetFrame(frame_num).GetFparams().FSort(); + // Determine the picture sort - this affects the motion estimation Lagrangian parameter + m_psort = my_buffer.GetPicture(pic_num).GetPparams().PicSort(); if ( m_encparams.FullSearch() == false ) @@ -114,23 +115,24 @@ m_level = m_depth; MatchPic( *(pic_down[m_depth]) , *(ref1_down[m_depth]) , *(me_data_set[m_depth]) , - *(me_data_set[m_depth]) , 1 ); + *(me_data_set[m_depth]) , 1 ); if ( ref1 != ref2 ) - MatchPic( *(pic_down[m_depth]) , *(ref2_down[m_depth]) , *(me_data_set[m_depth]) , + MatchPic( *(pic_down[m_depth]) , *(ref2_down[m_depth]) , *(me_data_set[m_depth]) , *(me_data_set[m_depth]) , 2 ); // Do the intervening levels - here we can have a genuine set of guide vectors for ( m_level=m_depth-1 ; m_level>=1 ; --m_level ) { - MatchPic( *(pic_down[m_level]) , *(ref1_down[m_level]) , *(me_data_set[m_level]) , + MatchPic( *(pic_down[m_level]) , *(ref1_down[m_level]) , *(me_data_set[m_level]) , *(me_data_set[m_level+1]) , 1 ); if (ref1!=ref2) - MatchPic( *(pic_down[m_level]) , *(ref2_down[m_level]) , *(me_data_set[m_level]) , - *(me_data_set[m_level+1]) , 2 ); + MatchPic( *(pic_down[m_level]) , *(ref2_down[m_level]) , *(me_data_set[m_level]) , + *(me_data_set[m_level+1]) , 2 ); }// level // Finally, do the top level, with the pictures themselves m_level = 0; + MEData& me_data = my_buffer.GetPicture(pic_num).GetMEData(); MatchPic( pic_data , ref1_data, me_data , *(me_data_set[1]) , 1 ); if ( ref1 != ref2 ) MatchPic( pic_data , ref2_data , me_data , *(me_data_set[1]) , 2 ); @@ -146,6 +148,7 @@ { m_depth = 0; m_level = 0; + MEData& me_data = my_buffer.GetPicture(pic_num).GetMEData(); MatchPic( pic_data , ref1_data, me_data , me_data , 1 ); if ( ref1 != ref2 ) MatchPic( pic_data , ref2_data , me_data , me_data , 2 ); @@ -184,14 +187,18 @@ { int xnumblocks , ynumblocks; - const OLBParams bparams = m_encparams.LumaBParams(2); + const OLBParams bparams = m_predparams->LumaBParams(2); - // We might not have an integral number of Macroblocks and blocks in + // We might not have an integral number of Macroblocks and blocks in // a picture. So we go start of with the number of macroblocks in the // full size picture and calculate the number of in the downsized pics // from this. - xnumblocks = m_encparams.XNumBlocks(); - ynumblocks = m_encparams.YNumBlocks(); + xnumblocks = m_predparams->XNumBlocks(); + ynumblocks = m_predparams->YNumBlocks(); + + PicturePredParams predparams = *m_predparams; + predparams.SetXNumSB(0); + predparams.SetYNumSB(0); for (int i=1 ; i<=m_depth;++i) { @@ -204,7 +211,10 @@ if (( down_data[i]->LengthY() )%bparams.Ybsep() != 0) ynumblocks++; - me_data_set[i] = new MEData( 0 , 0 , xnumblocks , ynumblocks, 2 ); + predparams.SetXNumBlocks( xnumblocks ); + predparams.SetYNumBlocks( ynumblocks ); + + me_data_set[i] = new MEData( predparams, 2 ); }// i } @@ -231,7 +241,7 @@ void PixelMatcher::MatchPic(const PicArray& pic_data , const PicArray& ref_data , MEData& me_data , const MvData& guide_data, const int ref_id) -{ +{ // Initialisation // //////////////////// @@ -244,7 +254,7 @@ { m_cost_mean = 0.0; m_cost_mean_sq = 0.0; - + m_xr = std::min( m_level+1, 5); m_yr = std::min( m_level+1, 5); } @@ -255,47 +265,47 @@ } // Provide aliases for the appropriate motion vector data components - + MvArray& mv_array = me_data.Vectors( ref_id ); const MvArray& guide_array = guide_data.Vectors( ref_id ); TwoDArray& pred_costs = me_data.PredCosts( ref_id ); - + // Initialise the arrays for (int y=0; yLumaBParams(2) , m_predparams->MVPrecision() , mv_array , pred_costs ); // Do the work - loop over all the blocks, finding the best match // //////////////////////////////////////////////////////////////////// - /* - The idea is for each block construct a list of candidate vectors,which will + /* + The idea is for each block construct a list of candidate vectors,which will be tested. This list is actually a list of lists, implemented as a C++ vector of C++ vectors. This is so that FindBestMatch can shorten the - search process by looking at the beginning of each sublist and + search process by looking at the beginning of each sublist and discarding that sub-list if it's too far off. */ // Make a zero-based list that is always used m_cand_list.clear(); - MVector zero_mv( 0 , 0 ); + MVector zero_mv( 0 , 0 ); AddNewVlist( m_cand_list , zero_mv , m_xr , m_yr); - // Now loop over the blocks and find the best matches. + // Now loop over the blocks and find the best matches. // The loop is unrolled because predictions are different at picture edges. - // The purpose of the loop is to create appropriate candidate lists, and then + // The purpose of the loop is to create appropriate candidate lists, and then // call the DoBlock() function which does the actual work. // First do TL corner @@ -312,7 +322,7 @@ DoBlock(xpos, 0 , guide_array , my_bmatch); }// xpos - // All the remaining rows except the last + // All the remaining rows except the last for ( int ypos=1 ; ypos namespace dirac { - class FrameBuffer; + class EncQueue; class MvData; class EncoderParams; class PicArray; @@ -73,22 +73,23 @@ //! Do the actual search /* Do the searching. - \param my_buffer the buffer of pictures from which frames are taken - \param frame_num the number of the frame for which motion is to be estimated + \param my_buffer the buffer of pictures from which pictures are taken + \param pic_num the number of the picture for which motion is to be estimated \param mv_data class in which the measured motion vectors are stored, together with costs */ - void DoSearch(const FrameBuffer& my_buffer, - int frame_num, - MEData& me_data); + void DoSearch( EncQueue& my_buffer, int pic_num ); private: // Member variables - //! Local reference to the encoder + //! Local reference to the encoder params const EncoderParams& m_encparams; + //! Local reference to the picture pred params + const PicturePredParams* m_predparams; + // the depth of the hierarchical match int m_depth; @@ -101,11 +102,11 @@ // the search-range sizes for when hierarchical match fails int m_big_xr, m_big_yr; - // the temporal distances to the reference frames + // the temporal distances to the reference pictures int m_tdiff[2]; - // the frame sort - I, L1 or L2 - FrameSort m_fsort; + // the picture sort - I, L1 or L2 + PictureSort m_psort; // list of candidate vectors for checking CandidateList m_cand_list; diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/ltmain.sh /tmp/1tgnNoYBLI/dirac-1.0.2/ltmain.sh --- dirac-0.9.1/ltmain.sh 2006-11-25 11:34:55.000000000 +0000 +++ dirac-1.0.2/ltmain.sh 2009-02-11 01:43:35.000000000 +0000 @@ -1,30 +1,174 @@ -# ltmain.sh - Provide generalized library-building support services. -# NOTE: Changing this file will not affect anything until you rerun configure. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 -# Free Software Foundation, Inc. -# Originally by Gordon Matzigkeit , 1996 -# -# This program is free software; you can redistribute it and/or modify +# Generated from ltmain.m4sh. + +# ltmain.sh (GNU libtool) 2.2.6 +# Written by Gordon Matzigkeit , 1996 + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 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. + +# GNU Libtool 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 of the License, or # (at your option) any later version. # -# This program is distributed in the hope that it will be useful, but +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool 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, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, +# or obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +# Usage: $progname [OPTION]... [MODE-ARG]... +# +# Provide generalized library-building support services. # -# 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. +# --config show all configuration variables +# --debug enable verbose shell tracing +# -n, --dry-run display commands without modifying any files +# --features display basic configuration information and exit +# --mode=MODE use operation mode MODE +# --preserve-dup-deps don't remove duplicate dependency libraries +# --quiet, --silent don't print informational messages +# --tag=TAG use configuration variables from tag TAG +# -v, --verbose print informational messages (default) +# --version print version information +# -h, --help print short or long help message +# +# MODE must be one of the following: +# +# clean remove files from the build directory +# compile compile a source file into a libtool object +# execute automatically set library path, then run a program +# finish complete the installation of libtool libraries +# install install libraries or executables +# link create a library or an executable +# uninstall remove libraries from an installed directory +# +# MODE-ARGS vary depending on the MODE. +# Try `$progname --help --mode=MODE' for a more detailed description of MODE. +# +# When reporting a bug, please describe a test case to reproduce it and +# include the following information: +# +# host-triplet: $host +# shell: $SHELL +# compiler: $LTCC +# compiler flags: $LTCFLAGS +# linker: $LD (gnu? $with_gnu_ld) +# $progname: (GNU libtool) 2.2.6 +# automake: $automake_version +# autoconf: $autoconf_version +# +# Report bugs to . + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION=2.2.6 +TIMESTAMP="" +package_revision=1.3012 + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# NLS nuisances: We save the old values to restore during execute mode. +# Only set LANG and LC_ALL to C if already set. +# These must not be set unconditionally because not all systems understand +# e.g. LANG=C (notably SCO). +lt_user_locale= +lt_safe_locale= +for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES +do + eval "if test \"\${$lt_var+set}\" = set; then + save_$lt_var=\$$lt_var + $lt_var=C + export $lt_var + lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" + lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" + fi" +done + +$lt_unset CDPATH + + + + + +: ${CP="cp -f"} +: ${ECHO="echo"} +: ${EGREP="/usr/bin/grep -E"} +: ${FGREP="/usr/bin/grep -F"} +: ${GREP="/usr/bin/grep"} +: ${LN_S="ln -s"} +: ${MAKE="make"} +: ${MKDIR="mkdir"} +: ${MV="mv -f"} +: ${RM="rm -f"} +: ${SED="/opt/local/bin/gsed"} +: ${SHELL="${CONFIG_SHELL-/bin/sh}"} +: ${Xsed="$SED -e 1s/^X//"} -basename="s,^.*/,,g" +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 +EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. +EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. + +exit_status=$EXIT_SUCCESS + +# Make sure IFS has a sensible default +lt_nl=' +' +IFS=" $lt_nl" + +dirname="s,/[^/]*$,," +basename="s,^.*/,," + +# func_dirname_and_basename file append nondir_replacement +# perform func_basename and func_dirname in a single function +# call: +# dirname: Compute the dirname of FILE. If nonempty, +# add APPEND to the result, otherwise set result +# to NONDIR_REPLACEMENT. +# value returned in "$func_dirname_result" +# basename: Compute filename of FILE. +# value retuned in "$func_basename_result" +# Implementation must be kept synchronized with func_dirname +# and func_basename. For efficiency, we do not delegate to +# those functions but instead duplicate the functionality here. +func_dirname_and_basename () +{ + # Extract subdirectory from the argument. + func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` + if test "X$func_dirname_result" = "X${1}"; then + func_dirname_result="${3}" + else + func_dirname_result="$func_dirname_result${2}" + fi + func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` +} + +# Generated shell functions inserted here. # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of @@ -34,112 +178,174 @@ progpath="$0" # The name of this program: -progname=`echo "$progpath" | $SED $basename` -modename="$progname" +# In the unlikely event $progname began with a '-', it would play havoc with +# func_echo (imagine progname=-n), so we prepend ./ in that case: +func_dirname_and_basename "$progpath" +progname=$func_basename_result +case $progname in + -*) progname=./$progname ;; +esac -# Global variables: -EXIT_SUCCESS=0 -EXIT_FAILURE=1 +# Make sure we have an absolute path for reexecution: +case $progpath in + [\\/]*|[A-Za-z]:\\*) ;; + *[\\/]*) + progdir=$func_dirname_result + progdir=`cd "$progdir" && pwd` + progpath="$progdir/$progname" + ;; + *) + save_IFS="$IFS" + IFS=: + for progdir in $PATH; do + IFS="$save_IFS" + test -x "$progdir/$progname" && break + done + IFS="$save_IFS" + test -n "$progdir" || progdir=`pwd` + progpath="$progdir/$progname" + ;; +esac -PROGRAM=ltmain.sh -PACKAGE=libtool -VERSION=1.5.22 -TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)" +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed="${SED}"' -e 1s/^X//' +sed_quote_subst='s/\([`"$\\]\)/\\\1/g' -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes. -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi +# Same as above, but do not quote variable references. +double_quote_subst='s/\(["`\\]\)/\\\1/g' -# Check that we have a working $echo. -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then - # Yippee, $echo works! - : -else - # Restart under the correct shell, and then maybe $echo will work. - exec $SHELL "$progpath" --no-reexec ${1+"$@"} -fi +# Re-`\' parameter expansions in output of double_quote_subst that were +# `\'-ed in input to the same. If an odd number of `\' preceded a '$' +# in input to double_quote_subst, that '$' was protected from expansion. +# Since each input `\' is now two `\'s, look for any number of runs of +# four `\'s followed by two `\'s and then a '$'. `\' that '$'. +bs='\\' +bs2='\\\\' +bs4='\\\\\\\\' +dollar='\$' +sed_double_backslash="\ + s/$bs4/&\\ +/g + s/^$bs2$dollar/$bs&/ + s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g + s/\n//g" + +# Standard options: +opt_dry_run=false +opt_help=false +opt_quiet=false +opt_verbose=false +opt_warning=: + +# func_echo arg... +# Echo program name prefixed message, along with the current mode +# name if it has been set yet. +func_echo () +{ + $ECHO "$progname${mode+: }$mode: $*" +} -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat <&2 +} -# NLS nuisances. -# Only set LANG and LC_ALL to C if already set. -# These must not be set unconditionally because not all systems understand -# e.g. LANG=C (notably SCO). -# We save the old values to restore during execute mode. -if test "${LC_ALL+set}" = set; then - save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL -fi -if test "${LANG+set}" = set; then - save_LANG="$LANG"; LANG=C; export LANG -fi +# func_warning arg... +# Echo program name prefixed warning message to standard error. +func_warning () +{ + $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2 -# Make sure IFS has a sensible default -lt_nl=' -' -IFS=" $lt_nl" + # bash bug again: + : +} -if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then - $echo "$modename: not configured to build any kind of library" 1>&2 - $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit $EXIT_FAILURE -fi +# func_fatal_error arg... +# Echo program name prefixed message to standard error, and exit. +func_fatal_error () +{ + func_error ${1+"$@"} + exit $EXIT_FAILURE +} -# Global variables. -mode=$default_mode -nonopt= -prev= -prevopt= -run= -show="$echo" -show_help= -execute_dlfiles= -duplicate_deps=no -preserve_args= -lo2o="s/\\.lo\$/.${objext}/" -o2lo="s/\\.${objext}\$/.lo/" +# func_fatal_help arg... +# Echo program name prefixed message to standard error, followed by +# a help hint, and exit. +func_fatal_help () +{ + func_error ${1+"$@"} + func_fatal_error "$help" +} +help="Try \`$progname --help' for more information." ## default + + +# func_grep expression filename +# Check whether EXPRESSION matches any line of FILENAME, without output. +func_grep () +{ + $GREP "$1" "$2" >/dev/null 2>&1 +} + + +# func_mkdir_p directory-path +# Make sure the entire path to DIRECTORY-PATH is available. +func_mkdir_p () +{ + my_directory_path="$1" + my_dir_list= + + if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then + + # Protect directory names starting with `-' + case $my_directory_path in + -*) my_directory_path="./$my_directory_path" ;; + esac + + # While some portion of DIR does not yet exist... + while test ! -d "$my_directory_path"; do + # ...make a list in topmost first order. Use a colon delimited + # list incase some portion of path contains whitespace. + my_dir_list="$my_directory_path:$my_dir_list" + + # If the last portion added has no slash in it, the list is done + case $my_directory_path in */*) ;; *) break ;; esac + + # ...otherwise throw away the child directory and loop + my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"` + done + my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'` + + save_mkdir_p_IFS="$IFS"; IFS=':' + for my_dir in $my_dir_list; do + IFS="$save_mkdir_p_IFS" + # mkdir can fail with a `File exist' error if two processes + # try to create one of the directories concurrently. Don't + # stop in that case! + $MKDIR "$my_dir" 2>/dev/null || : + done + IFS="$save_mkdir_p_IFS" + + # Bail out if we (or some other process) failed to create a directory. + test -d "$my_directory_path" || \ + func_fatal_error "Failed to create \`$1'" + fi +} -##################################### -# Shell function definitions: -# This seems to be the best place for them # func_mktempdir [string] # Make a temporary directory that won't clash with other running @@ -149,7 +355,7 @@ { my_template="${TMPDIR-/tmp}/${1-$progname}" - if test "$run" = ":"; then + if test "$opt_dry_run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else @@ -158,546 +364,818 @@ my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` if test ! -d "$my_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - my_tmpdir="${my_template}-${RANDOM-0}$$" + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" - save_mktempdir_umask=`umask` - umask 0077 - $mkdir "$my_tmpdir" - umask $save_mktempdir_umask + save_mktempdir_umask=`umask` + umask 0077 + $MKDIR "$my_tmpdir" + umask $save_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure - test -d "$my_tmpdir" || { - $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 - exit $EXIT_FAILURE - } + test -d "$my_tmpdir" || \ + func_fatal_error "cannot create temporary directory \`$my_tmpdir'" fi - $echo "X$my_tmpdir" | $Xsed + $ECHO "X$my_tmpdir" | $Xsed } -# func_win32_libid arg -# return the library type of file 'arg' -# -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -func_win32_libid () +# func_quote_for_eval arg +# Aesthetically quote ARG to be evaled later. +# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT +# is double-quoted, suitable for a subsequent eval, whereas +# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters +# which are still active within double quotes backslashified. +func_quote_for_eval () { - win32_libid_type="unknown" - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ - $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then - win32_nmres=`eval $NM -f posix -A $1 | \ - $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'` - case $win32_nmres in - import*) win32_libid_type="x86 archive import";; - *) win32_libid_type="x86 archive static";; - esac - fi - ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; + case $1 in + *[\\\`\"\$]*) + func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;; + *) + func_quote_for_eval_unquoted_result="$1" ;; + esac + + case $func_quote_for_eval_unquoted_result in + # Double-quote args containing shell metacharacters to delay + # word splitting, command substitution and and variable + # expansion for a subsequent eval. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" + ;; + *) + func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" esac - ;; - esac - $echo $win32_libid_type } -# func_infer_tag arg -# Infer tagged configuration to use if any are available and -# if one wasn't chosen via the "--tag" command line option. -# Only attempt this if the compiler in the base compile -# command doesn't match the default compiler. -# arg is usually of the form 'gcc ...' -func_infer_tag () +# func_quote_for_expand arg +# Aesthetically quote ARG to be evaled later; same as above, +# but do not quote variable references. +func_quote_for_expand () { - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - CC_quoted="$CC_quoted $arg" - done - case $@ in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. + case $1 in + *[\\\`\"]*) + my_arg=`$ECHO "X$1" | $Xsed \ + -e "$double_quote_subst" -e "$sed_double_backslash"` ;; *) - for z in $available_tags; do - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" - CC_quoted= - for arg in $CC; do - # Double-quote args containing other shell metacharacters. - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - CC_quoted="$CC_quoted $arg" - done - case "$@ " in - " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - $echo "$modename: unable to infer tagged configuration" - $echo "$modename: specify a tag with \`--tag'" 1>&2 - exit $EXIT_FAILURE -# else -# $echo "$modename: using $tagname tagged configuration" - fi - ;; - esac - fi + my_arg="$1" ;; + esac + + case $my_arg in + # Double-quote args containing shell metacharacters to delay + # word splitting and command substitution for a subsequent eval. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + my_arg="\"$my_arg\"" + ;; + esac + + func_quote_for_expand_result="$my_arg" } -# func_extract_an_archive dir oldlib -func_extract_an_archive () +# func_show_eval cmd [fail_exp] +# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. +func_show_eval () { - f_ex_an_ar_dir="$1"; shift - f_ex_an_ar_oldlib="$1" + my_cmd="$1" + my_fail_exp="${2-:}" - $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" - $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? - if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then - : - else - $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 - exit $EXIT_FAILURE + ${opt_silent-false} || { + func_quote_for_expand "$my_cmd" + eval "func_echo $func_quote_for_expand_result" + } + + if ${opt_dry_run-false}; then :; else + eval "$my_cmd" + my_status=$? + if test "$my_status" -eq 0; then :; else + eval "(exit $my_status); $my_fail_exp" + fi fi } -# func_extract_archives gentop oldlib ... -func_extract_archives () + +# func_show_eval_locale cmd [fail_exp] +# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. Use the saved locale for evaluation. +func_show_eval_locale () { - my_gentop="$1"; shift - my_oldlibs=${1+"$@"} - my_oldobjs="" - my_xlib="" - my_xabs="" - my_xdir="" - my_status="" + my_cmd="$1" + my_fail_exp="${2-:}" + + ${opt_silent-false} || { + func_quote_for_expand "$my_cmd" + eval "func_echo $func_quote_for_expand_result" + } - $show "${rm}r $my_gentop" - $run ${rm}r "$my_gentop" - $show "$mkdir $my_gentop" - $run $mkdir "$my_gentop" - my_status=$? - if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then - exit $my_status + if ${opt_dry_run-false}; then :; else + eval "$lt_user_locale + $my_cmd" + my_status=$? + eval "$lt_safe_locale" + if test "$my_status" -eq 0; then :; else + eval "(exit $my_status); $my_fail_exp" + fi fi +} - for my_xlib in $my_oldlibs; do - # Extract the objects. - case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; - *) my_xabs=`pwd`"/$my_xlib" ;; - esac - my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` - my_xdir="$my_gentop/$my_xlib" - $show "${rm}r $my_xdir" - $run ${rm}r "$my_xdir" - $show "$mkdir $my_xdir" - $run $mkdir "$my_xdir" - exit_status=$? - if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then - exit $exit_status - fi - case $host in - *-darwin*) - $show "Extracting $my_xabs" - # Do not bother doing anything if just a dry run - if test -z "$run"; then - darwin_orig_dir=`pwd` - cd $my_xdir || exit $? - darwin_archive=$my_xabs - darwin_curdir=`pwd` - darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` - darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` - if test -n "$darwin_arches"; then - darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` - darwin_arch= - $show "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches ; do - mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" - lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" - cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" - func_extract_an_archive "`pwd`" "${darwin_base_archive}" - cd "$darwin_curdir" - $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" - done # $darwin_arches - ## Okay now we have a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` - lipo -create -output "$darwin_file" $darwin_files - done # $darwin_filelist - ${rm}r unfat-$$ - cd "$darwin_orig_dir" - else - cd "$darwin_orig_dir" - func_extract_an_archive "$my_xdir" "$my_xabs" - fi # $darwin_arches - fi # $run - ;; - *) - func_extract_an_archive "$my_xdir" "$my_xabs" - ;; - esac - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` - done - func_extract_archives_result="$my_oldobjs" + + + +# func_version +# Echo version message to standard output and exit. +func_version () +{ + $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / { + s/^# // + s/^# *$// + s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ + p + }' < "$progpath" + exit $? } -# End of Shell function definitions -##################################### -# Darwin sucks -eval std_shrext=\"$shrext_cmds\" +# func_usage +# Echo short help message to standard output and exit. +func_usage () +{ + $SED -n '/^# Usage:/,/# -h/ { + s/^# // + s/^# *$// + s/\$progname/'$progname'/ + p + }' < "$progpath" + $ECHO + $ECHO "run \`$progname --help | more' for full usage" + exit $? +} -disable_libs=no +# func_help +# Echo long help message to standard output and exit. +func_help () +{ + $SED -n '/^# Usage:/,/# Report bugs to/ { + s/^# // + s/^# *$// + s*\$progname*'$progname'* + s*\$host*'"$host"'* + s*\$SHELL*'"$SHELL"'* + s*\$LTCC*'"$LTCC"'* + s*\$LTCFLAGS*'"$LTCFLAGS"'* + s*\$LD*'"$LD"'* + s/\$with_gnu_ld/'"$with_gnu_ld"'/ + s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/ + s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/ + p + }' < "$progpath" + exit $? +} -# Parse our command line options once, thoroughly. -while test "$#" -gt 0 -do - arg="$1" +# func_missing_arg argname +# Echo program name prefixed message to standard error and set global +# exit_cmd. +func_missing_arg () +{ + func_error "missing argument for $1" + exit_cmd=exit +} + +exit_cmd=: + + + + + +# Check that we have a working $ECHO. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then + # Yippee, $ECHO works! + : +else + # Restart under the correct shell, and then maybe $ECHO will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi - case $arg in - -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; - *) optarg= ;; - esac +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <&2 - exit $EXIT_FAILURE - ;; - esac +magic="%%%MAGIC variable%%%" +magic_exe="%%%MAGIC EXE variable%%%" - case $tagname in - CC) - # Don't test for the "default" C tag, as we know, it's there, but - # not specially marked. - ;; - *) - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then - taglist="$taglist $tagname" - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" - else - $echo "$progname: ignoring unknown tag $tagname" 1>&2 - fi - ;; - esac - ;; - *) - eval "$prev=\$arg" - ;; - esac +# Global variables. +# $mode is unset +nonopt= +execute_dlfiles= +preserve_args= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" +extracted_archives= +extracted_serial=0 - prev= - prevopt= - continue - fi +opt_dry_run=false +opt_duplicate_deps=false +opt_silent=false +opt_debug=: - # Have we seen a non-optional argument yet? - case $arg in - --help) - show_help=yes - ;; +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= - --version) - $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" - $echo - $echo "Copyright (C) 2005 Free Software Foundation, Inc." - $echo "This is free software; see the source for copying conditions. There is NO" - $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - exit $? - ;; +# func_fatal_configuration arg... +# Echo program name prefixed message to standard error, followed by +# a configuration failure hint, and exit. +func_fatal_configuration () +{ + func_error ${1+"$@"} + func_error "See the $PACKAGE documentation for more information." + func_fatal_error "Fatal configuration error." +} + + +# func_config +# Display the configuration for all the tags in this script. +func_config () +{ + re_begincf='^# ### BEGIN LIBTOOL' + re_endcf='^# ### END LIBTOOL' + + # Default configuration. + $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" - --config) - ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath # Now print the configurations for the tags. for tagname in $taglist; do - ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" + $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" done - exit $? - ;; - --debug) - $echo "$progname: enabling shell trace mode" - set -x - preserve_args="$preserve_args $arg" - ;; - - --dry-run | -n) - run=: - ;; + exit $? +} - --features) - $echo "host: $host" +# func_features +# Display the features supported by this script. +func_features () +{ + $ECHO "host: $host" if test "$build_libtool_libs" = yes; then - $echo "enable shared libraries" + $ECHO "enable shared libraries" else - $echo "disable shared libraries" + $ECHO "disable shared libraries" fi if test "$build_old_libs" = yes; then - $echo "enable static libraries" + $ECHO "enable static libraries" else - $echo "disable static libraries" + $ECHO "disable static libraries" fi + exit $? - ;; +} - --finish) mode="finish" ;; +# func_enable_tag tagname +# Verify that TAGNAME is valid, and either flag an error and exit, or +# enable the TAGNAME tag. We also add TAGNAME to the global $taglist +# variable here. +func_enable_tag () +{ + # Global variable: + tagname="$1" - --mode) prevopt="--mode" prev=mode ;; - --mode=*) mode="$optarg" ;; + re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" + re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" + sed_extractcf="/$re_begincf/,/$re_endcf/p" + + # Validate tagname. + case $tagname in + *[!-_A-Za-z0-9,/]*) + func_fatal_error "invalid tag name: $tagname" + ;; + esac - --preserve-dup-deps) duplicate_deps="yes" ;; + # Don't test for the "default" C tag, as we know it's + # there but not specially marked. + case $tagname in + CC) ;; + *) + if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then + taglist="$taglist $tagname" - --quiet | --silent) - show=: - preserve_args="$preserve_args $arg" - ;; + # Evaluate the configuration. Be careful to quote the path + # and the sed script, to avoid splitting on whitespace, but + # also don't use non-portable quotes within backquotes within + # quotes we have to do it in 2 steps: + extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` + eval "$extractedcf" + else + func_error "ignoring unknown tag $tagname" + fi + ;; + esac +} + +# Parse options once, thoroughly. This comes as soon as possible in +# the script to make things like `libtool --version' happen quickly. +{ - --tag) - prevopt="--tag" - prev=tag - preserve_args="$preserve_args --tag" + # Shorthand for --mode=foo, only valid as the first argument + case $1 in + clean|clea|cle|cl) + shift; set dummy --mode clean ${1+"$@"}; shift ;; - --tag=*) - set tag "$optarg" ${1+"$@"} - shift - prev=tag - preserve_args="$preserve_args --tag" + compile|compil|compi|comp|com|co|c) + shift; set dummy --mode compile ${1+"$@"}; shift ;; - - -dlopen) - prevopt="-dlopen" - prev=execute_dlfiles + execute|execut|execu|exec|exe|ex|e) + shift; set dummy --mode execute ${1+"$@"}; shift ;; - - -*) - $echo "$modename: unrecognized option \`$arg'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE + finish|finis|fini|fin|fi|f) + shift; set dummy --mode finish ${1+"$@"}; shift ;; - - *) - nonopt="$arg" - break + install|instal|insta|inst|ins|in|i) + shift; set dummy --mode install ${1+"$@"}; shift + ;; + link|lin|li|l) + shift; set dummy --mode link ${1+"$@"}; shift + ;; + uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) + shift; set dummy --mode uninstall ${1+"$@"}; shift ;; esac -done -if test -n "$prevopt"; then - $echo "$modename: option \`$prevopt' requires an argument" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE -fi + # Parse non-mode specific arguments: + while test "$#" -gt 0; do + opt="$1" + shift -case $disable_libs in -no) - ;; -shared) - build_libtool_libs=no - build_old_libs=yes - ;; -static) - build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` - ;; -esac + case $opt in + --config) func_config ;; -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= + --debug) preserve_args="$preserve_args $opt" + func_echo "enabling shell trace mode" + opt_debug='set -x' + $opt_debug + ;; + + -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break + execute_dlfiles="$execute_dlfiles $1" + shift + ;; -if test -z "$show_help"; then + --dry-run | -n) opt_dry_run=: ;; + --features) func_features ;; + --finish) mode="finish" ;; + + --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break + case $1 in + # Valid mode arguments: + clean) ;; + compile) ;; + execute) ;; + finish) ;; + install) ;; + link) ;; + relink) ;; + uninstall) ;; + + # Catch anything else as an error + *) func_error "invalid argument for $opt" + exit_cmd=exit + break + ;; + esac - # Infer the operation mode. - if test -z "$mode"; then - $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 - $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 - case $nonopt in - *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) - mode=link - for arg - do - case $arg in - -c) - mode=compile - break - ;; - esac - done - ;; - *db | *dbx | *strace | *truss) - mode=execute - ;; - *install*|cp|mv) - mode=install - ;; - *rm) - mode=uninstall + mode="$1" + shift + ;; + + --preserve-dup-deps) + opt_duplicate_deps=: ;; + + --quiet|--silent) preserve_args="$preserve_args $opt" + opt_silent=: + ;; + + --verbose| -v) preserve_args="$preserve_args $opt" + opt_silent=false + ;; + + --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break + preserve_args="$preserve_args $opt $1" + func_enable_tag "$1" # tagname is set here + shift + ;; + + # Separate optargs to long options: + -dlopen=*|--mode=*|--tag=*) + func_opt_split "$opt" + set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"} + shift + ;; + + -\?|-h) func_usage ;; + --help) opt_help=: ;; + --version) func_version ;; + + -*) func_fatal_help "unrecognized option \`$opt'" ;; + + *) nonopt="$opt" + break + ;; + esac + done + + + case $host in + *cygwin* | *mingw* | *pw32* | *cegcc*) + # don't eliminate duplications in $postdeps and $predeps + opt_duplicate_compiler_generated_deps=: ;; *) - # If we have no mode, but dlfiles were specified, then do execute mode. - test -n "$execute_dlfiles" && mode=execute + opt_duplicate_compiler_generated_deps=$opt_duplicate_deps + ;; + esac - # Just use the default operation mode. - if test -z "$mode"; then - if test -n "$nonopt"; then - $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 - else - $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 - fi + # Having warned about all mis-specified options, bail out if + # anything was wrong. + $exit_cmd $EXIT_FAILURE +} + +# func_check_version_match +# Ensure that we are using m4 macros, and libtool script from the same +# release of libtool. +func_check_version_match () +{ + if test "$package_revision" != "$macro_revision"; then + if test "$VERSION" != "$macro_version"; then + if test -z "$macro_version"; then + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the +$progname: definition of this LT_INIT comes from an older release. +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION +$progname: and run autoconf again. +_LT_EOF + else + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the +$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION +$progname: and run autoconf again. +_LT_EOF fi - ;; - esac + else + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, +$progname: but the definition of this LT_INIT comes from revision $macro_revision. +$progname: You should recreate aclocal.m4 with macros from revision $package_revision +$progname: of $PACKAGE $VERSION and run autoconf again. +_LT_EOF + fi + + exit $EXIT_MISMATCH + fi +} + + +## ----------- ## +## Main. ## +## ----------- ## + +$opt_help || { + # Sanity checks first: + func_check_version_match + + if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then + func_fatal_configuration "not configured to build any kind of library" fi + test -z "$mode" && func_fatal_error "error: you must specify a MODE." + + + # Darwin sucks + eval std_shrext=\"$shrext_cmds\" + + # Only execute mode is allowed to have -dlopen flags. if test -n "$execute_dlfiles" && test "$mode" != execute; then - $echo "$modename: unrecognized option \`-dlopen'" 1>&2 - $echo "$help" 1>&2 + func_error "unrecognized option \`-dlopen'" + $ECHO "$help" 1>&2 exit $EXIT_FAILURE fi # Change the help message to a mode-specific one. generic_help="$help" - help="Try \`$modename --help --mode=$mode' for more information." + help="Try \`$progname --help --mode=$mode' for more information." +} - # These modes are in order of execution frequency so that they run quickly. - case $mode in - # libtool compile mode - compile) - modename="$modename: compile" - # Get the compilation command and the source file. - base_compile= - srcfile="$nonopt" # always keep a non-empty value in "srcfile" - suppress_opt=yes - suppress_output= - arg_mode=normal - libobj= - later= - for arg - do - case $arg_mode in - arg ) - # do not "continue". Instead, add this to base_compile - lastarg="$arg" - arg_mode=normal - ;; +# func_lalib_p file +# True iff FILE is a libtool `.la' library or `.lo' object file. +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_lalib_p () +{ + test -f "$1" && + $SED -e 4q "$1" 2>/dev/null \ + | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 +} - target ) - libobj="$arg" - arg_mode=normal - continue - ;; +# func_lalib_unsafe_p file +# True iff FILE is a libtool `.la' library or `.lo' object file. +# This function implements the same check as func_lalib_p without +# resorting to external programs. To this end, it redirects stdin and +# closes it afterwards, without saving the original file descriptor. +# As a safety measure, use it only where a negative result would be +# fatal anyway. Works if `file' does not exist. +func_lalib_unsafe_p () +{ + lalib_p=no + if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then + for lalib_p_l in 1 2 3 4 + do + read lalib_p_line + case "$lalib_p_line" in + \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; + esac + done + exec 0<&5 5<&- + fi + test "$lalib_p" = yes +} - normal ) - # Accept any command-line options. - case $arg in - -o) - if test -n "$libobj" ; then - $echo "$modename: you cannot specify \`-o' more than once" 1>&2 - exit $EXIT_FAILURE - fi - arg_mode=target - continue - ;; +# func_ltwrapper_script_p file +# True iff FILE is a libtool wrapper script +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_script_p () +{ + func_lalib_p "$1" +} - -static | -prefer-pic | -prefer-non-pic) - later="$later $arg" - continue - ;; +# func_ltwrapper_executable_p file +# True iff FILE is a libtool wrapper executable +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_executable_p () +{ + func_ltwrapper_exec_suffix= + case $1 in + *.exe) ;; + *) func_ltwrapper_exec_suffix=.exe ;; + esac + $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 +} - -no-suppress) - suppress_opt=no - continue - ;; +# func_ltwrapper_scriptname file +# Assumes file is an ltwrapper_executable +# uses $file to determine the appropriate filename for a +# temporary ltwrapper_script. +func_ltwrapper_scriptname () +{ + func_ltwrapper_scriptname_result="" + if func_ltwrapper_executable_p "$1"; then + func_dirname_and_basename "$1" "" "." + func_stripname '' '.exe' "$func_basename_result" + func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" + fi +} - -Xcompiler) - arg_mode=arg # the next one goes into the "base_compile" arg list - continue # The current "srcfile" will either be retained or - ;; # replaced later. I would guess that would be a bug. +# func_ltwrapper_p file +# True iff FILE is a libtool wrapper script or wrapper executable +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_p () +{ + func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" +} - -Wc,*) - args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` - lastarg= - save_ifs="$IFS"; IFS=',' - for arg in $args; do - IFS="$save_ifs" - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" +# func_execute_cmds commands fail_cmd +# Execute tilde-delimited COMMANDS. +# If FAIL_CMD is given, eval that upon failure. +# FAIL_CMD may read-access the current command in variable CMD! +func_execute_cmds () +{ + $opt_debug + save_ifs=$IFS; IFS='~' + for cmd in $1; do + IFS=$save_ifs + eval cmd=\"$cmd\" + func_show_eval "$cmd" "${2-:}" + done + IFS=$save_ifs +} + + +# func_source file +# Source FILE, adding directory component if necessary. +# Note that it is not necessary on cygwin/mingw to append a dot to +# FILE even if both FILE and FILE.exe exist: automatic-append-.exe +# behavior happens only for exec(3), not for open(2)! Also, sourcing +# `FILE.' does not work on cygwin managed mounts. +func_source () +{ + $opt_debug + case $1 in + */* | *\\*) . "$1" ;; + *) . "./$1" ;; + esac +} + + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + $opt_debug + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + func_quote_for_eval "$arg" + CC_quoted="$CC_quoted $func_quote_for_eval_result" + done + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + func_quote_for_eval "$arg" + CC_quoted="$CC_quoted $func_quote_for_eval_result" + done + case "$@ " in + " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break ;; esac - lastarg="$lastarg $arg" + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + func_echo "unable to infer tagged configuration" + func_fatal_error "specify a tag with \`--tag'" +# else +# func_verbose "using $tagname tagged configuration" + fi + ;; + esac + fi +} + + + +# func_write_libtool_object output_name pic_name nonpic_name +# Create a libtool object file (analogous to a ".la" file), +# but don't create it if we're doing a dry run. +func_write_libtool_object () +{ + write_libobj=${1} + if test "$build_libtool_libs" = yes; then + write_lobj=\'${2}\' + else + write_lobj=none + fi + + if test "$build_old_libs" = yes; then + write_oldobj=\'${3}\' + else + write_oldobj=none + fi + + $opt_dry_run || { + cat >${write_libobj}T <\?\'\ \ ]*|*]*|"") - lastarg="\"$lastarg\"" - ;; - esac - - base_compile="$base_compile $lastarg" + func_quote_for_eval "$lastarg" + base_compile="$base_compile $func_quote_for_eval_result" done # for arg case $arg_mode in arg) - $echo "$modename: you must specify an argument for -Xcompile" - exit $EXIT_FAILURE + func_fatal_error "you must specify an argument for -Xcompile" ;; target) - $echo "$modename: you must specify a target with \`-o'" 1>&2 - exit $EXIT_FAILURE + func_fatal_error "you must specify a target with \`-o'" ;; *) # Get the name of the library object. - [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + test -z "$libobj" && { + func_basename "$srcfile" + libobj="$func_basename_result" + } ;; esac # Recognize several different file suffixes. # If the user specifies -o file.o, it is replaced with file.lo - xform='[cCFSifmso]' case $libobj in - *.ada) xform=ada ;; - *.adb) xform=adb ;; - *.ads) xform=ads ;; - *.asm) xform=asm ;; - *.c++) xform=c++ ;; - *.cc) xform=cc ;; - *.ii) xform=ii ;; - *.class) xform=class ;; - *.cpp) xform=cpp ;; - *.cxx) xform=cxx ;; - *.f90) xform=f90 ;; - *.for) xform=for ;; - *.java) xform=java ;; + *.[cCFSifmso] | \ + *.ada | *.adb | *.ads | *.asm | \ + *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ + *.[fF][09]? | *.for | *.java | *.obj | *.sx) + func_xform "$libobj" + libobj=$func_xform_result + ;; esac - libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` - case $libobj in - *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; *) - $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 - exit $EXIT_FAILURE + func_fatal_error "cannot determine name of library object from \`$libobj'" ;; esac @@ -774,7 +1230,15 @@ for arg in $later; do case $arg in + -shared) + test "$build_libtool_libs" != yes && \ + func_fatal_configuration "can not build a shared library" + build_old_libs=no + continue + ;; + -static) + build_libtool_libs=no build_old_libs=yes continue ;; @@ -791,28 +1255,17 @@ esac done - qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` - case $qlibobj in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - qlibobj="\"$qlibobj\"" ;; - esac - test "X$libobj" != "X$qlibobj" \ - && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ - && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." - objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` - xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$obj"; then - xdir= - else - xdir=$xdir/ - fi + func_quote_for_eval "$libobj" + test "X$libobj" != "X$func_quote_for_eval_result" \ + && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && func_warning "libobj name \`$libobj' may not contain shell special characters." + func_dirname_and_basename "$obj" "/" "" + objname="$func_basename_result" + xdir="$func_dirname_result" lobj=${xdir}$objdir/$objname - if test -z "$base_compile"; then - $echo "$modename: you must specify a compilation command" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi + test -z "$base_compile" && \ + func_fatal_help "you must specify a compilation command" # Delete any leftover library objects. if test "$build_old_libs" = yes; then @@ -821,12 +1274,9 @@ removelist="$lobj $libobj ${libobj}T" fi - $run $rm $removelist - trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 - # On Cygwin there's no "real" PIC flag so we must build both object types case $host_os in - cygwin* | mingw* | pw32* | os2*) + cygwin* | mingw* | pw32* | os2* | cegcc*) pic_mode=default ;; esac @@ -838,10 +1288,8 @@ # Calculate the filename of the output object if compiler does # not support -o with -c if test "$compiler_c_o" = no; then - output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} lockfile="$output_obj.lock" - removelist="$removelist $output_obj $lockfile" - trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 else output_obj= need_locks=no @@ -851,13 +1299,13 @@ # Lock this critical section if it is needed # We use this script file to make the link, it avoids creating a new file if test "$need_locks" = yes; then - until $run ln "$progpath" "$lockfile" 2>/dev/null; do - $show "Waiting for $lockfile to be removed" + until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do + func_echo "Waiting for $lockfile to be removed" sleep 2 done elif test "$need_locks" = warn; then if test -f "$lockfile"; then - $echo "\ + $ECHO "\ *** ERROR, $lockfile exists and contains: `cat $lockfile 2>/dev/null` @@ -868,34 +1316,22 @@ avoid parallel builds (make -j) in this platform, or get a better compiler." - $run $rm $removelist + $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi - $echo "$srcfile" > "$lockfile" + removelist="$removelist $output_obj" + $ECHO "$srcfile" > "$lockfile" fi + $opt_dry_run || $RM $removelist + removelist="$removelist $lockfile" + trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 + if test -n "$fix_srcfile_path"; then eval srcfile=\"$fix_srcfile_path\" fi - qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` - case $qsrcfile in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - qsrcfile="\"$qsrcfile\"" ;; - esac - - $run $rm "$libobj" "${libobj}T" - - # Create a libtool object file (analogous to a ".la" file), - # but don't create it if we're doing a dry run. - test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then - $echo "\ + $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` @@ -948,45 +1371,27 @@ avoid parallel builds (make -j) in this platform, or get a better compiler." - $run $rm $removelist + $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed, then go on to compile the next one if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - $show "$mv $output_obj $lobj" - if $run $mv $output_obj $lobj; then : - else - error=$? - $run $rm $removelist - exit $error - fi + func_show_eval '$MV "$output_obj" "$lobj"' \ + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi - # Append the name of the PIC object to the libtool object file. - test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then - $echo "\ + $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` @@ -1020,5423 +1420,6777 @@ avoid parallel builds (make -j) in this platform, or get a better compiler." - $run $rm $removelist + $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - $show "$mv $output_obj $obj" - if $run $mv $output_obj $obj; then : - else - error=$? - $run $rm $removelist - exit $error - fi + func_show_eval '$MV "$output_obj" "$obj"' \ + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi - - # Append the name of the non-PIC object the libtool object file. - # Only append if the libtool object file exists. - test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - else - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=built - fi - build_libtool_libs=no - build_old_libs=yes - break - ;; - esac - done +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg="$1" - shift - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test - ;; - *) qarg=$arg ;; - esac - libtool_args="$libtool_args $qarg" + compile) + $ECHO \ +"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - compile_command="$compile_command @OUTPUT@" - finalize_command="$finalize_command @OUTPUT@" - ;; - esac +Compile a source file into a libtool library object. - case $prev in - dlfiles|dlprefiles) - if test "$preload" = no; then - # Add the symbol object into the linking commands. - compile_command="$compile_command @SYMFILE@" - finalize_command="$finalize_command @SYMFILE@" - preload=yes - fi - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test "$dlself" = no; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test "$prev" = dlprefiles; then - dlself=yes - elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test "$prev" = dlfiles; then - dlfiles="$dlfiles $arg" - else - dlprefiles="$dlprefiles $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols="$arg" - if test ! -f "$arg"; then - $echo "$modename: symbol file \`$arg' does not exist" - exit $EXIT_FAILURE - fi - prev= - continue - ;; - expsyms_regex) - export_symbols_regex="$arg" - prev= - continue - ;; - inst_prefix) - inst_prefix_dir="$arg" - prev= - continue - ;; - precious_regex) - precious_files_regex="$arg" - prev= - continue - ;; - release) - release="-$arg" - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat $save_arg` - do -# moreargs="$moreargs $fil" - arg=$fil - # A libtool-controlled object. +This mode accepts the following additional options: - # Check to see that this really is a libtool object. - if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - pic_object= - non_pic_object= + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -no-suppress do not suppress compiler output for multiple passes + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -shared do not build a \`.o' file suitable for static linking + -static only build a \`.o' file suitable for static linking - # Read the .lo file - # If there is no directory component, then add one. - case $arg in - */* | *\\*) . $arg ;; - *) . ./$arg ;; - esac +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. - if test -z "$pic_object" || \ - test -z "$non_pic_object" || - test "$pic_object" = none && \ - test "$non_pic_object" = none; then - $echo "$modename: cannot find name of object for \`$arg'" 1>&2 - exit $EXIT_FAILURE - fi +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi + execute) + $ECHO \ +"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" +Automatically set library path, then run a program. - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi +This mode accepts the following additional options: - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi + -dlopen FILE add the directory containing FILE to the library path - # A PIC object. - libobjs="$libobjs $pic_object" - arg="$pic_object" - fi +This mode sets the library path environment variable according to \`-dlopen' +flags. - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. - # A standard non-PIC object - non_pic_objects="$non_pic_objects $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if test -z "$run"; then - $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 - exit $EXIT_FAILURE - else - # Dry-run case. +Then, COMMAND is executed, with ARGS as arguments." + ;; - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi + finish) + $ECHO \ +"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... - pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` - non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` - libobjs="$libobjs $pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - fi - done - else - $echo "$modename: link input file \`$save_arg' does not exist" - exit $EXIT_FAILURE - fi - arg=$save_arg - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - $echo "$modename: only absolute run-paths are allowed" 1>&2 - exit $EXIT_FAILURE - ;; - esac - if test "$prev" = rpath; then - case "$rpath " in - *" $arg "*) ;; - *) rpath="$rpath $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) xrpath="$xrpath $arg" ;; - esac - fi - prev= - continue - ;; - xcompiler) - compiler_flags="$compiler_flags $qarg" - prev= - compile_command="$compile_command $qarg" - finalize_command="$finalize_command $qarg" - continue - ;; - xlinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $wl$qarg" - prev= - compile_command="$compile_command $wl$qarg" - finalize_command="$finalize_command $wl$qarg" - continue - ;; - xcclinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $qarg" - prev= - compile_command="$compile_command $qarg" - finalize_command="$finalize_command $qarg" - continue - ;; - shrext) - shrext_cmds="$arg" - prev= - continue - ;; - darwin_framework|darwin_framework_skip) - test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - prev= - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n "$prev" +Complete the installation of libtool libraries. - prevarg="$arg" +Each LIBDIR is a directory that contains libtool libraries. - case $arg in - -all-static) - if test -n "$link_static_flag"; then - compile_command="$compile_command $link_static_flag" - finalize_command="$finalize_command $link_static_flag" - fi - continue - ;; +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; - -allow-undefined) - # FIXME: remove this flag sometime in the future. - $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 - continue - ;; + install) + $ECHO \ +"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... - -avoid-version) - avoid_version=yes - continue - ;; +Install executables or libraries. - -dlopen) - prev=dlfiles - continue - ;; +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. - -dlpreopen) - prev=dlprefiles - continue - ;; +The following components of INSTALL-COMMAND are treated specially: - -export-dynamic) - export_dynamic=yes - continue - ;; + -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - $echo "$modename: more than one -exported-symbols argument is not allowed" - exit $EXIT_FAILURE - fi - if test "X$arg" = "X-export-symbols"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; - -framework|-arch|-isysroot) - case " $CC " in - *" ${arg} ${1} "* | *" ${arg} ${1} "*) - prev=darwin_framework_skip ;; - *) compiler_flags="$compiler_flags $arg" - prev=darwin_framework ;; - esac - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - continue - ;; + link) + $ECHO \ +"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... - -inst-prefix-dir) - prev=inst_prefix - continue - ;; +Link object files or libraries together to form another library, or to +create an executable program. - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - ;; - esac - continue - ;; +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. - -L*) - dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 - absdir="$dir" - notinst_path="$notinst_path $dir" - fi - dir="$absdir" - ;; - esac - case "$deplibs " in - *" -L$dir "*) ;; - *) - deplibs="$deplibs -L$dir" - lib_search_path="$lib_search_path $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; - *) dllsearchpath="$dllsearchpath:$dir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - *) dllsearchpath="$dllsearchpath:$testbindir";; - esac - ;; - esac - continue - ;; +The following components of LINK-COMMAND are treated specially: - -l*) - if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-os2*) - # These systems don't actually have a C library (as such) - test "X$arg" = "X-lc" && continue - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - test "X$arg" = "X-lc" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - deplibs="$deplibs -framework System" - continue - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - test "X$arg" = "X-lc" && continue - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - test "X$arg" = "X-lc" && continue - ;; - esac - elif test "X$arg" = "X-lc_r"; then - case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - deplibs="$deplibs $arg" - continue - ;; + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -shared only do dynamic linking of libtool libraries + -shrext SUFFIX override the standard shared library file extension + -static do not do any dynamic linking of uninstalled libtool libraries + -static-libtool-libs + do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + -weak LIBNAME declare that the target provides the LIBNAME interface - # Tru64 UNIX uses -model [arg] to determine the layout of C++ - # classes, name mangling, and exception handling. - -model) - compile_command="$compile_command $arg" - compiler_flags="$compiler_flags $arg" - finalize_command="$finalize_command $arg" - prev=xcompiler - continue - ;; +All other options (arguments beginning with \`-') are ignored. - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) - compiler_flags="$compiler_flags $arg" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - continue - ;; +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. - -module) - module=yes - continue - ;; +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. - # -64, -mips[0-9] enable 64-bit mode on the SGI compiler - # -r[0-9][0-9]* specifies the processor on the SGI compiler - # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler - # +DA*, +DD* enable 64-bit mode on the HP compiler - # -q* pass through compiler args for the IBM compiler - # -m* pass through architecture-specific compiler args for GCC - # -m*, -t[45]*, -txscale* pass through architecture-specific - # compiler args for GCC - # -pg pass through profiling flag for GCC - # @file GCC response files - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \ - -t[45]*|-txscale*|@*) +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - compiler_flags="$compiler_flags $arg" - continue +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." ;; - -shrext) - prev=shrext - continue - ;; + uninstall) + $ECHO \ +"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -no-fast-install) - fast_install=no - continue - ;; +Remove libraries from an installation directory. - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - # The PATH hackery in wrapper scripts is required on Windows - # in order for the loader to find any dlls it needs. - $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 - $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. - -no-undefined) - allow_undefined=no - continue - ;; +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; - -objectlist) - prev=objectlist - continue - ;; + *) + func_fatal_help "invalid operation mode \`$mode'" + ;; + esac - -o) prev=output ;; + $ECHO + $ECHO "Try \`$progname --help' for more information about other modes." - -precious-files-regex) - prev=precious_regex - continue - ;; + exit $? +} - -release) - prev=release - continue - ;; + # Now that we've collected a possible --mode arg, show help if necessary + $opt_help && func_mode_help - -rpath) - prev=rpath - continue - ;; - -R) - prev=xrpath - continue - ;; +# func_mode_execute arg... +func_mode_execute () +{ + $opt_debug + # The first argument is the command name. + cmd="$nonopt" + test -z "$cmd" && \ + func_fatal_help "you must specify a COMMAND" - -R*) - dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - $echo "$modename: only absolute run-paths are allowed" 1>&2 - exit $EXIT_FAILURE - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - continue - ;; - - -static) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + test -f "$file" \ + || func_fatal_help "\`$file' is not a file" - -thread-safe) - thread_safe=yes - continue - ;; + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$file" \ + || func_fatal_help "\`$lib' is not a valid libtool archive" - -version-info) - prev=vinfo - continue - ;; - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; + # Read the libtool library. + dlname= + library_names= + func_source "$file" - -Wc,*) - args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - case $flag in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - flag="\"$flag\"" - ;; - esac - arg="$arg $wl$flag" - compiler_flags="$compiler_flags $flag" - done - IFS="$save_ifs" - arg=`$echo "X$arg" | $Xsed -e "s/^ //"` - ;; + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && \ + func_warning "\`$file' was not linked with \`-export-dynamic'" + continue + fi - -Wl,*) - args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - case $flag in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - flag="\"$flag\"" - ;; - esac - arg="$arg $wl$flag" - compiler_flags="$compiler_flags $wl$flag" - linker_flags="$linker_flags $flag" - done - IFS="$save_ifs" - arg=`$echo "X$arg" | $Xsed -e "s/^ //"` - ;; + func_dirname "$file" "" "." + dir="$func_dirname_result" - -Xcompiler) - prev=xcompiler - continue + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + if test ! -f "$dir/$dlname"; then + func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" + fi + fi ;; - -Xlinker) - prev=xlinker - continue + *.lo) + # Just add the directory containing the .lo file. + func_dirname "$file" "" "." + dir="$func_dirname_result" ;; - -XCClinker) - prev=xcclinker + *) + func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" continue ;; + esac - # Some other compiler flag. - -* | +*) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - ;; + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" - *.$objext) - # A standard object. - objs="$objs $arg" - ;; + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done - *.lo) - # A libtool-controlled object. + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" - # Check to see that this really is a libtool object. - if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - pic_object= - non_pic_object= + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if func_ltwrapper_script_p "$file"; then + func_source "$file" + # Transform arg to wrapped name. + file="$progdir/$program" + elif func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + func_source "$func_ltwrapper_scriptname_result" + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + func_quote_for_eval "$file" + args="$args $func_quote_for_eval_result" + done - # Read the .lo file - # If there is no directory component, then add one. - case $arg in - */* | *\\*) . $arg ;; - *) . ./$arg ;; - esac + if test "X$opt_dry_run" = Xfalse; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi - if test -z "$pic_object" || \ - test -z "$non_pic_object" || - test "$pic_object" = none && \ - test "$non_pic_object" = none; then - $echo "$modename: cannot find name of object for \`$arg'" 1>&2 - exit $EXIT_FAILURE - fi + # Restore saved environment variables + for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES + do + eval "if test \"\${save_$lt_var+set}\" = set; then + $lt_var=\$save_$lt_var; export $lt_var + else + $lt_unset $lt_var + fi" + done - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" + $ECHO "export $shlibpath_var" + fi + $ECHO "$cmd$args" + exit $EXIT_SUCCESS + fi +} - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" +test "$mode" = execute && func_mode_execute ${1+"$@"} - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi +# func_mode_finish arg... +func_mode_finish () +{ + $opt_debug + libdirs="$nonopt" + admincmds= - # A PIC object. - libobjs="$libobjs $pic_object" - arg="$pic_object" - fi + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + func_execute_cmds "$finish_cmds" 'admincmds="$admincmds +'"$cmd"'"' + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $opt_dry_run || eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi - # A standard non-PIC object - non_pic_objects="$non_pic_objects $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if test -z "$run"; then - $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 - exit $EXIT_FAILURE - else - # Dry-run case. + # Exit here if they wanted silent mode. + $opt_silent && exit $EXIT_SUCCESS - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi + $ECHO "X----------------------------------------------------------------------" | $Xsed + $ECHO "Libraries have been installed in:" + for libdir in $libdirs; do + $ECHO " $libdir" + done + $ECHO + $ECHO "If you ever happen to want to link against installed libraries" + $ECHO "in a given directory, LIBDIR, you must either use libtool, and" + $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'" + $ECHO "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + $ECHO " - add LIBDIR to the \`$shlibpath_var' environment variable" + $ECHO " during execution" + fi + if test -n "$runpath_var"; then + $ECHO " - add LIBDIR to the \`$runpath_var' environment variable" + $ECHO " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" - pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` - non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` - libobjs="$libobjs $pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - fi - ;; + $ECHO " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $ECHO " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + $ECHO " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + $ECHO - *.$libext) - # An archive. - deplibs="$deplibs $arg" - old_deplibs="$old_deplibs $arg" - continue + $ECHO "See any operating system documentation about shared libraries for" + case $host in + solaris2.[6789]|solaris2.1[0-9]) + $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual" + $ECHO "pages." ;; + *) + $ECHO "more information, such as the ld(1) and ld.so(8) manual pages." + ;; + esac + $ECHO "X----------------------------------------------------------------------" | $Xsed + exit $EXIT_SUCCESS +} - *.la) - # A libtool-controlled library. +test "$mode" = finish && func_mode_finish ${1+"$@"} - if test "$prev" = dlfiles; then - # This library was specified with -dlopen. - dlfiles="$dlfiles $arg" - prev= - elif test "$prev" = dlprefiles; then - # The library was specified with -dlpreopen. - dlprefiles="$dlprefiles $arg" - prev= - else - deplibs="$deplibs $arg" - fi - continue - ;; - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - ;; - esac # arg +# func_mode_install arg... +func_mode_install () +{ + $opt_debug + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $ECHO "X$nonopt" | $GREP shtool >/dev/null; then + # Aesthetically quote it. + func_quote_for_eval "$nonopt" + install_prog="$func_quote_for_eval_result " + arg=$1 + shift + else + install_prog= + arg=$nonopt + fi - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + func_quote_for_eval "$arg" + install_prog="$install_prog$func_quote_for_eval_result" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest=$arg + continue fi - done # argument parsing loop - if test -n "$prev"; then - $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi + case $arg in + -d) isdir=yes ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) + prev=$arg + ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest=$arg + continue + fi + ;; + esac - if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - fi + # Aesthetically quote the argument. + func_quote_for_eval "$arg" + install_prog="$install_prog $func_quote_for_eval_result" + done - oldlibs= - # calculate the name of the file, without its directory - outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` - libobjs_save="$libobjs" + test -z "$install_prog" && \ + func_fatal_help "you must specify an install program" - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + test -n "$prev" && \ + func_fatal_help "the \`$prev' option requires an argument" - output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` - if test "X$output_objdir" = "X$output"; then - output_objdir="$objdir" - else - output_objdir="$output_objdir/$objdir" - fi - # Create the object directory. - if test ! -d "$output_objdir"; then - $show "$mkdir $output_objdir" - $run $mkdir $output_objdir - exit_status=$? - if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then - exit $exit_status + if test -z "$files"; then + if test -z "$dest"; then + func_fatal_help "no file or destination specified" + else + func_fatal_help "you must specify a destination" fi fi - # Determine the type of output - case $output in - "") - $echo "$modename: you must specify an output file" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac + # Strip any trailing slash from the destination. + func_stripname '' '/' "$dest" + dest=$func_stripname_result - case $host in - *cygwin* | *mingw* | *pw32*) - # don't eliminate duplications in $postdeps and $predeps - duplicate_compiler_generated_deps=yes - ;; + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + func_dirname_and_basename "$dest" "" "." + destdir="$func_dirname_result" + destname="$func_basename_result" + + # Not a directory, so check to see that there is only one file specified. + set dummy $files; shift + test "$#" -gt 1 && \ + func_fatal_help "\`$dest' is not a directory" + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; *) - duplicate_compiler_generated_deps=$duplicate_deps + for file in $files; do + case $file in + *.lo) ;; + *) + func_fatal_help "\`$destdir' must be an absolute directory name" + ;; + esac + done ;; esac - specialdeplibs= - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if test "X$duplicate_deps" = "Xyes" ; then - case "$libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - libs="$libs $deplib" - done + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" - if test "$linkmode" = lib; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$file" \ + || func_fatal_help "\`$file' is not a valid libtool archive" + + library_names= + old_library= + relink_command= + func_source "$file" + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; esac - pre_post_deps="$pre_post_deps $pre_post_dep" - done - fi - pre_post_deps= - fi + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - case $linkmode in - lib) - passes="conv link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 - exit $EXIT_FAILURE + func_dirname "$file" "/" "" + dir="$func_dirname_result" + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + test "$inst_prefix_dir" = "$destdir" && \ + func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"` + fi + + func_warning "relinking \`$file'" + func_show_eval "$relink_command" \ + 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' + fi + + # See the names of the shared library. + set dummy $library_names; shift + if test -n "$1"; then + realname="$1" + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \ + 'exit $?' + tstripme="$stripme" + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + case $realname in + *.dll.a) + tstripme="" + ;; + esac ;; esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=no - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac - for pass in $passes; do - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan"; then - libs="$deplibs" - deplibs= - fi - if test "$linkmode" = prog; then - case $pass in - dlopen) libs="$dlfiles" ;; - dlpreopen) libs="$dlprefiles" ;; - link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; - esac - fi - if test "$pass" = dlopen; then - # Collect dlpreopened libraries - save_deplibs="$deplibs" - deplibs= - fi - for deplib in $libs; do - lib= - found=no - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - compiler_flags="$compiler_flags $deplib" + if test -n "$tstripme" && test -n "$striplib"; then + func_show_eval "$striplib $destdir/$realname" 'exit $?' fi - continue - ;; - -l*) - if test "$linkmode" != lib && test "$linkmode" != prog; then - $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 - continue - fi - name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` - for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do - for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib="$searchdir/lib${name}${search_ext}" - if test -f "$lib"; then - if test "$search_ext" = ".la"; then - found=yes - else - found=no - fi - break 2 - fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + test "$linkname" != "$realname" \ + && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" done - done - if test "$found" != yes; then - # deplib doesn't seem to be a libtool library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - else # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $deplib "*) - if (${SED} -e '2q' $lib | - grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - library_names= - old_library= - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - for l in $old_library $library_names; do - ll="$l" - done - if test "X$ll" = "X$old_library" ; then # only static version available - found=no - ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` - test "X$ladir" = "X$lib" && ladir="." - lib=$ladir/$old_library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - fi - ;; # -l - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test "$pass" = conv && continue - newdependency_libs="$deplib $newdependency_libs" - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - ;; - prog) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - if test "$pass" = scan; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - ;; - *) - $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test "$pass" = link; then - dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) lib="$deplib" ;; - *.$libext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - valid_a_lib=no - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method - match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` - if eval $echo \"$deplib\" 2>/dev/null \ - | $SED 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=yes - fi - ;; - pass_all) - valid_a_lib=yes - ;; - esac - if test "$valid_a_lib" != yes; then - $echo - $echo "*** Warning: Trying to link with static lib archive $deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because the file extensions .$libext of this argument makes me believe" - $echo "*** that it is just a static archive that I should not used here." - else - $echo - $echo "*** Warning: Linking the shared library $output against the" - $echo "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - fi - continue - ;; - prog) - if test "$pass" != link; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - elif test "$linkmode" = prog; then - if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - newdlprefiles="$newdlprefiles $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - newdlfiles="$newdlfiles $deplib" - fi fi - continue - ;; - %DEPLIBS%) - alldeplibs=yes - continue - ;; - esac # case $deplib - if test "$found" = yes || test -f "$lib"; then : - else - $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 - exit $EXIT_FAILURE - fi - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE + # Do each command in the postinstall commands. + lib="$destdir/$realname" + func_execute_cmds "$postinstall_cmds" 'exit $?' fi - ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` - test "X$ladir" = "X$lib" && ladir="." + # Install the pseudo-library for information purposes. + func_basename "$file" + name="$func_basename_result" + instname="$dir/$name"i + func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - avoidtemprpath= + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + *.lo) + # Install (i.e. copy) a libtool object. - # Read the .la file - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + func_basename "$file" + destfile="$func_basename_result" + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + func_lo2o "$destfile" + staticdest=$func_lo2o_result + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + func_fatal_help "cannot copy a libtool object to \`$destfile'" + ;; esac - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan" || - { test "$linkmode" != prog && test "$linkmode" != lib; }; then - test -n "$dlopen" && dlfiles="$dlfiles $dlopen" - test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + # Install the libtool object if requested. + test -n "$destfile" && \ + func_show_eval "$install_prog $file $destfile" 'exit $?' + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + func_lo2o "$file" + staticobj=$func_lo2o_result + func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' fi + exit $EXIT_SUCCESS + ;; - if test "$pass" = conv; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 - exit $EXIT_FAILURE + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + func_basename "$file" + destfile="$func_basename_result" + destfile="$destdir/$destfile" + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + func_stripname '' '.exe' "$file" + file=$func_stripname_result + stripped_ext=".exe" fi - # It is a libtool convenience library, so add in its objects. - convenience="$convenience $ladir/$objdir/$old_library" - old_convenience="$old_convenience $ladir/$objdir/$old_library" - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - elif test "$linkmode" != prog && test "$linkmode" != lib; then - $echo "$modename: \`$lib' is not a convenience library" 1>&2 - exit $EXIT_FAILURE - fi - continue - fi # $pass = conv + ;; + esac + # Do a test to see if this is really a libtool program. + case $host in + *cygwin* | *mingw*) + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + wrapper=$func_ltwrapper_scriptname_result + else + func_stripname '' '.exe' "$file" + wrapper=$func_stripname_result + fi + ;; + *) + wrapper=$file + ;; + esac + if func_ltwrapper_script_p "$wrapper"; then + notinst_deplibs= + relink_command= - # Get the name of the library we link against. - linklib= - for l in $old_library $library_names; do - linklib="$l" - done - if test -z "$linklib"; then - $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi + func_source "$wrapper" - # This library was specified with -dlopen. - if test "$pass" = dlopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - if test -z "$dlname" || - test "$dlopen_support" != yes || - test "$build_libtool_libs" = no; then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - dlprefiles="$dlprefiles $lib $dependency_libs" + # Check the variables that should have been set. + test -z "$generated_by_libtool_version" && \ + func_fatal_error "invalid libtool wrapper script \`$wrapper'" + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + func_source "$lib" + fi + libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + func_warning "\`$lib' has not been installed in \`$libdir'" + finalize=no + fi + done + + relink_command= + func_source "$wrapper" + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + $opt_dry_run || { + if test "$finalize" = yes; then + tmpdir=`func_mktempdir` + func_basename "$file$stripped_ext" + file="$func_basename_result" + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + + $opt_silent || { + func_quote_for_expand "$relink_command" + eval "func_echo $func_quote_for_expand_result" + } + if eval "$relink_command"; then : + else + func_error "error: relink \`$file' with the above command before installing it" + $opt_dry_run || ${RM}r "$tmpdir" + continue + fi + file="$outputname" + else + func_warning "cannot relink \`$file'" + fi + } else - newdlfiles="$newdlfiles $lib" + # Install the binary that we compiled earlier. + file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` fi - continue - fi # $pass = dlopen + fi - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 - $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 - abs_ladir="$ladir" - fi + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + func_stripname '' '.exe' "$destfile" + destfile=$func_stripname_result + ;; + esac ;; esac - laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' + $opt_dry_run || if test -n "$outputname"; then + ${RM}r "$tmpdir" + fi + ;; + esac + done - # Find the relevant object directory and library name. - if test "X$installed" = Xyes; then - if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - $echo "$modename: warning: library \`$lib' was moved." 1>&2 - dir="$ladir" - absdir="$abs_ladir" - libdir="$abs_ladir" - else - dir="$libdir" - absdir="$libdir" - fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes - else - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir="$ladir" - absdir="$abs_ladir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - else - dir="$ladir/$objdir" - absdir="$abs_ladir/$objdir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - fi - fi # $installed = yes - name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + for file in $staticlibs; do + func_basename "$file" + name="$func_basename_result" - # This library was specified with -dlpreopen. - if test "$pass" = dlpreopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - newdlprefiles="$newdlprefiles $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - newdlprefiles="$newdlprefiles $dir/$dlname" - else - newdlprefiles="$newdlprefiles $dir/$linklib" - fi - fi # $pass = dlpreopen + # Set up the ranlib parameters. + oldlib="$destdir/$name" - if test -z "$libdir"; then - # Link the convenience library - if test "$linkmode" = lib; then - deplibs="$dir/$old_library $deplibs" - elif test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass - fi - continue - fi + func_show_eval "$install_prog \$file \$oldlib" 'exit $?' + if test -n "$stripme" && test -n "$old_striplib"; then + func_show_eval "$old_striplib $oldlib" 'exit $?' + fi - if test "$linkmode" = prog && test "$pass" != link; then - newlib_search_path="$newlib_search_path $ladir" - deplibs="$lib $deplibs" + # Do each command in the postinstall commands. + func_execute_cmds "$old_postinstall_cmds" 'exit $?' + done - linkalldeplibs=no - if test "$link_all_deplibs" != no || test -z "$library_names" || - test "$build_libtool_libs" = no; then - linkalldeplibs=yes - fi + test -n "$future_libdirs" && \ + func_warning "remember to run \`$progname --finish$future_libdirs'" - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test - esac - # Need to link against all dependency_libs? - if test "$linkalldeplibs" = yes; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done # for deplib - continue - fi # $linkmode = prog... + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + $opt_dry_run && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi +} - if test "$linkmode,$pass" = "prog,link"; then - if test -n "$library_names" && - { test "$prefer_static_libs" = no || test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath " in - *" $dir "*) ;; - *" $absdir "*) ;; - *) temp_rpath="$temp_rpath $absdir" ;; - esac - fi +test "$mode" = install && func_mode_install ${1+"$@"} - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - if test "$alldeplibs" = yes && - { test "$deplibs_check_method" = pass_all || - { test "$build_libtool_libs" = yes && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi +# func_generate_dlsyms outputname originator pic_p +# Extract symbols from dlprefiles and create ${outputname}S.o with +# a dlpreopen symbol table. +func_generate_dlsyms () +{ + $opt_debug + my_outputname="$1" + my_originator="$2" + my_pic_p="${3-no}" + my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` + my_dlsyms= + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + my_dlsyms="${my_outputname}S.c" + else + func_error "not configured to extract global symbols from dlpreopened files" + fi + fi - link_static=no # Whether the deplib will be linked statically - use_static_libs=$prefer_static_libs - if test "$use_static_libs" = built && test "$installed" = yes ; then - use_static_libs=no - fi - if test -n "$library_names" && - { test "$use_static_libs" = no || test -z "$old_library"; }; then - if test "$installed" = no; then - notinst_deplibs="$notinst_deplibs $lib" - need_relink=yes + if test -n "$my_dlsyms"; then + case $my_dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${my_outputname}.nm" + + func_show_eval "$RM $nlist ${nlist}S ${nlist}T" + + # Parse the name list into a source file. + func_verbose "creating $output_objdir/$my_dlsyms" + + $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ +/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ +/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + func_verbose "generating symbol list for \`$output'" + + $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for progfile in $progfiles; do + func_verbose "extracting global C symbols from \`$progfile'" + $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $opt_dry_run || { + eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + } fi - # This is a shared library - # Warn about portability, can't link against -module's on - # some systems (darwin) - if test "$shouldnotlink" = yes && test "$pass" = link ; then - $echo - if test "$linkmode" = prog; then - $echo "*** Warning: Linking the executable $output against the loadable module" - else - $echo "*** Warning: Linking the shared library $output against the loadable module" - fi - $echo "*** $linklib is not portable!" + if test -n "$export_symbols_regex"; then + $opt_dry_run || { + eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + } fi - if test "$linkmode" = lib && - test "$hardcode_into_libs" = yes; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $opt_dry_run || { + $RM $export_symbols + eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* | *cegcc* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" + } + else + $opt_dry_run || { + eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + case $host in + *cygwin | *mingw* | *cegcc* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; esac - ;; - esac + } fi + fi - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - realname="$2" - shift; shift - libname=`eval \\$echo \"$libname_spec\"` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname="$dlname" - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw*) - major=`expr $current - $age` - versuffix="-$major" - ;; - esac - eval soname=\"$soname_spec\" - else - soname="$realname" - fi + for dlprefile in $dlprefiles; do + func_verbose "extracting global C symbols from \`$dlprefile'" + func_basename "$dlprefile" + name="$func_basename_result" + $opt_dry_run || { + eval '$ECHO ": $name " >> "$nlist"' + eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'" + } + done - # Make a new name for the extract_expsyms_cmds to use - soroot="$soname" - soname=`$echo $soroot | ${SED} -e 's/^.*\///'` - newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + $opt_dry_run || { + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $MV "$nlist"T "$nlist" + fi - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - $show "extracting exported symbol list from \`$soname'" - save_ifs="$IFS"; IFS='~' - cmds=$extract_expsyms_cmds - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi + # Try sorting and uniquifying the output. + if $GREP -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + $GREP -v "^: " < "$nlist" > "$nlist"S + fi - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - $show "generating import library for \`$soname'" - save_ifs="$IFS"; IFS='~' - cmds=$old_archive_from_expsyms_cmds - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' + else + $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms" + fi - if test "$linkmode" = prog || test "$mode" != relink; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test "$hardcode_direct" = no; then - add="$dir/$linklib" - case $host in - *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; - *-*-sysv4*uw2*) add_dir="-L$dir" ;; - *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir="-L$dir" ;; - *-*-darwin* ) - # if the lib is a module then we can not link against - # it, someone is ignoring the new warnings I added - if /usr/bin/file -L $add 2> /dev/null | - $EGREP ": [^:]* bundle" >/dev/null ; then - $echo "** Warning, lib $linklib is a module, not a shared library" - if test -z "$old_library" ; then - $echo - $echo "** And there doesn't seem to be a static archive available" - $echo "** The link will probably fail, sorry" - else - add="$dir/$old_library" - fi - fi - esac - elif test "$hardcode_minus_L" = no; then - case $host in - *-*-sunos*) add_shlibpath="$dir" ;; - esac - add_dir="-L$dir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = no; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - relink) - if test "$hardcode_direct" = yes; then - add="$dir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$dir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac + $ECHO >> "$output_objdir/$my_dlsyms" "\ - if test "$lib_linked" != yes; then - $echo "$modename: configuration error: unsupported hardcode properties" - exit $EXIT_FAILURE - fi +/* The mapping between symbol names and symbols. */ +typedef struct { + const char *name; + void *address; +} lt_dlsymlist; +" + case $host in + *cygwin* | *mingw* | *cegcc* ) + $ECHO >> "$output_objdir/$my_dlsyms" "\ +/* DATA imports from DLLs on WIN32 con't be const, because + runtime relocations are performed -- see ld's documentation + on pseudo-relocs. */" + lt_dlsym_const= ;; + *osf5*) + echo >> "$output_objdir/$my_dlsyms" "\ +/* This system does not cope well with relocations in const data */" + lt_dlsym_const= ;; + *) + lt_dlsym_const=const ;; + esac - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; - esac - fi - if test "$linkmode" = prog; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test "$hardcode_direct" != yes && \ - test "$hardcode_minus_L" != yes && \ - test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - fi - fi - fi + $ECHO >> "$output_objdir/$my_dlsyms" "\ +extern $lt_dlsym_const lt_dlsymlist +lt_${my_prefix}_LTX_preloaded_symbols[]; +$lt_dlsym_const lt_dlsymlist +lt_${my_prefix}_LTX_preloaded_symbols[] = +{\ + { \"$my_originator\", (void *) 0 }," - if test "$linkmode" = prog || test "$mode" = relink; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - add="-l$name" - elif test "$hardcode_automatic" = yes; then - if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib" ; then - add="$inst_prefix_dir$libdir/$linklib" - else - add="$libdir/$linklib" - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir="-L$libdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - fi + case $need_lib_prefix in + no) + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" + ;; + *) + eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" + ;; + esac + $ECHO >> "$output_objdir/$my_dlsyms" "\ + {0, (void *) 0} +}; - if test "$linkmode" = prog; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test "$linkmode" = prog; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test "$hardcode_direct" != unsupported; then - test -n "$old_library" && linklib="$old_library" - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test "$build_libtool_libs" = yes; then - # Not a shared library - if test "$deplibs_check_method" != pass_all; then - # We're trying link a shared library against a static one - # but the system doesn't support it. +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_${my_prefix}_LTX_preloaded_symbols; +} +#endif - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - $echo - $echo "*** Warning: This system can not link to static lib archive $lib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have." - if test "$module" = yes; then - $echo "*** But as you try to build a module library, libtool will still create " - $echo "*** a static module, that should work as long as the dlopening application" - $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - $echo - $echo "*** However, this would only work if libtool was able to extract symbol" - $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - $echo "*** not find such a program. So, this module is probably useless." - $echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi +#ifdef __cplusplus +} +#endif\ +" + } # !$opt_dry_run + + pic_flag_for_symtable= + case "$compile_command " in + *" -static "*) ;; + *) + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; + *-*-hpux*) + pic_flag_for_symtable=" $pic_flag" ;; + *) + if test "X$my_pic_p" != Xno; then + pic_flag_for_symtable=" $pic_flag" fi + ;; + esac + ;; + esac + symtab_cflags= + for arg in $LTCFLAGS; do + case $arg in + -pie | -fpie | -fPIE) ;; + *) symtab_cflags="$symtab_cflags $arg" ;; + esac + done + + # Now compile the dynamic symbol file. + func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' + + # Clean up the generated files. + func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' + + # Transform the symbol file into the correct name. + symfileobj="$output_objdir/${my_outputname}S.$objext" + case $host in + *cygwin* | *mingw* | *cegcc* ) + if test -f "$output_objdir/$my_outputname.def"; then + compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` else - deplibs="$dir/$old_library $deplibs" - link_static=yes + compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` fi - fi # link shared/static library? + ;; + *) + compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` + ;; + esac + ;; + *) + func_fatal_error "unknown suffix for \`$my_dlsyms'" + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + fi +} - if test "$linkmode" = lib; then - if test -n "$dependency_libs" && - { test "$hardcode_into_libs" != yes || - test "$build_old_libs" = yes || - test "$link_static" = yes; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) xrpath="$xrpath $temp_xrpath";; - esac;; - *) temp_deplibs="$temp_deplibs $libdir";; - esac - done - dependency_libs="$temp_deplibs" - fi - - newlib_search_path="$newlib_search_path $absdir" - # Link against this library - test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - - if test "$link_all_deplibs" != no; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - case $deplib in - -L*) path="$deplib" ;; - *.la) - dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$deplib" && dir="." - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 - absdir="$dir" - fi - ;; - esac - if grep "^installed=no" $deplib > /dev/null; then - path="$absdir/$objdir" - else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - if test "$absdir" != "$libdir"; then - $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 - fi - path="$absdir" - fi - depdepl= - case $host in - *-*-darwin*) - # we do not want to link against static libs, - # but need to link against shared - eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names" ; then - for tmp in $deplibrary_names ; do - depdepl=$tmp - done - if test -f "$path/$depdepl" ; then - depdepl="$path/$depdepl" - fi - # do not add paths which are already there - case " $newlib_search_path " in - *" $path "*) ;; - *) newlib_search_path="$newlib_search_path $path";; - esac - fi - path="" - ;; - *) - path="-L$path" - ;; - esac - ;; - -l*) - case $host in - *-*-darwin*) - # Again, we only want to link against shared libraries - eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` - for tmp in $newlib_search_path ; do - if test -f "$tmp/lib$tmp_libs.dylib" ; then - eval depdepl="$tmp/lib$tmp_libs.dylib" - break - fi - done - path="" - ;; - *) continue ;; - esac - ;; - *) continue ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$path $deplibs" ;; - esac - case " $deplibs " in - *" $depdepl "*) ;; - *) deplibs="$depdepl $deplibs" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - dependency_libs="$newdependency_libs" - if test "$pass" = dlpreopen; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test "$pass" != dlopen; then - if test "$pass" != conv; then - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) lib_search_path="$lib_search_path $dir" ;; - esac - done - newlib_search_path= - fi - - if test "$linkmode,$pass" != "prog,link"; then - vars="deplibs" - else - vars="compile_deplibs finalize_deplibs" - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - # Last step: remove runtime libs from dependency_libs - # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs ; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i="" - ;; - esac - if test -n "$i" ; then - tmp_libs="$tmp_libs $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test "$linkmode" = prog; then - dlfiles="$newdlfiles" - dlprefiles="$newdlprefiles" +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +func_win32_libid () +{ + $opt_debug + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | + $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | + $SED -n -e ' + 1,100{ + / I /{ + s,.*,import, + p + q + } + }'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $ECHO "$win32_libid_type" +} - case $linkmode in - oldlib) - if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 - fi - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 - fi - if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 - fi - if test -n "$xrpath"; then - $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 - fi +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + $opt_debug + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?' + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" + fi +} - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 - fi - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 - fi +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + $opt_debug + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 - fi + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + func_basename "$my_xlib" + my_xlib="$func_basename_result" + my_xlib_u=$my_xlib + while :; do + case " $extracted_archives " in + *" $my_xlib_u "*) + func_arith $extracted_serial + 1 + extracted_serial=$func_arith_result + my_xlib_u=lt$extracted_serial-$my_xlib ;; + *) break ;; + esac + done + extracted_archives="$extracted_archives $my_xlib_u" + my_xdir="$my_gentop/$my_xlib_u" - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs="$output" - objs="$objs$old_deplibs" - ;; + func_mkdir_p "$my_xdir" - lib) - # Make sure we only generate libraries of the form `libNAME.la'. - case $outputname in - lib*) - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - ;; - *) - if test "$module" = no; then - $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - if test "$need_lib_prefix" != no; then - # Add the "lib" prefix for modules if required - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - else - libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` - fi + case $host in + *-darwin*) + func_verbose "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + $opt_dry_run || { + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`basename "$darwin_archive"` + darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` + if test -n "$darwin_arches"; then + darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we've a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` + $LIPO -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + $RM -rf unfat-$$ + cd "$darwin_orig_dir" + else + cd $darwin_orig_dir + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + } # !$opt_dry_run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" ;; esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done - if test -n "$objs"; then - if test "$deplibs_check_method" != pass_all; then - $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 - exit $EXIT_FAILURE - else - $echo - $echo "*** Warning: Linking the shared library $output against the non-libtool" - $echo "*** objects $objs is not portable!" - libobjs="$libobjs $objs" - fi - fi + func_extract_archives_result="$my_oldobjs" +} - if test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 - fi - set dummy $rpath - if test "$#" -gt 2; then - $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 - fi - install_libdir="$2" - oldlibs= - if test -z "$rpath"; then - if test "$build_libtool_libs" = yes; then - # Building a libtool convenience library. - # Some compilers have problems with a `.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes +# func_emit_wrapper_part1 [arg=no] +# +# Emit the first part of a libtool wrapper script on stdout. +# For more information, see the description associated with +# func_emit_wrapper(), below. +func_emit_wrapper_part1 () +{ + func_emit_wrapper_part1_arg1=no + if test -n "$1" ; then + func_emit_wrapper_part1_arg1=$1 fi - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 - fi + $ECHO "\ +#! $SHELL - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 - fi - else +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. - # Parse the version information argument. - save_ifs="$IFS"; IFS=':' - set dummy $vinfo 0 0 0 - IFS="$save_ifs" +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='${SED} -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' - if test -n "$8"; then - $echo "$modename: too many parameters to \`-version-info'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi +# Be Bourne compatible +if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - case $vinfo_number in - yes) - number_major="$2" - number_minor="$3" - number_revision="$4" - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # which has an extra 1 added just for fun - # - case $version_type in - darwin|linux|osf|windows) - current=`expr $number_major + $number_minor` - age="$number_minor" - revision="$number_revision" - ;; - freebsd-aout|freebsd-elf|sunos) - current="$number_major" - revision="$number_minor" - age="0" - ;; - irix|nonstopux) - current=`expr $number_major + $number_minor - 1` - age="$number_minor" - revision="$number_minor" - ;; - esac - ;; - no) - current="$2" - revision="$3" - age="$4" - ;; - esac +relink_command=\"$relink_command\" - # Check that each of the things are valid numbers. - case $current in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - ;; - esac +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variables: + generated_by_libtool_version='$macro_version' + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$ECHO are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + ECHO=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$ECHO works! + : + else + # Restart under the correct shell, and then maybe \$ECHO will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $ECHO "\ - case $revision in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - ;; - esac + # Find the directory that this script lives in. + thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. - case $age in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - ;; - esac + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` - if test "$age" -gt "$current"; then - $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - fi + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; + file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done +" +} +# end: func_emit_wrapper_part1 - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - major=.`expr $current - $age` - versuffix="$major.$age.$revision" - # Darwin ld doesn't like 0 for these options... - minor_current=`expr $current + 1` - verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" - ;; +# func_emit_wrapper_part2 [arg=no] +# +# Emit the second part of a libtool wrapper script on stdout. +# For more information, see the description associated with +# func_emit_wrapper(), below. +func_emit_wrapper_part2 () +{ + func_emit_wrapper_part2_arg1=no + if test -n "$1" ; then + func_emit_wrapper_part2_arg1=$1 + fi + + $ECHO "\ + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1 + if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then + # special case for '.' + if test \"\$thisdir\" = \".\"; then + thisdir=\`pwd\` + fi + # remove .libs from thisdir + case \"\$thisdir\" in + *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;; + $objdir ) thisdir=. ;; + esac + fi - freebsd-aout) - major=".$current" - versuffix=".$current.$revision"; - ;; + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" - freebsd-elf) - major=".$current" - versuffix=".$current"; - ;; + if test "$fast_install" = yes; then + $ECHO "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" - irix | nonstopux) - major=`expr $current - $age + 1` + if test ! -f \"\$progdir/\$program\" || + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring="$verstring_prefix$major.$revision" + file=\"\$\$-\$program\" - # Add in all the interfaces that we are compatible with. - loop=$revision - while test "$loop" -ne 0; do - iface=`expr $revision - $loop` - loop=`expr $loop - 1` - verstring="$verstring_prefix$major.$iface:$verstring" - done + if test ! -d \"\$progdir\"; then + $MKDIR \"\$progdir\" + else + $RM \"\$progdir/\$file\" + fi" - # Before this point, $major must not contain `.'. - major=.$major - versuffix="$major.$revision" - ;; + $ECHO "\ - linux) - major=.`expr $current - $age` - versuffix="$major.$age.$revision" - ;; + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $ECHO \"\$relink_command_output\" >&2 + $RM \"\$progdir/\$file\" + exit 1 + fi + fi - osf) - major=.`expr $current - $age` - versuffix=".$current.$age.$revision" - verstring="$current.$age.$revision" + $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $RM \"\$progdir/\$program\"; + $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $RM \"\$progdir/\$file\" + fi" + else + $ECHO "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi - # Add in all the interfaces that we are compatible with. - loop=$age - while test "$loop" -ne 0; do - iface=`expr $current - $loop` - loop=`expr $loop - 1` - verstring="$verstring:${iface}.0" - done + $ECHO "\ - # Make executables depend on our current version. - verstring="$verstring:${current}.0" - ;; + if test -f \"\$progdir/\$program\"; then" - sunos) - major=".$current" - versuffix=".$current.$revision" - ;; + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $ECHO "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 filesystems. - major=`expr $current - $age` - versuffix="-$major" - ;; + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $ECHO "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $ECHO "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2* | *-cegcc*) + $ECHO "\ + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; *) - $echo "$modename: unknown library version type \`$version_type'" 1>&2 - $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit $EXIT_FAILURE + $ECHO "\ + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" ;; esac + $ECHO "\ + \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 + exit 1 + fi + else + # The program doesn't exist. + \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 + $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 + exit 1 + fi +fi\ +" +} +# end: func_emit_wrapper_part2 - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= - ;; - *) - verstring="0.0" - ;; - esac - if test "$need_version" = no; then - versuffix= - else - versuffix=".0.0" - fi - fi - - # Remove version info from name if versioning should be avoided - if test "$avoid_version" = yes && test "$need_version" = no; then - major= - versuffix= - verstring="" - fi - # Check to see if the archive will have undefined symbols. - if test "$allow_undefined" = yes; then - if test "$allow_undefined_flag" = unsupported; then - $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 - build_libtool_libs=no - build_old_libs=yes - fi - else - # Don't allow undefined symbols. - allow_undefined_flag="$no_undefined_flag" +# func_emit_wrapper [arg=no] +# +# Emit a libtool wrapper script on stdout. +# Don't directly open a file because we may want to +# incorporate the script contents within a cygwin/mingw +# wrapper executable. Must ONLY be called from within +# func_mode_link because it depends on a number of variables +# set therein. +# +# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR +# variable will take. If 'yes', then the emitted script +# will assume that the directory in which it is stored is +# the $objdir directory. This is a cygwin/mingw-specific +# behavior. +func_emit_wrapper () +{ + func_emit_wrapper_arg1=no + if test -n "$1" ; then + func_emit_wrapper_arg1=$1 fi - fi - if test "$mode" != relink; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$echo "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) - if test "X$precious_files_regex" != "X"; then - if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - removelist="$removelist $p" - ;; - *) ;; - esac - done - if test -n "$removelist"; then - $show "${rm}r $removelist" - $run ${rm}r $removelist - fi - fi + # split this up so that func_emit_cwrapperexe_src + # can call each part independently. + func_emit_wrapper_part1 "${func_emit_wrapper_arg1}" + func_emit_wrapper_part2 "${func_emit_wrapper_arg1}" +} - # Now set the variables for building old libraries. - if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then - oldlibs="$oldlibs $output_objdir/$libname.$libext" - # Transform .lo files to .o files. - oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` - fi +# func_to_host_path arg +# +# Convert paths to host format when used with build tools. +# Intended for use with "native" mingw (where libtool itself +# is running under the msys shell), or in the following cross- +# build environments: +# $build $host +# mingw (msys) mingw [e.g. native] +# cygwin mingw +# *nix + wine mingw +# where wine is equipped with the `winepath' executable. +# In the native mingw case, the (msys) shell automatically +# converts paths for any non-msys applications it launches, +# but that facility isn't available from inside the cwrapper. +# Similar accommodations are necessary for $host mingw and +# $build cygwin. Calling this function does no harm for other +# $host/$build combinations not listed above. +# +# ARG is the path (on $build) that should be converted to +# the proper representation for $host. The result is stored +# in $func_to_host_path_result. +func_to_host_path () +{ + func_to_host_path_result="$1" + if test -n "$1" ; then + case $host in + *mingw* ) + lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' + case $build in + *mingw* ) # actually, msys + # awkward: cmd appends spaces to result + lt_sed_strip_trailing_spaces="s/[ ]*\$//" + func_to_host_path_tmp1=`( cmd //c echo "$1" |\ + $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""` + func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ + $SED -e "$lt_sed_naive_backslashify"` + ;; + *cygwin* ) + func_to_host_path_tmp1=`cygpath -w "$1"` + func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ + $SED -e "$lt_sed_naive_backslashify"` + ;; + * ) + # Unfortunately, winepath does not exit with a non-zero + # error code, so we are forced to check the contents of + # stdout. On the other hand, if the command is not + # found, the shell will set an exit code of 127 and print + # *an error message* to stdout. So we must check for both + # error code of zero AND non-empty stdout, which explains + # the odd construction: + func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null` + if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then + func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ + $SED -e "$lt_sed_naive_backslashify"` + else + # Allow warning below. + func_to_host_path_result="" + fi + ;; + esac + if test -z "$func_to_host_path_result" ; then + func_error "Could not determine host path corresponding to" + func_error " '$1'" + func_error "Continuing, but uninstalled executables may not work." + # Fallback: + func_to_host_path_result="$1" + fi + ;; + esac + fi +} +# end: func_to_host_path - # Eliminate all temporary directories. - for path in $notinst_path; do - lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` - deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` - dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` - done +# func_to_host_pathlist arg +# +# Convert pathlists to host format when used with build tools. +# See func_to_host_path(), above. This function supports the +# following $build/$host combinations (but does no harm for +# combinations not listed here): +# $build $host +# mingw (msys) mingw [e.g. native] +# cygwin mingw +# *nix + wine mingw +# +# Path separators are also converted from $build format to +# $host format. If ARG begins or ends with a path separator +# character, it is preserved (but converted to $host format) +# on output. +# +# ARG is a pathlist (on $build) that should be converted to +# the proper representation on $host. The result is stored +# in $func_to_host_pathlist_result. +func_to_host_pathlist () +{ + func_to_host_pathlist_result="$1" + if test -n "$1" ; then + case $host in + *mingw* ) + lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' + # Remove leading and trailing path separator characters from + # ARG. msys behavior is inconsistent here, cygpath turns them + # into '.;' and ';.', and winepath ignores them completely. + func_to_host_pathlist_tmp2="$1" + # Once set for this call, this variable should not be + # reassigned. It is used in tha fallback case. + func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\ + $SED -e 's|^:*||' -e 's|:*$||'` + case $build in + *mingw* ) # Actually, msys. + # Awkward: cmd appends spaces to result. + lt_sed_strip_trailing_spaces="s/[ ]*\$//" + func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\ + $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""` + func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\ + $SED -e "$lt_sed_naive_backslashify"` + ;; + *cygwin* ) + func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"` + func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\ + $SED -e "$lt_sed_naive_backslashify"` + ;; + * ) + # unfortunately, winepath doesn't convert pathlists + func_to_host_pathlist_result="" + func_to_host_pathlist_oldIFS=$IFS + IFS=: + for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do + IFS=$func_to_host_pathlist_oldIFS + if test -n "$func_to_host_pathlist_f" ; then + func_to_host_path "$func_to_host_pathlist_f" + if test -n "$func_to_host_path_result" ; then + if test -z "$func_to_host_pathlist_result" ; then + func_to_host_pathlist_result="$func_to_host_path_result" + else + func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result" + fi + fi + fi + IFS=: + done + IFS=$func_to_host_pathlist_oldIFS + ;; + esac + if test -z "$func_to_host_pathlist_result" ; then + func_error "Could not determine the host path(s) corresponding to" + func_error " '$1'" + func_error "Continuing, but uninstalled executables may not work." + # Fallback. This may break if $1 contains DOS-style drive + # specifications. The fix is not to complicate the expression + # below, but for the user to provide a working wine installation + # with winepath so that path translation in the cross-to-mingw + # case works properly. + lt_replace_pathsep_nix_to_dos="s|:|;|g" + func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\ + $SED -e "$lt_replace_pathsep_nix_to_dos"` + fi + # Now, add the leading and trailing path separators back + case "$1" in + :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result" + ;; + esac + case "$1" in + *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;" + ;; + esac + ;; + esac + fi +} +# end: func_to_host_pathlist - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - temp_xrpath="$temp_xrpath -R$libdir" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi +# func_emit_cwrapperexe_src +# emit the source code for a wrapper executable on stdout +# Must ONLY be called from within func_mode_link because +# it depends on a number of variable set therein. +func_emit_cwrapperexe_src () +{ + cat < conftest.c < +#include +#ifdef _MSC_VER +# include +# include +# include +# define setmode _setmode +#else +# include +# include +# ifdef __CYGWIN__ +# include +# define HAVE_SETENV +# ifdef __STRICT_ANSI__ +char *realpath (const char *, char *); +int putenv (char *); +int setenv (const char *, const char *, int); +# endif +# endif +#endif +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef S_IXOTH +# define S_IXOTH 0 +#endif +#ifndef S_IXGRP +# define S_IXGRP 0 +#endif + +#ifdef _MSC_VER +# define S_IXUSR _S_IEXEC +# define stat _stat +# ifndef _INTPTR_T_DEFINED +# define intptr_t int +# endif +#endif + +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# define FOPEN_WB "wb" +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#ifdef __CYGWIN__ +# define FOPEN_WB "wb" +#endif + +#ifndef FOPEN_WB +# define FOPEN_WB "w" +#endif +#ifndef _O_BINARY +# define _O_BINARY 0 +#endif + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +#undef LTWRAPPER_DEBUGPRINTF +#if defined DEBUGWRAPPER +# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args +static void +ltwrapper_debugprintf (const char *fmt, ...) +{ + va_list args; + va_start (args, fmt); + (void) vfprintf (stderr, fmt, args); + va_end (args); +} +#else +# define LTWRAPPER_DEBUGPRINTF(args) +#endif + +const char *program_name = NULL; + +void *xmalloc (size_t num); +char *xstrdup (const char *string); +const char *base_name (const char *name); +char *find_executable (const char *wrapper); +char *chase_symlinks (const char *pathspec); +int make_executable (const char *path); +int check_executable (const char *path); +char *strendzap (char *str, const char *pat); +void lt_fatal (const char *message, ...); +void lt_setenv (const char *name, const char *value); +char *lt_extend_str (const char *orig_value, const char *add, int to_end); +void lt_opt_process_env_set (const char *arg); +void lt_opt_process_env_prepend (const char *arg); +void lt_opt_process_env_append (const char *arg); +int lt_split_name_value (const char *arg, char** name, char** value); +void lt_update_exe_path (const char *name, const char *value); +void lt_update_lib_path (const char *name, const char *value); + +static const char *script_text_part1 = +EOF + + func_emit_wrapper_part1 yes | + $SED -e 's/\([\\"]\)/\\\1/g' \ + -e 's/^/ "/' -e 's/$/\\n"/' + echo ";" + cat </dev/null` - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null \ - | grep " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib="$potent_lib" - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; - *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ - | ${SED} 10q \ - | $EGREP "$file_magic_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $echo - $echo "*** Warning: linker path does not have real file for library $a_deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $echo "*** with $libname but no candidates were found. (...for file magic test)" - else - $echo "*** with $libname and none of the candidates passed a file format test" - $echo "*** using a file magic. Last file checked: $potlib" - fi - fi else - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" + cat <<"EOF" +const char * LIB_PATH_VALUE = ""; +EOF fi - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method - match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` - for a_deplib in $deplibs; do - name=`expr $a_deplib : '-l\(.*\)'` - # If $name is empty we are operating on a -L argument. - if test -n "$name" && test "$name" != "0"; then - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $a_deplib "*) - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - ;; - esac - fi - if test -n "$a_deplib" ; then - libname=`eval \\$echo \"$libname_spec\"` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib="$potent_lib" # see symlink-check above in file_magic test - if eval $echo \"$potent_lib\" 2>/dev/null \ - | ${SED} 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $echo - $echo "*** Warning: linker path does not have real file for library $a_deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $echo "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $echo "*** with $libname and none of the candidates passed a file format test" - $echo "*** using a regex pattern. Last file checked: $potlib" - fi - fi + + if test -n "$dllsearchpath"; then + func_to_host_pathlist "$dllsearchpath:" + cat </dev/null; then - $echo - if test "X$deplibs_check_method" = "Xnone"; then - $echo "*** Warning: inter-library dependencies are not supported in this platform." + + if test "$fast_install" = yes; then + cat < \"${export_symbols}T\"" - $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - $show "$mv \"${export_symbols}T\" \"$export_symbols\"" - $run eval '$mv "${export_symbols}T" "$export_symbols"' - fi - fi - fi + newargz = XMALLOC (char *, argc + 1); + tmp_pathspec = find_executable (argv[0]); + if (tmp_pathspec == NULL) + lt_fatal ("Couldn't find %s", argv[0]); + LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n", + tmp_pathspec)); + + actual_cwrapper_path = chase_symlinks (tmp_pathspec); + LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n", + actual_cwrapper_path)); + XFREE (tmp_pathspec); + + actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path)); + strendzap (actual_cwrapper_path, actual_cwrapper_name); + + /* wrapper name transforms */ + strendzap (actual_cwrapper_name, ".exe"); + tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1); + XFREE (actual_cwrapper_name); + actual_cwrapper_name = tmp_pathspec; + tmp_pathspec = 0; + + /* target_name transforms -- use actual target program name; might have lt- prefix */ + target_name = xstrdup (base_name (TARGET_PROGRAM_NAME)); + strendzap (target_name, ".exe"); + tmp_pathspec = lt_extend_str (target_name, ".exe", 1); + XFREE (target_name); + target_name = tmp_pathspec; + tmp_pathspec = 0; - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' - fi + LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n", + target_name)); +EOF - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - tmp_deplibs="$tmp_deplibs $test_deplib" - ;; - esac - done - deplibs="$tmp_deplibs" + cat </dev/null` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise. - $echo "creating reloadable object files..." + LTWRAPPER_DEBUGPRINTF (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : ""))); + for (i = 0; i < newargc; i++) + { + LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : ""))); + } - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - output_la=`$echo "X$output" | $Xsed -e "$basename"` +EOF - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - delfiles= - last_robj= - k=1 - output=$output_objdir/$output_la-${k}.$objext - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - eval test_cmds=\"$reload_cmds $objlist $last_robj\" - if test "X$objlist" = X || - { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && - test "$len" -le "$max_cmd_len"; }; then - objlist="$objlist $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test "$k" -eq 1 ; then - # The first file doesn't have a previous command to add. - eval concat_cmds=\"$reload_cmds $objlist $last_robj\" - else - # All subsequent reloadable object files will link in - # the last one created. - eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" - fi - last_robj=$output_objdir/$output_la-${k}.$objext - k=`expr $k + 1` - output=$output_objdir/$output_la-${k}.$objext - objlist=$obj - len=1 - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + case $host_os in + mingw*) + cat <<"EOF" + /* execv doesn't actually work on mingw as expected on unix */ + rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz); + if (rval == -1) + { + /* failed to start process */ + LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno)); + return 127; + } + return rval; +EOF + ;; + *) + cat <<"EOF" + execv (lt_argv_zero, newargz); + return rval; /* =127, but avoids unused variable warning */ +EOF + ;; + esac - if ${skipped_export-false}; then - $show "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $run $rm $export_symbols - libobjs=$output - # Append the command to create the export file. - eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" - fi - - # Set up a command to remove the reloadable object files - # after they are used. - i=0 - while test "$i" -lt "$k" - do - i=`expr $i + 1` - delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" - done + cat <<"EOF" +} - $echo "creating a temporary reloadable object file: $output" +void * +xmalloc (size_t num) +{ + void *p = (void *) malloc (num); + if (!p) + lt_fatal ("Memory exhausted"); - # Loop through the commands generated above and execute them. - save_ifs="$IFS"; IFS='~' - for cmd in $concat_cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" + return p; +} - libobjs=$output - # Restore the value of output. - output=$save_output +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), + string) : NULL; +} - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. +const char * +base_name (const char *name) +{ + const char *base; - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - cmds=$module_expsym_cmds - else - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - cmds=$archive_expsym_cmds - else - cmds=$archive_cmds - fi - fi +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha ((unsigned char) name[0]) && name[1] == ':') + name += 2; +#endif - # Append the command to remove the reloadable object files - # to the just-reset $cmds. - eval cmds=\"\$cmds~\$rm $delfiles\" - fi - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || { - lt_exit=$? + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return base; +} - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' - fi +int +check_executable (const char *path) +{ + struct stat st; - exit $lt_exit - } - done - IFS="$save_ifs" + LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n", + path ? (*path ? path : "EMPTY!") : "NULL!")); + if ((!path) || (!*path)) + return 0; - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + if ((stat (path, &st) >= 0) + && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) + return 1; + else + return 0; +} - if test -n "$convenience"; then - if test -z "$whole_archive_flag_spec"; then - $show "${rm}r $gentop" - $run ${rm}r "$gentop" - fi - fi +int +make_executable (const char *path) +{ + int rval = 0; + struct stat st; - exit $EXIT_SUCCESS - fi + LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n", + path ? (*path ? path : "EMPTY!") : "NULL!")); + if ((!path) || (!*path)) + return 0; - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" - $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? - fi - done + if (stat (path, &st) >= 0) + { + rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); + } + return rval; +} - # If -module or -export-dynamic was specified, set the dlname. - if test "$module" = yes || test "$export_dynamic" = yes; then - # On all known operating systems, these are identical. - dlname="$soname" - fi - fi - ;; +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise + Does not chase symlinks, even on platforms that support them. +*/ +char * +find_executable (const char *wrapper) +{ + int has_slash = 0; + const char *p; + const char *p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char *concat_name; - obj) - if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 - fi + LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n", + wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!")); - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 - fi + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; - if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 - fi + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif - if test -n "$xrpath"; then - $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 - fi + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char *path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char *q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR (*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen (tmp); + concat_name = + XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = + XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen (tmp); + concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 - fi + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + return NULL; +} - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 - fi +char * +chase_symlinks (const char *pathspec) +{ +#ifndef S_ISLNK + return xstrdup (pathspec); +#else + char buf[LT_PATHMAX]; + struct stat s; + char *tmp_pathspec = xstrdup (pathspec); + char *p; + int has_symlinks = 0; + while (strlen (tmp_pathspec) && !has_symlinks) + { + LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n", + tmp_pathspec)); + if (lstat (tmp_pathspec, &s) == 0) + { + if (S_ISLNK (s.st_mode) != 0) + { + has_symlinks = 1; + break; + } - case $output in - *.lo) - if test -n "$objs$old_deplibs"; then - $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 - exit $EXIT_FAILURE - fi - libobj="$output" - obj=`$echo "X$output" | $Xsed -e "$lo2o"` - ;; - *) - libobj= - obj="$output" - ;; - esac + /* search backwards for last DIR_SEPARATOR */ + p = tmp_pathspec + strlen (tmp_pathspec) - 1; + while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) + p--; + if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) + { + /* no more DIR_SEPARATORS left */ + break; + } + *p = '\0'; + } + else + { + char *errstr = strerror (errno); + lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr); + } + } + XFREE (tmp_pathspec); - # Delete the old objects. - $run $rm $obj $libobj + if (!has_symlinks) + { + return xstrdup (pathspec); + } - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec - wl= + tmp_pathspec = realpath (pathspec, buf); + if (tmp_pathspec == 0) + { + lt_fatal ("Could not follow symlinks for %s", pathspec); + } + return xstrdup (tmp_pathspec); +#endif +} - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" - else - gentop="$output_objdir/${obj}x" - generated="$generated $gentop" +char * +strendzap (char *str, const char *pat) +{ + size_t len, patlen; - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi + assert (str != NULL); + assert (pat != NULL); - # Create the old-style object. - reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + len = strlen (str); + patlen = strlen (pat); - output="$obj" - cmds=$reload_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" + if (patlen <= len) + { + str += len - patlen; + if (strcmp (str, pat) == 0) + *str = '\0'; + } + return str; +} - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi +static void +lt_error_core (int exit_status, const char *mode, + const char *message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); - exit $EXIT_SUCCESS - fi + if (exit_status >= 0) + exit (exit_status); +} - if test "$build_libtool_libs" != yes; then - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $run eval "echo timestamp > $libobj" || exit $? - exit $EXIT_SUCCESS - fi +void +lt_setenv (const char *name, const char *value) +{ + LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n", + (name ? name : ""), + (value ? value : ""))); + { +#ifdef HAVE_SETENV + /* always make a copy, for consistency with !HAVE_SETENV */ + char *str = xstrdup (value); + setenv (name, str, 1); +#else + int len = strlen (name) + 1 + strlen (value) + 1; + char *str = XMALLOC (char, len); + sprintf (str, "%s=%s", name, value); + if (putenv (str) != EXIT_SUCCESS) + { + XFREE (str); + } +#endif + } +} - if test -n "$pic_flag" || test "$pic_mode" != default; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output="$libobj" - cmds=$reload_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi +char * +lt_extend_str (const char *orig_value, const char *add, int to_end) +{ + char *new_value; + if (orig_value && *orig_value) + { + int orig_value_len = strlen (orig_value); + int add_len = strlen (add); + new_value = XMALLOC (char, add_len + orig_value_len + 1); + if (to_end) + { + strcpy (new_value, orig_value); + strcpy (new_value + orig_value_len, add); + } + else + { + strcpy (new_value, add); + strcpy (new_value + add_len, orig_value); + } + } + else + { + new_value = xstrdup (add); + } + return new_value; +} - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi +int +lt_split_name_value (const char *arg, char** name, char** value) +{ + const char *p; + int len; + if (!arg || !*arg) + return 1; - exit $EXIT_SUCCESS - ;; + p = strchr (arg, (int)'='); - prog) - case $host in - *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; - esac - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 - fi + if (!p) + return 1; - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 - fi + *value = xstrdup (++p); - if test "$preload" = yes; then - if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && - test "$dlopen_self_static" = unknown; then - $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." - fi - fi + len = strlen (arg) - strlen (*value); + *name = XMALLOC (char, len); + strncpy (*name, arg, len-1); + (*name)[len - 1] = '\0'; - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` - finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` - ;; - esac - - case $host in - *darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - if test "$tagname" = CXX ; then - compile_command="$compile_command ${wl}-bind_at_load" - finalize_command="$finalize_command ${wl}-bind_at_load" - fi - ;; - esac + return 0; +} +void +lt_opt_process_env_set (const char *arg) +{ + char *name = NULL; + char *value = NULL; - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $compile_deplibs " in - *" -L$path/$objdir "*) - new_libs="$new_libs -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $compile_deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$new_libs $deplib" ;; - esac - ;; - *) new_libs="$new_libs $deplib" ;; - esac - done - compile_deplibs="$new_libs" + if (lt_split_name_value (arg, &name, &value) != 0) + { + XFREE (name); + XFREE (value); + lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg); + } + lt_setenv (name, value); + XFREE (name); + XFREE (value); +} - compile_command="$compile_command $compile_deplibs" - finalize_command="$finalize_command $finalize_deplibs" +void +lt_opt_process_env_prepend (const char *arg) +{ + char *name = NULL; + char *value = NULL; + char *new_value = NULL; - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - fi + if (lt_split_name_value (arg, &name, &value) != 0) + { + XFREE (name); + XFREE (value); + lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg); + } - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; - *) dllsearchpath="$dllsearchpath:$libdir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - *) dllsearchpath="$dllsearchpath:$testbindir";; - esac - ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath="$rpath" + new_value = lt_extend_str (getenv (name), value, 0); + lt_setenv (name, new_value); + XFREE (new_value); + XFREE (name); + XFREE (value); +} - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath="$rpath" +void +lt_opt_process_env_append (const char *arg) +{ + char *name = NULL; + char *value = NULL; + char *new_value = NULL; - if test -n "$libobjs" && test "$build_old_libs" = yes; then - # Transform all the library objects into standard objects. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - fi + if (lt_split_name_value (arg, &name, &value) != 0) + { + XFREE (name); + XFREE (value); + lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg); + } - dlsyms= - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - dlsyms="${outputname}S.c" - else - $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 - fi - fi + new_value = lt_extend_str (getenv (name), value, 1); + lt_setenv (name, new_value); + XFREE (new_value); + XFREE (name); + XFREE (value); +} - if test -n "$dlsyms"; then - case $dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist="$output_objdir/${outputname}.nm" +void +lt_update_exe_path (const char *name, const char *value) +{ + LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n", + (name ? name : ""), + (value ? value : ""))); - $show "$rm $nlist ${nlist}S ${nlist}T" - $run $rm "$nlist" "${nlist}S" "${nlist}T" + if (name && *name && value && *value) + { + char *new_value = lt_extend_str (getenv (name), value, 0); + /* some systems can't cope with a ':'-terminated path #' */ + int len = strlen (new_value); + while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1])) + { + new_value[len-1] = '\0'; + } + lt_setenv (name, new_value); + XFREE (new_value); + } +} - # Parse the name list into a source file. - $show "creating $output_objdir/$dlsyms" +void +lt_update_lib_path (const char *name, const char *value) +{ + LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n", + (name ? name : ""), + (value ? value : ""))); - test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ -/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ -/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ + if (name && *name && value && *value) + { + char *new_value = lt_extend_str (getenv (name), value, 0); + lt_setenv (name, new_value); + XFREE (new_value); + } +} -#ifdef __cplusplus -extern \"C\" { -#endif -/* Prevent the only kind of declaration conflicts we can make. */ -#define lt_preloaded_symbols some_other_symbol +EOF +} +# end: func_emit_cwrapperexe_src -/* External symbol declarations for the compiler. */\ -" +# func_mode_link arg... +func_mode_link () +{ + $opt_debug + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + # It is impossible to link a dll without this setting, and + # we shouldn't force the makefile maintainer to figure out + # which system we are compiling for in order to pass an extra + # flag for every libtool invocation. + # allow_undefined=no - if test "$dlself" = yes; then - $show "generating symbol list for \`$output'" + # FIXME: Unfortunately, there are problems with the above when trying + # to make a dll which has undefined symbols, in which case not + # even a static library is built. For now, we need to specify + # -no-undefined on the libtool link line when we can be certain + # that all symbols are satisfied, otherwise we get a static library. + allow_undefined=yes + ;; + *) + allow_undefined=yes + ;; + esac + libtool_args=$nonopt + base_compile="$nonopt $@" + compile_command=$nonopt + finalize_command=$nonopt - test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + compile_rpath= + finalize_rpath= + compile_shlibpath= + finalize_shlibpath= + convenience= + old_convenience= + deplibs= + old_deplibs= + compiler_flags= + linker_flags= + dllsearchpath= + lib_search_path=`pwd` + inst_prefix_dir= + new_inherited_linker_flags= - # Add our own program objects to the symbol list. - progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - for arg in $progfiles; do - $show "extracting global C symbols from \`$arg'" - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done + avoid_version=no + dlfiles= + dlprefiles= + dlself=no + export_dynamic=no + export_symbols= + export_symbols_regex= + generated= + libobjs= + ltlibs= + module=no + no_install=no + objs= + non_pic_objects= + precious_files_regex= + prefer_static_libs=no + preload=no + prev= + prevarg= + release= + rpath= + xrpath= + perm_rpath= + temp_rpath= + thread_safe=no + vinfo= + vinfo_number=no + weak_libs= + single_module="${wl}-single_module" + func_infer_tag $base_compile - if test -n "$exclude_expsyms"; then - $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - $run eval '$mv "$nlist"T "$nlist"' - fi - - if test -n "$export_symbols_regex"; then - $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' - $run eval '$mv "$nlist"T "$nlist"' - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols="$output_objdir/$outputname.exp" - $run $rm $export_symbols - $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - case $host in - *cygwin* | *mingw* ) - $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' - ;; - esac - else - $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' - $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' - $run eval 'mv "$nlist"T "$nlist"' - case $host in - *cygwin* | *mingw* ) - $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' - ;; - esac - fi + # We need to know -static, to get the right output filenames. + for arg + do + case $arg in + -shared) + test "$build_libtool_libs" != yes && \ + func_fatal_configuration "can not build a shared library" + build_old_libs=no + break + ;; + -all-static | -static | -static-libtool-libs) + case $arg in + -all-static) + if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then + func_warning "complete static linking is impossible in this configuration" fi - - for arg in $dlprefiles; do - $show "extracting global C symbols from \`$arg'" - name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` - $run eval '$echo ": $name " >> "$nlist"' - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done - - if test -z "$run"; then - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $mv "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if grep -v "^: " < "$nlist" | - if sort -k 3 /dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - grep -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' - else - $echo '/* NONE */' >> "$output_objdir/$dlsyms" - fi - - $echo >> "$output_objdir/$dlsyms" "\ - -#undef lt_preloaded_symbols - -#if defined (__STDC__) && __STDC__ -# define lt_ptr void * -#else -# define lt_ptr char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -" - - case $host in - *cygwin* | *mingw* ) - $echo >> "$output_objdir/$dlsyms" "\ -/* DATA imports from DLLs on WIN32 can't be const, because - runtime relocations are performed -- see ld's documentation - on pseudo-relocs */ -struct { -" - ;; - * ) - $echo >> "$output_objdir/$dlsyms" "\ -const struct { -" - ;; - esac - - - $echo >> "$output_objdir/$dlsyms" "\ - const char *name; - lt_ptr address; -} -lt_preloaded_symbols[] = -{\ -" - - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" - - $echo >> "$output_objdir/$dlsyms" "\ - {0, (lt_ptr) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static fi - - pic_flag_for_symtable= - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - case "$compile_command " in - *" -static "*) ;; - *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; - esac;; - *-*-hpux*) - case "$compile_command " in - *" -static "*) ;; - *) pic_flag_for_symtable=" $pic_flag";; - esac - esac - - # Now compile the dynamic symbol file. - $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" - $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? - - # Clean up the generated files. - $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" - $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" - - # Transform the symbol file into the correct name. - case $host in - *cygwin* | *mingw* ) - if test -f "$output_objdir/${outputname}.def" ; then - compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` - else - compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` - fi - ;; - * ) - compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` - ;; - esac + prefer_static_libs=yes ;; - *) - $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 - exit $EXIT_FAILURE + -static) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + ;; + -static-libtool-libs) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes ;; esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` - fi - - if test "$need_relink" = no || test "$build_libtool_libs" != yes; then - # Replace the output file specification. - compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - link_command="$compile_command$compile_rpath" + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done - # We have no uninstalled library dependencies, so finalize right now. - $show "$link_command" - $run eval "$link_command" - exit_status=$? + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes - # Delete the generated files. - if test -n "$dlsyms"; then - $show "$rm $output_objdir/${outputname}S.${objext}" - $run $rm "$output_objdir/${outputname}S.${objext}" - fi + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + func_quote_for_eval "$arg" + qarg=$func_quote_for_eval_unquoted_result + func_append libtool_args " $func_quote_for_eval_result" - exit $exit_status - fi + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + func_append compile_command " @OUTPUT@" + func_append finalize_command " @OUTPUT@" + ;; + esac - if test -n "$shlibpath_var"; then - # We should set the shlibpath_var - rpath= - for dir in $temp_rpath; do - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) - # Absolute path. - rpath="$rpath$dir:" + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + func_append compile_command " @SYMFILE@" + func_append finalize_command " @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue ;; *) - # Relative path: add a thisdir entry. - rpath="$rpath\$thisdir/$dir:" + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue ;; esac - done - temp_rpath="$rpath" - fi - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi + ;; + expsyms) + export_symbols="$arg" + test -f "$arg" \ + || func_fatal_error "symbol file \`$arg' does not exist" + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + framework) + case $host in + *-*-darwin*) + case "$deplibs " in + *" $qarg.ltframework "*) ;; + *) deplibs="$deplibs $qarg.ltframework" # this is fixed later + ;; + esac + ;; + esac + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat "$save_arg"` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - rpath="$rpath$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi + # Check to see that this really is a libtool object. + if func_lalib_unsafe_p "$arg"; then + pic_object= + non_pic_object= - if test "$no_install" = yes; then - # We don't need to create a wrapper script. - link_command="$compile_var$compile_command$compile_rpath" - # Replace the output file specification. - link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $run $rm $output - # Link the executable and exit - $show "$link_command" - $run eval "$link_command" || exit $? - exit $EXIT_SUCCESS - fi + # Read the .lo file + func_source "$arg" - if test "$hardcode_action" = relink; then - # Fast installation is not supported - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" + if test -z "$pic_object" || + test -z "$non_pic_object" || + test "$pic_object" = none && + test "$non_pic_object" = none; then + func_fatal_error "cannot find name of object for \`$arg'" + fi - $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 - $echo "$modename: \`$output' will be relinked during installation" 1>&2 - else - if test "$fast_install" != no; then - link_command="$finalize_var$compile_command$finalize_rpath" - if test "$fast_install" = yes; then - relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` - else - # fast_install is set to needless - relink_command= - fi - else - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - fi - fi + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir="$func_dirname_result" - # Replace the output file specification. - link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" - # Delete the old output files. - $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi - $show "$link_command" - $run eval "$link_command" || exit $? + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi - # Now create the wrapper script. - $show "creating $output" + # A PIC object. + func_append libobjs " $pic_object" + arg="$pic_object" + fi - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` - relink_command="$var=\"$var_value\"; export $var; $relink_command" - fi - done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` - fi + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" - # Quote $echo for shipping. - if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then - case $progpath in - [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; - *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; - esac - qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` - else - qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` - fi + # A standard non-PIC object + func_append non_pic_objects " $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + func_append non_pic_objects " $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if $opt_dry_run; then + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir="$func_dirname_result" - # Only actually do things if our run command is non-null. - if test -z "$run"; then - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) - exeext=.exe - outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; - *) exeext= ;; + func_lo2o "$arg" + pic_object=$xdir$objdir/$func_lo2o_result + non_pic_object=$xdir$func_lo2o_result + func_append libobjs " $pic_object" + func_append non_pic_objects " $non_pic_object" + else + func_fatal_error "\`$arg' is not a valid libtool object" + fi + fi + done + else + func_fatal_error "link input file \`$arg' does not exist" + fi + arg=$save_arg + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + func_fatal_error "only absolute run-paths are allowed" + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + weak) + weak_libs="$weak_libs $arg" + prev= + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + func_append compile_command " $wl$qarg" + func_append finalize_command " $wl$qarg" + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; esac - case $host in - *cygwin* | *mingw* ) - output_name=`basename $output` - output_path=`dirname $output` - cwrappersource="$output_path/$objdir/lt-$output_name.c" - cwrapper="$output_path/$output_name.exe" - $rm $cwrappersource $cwrapper - trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - cat > $cwrappersource <> $cwrappersource<<"EOF" -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined(PATH_MAX) -# define LT_PATHMAX PATH_MAX -#elif defined(MAXPATHLEN) -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif + fi # test -n "$prev" -#ifndef DIR_SEPARATOR -# define DIR_SEPARATOR '/' -# define PATH_SEPARATOR ':' -#endif + prevarg="$arg" -#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ - defined (__OS2__) -# define HAVE_DOS_BASED_FILE_SYSTEM -# ifndef DIR_SEPARATOR_2 -# define DIR_SEPARATOR_2 '\\' -# endif -# ifndef PATH_SEPARATOR_2 -# define PATH_SEPARATOR_2 ';' -# endif -#endif + case $arg in + -all-static) + if test -n "$link_static_flag"; then + # See comment for -static flag below, for more details. + func_append compile_command " $link_static_flag" + func_append finalize_command " $link_static_flag" + fi + continue + ;; -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ + -allow-undefined) + # FIXME: remove this flag sometime in the future. + func_fatal_error "\`-allow-undefined' must not be used because it is the default" + ;; -#ifndef PATH_SEPARATOR_2 -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) -#else /* PATH_SEPARATOR_2 */ -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) -#endif /* PATH_SEPARATOR_2 */ + -avoid-version) + avoid_version=yes + continue + ;; -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free ((void *) stale); stale = 0; } \ -} while (0) + -dlopen) + prev=dlfiles + continue + ;; -/* -DDEBUG is fairly common in CFLAGS. */ -#undef DEBUG -#if defined DEBUGWRAPPER -# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) -#else -# define DEBUG(format, ...) -#endif + -dlpreopen) + prev=dlprefiles + continue + ;; -const char *program_name = NULL; + -export-dynamic) + export_dynamic=yes + continue + ;; -void * xmalloc (size_t num); -char * xstrdup (const char *string); -const char * base_name (const char *name); -char * find_executable(const char *wrapper); -int check_executable(const char *path); -char * strendzap(char *str, const char *pat); -void lt_fatal (const char *message, ...); + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + func_fatal_error "more than one -exported-symbols argument is not allowed" + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; -int -main (int argc, char *argv[]) -{ - char **newargz; - int i; + -framework) + prev=framework + continue + ;; - program_name = (char *) xstrdup (base_name (argv[0])); - DEBUG("(main) argv[0] : %s\n",argv[0]); - DEBUG("(main) program_name : %s\n",program_name); - newargz = XMALLOC(char *, argc+2); -EOF + -inst-prefix-dir) + prev=inst_prefix + continue + ;; - cat >> $cwrappersource <> $cwrappersource <<"EOF" - newargz[1] = find_executable(argv[0]); - if (newargz[1] == NULL) - lt_fatal("Couldn't find %s", argv[0]); - DEBUG("(main) found exe at : %s\n",newargz[1]); - /* we know the script has the same name, without the .exe */ - /* so make sure newargz[1] doesn't end in .exe */ - strendzap(newargz[1],".exe"); - for (i = 1; i < argc; i++) - newargz[i+1] = xstrdup(argv[i]); - newargz[argc+1] = NULL; + -L*) + func_stripname '-L' '' "$arg" + dir=$func_stripname_result + if test -z "$dir"; then + if test "$#" -gt 0; then + func_fatal_error "require no space between \`-L' and \`$1'" + else + func_fatal_error "need path for \`-L' option" + fi + fi + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + test -z "$absdir" && \ + func_fatal_error "cannot determine absolute directory name of \`$dir'" + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + ::) dllsearchpath=$dir;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + ::) dllsearchpath=$testbindir;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + continue + ;; - for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" - return 127; -} + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) + compiler_flags="$compiler_flags $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + case "$new_inherited_linker_flags " in + *" $arg "*) ;; + * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;; + esac + continue + ;; -void * -xmalloc (size_t num) -{ - void * p = (void *) malloc (num); - if (!p) - lt_fatal ("Memory exhausted"); + -multi_module) + single_module="${wl}-multi_module" + continue + ;; - return p; -} + -no-fast-install) + fast_install=no + continue + ;; -char * -xstrdup (const char *string) -{ - return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL -; -} + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) + # The PATH hackery in wrapper scripts is required on Windows + # and Darwin in order for the loader to find any dlls it needs. + func_warning "\`-no-install' is ignored for $host" + func_warning "assuming \`-no-fast-install' instead" + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; -const char * -base_name (const char *name) -{ - const char *base; + -no-undefined) + allow_undefined=no + continue + ;; -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - /* Skip over the disk name in MSDOS pathnames. */ - if (isalpha ((unsigned char)name[0]) && name[1] == ':') - name += 2; -#endif + -objectlist) + prev=objectlist + continue + ;; - for (base = name; *name; name++) - if (IS_DIR_SEPARATOR (*name)) - base = name + 1; - return base; -} + -o) prev=output ;; -int -check_executable(const char * path) -{ - struct stat st; + -precious-files-regex) + prev=precious_regex + continue + ;; - DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); - if ((!path) || (!*path)) - return 0; + -release) + prev=release + continue + ;; - if ((stat (path, &st) >= 0) && - ( - /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ -#if defined (S_IXOTH) - ((st.st_mode & S_IXOTH) == S_IXOTH) || -#endif -#if defined (S_IXGRP) - ((st.st_mode & S_IXGRP) == S_IXGRP) || -#endif - ((st.st_mode & S_IXUSR) == S_IXUSR)) - ) - return 1; - else - return 0; -} + -rpath) + prev=rpath + continue + ;; -/* Searches for the full path of the wrapper. Returns - newly allocated full path name if found, NULL otherwise */ -char * -find_executable (const char* wrapper) -{ - int has_slash = 0; - const char* p; - const char* p_next; - /* static buffer for getcwd */ - char tmp[LT_PATHMAX + 1]; - int tmp_len; - char* concat_name; + -R) + prev=xrpath + continue + ;; - DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); + -R*) + func_stripname '-R' '' "$arg" + dir=$func_stripname_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + func_fatal_error "only absolute run-paths are allowed" + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; - if ((wrapper == NULL) || (*wrapper == '\0')) - return NULL; + -shared) + # The effects of -shared are defined in a previous loop. + continue + ;; - /* Absolute path? */ -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') - { - concat_name = xstrdup (wrapper); - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - } - else - { -#endif - if (IS_DIR_SEPARATOR (wrapper[0])) - { - concat_name = xstrdup (wrapper); - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - } -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - } -#endif + -shrext) + prev=shrext + continue + ;; - for (p = wrapper; *p; p++) - if (*p == '/') - { - has_slash = 1; - break; - } - if (!has_slash) - { - /* no slashes; search PATH */ - const char* path = getenv ("PATH"); - if (path != NULL) - { - for (p = path; *p; p = p_next) - { - const char* q; - size_t p_len; - for (q = p; *q; q++) - if (IS_PATH_SEPARATOR(*q)) - break; - p_len = q - p; - p_next = (*q == '\0' ? q : q + 1); - if (p_len == 0) - { - /* empty path: current directory */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - tmp_len = strlen(tmp); - concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - } - else - { - concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); - memcpy (concat_name, p, p_len); - concat_name[p_len] = '/'; - strcpy (concat_name + p_len + 1, wrapper); - } - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - } - } - /* not found in PATH; assume curdir */ - } - /* Relative path | not found in path: prepend cwd */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - tmp_len = strlen(tmp); - concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); + -static | -static-libtool-libs) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - return NULL; -} + -thread-safe) + thread_safe=yes + continue + ;; -char * -strendzap(char *str, const char *pat) -{ - size_t len, patlen; + -version-info) + prev=vinfo + continue + ;; - assert(str != NULL); - assert(pat != NULL); + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; - len = strlen(str); - patlen = strlen(pat); + -weak) + prev=weak + continue + ;; - if (patlen <= len) - { - str += len - patlen; - if (strcmp(str, pat) == 0) - *str = '\0'; - } - return str; -} + -Wc,*) + func_stripname '-Wc,' '' "$arg" + args=$func_stripname_result + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + func_quote_for_eval "$flag" + arg="$arg $wl$func_quote_for_eval_result" + compiler_flags="$compiler_flags $func_quote_for_eval_result" + done + IFS="$save_ifs" + func_stripname ' ' '' "$arg" + arg=$func_stripname_result + ;; -static void -lt_error_core (int exit_status, const char * mode, - const char * message, va_list ap) -{ - fprintf (stderr, "%s: %s: ", program_name, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); + -Wl,*) + func_stripname '-Wl,' '' "$arg" + args=$func_stripname_result + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + func_quote_for_eval "$flag" + arg="$arg $wl$func_quote_for_eval_result" + compiler_flags="$compiler_flags $wl$func_quote_for_eval_result" + linker_flags="$linker_flags $func_quote_for_eval_result" + done + IFS="$save_ifs" + func_stripname ' ' '' "$arg" + arg=$func_stripname_result + ;; - if (exit_status >= 0) - exit (exit_status); -} + -Xcompiler) + prev=xcompiler + continue + ;; -void -lt_fatal (const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, "FATAL", message, ap); - va_end (ap); -} -EOF - # we should really use a build-platform specific compiler - # here, but OTOH, the wrappers (shell script and this C one) - # are only useful if you want to execute the "real" binary. - # Since the "real" binary is built for $host, then this - # wrapper might as well be built for $host, too. - $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource - ;; - esac - $rm $output - trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 + -Xlinker) + prev=xlinker + continue + ;; - $echo > $output "\ -#! $SHELL + -XCClinker) + prev=xcclinker + continue + ;; -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. + # -msg_* for osf cc + -msg_*) + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + ;; -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='${SED} -e 1s/^X//' -sed_quote_subst='$sed_quote_subst' + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -r[0-9][0-9]* specifies the processor on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m*, -t[45]*, -txscale* pass through architecture-specific + # compiler args for GCC + # -F/path gives path to uninstalled frameworks, gcc on darwin + # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + func_append compile_command " $arg" + func_append finalize_command " $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + # Some other compiler flag. + -* | +*) + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + ;; -relink_command=\"$relink_command\" + *.$objext) + # A standard object. + objs="$objs $arg" + ;; -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variable: - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$echo are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - echo=\"$qecho\" - file=\"\$0\" - # Make sure echo works. - if test \"X\$1\" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift - elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then - # Yippee, \$echo works! - : + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if func_lalib_unsafe_p "$arg"; then + pic_object= + non_pic_object= + + # Read the .lo file + func_source "$arg" + + if test -z "$pic_object" || + test -z "$non_pic_object" || + test "$pic_object" = none && + test "$non_pic_object" = none; then + func_fatal_error "cannot find name of object for \`$arg'" + fi + + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir="$func_dirname_result" + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + func_append libobjs " $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + func_append non_pic_objects " $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + func_append non_pic_objects " $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if $opt_dry_run; then + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir="$func_dirname_result" + + func_lo2o "$arg" + pic_object=$xdir$objdir/$func_lo2o_result + non_pic_object=$xdir$func_lo2o_result + func_append libobjs " $pic_object" + func_append non_pic_objects " $non_pic_object" + else + func_fatal_error "\`$arg' is not a valid libtool object" + fi + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + func_append compile_command " $arg" + func_append finalize_command " $arg" + fi + done # argument parsing loop + + test -n "$prev" && \ + func_fatal_help "the \`$prevarg' option requires an argument" + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + func_append compile_command " $arg" + func_append finalize_command " $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + func_basename "$output" + outputname="$func_basename_result" + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` else - # Restart under the correct shell, and then maybe \$echo will work. - exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + shlib_search_path= fi - fi\ -" - $echo >> $output "\ + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - # Find the directory that this script lives in. - thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. + func_dirname "$output" "/" "" + output_objdir="$func_dirname_result$objdir" + # Create the object directory. + func_mkdir_p "$output_objdir" - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + # Determine the type of output + case $output in + "") + func_fatal_help "you must specify an output file" + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if $opt_duplicate_deps ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if $opt_duplicate_compiler_generated_deps; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= fi - file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` - done + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + notinst_path= # paths that contain not-installed libtool libraries + + case $linkmode in + lib) + passes="conv dlpreopen link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + + for pass in $passes; do + # The preopen pass in lib mode reverses $deplibs; put it back here + # so that -L comes before libs that need it for instance... + if test "$linkmode,$pass" = "lib,link"; then + ## FIXME: Find the place where the list is rebuilt in the wrong + ## order, and fix it there properly + tmp_deplibs= + for deplib in $deplibs; do + tmp_deplibs="$deplib $tmp_deplibs" + done + deplibs="$tmp_deplibs" + fi + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; + esac + fi + if test "$linkmode,$pass" = "lib,dlpreopen"; then + # Collect and forward deplibs of preopened libtool libs + for lib in $dlprefiles; do + # Ignore non-libtool-libs + dependency_libs= + case $lib in + *.la) func_source "$lib" ;; + esac + + # Collect preopened libtool deplibs, except any this library + # has declared as weak libs + for deplib in $dependency_libs; do + deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"` + case " $weak_libs " in + *" $deplib_base "*) ;; + *) deplibs="$deplibs $deplib" ;; + esac + done + done + libs="$dlprefiles" + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + compiler_flags="$compiler_flags $deplib" + if test "$linkmode" = lib ; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; + esac + fi + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + func_warning "\`-l' is ignored for archives/objects" + continue + fi + func_stripname '-l' '' "$deplib" + name=$func_stripname_result + if test "$linkmode" = lib; then + searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" + else + searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" + fi + for searchdir in $searchdirs; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if func_lalib_p "$lib"; then + library_names= + old_library= + func_source "$lib" + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + func_dirname "$lib" "" "." + ladir="$func_dirname_result" + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + *.ltframework) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + if test "$linkmode" = lib ; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; + esac + fi + fi + continue + ;; + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + func_stripname '-L' '' "$deplib" + newlib_search_path="$newlib_search_path $func_stripname_result" + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + func_stripname '-L' '' "$deplib" + newlib_search_path="$newlib_search_path $func_stripname_result" + ;; + *) + func_warning "\`-L' is ignored for archives/objects" + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + func_stripname '-R' '' "$deplib" + dir=$func_stripname_result + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + # Linking convenience modules into shared libraries is allowed, + # but linking other static libraries is non-portable. + case " $dlpreconveniencelibs " in + *" $deplib "*) ;; + *) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method; shift + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + $ECHO + $ECHO "*** Warning: Trying to link with static lib archive $deplib." + $ECHO "*** I have the capability to make that library automatically link in when" + $ECHO "*** you link to this library. But I can only do this if you have a" + $ECHO "*** shared version of the library, which you do not appear to have" + $ECHO "*** because the file extensions .$libext of this argument makes me believe" + $ECHO "*** that it is just a static archive that I should not use here." + else + $ECHO + $ECHO "*** Warning: Linking the shared library $output against the" + $ECHO "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + ;; + esac + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + + if test "$found" = yes || test -f "$lib"; then : + else + func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" + fi + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$lib" \ + || func_fatal_error "\`$lib' is not a valid libtool archive" + + func_dirname "$lib" "" "." + ladir="$func_dirname_result" + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + inherited_linker_flags= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + func_source "$lib" + + # Convert "-framework foo" to "foo.ltframework" + if test -n "$inherited_linker_flags"; then + tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'` + for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do + case " $new_inherited_linker_flags " in + *" $tmp_inherited_linker_flag "*) ;; + *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";; + esac + done + fi + dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + func_fatal_error "cannot find name of link library for \`$lib'" + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + elif test "$linkmode" != prog && test "$linkmode" != lib; then + func_fatal_error "\`$lib' is not a convenience library" + fi + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if $opt_duplicate_deps ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + func_fatal_error "cannot find name of link library for \`$lib'" + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + func_fatal_error "cannot -dlopen a convenience library: \`$lib'" + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + func_warning "cannot determine absolute directory name of \`$ladir'" + func_warning "passing it literally to the linker, although it might fail" + abs_ladir="$ladir" + fi + ;; + esac + func_basename "$lib" + laname="$func_basename_result" + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + func_warning "library \`$lib' was moved." + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi + fi # $installed = yes + func_stripname 'lib' '.la' "$laname" + name=$func_stripname_result + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir" && test "$linkmode" = prog; then + func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Keep a list of preopened convenience libraries to check + # that they are being used correctly in the link pass. + test -z "$libdir" && \ + dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) func_stripname '-L' '' "$deplib" + newlib_search_path="$newlib_search_path $func_stripname_result" + ;; + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if $opt_duplicate_deps ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { { test "$prefer_static_libs" = no || + test "$prefer_static_libs,$installed" = "built,yes"; } || + test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath:" in + *"$absdir:"*) ;; + *) temp_rpath="$temp_rpath$absdir:" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + case $host in + *cygwin* | *mingw* | *cegcc*) + # No point in relinking DLLs because paths are not encoded + notinst_deplibs="$notinst_deplibs $lib" + need_relink=no + ;; + *) + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + ;; + esac + # This is a shared library + + # Warn about portability, can't link against -module's on some + # systems (darwin). Don't bleat about dlopened modules though! + dlopenmodule="" + for dlpremoduletest in $dlprefiles; do + if test "X$dlpremoduletest" = "X$lib"; then + dlopenmodule="$dlpremoduletest" + break + fi + done + if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then + $ECHO + if test "$linkmode" = prog; then + $ECHO "*** Warning: Linking the executable $output against the loadable module" + else + $ECHO "*** Warning: Linking the shared library $output against the loadable module" + fi + $ECHO "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + shift + realname="$1" + shift + libname=`eval "\\$ECHO \"$libname_spec\""` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw* | *cegcc*) + func_arith $current - $age + major=$func_arith_result + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + func_basename "$soroot" + soname="$func_basename_result" + func_stripname 'lib' '.dll' "$soname" + newlib=libimp-$func_stripname_result.a + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + func_verbose "extracting exported symbol list from \`$soname'" + func_execute_cmds "$extract_expsyms_cmds" 'exit $?' + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + func_verbose "generating import library for \`$soname'" + func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a (non-dlopened) module then we can not + # link against it, someone is ignoring the earlier warnings + if /usr/bin/file -L $add 2> /dev/null | + $GREP ": [^:]* bundle" >/dev/null ; then + if test "X$dlopenmodule" != "X$lib"; then + $ECHO "*** Warning: lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $ECHO + $ECHO "*** And there doesn't seem to be a static archive available" + $ECHO "*** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + elif test -n "$old_library"; then + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes && + test "$hardcode_direct_absolute" = no; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + func_fatal_configuration "unsupported hardcode properties" + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && + test "$hardcode_minus_L" != yes && + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes && + test "$hardcode_direct_absolute" = no; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + $ECHO + $ECHO "*** Warning: This system can not link to static lib archive $lib." + $ECHO "*** I have the capability to make that library automatically link in when" + $ECHO "*** you link to this library. But I can only do this if you have a" + $ECHO "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + $ECHO "*** But as you try to build a module library, libtool will still create " + $ECHO "*** a static module, that should work as long as the dlopening application" + $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + $ECHO + $ECHO "*** However, this would only work if libtool was able to extract symbol" + $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could" + $ECHO "*** not find such a program. So, this module is probably useless." + $ECHO "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) func_stripname '-R' '' "$libdir" + temp_xrpath=$func_stripname_result + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if $opt_duplicate_deps ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + func_dirname "$deplib" "" "." + dir="$func_dirname_result" + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + func_warning "cannot determine absolute directory name of \`$dir'" + absdir="$dir" + fi + ;; + esac + if $GREP "^installed=no" $deplib > /dev/null; then + case $host in + *-*-darwin*) + depdepl= + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$absdir/$objdir/$depdepl" ; then + depdepl="$absdir/$objdir/$depdepl" + darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + if test -z "$darwin_install_name"; then + darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + fi + compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" + linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}" + path= + fi + fi + ;; + *) + path="-L$absdir/$objdir" + ;; + esac + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + test -z "$libdir" && \ + func_fatal_error "\`$deplib' is not a valid libtool archive" + test "$absdir" != "$libdir" && \ + func_warning "\`$deplib' seems to be moved" + + path="-L$absdir" + fi + ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + if test "$pass" = link; then + if test "$linkmode" = "prog"; then + compile_deplibs="$new_inherited_linker_flags $compile_deplibs" + finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" + else + compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + fi + fi + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + fi + if test "$linkmode" = prog || test "$linkmode" = lib; then + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + func_warning "\`-dlopen' is ignored for archives" + fi + + case " $deplibs" in + *\ -l* | *\ -L*) + func_warning "\`-l' and \`-L' are ignored for archives" ;; + esac + + test -n "$rpath" && \ + func_warning "\`-rpath' is ignored for archives" + + test -n "$xrpath" && \ + func_warning "\`-R' is ignored for archives" + + test -n "$vinfo" && \ + func_warning "\`-version-info/-version-number' is ignored for archives" + + test -n "$release" && \ + func_warning "\`-release' is ignored for archives" + + test -n "$export_symbols$export_symbols_regex" && \ + func_warning "\`-export-symbols' is ignored for archives" + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + func_stripname 'lib' '.la' "$outputname" + name=$func_stripname_result + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + test "$module" = no && \ + func_fatal_help "libtool library \`$output' must begin with \`lib'" + + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + func_stripname '' '.la' "$outputname" + name=$func_stripname_result + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + func_stripname '' '.la' "$outputname" + libname=$func_stripname_result + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" + else + $ECHO + $ECHO "*** Warning: Linking the shared library $output against the non-libtool" + $ECHO "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi + + test "$dlself" != no && \ + func_warning "\`-dlopen self' is ignored for libtool libraries" + + set dummy $rpath + shift + test "$#" -gt 1 && \ + func_warning "ignoring multiple \`-rpath's for a libtool library" + + install_libdir="$1" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + test -n "$vinfo" && \ + func_warning "\`-version-info/-version-number' is ignored for convenience libraries" + + test -n "$release" && \ + func_warning "\`-release' is ignored for convenience libraries" + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + shift + IFS="$save_ifs" + + test -n "$7" && \ + func_fatal_help "too many parameters to \`-version-info'" + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$1" + number_minor="$2" + number_revision="$3" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows|none) + func_arith $number_major + $number_minor + current=$func_arith_result + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + func_arith $number_major + $number_minor + current=$func_arith_result + age="$number_minor" + revision="$number_minor" + lt_irix_increment=no + ;; + esac + ;; + no) + current="$1" + revision="$2" + age="$3" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "CURRENT \`$current' must be a nonnegative integer" + func_fatal_error "\`$vinfo' is not valid version information" + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "REVISION \`$revision' must be a nonnegative integer" + func_fatal_error "\`$vinfo' is not valid version information" + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "AGE \`$age' must be a nonnegative integer" + func_fatal_error "\`$vinfo' is not valid version information" + ;; + esac + + if test "$age" -gt "$current"; then + func_error "AGE \`$age' is greater than the current interface number \`$current'" + func_fatal_error "\`$vinfo' is not valid version information" + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + func_arith $current - $age + major=.$func_arith_result + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + func_arith $current + 1 + minor_current=$func_arith_result + xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current" + ;; + + irix | nonstopux) + if test "X$lt_irix_increment" = "Xno"; then + func_arith $current - $age + else + func_arith $current - $age + 1 + fi + major=$func_arith_result + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + func_arith $revision - $loop + iface=$func_arith_result + func_arith $loop - 1 + loop=$func_arith_result + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + func_arith $current - $age + major=.$func_arith_result + versuffix="$major.$age.$revision" + ;; + + osf) + func_arith $current - $age + major=.$func_arith_result + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + func_arith $current - $loop + iface=$func_arith_result + func_arith $loop - 1 + loop=$func_arith_result + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + qnx) + major=".$current" + versuffix=".$current" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + func_arith $current - $age + major=$func_arith_result + versuffix="-$major" + ;; + + *) + func_fatal_configuration "unknown library version type \`$version_type'" + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + func_warning "undefined symbols not allowed in $host shared libraries" + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + + fi + + func_generate_dlsyms "$libname" "$libname" "yes" + libobjs="$libobjs $symfileobj" + test "X$libobjs" = "X " && libobjs= + + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$ECHO "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext | *.gcno) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + removelist="$removelist $p" + ;; + *) ;; + esac + done + test -n "$removelist" && \ + func_show_eval "${RM}r \$removelist" + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + #for path in $notinst_path; do + # lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"` + # deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"` + # dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"` + #done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs System.ltframework" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $opt_dry_run || $RM conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null | + $GREP " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | + $SED -e 10q | + $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $ECHO + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." + $ECHO "*** I have the capability to make that library automatically link in when" + $ECHO "*** you link to this library. But I can only do this if you have a" + $ECHO "*** shared version of the library, which you do not appear to have" + $ECHO "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $ECHO "*** with $libname but no candidates were found. (...for file magic test)" + else + $ECHO "*** with $libname and none of the candidates passed a file format test" + $ECHO "*** using a file magic. Last file checked: $potlib" + fi + fi + ;; + *) + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method; shift + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + for a_deplib in $deplibs; do + case $a_deplib in + -l*) + func_stripname -l '' "$a_deplib" + name=$func_stripname_result + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval "\\$ECHO \"$libname_spec\""` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \ + $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $ECHO + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." + $ECHO "*** I have the capability to make that library automatically link in when" + $ECHO "*** you link to this library. But I can only do this if you have a" + $ECHO "*** shared version of the library, which you do not appear to have" + $ECHO "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $ECHO "*** with $libname and none of the candidates passed a file format test" + $ECHO "*** using a regex pattern. Last file checked: $potlib" + fi + fi + ;; + *) + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \ + -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"` + done + fi + if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' | + $GREP . >/dev/null; then + $ECHO + if test "X$deplibs_check_method" = "Xnone"; then + $ECHO "*** Warning: inter-library dependencies are not supported in this platform." + else + $ECHO "*** Warning: inter-library dependencies are not known to be supported." + fi + $ECHO "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library with the System framework + newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + $ECHO + $ECHO "*** Warning: libtool could not satisfy all declared inter-library" + $ECHO "*** dependencies of module $libname. Therefore, libtool will create" + $ECHO "*** a static module, that should work as long as the dlopening" + $ECHO "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + $ECHO + $ECHO "*** However, this would only work if libtool was able to extract symbol" + $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could" + $ECHO "*** not find such a program. So, this module is probably useless." + $ECHO "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + $ECHO "*** The inter-library dependencies that have been dropped here will be" + $ECHO "*** automatically added whenever a program is linked with this library" + $ECHO "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + $ECHO + $ECHO "*** Since this library must not contain undefined symbols," + $ECHO "*** because either the platform does not support them or" + $ECHO "*** it was explicitly requested with -no-undefined," + $ECHO "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + case $host in + *-*-darwin*) + newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + ;; + esac + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + deplibs="$new_libs" + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi - if test "$fast_install" = yes; then - $echo >> $output "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + shift + realname="$1" + shift - if test ! -f \"\$progdir/\$program\" || \\ - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi - file=\"\$\$-\$program\" + lib="$output_objdir/$realname" + linknames= + for link + do + linknames="$linknames $link" + done - if test ! -d \"\$progdir\"; then - $mkdir \"\$progdir\" - else - $rm \"\$progdir/\$file\" - fi" + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + test "X$libobjs" = "X " && libobjs= - $echo >> $output "\ + delfiles= + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" + export_symbols="$output_objdir/$libname.uexp" + delfiles="$delfiles $export_symbols" + fi + + orig_export_symbols= + case $host_os in + cygwin* | mingw* | cegcc*) + if test -n "$export_symbols" && test -z "$export_symbols_regex"; then + # exporting using user supplied symfile + if test "x`$SED 1q $export_symbols`" != xEXPORTS; then + # and it's NOT already a .def file. Must figure out + # which of the given symbols are data symbols and tag + # them as such. So, trigger use of export_symbols_cmds. + # export_symbols gets reassigned inside the "prepare + # the list of exported symbols" if statement, so the + # include_expsyms logic still works. + orig_export_symbols="$export_symbols" + export_symbols= + always_export_symbols=yes + fi + fi + ;; + esac - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - $echo \"\$relink_command_output\" >&2 - $rm \"\$progdir/\$file\" - exit $EXIT_FAILURE - fi - fi + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + func_verbose "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $opt_dry_run || $RM $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + func_len " $cmd" + len=$func_len_result + if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + func_show_eval "$cmd" 'exit $?' + skipped_export=false + else + # The command line is too long to execute in one step. + func_verbose "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' + fi + fi + fi - $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $rm \"\$progdir/\$program\"; - $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $rm \"\$progdir/\$file\" - fi" - else - $echo >> $output "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" + if test -n "$export_symbols" && test -n "$include_expsyms"; then + tmp_export_symbols="$export_symbols" + test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" + $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"' + fi + + if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then + # The given exports_symbols file has to be filtered, so filter it. + func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" + # FIXME: $output_objdir/$libname.filter potentially contains lots of + # 's' commands which not all seds can handle. GNU sed should be fine + # though. Also, the filter scales superlinearly with the number of + # global variables. join(1) would be nice here, but unfortunately + # isn't a blessed tool. + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter + delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" + export_symbols=$output_objdir/$libname.def + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi - $echo >> $output "\ + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" - if test -f \"\$progdir/\$program\"; then" + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec" && + test "$compiler_needs_object" = yes && + test -z "$libobjs"; then + # extract the archives, so we have objects to list. + # TODO: could optimize this to just extract one archive. + whole_archive_flag_spec= + fi + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + test "X$libobjs" = "X " && libobjs= + else + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" - # Export our shlibpath_var if we have one. - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $echo >> $output "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + func_extract_archives $gentop $convenience + libobjs="$libobjs $func_extract_archives_result" + test "X$libobjs" = "X " && libobjs= + fi + fi - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi - export $shlibpath_var -" + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? fi - # fixup the dll searchpath if we need to. - if test -n "$dllsearchpath"; then - $echo >> $output "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi fi - $echo >> $output "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2*) - $echo >> $output "\ - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} -" - ;; + if test "X$skipped_export" != "X:" && + func_len " $test_cmds" && + len=$func_len_result && + test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise + # or, if using GNU ld and skipped_export is not :, use a linker + # script. - *) - $echo >> $output "\ - exec \"\$progdir/\$program\" \${1+\"\$@\"} -" - ;; - esac - $echo >> $output "\ - \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" - exit $EXIT_FAILURE - fi - else - # The program doesn't exist. - \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 - \$echo \"This script is just a wrapper for \$program.\" 1>&2 - $echo \"See the $PACKAGE documentation for more information.\" 1>&2 - exit $EXIT_FAILURE - fi -fi\ -" - chmod +x $output - fi - exit $EXIT_SUCCESS - ;; - esac + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + output_la=`$ECHO "X$output" | $Xsed -e "$basename"` - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + last_robj= + k=1 - if test "$build_libtool_libs" = convenience; then - oldobjs="$libobjs_save" - addlibs="$convenience" - build_libtool_libs=no - else - if test "$build_libtool_libs" = module; then - oldobjs="$libobjs_save" - build_libtool_libs=no - else - oldobjs="$old_deplibs $non_pic_objects" - fi - addlibs="$old_convenience" - fi + if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then + output=${output_objdir}/${output_la}.lnkscript + func_verbose "creating GNU ld script: $output" + $ECHO 'INPUT (' > $output + for obj in $save_libobjs + do + $ECHO "$obj" >> $output + done + $ECHO ')' >> $output + delfiles="$delfiles $output" + elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then + output=${output_objdir}/${output_la}.lnk + func_verbose "creating linker input file list: $output" + : > $output + set x $save_libobjs + shift + firstobj= + if test "$compiler_needs_object" = yes; then + firstobj="$1 " + shift + fi + for obj + do + $ECHO "$obj" >> $output + done + delfiles="$delfiles $output" + output=$firstobj\"$file_list_spec$output\" + else + if test -n "$save_libobjs"; then + func_verbose "creating reloadable object files..." + output=$output_objdir/$output_la-${k}.$objext + eval test_cmds=\"$reload_cmds\" + func_len " $test_cmds" + len0=$func_len_result + len=$len0 + + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + func_len " $obj" + func_arith $len + $func_len_result + len=$func_arith_result + if test "X$objlist" = X || + test "$len" -lt "$max_cmd_len"; then + func_append objlist " $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + func_arith $k + 1 + k=$func_arith_result + output=$output_objdir/$output_la-${k}.$objext + objlist=$obj + func_len " $last_robj" + func_arith $len0 + $func_len_result + len=$func_arith_result + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + if test -n "$last_robj"; then + eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" + fi + delfiles="$delfiles $output" + + else + output= + fi - if test -n "$addlibs"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" + if ${skipped_export-false}; then + func_verbose "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $opt_dry_run || $RM $export_symbols + libobjs=$output + # Append the command to create the export file. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" + if test -n "$last_robj"; then + eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" + fi + fi - func_extract_archives $gentop $addlibs - oldobjs="$oldobjs $func_extract_archives_result" - fi + test -n "$save_libobjs" && + func_verbose "creating a temporary reloadable object file: $output" - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then - cmds=$old_archive_from_new_cmds - else - # POSIX demands no paths to be encoded in archives. We have - # to avoid creating archives with duplicate basenames if we - # might have to extract them afterwards, e.g., when creating a - # static archive out of a convenience library, or when linking - # the entirety of a libtool archive into another (currently - # not supported by libtool). - if (for obj in $oldobjs - do - $echo "X$obj" | $Xsed -e 's%^.*/%%' - done | sort | sort -uc >/dev/null 2>&1); then - : - else - $echo "copying selected object files to avoid basename conflicts..." + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $opt_silent || { + func_quote_for_expand "$cmd" + eval "func_echo $func_quote_for_expand_result" + } + $opt_dry_run || eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + ( cd "$output_objdir" && \ + $RM "${realname}T" && \ + $MV "${realname}U" "$realname" ) + fi - if test -z "$gentop"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" + exit $lt_exit + } + done + IFS="$save_ifs" - $show "${rm}r $gentop" - $run ${rm}r "$gentop" - $show "$mkdir $gentop" - $run $mkdir "$gentop" - exit_status=$? - if test "$exit_status" -ne 0 && test ! -d "$gentop"; then - exit $exit_status + if test -n "$export_symbols_regex" && ${skipped_export-false}; then + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi - save_oldobjs=$oldobjs - oldobjs= - counter=1 - for obj in $save_oldobjs - do - objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` - case " $oldobjs " in - " ") oldobjs=$obj ;; - *[\ /]"$objbase "*) - while :; do - # Make sure we don't pick an alternate name that also - # overlaps. - newobj=lt$counter-$objbase - counter=`expr $counter + 1` - case " $oldobjs " in - *[\ /]"$newobj "*) ;; - *) if test ! -f "$gentop/$newobj"; then break; fi ;; - esac - done - $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" - $run ln "$obj" "$gentop/$newobj" || - $run cp "$obj" "$gentop/$newobj" - oldobjs="$oldobjs $gentop/$newobj" - ;; - *) oldobjs="$oldobjs $obj" ;; - esac - done - fi + if ${skipped_export-false}; then + if test -n "$export_symbols" && test -n "$include_expsyms"; then + tmp_export_symbols="$export_symbols" + test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" + $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"' + fi + + if test -n "$orig_export_symbols"; then + # The given exports_symbols file has to be filtered, so filter it. + func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" + # FIXME: $output_objdir/$libname.filter potentially contains lots of + # 's' commands which not all seds can handle. GNU sed should be fine + # though. Also, the filter scales superlinearly with the number of + # global variables. join(1) would be nice here, but unfortunately + # isn't a blessed tool. + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter + delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" + export_symbols=$output_objdir/$libname.def + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols + fi + fi - eval cmds=\"$old_archive_cmds\" + libobjs=$output + # Restore the value of output. + output=$save_output - if len=`expr "X$cmds" : ".*"` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - $echo "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + test "X$libobjs" = "X " && libobjs= + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - for obj in $save_oldobjs - do - oldobjs="$objlist $obj" - objlist="$objlist $obj" - eval test_cmds=\"$old_archive_cmds\" - if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && - test "$len" -le "$max_cmd_len"; then - : + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj" ; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" - objlist= + cmds=$module_cmds fi - done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test "X$oldobjs" = "X" ; then - eval cmds=\"\$concat_cmds\" else - eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi fi fi - fi - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - eval cmd=\"$cmd\" - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - done - if test -n "$generated"; then - $show "${rm}r$generated" - $run ${rm}r$generated - fi + if test -n "$delfiles"; then + # Append the command to remove temporary files to $cmds. + eval cmds=\"\$cmds~\$RM $delfiles\" + fi - # Now create the libtool archive. - case $output in - *.la) - old_library= - test "$build_old_libs" = yes && old_library="$libname.$libext" - $show "creating $output" + # Add any objects from preloaded convenience libraries + if test -n "$dlprefiles"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` - relink_command="$var=\"$var_value\"; export $var; $relink_command" + func_extract_archives $gentop $dlprefiles + libobjs="$libobjs $func_extract_archives_result" + test "X$libobjs" = "X " && libobjs= fi - done - # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` - if test "$hardcode_automatic" = yes ; then - relink_command= - fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $opt_silent || { + func_quote_for_expand "$cmd" + eval "func_echo $func_quote_for_expand_result" + } + $opt_dry_run || eval "$cmd" || { + lt_exit=$? - # Only create the output if not a dry run. - if test -z "$run"; then - for installed in no yes; do - if test "$installed" = yes; then - if test -z "$install_libdir"; then - break + # Restore the uninstalled library and exit + if test "$mode" = relink; then + ( cd "$output_objdir" && \ + $RM "${realname}T" && \ + $MV "${realname}U" "$realname" ) fi - output="$output_objdir/$outputname"i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - newdependency_libs="$newdependency_libs $libdir/$name" - ;; - *) newdependency_libs="$newdependency_libs $deplib" ;; - esac - done - dependency_libs="$newdependency_libs" - newdlfiles= - for lib in $dlfiles; do - name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - if test -z "$libdir"; then - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - newdlfiles="$newdlfiles $libdir/$name" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - if test -z "$libdir"; then - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - newdlprefiles="$newdlprefiles $libdir/$name" - done - dlprefiles="$newdlprefiles" - else - newdlfiles= - for lib in $dlfiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlfiles="$newdlfiles $abs" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlprefiles="$newdlprefiles $abs" - done - dlprefiles="$newdlprefiles" - fi - $rm $output - # place dlname in correct position for cygwin - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; - esac - $echo > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$tdlname' -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision + exit $lt_exit + } + done + IFS="$save_ifs" -# Is this an already installed library? -installed=$installed + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? -# Should we warn about portability when linking against -modules? -shouldnotlink=$module + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + func_show_eval '${RM}r "$gentop"' + fi + fi -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' + exit $EXIT_SUCCESS + fi -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test "$installed" = no && test "$need_relink" = yes; then - $echo >> $output "\ -relink_command=\"$relink_command\"" + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' fi done - fi - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" - $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? - ;; - esac - exit $EXIT_SUCCESS - ;; - - # libtool install mode - install) - modename="$modename: install" - - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || - # Allow the use of GNU shtool's install command. - $echo "X$nonopt" | grep shtool > /dev/null; then - # Aesthetically quote it. - arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - install_prog="$arg " - arg="$1" - shift - else - install_prog= - arg=$nonopt - fi - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi ;; - esac - install_prog="$install_prog$arg" - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=no - stripme= - for arg - do - if test -n "$dest"; then - files="$files $dest" - dest=$arg - continue + obj) + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + func_warning "\`-dlopen' is ignored for objects" fi - case $arg in - -d) isdir=yes ;; - -f) - case " $install_prog " in - *[\\\ /]cp\ *) ;; - *) prev=$arg ;; - esac - ;; - -g | -m | -o) prev=$arg ;; - -s) - stripme=" -s" - continue - ;; - -*) + case " $deplibs" in + *\ -l* | *\ -L*) + func_warning "\`-l' and \`-L' are ignored for objects" ;; + esac + + test -n "$rpath" && \ + func_warning "\`-rpath' is ignored for objects" + + test -n "$xrpath" && \ + func_warning "\`-R' is ignored for objects" + + test -n "$vinfo" && \ + func_warning "\`-version-info' is ignored for objects" + + test -n "$release" && \ + func_warning "\`-release' is ignored for objects" + + case $output in + *.lo) + test -n "$objs$old_deplibs" && \ + func_fatal_error "cannot build library object \`$output' from non-libtool objects" + + libobj=$output + func_lo2o "$libobj" + obj=$func_lo2o_result ;; *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - prev= - else - dest=$arg - continue - fi + libobj= + obj="$output" ;; esac - # Aesthetically quote the argument. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - install_prog="$install_prog $arg" - done + # Delete the old objects. + $opt_dry_run || $RM $obj $libobj - if test -z "$install_prog"; then - $echo "$modename: you must specify an install program" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec and hope we can get by with + # turning comma into space.. + wl= - if test -n "$prev"; then - $echo "$modename: the \`$prev' option requires an argument" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" + reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" - if test -z "$files"; then - if test -z "$dest"; then - $echo "$modename: no file or destination specified" 1>&2 - else - $echo "$modename: you must specify a destination" 1>&2 + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi fi - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - # Strip any trailing slash from the destination. - dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test - # Check to see that the destination is a directory. - test -d "$dest" && isdir=yes - if test "$isdir" = yes; then - destdir="$dest" - destname= - else - destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` - test "X$destdir" = "X$dest" && destdir=. - destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + output="$obj" + func_execute_cmds "$reload_cmds" 'exit $?' - # Not a directory, so check to see that there is only one file specified. - set dummy $files - if test "$#" -gt 2; then - $echo "$modename: \`$dest' is not a directory" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + exit $EXIT_SUCCESS fi - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - esac - done + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + func_execute_cmds "$reload_cmds" 'exit $?' + fi + + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + exit $EXIT_SUCCESS ;; - esac - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" + prog) + case $host in + *cygwin*) func_stripname '' '.exe' "$output" + output=$func_stripname_result.exe;; + esac + test -n "$vinfo" && \ + func_warning "\`-version-info' is ignored for programs" - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do + test -n "$release" && \ + func_warning "\`-release' is ignored for programs" - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - staticlibs="$staticlibs $file" + test "$preload" = yes \ + && test "$dlopen_support" = unknown \ + && test "$dlopen_self" = unknown \ + && test "$dlopen_self_static" = unknown && \ + func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` + finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` ;; + esac - *.la) - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE + case $host in + *-*-darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + # But is supposedly fixed on 10.4 or later (yay!). + if test "$tagname" = CXX ; then + case ${MACOSX_DEPLOYMENT_TARGET-10.0} in + 10.[0123]) + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + ;; + esac fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + ;; + esac - library_names= - old_library= - relink_command= - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) current_libdirs="$current_libdirs $libdir" ;; + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) future_libdirs="$future_libdirs $libdir" ;; + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; esac - fi + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + compile_deplibs="$new_libs" - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ - test "X$dir" = "X$file/" && dir= - dir="$dir$objdir" - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - if test "$inst_prefix_dir" = "$destdir"; then - $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 - exit $EXIT_FAILURE - fi + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi else - relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + ::) dllsearchpath=$libdir;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + ::) dllsearchpath=$testbindir;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" - $echo "$modename: warning: relinking \`$file'" 1>&2 - $show "$relink_command" - if $run eval "$relink_command"; then : + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - exit $EXIT_FAILURE + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" - # See the names of the shared library. - set dummy $library_names - if test -n "$2"; then - realname="$2" - shift - shift + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi - srcname="$realname" - test -n "$relink_command" && srcname="$realname"T + func_generate_dlsyms "$outputname" "@PROGRAM@" "no" - # Install the shared library and build the symlinks. - $show "$install_prog $dir/$srcname $destdir/$realname" - $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? - if test -n "$stripme" && test -n "$striplib"; then - $show "$striplib $destdir/$realname" - $run eval "$striplib $destdir/$realname" || exit $? - fi + # template prelinking step + if test -n "$prelink_cmds"; then + func_execute_cmds "$prelink_cmds" 'exit $?' + fi - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - # Try `ln -sf' first, because the `ln' binary might depend on - # the symlink we replace! Solaris /bin/ln does not understand -f, - # so we also need to try rm && ln -s. - for linkname - do - if test "$linkname" != "$realname"; then - $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" - $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" - fi - done - fi + wrappers_required=yes + case $host in + *cygwin* | *mingw* ) + if test "$build_libtool_libs" != yes; then + wrappers_required=no + fi + ;; + *cegcc) + # Disable wrappers for cegcc, we are cross compiling anyway. + wrappers_required=no + ;; + *) + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + wrappers_required=no + fi + ;; + esac + if test "$wrappers_required" = no; then + # Replace the output file specification. + compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" - # Do each command in the postinstall commands. - lib="$destdir/$realname" - cmds=$postinstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' - fi + # We have no uninstalled library dependencies, so finalize right now. + exit_status=0 + func_show_eval "$link_command" 'exit_status=$?' - exit $lt_exit - } - done - IFS="$save_ifs" + # Delete the generated files. + if test -f "$output_objdir/${outputname}S.${objext}"; then + func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' fi - # Install the pseudo-library for information purposes. - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - instname="$dir/$name"i - $show "$install_prog $instname $destdir/$name" - $run eval "$install_prog $instname $destdir/$name" || exit $? - - # Maybe install the static library, too. - test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" - ;; + exit $exit_status + fi - *.lo) - # Install (i.e. copy) a libtool object. + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` - ;; - *.$objext) - staticdest="$destfile" - destfile= - ;; - *) - $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - # Install the libtool object if requested. - if test -n "$destfile"; then - $show "$install_prog $file $destfile" - $run eval "$install_prog $file $destfile" || exit $? + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " fi + fi - # Install the old object if enabled. - if test "$build_old_libs" = yes; then - # Deduce the name of the old-style object file. - staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` - - $show "$install_prog $staticobj $staticdest" - $run eval "$install_prog \$staticobj \$staticdest" || exit $? - fi + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $opt_dry_run || $RM $output + # Link the executable and exit + func_show_eval "$link_command" 'exit $?' exit $EXIT_SUCCESS - ;; + fi - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + func_warning "this platform does not like uninstalled shared libraries" + func_warning "\`$output' will be relinked during installation" + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" fi + fi - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext="" - case $file in - *.exe) - if test ! -f "$file"; then - file=`$echo $file|${SED} 's,.exe$,,'` - stripped_ext=".exe" - fi - ;; - esac - - # Do a test to see if this is really a libtool program. - case $host in - *cygwin*|*mingw*) - wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` - ;; - *) - wrapper=$file - ;; - esac - if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then - notinst_deplibs= - relink_command= - - # Note that it is not necessary on cygwin/mingw to append a dot to - # foo even if both foo and FILE.exe exist: automatic-append-.exe - # behavior happens only for exec(3), not for open(2)! Also, sourcing - # `FILE.' does not work on cygwin managed mounts. - # - # If there is no directory component, then add one. - case $wrapper in - */* | *\\*) . ${wrapper} ;; - *) . ./${wrapper} ;; - esac - - # Check the variables that should have been set. - if test -z "$notinst_deplibs"; then - $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 - exit $EXIT_FAILURE - fi + # Replace the output file specification. + link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - finalize=yes - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - # If there is no directory component, then add one. - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - fi - libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test - if test -n "$libdir" && test ! -f "$libfile"; then - $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 - finalize=no - fi - done + # Delete the old output files. + $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname - relink_command= - # Note that it is not necessary on cygwin/mingw to append a dot to - # foo even if both foo and FILE.exe exist: automatic-append-.exe - # behavior happens only for exec(3), not for open(2)! Also, sourcing - # `FILE.' does not work on cygwin managed mounts. - # - # If there is no directory component, then add one. - case $wrapper in - */* | *\\*) . ${wrapper} ;; - *) . ./${wrapper} ;; - esac + func_show_eval "$link_command" 'exit $?' - outputname= - if test "$fast_install" = no && test -n "$relink_command"; then - if test "$finalize" = yes && test -z "$run"; then - tmpdir=`func_mktempdir` - file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` - outputname="$tmpdir/$file" - # Replace the output file specification. - relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + # Now create the wrapper script. + func_verbose "creating $output" - $show "$relink_command" - if $run eval "$relink_command"; then : - else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - ${rm}r "$tmpdir" - continue - fi - file="$outputname" - else - $echo "$modename: warning: cannot relink \`$file'" 1>&2 - fi + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" else - # Install the binary that we compiled earlier. - file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + func_quote_for_eval "$var_value" + relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi - fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"` + fi - # remove .exe since cygwin /usr/bin/install will append another - # one anyway - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` - ;; - esac - ;; + # Quote $ECHO for shipping. + if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if not in dry run mode. + $opt_dry_run || { + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) func_stripname '' '.exe' "$output" + output=$func_stripname_result ;; esac - $show "$install_prog$stripme $file $destfile" - $run eval "$install_prog\$stripme \$file \$destfile" || exit $? - test -n "$outputname" && ${rm}r "$tmpdir" - ;; - esac - done + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + func_stripname '' '.exe' "$outputname" + outputname=$func_stripname_result ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + func_dirname_and_basename "$output" "" "." + output_name=$func_basename_result + output_path=$func_dirname_result + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $RM $cwrappersource $cwrapper + trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + func_emit_cwrapperexe_src > $cwrappersource + + # The wrapper executable is built using the $host compiler, + # because it contains $host paths and files. If cross- + # compiling, it, like the target executable, must be + # executed on the $host or under an emulation environment. + $opt_dry_run || { + $LTCC $LTCFLAGS -o $cwrapper $cwrappersource + $STRIP $cwrapper + } - for file in $staticlibs; do - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + # Now, create the wrapper script for func_source use: + func_ltwrapper_scriptname $cwrapper + $RM $func_ltwrapper_scriptname_result + trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 + $opt_dry_run || { + # note: this script will not be executed, so do not chmod. + if test "x$build" = "x$host" ; then + $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result + else + func_emit_wrapper no > $func_ltwrapper_scriptname_result + fi + } + ;; + * ) + $RM $output + trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 - # Set up the ranlib parameters. - oldlib="$destdir/$name" + func_emit_wrapper no > $output + chmod +x $output + ;; + esac + } + exit $EXIT_SUCCESS + ;; + esac - $show "$install_prog $file $oldlib" - $run eval "$install_prog \$file \$oldlib" || exit $? + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do - if test -n "$stripme" && test -n "$old_striplib"; then - $show "$old_striplib $oldlib" - $run eval "$old_striplib $oldlib" || exit $? + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save $symfileobj" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + if test "$preload" = yes && test -f "$symfileobj"; then + oldobjs="$oldobjs $symfileobj" + fi + fi + addlibs="$old_convenience" fi - # Do each command in the postinstall commands. - cmds=$old_postinstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - done + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" - if test -n "$future_libdirs"; then - $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 - fi + func_extract_archives $gentop $addlibs + oldobjs="$oldobjs $func_extract_archives_result" + fi - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - test -n "$run" && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' - else - exit $EXIT_SUCCESS - fi - ;; + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else - # libtool finish mode - finish) - modename="$modename: finish" - libdirs="$nonopt" - admincmds= + # Add any objects from preloaded convenience libraries + if test -n "$dlprefiles"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for dir - do - libdirs="$libdirs $dir" - done + func_extract_archives $gentop $dlprefiles + oldobjs="$oldobjs $func_extract_archives_result" + fi - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - cmds=$finish_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || admincmds="$admincmds - $cmd" + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + func_basename "$obj" + $ECHO "$func_basename_result" + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $ECHO "copying selected object files to avoid basename conflicts..." + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + func_mkdir_p "$gentop" + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + func_basename "$obj" + objbase="$func_basename_result" + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + func_arith $counter + 1 + counter=$func_arith_result + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + oldobjs="$oldobjs $gentop/$newobj" + ;; + *) oldobjs="$oldobjs $obj" ;; + esac done - IFS="$save_ifs" - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $run eval "$cmds" || admincmds="$admincmds - $cmds" fi - done - fi - - # Exit here if they wanted silent mode. - test "$show" = : && exit $EXIT_SUCCESS + eval cmds=\"$old_archive_cmds\" - $echo "X----------------------------------------------------------------------" | $Xsed - $echo "Libraries have been installed in:" - for libdir in $libdirs; do - $echo " $libdir" + func_len " $cmds" + len=$func_len_result + if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + func_verbose "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + oldobjs= + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + eval test_cmds=\"$old_archive_cmds\" + func_len " $test_cmds" + len0=$func_len_result + len=$len0 + for obj in $save_oldobjs + do + func_len " $obj" + func_arith $len + $func_len_result + len=$func_arith_result + func_append objlist " $obj" + if test "$len" -lt "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + len=$len0 + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + func_execute_cmds "$cmds" 'exit $?' done - $echo - $echo "If you ever happen to want to link against installed libraries" - $echo "in a given directory, LIBDIR, you must either use libtool, and" - $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" - $echo "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" - $echo " during execution" - fi - if test -n "$runpath_var"; then - $echo " - add LIBDIR to the \`$runpath_var' environment variable" - $echo " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - $echo " - use the \`$flag' linker flag" - fi - if test -n "$admincmds"; then - $echo " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" - fi - $echo - $echo "See any operating system documentation about shared libraries for" - $echo "more information, such as the ld(1) and ld.so(8) manual pages." - $echo "X----------------------------------------------------------------------" | $Xsed - exit $EXIT_SUCCESS - ;; - # libtool execute mode - execute) - modename="$modename: execute" + test -n "$generated" && \ + func_show_eval "${RM}r$generated" - # The first argument is the command name. - cmd="$nonopt" - if test -z "$cmd"; then - $echo "$modename: you must specify a COMMAND" 1>&2 - $echo "$help" - exit $EXIT_FAILURE - fi - - # Handle -dlopen flags immediately. - for file in $execute_dlfiles; do - if test ! -f "$file"; then - $echo "$modename: \`$file' is not a file" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + func_verbose "creating $output" - dir= - case $file in - *.la) - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE + func_quote_for_eval "$var_value" + relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi - # Read the libtool library. - dlname= - library_names= + # Only create the output if not a dry run. + $opt_dry_run || { + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + func_basename "$deplib" + name="$func_basename_result" + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + test -z "$libdir" && \ + func_fatal_error "\`$deplib' is not a valid libtool archive" + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + + for lib in $dlfiles; do + case $lib in + *.la) + func_basename "$lib" + name="$func_basename_result" + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + test -z "$libdir" && \ + func_fatal_error "\`$lib' is not a valid libtool archive" + newdlfiles="$newdlfiles $libdir/$name" + ;; + *) newdlfiles="$newdlfiles $lib" ;; + esac + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + *.la) + # Only pass preopened files to the pseudo-archive (for + # eventual linking with the app. that links it) if we + # didn't already link the preopened objects directly into + # the library: + func_basename "$lib" + name="$func_basename_result" + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + test -z "$libdir" && \ + func_fatal_error "\`$lib' is not a valid libtool archive" + newdlprefiles="$newdlprefiles $libdir/$name" + ;; + esac + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $RM $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $ECHO > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION +# +# Please DO NOT delete this file! +# It is necessary for linking the library. - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac +# The name that we can dlopen(3). +dlname='$tdlname' - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" - continue - fi +# Names of this library. +library_names='$library_names' - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. +# The name of the static archive. +old_library='$old_library' - if test -f "$dir/$objdir/$dlname"; then - dir="$dir/$objdir" - else - $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 - exit $EXIT_FAILURE - fi - ;; +# Linker flags that can not go in dependency_libs. +inherited_linker_flags='$new_inherited_linker_flags' - *.lo) - # Just add the directory containing the .lo file. - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. - ;; +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' - *) - $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 - continue - ;; - esac +# Names of additional weak libraries provided by this library +weak_library_names='$weak_libs' - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir="$absdir" +# Version information for $libname. +current=$current +age=$age +revision=$revision - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done +# Is this an already installed library? +installed=$installed - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic="$magic" +# Should we warn about portability when linking against -modules? +shouldnotlink=$module - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -*) ;; - *) - # Do a test to see if this is really a libtool program. - if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' - # Transform arg to wrapped name. - file="$progdir/$program" - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` - args="$args \"$file\"" - done +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $ECHO >> $output "\ +relink_command=\"$relink_command\"" + fi + done + } - if test -z "$run"; then - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' + ;; + esac + exit $EXIT_SUCCESS +} - # Restore saved environment variables - if test "${save_LC_ALL+set}" = set; then - LC_ALL="$save_LC_ALL"; export LC_ALL - fi - if test "${save_LANG+set}" = set; then - LANG="$save_LANG"; export LANG - fi +{ test "$mode" = link || test "$mode" = relink; } && + func_mode_link ${1+"$@"} - # Now prepare to actually exec the command. - exec_cmd="\$cmd$args" - else - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" - $echo "export $shlibpath_var" - fi - $echo "$cmd$args" - exit $EXIT_SUCCESS - fi - ;; - # libtool clean and uninstall mode - clean | uninstall) - modename="$modename: $mode" - rm="$nonopt" +# func_mode_uninstall arg... +func_mode_uninstall () +{ + $opt_debug + RM="$nonopt" files= rmforce= exit_status=0 @@ -6448,30 +8202,28 @@ for arg do case $arg in - -f) rm="$rm $arg"; rmforce=yes ;; - -*) rm="$rm $arg" ;; + -f) RM="$RM $arg"; rmforce=yes ;; + -*) RM="$RM $arg" ;; *) files="$files $arg" ;; esac done - if test -z "$rm"; then - $echo "$modename: you must specify an RM program" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi + test -z "$RM" && \ + func_fatal_help "you must specify an RM program" rmdirs= origobjdir="$objdir" for file in $files; do - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - if test "X$dir" = "X$file"; then - dir=. + func_dirname "$file" "" "." + dir="$func_dirname_result" + if test "X$dir" = X.; then objdir="$origobjdir" else objdir="$dir/$origobjdir" fi - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + func_basename "$file" + name="$func_basename_result" test "$mode" = uninstall && objdir="$dir" # Remember objdir for removal later, being careful to avoid duplicates @@ -6483,9 +8235,9 @@ fi # Don't error if the file doesn't exist and rm -f was used. - if (test -L "$file") >/dev/null 2>&1 \ - || (test -h "$file") >/dev/null 2>&1 \ - || test -f "$file"; then + if { test -L "$file"; } >/dev/null 2>&1 || + { test -h "$file"; } >/dev/null 2>&1 || + test -f "$file"; then : elif test -d "$file"; then exit_status=1 @@ -6499,8 +8251,8 @@ case $name in *.la) # Possibly a libtool archive, so verify it. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - . $dir/$name + if func_lalib_p "$file"; then + func_source $dir/$name # Delete the libtool libraries and symlinks. for n in $library_names; do @@ -6515,39 +8267,17 @@ *" $dlname "*) ;; *) rmfiles="$rmfiles $objdir/$dlname" ;; esac - test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. - cmds=$postuninstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" - if test "$?" -ne 0 && test "$rmforce" != yes; then - exit_status=1 - fi - done - IFS="$save_ifs" + func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi if test -n "$old_library"; then # Do each command in the old_postuninstall commands. - cmds=$old_postuninstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" - if test "$?" -ne 0 && test "$rmforce" != yes; then - exit_status=1 - fi - done - IFS="$save_ifs" + func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi # FIXME: should reinstall the best remaining shared library. ;; @@ -6557,20 +8287,20 @@ *.lo) # Possibly a libtool object, so verify it. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + if func_lalib_p "$file"; then # Read the .lo file - . $dir/$name + func_source $dir/$name # Add PIC object to the list of files to remove. - if test -n "$pic_object" \ - && test "$pic_object" != none; then + if test -n "$pic_object" && + test "$pic_object" != none; then rmfiles="$rmfiles $dir/$pic_object" fi # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" \ - && test "$non_pic_object" != none; then + if test -n "$non_pic_object" && + test "$non_pic_object" != none; then rmfiles="$rmfiles $dir/$non_pic_object" fi fi @@ -6581,17 +8311,26 @@ noexename=$name case $file in *.exe) - file=`$echo $file|${SED} 's,.exe$,,'` - noexename=`$echo $name|${SED} 's,.exe$,,'` + func_stripname '' '.exe' "$file" + file=$func_stripname_result + func_stripname '' '.exe' "$name" + noexename=$func_stripname_result # $file with .exe has already been added to rmfiles, # add $file without .exe rmfiles="$rmfiles $file" ;; esac # Do a test to see if this is a libtool program. - if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - relink_command= - . $dir/$noexename + if func_ltwrapper_p "$file"; then + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + relink_command= + func_source $func_ltwrapper_scriptname_result + rmfiles="$rmfiles $func_ltwrapper_scriptname_result" + else + relink_command= + func_source $dir/$noexename + fi # note $name still contains .exe if it was in $file originally # as does the version of $file that was added into $rmfiles @@ -6606,237 +8345,38 @@ fi ;; esac - $show "$rm $rmfiles" - $run $rm $rmfiles || exit_status=1 + func_show_eval "$RM $rmfiles" 'exit_status=1' done objdir="$origobjdir" # Try to remove the ${objdir}s in the directories where we deleted files for dir in $rmdirs; do if test -d "$dir"; then - $show "rmdir $dir" - $run rmdir $dir >/dev/null 2>&1 + func_show_eval "rmdir $dir >/dev/null 2>&1" fi done exit $exit_status - ;; +} - "") - $echo "$modename: you must specify a MODE" 1>&2 - $echo "$generic_help" 1>&2 - exit $EXIT_FAILURE - ;; - esac +{ test "$mode" = uninstall || test "$mode" = clean; } && + func_mode_uninstall ${1+"$@"} - if test -z "$exec_cmd"; then - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$generic_help" 1>&2 - exit $EXIT_FAILURE - fi -fi # test -z "$show_help" +test -z "$mode" && { + help="$generic_help" + func_fatal_help "you must specify a MODE" +} + +test -z "$exec_cmd" && \ + func_fatal_help "invalid operation mode \`$mode'" if test -n "$exec_cmd"; then - eval exec $exec_cmd + eval exec "$exec_cmd" exit $EXIT_FAILURE fi -# We need to display help for each of the modes. -case $mode in -"") $echo \ -"Usage: $modename [OPTION]... [MODE-ARG]... - -Provide generalized library-building support services. - - --config show all configuration variables - --debug enable verbose shell tracing --n, --dry-run display commands without modifying any files - --features display basic configuration information and exit - --finish same as \`--mode=finish' - --help display this help message and exit - --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] - --quiet same as \`--silent' - --silent don't print informational messages - --tag=TAG use configuration variables from tag TAG - --version print version information - -MODE must be one of the following: - - clean remove files from the build directory - compile compile a source file into a libtool object - execute automatically set library path, then run a program - finish complete the installation of libtool libraries - install install libraries or executables - link create a library or an executable - uninstall remove libraries from an installed directory - -MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for -a more detailed description of MODE. - -Report bugs to ." - exit $EXIT_SUCCESS - ;; - -clean) - $echo \ -"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - -compile) - $echo \ -"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -prefer-pic try to building PIC objects only - -prefer-non-pic try to building non-PIC objects only - -static always build a \`.o' file suitable for static linking - -COMPILE-COMMAND is a command to be used in creating a \`standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix \`.c' with the -library object suffix, \`.lo'." - ;; - -execute) - $echo \ -"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to \`-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - -finish) - $echo \ -"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the \`--dry-run' option if you just want to see what would be executed." - ;; - -install) - $echo \ -"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the \`install' or \`cp' program. - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - -link) - $echo \ -"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE Use a list of object files found in FILE to specify objects - -precious-files-regex REGEX - don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -static do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -All other options (arguments beginning with \`-') are ignored. - -Every other argument is treated as a filename. Files ending in \`.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in \`.la', then a libtool library is created, -only library objects (\`.lo' files) may be specified, and \`-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created -using \`ar' and \`ranlib', or on Windows using \`lib'. - -If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file -is created, otherwise an executable program is created." - ;; - -uninstall) - $echo \ -"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. +exit $exit_status -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - -*) - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; -esac - -$echo -$echo "Try \`$modename --help' for more information about other modes." - -exit $? # The TAGs below are defined such that we never get into a situation # in which we disable both kinds of libraries. Given conflicting @@ -6850,14 +8390,17 @@ # configuration. But we'll never go from static-only to shared-only. # ### BEGIN LIBTOOL TAG CONFIG: disable-shared -disable_libs=shared +build_libtool_libs=no +build_old_libs=yes # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static -disable_libs=static +build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: +# vi:sw=2 + diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/m4/acinclude.m4 /tmp/1tgnNoYBLI/dirac-1.0.2/m4/acinclude.m4 --- dirac-0.9.1/m4/acinclude.m4 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/m4/acinclude.m4 2008-05-06 10:35:51.000000000 +0100 @@ -0,0 +1,16 @@ +dnl +dnl $Id: acinclude.m4,v 1.1 2008/05/06 09:35:51 asuraparaju Exp $ $Name: Dirac_1_0_2 $ +dnl +AC_DEFUN([AC_TRY_CXXFLAGS], + [AC_MSG_CHECKING([if $CXX supports $3 flags]) + SAVE_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$3" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[$1]], [[$2]])],[ac_cv_try_cxxflags_ok=yes], [ac_cv_try_cxxflags_ok=no]) + CXXFLAGS="$SAVE_CXXFLAGS" + AC_MSG_RESULT([$ac_cv_try_cxxflags_ok]) + if test x"$ac_cv_try_cxxflags_ok" = x"yes"; then + ifelse([$4],[],[:],[$4]) + else + ifelse([$5],[],[:],[$5]) + fi]) + diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/m4/ax_create_stdint_h.m4 /tmp/1tgnNoYBLI/dirac-1.0.2/m4/ax_create_stdint_h.m4 --- dirac-0.9.1/m4/ax_create_stdint_h.m4 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/m4/ax_create_stdint_h.m4 2008-05-06 10:35:51.000000000 +0100 @@ -0,0 +1,729 @@ +# =========================================================================== +# http://autoconf-archive.cryp.to/ax_create_stdint_h.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CREATE_STDINT_H [( HEADER-TO-GENERATE [, HEDERS-TO-CHECK])] +# +# DESCRIPTION +# +# the "ISO C9X: 7.18 Integer types " section requires the +# existence of an include file that defines a set of typedefs, +# especially uint8_t,int32_t,uintptr_t. Many older installations will not +# provide this file, but some will have the very same definitions in +# . In other enviroments we can use the inet-types in +# which would define the typedefs int8_t and u_int8_t +# respectivly. +# +# This macros will create a local "_stdint.h" or the headerfile given as +# an argument. In many cases that file will just "#include " or +# "#include ", while in other environments it will provide the +# set of basic 'stdint's definitions/typedefs: +# +# int8_t,uint8_t,int16_t,uint16_t,int32_t,uint32_t,intptr_t,uintptr_t +# int_least32_t.. int_fast32_t.. intmax_t +# +# which may or may not rely on the definitions of other files, or using +# the AC_CHECK_SIZEOF macro to determine the actual sizeof each type. +# +# if your header files require the stdint-types you will want to create an +# installable file mylib-int.h that all your other installable header may +# include. So if you have a library package named "mylib", just use +# +# AX_CREATE_STDINT_H(mylib-int.h) +# +# in configure.ac and go to install that very header file in Makefile.am +# along with the other headers (mylib.h) - and the mylib-specific headers +# can simply use "#include " to obtain the stdint-types. +# +# Remember, if the system already had a valid , the generated +# file will include it directly. No need for fuzzy HAVE_STDINT_H things... +# (oops, GCC 4.2.x has deliberatly disabled its stdint.h for non-c99 +# compilation and the c99-mode is not the default. Therefore this macro +# will not use the compiler's stdint.h - please complain to the GCC +# developers). +# +# LAST MODIFICATION +# +# 2008-04-12 +# +# COPYLEFT +# +# Copyright (c) 2008 Guido U. Draheim +# +# 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 of the License, 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 . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Macro Archive. When you make and +# distribute a modified version of the Autoconf Macro, you may extend this +# special exception to the GPL to apply to your modified version as well. + +AC_DEFUN([AX_CHECK_DATA_MODEL],[ + AC_CHECK_SIZEOF(char) + AC_CHECK_SIZEOF(short) + AC_CHECK_SIZEOF(int) + AC_CHECK_SIZEOF(long) + AC_CHECK_SIZEOF(void*) + ac_cv_char_data_model="" + ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_char" + ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_short" + ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_int" + ac_cv_long_data_model="" + ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_int" + ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_long" + ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_voidp" + AC_MSG_CHECKING([data model]) + case "$ac_cv_char_data_model/$ac_cv_long_data_model" in + 122/242) ac_cv_data_model="IP16" ; n="standard 16bit machine" ;; + 122/244) ac_cv_data_model="LP32" ; n="standard 32bit machine" ;; + 122/*) ac_cv_data_model="i16" ; n="unusual int16 model" ;; + 124/444) ac_cv_data_model="ILP32" ; n="standard 32bit unixish" ;; + 124/488) ac_cv_data_model="LP64" ; n="standard 64bit unixish" ;; + 124/448) ac_cv_data_model="LLP64" ; n="unusual 64bit unixish" ;; + 124/*) ac_cv_data_model="i32" ; n="unusual int32 model" ;; + 128/888) ac_cv_data_model="ILP64" ; n="unusual 64bit numeric" ;; + 128/*) ac_cv_data_model="i64" ; n="unusual int64 model" ;; + 222/*2) ac_cv_data_model="DSP16" ; n="strict 16bit dsptype" ;; + 333/*3) ac_cv_data_model="DSP24" ; n="strict 24bit dsptype" ;; + 444/*4) ac_cv_data_model="DSP32" ; n="strict 32bit dsptype" ;; + 666/*6) ac_cv_data_model="DSP48" ; n="strict 48bit dsptype" ;; + 888/*8) ac_cv_data_model="DSP64" ; n="strict 64bit dsptype" ;; + 222/*|333/*|444/*|666/*|888/*) : + ac_cv_data_model="iDSP" ; n="unusual dsptype" ;; + *) ac_cv_data_model="none" ; n="very unusual model" ;; + esac + AC_MSG_RESULT([$ac_cv_data_model ($ac_cv_long_data_model, $n)]) +]) + +dnl AX_CHECK_HEADER_STDINT_X([HEADERLIST][,ACTION-IF]) +AC_DEFUN([AX_CHECK_HEADER_STDINT_X],[ +AC_CACHE_CHECK([for stdint uintptr_t], [ac_cv_header_stdint_x],[ + ac_cv_header_stdint_x="" # the 1997 typedefs (inttypes.h) + AC_MSG_RESULT([(..)]) + for i in m4_ifval([$1],[$1],[stdint.h inttypes.h sys/inttypes.h sys/types.h]) + do + unset ac_cv_type_uintptr_t + unset ac_cv_type_uint64_t + AC_CHECK_TYPE(uintptr_t,[ac_cv_header_stdint_x=$i],continue,[#include <$i>]) + AC_CHECK_TYPE(uint64_t,[and64="/uint64_t"],[and64=""],[#include<$i>]) + m4_ifvaln([$2],[$2]) break + done + AC_MSG_CHECKING([for stdint uintptr_t]) + ]) +]) + +AC_DEFUN([AX_CHECK_HEADER_STDINT_O],[ +AC_CACHE_CHECK([for stdint uint32_t], [ac_cv_header_stdint_o],[ + ac_cv_header_stdint_o="" # the 1995 typedefs (sys/inttypes.h) + AC_MSG_RESULT([(..)]) + for i in m4_ifval([$1],[$1],[inttypes.h sys/inttypes.h sys/types.h stdint.h]) + do + unset ac_cv_type_uint32_t + unset ac_cv_type_uint64_t + AC_CHECK_TYPE(uint32_t,[ac_cv_header_stdint_o=$i],continue,[#include <$i>]) + AC_CHECK_TYPE(uint64_t,[and64="/uint64_t"],[and64=""],[#include<$i>]) + m4_ifvaln([$2],[$2]) break + break; + done + AC_MSG_CHECKING([for stdint uint32_t]) + ]) +]) + +AC_DEFUN([AX_CHECK_HEADER_STDINT_U],[ +AC_CACHE_CHECK([for stdint u_int32_t], [ac_cv_header_stdint_u],[ + ac_cv_header_stdint_u="" # the BSD typedefs (sys/types.h) + AC_MSG_RESULT([(..)]) + for i in m4_ifval([$1],[$1],[sys/types.h inttypes.h sys/inttypes.h]) ; do + unset ac_cv_type_u_int32_t + unset ac_cv_type_u_int64_t + AC_CHECK_TYPE(u_int32_t,[ac_cv_header_stdint_u=$i],continue,[#include <$i>]) + AC_CHECK_TYPE(u_int64_t,[and64="/u_int64_t"],[and64=""],[#include<$i>]) + m4_ifvaln([$2],[$2]) break + break; + done + AC_MSG_CHECKING([for stdint u_int32_t]) + ]) +]) + +AC_DEFUN([AX_CREATE_STDINT_H], +[# ------ AX CREATE STDINT H ------------------------------------- +AC_MSG_CHECKING([for stdint types]) +ac_stdint_h=`echo ifelse($1, , _stdint.h, $1)` +# try to shortcircuit - if the default include path of the compiler +# can find a "stdint.h" header then we assume that all compilers can. +AC_CACHE_VAL([ac_cv_header_stdint_t],[ +old_CXXFLAGS="$CXXFLAGS" ; CXXFLAGS="" +old_CPPFLAGS="$CPPFLAGS" ; CPPFLAGS="" +old_CFLAGS="$CFLAGS" ; CFLAGS="" +AC_TRY_COMPILE([#include ],[int_least32_t v = 0;], +[ac_cv_stdint_result="(assuming C99 compatible system)" + ac_cv_header_stdint_t="stdint.h"; ], +[ac_cv_header_stdint_t=""]) +if test "$GCC" = "yes" && test ".$ac_cv_header_stdint_t" = "."; then +CFLAGS="-std=c99" +AC_TRY_COMPILE([#include ],[int_least32_t v = 0;], +[AC_MSG_WARN(your GCC compiler has a defunct stdint.h for its default-mode)]) +fi +CXXFLAGS="$old_CXXFLAGS" +CPPFLAGS="$old_CPPFLAGS" +CFLAGS="$old_CFLAGS" ]) + +v="... $ac_cv_header_stdint_h" +if test "$ac_stdint_h" = "stdint.h" ; then + AC_MSG_RESULT([(are you sure you want them in ./stdint.h?)]) +elif test "$ac_stdint_h" = "inttypes.h" ; then + AC_MSG_RESULT([(are you sure you want them in ./inttypes.h?)]) +elif test "_$ac_cv_header_stdint_t" = "_" ; then + AC_MSG_RESULT([(putting them into $ac_stdint_h)$v]) +else + ac_cv_header_stdint="$ac_cv_header_stdint_t" + AC_MSG_RESULT([$ac_cv_header_stdint (shortcircuit)]) +fi + +if test "_$ac_cv_header_stdint_t" = "_" ; then # can not shortcircuit.. + +dnl .....intro message done, now do a few system checks..... +dnl btw, all old CHECK_TYPE macros do automatically "DEFINE" a type, +dnl therefore we use the autoconf implementation detail CHECK_TYPE_NEW +dnl instead that is triggered with 3 or more arguments (see types.m4) + +inttype_headers=`echo $2 | sed -e 's/,/ /g'` + +ac_cv_stdint_result="(no helpful system typedefs seen)" +AX_CHECK_HEADER_STDINT_X(dnl + stdint.h inttypes.h sys/inttypes.h $inttype_headers, + ac_cv_stdint_result="(seen uintptr_t$and64 in $i)") + +if test "_$ac_cv_header_stdint_x" = "_" ; then +AX_CHECK_HEADER_STDINT_O(dnl, + inttypes.h sys/inttypes.h stdint.h $inttype_headers, + ac_cv_stdint_result="(seen uint32_t$and64 in $i)") +fi + +if test "_$ac_cv_header_stdint_x" = "_" ; then +if test "_$ac_cv_header_stdint_o" = "_" ; then +AX_CHECK_HEADER_STDINT_U(dnl, + sys/types.h inttypes.h sys/inttypes.h $inttype_headers, + ac_cv_stdint_result="(seen u_int32_t$and64 in $i)") +fi fi + +dnl if there was no good C99 header file, do some typedef checks... +if test "_$ac_cv_header_stdint_x" = "_" ; then + AC_MSG_CHECKING([for stdint datatype model]) + AC_MSG_RESULT([(..)]) + AX_CHECK_DATA_MODEL +fi + +if test "_$ac_cv_header_stdint_x" != "_" ; then + ac_cv_header_stdint="$ac_cv_header_stdint_x" +elif test "_$ac_cv_header_stdint_o" != "_" ; then + ac_cv_header_stdint="$ac_cv_header_stdint_o" +elif test "_$ac_cv_header_stdint_u" != "_" ; then + ac_cv_header_stdint="$ac_cv_header_stdint_u" +else + ac_cv_header_stdint="stddef.h" +fi + +AC_MSG_CHECKING([for extra inttypes in chosen header]) +AC_MSG_RESULT([($ac_cv_header_stdint)]) +dnl see if int_least and int_fast types are present in _this_ header. +unset ac_cv_type_int_least32_t +unset ac_cv_type_int_fast32_t +AC_CHECK_TYPE(int_least32_t,,,[#include <$ac_cv_header_stdint>]) +AC_CHECK_TYPE(int_fast32_t,,,[#include<$ac_cv_header_stdint>]) +AC_CHECK_TYPE(intmax_t,,,[#include <$ac_cv_header_stdint>]) + +fi # shortcircut to system "stdint.h" +# ------------------ PREPARE VARIABLES ------------------------------ +if test "$GCC" = "yes" ; then +ac_cv_stdint_message="using gnu compiler "`$CC --version | head -1` +else +ac_cv_stdint_message="using $CC" +fi + +AC_MSG_RESULT([make use of $ac_cv_header_stdint in $ac_stdint_h dnl +$ac_cv_stdint_result]) + +dnl ----------------------------------------------------------------- +# ----------------- DONE inttypes.h checks START header ------------- +AC_CONFIG_COMMANDS([$ac_stdint_h],[ +AC_MSG_NOTICE(creating $ac_stdint_h : $_ac_stdint_h) +ac_stdint=$tmp/_stdint.h + +echo "#ifndef" $_ac_stdint_h >$ac_stdint +echo "#define" $_ac_stdint_h "1" >>$ac_stdint +echo "#ifndef" _GENERATED_STDINT_H >>$ac_stdint +echo "#define" _GENERATED_STDINT_H '"'$PACKAGE $VERSION'"' >>$ac_stdint +echo "/* generated $ac_cv_stdint_message */" >>$ac_stdint +if test "_$ac_cv_header_stdint_t" != "_" ; then +echo "#define _STDINT_HAVE_STDINT_H" "1" >>$ac_stdint +echo "#include " >>$ac_stdint +echo "#endif" >>$ac_stdint +echo "#endif" >>$ac_stdint +else + +cat >>$ac_stdint < +#else +#include + +/* .................... configured part ............................ */ + +STDINT_EOF + +echo "/* whether we have a C99 compatible stdint header file */" >>$ac_stdint +if test "_$ac_cv_header_stdint_x" != "_" ; then + ac_header="$ac_cv_header_stdint_x" + echo "#define _STDINT_HEADER_INTPTR" '"'"$ac_header"'"' >>$ac_stdint +else + echo "/* #undef _STDINT_HEADER_INTPTR */" >>$ac_stdint +fi + +echo "/* whether we have a C96 compatible inttypes header file */" >>$ac_stdint +if test "_$ac_cv_header_stdint_o" != "_" ; then + ac_header="$ac_cv_header_stdint_o" + echo "#define _STDINT_HEADER_UINT32" '"'"$ac_header"'"' >>$ac_stdint +else + echo "/* #undef _STDINT_HEADER_UINT32 */" >>$ac_stdint +fi + +echo "/* whether we have a BSD compatible inet types header */" >>$ac_stdint +if test "_$ac_cv_header_stdint_u" != "_" ; then + ac_header="$ac_cv_header_stdint_u" + echo "#define _STDINT_HEADER_U_INT32" '"'"$ac_header"'"' >>$ac_stdint +else + echo "/* #undef _STDINT_HEADER_U_INT32 */" >>$ac_stdint +fi + +echo "" >>$ac_stdint + +if test "_$ac_header" != "_" ; then if test "$ac_header" != "stddef.h" ; then + echo "#include <$ac_header>" >>$ac_stdint + echo "" >>$ac_stdint +fi fi + +echo "/* which 64bit typedef has been found */" >>$ac_stdint +if test "$ac_cv_type_uint64_t" = "yes" ; then +echo "#define _STDINT_HAVE_UINT64_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_UINT64_T */" >>$ac_stdint +fi +if test "$ac_cv_type_u_int64_t" = "yes" ; then +echo "#define _STDINT_HAVE_U_INT64_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_U_INT64_T */" >>$ac_stdint +fi +echo "" >>$ac_stdint + +echo "/* which type model has been detected */" >>$ac_stdint +if test "_$ac_cv_char_data_model" != "_" ; then +echo "#define _STDINT_CHAR_MODEL" "$ac_cv_char_data_model" >>$ac_stdint +echo "#define _STDINT_LONG_MODEL" "$ac_cv_long_data_model" >>$ac_stdint +else +echo "/* #undef _STDINT_CHAR_MODEL // skipped */" >>$ac_stdint +echo "/* #undef _STDINT_LONG_MODEL // skipped */" >>$ac_stdint +fi +echo "" >>$ac_stdint + +echo "/* whether int_least types were detected */" >>$ac_stdint +if test "$ac_cv_type_int_least32_t" = "yes"; then +echo "#define _STDINT_HAVE_INT_LEAST32_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_INT_LEAST32_T */" >>$ac_stdint +fi +echo "/* whether int_fast types were detected */" >>$ac_stdint +if test "$ac_cv_type_int_fast32_t" = "yes"; then +echo "#define _STDINT_HAVE_INT_FAST32_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_INT_FAST32_T */" >>$ac_stdint +fi +echo "/* whether intmax_t type was detected */" >>$ac_stdint +if test "$ac_cv_type_intmax_t" = "yes"; then +echo "#define _STDINT_HAVE_INTMAX_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_INTMAX_T */" >>$ac_stdint +fi +echo "" >>$ac_stdint + + cat >>$ac_stdint <= 199901L +#define _HAVE_UINT64_T +#define _HAVE_LONGLONG_UINT64_T +typedef long long int64_t; +typedef unsigned long long uint64_t; + +#elif !defined __STRICT_ANSI__ +#if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__ +#define _HAVE_UINT64_T +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; + +#elif defined __GNUC__ || defined __MWERKS__ || defined __ELF__ +/* note: all ELF-systems seem to have loff-support which needs 64-bit */ +#if !defined _NO_LONGLONG +#define _HAVE_UINT64_T +#define _HAVE_LONGLONG_UINT64_T +typedef long long int64_t; +typedef unsigned long long uint64_t; +#endif + +#elif defined __alpha || (defined __mips && defined _ABIN32) +#if !defined _NO_LONGLONG +typedef long int64_t; +typedef unsigned long uint64_t; +#endif + /* compiler/cpu type to define int64_t */ +#endif +#endif +#endif + +#if defined _STDINT_HAVE_U_INT_TYPES +/* int8_t int16_t int32_t defined by inet code, redeclare the u_intXX types */ +typedef u_int8_t uint8_t; +typedef u_int16_t uint16_t; +typedef u_int32_t uint32_t; + +/* glibc compatibility */ +#ifndef __int8_t_defined +#define __int8_t_defined +#endif +#endif + +#ifdef _STDINT_NEED_INT_MODEL_T +/* we must guess all the basic types. Apart from byte-adressable system, */ +/* there a few 32-bit-only dsp-systems that we guard with BYTE_MODEL 8-} */ +/* (btw, those nibble-addressable systems are way off, or so we assume) */ + +dnl /* have a look at "64bit and data size neutrality" at */ +dnl /* http://unix.org/version2/whatsnew/login_64bit.html */ +dnl /* (the shorthand "ILP" types always have a "P" part) */ + +#if defined _STDINT_BYTE_MODEL +#if _STDINT_LONG_MODEL+0 == 242 +/* 2:4:2 = IP16 = a normal 16-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned long uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef long int32_t; +#endif +#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL == 444 +/* 2:4:4 = LP32 = a 32-bit system derived from a 16-bit */ +/* 4:4:4 = ILP32 = a normal 32-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +#endif +#elif _STDINT_LONG_MODEL+0 == 484 || _STDINT_LONG_MODEL+0 == 488 +/* 4:8:4 = IP32 = a 32-bit system prepared for 64-bit */ +/* 4:8:8 = LP64 = a normal 64-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +#endif +/* this system has a "long" of 64bit */ +#ifndef _HAVE_UINT64_T +#define _HAVE_UINT64_T +typedef unsigned long uint64_t; +typedef long int64_t; +#endif +#elif _STDINT_LONG_MODEL+0 == 448 +/* LLP64 a 64-bit system derived from a 32-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +#endif +/* assuming the system has a "long long" */ +#ifndef _HAVE_UINT64_T +#define _HAVE_UINT64_T +#define _HAVE_LONGLONG_UINT64_T +typedef unsigned long long uint64_t; +typedef long long int64_t; +#endif +#else +#define _STDINT_NO_INT32_T +#endif +#else +#define _STDINT_NO_INT8_T +#define _STDINT_NO_INT32_T +#endif +#endif + +/* + * quote from SunOS-5.8 sys/inttypes.h: + * Use at your own risk. As of February 1996, the committee is squarely + * behind the fixed sized types; the "least" and "fast" types are still being + * discussed. The probability that the "fast" types may be removed before + * the standard is finalized is high enough that they are not currently + * implemented. + */ + +#if defined _STDINT_NEED_INT_LEAST_T +typedef int8_t int_least8_t; +typedef int16_t int_least16_t; +typedef int32_t int_least32_t; +#ifdef _HAVE_UINT64_T +typedef int64_t int_least64_t; +#endif + +typedef uint8_t uint_least8_t; +typedef uint16_t uint_least16_t; +typedef uint32_t uint_least32_t; +#ifdef _HAVE_UINT64_T +typedef uint64_t uint_least64_t; +#endif + /* least types */ +#endif + +#if defined _STDINT_NEED_INT_FAST_T +typedef int8_t int_fast8_t; +typedef int int_fast16_t; +typedef int32_t int_fast32_t; +#ifdef _HAVE_UINT64_T +typedef int64_t int_fast64_t; +#endif + +typedef uint8_t uint_fast8_t; +typedef unsigned uint_fast16_t; +typedef uint32_t uint_fast32_t; +#ifdef _HAVE_UINT64_T +typedef uint64_t uint_fast64_t; +#endif + /* fast types */ +#endif + +#ifdef _STDINT_NEED_INTMAX_T +#ifdef _HAVE_UINT64_T +typedef int64_t intmax_t; +typedef uint64_t uintmax_t; +#else +typedef long intmax_t; +typedef unsigned long uintmax_t; +#endif +#endif + +#ifdef _STDINT_NEED_INTPTR_T +#ifndef __intptr_t_defined +#define __intptr_t_defined +/* we encourage using "long" to store pointer values, never use "int" ! */ +#if _STDINT_LONG_MODEL+0 == 242 || _STDINT_LONG_MODEL+0 == 484 +typedef unsigned int uintptr_t; +typedef int intptr_t; +#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL+0 == 444 +typedef unsigned long uintptr_t; +typedef long intptr_t; +#elif _STDINT_LONG_MODEL+0 == 448 && defined _HAVE_UINT64_T +typedef uint64_t uintptr_t; +typedef int64_t intptr_t; +#else /* matches typical system types ILP32 and LP64 - but not IP16 or LLP64 */ +typedef unsigned long uintptr_t; +typedef long intptr_t; +#endif +#endif +#endif + +/* The ISO C99 standard specifies that in C++ implementations these + should only be defined if explicitly requested. */ +#if !defined __cplusplus || defined __STDC_CONSTANT_MACROS +#ifndef UINT32_C + +/* Signed. */ +# define INT8_C(c) c +# define INT16_C(c) c +# define INT32_C(c) c +# ifdef _HAVE_LONGLONG_UINT64_T +# define INT64_C(c) c ## L +# else +# define INT64_C(c) c ## LL +# endif + +/* Unsigned. */ +# define UINT8_C(c) c ## U +# define UINT16_C(c) c ## U +# define UINT32_C(c) c ## U +# ifdef _HAVE_LONGLONG_UINT64_T +# define UINT64_C(c) c ## UL +# else +# define UINT64_C(c) c ## ULL +# endif + +/* Maximal type. */ +# ifdef _HAVE_LONGLONG_UINT64_T +# define INTMAX_C(c) c ## L +# define UINTMAX_C(c) c ## UL +# else +# define INTMAX_C(c) c ## LL +# define UINTMAX_C(c) c ## ULL +# endif + + /* literalnumbers */ +#endif +#endif + +/* These limits are merily those of a two complement byte-oriented system */ + +/* Minimum of signed integral types. */ +# define INT8_MIN (-128) +# define INT16_MIN (-32767-1) +# define INT32_MIN (-2147483647-1) +# define INT64_MIN (-__INT64_C(9223372036854775807)-1) +/* Maximum of signed integral types. */ +# define INT8_MAX (127) +# define INT16_MAX (32767) +# define INT32_MAX (2147483647) +# define INT64_MAX (__INT64_C(9223372036854775807)) + +/* Maximum of unsigned integral types. */ +# define UINT8_MAX (255) +# define UINT16_MAX (65535) +# define UINT32_MAX (4294967295U) +# define UINT64_MAX (__UINT64_C(18446744073709551615)) + +/* Minimum of signed integral types having a minimum size. */ +# define INT_LEAST8_MIN INT8_MIN +# define INT_LEAST16_MIN INT16_MIN +# define INT_LEAST32_MIN INT32_MIN +# define INT_LEAST64_MIN INT64_MIN +/* Maximum of signed integral types having a minimum size. */ +# define INT_LEAST8_MAX INT8_MAX +# define INT_LEAST16_MAX INT16_MAX +# define INT_LEAST32_MAX INT32_MAX +# define INT_LEAST64_MAX INT64_MAX + +/* Maximum of unsigned integral types having a minimum size. */ +# define UINT_LEAST8_MAX UINT8_MAX +# define UINT_LEAST16_MAX UINT16_MAX +# define UINT_LEAST32_MAX UINT32_MAX +# define UINT_LEAST64_MAX UINT64_MAX + + /* shortcircuit*/ +#endif + /* once */ +#endif +#endif +STDINT_EOF +fi + if cmp -s $ac_stdint_h $ac_stdint 2>/dev/null; then + AC_MSG_NOTICE([$ac_stdint_h is unchanged]) + else + ac_dir=`AS_DIRNAME(["$ac_stdint_h"])` + AS_MKDIR_P(["$ac_dir"]) + rm -f $ac_stdint_h + mv $ac_stdint $ac_stdint_h + fi +],[# variables for create stdint.h replacement +PACKAGE="$PACKAGE" +VERSION="$VERSION" +ac_stdint_h="$ac_stdint_h" +_ac_stdint_h=AS_TR_CPP(_$PACKAGE-$ac_stdint_h) +ac_cv_stdint_message="$ac_cv_stdint_message" +ac_cv_header_stdint_t="$ac_cv_header_stdint_t" +ac_cv_header_stdint_x="$ac_cv_header_stdint_x" +ac_cv_header_stdint_o="$ac_cv_header_stdint_o" +ac_cv_header_stdint_u="$ac_cv_header_stdint_u" +ac_cv_type_uint64_t="$ac_cv_type_uint64_t" +ac_cv_type_u_int64_t="$ac_cv_type_u_int64_t" +ac_cv_char_data_model="$ac_cv_char_data_model" +ac_cv_long_data_model="$ac_cv_long_data_model" +ac_cv_type_int_least32_t="$ac_cv_type_int_least32_t" +ac_cv_type_int_fast32_t="$ac_cv_type_int_fast32_t" +ac_cv_type_intmax_t="$ac_cv_type_intmax_t" +]) +]) diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/Makefile.am /tmp/1tgnNoYBLI/dirac-1.0.2/Makefile.am --- dirac-0.9.1/Makefile.am 2007-05-15 13:40:20.000000000 +0100 +++ dirac-1.0.2/Makefile.am 2008-10-01 06:33:56.000000000 +0100 @@ -1,8 +1,9 @@ -# $Id: Makefile.am,v 1.18 2007/05/15 12:40:20 asuraparaju Exp $ +# $Id: Makefile.am,v 1.22 2008/10/01 05:33:56 asuraparaju Exp $ # -SUBDIRS = libdirac_byteio libdirac_common libdirac_motionest libdirac_encoder libdirac_decoder \ -encoder decoder util $(CPPUNITTESTS_DIR) tests $(DOC_DIR) win32 +SUBDIRS = libdirac_byteio libdirac_common libdirac_motionest libdirac_encoder \ + libdirac_decoder encoder decoder util $(CPPUNITTESTS_DIR) \ + tests $(DOC_DIR) win32 .PHONY: valgrind-check valgrind-check: @@ -14,14 +15,12 @@ DOC_DIR = endif -if HAVE_LATEX -DOC_DIR = doc -endif - if HAVE_CPPUNIT CPPUNITTESTS_DIR = unit_tests endif +EXTRA_DIST = bootstrap + pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = dirac.pc @@ -61,6 +60,7 @@ .PHONY: conversion conversion: + for dir in "libdirac_common" "libdirac_encoder" ; do (cd $$dir && $(MAKE) $(AM_MAKEFLAGS)) ; done cd util/conversion && $(MAKE) $(AM_MAKEFLAGS) .PHONY: unit_tests diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/Makefile.in --- dirac-0.9.1/Makefile.in 2008-01-26 12:30:39.000000000 +0000 +++ dirac-1.0.2/Makefile.in 2009-02-11 01:43:39.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in 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. @@ -14,18 +14,14 @@ @SET_MAKE@ -# $Id: Makefile.am,v 1.18 2007/05/15 12:40:20 asuraparaju Exp $ +# $Id: Makefile.am,v 1.22 2008/10/01 05:33:56 asuraparaju Exp $ # -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = . am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -39,29 +35,31 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ +subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/dirac.pc.in \ $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \ TODO config.guess config.sub depcomp install-sh ltmain.sh \ missing -subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno configure.status.lineno + configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = dirac.pc SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ @@ -71,6 +69,8 @@ am__installdirs = "$(DESTDIR)$(pkgconfigdir)" pkgconfigDATA_INSTALL = $(INSTALL_DATA) DATA = $(pkgconfig_DATA) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = libdirac_byteio libdirac_common libdirac_motionest \ @@ -88,8 +88,7 @@ distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ +ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ @@ -112,62 +111,46 @@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ GENERIC_RELEASE = @GENERIC_RELEASE@ GENERIC_VERSION = @GENERIC_VERSION@ GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBEXT = @LIBEXT@ LIBFLAGS = @LIBFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -176,22 +159,19 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -203,6 +183,7 @@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -221,6 +202,7 @@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -230,15 +212,20 @@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ -SUBDIRS = libdirac_byteio libdirac_common libdirac_motionest libdirac_encoder libdirac_decoder \ -encoder decoder util $(CPPUNITTESTS_DIR) tests $(DOC_DIR) win32 +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = libdirac_byteio libdirac_common libdirac_motionest libdirac_encoder \ + libdirac_decoder encoder decoder util $(CPPUNITTESTS_DIR) \ + tests $(DOC_DIR) win32 @HAVE_DOXYGEN_FALSE@DOC_DIR = @HAVE_DOXYGEN_TRUE@DOC_DIR = doc -@HAVE_LATEX_TRUE@DOC_DIR = doc @HAVE_CPPUNIT_TRUE@CPPUNITTESTS_DIR = unit_tests +EXTRA_DIST = bootstrap pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = dirac.pc all: all-recursive @@ -288,10 +275,9 @@ distclean-libtool: -rm -f libtool -uninstall-info-am: install-pkgconfigDATA: $(pkgconfig_DATA) @$(NORMAL_INSTALL) - test -z "$(pkgconfigdir)" || $(mkdir_p) "$(DESTDIR)$(pkgconfigdir)" + test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" @list='$(pkgconfig_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ @@ -338,8 +324,7 @@ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: +$(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ @@ -383,8 +368,8 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS @@ -409,8 +394,8 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ @@ -420,13 +405,12 @@ CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique @@ -441,24 +425,22 @@ distdir: $(DISTFILES) $(am__remove_distdir) - mkdir $(distdir) - $(mkdir_p) $(distdir)/. $(distdir)/tests - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + test -d $(distdir) || mkdir $(distdir) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -472,7 +454,7 @@ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ @@ -480,6 +462,8 @@ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ @@ -487,7 +471,7 @@ -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz @@ -497,6 +481,10 @@ tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 $(am__remove_distdir) +dist-lzma: distdir + tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma + $(am__remove_distdir) + dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) @@ -523,6 +511,8 @@ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.lzma*) \ + unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ @@ -562,7 +552,7 @@ $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @cd $(distuninstallcheck_dir) \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ @@ -587,7 +577,7 @@ installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(pkgconfigdir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive @@ -635,12 +625,20 @@ install-data-am: install-pkgconfigDATA +install-dvi: install-dvi-recursive + install-exec-am: +install-html: install-html-recursive + install-info: install-info-recursive install-man: +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -661,24 +659,26 @@ ps-am: -uninstall-am: uninstall-info-am uninstall-pkgconfigDATA +uninstall-am: uninstall-pkgconfigDATA -uninstall-info: uninstall-info-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ - check-am clean clean-generic clean-libtool clean-recursive \ - ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ - dist-shar dist-tarZ dist-zip distcheck distclean \ - distclean-generic distclean-libtool distclean-recursive \ - distclean-tags distcleancheck distdir distuninstallcheck dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-exec install-exec-am \ - install-info install-info-am install-man install-pkgconfigDATA \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-generic \ - mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ - tags tags-recursive uninstall uninstall-am uninstall-info-am \ +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am am--refresh check check-am clean clean-generic \ + clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \ + dist-gzip dist-lzma dist-shar dist-tarZ dist-zip distcheck \ + distclean distclean-generic distclean-libtool distclean-tags \ + distcleancheck distdir distuninstallcheck dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-pkgconfigDATA install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am \ uninstall-pkgconfigDATA @@ -719,6 +719,7 @@ .PHONY: conversion conversion: + for dir in "libdirac_common" "libdirac_encoder" ; do (cd $$dir && $(MAKE) $(AM_MAKEFLAGS)) ; done cd util/conversion && $(MAKE) $(AM_MAKEFLAGS) .PHONY: unit_tests diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/missing /tmp/1tgnNoYBLI/dirac-1.0.2/missing --- dirac-0.9.1/missing 2008-01-26 12:30:35.000000000 +0000 +++ dirac-1.0.2/missing 2009-02-11 01:43:37.000000000 +0000 @@ -1,9 +1,9 @@ #! /bin/sh # Common stub for a few missing GNU programs while installing. -scriptversion=2005-06-08.21 +scriptversion=2006-05-10.23 -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005 +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. @@ -33,6 +33,8 @@ fi run=: +sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' +sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # In the cases where this matters, `missing' is being run in the # srcdir already. @@ -44,7 +46,7 @@ msg="missing on your system" -case "$1" in +case $1 in --run) # Try to run requested program, and just exit if it succeeds. run= @@ -77,6 +79,7 @@ aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' + autom4te touch the output file, or create a stub one automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c @@ -106,7 +109,7 @@ # Now exit if we have it, but it failed. Also exit now if we # don't have it and --version was passed (most likely to detect # the program). -case "$1" in +case $1 in lex|yacc) # Not GNU programs, they don't have --version. ;; @@ -135,7 +138,7 @@ # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. -case "$1" in +case $1 in aclocal*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if @@ -164,7 +167,7 @@ test -z "$files" && files="config.h" touch_files= for f in $files; do - case "$f" in + case $f in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; @@ -192,8 +195,8 @@ You can get \`$1' as part of \`Autoconf' from any GNU archive site." - file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` - test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else @@ -214,25 +217,25 @@ in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h - if [ $# -ne 1 ]; then + if test $# -ne 1; then eval LASTARG="\${$#}" - case "$LASTARG" in + case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if [ -f "$SRCFILE" ]; then + if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if [ -f "$SRCFILE" ]; then + if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi - if [ ! -f y.tab.h ]; then + if test ! -f y.tab.h; then echo >y.tab.h fi - if [ ! -f y.tab.c ]; then + if test ! -f y.tab.c; then echo 'main() { return 0; }' >y.tab.c fi ;; @@ -244,18 +247,18 @@ in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c - if [ $# -ne 1 ]; then + if test $# -ne 1; then eval LASTARG="\${$#}" - case "$LASTARG" in + case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if [ -f "$SRCFILE" ]; then + if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi - if [ ! -f lex.yy.c ]; then + if test ! -f lex.yy.c; then echo 'main() { return 0; }' >lex.yy.c fi ;; @@ -267,11 +270,9 @@ \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` - if test -z "$file"; then - file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` - fi - if [ -f "$file" ]; then + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` + if test -f "$file"; then touch $file else test -z "$file" || exec >$file @@ -289,11 +290,17 @@ DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." # The file to touch is that specified with -o ... - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -z "$file"; then # ... or it is the one specified with @setfilename ... infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile` + file=`sed -n ' + /^@setfilename/{ + s/.* \([^ ]*\) *$/\1/ + p + q + }' $infile` # ... or it is derived from the source name (dir/f.texi becomes f.info) test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info fi @@ -317,13 +324,13 @@ fi firstarg="$1" if shift; then - case "$firstarg" in + case $firstarg in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" "$@" && exit 0 ;; esac - case "$firstarg" in + case $firstarg in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" "$@" && exit 0 diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/NEWS /tmp/1tgnNoYBLI/dirac-1.0.2/NEWS --- dirac-0.9.1/NEWS 2008-01-26 12:02:52.000000000 +0000 +++ dirac-1.0.2/NEWS 2009-02-10 00:17:23.000000000 +0000 @@ -1,3 +1,71 @@ +dirac-1.0.2 +=========== +This a a minor release complying with the latest Dirac Bytestream +Specification 2.2.3. + +- Improved compression performance for small picture sizes. +- Improved compression performance at low bit-rates. +- Included macros to check the API version. +- Improved motion estimation. +- New 422 <-> 420 conversion utilities for interlaced video. +- New functionality added to encoder API. The programmer's guide has + been modified accordingly. +- Fixed bugs in handling DC subband. + +dirac-1.0.0 +=========== +This a a major release complying with the latest Dirac Bytestream Specification +Dirac 2.2.2. + +- Adaptive GOP structure. +- Improved constant bit-rate coding. +- Improved motion estimation. +- Improved pre-filtering. +- Major code refactor of encoder classes. +- Added conversion utility for horizontal 3/4 filtering. +- DirectShow Filter released to be able to play back Dirac v2.2.2 files + in Windows Media Player. +- For more info on Dirac go to http://diracvideo.org + +dirac_0.10.0 +============ +This is a Beta release complying with the latest Dirac Bytestream Specification +Dirac 2.2.0. + +- Code refactor to distinguish between fields and frames. Generic term + picture is used instead of frames to indicate either fields or frame. + Public API has changed as a result. +- Added support for various forms of pre-filtering. +- Added support for Ultra High Definition video formats. +- New conversion utilities to convert from packed YUV format to planar + UIV formats and vice versa. +- Improved compression performance in constant bit-rate mode. +- Improved GOP structure. +- Fixed bug in intialising entropy factors while encoding which caused the + encoder to crash when coding losslessly. +- Fixed bug where the decoder would go into a permanent loop when + processing a truncated packet. +- Fixed bug handling end of sequence packets in decoder. These packets + are now handled correctly and the decoder library returns an EOS status to + the user application. +- Fixed encoder bug where not all frames loaded into the encoder were being + coded. The API has been modified to ensure that all encoded frames can + now be retrieved. +- Fixed bug that caused the decoder to go into a loop when processing + non-standard GOP structures. +- Fixed bug with DC value prediction in motion data coding. +- Fixed bug handling edge blocks in motion compensation. +- Fixed bug with perceptual weighting when coding losslessly. +- Fixed bug with rate control when coding in constant bit-rate mode. +- Replaced VS 2005 build environment with Visual Studio 2008 under MS + Windows. +- Bugs fixed: 1944681, 1906788, 1893223, 1874587 +- Released new patches for MPlayer. There is no FFmpeg patch in this + release because Dirac encoding and decoding using Dirac and Schroedinger + libraries is available directly in FFmpeg. +- DirectShow Filter released to be able to play back Dirac v2.2.0 files + in Windows Media Player. + dirac_0.9.1 =========== Minor release complying with the latest Dirac Bytestream Specification diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/.pc/.version /tmp/1tgnNoYBLI/dirac-1.0.2/.pc/.version --- dirac-0.9.1/.pc/.version 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/.pc/.version 2009-04-21 11:24:18.000000000 +0100 @@ -0,0 +1 @@ +2 diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/README /tmp/1tgnNoYBLI/dirac-1.0.2/README --- dirac-0.9.1/README 2008-01-24 11:47:42.000000000 +0000 +++ dirac-1.0.2/README 2009-02-10 00:17:01.000000000 +0000 @@ -1,7 +1,7 @@ README for the Dirac video codec ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -by the BBC R&D Dirac team (dirac@rd.bbc.co.uk) +by the BBC R&D Dirac team (diracinfo@rd.bbc.co.uk) 1. Executive Summary @@ -29,9 +29,8 @@ 2. Documentation ~~~~~~~~~~~~~~~~ -A user guide and a guide to the software is in progress. More details on -running the codec can be found at http://dirac.sourceforge.net/ - +Documentation can be found at +http://diracvideo.org/wiki/index.php/Main_Page#Documentation 3. Building and installing ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -68,7 +67,7 @@ MSYS and Microsoft Visual C++ ----------------------------- - Download and install the no-cost Microsoft Visual C++ 2005 Express + Download and install the no-cost Microsoft Visual C++ 2008 Express Edition from http://msdn.microsoft.com/vstudio/express/visualc/ @@ -81,17 +80,17 @@ Create a .profile file to set up the environment variables required. vi .profile - Include the following three lines in the .profile file. - - PATH=/c/Program\ Files/Microsoft\ Visual\ Studio\ 8/Common7/IDE:/c/Program\ Files/Microsoft\ Visual\ Studio\ 8/VC/BIN:/c/Program\ Files/Microsoft\ Visual\ Studio\ 8/Common7/Tools:/c/Program\ Files/Microsoft\ Visual\ Studio\ 8/SDK/v2.0/bin:/c/WINDOWS/Microsoft.NET/Framework/v2.0.50727:/c/Program\ Files/Microsoft\ Visual\ Studio\ 8/VC/VCPackages:$PATH + Include the following four lines in the .profile file. - INCLUDE=/c/Program\ Files/Microsoft\ Visual\ Studio\ 8/VC/include + PATH=/c/Program\ Files/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE:/c/Program\ Files/Microsoft\ Visual\ Studio\ 9.0/VC/BIN:/c/Program\ Files/Microsoft\ Visual\ Studio\ 9.0/Common7/Tools:/c/WINDOWS/Microsoft.NET/Framework/v3.5:/c/WINDOWS/Microsoft.NET/Framework/v2.0.50727:/c/Program\ Files/Microsoft\ Visual\ Studio\ 9.0/VC/VCPackages:$PATH - LIB=/c/Program\ Files/Microsoft\ Visual\ Studio\ 8/VC/LIB:/c/Program\ Files/Microsoft\ Visual\ Studio\ 8/SDK/v2.0/lib:$LIB + INCLUDE=/c/Program\ Files/Microsoft\ Visual\ Studio\ 9.0/VC/INCLUDE:$INCLUDE + LIB=/c/Program\ Files/Microsoft\ Visual\ Studio\ 9.0/VC/LIB:$LIB - (Replace /c/Program\ Files/Microsoft\ Visual\ Studio\ 8/ with - the location where VC++ 2005 is installed if necessary) + LIBPATH=/c/WINDOWS/Microsoft.NET/Framework/v3.5:/c/WINDOWS/Microsoft.NET/Framework/v2.0.50727:/c/Program\ Files/Microsoft\ Visual\ Studio\ 9.0/VC/LIB:$LIBPATH + (Replace /c/Program\ Files/Microsoft\ Visual\ Studio\ 9/ with + the location where VC++ 2008 is installed if necessary) Exit from the MSYS shell and click on the MSYS icon on the desktop to open a new MSYS shell window for the .profile to take effect. @@ -112,13 +111,13 @@ The INSTALL file documents arguments to ./configure such as --prefix=/usr/local (specify the installation location prefix). - Microsoft Visual C++ .NET 2005 + Microsoft Visual C++ .NET 2008 ------------------------------ - Download and install the no-cost Microsoft Visual C++ 2005 Express + Download and install the no-cost Microsoft Visual C++ 2008 Express Edition from - http://msdn.microsoft.com/vstudio/express/visualc/ - - The MS VC++ 2005 solution and project files are in win32/VisualStudio + http://www.microsoft.com/express/download/ + + The MS VC++ 2008 solution and project files are in win32/VisualStudio directory. Double-click on the solution file, dirac.sln, in the win32/VisualStudio directory. The target 'Everything' builds the codec libraries and utilities. Four build-types are supported @@ -137,61 +136,27 @@ Static-Release-mmx - builds optimised encoder and decoder static libraries with mmx optmisations enabled. - Static libraries are created in the win32/VS2003/lib/ directory. + Static libraries are created in the win32/VisualStudio/build/lib/ directory. Encoder and Decoder dlls and import libraries, encoder and decoder apps are - created in the win32/VisualStudio/bin/ directory. The "C" public - API is exported using the _declspec(dllexport) mechanism. + created in the win32/VisualStudio/build/bin/ directory. The "C" + public API is exported using the _declspec(dllexport) mechanism. Conversion utilites are created in the - win32/VS2003/utils/conversion/ directory. Only static versions are built. + win32/VisualStudio/build/utils/conversion/ directory. Only static + versions are built. Instrumentation utility is created in the - win32/VisualStudio/utils/instrumentation/ directory. Only static - versions are built. - - - Microsoft Visual C++ .NET 2003 - ------------------------------ - - NOTE: Since Visual C++ 2005 Express edition is freely available to - download, and the project and solution files for VC++ 2003 and VC++ - 2005 are different, VC++ 2003 project and solution files will not - be maintained in future releases. So it is suggested that the users - upgrade their VC++ environment to VC++ 2005. - - The MS VC++ .NET 2003 solution and project files are in win32/VS2003 - directory. Double-click on the solution file, dirac.sln, in the - win32/VS2003 directory. The target 'Everything' builds the codec - libraries and utilities. Four build-types are supported - - Debug - builds unoptimised encoder and decoder dlls with debug symbols - Release - builds optimised encoder and decoder dlls - Debug-mmx - builds unoptimised encoder and decoder dlls with debug symbols - and mmx optimisations enabled. - Release-mmx - builds optimised encoder and decoder dlls with mmx - optimisations enabled. - Static-Debug - builds unoptimised encoder and decoder static libraries - with debug symbols - Static-Release - builds optimised encoder and decoder static libraries - Static-Debug-mmx - builds unoptimised encoder and decoder static libraries - with debug symbols and mmx optmisations enabled. - Static-Release-mmx - builds optimised encoder and decoder static libraries - with mmx optmisations enabled. - - Static libraries are created in the win32/VS2003/lib/ directory. + win32/VisualStudio/build/utils/instrumentation/ directory. Only + static versions are built. - Encoder and Decoder dlls and import libraries, encoder and decoder apps are - created in the win32/VS2003/bin/ directory. The "C" public API - is exported using the _declspec(dllexport) mechanism. - Conversion utilites are created in the - win32/VS2003/utils/conversion/ directory. Only static versions - are built. - - Instrumentation utility is created in the - win32/VS2003/utils/instrumentation/ directory. Only static - versions are built. + Older editions of Microsoft Visual C++ (e.g. 2003 and 2005) + ----------------------------------------------------------- + NOTE: Since Visual C++ 2008 Express edition is freely available to + download, older versions of the Visual C++ editions are no longer + supported. So it is suggested that the users upgrade their VC++ environment + to VC++ 2008. 4. Running the example programs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -375,6 +340,12 @@ HD1080I50 : width=1920; height=1080; 4:2:2 format; 25 frames/sec HD1080P60 : width=1920; height=1080; 4:2:2 format; 59.94 frames/sec HD1080P50 : width=1920; height=1080; 4:2:2 format; 50 frames/sec +DC2K24 : width=2048; height=1080; 4:2:2 format; 24 frames/sec +DC4K24 : width=4096; height=2160; 4:2:2 format; 24 frames/sec +UHDTV4K60 : width=3840; height=2160; 4:2:2 format; 59.94 frames/sec +UHDTV4K50 : width=3840; height=2160; 4:2:2 format; 50 frames/sec +UHDTV8K60 : width=7680; height=4320; 4:2:2 format; 59.94 frames/sec +UHDTV8K50 : width=7680; height=4320; 4:2:2 format; 50 frames/sec The default format used is CUSTOM format which has the following preset values width=640; height=480; 4:2:0 format; 23.97 frames/sec. @@ -394,7 +365,7 @@ Solution - dirac_encoder -SD576I50 -width 720 -height 486 -fr 29.97 -cformat YUV422P -qf 7 test.yuv test_out.drc + dirac_encoder -SD576I50 -width 720 -height 486 -fr 29.97 -cformat YUV422P -qf 5.5 test.yuv test_out.drc Source parameters that affect coding are: @@ -431,10 +402,10 @@ cpd : normalised viewing distance parameter, in cycles per degree. iwlt_filter : transform filter to use when encoding INTRA frames, Valid values are DD9_7, LEGALL5_3, DD13_7, HAAR0, HAAR1, FIDELITY, - DAUB97. Default value is DD9_5. + DAUB97. Default value is DD13_7. rwlt_filter : transform filter to use when encoding INTER frames, Valid values are DD9_7, LEGALL5_3, DD13_7, HAAR0, HAAR1, FIDELITY, - DAUB97. Default value is LEGALL5_3. + DAUB97. Default value is DD13_7. wlt_depth : transform depth, i.e number of times the component is split while applying the wavelet transform no_spartition : Do not split a subband into coefficient blocks before @@ -442,18 +413,22 @@ multi_quants : If subbands are split into multiple coefficient blocks before entropy coding, assign different quantisers to each block within the subband. -denoise : Apply a denoising filter to the input video before encoding - (note PSNR statistics will be computed relative to the denoised - video if -local is enabled) +prefilter : Prefilter to apply to input video before encoding. The name of + the filter to be used and the filter strength have to be + supplied. Valid filter names are NO_PF, CWM, RECTLP and + DIAGLP. Filter strenth range should be in the range 0-10. + (note PSNR statistics will be computed relative to the + filtered video if -local is enabled) lossless : Lossless coding.(overrides -qf and -targetrate) mv_prec : Motion vector precision. Valid values are 1 (Pixel precision), 1/2 (half-pixel precision), 1/4 (quarter pixel precision which is the default), 1/8 ( Eighth pixel precision). full_search : Use full search motion estimation +combined_me : Use combination of all three components to do motion estimation field_coding : Code the input video as fields instead of frames. Default coding is frames. -use_vlc : Use VLC for entropy coding of coefficients instead of arithmetic - coding. +use_vlc : Use VLC for entropy coding of coefficients instead of + arithmetic coding. Modifying L1_sep and num_L1 allows for new GOP structures to be used, and should be entirely safe. There are two non-GOP modes that can also be used for encoding: setting num_L1=0 gives I-frame only coding, and setting L1_sep to @@ -467,7 +442,7 @@ perceptual weighting altogether. For more information, see the algorithm documentation on the website: -http://dirac.sourceforge.net +http://diracvideo.org/wiki/index.php/Dirac_Algorithm Other options. The encoder also supports some other options, which are diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/tests/create_dirac_testfile.pl /tmp/1tgnNoYBLI/dirac-1.0.2/tests/create_dirac_testfile.pl --- dirac-0.9.1/tests/create_dirac_testfile.pl 2005-05-20 13:44:59.000000000 +0100 +++ dirac-1.0.2/tests/create_dirac_testfile.pl 2005-05-20 13:44:59.000000000 +0100 @@ -1,5 +1,5 @@ #!/usr/bin/perl -# $Id: create_dirac_testfile.pl,v 1.3 2005/05/20 12:44:59 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +# $Id: create_dirac_testfile.pl,v 1.3 2005/05/20 12:44:59 asuraparaju Exp $ $Name: Dirac_1_0_2 $ # use strict; use File::Basename; diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/tests/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/tests/Makefile.in --- dirac-0.9.1/tests/Makefile.in 2008-01-26 12:30:37.000000000 +0000 +++ dirac-1.0.2/tests/Makefile.in 2009-02-11 01:43:38.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in 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. @@ -17,15 +17,11 @@ # $Id: Makefile.am,v 1.10 2007/03/23 15:32:54 asuraparaju Exp $ # -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -43,7 +39,8 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/at_wrap.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -56,8 +53,7 @@ DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ +ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ @@ -80,62 +76,46 @@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ GENERIC_RELEASE = @GENERIC_RELEASE@ GENERIC_VERSION = @GENERIC_VERSION@ GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBEXT = @LIBEXT@ LIBFLAGS = @LIBFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -144,22 +124,19 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -171,6 +148,7 @@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -189,6 +167,7 @@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -198,8 +177,12 @@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ TESTSUITE_AT = testsuite.at colourbars.at unittests.at samples.at TESTSUITE = $(srcdir)/testsuite EXTRA_DIST = $(TESTSUITE_AT) testsuite package.m4 colourbars_420.yuv create_dirac_testfile.pl @@ -249,7 +232,7 @@ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ install-binSCRIPTS: $(bin_SCRIPTS) @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_SCRIPTS)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f $$d$$p; then \ @@ -272,10 +255,6 @@ clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: tags: TAGS TAGS: @@ -284,22 +263,21 @@ distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -317,7 +295,7 @@ all-am: Makefile $(SCRIPTS) installdirs: for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am @@ -352,7 +330,7 @@ distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am @@ -366,12 +344,20 @@ install-data-am: +install-dvi: install-dvi-am + install-exec-am: install-binSCRIPTS +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: installcheck-local maintainer-clean: maintainer-clean-am @@ -390,18 +376,22 @@ ps-am: -uninstall-am: uninstall-binSCRIPTS uninstall-info-am +uninstall-am: uninstall-binSCRIPTS + +.MAKE: install-am install-strip .PHONY: all all-am check check-am check-local clean clean-generic \ clean-libtool clean-local distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-binSCRIPTS install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ installcheck-am installcheck-local installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - uninstall uninstall-am uninstall-binSCRIPTS uninstall-info-am + uninstall uninstall-am uninstall-binSCRIPTS $(srcdir)/package.m4: $(top_srcdir)/configure.ac diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/tests/samples.at /tmp/1tgnNoYBLI/dirac-1.0.2/tests/samples.at --- dirac-0.9.1/tests/samples.at 2007-12-05 01:42:41.000000000 +0000 +++ dirac-1.0.2/tests/samples.at 2009-02-09 09:45:47.000000000 +0000 @@ -90,79 +90,205 @@ then preset="-SD576I50"; #luma block parameters - xblen=12; - xbsep=8; + xblen=16; + xbsep=12; yblen=12; ybsep=8; + bitrate="2000" elif test $width -eq 1280 || test $height -eq 720; then preset="-HD720P50"; #luma block parameters - xblen=16; - xbsep=12; - yblen=16 - ybsep=12; - extras="-fr 25"; // sample data is 25 fps + xblen=12; + xbsep=8; + yblen=24; + ybsep=16; + extras="-fr 25"; #sample data is 25 fps + bitrate="4000" elif test $width -eq 1920 || test $height -eq 1080; then preset="-HD1080I50"; #luma block parameters - xblen=24; - xbsep=16; - yblen=24; - ybsep=16; + xblen=16; + xbsep=12; + yblen=12; + ybsep=8; + bitrate="8000" +elif test $width -eq 176 || test $height -eq 144; +then + preset="-QCIF"; + #luma block parameters + xblen=8; + xbsep=4; + yblen=8; + ybsep=4; + bitrate="100" else #luma block parameters - xblen=12; - xbsep=8; + xblen=24; + xbsep=16; yblen=12; ybsep=8; preset="-CIF"; + bitrate="500" fi #set Motion vector precision here. Possible values are 1, 1/2, 1/4 and -# 1/8. Default value is 1/4 +# 1/8. Default value is 1/2 mv_prec=1/4 -echo "$samp $preset $chroma $width $height $mv_prec $extras" +#extras=`echo $extras`" -L1_sep 6 -stop 6" #iframe tests # progressive -AT_CHECK([at_wrap dirac_encoder -local -num_L1 0 $preset -qf 7 -width $width -height $height -cformat $chroma $extras $samp ../../$iframe_encout], 0, [ignore]) +# constant quality +echo "iframe $samp $preset $chroma $width $height $mv_prec $extras" +AT_CHECK([at_wrap dirac_encoder -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../$iframe_encout], 0, [ignore]) AT_CHECK([at_wrap dirac_decoder ../../$iframe_encout ../../$iframe_decout], 0, [ignore]) AT_CHECK([cmp ../../$iframe_encout.localdec.yuv ../../$iframe_decout]) +# constant bit-rate +echo "iframe $samp $preset $chroma $width $height $mv_prec $extras $bitrate" +AT_CHECK([at_wrap dirac_encoder -targetrate $bitrate -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../$bitrate"Kbps_"$iframe_encout], 0, [ignore]) +AT_CHECK([at_wrap dirac_decoder ../../$bitrate"Kbps_"$iframe_encout ../../$bitrate"Kbps_"$iframe_decout], 0, [ignore]) +AT_CHECK([cmp ../../$bitrate"Kbps_"$iframe_encout.localdec.yuv ../../$bitrate"Kbps_"$iframe_decout]) +# lossless +echo "iframe lossless $samp $preset $chroma $width $height $mv_prec $extras" +AT_CHECK([at_wrap dirac_encoder -lossless -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../"lossless_"$iframe_encout], 0, [ignore]) +AT_CHECK([at_wrap dirac_decoder ../../"lossless_"$iframe_encout ../../"lossless_"$iframe_decout], 0, [ignore]) +AT_CHECK([cmp ../../"lossless_"$iframe_encout.localdec.yuv ../../"lossless_"$iframe_decout]) +AT_CHECK([cmp $samp ../../"lossless_"$iframe_decout]) + # interlaced -AT_CHECK([at_wrap dirac_encoder -field_coding -local -num_L1 0 $preset -qf 7 -width $width -height $height -cformat $chroma $extras $samp ../../"inter_"$iframe_encout], 0, [ignore]) +# constant quality +echo "interlaced iframe $samp $preset $chroma $width $height $mv_prec $extras" +AT_CHECK([at_wrap dirac_encoder -field_coding -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../"inter_"$iframe_encout], 0, [ignore]) AT_CHECK([at_wrap dirac_decoder ../../"inter_"$iframe_encout ../../"inter_"$iframe_decout], 0, [ignore]) +# constant bit-rate +echo "interlaced iframe $samp $preset $chroma $width $height $mv_prec $extras $bitrate" +AT_CHECK([at_wrap dirac_encoder -targetrate $bitrate -field_coding -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../$bitrate"Kbps_inter_"$iframe_encout], 0, [ignore]) +AT_CHECK([at_wrap dirac_decoder ../../$bitrate"Kbps_inter_"$iframe_encout ../../$bitrate"Kbps_inter_"$iframe_decout], 0, [ignore]) +# lossless +echo "interlaced iframe lossless $samp $preset $chroma $width $height $mv_prec $extras" +AT_CHECK([at_wrap dirac_encoder -lossless -field_coding -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../"lossless_inter_"$iframe_encout], 0, [ignore]) +AT_CHECK([at_wrap dirac_decoder ../../"lossless_inter_"$iframe_encout ../../"lossless_inter_"$iframe_decout], 0, [ignore]) +AT_CHECK([cmp $samp ../../"lossless_inter_"$iframe_decout]) + + #vc-2 stream tests # progressive -AT_CHECK([at_wrap dirac_encoder -use_vlc -local -num_L1 0 $preset -qf 7 -width $width -height $height -cformat $chroma $extras $samp ../../$vc2_encout], 0, [ignore]) +# constant quality +AT_CHECK([at_wrap dirac_encoder -use_vlc -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../$vc2_encout], 0, [ignore]) AT_CHECK([at_wrap dirac_decoder ../../$vc2_encout ../../$vc2_decout], 0, [ignore]) AT_CHECK([cmp ../../$vc2_encout.localdec.yuv ../../$vc2_decout]) +# constant bit-rate +AT_CHECK([at_wrap dirac_encoder -targetrate $bitrate -use_vlc -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../$bitrate"Kbps_"$vc2_encout], 0, [ignore]) +AT_CHECK([at_wrap dirac_decoder ../../$bitrate"Kbps_"$vc2_encout ../../$bitrate"Kbps_"$vc2_decout], 0, [ignore]) +AT_CHECK([cmp ../../$bitrate"Kbps_"$vc2_encout.localdec.yuv ../../$bitrate"Kbps_"$vc2_decout]) +# lossless +AT_CHECK([at_wrap dirac_encoder -lossless -use_vlc -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../"lossless_"$vc2_encout], 0, [ignore]) +AT_CHECK([at_wrap dirac_decoder ../../"lossless_"$vc2_encout ../../"lossless_"$vc2_decout], 0, [ignore]) +AT_CHECK([cmp ../../"lossless_"$vc2_encout.localdec.yuv ../../"lossless_"$vc2_decout]) +AT_CHECK([cmp $samp ../../"lossless_"$vc2_decout]) + # interlaced -AT_CHECK([at_wrap dirac_encoder -field_coding -use_vlc -local -num_L1 0 $preset -qf 7 -width $width -height $height -cformat $chroma $extras $samp ../../"inter_"$vc2_encout], 0, [ignore]) +# constant quality +AT_CHECK([at_wrap dirac_encoder -field_coding -use_vlc -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../"inter_"$vc2_encout], 0, [ignore]) AT_CHECK([at_wrap dirac_decoder ../../"inter_"$vc2_encout ../../"inter_"$vc2_decout], 0, [ignore]) +# constant bit-rate +AT_CHECK([at_wrap dirac_encoder -targetrate $bitrate -field_coding -use_vlc -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../$bitrate"Kbps_inter_"$vc2_encout], 0, [ignore]) +AT_CHECK([at_wrap dirac_decoder ../../$bitrate"Kbps_inter_"$vc2_encout ../../$bitrate"Kbps_inter_"$vc2_decout], 0, [ignore]) +# lossless +AT_CHECK([at_wrap dirac_encoder -lossless -field_coding -use_vlc -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../"lossless_inter_"$vc2_encout], 0, [ignore]) +AT_CHECK([at_wrap dirac_decoder ../../"lossless_inter_"$vc2_encout ../../"lossless_inter_"$vc2_decout], 0, [ignore]) +AT_CHECK([cmp $samp ../../"lossless_inter_"$vc2_decout]) #Long-GOP tests # progressive -AT_CHECK([at_wrap dirac_encoder -local $preset -qf 7 -width $width -height $height -cformat $chroma -xblen $xblen -xbsep $xbsep -yblen $yblen -ybsep $ybsep -mv_prec $mv_prec $extras $samp ../../$encout], 0, [ignore]) +# constant quality +AT_CHECK([at_wrap dirac_encoder -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../$encout], 0, [ignore]) AT_CHECK([at_wrap dirac_decoder ../../$encout ../../$decout], 0, [ignore]) AT_CHECK([cmp ../../$encout.localdec.yuv ../../$decout]) -AT_CHECK([at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_mc_instr.yuv -motion_colour -clip 50], 0) -AT_CHECK([at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_ma_instr.yuv -motion_arrows -clip 50], 0) -AT_CHECK([at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_mca_instr.yuv -motion_colour_arrows -clip 50], 0) -AT_CHECK([at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_spm_instr.yuv -split_mode -clip 50], 0) -AT_CHECK([at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_sad_instr.yuv -sad -clip 50], 0) -AT_CHECK([at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_pred_instr.yuv -pred_mode -clip 50], 0) +AT_CHECK([at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_mc_instr.yuv -motion_colour -clip 50], 0, [ignore]) +AT_CHECK([at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_ma_instr.yuv -motion_arrows -clip 50], 0, [ignore]) +AT_CHECK([at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_mca_instr.yuv -motion_colour_arrows -clip 50], 0, [ignore]) +AT_CHECK([at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_spm_instr.yuv -split_mode -clip 50], 0, [ignore]) +AT_CHECK([at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_sad_instr.yuv -sad -clip 50], 0, [ignore]) +AT_CHECK([at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_pred_instr.yuv -pred_mode -clip 50], 0, [ignore]) +# modified mc blocks and mv_prec +AT_CHECK([at_wrap dirac_encoder -local $preset -width $width -height $height -cformat $chroma -xblen $xblen -xbsep $xbsep -yblen $yblen -ybsep $ybsep -mv_prec $mv_prec $extras $samp ../../"mod_block_"$encout], 0, [ignore]) +AT_CHECK([at_wrap dirac_decoder ../../"mod_block_"$encout ../../"mod_block_"$decout], 0, [ignore]) +AT_CHECK([cmp ../../"mod_block_"$encout.localdec.yuv ../../"mod_block_"$decout]) +# constant bit-rate +AT_CHECK([at_wrap dirac_encoder -targetrate $bitrate -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../$bitrate"Kbps_"$encout], 0, [ignore]) +AT_CHECK([at_wrap dirac_decoder ../../$bitrate"Kbps_"$encout ../../$bitrate"Kbps_"$decout], 0, [ignore]) +AT_CHECK([cmp ../../$bitrate"Kbps_"$encout.localdec.yuv ../../$bitrate"Kbps_"$decout]) +# lossless +AT_CHECK([at_wrap dirac_encoder -lossless -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"lossless_"$encout], 0, [ignore]) +AT_CHECK([at_wrap dirac_decoder ../../"lossless_"$encout ../../"lossless_"$decout], 0, [ignore]) +AT_CHECK([cmp ../../"lossless_"$encout.localdec.yuv ../../"lossless_"$decout]) +AT_CHECK([cmp $samp ../../"lossless_"$decout]) +# modified GOP structure +AT_CHECK([at_wrap dirac_encoder -L1_sep 6 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"L1sep6_"$encout], 0, [ignore]) +AT_CHECK([at_wrap dirac_decoder ../../"L1sep6_"$encout ../../"L1sep6_"$decout], 0, [ignore]) +AT_CHECK([cmp ../../"L1sep6_"$encout.localdec.yuv ../../"L1sep6_"$decout]) +# pre-filter CWM +AT_CHECK([at_wrap dirac_encoder -prefilter CWM 5 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"cwm5_"$encout], 0, [ignore]) +AT_CHECK([at_wrap dirac_decoder ../../"cwm5_"$encout ../../"cwm5_"$decout], 0, [ignore]) +AT_CHECK([cmp ../../"cwm5_"$encout.localdec.yuv ../../"cwm5_"$decout]) +# pre-filter RECTLP +AT_CHECK([at_wrap dirac_encoder -prefilter RECTLP 5 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"rectlp5_"$encout], 0, [ignore]) +AT_CHECK([at_wrap dirac_decoder ../../"rectlp5_"$encout ../../"rectlp5_"$decout], 0, [ignore]) +AT_CHECK([cmp ../../"rectlp5_"$encout.localdec.yuv ../../"rectlp5_"$decout]) +# pre-filter DIAGLP +AT_CHECK([at_wrap dirac_encoder -prefilter DIAGLP 5 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"diaglp5_"$encout], 0, [ignore]) +AT_CHECK([at_wrap dirac_decoder ../../"diaglp5_"$encout ../../"diaglp5_"$decout], 0, [ignore]) +AT_CHECK([cmp ../../"diaglp5_"$encout.localdec.yuv ../../"diaglp5_"$decout]) +# combined_me +AT_CHECK([at_wrap dirac_encoder -combined_me -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"combined_me_"$encout], 0, [ignore]) +AT_CHECK([at_wrap dirac_decoder ../../"combined_me_"$encout ../../"combined_me_"$decout], 0, [ignore]) +AT_CHECK([cmp ../../"combined_me_"$encout.localdec.yuv ../../"combined_me_"$decout]) +# full search +#AT_CHECK([at_wrap dirac_encoder -full_search 32 32 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"full_search_"$encout], 0, [ignore]) +#AT_CHECK([at_wrap dirac_decoder ../../"full_search_"$encout ../../"full_search_"$decout], 0, [ignore]) +#AT_CHECK([cmp ../../"full_search_"$encout.localdec.yuv ../../"full_search_"$decout]) + # interlaced -AT_CHECK([at_wrap dirac_encoder -field_coding -local $preset -qf 7 -width $width -height $height -cformat $chroma -xblen $xblen -xbsep $xbsep -yblen $yblen -ybsep $ybsep -mv_prec $mv_prec $extras $samp ../../"inter_"$encout], 0, [ignore]) +# constant quality +AT_CHECK([at_wrap dirac_encoder -field_coding -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"inter_"$encout], 0, [ignore]) AT_CHECK([at_wrap dirac_decoder ../../"inter_"$encout ../../"inter_"$decout], 0, [ignore]) -AT_CHECK([at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_mc_instr.yuv -motion_colour -clip 50], 0) -AT_CHECK([at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_ma_instr.yuv -motion_arrows -clip 50], 0) -AT_CHECK([at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_mca_instr.yuv -motion_colour_arrows -clip 50], 0) -AT_CHECK([at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_spm_instr.yuv -split_mode -clip 50], 0) -AT_CHECK([at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_sad_instr.yuv -sad -clip 50], 0) -AT_CHECK([at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_pred_instr.yuv -pred_mode -clip 50], 0) - +AT_CHECK([at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_mc_instr.yuv -motion_colour -clip 50], 0, [ignore]) +AT_CHECK([at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_ma_instr.yuv -motion_arrows -clip 50], 0, [ignore]) +AT_CHECK([at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_mca_instr.yuv -motion_colour_arrows -clip 50], 0, [ignore]) +AT_CHECK([at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_spm_instr.yuv -split_mode -clip 50], 0, [ignore]) +AT_CHECK([at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_sad_instr.yuv -sad -clip 50], 0, [ignore]) +AT_CHECK([at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_pred_instr.yuv -pred_mode -clip 50], 0, [ignore]) +# modified mc blocks and mv_prec +AT_CHECK([at_wrap dirac_encoder -field_coding -local $preset -width $width -height $height -cformat $chroma -xblen $xblen -xbsep $xbsep -yblen $yblen -ybsep $ybsep -mv_prec $mv_prec $extras $samp ../../"inter_mod_block_"$encout], 0, [ignore]) +AT_CHECK([at_wrap dirac_decoder ../../"inter_mod_block_"$encout ../../"inter_mod_block_"$decout], 0, [ignore]) +# constant bit-rate +AT_CHECK([at_wrap dirac_encoder -targetrate $bitrate -field_coding -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../$bitrate"Kbps_inter_"$encout], 0, [ignore]) +AT_CHECK([at_wrap dirac_decoder ../../$bitrate"Kbps_inter_"$encout ../../$bitrate"Kbps_inter_"$decout], 0, [ignore]) +# lossless +AT_CHECK([at_wrap dirac_encoder -lossless -field_coding -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"lossless_inter_"$encout], 0, [ignore]) +AT_CHECK([at_wrap dirac_decoder ../../"lossless_inter_"$encout ../../"lossless_inter_"$decout], 0, [ignore]) +AT_CHECK([cmp $samp ../../"lossless_inter_"$decout]) +# modified GOP structure +AT_CHECK([at_wrap dirac_encoder -L1_sep 6 -field_coding -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"L1sep6_inter_"$encout], 0, [ignore]) +AT_CHECK([at_wrap dirac_decoder ../../"L1sep6_inter_"$encout ../../"L1sep6_inter_"$decout], 0, [ignore]) +# pre-filter CWM +AT_CHECK([at_wrap dirac_encoder -field_coding -prefilter CWM 5 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"inter_cwm5_"$encout], 0, [ignore]) +AT_CHECK([at_wrap dirac_decoder ../../"inter_cwm5_"$encout ../../"inter_cwm5_"$decout], 0, [ignore]) +# pre-filter RECTLP +AT_CHECK([at_wrap dirac_encoder -field_coding -prefilter RECTLP 5 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"inter_rectlp5_"$encout], 0, [ignore]) +AT_CHECK([at_wrap dirac_decoder ../../"inter_rectlp5_"$encout ../../"inter_rectlp5_"$decout], 0, [ignore]) +# pre-filter DIAGLP +AT_CHECK([at_wrap dirac_encoder -field_coding -prefilter DIAGLP 5 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"inter_diaglp5_"$encout], 0, [ignore]) +AT_CHECK([at_wrap dirac_decoder ../../"inter_diaglp5_"$encout ../../"inter_diaglp5_"$decout], 0, [ignore]) +# pre-filter DIAGLP +AT_CHECK([at_wrap dirac_encoder -combined_me -field_coding -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"inter_combined_me_"$encout], 0, [ignore]) +AT_CHECK([at_wrap dirac_decoder ../../"inter_combined_me_"$encout ../../"inter_combined_me_"$decout], 0, [ignore]) +# full search ME +#AT_CHECK([at_wrap dirac_encoder -full_search 32 32 -field_coding -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"inter_full_search_"$encout], 0, [ignore]) +#AT_CHECK([at_wrap dirac_decoder ../../"inter_full_search_"$encout ../../"inter_full_search_"$decout], 0, [ignore]) done AT_CLEANUP diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/tests/testsuite /tmp/1tgnNoYBLI/dirac-1.0.2/tests/testsuite --- dirac-0.9.1/tests/testsuite 2008-01-26 12:33:13.000000000 +0000 +++ dirac-1.0.2/tests/testsuite 2009-02-11 01:50:29.000000000 +0000 @@ -1,26 +1,31 @@ #! /bin/sh +# Generated from ../../tests/testsuite.at by GNU Autoconf 2.63. # -# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software -# Foundation, Inc. +# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# Free Software Foundation, Inc. # This test suite is free software; the Free Software Foundation gives # unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## -# Be Bourne compatible +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh + + # PATH needs CR @@ -31,17 +36,45 @@ as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' else - PATH_SEPARATOR=: + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' fi - rm -f conf$$.sh + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } fi # Support unset when possible. @@ -57,8 +90,6 @@ # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) -as_nl=' -' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. @@ -81,7 +112,7 @@ as_myself=$0 fi if test ! -f "$as_myself"; then - echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi @@ -94,17 +125,10 @@ PS4='+ ' # NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - fi -done +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && @@ -126,7 +150,7 @@ $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || -echo X/"$0" | +$as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q @@ -152,7 +176,7 @@ as_have_required=no fi - if test $as_have_required = yes && (eval ": + if test $as_have_required = yes && (eval ": (as_func_return () { (exit \$1) } @@ -213,7 +237,7 @@ else as_candidate_shells= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /usr/bin/posix$PATH_SEPARATOR/bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. @@ -231,19 +255,20 @@ # Try only shells that exist, to save several forks. if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { ("$as_shell") 2> /dev/null <<\_ASEOF -# Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh + : _ASEOF @@ -251,19 +276,20 @@ CONFIG_SHELL=$as_shell as_have_required=yes if { "$as_shell" 2> /dev/null <<\_ASEOF -# Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else - case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh + : (as_func_return () { @@ -333,10 +359,10 @@ if test "x$CONFIG_SHELL" != x; then for as_var in BASH_ENV ENV - do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - done - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi @@ -405,9 +431,10 @@ test \$exitcode = 0") || { echo No shell found that supports shell functions. - echo Please tell autoconf@gnu.org about your system, - echo including any error possibly output before this - echo message + echo Please tell bug-autoconf@gnu.org about your system, + echo including any error possibly output before this message. + echo This can help us improve future autoconf versions. + echo Configuration will now proceed without shell functions. } @@ -443,7 +470,8 @@ s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { { $as_echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +$as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems @@ -471,7 +499,6 @@ *) ECHO_N='-n';; esac - if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr @@ -484,19 +511,22 @@ rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir - mkdir conf$$.dir + mkdir conf$$.dir 2>/dev/null fi -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else as_ln_s='cp -p' -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln + fi else as_ln_s='cp -p' fi @@ -510,19 +540,28 @@ as_mkdir_p=false fi -# Find out whether ``test -x'' works. Don't use a zero-byte file, as -# systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - as_executable_p="test -x" +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' else - as_executable_p=: + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' fi -rm -f conf$$.file +as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -532,32 +571,13 @@ + + SHELL=${CONFIG_SHELL-/bin/sh} # How were we run? at_cli_args="$@" -# Load the config file. -for at_file in atconfig atlocal -do - test -r $at_file || continue - . ./$at_file || { echo "$as_me: error: invalid content: $at_file" >&2 - { (exit 1); exit 1; }; } -done - -# Autoconf <=2.59b set at_top_builddir instead of at_top_build_prefix: -: ${at_top_build_prefix=$at_top_builddir} - -# atconfig delivers names relative to the directory the test suite is -# in, but the groups themselves are run in testsuite-dir/group-dir. -if test -n "$at_top_srcdir"; then - builddir=../.. - for at_dir in srcdir top_srcdir top_build_prefix - do - at_val=`eval echo '${'at_$at_dir'}'` - eval "$at_dir=\$at_val/../.." - done -fi # Not all shells have the 'times' builtin; the subshell is needed to make # sure we discard the 'times: not found' message from the shell. @@ -568,9 +588,9 @@ at_debug_args= # -e sets to true at_errexit_p=false -# Shall we be verbose? +# Shall we be verbose? ':' means no, empty means yes. at_verbose=: -at_quiet=echo +at_quiet= # Shall we keep the debug scripts? Must be `:' when the suite is # run by a debug script, so that the script doesn't remove itself. @@ -581,40 +601,60 @@ at_version_p=false # List test groups? at_list_p=false +# --clean +at_clean=false # Test groups to run at_groups= +# Whether a write failure occurred +at_write_fail=0 -# The directory we are in. +# The directory we run the suite in. Default to . if no -C option. at_dir=`pwd` -# The directory the whole suite works in. -# Should be absolutely to let the user `cd' at will. -at_suite_dir=$at_dir/$as_me.dir -# The file containing the suite. -at_suite_log=$at_dir/$as_me.log -# The file containing the location of the last AT_CHECK. -at_check_line_file=$at_suite_dir/at-check-line -# The file containing the exit status of the last command. -at_status_file=$at_suite_dir/at-status -# The files containing the output of the tested commands. -at_stdout=$at_suite_dir/at-stdout -at_stder1=$at_suite_dir/at-stder1 -at_stderr=$at_suite_dir/at-stderr -# The file containing dates. -at_times_file=$at_suite_dir/at-times +# An absolute reference to this testsuite script. +case $as_myself in + [\\/]* | ?:[\\/]* ) at_myself=$as_myself ;; + * ) at_myself=$at_dir/$as_myself ;; +esac +# Whether -C is in effect. +at_change_dir=false # List of the tested programs. at_tested='' # List of the all the test groups. -at_groups_all=' banner-1 1 banner-2 2 banner-3 3' +at_groups_all=' 1 2 3' # As many question marks as there are digits in the last test group number. # Used to normalize the test group numbers so that `ls' lists them in # numerical order. at_format='?' # Description of all the test groups. -at_help_all='1;unittests.at:3;unittests;; +at_help_all="1;unittests.at:3;unittests;; 2;colourbars.at:3;colourbars;; 3;samples.at:3;samples;; -' +" + +# at_func_validate_ranges [NAME...] +# --------------------------------- +# Validate and normalize the test group number contained in each +# variable NAME. Leading zeroes are treated as decimal. +at_func_validate_ranges () +{ + for at_grp + do + eval at_value=\$$at_grp + if test $at_value -lt 1 || test $at_value -gt 3; then + $as_echo "invalid test group: $at_value" >&2 + exit 1 + fi + case $at_value in + 0*) # We want to treat leading 0 as decimal, like expr and test, but + # at_func_arith treats it as octal if it uses $(( )). + # With XSI shells, ${at_value#${at_value%%[1-9]*}} avoids the + # expr fork, but it is not worth the effort to determine if the + # shell supports XSI when the user can just avoid leading 0. + eval $at_grp='`expr $at_value + 0`' ;; + esac + done +} at_prev= for at_option @@ -646,10 +686,7 @@ ;; --clean | -c ) - test -d "$at_suite_dir" && - find "$at_suite_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; - rm -f -r "$at_suite_dir" "$at_suite_log" - exit 0 + at_clean=: ;; --debug | -d ) @@ -662,7 +699,7 @@ ;; --verbose | -v ) - at_verbose=echo; at_quiet=: + at_verbose=; at_quiet=: ;; --trace | -x ) @@ -670,20 +707,23 @@ ;; [0-9] | [0-9][0-9] | [0-9][0-9][0-9] | [0-9][0-9][0-9][0-9]) + at_func_validate_ranges at_option at_groups="$at_groups$at_option " ;; # Ranges [0-9]- | [0-9][0-9]- | [0-9][0-9][0-9]- | [0-9][0-9][0-9][0-9]-) at_range_start=`echo $at_option |tr -d X-` - at_range=`echo " $at_groups_all " | \ + at_func_validate_ranges at_range_start + at_range=`$as_echo " $at_groups_all " | \ sed -e 's/^.* \('$at_range_start' \)/\1/'` at_groups="$at_groups$at_range " ;; -[0-9] | -[0-9][0-9] | -[0-9][0-9][0-9] | -[0-9][0-9][0-9][0-9]) at_range_end=`echo $at_option |tr -d X-` - at_range=`echo " $at_groups_all " | \ + at_func_validate_ranges at_range_end + at_range=`$as_echo " $at_groups_all " | \ sed -e 's/\( '$at_range_end'\) .*$/\1/'` at_groups="$at_groups$at_range " ;; @@ -701,12 +741,22 @@ at_range_end=$at_range_start at_range_start=$at_tmp fi - at_range=`echo " $at_groups_all " | \ + at_func_validate_ranges at_range_start at_range_end + at_range=`$as_echo " $at_groups_all " | \ sed -e 's/^.*\( '$at_range_start' \)/\1/' \ -e 's/\( '$at_range_end'\) .*$/\1/'` at_groups="$at_groups$at_range " ;; + # Directory selection. + --directory | -C ) + at_prev=--directory + ;; + --directory=* ) + at_change_dir=: + at_dir=$at_optarg + ;; + # Keywords. --keywords | -k ) at_prev=--keywords @@ -728,68 +778,57 @@ ;; esac # It is on purpose that we match the test group titles too. - at_groups_selected=`echo "$at_groups_selected" | + at_groups_selected=`$as_echo "$at_groups_selected" | grep -i $at_invert "^[1-9][^;]*;.*[; ]$at_keyword[ ;]"` done - at_groups_selected=`echo "$at_groups_selected" | sed 's/;.*//'` # Smash the newlines. - at_groups="$at_groups`echo $at_groups_selected` " + at_groups_selected=`$as_echo "$at_groups_selected" | sed 's/;.*//' | + tr "$as_nl" ' ' + ` + at_groups="$at_groups$at_groups_selected " ;; *=*) at_envvar=`expr "x$at_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. - expr "x$at_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid variable name: $at_envvar" >&2 - { (exit 1); exit 1; }; } - at_value=`echo "$at_optarg" | sed "s/'/'\\\\\\\\''/g"` - eval "$at_envvar='$at_value'" + case $at_envvar in + '' | [0-9]* | *[!_$as_cr_alnum]* ) + { { $as_echo "$as_me:$LINENO: error: invalid variable name: $at_envvar" >&5 +$as_echo "$as_me: error: invalid variable name: $at_envvar" >&2;} + { (exit 1); exit 1; }; } ;; + esac + at_value=`$as_echo "$at_optarg" | sed "s/'/'\\\\\\\\''/g"` + # Export now, but save eval for later and for debug scripts. export $at_envvar - # Propagate to debug scripts. at_debug_args="$at_debug_args $at_envvar='$at_value'" ;; - *) echo "$as_me: invalid option: $at_option" >&2 - echo "Try \`$0 --help' for more information." >&2 + *) $as_echo "$as_me: invalid option: $at_option" >&2 + $as_echo "Try \`$0 --help' for more information." >&2 exit 1 ;; esac done +# Verify our last option didn't require an argument +if test -n "$at_prev"; then + { { $as_echo "$as_me:$LINENO: error: \`$at_prev' requires an argument." >&5 +$as_echo "$as_me: error: \`$at_prev' requires an argument." >&2;} + { (exit 1); exit 1; }; } +fi + + # Selected test groups. if test -z "$at_groups"; then at_groups=$at_groups_all else - # Sort the tests, removing duplicates: - at_groups=`echo $at_groups | tr ' ' "$as_nl" | sort -nu` - # and add banners. (Passing at_groups_all is tricky--see the comment - # starting with "Passing at_groups is tricky.") - at_groups=`echo "$at_groups$as_nl $at_groups_all" | - awk 'BEGIN { FS = "@" } # Effectively switch off field splitting. - /^$/ { next } # Ignore the empty line. - !/ / { groups++; selected[$ 0] = 1; next } - # The last line, containing at_groups_all. - { - n = split($ 0, a, " ") - # If there are several tests, select their banners: - if (groups > 1) { - for (i = 1; i <= n; i++) { - if (a[i] ~ /^banner-/) - banner = a[i] - else if (banner != "" && selected[a[i]] == 1) - selected[banner] = 1 - } - } - for (i = 1; i <= n; i++) - if (selected[a[i]] == 1) - list = list " " a[i] - print list - }'` + # Sort the tests, removing duplicates. + at_groups=`$as_echo "$at_groups" | tr ' ' "$as_nl" | sort -nu` fi # Help message. if $at_help_p; then - cat <<_ATEOF + cat <<_ATEOF || at_write_fail=1 Usage: $0 [OPTION]... [VARIABLE=VALUE]... [TESTS] Run all the tests, or the selected TESTS, given by numeric ranges, and @@ -806,7 +845,7 @@ PATH=/tmp/foo-1.0/bin:/src/foo-1.0/bin:\$PATH _ATEOF -cat <<_ATEOF +cat <<_ATEOF || at_write_fail=1 Operation modes: -h, --help print the help message, then exit @@ -814,29 +853,31 @@ -c, --clean remove all the files this test suite might create and exit -l, --list describes all the tests, or the selected TESTS _ATEOF -cat <<_ATEOF +cat <<_ATEOF || at_write_fail=1 Execution tuning: + -C, --directory=DIR + change to directory DIR before starting -k, --keywords=KEYWORDS - select the tests matching all the comma-separated KEYWORDS - multiple \`-k' accumulate; prefixed \`!' negates a KEYWORD + select the tests matching all the comma-separated KEYWORDS + multiple \`-k' accumulate; prefixed \`!' negates a KEYWORD -e, --errexit abort as soon as a test fails; implies --debug -v, --verbose force more detailed output - default for debugging scripts + default for debugging scripts -d, --debug inhibit clean up and top-level logging - default for debugging scripts + default for debugging scripts -x, --trace enable tests shell tracing _ATEOF -cat <<_ATEOF +cat <<_ATEOF || at_write_fail=1 Report bugs to <>. _ATEOF - exit 0 + exit $at_write_fail fi # List of tests. if $at_list_p; then - cat <<_ATEOF + cat <<_ATEOF || at_write_fail=1 test suite: dirac test groups: NUM: FILE-NAME:LINE TEST-GROUP-NAME @@ -846,7 +887,12 @@ # Passing at_groups is tricky. We cannot use it to form a literal string # or regexp because of the limitation of AIX awk. And Solaris' awk # doesn't grok more than 99 fields in a record, so we have to use `split'. - echo "$at_groups$as_nl$at_help_all" | + # at_groups needs to be space-separated for this script to work. + case $at_groups in + *"$as_nl"* ) + at_groups=`$as_echo "$at_groups" | tr "$as_nl" ' '` ;; + esac + $as_echo "$at_groups$as_nl$at_help_all" | awk 'BEGIN { FS = ";" } NR == 1 { for (n = split($ 0, a, " "); n; n--) selected[a[n]] = 1 @@ -857,29 +903,138 @@ printf " %3d: %-18s %s\n", $ 1, $ 2, $ 3 if ($ 4) printf " %s\n", $ 4 } - }' - exit 0 + }' || at_write_fail=1 + exit $at_write_fail fi if $at_version_p; then - echo "$as_me ()" - cat <<\_ACEOF + $as_echo "$as_me ()" && + cat <<\_ACEOF || at_write_fail=1 -Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software -Foundation, Inc. +Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +Free Software Foundation, Inc. This test suite is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF - exit 0 + exit $at_write_fail +fi + +# Should we print banners? at_groups is space-separated for entire test, +# newline-separated if only a subset of the testsuite is run. +case $at_groups in + *' '*' '* | *"$as_nl"*"$as_nl"* ) + at_print_banners=: ;; + * ) at_print_banners=false ;; +esac +# Text for banner N, set to empty once printed. +# Banner 1. unittests.at:1 +# Category starts at test group 1. +at_banner_text_1="Running unit tests" +# Banner 2. colourbars.at:1 +# Category starts at test group 2. +at_banner_text_2="Checking encode and decode of colourbars" +# Banner 3. samples.at:1 +# Category starts at test group 3. +at_banner_text_3="Checking encode and decode of sample data" + +# Take any -C into account. +if $at_change_dir ; then + if test x- = "x$at_dir" ; then + at_dir=./- + fi + test x != "x$at_dir" && cd "$at_dir" \ + || { { $as_echo "$as_me:$LINENO: error: unable to change directory" >&5 +$as_echo "$as_me: error: unable to change directory" >&2;} + { (exit 1); exit 1; }; } + at_dir=`pwd` +fi + +# Load the config files for any default variable assignments. +for at_file in atconfig atlocal +do + test -r $at_file || continue + . ./$at_file || { { $as_echo "$as_me:$LINENO: error: invalid content: $at_file" >&5 +$as_echo "$as_me: error: invalid content: $at_file" >&2;} + { (exit 1); exit 1; }; } +done + +# Autoconf <=2.59b set at_top_builddir instead of at_top_build_prefix: +: ${at_top_build_prefix=$at_top_builddir} + +# Perform any assignments requested during argument parsing. +eval "$at_debug_args" + +# atconfig delivers names relative to the directory the test suite is +# in, but the groups themselves are run in testsuite-dir/group-dir. +if test -n "$at_top_srcdir"; then + builddir=../.. + for at_dir_var in srcdir top_srcdir top_build_prefix + do + at_val=`eval 'as_val=${'at_$at_dir_var'} + $as_echo "$as_val"'` + case $at_val in + [\\/$]* | ?:[\\/]* ) at_prefix= ;; + *) at_prefix=../../ ;; + esac + eval "$at_dir_var=\$at_prefix\$at_val" + done +fi + +## ------------------- ## +## Directory structure ## +## ------------------- ## + +# This is the set of directories and files used by this script +# (non-literals are capitalized): +# +# TESTSUITE - the testsuite +# TESTSUITE.log - summarizes the complete testsuite run +# TESTSUITE.dir/ - created during a run, remains after -d or failed test +# + at-groups/ - during a run: status of all groups in run +# | + NNN/ - during a run: meta-data about test group NNN +# | | + check-line - location (source file and line) of current AT_CHECK +# | | + status - exit status of current AT_CHECK +# | | + stdout - stdout of current AT_CHECK +# | | + stder1 - stderr, including trace +# | | + stderr - stderr, with trace filtered out +# | | + test-source - portion of testsuite that defines group +# | | + times - timestamps for computing duration +# | | + pass - created if group passed +# | | + xpass - created if group xpassed +# | | + fail - created if group failed +# | | + xfail - created if group xfailed +# | | + skip - created if group skipped +# + at-stop - during a run: end the run if this file exists +# + at-source-lines - during a run: cache of TESTSUITE line numbers for extraction +# + 0..NNN/ - created for each group NNN, remains after -d or failed test +# | + TESTSUITE.log - summarizes the group results +# | + ... - files created during the group + +# The directory the whole suite works in. +# Should be absolute to let the user `cd' at will. +at_suite_dir=$at_dir/$as_me.dir +# The file containing the suite. +at_suite_log=$at_dir/$as_me.log +# The directory containing helper files per test group. +at_helper_dir=$at_suite_dir/at-groups +# Stop file: if it exists, do not start new jobs. +at_stop_file=$at_suite_dir/at-stop + +if $at_clean; then + test -d "$at_suite_dir" && + find "$at_suite_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; + rm -f -r "$at_suite_dir" "$at_suite_log" + exit $? fi # Don't take risks: use only absolute directories in PATH. # -# For stand-alone test suites, AUTOTEST_PATH is relative to `.'. +# For stand-alone test suites (ie. atconfig was not found), +# AUTOTEST_PATH is relative to `.'. # # For embedded test suites, AUTOTEST_PATH is relative to the top level # of the package. Then expand it into build/src parts, since users # may create executables in both places. -AUTOTEST_PATH=`echo $AUTOTEST_PATH | sed "s&:&$PATH_SEPARATOR&g"` +AUTOTEST_PATH=`$as_echo "$AUTOTEST_PATH" | sed "s|:|$PATH_SEPARATOR|g"` at_path= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $AUTOTEST_PATH $PATH @@ -910,31 +1065,30 @@ # # There might be directories that don't exist, but don't redirect # builtins' (eg., cd) stderr directly: Ultrix's sh hates that. -PATH= +at_new_path= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $at_path do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - as_dir=`(cd "$as_dir" && pwd) 2>/dev/null` -test -d "$as_dir" || continue -case $PATH in - $as_dir | \ - $as_dir$PATH_SEPARATOR* | \ - *$PATH_SEPARATOR$as_dir | \ - *$PATH_SEPARATOR$as_dir$PATH_SEPARATOR* ) ;; - - '') PATH=$as_dir ;; - *) PATH=$PATH$PATH_SEPARATOR$as_dir ;; + test -d "$as_dir" || continue +case $as_dir in + [\\/]* | ?:[\\/]* ) ;; + * ) as_dir=`(cd "$as_dir" && pwd) 2>/dev/null` ;; +esac +case $PATH_SEPARATOR$at_new_path$PATH_SEPARATOR in + *$PATH_SEPARATOR$as_dir$PATH_SEPARATOR*) ;; + $PATH_SEPARATOR$PATH_SEPARATOR) at_new_path=$as_dir ;; + *) at_new_path=$at_new_path$PATH_SEPARATOR$as_dir ;; esac done IFS=$as_save_IFS +PATH=$at_new_path export PATH # Setting up the FDs. # 5 is the log file. Not to be overwritten if `-d'. - if $at_debug_p; then at_suite_log=/dev/null else @@ -956,14 +1110,16 @@ _ASBOX echo - echo "$as_me: command line was:" - echo " $ $0 $at_cli_args" + $as_echo "$as_me: command line was:" + $as_echo " \$ $0 $at_cli_args" echo # Try to find a few ChangeLogs in case it might help determining the # exact version. Use the relative dir: if the top dir is a symlink, # find will not follow it (and options to follow the links are not - # portable), which would result in no output here. + # portable), which would result in no output here. Prune directories + # matching the package tarname, since they tend to be leftovers from + # `make dist' or `make distcheck' and contain redundant or stale logs. if test -n "$at_top_srcdir"; then cat <<\_ASBOX ## ----------- ## @@ -971,14 +1127,16 @@ ## ----------- ## _ASBOX echo - for at_file in `find "$at_top_srcdir" -name ChangeLog -print` + for at_file in `find "$at_top_srcdir" -name "-*" -prune -o -name ChangeLog -print` do - echo "$as_me: $at_file:" + $as_echo "$as_me: $at_file:" sed 's/^/| /;10q' $at_file echo done - { + fi + + { cat <<_ASUNAME ## --------- ## ## Platform. ## @@ -1008,23 +1166,162 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - echo "PATH: $as_dir" + $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } - echo - fi + echo # Contents of the config files. for at_file in atconfig atlocal do test -r $at_file || continue - echo "$as_me: $at_file:" + $as_echo "$as_me: $at_file:" sed 's/^/| /' $at_file echo done +} >&5 + + +## --------------- ## +## Shell functions ## +## --------------- ## + +# at_func_banner NUMBER +# --------------------- +# Output banner NUMBER, provided the testsuite is running multiple groups +# and this particular banner has not yet been printed. +at_func_banner () +{ + $at_print_banners || return 0 + eval at_banner_text=\$at_banner_text_$1 + test "x$at_banner_text" = x && return 0 + eval at_banner_text_$1= + $as_echo "$as_nl$at_banner_text$as_nl" +} # at_func_banner + +# at_func_check_newline COMMAND +# ----------------------------- +# Test if COMMAND includes a newline and, if so, print a message and return +# exit code 1 +at_func_check_newline () +{ + case "$1" in + *' +'*) echo 'Not enabling shell tracing (command contains an embedded newline)' + return 1 ;; + *) return 0 ;; + esac +} +# at_func_filter_trace EXIT-CODE +# ------------------------------ +# Split the contents of file "$at_stder1" into the "set -x" trace (on stderr) +# and the other lines (on file "$at_stderr"). Return the exit code EXIT-CODE. +at_func_filter_trace () +{ + grep '^ *+' "$at_stder1" >&2 + grep -v '^ *+' "$at_stder1" >"$at_stderr" + return $1 +} + +# at_func_log_failure FILE-LIST +# ----------------------------- +# Copy the files in the list on stdout with a "> " prefix, and exit the shell +# with a failure exit code. +at_func_log_failure () +{ + for file + do $as_echo "$file:"; sed 's/^/> /' "$file"; done + echo 1 > "$at_status_file" + exit 1 +} + +# at_func_check_skip EXIT-CODE +# ---------------------------- +# Check whether EXIT-CODE is the special exit code 77, and if so exit the shell +# with that same exit code. +at_func_check_skip () +{ + case $1 in + 77) echo 77 > "$at_status_file"; exit 77;; + esac +} + +# at_func_check_status EXPECTED EXIT-CODE LINE +# -------------------------------------------- +# Check whether EXIT-CODE is the expected exit code, and if so do nothing. +# Otherwise, if it is 77 exit the shell with that same exit code; if it is +# anything else print an error message and fail the test. +at_func_check_status () +{ + case $2 in + $1 ) ;; + 77) echo 77 > "$at_status_file"; exit 77;; + *) $as_echo "$3: exit code was $2, expected $1" + at_failed=:;; + esac +} + +# at_func_diff_devnull FILE +# ------------------------- +# Emit a diff between /dev/null and FILE. Uses "test -s" to avoid useless +# diff invocations. +at_func_diff_devnull () +{ + test -s "$1" || return 0 + $at_diff "$at_devnull" "$1" +} + +# at_func_test NUMBER +# ------------------- +# Parse out test NUMBER from the tail of this file. +at_func_test () +{ + eval at_sed=\$at_sed$1 + sed "$at_sed" "$at_myself" > "$at_test_source" +} + +# at_func_create_debugging_script +# ------------------------------- +# Create the debugging script $at_group_dir/run which will reproduce the +# current test group. +at_func_create_debugging_script () +{ + { + echo "#! /bin/sh" && + echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\''' && + $as_echo "cd '$at_dir'" && + $as_echo "exec \${CONFIG_SHELL-$SHELL} \"$at_myself\" -v -d $at_debug_args $at_group \${1+\"\$@\"}" && + echo 'exit 1' + } >"$at_group_dir/run" && + chmod +x "$at_group_dir/run" +} + +# at_func_arith +# ------------- +# Arithmetic evaluation, avoids expr if the shell is sane. The +# interpretation of leading zeroes is unspecified. +# +# subshell and eval are needed to keep Solaris sh from bailing out: +if ( eval 'test $(( 1 + 1 )) = 2' ) 2>/dev/null; then + # With "$@", bash does not split positional parameters: + eval 'at_func_arith () + { + at_func_arith_result=$(( $* )) + }' +else + at_func_arith () + { + at_func_arith_result=`expr "$@"` + } +fi + +## ---------------------- ## +## End of shell functions ## +## ---------------------- ## +{ cat <<\_ASBOX ## ---------------- ## ## Tested programs. ## @@ -1048,13 +1345,13 @@ if test -f "$as_dir/$at_program"; then { - echo "$at_srcdir/testsuite.at:25: $as_dir/$at_program --version" - "$as_dir/$at_program" --version + $as_echo "$at_srcdir/testsuite.at:25: $as_dir/$at_program --version" + "$as_dir/$at_program" --version &5 2>&1 else - { { echo "$as_me:$LINENO: error: cannot find $at_program" >&5 -echo "$as_me: error: cannot find $at_program" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot find $at_program" >&5 +$as_echo "$as_me: error: cannot find $at_program" >&2;} { (exit 1); exit 1; }; } fi done @@ -1069,19 +1366,13 @@ at_start_date=`date` at_start_time=`date +%s 2>/dev/null` -echo "$as_me: starting at: $at_start_date" >&5 -at_xpass_list= -at_xfail_list= -at_pass_list= -at_fail_list= -at_skip_list= -at_group_count=0 +$as_echo "$as_me: starting at: $at_start_date" >&5 # Create the master directory if it doesn't already exist. test -d "$at_suite_dir" || mkdir "$at_suite_dir" || - { { echo "$as_me:$LINENO: error: cannot create '$at_suite_dir'" >&5 -echo "$as_me: error: cannot create '$at_suite_dir'" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot create '$at_suite_dir'" >&5 +$as_echo "$as_me: error: cannot create '$at_suite_dir'" >&2;} { (exit 1); exit 1; }; } # Can we diff with `/dev/null'? DU 5.0 refuses. @@ -1100,37 +1391,87 @@ at_diff=diff fi +# Get the last needed group. +for at_group in : $at_groups; do :; done + +# Extract the start and end lines of each test group at the tail +# of this file +awk ' +BEGIN { FS="" } +/^#AT_START_/ { + start = NR +} +/^#AT_STOP_/ { + test = substr ($ 0, 10) + print "at_sed" test "=\"1," start "d;" (NR-1) "q\"" + if (test == "'"$at_group"'") exit +}' "$at_myself" > "$at_suite_dir/at-source-lines" && +. "$at_suite_dir/at-source-lines" || + { { $as_echo "$as_me:$LINENO: error: cannot create test line number cache" >&5 +$as_echo "$as_me: error: cannot create test line number cache" >&2;} + { (exit 1); exit 1; }; } +rm -f "$at_suite_dir/at-source-lines" + +# Set up helper dirs. +rm -rf "$at_helper_dir" && +mkdir "$at_helper_dir" && +cd "$at_helper_dir" && +{ test -z "$at_groups" || mkdir $at_groups; } || +{ { $as_echo "$as_me:$LINENO: error: testsuite directory setup failed" >&5 +$as_echo "$as_me: error: testsuite directory setup failed" >&2;} + { (exit 1); exit 1; }; } + +# Functions for running a test group. We leave the actual +# test group execution outside of a shell function in order +# to avoid hitting zsh 4.x exit status bugs. + +# at_func_group_prepare +# --------------------- +# Prepare running a test group +at_func_group_prepare () +{ + # The directory for additional per-group helper files. + at_job_dir=$at_helper_dir/$at_group + # The file containing the location of the last AT_CHECK. + at_check_line_file=$at_job_dir/check-line + # The file containing the exit status of the last command. + at_status_file=$at_job_dir/status + # The files containing the output of the tested commands. + at_stdout=$at_job_dir/stdout + at_stder1=$at_job_dir/stder1 + at_stderr=$at_job_dir/stderr + # The file containing the code for a test group. + at_test_source=$at_job_dir/test-source + # The file containing dates. + at_times_file=$at_job_dir/times -for at_group in $at_groups -do # Be sure to come back to the top test directory. cd "$at_suite_dir" - case $at_group in - banner-*) - at_group_log=$at_suite_log - ;; + # Clearly separate the test groups when verbose. + $at_first || $at_verbose echo - *) - at_group_normalized=$at_group + at_group_normalized=$at_group - while :; do + eval 'while :; do case $at_group_normalized in #( - $at_format*) break;; + '"$at_format"'*) break;; esac at_group_normalized=0$at_group_normalized - done + done' - # Create a fresh directory for the next test group, and enter. - at_group_dir=$at_suite_dir/$at_group_normalized - at_group_log=$at_group_dir/$as_me.log - if test -d "$at_group_dir"; then - find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; - rm -fr "$at_group_dir" - fi - # Be tolerant if the above `rm' was not able to remove the directory. - { as_dir=$at_group_dir + # Create a fresh directory for the next test group, and enter. + at_group_dir=$at_suite_dir/$at_group_normalized + at_group_log=$at_group_dir/$as_me.log + if test -d "$at_group_dir"; then + find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; + rm -fr "$at_group_dir" || + { $as_echo "$as_me:$LINENO: WARNING: test directory for $at_group_normalized could not be cleaned." >&5 +$as_echo "$as_me: WARNING: test directory for $at_group_normalized could not be cleaned." >&2;} + fi + # Be tolerant if the above `rm' was not able to remove the directory. + { as_dir="$at_group_dir" case $as_dir in #( -*) as_dir=./$as_dir;; esac @@ -1138,7 +1479,7 @@ as_dirs= while :; do case $as_dir in #( - *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" @@ -1147,7 +1488,7 @@ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -echo X"$as_dir" | +$as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -1168,331 +1509,522 @@ test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -echo "$as_me: error: cannot create directory $as_dir" >&2;} + } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } - cd $at_group_dir - ;; - esac echo 0 > "$at_status_file" - # Clearly separate the test groups when verbose. - test $at_group_count != 0 && $at_verbose - # In verbose mode, append to the log file *and* show on - # the standard output; in quiet mode only write to the log - if test $at_verbose = echo; then + # the standard output; in quiet mode only write to the log. + if test -z "$at_verbose"; then at_tee_pipe='tee -a "$at_group_log"' else at_tee_pipe='cat >> "$at_group_log"' fi +} - case $at_group in - - banner-1 ) # Banner 1. unittests.at:1 - cat <<\_ATEOF - -Running unit tests +# at_func_group_postprocess +# ------------------------- +at_func_group_postprocess () +{ + # Be sure to come back to the suite directory, in particular + # since below we might `rm' the group directory we are in currently. + cd "$at_suite_dir" + if test ! -f "$at_check_line_file"; then + sed "s/^ */$as_me: WARNING: /" <<_ATEOF + A failure happened in a test group before any test could be + run. This means that test suite is improperly designed. Please + report this failure to <>. _ATEOF - ;; - - 1 ) # 1. unittests.at:3: unittests - at_setup_line='unittests.at:3' - at_desc='unittests' - $at_quiet $ECHO_N " 1: unittests $ECHO_C" - at_xfail=no - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "1. unittests.at:3: testing ..." - $at_traceon - - -$at_traceoff -echo "$at_srcdir/unittests.at:5: test -x ../../../unit_tests/dirac_unittest || exit 77" -echo unittests.at:5 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - at_trace_this=yes -fi + $as_echo "$at_setup_line" >"$at_check_line_file" + fi + $at_verbose $as_echo_n "$at_group. $at_setup_line: " + $as_echo_n "$at_group. $at_setup_line: " >> "$at_group_log" + case $at_xfail:$at_status in + yes:0) + at_msg="UNEXPECTED PASS" + at_res=xpass + at_errexit=$at_errexit_p + ;; + no:0) + at_msg="ok" + at_res=pass + at_errexit=false + ;; + *:77) + at_msg='skipped ('`cat "$at_check_line_file"`')' + at_res=skip + at_errexit=false + ;; + yes:*) + at_msg='expected failure ('`cat "$at_check_line_file"`')' + at_res=xfail + at_errexit=false + ;; + no:*) + at_msg='FAILED ('`cat "$at_check_line_file"`')' + at_res=fail + at_errexit=$at_errexit_p + ;; + esac + echo "$at_res" > "$at_job_dir/$at_res" + # Make sure there is a separator even with long titles. + $as_echo " $at_msg" + at_log_msg="$at_group. $at_desc ($at_setup_line): $at_msg" + case $at_status in + 0|77) + # $at_times_file is only available if the group succeeded. + # We're not including the group log, so the success message + # is written in the global log separately. But we also + # write to the group log in case they're using -d. + if test -f "$at_times_file"; then + at_log_msg="$at_log_msg ("`sed 1d "$at_times_file"`')' + rm -f "$at_times_file" + fi + $as_echo "$at_log_msg" >> "$at_group_log" + $as_echo "$at_log_msg" >&5 -if test -n "$at_trace_this"; then - ( $at_traceon; test -x ../../../unit_tests/dirac_unittest || exit 77 ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; test -x ../../../unit_tests/dirac_unittest || exit 77 ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi + # Cleanup the group directory, unless the user wants the files. + if $at_debug_p; then + at_func_create_debugging_script + else + if test -d "$at_group_dir"; then + find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; + rm -fr "$at_group_dir" + fi + rm -f "$at_test_source" + fi + ;; + *) + # Upon failure, include the log into the testsuite's global + # log. The failure message is written in the group log. It + # is later included in the global log. + $as_echo "$at_log_msg" >> "$at_group_log" + + # Upon failure, keep the group directory for autopsy, and create + # the debugging script. With -e, do not start any further tests. + at_func_create_debugging_script + if $at_errexit; then + echo stop > "$at_stop_file" + fi + ;; + esac +} -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - *);; -esac -if $at_failed; then +## ------------ ## +## Driver loop. ## +## ------------ ## + +rm -f "$at_stop_file" +at_first=: + +for at_group in $at_groups; do + at_func_group_prepare + if cd "$at_group_dir" && + at_func_test $at_group && + . "$at_test_source"; then :; else + { $as_echo "$as_me:$LINENO: WARNING: unable to parse test group: $at_group" >&5 +$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;} + at_failed=: + fi + at_func_group_postprocess + test -f "$at_stop_file" && break + at_first=false +done - echo 1 > "$at_status_file" - exit 1 -fi +# Wrap up the test suite with summary statistics. +cd "$at_helper_dir" -$at_traceon +# Use ?..???? when the list must remain sorted, the faster * otherwise. +at_pass_list=`for f in */pass; do echo $f; done | sed '/\*/d; s,/pass,,'` +at_skip_list=`for f in */skip; do echo $f; done | sed '/\*/d; s,/skip,,'` +at_xfail_list=`for f in */xfail; do echo $f; done | sed '/\*/d; s,/xfail,,'` +at_xpass_list=`for f in ?/xpass ??/xpass ???/xpass ????/xpass; do + echo $f; done | sed '/?/d; s,/xpass,,'` +at_fail_list=`for f in ?/fail ??/fail ???/fail ????/fail; do + echo $f; done | sed '/?/d; s,/fail,,'` + +set X $at_pass_list $at_xpass_list $at_xfail_list $at_fail_list $at_skip_list +shift; at_group_count=$# +set X $at_xpass_list; shift; at_xpass_count=$#; at_xpass_list=$* +set X $at_xfail_list; shift; at_xfail_count=$# +set X $at_fail_list; shift; at_fail_count=$#; at_fail_list=$* +set X $at_skip_list; shift; at_skip_count=$# + +at_func_arith $at_group_count - $at_skip_count +at_run_count=$at_func_arith_result +at_func_arith $at_xpass_count + $at_fail_count +at_unexpected_count=$at_func_arith_result +at_func_arith $at_xfail_count + $at_fail_count +at_total_fail_count=$at_func_arith_result +# Back to the top directory. +cd "$at_dir" +rm -rf "$at_helper_dir" -$at_traceoff -echo "$at_srcdir/unittests.at:7: at_wrap dirac_unittest" -echo unittests.at:7 >"$at_check_line_file" +# Compute the duration of the suite. +at_stop_date=`date` +at_stop_time=`date +%s 2>/dev/null` +$as_echo "$as_me: ending at: $at_stop_date" >&5 +case $at_start_time,$at_stop_time in + [0-9]*,[0-9]*) + at_func_arith $at_stop_time - $at_start_time + at_duration_s=$at_func_arith_result + at_func_arith $at_duration_s / 60 + at_duration_m=$at_func_arith_result + at_func_arith $at_duration_m / 60 + at_duration_h=$at_func_arith_result + at_func_arith $at_duration_s % 60 + at_duration_s=$at_func_arith_result + at_func_arith $at_duration_m % 60 + at_duration_m=$at_func_arith_result + at_duration="${at_duration_h}h ${at_duration_m}m ${at_duration_s}s" + $as_echo "$as_me: test suite duration: $at_duration" >&5 + ;; +esac -at_trace_this= -if test -n "$at_traceon"; then - at_trace_this=yes -fi +echo +cat <<\_ASBOX +## ------------- ## +## Test results. ## +## ------------- ## +_ASBOX +echo +{ + echo + cat <<\_ASBOX +## ------------- ## +## Test results. ## +## ------------- ## +_ASBOX + echo +} >&5 -if test -n "$at_trace_this"; then - ( $at_traceon; at_wrap dirac_unittest ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +if test $at_run_count = 1; then + at_result="1 test" + at_were=was else - ( :; at_wrap dirac_unittest ) >"$at_stdout" 2>"$at_stderr" - at_status=$? + at_result="$at_run_count tests" + at_were=were fi +if $at_errexit_p && test $at_unexpected_count != 0; then + if test $at_xpass_count = 1; then + at_result="$at_result $at_were run, one passed" + else + at_result="$at_result $at_were run, one failed" + fi + at_result="$at_result unexpectedly and inhibited subsequent tests." +else + # Don't you just love exponential explosion of the number of cases? + case $at_xpass_count:$at_fail_count:$at_xfail_count in + # So far, so good. + 0:0:0) at_result="$at_result $at_were successful." ;; + 0:0:*) at_result="$at_result behaved as expected." ;; -at_failed=false -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; tee stdout <"$at_stdout" -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/unittests.at:7: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon - + # Some unexpected failures + 0:*:0) at_result="$at_result $at_were run, +$at_fail_count failed unexpectedly." ;; - $at_traceoff - $at_times_p && times >"$at_times_file" - ) 5>&1 2>&1 | eval $at_tee_pipe - at_status=`cat "$at_status_file"` - ;; + # Some failures, both expected and unexpected + 0:*:1) at_result="$at_result $at_were run, +$at_total_fail_count failed ($at_xfail_count expected failure)." ;; + 0:*:*) at_result="$at_result $at_were run, +$at_total_fail_count failed ($at_xfail_count expected failures)." ;; + # No unexpected failures, but some xpasses + *:0:*) at_result="$at_result $at_were run, +$at_xpass_count passed unexpectedly." ;; - banner-2 ) # Banner 2. colourbars.at:1 - cat <<\_ATEOF + # No expected failures, but failures and xpasses + *:1:0) at_result="$at_result $at_were run, +$at_unexpected_count did not behave as expected ($at_fail_count unexpected failure)." ;; + *:*:0) at_result="$at_result $at_were run, +$at_unexpected_count did not behave as expected ($at_fail_count unexpected failures)." ;; -Checking encode and decode of colourbars + # All of them. + *:*:1) at_result="$at_result $at_were run, +$at_xpass_count passed unexpectedly, +$at_total_fail_count failed ($at_xfail_count expected failure)." ;; + *:*:*) at_result="$at_result $at_were run, +$at_xpass_count passed unexpectedly, +$at_total_fail_count failed ($at_xfail_count expected failures)." ;; + esac -_ATEOF - ;; + if test $at_skip_count = 0 && test $at_run_count -gt 1; then + at_result="All $at_result" + fi +fi - 2 ) # 2. colourbars.at:3: colourbars - at_setup_line='colourbars.at:3' - at_desc='colourbars' - $at_quiet $ECHO_N " 2: colourbars $ECHO_C" - at_xfail=no - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "2. colourbars.at:3: testing ..." - $at_traceon +# Now put skips in the mix. +case $at_skip_count in + 0) ;; + 1) at_result="$at_result +1 test was skipped." ;; + *) at_result="$at_result +$at_skip_count tests were skipped." ;; +esac +if test $at_unexpected_count = 0; then + echo "$at_result" + echo "$at_result" >&5 +else + echo "ERROR: $at_result" >&2 + echo "ERROR: $at_result" >&5 + { + echo + cat <<\_ASBOX +## ------------------------ ## +## Summary of the failures. ## +## ------------------------ ## +_ASBOX -# FIXME: Once the encoder stops reporting "Can't read component picture data" -# FIXME: remove the [ignore] for stdout and stderr. -$at_traceoff -echo "$at_srcdir/colourbars.at:7: at_wrap dirac_encoder -cformat YUV420P -SD576I50 -qf 7 -num_L1 0 -local \$abs_srcdir/colourbars_420.yuv ../../colourbars_420_enc.drc" -echo colourbars.at:7 >"$at_check_line_file" + # Summary of failed and skipped tests. + if test $at_fail_count != 0; then + echo "Failed tests:" + $SHELL "$at_myself" $at_fail_list --list + echo + fi + if test $at_skip_count != 0; then + echo "Skipped tests:" + $SHELL "$at_myself" $at_skip_list --list + echo + fi + if test $at_xpass_count != 0; then + echo "Unexpected passes:" + $SHELL "$at_myself" $at_xpass_list --list + echo + fi + if test $at_fail_count != 0; then + cat <<\_ASBOX +## ---------------------- ## +## Detailed failed tests. ## +## ---------------------- ## +_ASBOX + echo + for at_group in $at_fail_list + do + at_group_normalized=$at_group -at_trace_this= -if test -n "$at_traceon"; then - case "at_wrap dirac_encoder -cformat YUV420P -SD576I50 -qf 7 -num_L1 0 -local $abs_srcdir/colourbars_420.yuv ../../colourbars_420_enc.drc" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; + eval 'while :; do + case $at_group_normalized in #( + '"$at_format"'*) break;; esac -fi + at_group_normalized=0$at_group_normalized + done' -if test -n "$at_trace_this"; then - ( $at_traceon; at_wrap dirac_encoder -cformat YUV420P -SD576I50 -qf 7 -num_L1 0 -local $abs_srcdir/colourbars_420.yuv ../../colourbars_420_enc.drc ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; at_wrap dirac_encoder -cformat YUV420P -SD576I50 -qf 7 -num_L1 0 -local $abs_srcdir/colourbars_420.yuv ../../colourbars_420_enc.drc ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi + cat "$at_suite_dir/$at_group_normalized/$as_me.log" + echo + done + echo + fi + if test -n "$at_top_srcdir"; then + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## ${at_top_build_prefix}config.log ## +_ASBOX + sed 's/^/| /' ${at_top_build_prefix}config.log + echo + fi + } >&5 -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/colourbars.at:7: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## $as_me.log was created. ## +_ASBOX + echo + $as_echo "Please send \`${at_testdir+${at_testdir}/}$as_me.log' and all information you think might help: - echo 1 > "$at_status_file" - exit 1 + To: <> + Subject: [] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} +" + if test $at_debug_p = false; then + echo + echo 'You may investigate any problem if you feel able to do so, in which' + echo 'case the test suite provides a good starting point. Its output may' + $as_echo "be found below \`${at_testdir+${at_testdir}/}$as_me.dir'." + echo + fi + exit 1 fi -$at_traceon +exit 0 + +## ------------- ## +## Actual tests. ## +## ------------- ## +#AT_START_1 +# 1. unittests.at:3: unittests +at_setup_line='unittests.at:3' +at_func_banner 1 +at_desc="unittests" +$at_quiet $as_echo_n " 1: $at_desc " +at_xfail=no +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "1. unittests.at:3: testing ..." + $at_traceon -$at_traceoff -echo "$at_srcdir/colourbars.at:9: at_wrap dirac_decoder ../../colourbars_420_enc.drc ../../colourbars_420_dec.yuv" -echo colourbars.at:9 >"$at_check_line_file" +{ $at_traceoff +$as_echo "$at_srcdir/unittests.at:5: test -x ../../../unit_tests/dirac_unittest || exit 77" +echo unittests.at:5 >"$at_check_line_file" -at_trace_this= if test -n "$at_traceon"; then - at_trace_this=yes -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; at_wrap dirac_decoder ../../colourbars_420_enc.drc ../../colourbars_420_dec.yuv ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + ( $at_traceon; test -x ../../../unit_tests/dirac_unittest || exit 77 ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; at_wrap dirac_decoder ../../colourbars_420_enc.drc ../../colourbars_420_dec.yuv ) >"$at_stdout" 2>"$at_stderr" - at_status=$? + ( :; test -x ../../../unit_tests/dirac_unittest || exit 77 ) >"$at_stdout" 2>"$at_stderr" fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo stdout:; cat "$at_stdout" -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/colourbars.at:9: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +at_func_diff_devnull "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_skip $at_status "$at_srcdir/unittests.at:5" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceoff -echo "$at_srcdir/colourbars.at:11: cmp ../../colourbars_420_enc.drc.localdec.yuv ../../colourbars_420_dec.yuv" -echo colourbars.at:11 >"$at_check_line_file" +{ $at_traceoff +$as_echo "$at_srcdir/unittests.at:7: at_wrap dirac_unittest" +echo unittests.at:7 >"$at_check_line_file" -at_trace_this= if test -n "$at_traceon"; then - at_trace_this=yes -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; cmp ../../colourbars_420_enc.drc.localdec.yuv ../../colourbars_420_dec.yuv ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + ( $at_traceon; at_wrap dirac_unittest ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; cmp ../../colourbars_420_enc.drc.localdec.yuv ../../colourbars_420_dec.yuv ) >"$at_stdout" 2>"$at_stderr" - at_status=$? + ( :; at_wrap dirac_unittest ) >"$at_stdout" 2>"$at_stderr" fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/colourbars.at:11: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +echo stderr:; tee stderr <"$at_stderr" +echo stdout:; tee stdout <"$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/unittests.at:7" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 -fi -$at_traceon + $at_traceoff + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 | eval $at_tee_pipe +at_status=`cat "$at_status_file"` +#AT_STOP_1 +#AT_START_2 +# 2. colourbars.at:3: colourbars +at_setup_line='colourbars.at:3' +at_func_banner 2 +at_desc="colourbars" +$at_quiet $as_echo_n " 2: $at_desc " +at_xfail=no +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "2. colourbars.at:3: testing ..." + $at_traceon - $at_traceoff - $at_times_p && times >"$at_times_file" - ) 5>&1 2>&1 | eval $at_tee_pipe - at_status=`cat "$at_status_file"` - ;; +# FIXME: Once the encoder stops reporting "Can't read component picture data" +# FIXME: remove the [ignore] for stdout and stderr. +{ $at_traceoff +$as_echo "$at_srcdir/colourbars.at:7: at_wrap dirac_encoder -cformat YUV420P -SD576I50 -qf 7 -num_L1 0 -local \$abs_srcdir/colourbars_420.yuv ../../colourbars_420_enc.drc" +echo colourbars.at:7 >"$at_check_line_file" +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -cformat YUV420P -SD576I50 -qf 7 -num_L1 0 -local $abs_srcdir/colourbars_420.yuv ../../colourbars_420_enc.drc"; then + ( $at_traceon; at_wrap dirac_encoder -cformat YUV420P -SD576I50 -qf 7 -num_L1 0 -local $abs_srcdir/colourbars_420.yuv ../../colourbars_420_enc.drc ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_encoder -cformat YUV420P -SD576I50 -qf 7 -num_L1 0 -local $abs_srcdir/colourbars_420.yuv ../../colourbars_420_enc.drc ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/colourbars.at:7" - banner-3 ) # Banner 3. samples.at:1 - cat <<\_ATEOF +$at_failed && at_func_log_failure +$at_traceon; } -Checking encode and decode of sample data -_ATEOF - ;; +{ $at_traceoff +$as_echo "$at_srcdir/colourbars.at:9: at_wrap dirac_decoder ../../colourbars_420_enc.drc ../../colourbars_420_dec.yuv" +echo colourbars.at:9 >"$at_check_line_file" + +if test -n "$at_traceon"; then + ( $at_traceon; at_wrap dirac_decoder ../../colourbars_420_enc.drc ../../colourbars_420_dec.yuv ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_decoder ../../colourbars_420_enc.drc ../../colourbars_420_dec.yuv ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/colourbars.at:9" - 3 ) # 3. samples.at:3: samples - at_setup_line='samples.at:3' - at_desc='samples' - $at_quiet $ECHO_N " 3: samples $ECHO_C" - at_xfail=no - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "3. samples.at:3: testing ..." - $at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceoff -echo "$at_srcdir/samples.at:5: (test \$DIRAC_INPUT_DATA_DIR -a -d \$DIRAC_INPUT_DATA_DIR) || exit 77" -echo samples.at:5 >"$at_check_line_file" +{ $at_traceoff +$as_echo "$at_srcdir/colourbars.at:11: cmp ../../colourbars_420_enc.drc.localdec.yuv ../../colourbars_420_dec.yuv" +echo colourbars.at:11 >"$at_check_line_file" -at_trace_this= if test -n "$at_traceon"; then - case "(test $DIRAC_INPUT_DATA_DIR -a -d $DIRAC_INPUT_DATA_DIR) || exit 77" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; (test $DIRAC_INPUT_DATA_DIR -a -d $DIRAC_INPUT_DATA_DIR) || exit 77 ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; (test $DIRAC_INPUT_DATA_DIR -a -d $DIRAC_INPUT_DATA_DIR) || exit 77 ) >"$at_stdout" 2>"$at_stderr" - at_status=$? + ( $at_traceon; cmp ../../colourbars_420_enc.drc.localdec.yuv ../../colourbars_420_dec.yuv ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; cmp ../../colourbars_420_enc.drc.localdec.yuv ../../colourbars_420_dec.yuv ) >"$at_stdout" 2>"$at_stderr" fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - *);; -esac -if $at_failed; then +at_func_diff_devnull "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/colourbars.at:11" + +$at_failed && at_func_log_failure +$at_traceon; } + + + $at_traceoff + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 | eval $at_tee_pipe +at_status=`cat "$at_status_file"` +#AT_STOP_2 +#AT_START_3 +# 3. samples.at:3: samples +at_setup_line='samples.at:3' +at_func_banner 3 +at_desc="samples" +$at_quiet $as_echo_n " 3: $at_desc " +at_xfail=no +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "3. samples.at:3: testing ..." + $at_traceon - echo 1 > "$at_status_file" - exit 1 +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:5: (test \$DIRAC_INPUT_DATA_DIR -a -d \$DIRAC_INPUT_DATA_DIR) || exit 77" +echo samples.at:5 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "(test $DIRAC_INPUT_DATA_DIR -a -d $DIRAC_INPUT_DATA_DIR) || exit 77"; then + ( $at_traceon; (test $DIRAC_INPUT_DATA_DIR -a -d $DIRAC_INPUT_DATA_DIR) || exit 77 ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; (test $DIRAC_INPUT_DATA_DIR -a -d $DIRAC_INPUT_DATA_DIR) || exit 77 ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_skip $at_status "$at_srcdir/samples.at:5" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } echo "HERE " @@ -1581,1470 +2113,1976 @@ then preset="-SD576I50"; #luma block parameters - xblen=12; - xbsep=8; + xblen=16; + xbsep=12; yblen=12; ybsep=8; + bitrate="2000" elif test $width -eq 1280 || test $height -eq 720; then preset="-HD720P50"; #luma block parameters - xblen=16; - xbsep=12; - yblen=16 - ybsep=12; - extras="-fr 25"; // sample data is 25 fps + xblen=12; + xbsep=8; + yblen=24; + ybsep=16; + extras="-fr 25"; #sample data is 25 fps + bitrate="4000" elif test $width -eq 1920 || test $height -eq 1080; then preset="-HD1080I50"; #luma block parameters - xblen=24; - xbsep=16; - yblen=24; - ybsep=16; + xblen=16; + xbsep=12; + yblen=12; + ybsep=8; + bitrate="8000" +elif test $width -eq 176 || test $height -eq 144; +then + preset="-QCIF"; + #luma block parameters + xblen=8; + xbsep=4; + yblen=8; + ybsep=4; + bitrate="100" else #luma block parameters - xblen=12; - xbsep=8; + xblen=24; + xbsep=16; yblen=12; ybsep=8; preset="-CIF"; + bitrate="500" fi #set Motion vector precision here. Possible values are 1, 1/2, 1/4 and -# 1/8. Default value is 1/4 +# 1/8. Default value is 1/2 mv_prec=1/4 -echo "$samp $preset $chroma $width $height $mv_prec $extras" +#extras=`echo $extras`" -L1_sep 6 -stop 6" #iframe tests # progressive -$at_traceoff -echo "$at_srcdir/samples.at:130: at_wrap dirac_encoder -local -num_L1 0 \$preset -qf 7 -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\$iframe_encout" -echo samples.at:130 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - case "at_wrap dirac_encoder -local -num_L1 0 $preset -qf 7 -width $width -height $height -cformat $chroma $extras $samp ../../$iframe_encout" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; at_wrap dirac_encoder -local -num_L1 0 $preset -qf 7 -width $width -height $height -cformat $chroma $extras $samp ../../$iframe_encout ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +# constant quality +echo "iframe $samp $preset $chroma $width $height $mv_prec $extras" +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:145: at_wrap dirac_encoder -local -num_L1 0 \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\$iframe_encout" +echo samples.at:145 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../$iframe_encout"; then + ( $at_traceon; at_wrap dirac_encoder -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../$iframe_encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; at_wrap dirac_encoder -local -num_L1 0 $preset -qf 7 -width $width -height $height -cformat $chroma $extras $samp ../../$iframe_encout ) >"$at_stdout" 2>"$at_stderr" - at_status=$? + ( :; at_wrap dirac_encoder -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../$iframe_encout ) >"$at_stdout" 2>"$at_stderr" fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/samples.at:130: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_check_status 0 $at_status "$at_srcdir/samples.at:145" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:146: at_wrap dirac_decoder ../../\$iframe_encout ../../\$iframe_decout" +echo samples.at:146 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../$iframe_encout ../../$iframe_decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../$iframe_encout ../../$iframe_decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_decoder ../../$iframe_encout ../../$iframe_decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:146" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceoff -echo "$at_srcdir/samples.at:131: at_wrap dirac_decoder ../../\$iframe_encout ../../\$iframe_decout" -echo samples.at:131 >"$at_check_line_file" +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:147: cmp ../../\$iframe_encout.localdec.yuv ../../\$iframe_decout" +echo samples.at:147 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - case "at_wrap dirac_decoder ../../$iframe_encout ../../$iframe_decout" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac +if test -n "$at_traceon" \ + && at_func_check_newline "cmp ../../$iframe_encout.localdec.yuv ../../$iframe_decout"; then + ( $at_traceon; cmp ../../$iframe_encout.localdec.yuv ../../$iframe_decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; cmp ../../$iframe_encout.localdec.yuv ../../$iframe_decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/samples.at:147" + +$at_failed && at_func_log_failure +$at_traceon; } + +# constant bit-rate +echo "iframe $samp $preset $chroma $width $height $mv_prec $extras $bitrate" +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:150: at_wrap dirac_encoder -targetrate \$bitrate -local -num_L1 0 \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\$bitrate\"Kbps_\"\$iframe_encout" +echo samples.at:150 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; at_wrap dirac_decoder ../../$iframe_encout ../../$iframe_decout ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -targetrate $bitrate -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../$bitrate\"Kbps_\"$iframe_encout"; then + ( $at_traceon; at_wrap dirac_encoder -targetrate $bitrate -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../$bitrate"Kbps_"$iframe_encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; at_wrap dirac_decoder ../../$iframe_encout ../../$iframe_decout ) >"$at_stdout" 2>"$at_stderr" - at_status=$? + ( :; at_wrap dirac_encoder -targetrate $bitrate -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../$bitrate"Kbps_"$iframe_encout ) >"$at_stdout" 2>"$at_stderr" fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/samples.at:131: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_check_status 0 $at_status "$at_srcdir/samples.at:150" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:151: at_wrap dirac_decoder ../../\$bitrate\"Kbps_\"\$iframe_encout ../../\$bitrate\"Kbps_\"\$iframe_decout" +echo samples.at:151 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../$bitrate\"Kbps_\"$iframe_encout ../../$bitrate\"Kbps_\"$iframe_decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../$bitrate"Kbps_"$iframe_encout ../../$bitrate"Kbps_"$iframe_decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_decoder ../../$bitrate"Kbps_"$iframe_encout ../../$bitrate"Kbps_"$iframe_decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:151" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceoff -echo "$at_srcdir/samples.at:132: cmp ../../\$iframe_encout.localdec.yuv ../../\$iframe_decout" -echo samples.at:132 >"$at_check_line_file" +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:152: cmp ../../\$bitrate\"Kbps_\"\$iframe_encout.localdec.yuv ../../\$bitrate\"Kbps_\"\$iframe_decout" +echo samples.at:152 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - case "cmp ../../$iframe_encout.localdec.yuv ../../$iframe_decout" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac -fi +if test -n "$at_traceon" \ + && at_func_check_newline "cmp ../../$bitrate\"Kbps_\"$iframe_encout.localdec.yuv ../../$bitrate\"Kbps_\"$iframe_decout"; then + ( $at_traceon; cmp ../../$bitrate"Kbps_"$iframe_encout.localdec.yuv ../../$bitrate"Kbps_"$iframe_decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; cmp ../../$bitrate"Kbps_"$iframe_encout.localdec.yuv ../../$bitrate"Kbps_"$iframe_decout ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/samples.at:152" + +$at_failed && at_func_log_failure +$at_traceon; } + +# lossless +echo "iframe lossless $samp $preset $chroma $width $height $mv_prec $extras" +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:155: at_wrap dirac_encoder -lossless -local -num_L1 0 \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\"lossless_\"\$iframe_encout" +echo samples.at:155 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; cmp ../../$iframe_encout.localdec.yuv ../../$iframe_decout ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; cmp ../../$iframe_encout.localdec.yuv ../../$iframe_decout ) >"$at_stdout" 2>"$at_stderr" - at_status=$? +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -lossless -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../\"lossless_\"$iframe_encout"; then + ( $at_traceon; at_wrap dirac_encoder -lossless -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../"lossless_"$iframe_encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_encoder -lossless -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../"lossless_"$iframe_encout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:155" + +$at_failed && at_func_log_failure +$at_traceon; } +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:156: at_wrap dirac_decoder ../../\"lossless_\"\$iframe_encout ../../\"lossless_\"\$iframe_decout" +echo samples.at:156 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../\"lossless_\"$iframe_encout ../../\"lossless_\"$iframe_decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../"lossless_"$iframe_encout ../../"lossless_"$iframe_decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_decoder ../../"lossless_"$iframe_encout ../../"lossless_"$iframe_decout ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/samples.at:132: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:156" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:157: cmp ../../\"lossless_\"\$iframe_encout.localdec.yuv ../../\"lossless_\"\$iframe_decout" +echo samples.at:157 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "cmp ../../\"lossless_\"$iframe_encout.localdec.yuv ../../\"lossless_\"$iframe_decout"; then + ( $at_traceon; cmp ../../"lossless_"$iframe_encout.localdec.yuv ../../"lossless_"$iframe_decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; cmp ../../"lossless_"$iframe_encout.localdec.yuv ../../"lossless_"$iframe_decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/samples.at:157" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -# interlaced -$at_traceoff -echo "$at_srcdir/samples.at:134: at_wrap dirac_encoder -field_coding -local -num_L1 0 \$preset -qf 7 -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\"inter_\"\$iframe_encout" -echo samples.at:134 >"$at_check_line_file" +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:158: cmp \$samp ../../\"lossless_\"\$iframe_decout" +echo samples.at:158 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - case "at_wrap dirac_encoder -field_coding -local -num_L1 0 $preset -qf 7 -width $width -height $height -cformat $chroma $extras $samp ../../\"inter_\"$iframe_encout" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac +if test -n "$at_traceon" \ + && at_func_check_newline "cmp $samp ../../\"lossless_\"$iframe_decout"; then + ( $at_traceon; cmp $samp ../../"lossless_"$iframe_decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; cmp $samp ../../"lossless_"$iframe_decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/samples.at:158" + +$at_failed && at_func_log_failure +$at_traceon; } + -if test -n "$at_trace_this"; then - ( $at_traceon; at_wrap dirac_encoder -field_coding -local -num_L1 0 $preset -qf 7 -width $width -height $height -cformat $chroma $extras $samp ../../"inter_"$iframe_encout ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +# interlaced +# constant quality +echo "interlaced iframe $samp $preset $chroma $width $height $mv_prec $extras" +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:163: at_wrap dirac_encoder -field_coding -local -num_L1 0 \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\"inter_\"\$iframe_encout" +echo samples.at:163 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -field_coding -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../\"inter_\"$iframe_encout"; then + ( $at_traceon; at_wrap dirac_encoder -field_coding -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../"inter_"$iframe_encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; at_wrap dirac_encoder -field_coding -local -num_L1 0 $preset -qf 7 -width $width -height $height -cformat $chroma $extras $samp ../../"inter_"$iframe_encout ) >"$at_stdout" 2>"$at_stderr" - at_status=$? + ( :; at_wrap dirac_encoder -field_coding -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../"inter_"$iframe_encout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:163" + +$at_failed && at_func_log_failure +$at_traceon; } + +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:164: at_wrap dirac_decoder ../../\"inter_\"\$iframe_encout ../../\"inter_\"\$iframe_decout" +echo samples.at:164 >"$at_check_line_file" +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../\"inter_\"$iframe_encout ../../\"inter_\"$iframe_decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../"inter_"$iframe_encout ../../"inter_"$iframe_decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_decoder ../../"inter_"$iframe_encout ../../"inter_"$iframe_decout ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/samples.at:134: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_check_status 0 $at_status "$at_srcdir/samples.at:164" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 +# constant bit-rate +echo "interlaced iframe $samp $preset $chroma $width $height $mv_prec $extras $bitrate" +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:167: at_wrap dirac_encoder -targetrate \$bitrate -field_coding -local -num_L1 0 \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\$bitrate\"Kbps_inter_\"\$iframe_encout" +echo samples.at:167 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -targetrate $bitrate -field_coding -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../$bitrate\"Kbps_inter_\"$iframe_encout"; then + ( $at_traceon; at_wrap dirac_encoder -targetrate $bitrate -field_coding -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../$bitrate"Kbps_inter_"$iframe_encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_encoder -targetrate $bitrate -field_coding -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../$bitrate"Kbps_inter_"$iframe_encout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:167" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceoff -echo "$at_srcdir/samples.at:135: at_wrap dirac_decoder ../../\"inter_\"\$iframe_encout ../../\"inter_\"\$iframe_decout" -echo samples.at:135 >"$at_check_line_file" +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:168: at_wrap dirac_decoder ../../\$bitrate\"Kbps_inter_\"\$iframe_encout ../../\$bitrate\"Kbps_inter_\"\$iframe_decout" +echo samples.at:168 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - case "at_wrap dirac_decoder ../../\"inter_\"$iframe_encout ../../\"inter_\"$iframe_decout" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../$bitrate\"Kbps_inter_\"$iframe_encout ../../$bitrate\"Kbps_inter_\"$iframe_decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../$bitrate"Kbps_inter_"$iframe_encout ../../$bitrate"Kbps_inter_"$iframe_decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_decoder ../../$bitrate"Kbps_inter_"$iframe_encout ../../$bitrate"Kbps_inter_"$iframe_decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:168" + +$at_failed && at_func_log_failure +$at_traceon; } -if test -n "$at_trace_this"; then - ( $at_traceon; at_wrap dirac_decoder ../../"inter_"$iframe_encout ../../"inter_"$iframe_decout ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +# lossless +echo "interlaced iframe lossless $samp $preset $chroma $width $height $mv_prec $extras" +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:171: at_wrap dirac_encoder -lossless -field_coding -local -num_L1 0 \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\"lossless_inter_\"\$iframe_encout" +echo samples.at:171 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -lossless -field_coding -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../\"lossless_inter_\"$iframe_encout"; then + ( $at_traceon; at_wrap dirac_encoder -lossless -field_coding -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../"lossless_inter_"$iframe_encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; at_wrap dirac_decoder ../../"inter_"$iframe_encout ../../"inter_"$iframe_decout ) >"$at_stdout" 2>"$at_stderr" - at_status=$? + ( :; at_wrap dirac_encoder -lossless -field_coding -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../"lossless_inter_"$iframe_encout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:171" + +$at_failed && at_func_log_failure +$at_traceon; } +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:172: at_wrap dirac_decoder ../../\"lossless_inter_\"\$iframe_encout ../../\"lossless_inter_\"\$iframe_decout" +echo samples.at:172 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../\"lossless_inter_\"$iframe_encout ../../\"lossless_inter_\"$iframe_decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../"lossless_inter_"$iframe_encout ../../"lossless_inter_"$iframe_decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_decoder ../../"lossless_inter_"$iframe_encout ../../"lossless_inter_"$iframe_decout ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/samples.at:135: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_check_status 0 $at_status "$at_srcdir/samples.at:172" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:173: cmp \$samp ../../\"lossless_inter_\"\$iframe_decout" +echo samples.at:173 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "cmp $samp ../../\"lossless_inter_\"$iframe_decout"; then + ( $at_traceon; cmp $samp ../../"lossless_inter_"$iframe_decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; cmp $samp ../../"lossless_inter_"$iframe_decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/samples.at:173" + +$at_failed && at_func_log_failure +$at_traceon; } + -$at_traceon #vc-2 stream tests # progressive -$at_traceoff -echo "$at_srcdir/samples.at:139: at_wrap dirac_encoder -use_vlc -local -num_L1 0 \$preset -qf 7 -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\$vc2_encout" -echo samples.at:139 >"$at_check_line_file" +# constant quality +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:180: at_wrap dirac_encoder -use_vlc -local -num_L1 0 \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\$vc2_encout" +echo samples.at:180 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - case "at_wrap dirac_encoder -use_vlc -local -num_L1 0 $preset -qf 7 -width $width -height $height -cformat $chroma $extras $samp ../../$vc2_encout" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -use_vlc -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../$vc2_encout"; then + ( $at_traceon; at_wrap dirac_encoder -use_vlc -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../$vc2_encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_encoder -use_vlc -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../$vc2_encout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:180" + +$at_failed && at_func_log_failure +$at_traceon; } -if test -n "$at_trace_this"; then - ( $at_traceon; at_wrap dirac_encoder -use_vlc -local -num_L1 0 $preset -qf 7 -width $width -height $height -cformat $chroma $extras $samp ../../$vc2_encout ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:181: at_wrap dirac_decoder ../../\$vc2_encout ../../\$vc2_decout" +echo samples.at:181 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../$vc2_encout ../../$vc2_decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../$vc2_encout ../../$vc2_decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; at_wrap dirac_encoder -use_vlc -local -num_L1 0 $preset -qf 7 -width $width -height $height -cformat $chroma $extras $samp ../../$vc2_encout ) >"$at_stdout" 2>"$at_stderr" - at_status=$? + ( :; at_wrap dirac_decoder ../../$vc2_encout ../../$vc2_decout ) >"$at_stdout" 2>"$at_stderr" fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/samples.at:139: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_check_status 0 $at_status "$at_srcdir/samples.at:181" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:182: cmp ../../\$vc2_encout.localdec.yuv ../../\$vc2_decout" +echo samples.at:182 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "cmp ../../$vc2_encout.localdec.yuv ../../$vc2_decout"; then + ( $at_traceon; cmp ../../$vc2_encout.localdec.yuv ../../$vc2_decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; cmp ../../$vc2_encout.localdec.yuv ../../$vc2_decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/samples.at:182" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceoff -echo "$at_srcdir/samples.at:140: at_wrap dirac_decoder ../../\$vc2_encout ../../\$vc2_decout" -echo samples.at:140 >"$at_check_line_file" +# constant bit-rate +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:184: at_wrap dirac_encoder -targetrate \$bitrate -use_vlc -local -num_L1 0 \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\$bitrate\"Kbps_\"\$vc2_encout" +echo samples.at:184 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - case "at_wrap dirac_decoder ../../$vc2_encout ../../$vc2_decout" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -targetrate $bitrate -use_vlc -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../$bitrate\"Kbps_\"$vc2_encout"; then + ( $at_traceon; at_wrap dirac_encoder -targetrate $bitrate -use_vlc -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../$bitrate"Kbps_"$vc2_encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_encoder -targetrate $bitrate -use_vlc -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../$bitrate"Kbps_"$vc2_encout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:184" -if test -n "$at_trace_this"; then - ( $at_traceon; at_wrap dirac_decoder ../../$vc2_encout ../../$vc2_decout ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +$at_failed && at_func_log_failure +$at_traceon; } + +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:185: at_wrap dirac_decoder ../../\$bitrate\"Kbps_\"\$vc2_encout ../../\$bitrate\"Kbps_\"\$vc2_decout" +echo samples.at:185 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../$bitrate\"Kbps_\"$vc2_encout ../../$bitrate\"Kbps_\"$vc2_decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../$bitrate"Kbps_"$vc2_encout ../../$bitrate"Kbps_"$vc2_decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; at_wrap dirac_decoder ../../$vc2_encout ../../$vc2_decout ) >"$at_stdout" 2>"$at_stderr" - at_status=$? + ( :; at_wrap dirac_decoder ../../$bitrate"Kbps_"$vc2_encout ../../$bitrate"Kbps_"$vc2_decout ) >"$at_stdout" 2>"$at_stderr" fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/samples.at:140: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_check_status 0 $at_status "$at_srcdir/samples.at:185" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:186: cmp ../../\$bitrate\"Kbps_\"\$vc2_encout.localdec.yuv ../../\$bitrate\"Kbps_\"\$vc2_decout" +echo samples.at:186 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "cmp ../../$bitrate\"Kbps_\"$vc2_encout.localdec.yuv ../../$bitrate\"Kbps_\"$vc2_decout"; then + ( $at_traceon; cmp ../../$bitrate"Kbps_"$vc2_encout.localdec.yuv ../../$bitrate"Kbps_"$vc2_decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; cmp ../../$bitrate"Kbps_"$vc2_encout.localdec.yuv ../../$bitrate"Kbps_"$vc2_decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/samples.at:186" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceoff -echo "$at_srcdir/samples.at:141: cmp ../../\$vc2_encout.localdec.yuv ../../\$vc2_decout" -echo samples.at:141 >"$at_check_line_file" +# lossless +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:188: at_wrap dirac_encoder -lossless -use_vlc -local -num_L1 0 \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\"lossless_\"\$vc2_encout" +echo samples.at:188 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - case "cmp ../../$vc2_encout.localdec.yuv ../../$vc2_decout" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -lossless -use_vlc -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../\"lossless_\"$vc2_encout"; then + ( $at_traceon; at_wrap dirac_encoder -lossless -use_vlc -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../"lossless_"$vc2_encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_encoder -lossless -use_vlc -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../"lossless_"$vc2_encout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:188" + +$at_failed && at_func_log_failure +$at_traceon; } -if test -n "$at_trace_this"; then - ( $at_traceon; cmp ../../$vc2_encout.localdec.yuv ../../$vc2_decout ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; cmp ../../$vc2_encout.localdec.yuv ../../$vc2_decout ) >"$at_stdout" 2>"$at_stderr" - at_status=$? +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:189: at_wrap dirac_decoder ../../\"lossless_\"\$vc2_encout ../../\"lossless_\"\$vc2_decout" +echo samples.at:189 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../\"lossless_\"$vc2_encout ../../\"lossless_\"$vc2_decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../"lossless_"$vc2_encout ../../"lossless_"$vc2_decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_decoder ../../"lossless_"$vc2_encout ../../"lossless_"$vc2_decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:189" +$at_failed && at_func_log_failure +$at_traceon; } + +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:190: cmp ../../\"lossless_\"\$vc2_encout.localdec.yuv ../../\"lossless_\"\$vc2_decout" +echo samples.at:190 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "cmp ../../\"lossless_\"$vc2_encout.localdec.yuv ../../\"lossless_\"$vc2_decout"; then + ( $at_traceon; cmp ../../"lossless_"$vc2_encout.localdec.yuv ../../"lossless_"$vc2_decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; cmp ../../"lossless_"$vc2_encout.localdec.yuv ../../"lossless_"$vc2_decout ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/samples.at:141: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_diff_devnull "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/samples.at:190" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:191: cmp \$samp ../../\"lossless_\"\$vc2_decout" +echo samples.at:191 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "cmp $samp ../../\"lossless_\"$vc2_decout"; then + ( $at_traceon; cmp $samp ../../"lossless_"$vc2_decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; cmp $samp ../../"lossless_"$vc2_decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/samples.at:191" + +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceon # interlaced -$at_traceoff -echo "$at_srcdir/samples.at:143: at_wrap dirac_encoder -field_coding -use_vlc -local -num_L1 0 \$preset -qf 7 -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\"inter_\"\$vc2_encout" -echo samples.at:143 >"$at_check_line_file" +# constant quality +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:195: at_wrap dirac_encoder -field_coding -use_vlc -local -num_L1 0 \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\"inter_\"\$vc2_encout" +echo samples.at:195 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - case "at_wrap dirac_encoder -field_coding -use_vlc -local -num_L1 0 $preset -qf 7 -width $width -height $height -cformat $chroma $extras $samp ../../\"inter_\"$vc2_encout" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -field_coding -use_vlc -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../\"inter_\"$vc2_encout"; then + ( $at_traceon; at_wrap dirac_encoder -field_coding -use_vlc -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../"inter_"$vc2_encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_encoder -field_coding -use_vlc -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../"inter_"$vc2_encout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:195" + +$at_failed && at_func_log_failure +$at_traceon; } -if test -n "$at_trace_this"; then - ( $at_traceon; at_wrap dirac_encoder -field_coding -use_vlc -local -num_L1 0 $preset -qf 7 -width $width -height $height -cformat $chroma $extras $samp ../../"inter_"$vc2_encout ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:196: at_wrap dirac_decoder ../../\"inter_\"\$vc2_encout ../../\"inter_\"\$vc2_decout" +echo samples.at:196 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../\"inter_\"$vc2_encout ../../\"inter_\"$vc2_decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../"inter_"$vc2_encout ../../"inter_"$vc2_decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; at_wrap dirac_encoder -field_coding -use_vlc -local -num_L1 0 $preset -qf 7 -width $width -height $height -cformat $chroma $extras $samp ../../"inter_"$vc2_encout ) >"$at_stdout" 2>"$at_stderr" - at_status=$? + ( :; at_wrap dirac_decoder ../../"inter_"$vc2_encout ../../"inter_"$vc2_decout ) >"$at_stdout" 2>"$at_stderr" fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/samples.at:143: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_check_status 0 $at_status "$at_srcdir/samples.at:196" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 +# constant bit-rate +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:198: at_wrap dirac_encoder -targetrate \$bitrate -field_coding -use_vlc -local -num_L1 0 \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\$bitrate\"Kbps_inter_\"\$vc2_encout" +echo samples.at:198 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -targetrate $bitrate -field_coding -use_vlc -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../$bitrate\"Kbps_inter_\"$vc2_encout"; then + ( $at_traceon; at_wrap dirac_encoder -targetrate $bitrate -field_coding -use_vlc -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../$bitrate"Kbps_inter_"$vc2_encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_encoder -targetrate $bitrate -field_coding -use_vlc -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../$bitrate"Kbps_inter_"$vc2_encout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:198" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceoff -echo "$at_srcdir/samples.at:144: at_wrap dirac_decoder ../../\"inter_\"\$vc2_encout ../../\"inter_\"\$vc2_decout" -echo samples.at:144 >"$at_check_line_file" +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:199: at_wrap dirac_decoder ../../\$bitrate\"Kbps_inter_\"\$vc2_encout ../../\$bitrate\"Kbps_inter_\"\$vc2_decout" +echo samples.at:199 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - case "at_wrap dirac_decoder ../../\"inter_\"$vc2_encout ../../\"inter_\"$vc2_decout" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../$bitrate\"Kbps_inter_\"$vc2_encout ../../$bitrate\"Kbps_inter_\"$vc2_decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../$bitrate"Kbps_inter_"$vc2_encout ../../$bitrate"Kbps_inter_"$vc2_decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_decoder ../../$bitrate"Kbps_inter_"$vc2_encout ../../$bitrate"Kbps_inter_"$vc2_decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:199" + +$at_failed && at_func_log_failure +$at_traceon; } -if test -n "$at_trace_this"; then - ( $at_traceon; at_wrap dirac_decoder ../../"inter_"$vc2_encout ../../"inter_"$vc2_decout ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +# lossless +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:201: at_wrap dirac_encoder -lossless -field_coding -use_vlc -local -num_L1 0 \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\"lossless_inter_\"\$vc2_encout" +echo samples.at:201 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -lossless -field_coding -use_vlc -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../\"lossless_inter_\"$vc2_encout"; then + ( $at_traceon; at_wrap dirac_encoder -lossless -field_coding -use_vlc -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../"lossless_inter_"$vc2_encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; at_wrap dirac_decoder ../../"inter_"$vc2_encout ../../"inter_"$vc2_decout ) >"$at_stdout" 2>"$at_stderr" - at_status=$? + ( :; at_wrap dirac_encoder -lossless -field_coding -use_vlc -local -num_L1 0 $preset -width $width -height $height -cformat $chroma $extras $samp ../../"lossless_inter_"$vc2_encout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:201" + +$at_failed && at_func_log_failure +$at_traceon; } +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:202: at_wrap dirac_decoder ../../\"lossless_inter_\"\$vc2_encout ../../\"lossless_inter_\"\$vc2_decout" +echo samples.at:202 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../\"lossless_inter_\"$vc2_encout ../../\"lossless_inter_\"$vc2_decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../"lossless_inter_"$vc2_encout ../../"lossless_inter_"$vc2_decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_decoder ../../"lossless_inter_"$vc2_encout ../../"lossless_inter_"$vc2_decout ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/samples.at:144: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_check_status 0 $at_status "$at_srcdir/samples.at:202" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:203: cmp \$samp ../../\"lossless_inter_\"\$vc2_decout" +echo samples.at:203 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "cmp $samp ../../\"lossless_inter_\"$vc2_decout"; then + ( $at_traceon; cmp $samp ../../"lossless_inter_"$vc2_decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; cmp $samp ../../"lossless_inter_"$vc2_decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/samples.at:203" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } #Long-GOP tests # progressive -$at_traceoff -echo "$at_srcdir/samples.at:148: at_wrap dirac_encoder -local \$preset -qf 7 -width \$width -height \$height -cformat \$chroma -xblen \$xblen -xbsep \$xbsep -yblen \$yblen -ybsep \$ybsep -mv_prec \$mv_prec \$extras \$samp ../../\$encout" -echo samples.at:148 >"$at_check_line_file" +# constant quality +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:208: at_wrap dirac_encoder -local \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\$encout" +echo samples.at:208 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - case "at_wrap dirac_encoder -local $preset -qf 7 -width $width -height $height -cformat $chroma -xblen $xblen -xbsep $xbsep -yblen $yblen -ybsep $ybsep -mv_prec $mv_prec $extras $samp ../../$encout" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../$encout"; then + ( $at_traceon; at_wrap dirac_encoder -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../$encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_encoder -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../$encout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:208" + +$at_failed && at_func_log_failure +$at_traceon; } -if test -n "$at_trace_this"; then - ( $at_traceon; at_wrap dirac_encoder -local $preset -qf 7 -width $width -height $height -cformat $chroma -xblen $xblen -xbsep $xbsep -yblen $yblen -ybsep $ybsep -mv_prec $mv_prec $extras $samp ../../$encout ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:209: at_wrap dirac_decoder ../../\$encout ../../\$decout" +echo samples.at:209 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../$encout ../../$decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../$encout ../../$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; at_wrap dirac_encoder -local $preset -qf 7 -width $width -height $height -cformat $chroma -xblen $xblen -xbsep $xbsep -yblen $yblen -ybsep $ybsep -mv_prec $mv_prec $extras $samp ../../$encout ) >"$at_stdout" 2>"$at_stderr" - at_status=$? + ( :; at_wrap dirac_decoder ../../$encout ../../$decout ) >"$at_stdout" 2>"$at_stderr" fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/samples.at:148: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_check_status 0 $at_status "$at_srcdir/samples.at:209" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:210: cmp ../../\$encout.localdec.yuv ../../\$decout" +echo samples.at:210 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "cmp ../../$encout.localdec.yuv ../../$decout"; then + ( $at_traceon; cmp ../../$encout.localdec.yuv ../../$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; cmp ../../$encout.localdec.yuv ../../$decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/samples.at:210" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceoff -echo "$at_srcdir/samples.at:149: at_wrap dirac_decoder ../../\$encout ../../\$decout" -echo samples.at:149 >"$at_check_line_file" +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:211: at_wrap dirac_instrumentation ../../\$encout ../../\"\$instrout\"_mc_instr.yuv -motion_colour -clip 50" +echo samples.at:211 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - case "at_wrap dirac_decoder ../../$encout ../../$decout" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_instrumentation ../../$encout ../../\"$instrout\"_mc_instr.yuv -motion_colour -clip 50"; then + ( $at_traceon; at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_mc_instr.yuv -motion_colour -clip 50 ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_mc_instr.yuv -motion_colour -clip 50 ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:211" -if test -n "$at_trace_this"; then - ( $at_traceon; at_wrap dirac_decoder ../../$encout ../../$decout ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +$at_failed && at_func_log_failure +$at_traceon; } + +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:212: at_wrap dirac_instrumentation ../../\$encout ../../\"\$instrout\"_ma_instr.yuv -motion_arrows -clip 50" +echo samples.at:212 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_instrumentation ../../$encout ../../\"$instrout\"_ma_instr.yuv -motion_arrows -clip 50"; then + ( $at_traceon; at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_ma_instr.yuv -motion_arrows -clip 50 ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; at_wrap dirac_decoder ../../$encout ../../$decout ) >"$at_stdout" 2>"$at_stderr" - at_status=$? + ( :; at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_ma_instr.yuv -motion_arrows -clip 50 ) >"$at_stdout" 2>"$at_stderr" fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/samples.at:149: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_check_status 0 $at_status "$at_srcdir/samples.at:212" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:213: at_wrap dirac_instrumentation ../../\$encout ../../\"\$instrout\"_mca_instr.yuv -motion_colour_arrows -clip 50" +echo samples.at:213 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_instrumentation ../../$encout ../../\"$instrout\"_mca_instr.yuv -motion_colour_arrows -clip 50"; then + ( $at_traceon; at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_mca_instr.yuv -motion_colour_arrows -clip 50 ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_mca_instr.yuv -motion_colour_arrows -clip 50 ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:213" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceoff -echo "$at_srcdir/samples.at:150: cmp ../../\$encout.localdec.yuv ../../\$decout" -echo samples.at:150 >"$at_check_line_file" +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:214: at_wrap dirac_instrumentation ../../\$encout ../../\"\$instrout\"_spm_instr.yuv -split_mode -clip 50" +echo samples.at:214 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - case "cmp ../../$encout.localdec.yuv ../../$decout" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_instrumentation ../../$encout ../../\"$instrout\"_spm_instr.yuv -split_mode -clip 50"; then + ( $at_traceon; at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_spm_instr.yuv -split_mode -clip 50 ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_spm_instr.yuv -split_mode -clip 50 ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:214" -if test -n "$at_trace_this"; then - ( $at_traceon; cmp ../../$encout.localdec.yuv ../../$decout ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; cmp ../../$encout.localdec.yuv ../../$decout ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +$at_failed && at_func_log_failure +$at_traceon; } +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:215: at_wrap dirac_instrumentation ../../\$encout ../../\"\$instrout\"_sad_instr.yuv -sad -clip 50" +echo samples.at:215 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_instrumentation ../../$encout ../../\"$instrout\"_sad_instr.yuv -sad -clip 50"; then + ( $at_traceon; at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_sad_instr.yuv -sad -clip 50 ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_sad_instr.yuv -sad -clip 50 ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/samples.at:150: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:215" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:216: at_wrap dirac_instrumentation ../../\$encout ../../\"\$instrout\"_pred_instr.yuv -pred_mode -clip 50" +echo samples.at:216 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_instrumentation ../../$encout ../../\"$instrout\"_pred_instr.yuv -pred_mode -clip 50"; then + ( $at_traceon; at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_pred_instr.yuv -pred_mode -clip 50 ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_pred_instr.yuv -pred_mode -clip 50 ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:216" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceoff -echo "$at_srcdir/samples.at:151: at_wrap dirac_instrumentation ../../\$encout ../../\"\$instrout\"_mc_instr.yuv -motion_colour -clip 50" -echo samples.at:151 >"$at_check_line_file" +# modified mc blocks and mv_prec +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:218: at_wrap dirac_encoder -local \$preset -width \$width -height \$height -cformat \$chroma -xblen \$xblen -xbsep \$xbsep -yblen \$yblen -ybsep \$ybsep -mv_prec \$mv_prec \$extras \$samp ../../\"mod_block_\"\$encout" +echo samples.at:218 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - case "at_wrap dirac_instrumentation ../../$encout ../../\"$instrout\"_mc_instr.yuv -motion_colour -clip 50" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -local $preset -width $width -height $height -cformat $chroma -xblen $xblen -xbsep $xbsep -yblen $yblen -ybsep $ybsep -mv_prec $mv_prec $extras $samp ../../\"mod_block_\"$encout"; then + ( $at_traceon; at_wrap dirac_encoder -local $preset -width $width -height $height -cformat $chroma -xblen $xblen -xbsep $xbsep -yblen $yblen -ybsep $ybsep -mv_prec $mv_prec $extras $samp ../../"mod_block_"$encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_encoder -local $preset -width $width -height $height -cformat $chroma -xblen $xblen -xbsep $xbsep -yblen $yblen -ybsep $ybsep -mv_prec $mv_prec $extras $samp ../../"mod_block_"$encout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:218" -if test -n "$at_trace_this"; then - ( $at_traceon; at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_mc_instr.yuv -motion_colour -clip 50 ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_mc_instr.yuv -motion_colour -clip 50 ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +$at_failed && at_func_log_failure +$at_traceon; } + +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:219: at_wrap dirac_decoder ../../\"mod_block_\"\$encout ../../\"mod_block_\"\$decout" +echo samples.at:219 >"$at_check_line_file" +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../\"mod_block_\"$encout ../../\"mod_block_\"$decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../"mod_block_"$encout ../../"mod_block_"$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_decoder ../../"mod_block_"$encout ../../"mod_block_"$decout ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/samples.at:151: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:219" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:220: cmp ../../\"mod_block_\"\$encout.localdec.yuv ../../\"mod_block_\"\$decout" +echo samples.at:220 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "cmp ../../\"mod_block_\"$encout.localdec.yuv ../../\"mod_block_\"$decout"; then + ( $at_traceon; cmp ../../"mod_block_"$encout.localdec.yuv ../../"mod_block_"$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; cmp ../../"mod_block_"$encout.localdec.yuv ../../"mod_block_"$decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/samples.at:220" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceoff -echo "$at_srcdir/samples.at:152: at_wrap dirac_instrumentation ../../\$encout ../../\"\$instrout\"_ma_instr.yuv -motion_arrows -clip 50" -echo samples.at:152 >"$at_check_line_file" +# constant bit-rate +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:222: at_wrap dirac_encoder -targetrate \$bitrate -local \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\$bitrate\"Kbps_\"\$encout" +echo samples.at:222 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - case "at_wrap dirac_instrumentation ../../$encout ../../\"$instrout\"_ma_instr.yuv -motion_arrows -clip 50" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -targetrate $bitrate -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../$bitrate\"Kbps_\"$encout"; then + ( $at_traceon; at_wrap dirac_encoder -targetrate $bitrate -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../$bitrate"Kbps_"$encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_encoder -targetrate $bitrate -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../$bitrate"Kbps_"$encout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:222" -if test -n "$at_trace_this"; then - ( $at_traceon; at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_ma_instr.yuv -motion_arrows -clip 50 ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_ma_instr.yuv -motion_arrows -clip 50 ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +$at_failed && at_func_log_failure +$at_traceon; } + +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:223: at_wrap dirac_decoder ../../\$bitrate\"Kbps_\"\$encout ../../\$bitrate\"Kbps_\"\$decout" +echo samples.at:223 >"$at_check_line_file" +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../$bitrate\"Kbps_\"$encout ../../$bitrate\"Kbps_\"$decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../$bitrate"Kbps_"$encout ../../$bitrate"Kbps_"$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_decoder ../../$bitrate"Kbps_"$encout ../../$bitrate"Kbps_"$decout ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/samples.at:152: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:223" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:224: cmp ../../\$bitrate\"Kbps_\"\$encout.localdec.yuv ../../\$bitrate\"Kbps_\"\$decout" +echo samples.at:224 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "cmp ../../$bitrate\"Kbps_\"$encout.localdec.yuv ../../$bitrate\"Kbps_\"$decout"; then + ( $at_traceon; cmp ../../$bitrate"Kbps_"$encout.localdec.yuv ../../$bitrate"Kbps_"$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; cmp ../../$bitrate"Kbps_"$encout.localdec.yuv ../../$bitrate"Kbps_"$decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/samples.at:224" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceoff -echo "$at_srcdir/samples.at:153: at_wrap dirac_instrumentation ../../\$encout ../../\"\$instrout\"_mca_instr.yuv -motion_colour_arrows -clip 50" -echo samples.at:153 >"$at_check_line_file" +# lossless +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:226: at_wrap dirac_encoder -lossless -local \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\"lossless_\"\$encout" +echo samples.at:226 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - case "at_wrap dirac_instrumentation ../../$encout ../../\"$instrout\"_mca_instr.yuv -motion_colour_arrows -clip 50" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -lossless -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../\"lossless_\"$encout"; then + ( $at_traceon; at_wrap dirac_encoder -lossless -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"lossless_"$encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_encoder -lossless -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"lossless_"$encout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:226" -if test -n "$at_trace_this"; then - ( $at_traceon; at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_mca_instr.yuv -motion_colour_arrows -clip 50 ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_mca_instr.yuv -motion_colour_arrows -clip 50 ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +$at_failed && at_func_log_failure +$at_traceon; } +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:227: at_wrap dirac_decoder ../../\"lossless_\"\$encout ../../\"lossless_\"\$decout" +echo samples.at:227 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../\"lossless_\"$encout ../../\"lossless_\"$decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../"lossless_"$encout ../../"lossless_"$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_decoder ../../"lossless_"$encout ../../"lossless_"$decout ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/samples.at:153: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:227" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:228: cmp ../../\"lossless_\"\$encout.localdec.yuv ../../\"lossless_\"\$decout" +echo samples.at:228 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "cmp ../../\"lossless_\"$encout.localdec.yuv ../../\"lossless_\"$decout"; then + ( $at_traceon; cmp ../../"lossless_"$encout.localdec.yuv ../../"lossless_"$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; cmp ../../"lossless_"$encout.localdec.yuv ../../"lossless_"$decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/samples.at:228" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceoff -echo "$at_srcdir/samples.at:154: at_wrap dirac_instrumentation ../../\$encout ../../\"\$instrout\"_spm_instr.yuv -split_mode -clip 50" -echo samples.at:154 >"$at_check_line_file" +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:229: cmp \$samp ../../\"lossless_\"\$decout" +echo samples.at:229 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - case "at_wrap dirac_instrumentation ../../$encout ../../\"$instrout\"_spm_instr.yuv -split_mode -clip 50" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac +if test -n "$at_traceon" \ + && at_func_check_newline "cmp $samp ../../\"lossless_\"$decout"; then + ( $at_traceon; cmp $samp ../../"lossless_"$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; cmp $samp ../../"lossless_"$decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/samples.at:229" -if test -n "$at_trace_this"; then - ( $at_traceon; at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_spm_instr.yuv -split_mode -clip 50 ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_spm_instr.yuv -split_mode -clip 50 ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +$at_failed && at_func_log_failure +$at_traceon; } +# modified GOP structure +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:231: at_wrap dirac_encoder -L1_sep 6 -local \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\"L1sep6_\"\$encout" +echo samples.at:231 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -L1_sep 6 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../\"L1sep6_\"$encout"; then + ( $at_traceon; at_wrap dirac_encoder -L1_sep 6 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"L1sep6_"$encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_encoder -L1_sep 6 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"L1sep6_"$encout ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/samples.at:154: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:231" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:232: at_wrap dirac_decoder ../../\"L1sep6_\"\$encout ../../\"L1sep6_\"\$decout" +echo samples.at:232 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../\"L1sep6_\"$encout ../../\"L1sep6_\"$decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../"L1sep6_"$encout ../../"L1sep6_"$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_decoder ../../"L1sep6_"$encout ../../"L1sep6_"$decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:232" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceoff -echo "$at_srcdir/samples.at:155: at_wrap dirac_instrumentation ../../\$encout ../../\"\$instrout\"_sad_instr.yuv -sad -clip 50" -echo samples.at:155 >"$at_check_line_file" +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:233: cmp ../../\"L1sep6_\"\$encout.localdec.yuv ../../\"L1sep6_\"\$decout" +echo samples.at:233 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - case "at_wrap dirac_instrumentation ../../$encout ../../\"$instrout\"_sad_instr.yuv -sad -clip 50" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac +if test -n "$at_traceon" \ + && at_func_check_newline "cmp ../../\"L1sep6_\"$encout.localdec.yuv ../../\"L1sep6_\"$decout"; then + ( $at_traceon; cmp ../../"L1sep6_"$encout.localdec.yuv ../../"L1sep6_"$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; cmp ../../"L1sep6_"$encout.localdec.yuv ../../"L1sep6_"$decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/samples.at:233" -if test -n "$at_trace_this"; then - ( $at_traceon; at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_sad_instr.yuv -sad -clip 50 ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_sad_instr.yuv -sad -clip 50 ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +$at_failed && at_func_log_failure +$at_traceon; } +# pre-filter CWM +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:235: at_wrap dirac_encoder -prefilter CWM 5 -local \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\"cwm5_\"\$encout" +echo samples.at:235 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -prefilter CWM 5 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../\"cwm5_\"$encout"; then + ( $at_traceon; at_wrap dirac_encoder -prefilter CWM 5 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"cwm5_"$encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_encoder -prefilter CWM 5 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"cwm5_"$encout ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/samples.at:155: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:235" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:236: at_wrap dirac_decoder ../../\"cwm5_\"\$encout ../../\"cwm5_\"\$decout" +echo samples.at:236 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../\"cwm5_\"$encout ../../\"cwm5_\"$decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../"cwm5_"$encout ../../"cwm5_"$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_decoder ../../"cwm5_"$encout ../../"cwm5_"$decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:236" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceoff -echo "$at_srcdir/samples.at:156: at_wrap dirac_instrumentation ../../\$encout ../../\"\$instrout\"_pred_instr.yuv -pred_mode -clip 50" -echo samples.at:156 >"$at_check_line_file" +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:237: cmp ../../\"cwm5_\"\$encout.localdec.yuv ../../\"cwm5_\"\$decout" +echo samples.at:237 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - case "at_wrap dirac_instrumentation ../../$encout ../../\"$instrout\"_pred_instr.yuv -pred_mode -clip 50" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac +if test -n "$at_traceon" \ + && at_func_check_newline "cmp ../../\"cwm5_\"$encout.localdec.yuv ../../\"cwm5_\"$decout"; then + ( $at_traceon; cmp ../../"cwm5_"$encout.localdec.yuv ../../"cwm5_"$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; cmp ../../"cwm5_"$encout.localdec.yuv ../../"cwm5_"$decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/samples.at:237" -if test -n "$at_trace_this"; then - ( $at_traceon; at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_pred_instr.yuv -pred_mode -clip 50 ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; at_wrap dirac_instrumentation ../../$encout ../../"$instrout"_pred_instr.yuv -pred_mode -clip 50 ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +$at_failed && at_func_log_failure +$at_traceon; } +# pre-filter RECTLP +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:239: at_wrap dirac_encoder -prefilter RECTLP 5 -local \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\"rectlp5_\"\$encout" +echo samples.at:239 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -prefilter RECTLP 5 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../\"rectlp5_\"$encout"; then + ( $at_traceon; at_wrap dirac_encoder -prefilter RECTLP 5 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"rectlp5_"$encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_encoder -prefilter RECTLP 5 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"rectlp5_"$encout ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/samples.at:156: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:239" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:240: at_wrap dirac_decoder ../../\"rectlp5_\"\$encout ../../\"rectlp5_\"\$decout" +echo samples.at:240 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../\"rectlp5_\"$encout ../../\"rectlp5_\"$decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../"rectlp5_"$encout ../../"rectlp5_"$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_decoder ../../"rectlp5_"$encout ../../"rectlp5_"$decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:240" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -# interlaced -$at_traceoff -echo "$at_srcdir/samples.at:158: at_wrap dirac_encoder -field_coding -local \$preset -qf 7 -width \$width -height \$height -cformat \$chroma -xblen \$xblen -xbsep \$xbsep -yblen \$yblen -ybsep \$ybsep -mv_prec \$mv_prec \$extras \$samp ../../\"inter_\"\$encout" -echo samples.at:158 >"$at_check_line_file" +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:241: cmp ../../\"rectlp5_\"\$encout.localdec.yuv ../../\"rectlp5_\"\$decout" +echo samples.at:241 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - case "at_wrap dirac_encoder -field_coding -local $preset -qf 7 -width $width -height $height -cformat $chroma -xblen $xblen -xbsep $xbsep -yblen $yblen -ybsep $ybsep -mv_prec $mv_prec $extras $samp ../../\"inter_\"$encout" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac +if test -n "$at_traceon" \ + && at_func_check_newline "cmp ../../\"rectlp5_\"$encout.localdec.yuv ../../\"rectlp5_\"$decout"; then + ( $at_traceon; cmp ../../"rectlp5_"$encout.localdec.yuv ../../"rectlp5_"$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; cmp ../../"rectlp5_"$encout.localdec.yuv ../../"rectlp5_"$decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/samples.at:241" + +$at_failed && at_func_log_failure +$at_traceon; } -if test -n "$at_trace_this"; then - ( $at_traceon; at_wrap dirac_encoder -field_coding -local $preset -qf 7 -width $width -height $height -cformat $chroma -xblen $xblen -xbsep $xbsep -yblen $yblen -ybsep $ybsep -mv_prec $mv_prec $extras $samp ../../"inter_"$encout ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +# pre-filter DIAGLP +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:243: at_wrap dirac_encoder -prefilter DIAGLP 5 -local \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\"diaglp5_\"\$encout" +echo samples.at:243 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -prefilter DIAGLP 5 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../\"diaglp5_\"$encout"; then + ( $at_traceon; at_wrap dirac_encoder -prefilter DIAGLP 5 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"diaglp5_"$encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; at_wrap dirac_encoder -field_coding -local $preset -qf 7 -width $width -height $height -cformat $chroma -xblen $xblen -xbsep $xbsep -yblen $yblen -ybsep $ybsep -mv_prec $mv_prec $extras $samp ../../"inter_"$encout ) >"$at_stdout" 2>"$at_stderr" - at_status=$? + ( :; at_wrap dirac_encoder -prefilter DIAGLP 5 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"diaglp5_"$encout ) >"$at_stdout" 2>"$at_stderr" fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/samples.at:158: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_check_status 0 $at_status "$at_srcdir/samples.at:243" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:244: at_wrap dirac_decoder ../../\"diaglp5_\"\$encout ../../\"diaglp5_\"\$decout" +echo samples.at:244 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../\"diaglp5_\"$encout ../../\"diaglp5_\"$decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../"diaglp5_"$encout ../../"diaglp5_"$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_decoder ../../"diaglp5_"$encout ../../"diaglp5_"$decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:244" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceoff -echo "$at_srcdir/samples.at:159: at_wrap dirac_decoder ../../\"inter_\"\$encout ../../\"inter_\"\$decout" -echo samples.at:159 >"$at_check_line_file" +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:245: cmp ../../\"diaglp5_\"\$encout.localdec.yuv ../../\"diaglp5_\"\$decout" +echo samples.at:245 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - case "at_wrap dirac_decoder ../../\"inter_\"$encout ../../\"inter_\"$decout" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac +if test -n "$at_traceon" \ + && at_func_check_newline "cmp ../../\"diaglp5_\"$encout.localdec.yuv ../../\"diaglp5_\"$decout"; then + ( $at_traceon; cmp ../../"diaglp5_"$encout.localdec.yuv ../../"diaglp5_"$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; cmp ../../"diaglp5_"$encout.localdec.yuv ../../"diaglp5_"$decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/samples.at:245" + +$at_failed && at_func_log_failure +$at_traceon; } -if test -n "$at_trace_this"; then - ( $at_traceon; at_wrap dirac_decoder ../../"inter_"$encout ../../"inter_"$decout ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +# combined_me +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:247: at_wrap dirac_encoder -combined_me -local \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\"combined_me_\"\$encout" +echo samples.at:247 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -combined_me -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../\"combined_me_\"$encout"; then + ( $at_traceon; at_wrap dirac_encoder -combined_me -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"combined_me_"$encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; at_wrap dirac_decoder ../../"inter_"$encout ../../"inter_"$decout ) >"$at_stdout" 2>"$at_stderr" - at_status=$? + ( :; at_wrap dirac_encoder -combined_me -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"combined_me_"$encout ) >"$at_stdout" 2>"$at_stderr" fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stderr" || at_failed=: echo stdout:; cat "$at_stdout" -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/samples.at:159: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_check_status 0 $at_status "$at_srcdir/samples.at:247" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:248: at_wrap dirac_decoder ../../\"combined_me_\"\$encout ../../\"combined_me_\"\$decout" +echo samples.at:248 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../\"combined_me_\"$encout ../../\"combined_me_\"$decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../"combined_me_"$encout ../../"combined_me_"$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_decoder ../../"combined_me_"$encout ../../"combined_me_"$decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:248" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceoff -echo "$at_srcdir/samples.at:160: at_wrap dirac_instrumentation ../../\"inter_\"\$encout ../../\"inter_\"\"\$instrout\"_mc_instr.yuv -motion_colour -clip 50" -echo samples.at:160 >"$at_check_line_file" +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:249: cmp ../../\"combined_me_\"\$encout.localdec.yuv ../../\"combined_me_\"\$decout" +echo samples.at:249 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - case "at_wrap dirac_instrumentation ../../\"inter_\"$encout ../../\"inter_\"\"$instrout\"_mc_instr.yuv -motion_colour -clip 50" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac +if test -n "$at_traceon" \ + && at_func_check_newline "cmp ../../\"combined_me_\"$encout.localdec.yuv ../../\"combined_me_\"$decout"; then + ( $at_traceon; cmp ../../"combined_me_"$encout.localdec.yuv ../../"combined_me_"$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; cmp ../../"combined_me_"$encout.localdec.yuv ../../"combined_me_"$decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/samples.at:249" -if test -n "$at_trace_this"; then - ( $at_traceon; at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_mc_instr.yuv -motion_colour -clip 50 ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_mc_instr.yuv -motion_colour -clip 50 ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +$at_failed && at_func_log_failure +$at_traceon; } -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/samples.at:160: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +# full search +#AT_CHECK([at_wrap dirac_encoder -full_search 32 32 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"full_search_"$encout], 0, [ignore]) +#AT_CHECK([at_wrap dirac_decoder ../../"full_search_"$encout ../../"full_search_"$decout], 0, [ignore]) +#AT_CHECK([cmp ../../"full_search_"$encout.localdec.yuv ../../"full_search_"$decout]) +# interlaced +# constant quality +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:257: at_wrap dirac_encoder -field_coding -local \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\"inter_\"\$encout" +echo samples.at:257 >"$at_check_line_file" - echo 1 > "$at_status_file" - exit 1 +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -field_coding -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../\"inter_\"$encout"; then + ( $at_traceon; at_wrap dirac_encoder -field_coding -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"inter_"$encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_encoder -field_coding -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"inter_"$encout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:257" -$at_traceon - -$at_traceoff -echo "$at_srcdir/samples.at:161: at_wrap dirac_instrumentation ../../\"inter_\"\$encout ../../\"inter_\"\"\$instrout\"_ma_instr.yuv -motion_arrows -clip 50" -echo samples.at:161 >"$at_check_line_file" +$at_failed && at_func_log_failure +$at_traceon; } -at_trace_this= -if test -n "$at_traceon"; then - case "at_wrap dirac_instrumentation ../../\"inter_\"$encout ../../\"inter_\"\"$instrout\"_ma_instr.yuv -motion_arrows -clip 50" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac -fi +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:258: at_wrap dirac_decoder ../../\"inter_\"\$encout ../../\"inter_\"\$decout" +echo samples.at:258 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_ma_instr.yuv -motion_arrows -clip 50 ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_ma_instr.yuv -motion_arrows -clip 50 ) >"$at_stdout" 2>"$at_stderr" - at_status=$? +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../\"inter_\"$encout ../../\"inter_\"$decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../"inter_"$encout ../../"inter_"$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_decoder ../../"inter_"$encout ../../"inter_"$decout ) >"$at_stdout" 2>"$at_stderr" fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/samples.at:161: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:258" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:259: at_wrap dirac_instrumentation ../../\"inter_\"\$encout ../../\"inter_\"\"\$instrout\"_mc_instr.yuv -motion_colour -clip 50" +echo samples.at:259 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_instrumentation ../../\"inter_\"$encout ../../\"inter_\"\"$instrout\"_mc_instr.yuv -motion_colour -clip 50"; then + ( $at_traceon; at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_mc_instr.yuv -motion_colour -clip 50 ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_mc_instr.yuv -motion_colour -clip 50 ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:259" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceoff -echo "$at_srcdir/samples.at:162: at_wrap dirac_instrumentation ../../\"inter_\"\$encout ../../\"inter_\"\"\$instrout\"_mca_instr.yuv -motion_colour_arrows -clip 50" -echo samples.at:162 >"$at_check_line_file" +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:260: at_wrap dirac_instrumentation ../../\"inter_\"\$encout ../../\"inter_\"\"\$instrout\"_ma_instr.yuv -motion_arrows -clip 50" +echo samples.at:260 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - case "at_wrap dirac_instrumentation ../../\"inter_\"$encout ../../\"inter_\"\"$instrout\"_mca_instr.yuv -motion_colour_arrows -clip 50" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_instrumentation ../../\"inter_\"$encout ../../\"inter_\"\"$instrout\"_ma_instr.yuv -motion_arrows -clip 50"; then + ( $at_traceon; at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_ma_instr.yuv -motion_arrows -clip 50 ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_ma_instr.yuv -motion_arrows -clip 50 ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:260" -if test -n "$at_trace_this"; then - ( $at_traceon; at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_mca_instr.yuv -motion_colour_arrows -clip 50 ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_mca_instr.yuv -motion_colour_arrows -clip 50 ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +$at_failed && at_func_log_failure +$at_traceon; } + +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:261: at_wrap dirac_instrumentation ../../\"inter_\"\$encout ../../\"inter_\"\"\$instrout\"_mca_instr.yuv -motion_colour_arrows -clip 50" +echo samples.at:261 >"$at_check_line_file" +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_instrumentation ../../\"inter_\"$encout ../../\"inter_\"\"$instrout\"_mca_instr.yuv -motion_colour_arrows -clip 50"; then + ( $at_traceon; at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_mca_instr.yuv -motion_colour_arrows -clip 50 ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_mca_instr.yuv -motion_colour_arrows -clip 50 ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/samples.at:162: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:261" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:262: at_wrap dirac_instrumentation ../../\"inter_\"\$encout ../../\"inter_\"\"\$instrout\"_spm_instr.yuv -split_mode -clip 50" +echo samples.at:262 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_instrumentation ../../\"inter_\"$encout ../../\"inter_\"\"$instrout\"_spm_instr.yuv -split_mode -clip 50"; then + ( $at_traceon; at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_spm_instr.yuv -split_mode -clip 50 ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_spm_instr.yuv -split_mode -clip 50 ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:262" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceoff -echo "$at_srcdir/samples.at:163: at_wrap dirac_instrumentation ../../\"inter_\"\$encout ../../\"inter_\"\"\$instrout\"_spm_instr.yuv -split_mode -clip 50" -echo samples.at:163 >"$at_check_line_file" +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:263: at_wrap dirac_instrumentation ../../\"inter_\"\$encout ../../\"inter_\"\"\$instrout\"_sad_instr.yuv -sad -clip 50" +echo samples.at:263 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - case "at_wrap dirac_instrumentation ../../\"inter_\"$encout ../../\"inter_\"\"$instrout\"_spm_instr.yuv -split_mode -clip 50" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_instrumentation ../../\"inter_\"$encout ../../\"inter_\"\"$instrout\"_sad_instr.yuv -sad -clip 50"; then + ( $at_traceon; at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_sad_instr.yuv -sad -clip 50 ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_sad_instr.yuv -sad -clip 50 ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:263" -if test -n "$at_trace_this"; then - ( $at_traceon; at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_spm_instr.yuv -split_mode -clip 50 ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_spm_instr.yuv -split_mode -clip 50 ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +$at_failed && at_func_log_failure +$at_traceon; } +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:264: at_wrap dirac_instrumentation ../../\"inter_\"\$encout ../../\"inter_\"\"\$instrout\"_pred_instr.yuv -pred_mode -clip 50" +echo samples.at:264 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_instrumentation ../../\"inter_\"$encout ../../\"inter_\"\"$instrout\"_pred_instr.yuv -pred_mode -clip 50"; then + ( $at_traceon; at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_pred_instr.yuv -pred_mode -clip 50 ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_pred_instr.yuv -pred_mode -clip 50 ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/samples.at:163: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:264" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 +# modified mc blocks and mv_prec +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:266: at_wrap dirac_encoder -field_coding -local \$preset -width \$width -height \$height -cformat \$chroma -xblen \$xblen -xbsep \$xbsep -yblen \$yblen -ybsep \$ybsep -mv_prec \$mv_prec \$extras \$samp ../../\"inter_mod_block_\"\$encout" +echo samples.at:266 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -field_coding -local $preset -width $width -height $height -cformat $chroma -xblen $xblen -xbsep $xbsep -yblen $yblen -ybsep $ybsep -mv_prec $mv_prec $extras $samp ../../\"inter_mod_block_\"$encout"; then + ( $at_traceon; at_wrap dirac_encoder -field_coding -local $preset -width $width -height $height -cformat $chroma -xblen $xblen -xbsep $xbsep -yblen $yblen -ybsep $ybsep -mv_prec $mv_prec $extras $samp ../../"inter_mod_block_"$encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_encoder -field_coding -local $preset -width $width -height $height -cformat $chroma -xblen $xblen -xbsep $xbsep -yblen $yblen -ybsep $ybsep -mv_prec $mv_prec $extras $samp ../../"inter_mod_block_"$encout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:266" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceoff -echo "$at_srcdir/samples.at:164: at_wrap dirac_instrumentation ../../\"inter_\"\$encout ../../\"inter_\"\"\$instrout\"_sad_instr.yuv -sad -clip 50" -echo samples.at:164 >"$at_check_line_file" +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:267: at_wrap dirac_decoder ../../\"inter_mod_block_\"\$encout ../../\"inter_mod_block_\"\$decout" +echo samples.at:267 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - case "at_wrap dirac_instrumentation ../../\"inter_\"$encout ../../\"inter_\"\"$instrout\"_sad_instr.yuv -sad -clip 50" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../\"inter_mod_block_\"$encout ../../\"inter_mod_block_\"$decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../"inter_mod_block_"$encout ../../"inter_mod_block_"$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_decoder ../../"inter_mod_block_"$encout ../../"inter_mod_block_"$decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:267" -if test -n "$at_trace_this"; then - ( $at_traceon; at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_sad_instr.yuv -sad -clip 50 ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_sad_instr.yuv -sad -clip 50 ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +$at_failed && at_func_log_failure +$at_traceon; } + +# constant bit-rate +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:269: at_wrap dirac_encoder -targetrate \$bitrate -field_coding -local \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\$bitrate\"Kbps_inter_\"\$encout" +echo samples.at:269 >"$at_check_line_file" +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -targetrate $bitrate -field_coding -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../$bitrate\"Kbps_inter_\"$encout"; then + ( $at_traceon; at_wrap dirac_encoder -targetrate $bitrate -field_coding -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../$bitrate"Kbps_inter_"$encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_encoder -targetrate $bitrate -field_coding -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../$bitrate"Kbps_inter_"$encout ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/samples.at:164: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:269" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:270: at_wrap dirac_decoder ../../\$bitrate\"Kbps_inter_\"\$encout ../../\$bitrate\"Kbps_inter_\"\$decout" +echo samples.at:270 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../$bitrate\"Kbps_inter_\"$encout ../../$bitrate\"Kbps_inter_\"$decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../$bitrate"Kbps_inter_"$encout ../../$bitrate"Kbps_inter_"$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_decoder ../../$bitrate"Kbps_inter_"$encout ../../$bitrate"Kbps_inter_"$decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:270" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceoff -echo "$at_srcdir/samples.at:165: at_wrap dirac_instrumentation ../../\"inter_\"\$encout ../../\"inter_\"\"\$instrout\"_pred_instr.yuv -pred_mode -clip 50" -echo samples.at:165 >"$at_check_line_file" +# lossless +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:272: at_wrap dirac_encoder -lossless -field_coding -local \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\"lossless_inter_\"\$encout" +echo samples.at:272 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - case "at_wrap dirac_instrumentation ../../\"inter_\"$encout ../../\"inter_\"\"$instrout\"_pred_instr.yuv -pred_mode -clip 50" in - *' -'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;; - *) at_trace_this=yes ;; - esac +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -lossless -field_coding -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../\"lossless_inter_\"$encout"; then + ( $at_traceon; at_wrap dirac_encoder -lossless -field_coding -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"lossless_inter_"$encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_encoder -lossless -field_coding -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"lossless_inter_"$encout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:272" -if test -n "$at_trace_this"; then - ( $at_traceon; at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_pred_instr.yuv -pred_mode -clip 50 ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; at_wrap dirac_instrumentation ../../"inter_"$encout ../../"inter_""$instrout"_pred_instr.yuv -pred_mode -clip 50 ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +$at_failed && at_func_log_failure +$at_traceon; } + +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:273: at_wrap dirac_decoder ../../\"lossless_inter_\"\$encout ../../\"lossless_inter_\"\$decout" +echo samples.at:273 >"$at_check_line_file" +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../\"lossless_inter_\"$encout ../../\"lossless_inter_\"$decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../"lossless_inter_"$encout ../../"lossless_inter_"$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_decoder ../../"lossless_inter_"$encout ../../"lossless_inter_"$decout ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/samples.at:165: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:273" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 -fi +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:274: cmp \$samp ../../\"lossless_inter_\"\$decout" +echo samples.at:274 >"$at_check_line_file" -$at_traceon +if test -n "$at_traceon" \ + && at_func_check_newline "cmp $samp ../../\"lossless_inter_\"$decout"; then + ( $at_traceon; cmp $samp ../../"lossless_inter_"$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; cmp $samp ../../"lossless_inter_"$decout ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/samples.at:274" +$at_failed && at_func_log_failure +$at_traceon; } -done - $at_traceoff - $at_times_p && times >"$at_times_file" - ) 5>&1 2>&1 | eval $at_tee_pipe - at_status=`cat "$at_status_file"` - ;; +# modified GOP structure +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:276: at_wrap dirac_encoder -L1_sep 6 -field_coding -local \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\"L1sep6_inter_\"\$encout" +echo samples.at:276 >"$at_check_line_file" +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -L1_sep 6 -field_coding -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../\"L1sep6_inter_\"$encout"; then + ( $at_traceon; at_wrap dirac_encoder -L1_sep 6 -field_coding -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"L1sep6_inter_"$encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_encoder -L1_sep 6 -field_coding -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"L1sep6_inter_"$encout ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:276" - * ) - echo "$as_me: no such test group: $at_group" >&2 - continue - ;; - esac +$at_failed && at_func_log_failure +$at_traceon; } - # Be sure to come back to the suite directory, in particular - # since below we might `rm' the group directory we are in currently. - cd "$at_suite_dir" +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:277: at_wrap dirac_decoder ../../\"L1sep6_inter_\"\$encout ../../\"L1sep6_inter_\"\$decout" +echo samples.at:277 >"$at_check_line_file" - case $at_group in - banner-*) ;; - *) - if test ! -f "$at_check_line_file"; then - sed "s/^ */$as_me: warning: /" <<_ATEOF - A failure happened in a test group before any test could be - run. This means that test suite is improperly designed. Please - report this failure to <>. -_ATEOF - echo "$at_setup_line" >"$at_check_line_file" - fi - at_group_count=`expr 1 + $at_group_count` - $at_verbose $ECHO_N "$at_group. $at_setup_line: $ECHO_C" - echo $ECHO_N "$at_group. $at_setup_line: $ECHO_C" >> "$at_group_log" - case $at_xfail:$at_status in - yes:0) - at_msg="UNEXPECTED PASS" - at_xpass_list="$at_xpass_list $at_group" - at_errexit=$at_errexit_p - ;; - no:0) - at_msg="ok" - at_pass_list="$at_pass_list $at_group" - at_errexit=false - ;; - *:77) - at_msg='skipped ('`cat "$at_check_line_file"`')' - at_skip_list="$at_skip_list $at_group" - at_errexit=false - ;; - yes:*) - at_msg='expected failure ('`cat "$at_check_line_file"`')' - at_xfail_list="$at_xfail_list $at_group" - at_errexit=false - ;; - no:*) - at_msg='FAILED ('`cat "$at_check_line_file"`')' - at_fail_list="$at_fail_list $at_group" - at_errexit=$at_errexit_p - ;; - esac - # Make sure there is a separator even with long titles. - echo " $at_msg" - at_log_msg="$at_group. $at_desc ($at_setup_line): $at_msg" - case $at_status in - 0|77) - # $at_times_file is only available if the group succeeded. - # We're not including the group log, so the success message - # is written in the global log separately. But we also - # write to the group log in case they're using -d. - if test -f "$at_times_file"; then - at_log_msg="$at_log_msg ("`sed 1d "$at_times_file"`')' - rm -f "$at_times_file" - fi - echo "$at_log_msg" >> "$at_group_log" - echo "$at_log_msg" >&5 - - # Cleanup the group directory, unless the user wants the files. - if $at_debug_p ; then - { - echo "#! /bin/sh" - echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\''' - echo "cd '$at_dir'" - echo 'exec ${CONFIG_SHELL-'"$SHELL"'}' "$0" \ - '-v -d' "$at_debug_args" "$at_group" '${1+"$@"}' - echo 'exit 1' - } >$at_group_dir/run - chmod +x $at_group_dir/run - - elif test -d "$at_group_dir"; then - find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; - rm -fr "$at_group_dir" - fi - ;; - *) - # Upon failure, include the log into the testsuite's global - # log. The failure message is written in the group log. It - # is later included in the global log. - echo "$at_log_msg" >> "$at_group_log" - - # Upon failure, keep the group directory for autopsy, and - # create the debugging script. - { - echo "#! /bin/sh" - echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\''' - echo "cd '$at_dir'" - echo 'exec ${CONFIG_SHELL-'"$SHELL"'}' "$0" \ - '-v -d' "$at_debug_args" "$at_group" '${1+"$@"}' - echo 'exit 1' - } >$at_group_dir/run - chmod +x $at_group_dir/run +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../\"L1sep6_inter_\"$encout ../../\"L1sep6_inter_\"$decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../"L1sep6_inter_"$encout ../../"L1sep6_inter_"$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_decoder ../../"L1sep6_inter_"$encout ../../"L1sep6_inter_"$decout ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:277" - $at_errexit && break - ;; - esac - ;; - esac -done +$at_failed && at_func_log_failure +$at_traceon; } -# Back to the top directory. -cd "$at_dir" +# pre-filter CWM +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:279: at_wrap dirac_encoder -field_coding -prefilter CWM 5 -local \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\"inter_cwm5_\"\$encout" +echo samples.at:279 >"$at_check_line_file" -# Compute the duration of the suite. -at_stop_date=`date` -at_stop_time=`date +%s 2>/dev/null` -echo "$as_me: ending at: $at_stop_date" >&5 -case $at_start_time,$at_stop_time in - [0-9]*,[0-9]*) - at_duration_s=`expr $at_stop_time - $at_start_time` - at_duration_m=`expr $at_duration_s / 60` - at_duration_h=`expr $at_duration_m / 60` - at_duration_s=`expr $at_duration_s % 60` - at_duration_m=`expr $at_duration_m % 60` - at_duration="${at_duration_h}h ${at_duration_m}m ${at_duration_s}s" - echo "$as_me: test suite duration: $at_duration" >&5 - ;; -esac +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -field_coding -prefilter CWM 5 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../\"inter_cwm5_\"$encout"; then + ( $at_traceon; at_wrap dirac_encoder -field_coding -prefilter CWM 5 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"inter_cwm5_"$encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_encoder -field_coding -prefilter CWM 5 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"inter_cwm5_"$encout ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:279" -# Wrap up the test suite with summary statistics. -at_skip_count=`set dummy $at_skip_list; shift; echo $#` -at_fail_count=`set dummy $at_fail_list; shift; echo $#` -at_xpass_count=`set dummy $at_xpass_list; shift; echo $#` -at_xfail_count=`set dummy $at_xfail_list; shift; echo $#` - -at_run_count=`expr $at_group_count - $at_skip_count` -at_unexpected_count=`expr $at_xpass_count + $at_fail_count` -at_total_fail_count=`expr $at_xfail_count + $at_fail_count` +$at_failed && at_func_log_failure +$at_traceon; } -echo -cat <<\_ASBOX -## ------------- ## -## Test results. ## -## ------------- ## -_ASBOX -echo -{ - echo - cat <<\_ASBOX -## ------------- ## -## Test results. ## -## ------------- ## -_ASBOX - echo -} >&5 +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:280: at_wrap dirac_decoder ../../\"inter_cwm5_\"\$encout ../../\"inter_cwm5_\"\$decout" +echo samples.at:280 >"$at_check_line_file" -if test $at_run_count = 1; then - at_result="1 test" - at_were=was +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../\"inter_cwm5_\"$encout ../../\"inter_cwm5_\"$decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../"inter_cwm5_"$encout ../../"inter_cwm5_"$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - at_result="$at_run_count tests" - at_were=were + ( :; at_wrap dirac_decoder ../../"inter_cwm5_"$encout ../../"inter_cwm5_"$decout ) >"$at_stdout" 2>"$at_stderr" fi -if $at_errexit_p && test $at_unexpected_count != 0; then - if test $at_xpass_count = 1; then - at_result="$at_result $at_were run, one passed" - else - at_result="$at_result $at_were run, one failed" - fi - at_result="$at_result unexpectedly and inhibited subsequent tests." -else - # Don't you just love exponential explosion of the number of cases? - case $at_xpass_count:$at_fail_count:$at_xfail_count in - # So far, so good. - 0:0:0) at_result="$at_result $at_were successful." ;; - 0:0:*) at_result="$at_result behaved as expected." ;; +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:280" - # Some unexpected failures - 0:*:0) at_result="$at_result $at_were run, -$at_fail_count failed unexpectedly." ;; +$at_failed && at_func_log_failure +$at_traceon; } - # Some failures, both expected and unexpected - 0:*:1) at_result="$at_result $at_were run, -$at_total_fail_count failed ($at_xfail_count expected failure)." ;; - 0:*:*) at_result="$at_result $at_were run, -$at_total_fail_count failed ($at_xfail_count expected failures)." ;; +# pre-filter RECTLP +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:282: at_wrap dirac_encoder -field_coding -prefilter RECTLP 5 -local \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\"inter_rectlp5_\"\$encout" +echo samples.at:282 >"$at_check_line_file" - # No unexpected failures, but some xpasses - *:0:*) at_result="$at_result $at_were run, -$at_xpass_count passed unexpectedly." ;; +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -field_coding -prefilter RECTLP 5 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../\"inter_rectlp5_\"$encout"; then + ( $at_traceon; at_wrap dirac_encoder -field_coding -prefilter RECTLP 5 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"inter_rectlp5_"$encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_encoder -field_coding -prefilter RECTLP 5 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"inter_rectlp5_"$encout ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:282" - # No expected failures, but failures and xpasses - *:1:0) at_result="$at_result $at_were run, -$at_unexpected_count did not behave as expected ($at_fail_count unexpected failure)." ;; - *:*:0) at_result="$at_result $at_were run, -$at_unexpected_count did not behave as expected ($at_fail_count unexpected failures)." ;; +$at_failed && at_func_log_failure +$at_traceon; } - # All of them. - *:*:1) at_result="$at_result $at_were run, -$at_xpass_count passed unexpectedly, -$at_total_fail_count failed ($at_xfail_count expected failure)." ;; - *:*:*) at_result="$at_result $at_were run, -$at_xpass_count passed unexpectedly, -$at_total_fail_count failed ($at_xfail_count expected failures)." ;; - esac +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:283: at_wrap dirac_decoder ../../\"inter_rectlp5_\"\$encout ../../\"inter_rectlp5_\"\$decout" +echo samples.at:283 >"$at_check_line_file" - if test $at_skip_count = 0 && test $at_run_count -gt 1; then - at_result="All $at_result" - fi +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../\"inter_rectlp5_\"$encout ../../\"inter_rectlp5_\"$decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../"inter_rectlp5_"$encout ../../"inter_rectlp5_"$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_decoder ../../"inter_rectlp5_"$encout ../../"inter_rectlp5_"$decout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:283" -# Now put skips in the mix. -case $at_skip_count in - 0) ;; - 1) at_result="$at_result -1 test was skipped." ;; - *) at_result="$at_result -$at_skip_count tests were skipped." ;; -esac +$at_failed && at_func_log_failure +$at_traceon; } -if test $at_unexpected_count = 0; then - echo "$at_result" - echo "$at_result" >&5 +# pre-filter DIAGLP +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:285: at_wrap dirac_encoder -field_coding -prefilter DIAGLP 5 -local \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\"inter_diaglp5_\"\$encout" +echo samples.at:285 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -field_coding -prefilter DIAGLP 5 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../\"inter_diaglp5_\"$encout"; then + ( $at_traceon; at_wrap dirac_encoder -field_coding -prefilter DIAGLP 5 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"inter_diaglp5_"$encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - echo "ERROR: $at_result" >&2 - echo "ERROR: $at_result" >&5 - { - echo - cat <<\_ASBOX -## ------------------------ ## -## Summary of the failures. ## -## ------------------------ ## -_ASBOX + ( :; at_wrap dirac_encoder -field_coding -prefilter DIAGLP 5 -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"inter_diaglp5_"$encout ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:285" - # Summary of failed and skipped tests. - if test $at_fail_count != 0; then - echo "Failed tests:" - $SHELL "$0" $at_fail_list --list - echo - fi - if test $at_skip_count != 0; then - echo "Skipped tests:" - $SHELL "$0" $at_skip_list --list - echo - fi - if test $at_xpass_count != 0; then - echo "Unexpected passes:" - $SHELL "$0" $at_xpass_list --list - echo - fi - if test $at_fail_count != 0; then - cat <<\_ASBOX -## ---------------------- ## -## Detailed failed tests. ## -## ---------------------- ## -_ASBOX - echo - for at_group in $at_fail_list - do - at_group_normalized=$at_group +$at_failed && at_func_log_failure +$at_traceon; } - while :; do - case $at_group_normalized in #( - $at_format*) break;; - esac - at_group_normalized=0$at_group_normalized - done +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:286: at_wrap dirac_decoder ../../\"inter_diaglp5_\"\$encout ../../\"inter_diaglp5_\"\$decout" +echo samples.at:286 >"$at_check_line_file" - cat "$at_suite_dir/$at_group_normalized/$as_me.log" - echo - done - echo - fi - if test -n "$at_top_srcdir"; then - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## ${at_top_build_prefix}config.log ## -_ASBOX - sed 's/^/| /' ${at_top_build_prefix}config.log - echo - fi - } >&5 +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../\"inter_diaglp5_\"$encout ../../\"inter_diaglp5_\"$decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../"inter_diaglp5_"$encout ../../"inter_diaglp5_"$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_decoder ../../"inter_diaglp5_"$encout ../../"inter_diaglp5_"$decout ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:286" - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## $as_me.log was created. ## -_ASBOX +$at_failed && at_func_log_failure +$at_traceon; } - echo - echo "Please send \`${at_testdir+${at_testdir}/}$as_me.log' and all information you think might help:" - echo - echo " To: <>" - echo " Subject: [] $as_me:$at_fail_list${at_fail_list:+ failed${at_xpass_list:+,}}$at_xpass_list${at_xpass_list:+ passed unexpectedly}" - echo - if test $at_debug_p = false; then - echo - echo 'You may investigate any problem if you feel able to do so, in which' - echo 'case the test suite provides a good starting point. Its output may' - echo "be found below \`${at_testdir+${at_testdir}/}$as_me.dir'." - echo - fi - exit 1 +# pre-filter DIAGLP +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:288: at_wrap dirac_encoder -combined_me -field_coding -local \$preset -width \$width -height \$height -cformat \$chroma \$extras \$samp ../../\"inter_combined_me_\"\$encout" +echo samples.at:288 >"$at_check_line_file" + +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_encoder -combined_me -field_coding -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../\"inter_combined_me_\"$encout"; then + ( $at_traceon; at_wrap dirac_encoder -combined_me -field_coding -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"inter_combined_me_"$encout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_encoder -combined_me -field_coding -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"inter_combined_me_"$encout ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:288" -exit 0 +$at_failed && at_func_log_failure +$at_traceon; } +{ $at_traceoff +$as_echo "$at_srcdir/samples.at:289: at_wrap dirac_decoder ../../\"inter_combined_me_\"\$encout ../../\"inter_combined_me_\"\$decout" +echo samples.at:289 >"$at_check_line_file" +if test -n "$at_traceon" \ + && at_func_check_newline "at_wrap dirac_decoder ../../\"inter_combined_me_\"$encout ../../\"inter_combined_me_\"$decout"; then + ( $at_traceon; at_wrap dirac_decoder ../../"inter_combined_me_"$encout ../../"inter_combined_me_"$decout ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; at_wrap dirac_decoder ../../"inter_combined_me_"$encout ../../"inter_combined_me_"$decout ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/samples.at:289" + +$at_failed && at_func_log_failure +$at_traceon; } +# full search ME +#AT_CHECK([at_wrap dirac_encoder -full_search 32 32 -field_coding -local $preset -width $width -height $height -cformat $chroma $extras $samp ../../"inter_full_search_"$encout], 0, [ignore]) +#AT_CHECK([at_wrap dirac_decoder ../../"inter_full_search_"$encout ../../"inter_full_search_"$decout], 0, [ignore]) +done + $at_traceoff + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 | eval $at_tee_pipe +at_status=`cat "$at_status_file"` +#AT_STOP_3 diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/unit_tests/arrays_test.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/unit_tests/arrays_test.cpp --- dirac-0.9.1/unit_tests/arrays_test.cpp 2004-11-22 13:24:33.000000000 +0000 +++ dirac-1.0.2/unit_tests/arrays_test.cpp 2008-05-27 02:29:55.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: arrays_test.cpp,v 1.2 2004/11/22 13:24:33 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: arrays_test.cpp,v 1.3 2008/05/27 01:29:55 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -45,27 +45,27 @@ void setup2DArray (TwoDArray &arr, int dimx, int dimy, int start_val) { - arr.Resize(dimx, dimy); - int value =start_val; - int err_count = 0; - for (int i =arr.FirstY(); i <= arr.LastY(); i++) - { - for (int j =arr.FirstX(); j <= arr.LastX(); j++) - { - arr[i][j] = ++value; - } - } - value = start_val; - for (int i =arr.FirstY(); i <= arr.LastY(); i++) - { - for (int j =arr.FirstX(); j <= arr.LastX(); j++) - { - ++value; - if (arr[i][j] != value) - err_count++; - } - } - CPPUNIT_ASSERT_EQUAL (err_count, 0); + arr.Resize(dimx, dimy); + int value =start_val; + int err_count = 0; + for (int i =arr.FirstY(); i <= arr.LastY(); i++) + { + for (int j =arr.FirstX(); j <= arr.LastX(); j++) + { + arr[i][j] = ++value; + } + } + value = start_val; + for (int i =arr.FirstY(); i <= arr.LastY(); i++) + { + for (int j =arr.FirstX(); j <= arr.LastX(); j++) + { + ++value; + if (arr[i][j] != value) + err_count++; + } + } + CPPUNIT_ASSERT_EQUAL (err_count, 0); } TwoDArraysTest::TwoDArraysTest() @@ -86,23 +86,23 @@ void TwoDArraysTest::testConstructor() { - TwoDArray work_data(20, 30); + TwoDArray work_data(20, 30); - CPPUNIT_ASSERT_EQUAL (work_data.LengthY(), 20); - CPPUNIT_ASSERT_EQUAL (work_data.LengthX(), 30); - CPPUNIT_ASSERT_EQUAL (work_data.LastX() - work_data.FirstX() + 1, 30); - CPPUNIT_ASSERT_EQUAL (work_data.LastY() - work_data.FirstY() + 1, 20); + CPPUNIT_ASSERT_EQUAL (work_data.LengthY(), 20); + CPPUNIT_ASSERT_EQUAL (work_data.LengthX(), 30); + CPPUNIT_ASSERT_EQUAL (work_data.LastX() - work_data.FirstX() + 1, 30); + CPPUNIT_ASSERT_EQUAL (work_data.LastY() - work_data.FirstY() + 1, 20); } void TwoDArraysTest::testValueConstructor() { const double val( -17.329 ); - TwoDArray work_data(20, 30 , val ); + TwoDArray work_data(20, 30 , val ); - CPPUNIT_ASSERT_EQUAL (work_data.LengthY(), 20); - CPPUNIT_ASSERT_EQUAL (work_data.LengthX(), 30); - CPPUNIT_ASSERT_EQUAL (work_data.LastX() - work_data.FirstX() + 1, 30); - CPPUNIT_ASSERT_EQUAL (work_data.LastY() - work_data.FirstY() + 1, 20); + CPPUNIT_ASSERT_EQUAL (work_data.LengthY(), 20); + CPPUNIT_ASSERT_EQUAL (work_data.LengthX(), 30); + CPPUNIT_ASSERT_EQUAL (work_data.LastX() - work_data.FirstX() + 1, 30); + CPPUNIT_ASSERT_EQUAL (work_data.LastY() - work_data.FirstY() + 1, 20); bool test_val (true); for (int j=work_data.FirstY() ; j<=work_data.LastY() ; ++j) @@ -120,49 +120,49 @@ void TwoDArraysTest::testDefaultConstructor() { - TwoDArray work_data; + TwoDArray work_data; - CPPUNIT_ASSERT_EQUAL (work_data.LengthX(), 0); - CPPUNIT_ASSERT_EQUAL (work_data.LengthY(), 0); - CPPUNIT_ASSERT_EQUAL (work_data.FirstX(), 0); - CPPUNIT_ASSERT_EQUAL (work_data.FirstY(), 0); - CPPUNIT_ASSERT_EQUAL (work_data.LastX(), -1); - CPPUNIT_ASSERT_EQUAL (work_data.LastY(), -1); + CPPUNIT_ASSERT_EQUAL (work_data.LengthX(), 0); + CPPUNIT_ASSERT_EQUAL (work_data.LengthY(), 0); + CPPUNIT_ASSERT_EQUAL (work_data.FirstX(), 0); + CPPUNIT_ASSERT_EQUAL (work_data.FirstY(), 0); + CPPUNIT_ASSERT_EQUAL (work_data.LastX(), -1); + CPPUNIT_ASSERT_EQUAL (work_data.LastY(), -1); } void TwoDArraysTest::testCopyConstructor() { - TwoDArray work_data; - setup2DArray (work_data, 20, 30, 0); - - TwoDArray work_copy(work_data); - bool ret_val = equalArrays (work_data, work_copy); - CPPUNIT_ASSERT (ret_val == true); + TwoDArray work_data; + setup2DArray (work_data, 20, 30, 0); + + TwoDArray work_copy(work_data); + bool ret_val = equalArrays (work_data, work_copy); + CPPUNIT_ASSERT (ret_val == true); } void TwoDArraysTest::testAssignment() { - TwoDArray work_data; - setup2DArray (work_data, 20, 30, 0); + TwoDArray work_data; + setup2DArray (work_data, 20, 30, 0); - TwoDArray work_copy; + TwoDArray work_copy; - work_copy = work_data; - bool ret_val = equalArrays (work_data, work_copy); - CPPUNIT_ASSERT (ret_val == true); + work_copy = work_data; + bool ret_val = equalArrays (work_data, work_copy); + CPPUNIT_ASSERT (ret_val == true); } void TwoDArraysTest::testResize() { - TwoDArray work_data(20, 30); + TwoDArray work_data(20, 30); - CPPUNIT_ASSERT_EQUAL (work_data.LengthX(), 30); - CPPUNIT_ASSERT_EQUAL (work_data.LengthY(), 20); - CPPUNIT_ASSERT_EQUAL (work_data.LastX() - work_data.FirstX() + 1, 30); - CPPUNIT_ASSERT_EQUAL (work_data.LastY() - work_data.FirstY() + 1, 20); - work_data.Resize(30, 20); - CPPUNIT_ASSERT_EQUAL (work_data.LengthX(), 20); - CPPUNIT_ASSERT_EQUAL (work_data.LengthY(), 30); - CPPUNIT_ASSERT_EQUAL (work_data.LastX() - work_data.FirstX() + 1, 20); - CPPUNIT_ASSERT_EQUAL (work_data.LastY() - work_data.FirstY() + 1, 30); + CPPUNIT_ASSERT_EQUAL (work_data.LengthX(), 30); + CPPUNIT_ASSERT_EQUAL (work_data.LengthY(), 20); + CPPUNIT_ASSERT_EQUAL (work_data.LastX() - work_data.FirstX() + 1, 30); + CPPUNIT_ASSERT_EQUAL (work_data.LastY() - work_data.FirstY() + 1, 20); + work_data.Resize(30, 20); + CPPUNIT_ASSERT_EQUAL (work_data.LengthX(), 20); + CPPUNIT_ASSERT_EQUAL (work_data.LengthY(), 30); + CPPUNIT_ASSERT_EQUAL (work_data.LastX() - work_data.FirstX() + 1, 20); + CPPUNIT_ASSERT_EQUAL (work_data.LastY() - work_data.FirstY() + 1, 30); } diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/unit_tests/arrays_test.h /tmp/1tgnNoYBLI/dirac-1.0.2/unit_tests/arrays_test.h --- dirac-0.9.1/unit_tests/arrays_test.h 2004-11-22 13:24:33.000000000 +0000 +++ dirac-1.0.2/unit_tests/arrays_test.h 2008-05-27 02:29:55.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: arrays_test.h,v 1.2 2004/11/22 13:24:33 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: arrays_test.h,v 1.3 2008/05/27 01:29:55 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -44,23 +44,23 @@ template bool equalArrays (const TwoDArray &lhs, const TwoDArray &rhs) { - CPPUNIT_ASSERT_EQUAL (lhs.LengthX(), rhs.LengthX()); - CPPUNIT_ASSERT_EQUAL (lhs.LengthY(), rhs.LengthY()); - CPPUNIT_ASSERT_EQUAL (lhs.FirstX(), rhs.FirstX()); - CPPUNIT_ASSERT_EQUAL (lhs.FirstY(), rhs.FirstY()); - CPPUNIT_ASSERT_EQUAL (lhs.LastX(), rhs.LastX() ); - CPPUNIT_ASSERT_EQUAL (lhs.LastY(), rhs.LastY() ); - - for (int i =lhs.FirstY(); i <= lhs.LastY(); i++) - { - for (int j =lhs.FirstX(); j <= lhs.LastX(); j++) - { - if ( lhs[i][j] != rhs[i][j] ) - return false; - } - } + CPPUNIT_ASSERT_EQUAL (lhs.LengthX(), rhs.LengthX()); + CPPUNIT_ASSERT_EQUAL (lhs.LengthY(), rhs.LengthY()); + CPPUNIT_ASSERT_EQUAL (lhs.FirstX(), rhs.FirstX()); + CPPUNIT_ASSERT_EQUAL (lhs.FirstY(), rhs.FirstY()); + CPPUNIT_ASSERT_EQUAL (lhs.LastX(), rhs.LastX() ); + CPPUNIT_ASSERT_EQUAL (lhs.LastY(), rhs.LastY() ); + + for (int i =lhs.FirstY(); i <= lhs.LastY(); i++) + { + for (int j =lhs.FirstX(); j <= lhs.LastX(); j++) + { + if ( lhs[i][j] != rhs[i][j] ) + return false; + } + } - return true; + return true; } class TwoDArraysTest : public CPPUNIT_NS::TestFixture diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/unit_tests/core_suite.h /tmp/1tgnNoYBLI/dirac-1.0.2/unit_tests/core_suite.h --- dirac-0.9.1/unit_tests/core_suite.h 2004-11-22 13:26:48.000000000 +0000 +++ dirac-1.0.2/unit_tests/core_suite.h 2004-11-22 13:26:48.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: core_suite.h,v 1.2 2004/11/22 13:26:48 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: core_suite.h,v 1.2 2004/11/22 13:26:48 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/unit_tests/cppunit_testsuite.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/unit_tests/cppunit_testsuite.cpp --- dirac-0.9.1/unit_tests/cppunit_testsuite.cpp 2004-11-22 13:26:48.000000000 +0000 +++ dirac-1.0.2/unit_tests/cppunit_testsuite.cpp 2004-11-22 13:26:48.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: cppunit_testsuite.cpp,v 1.2 2004/11/22 13:26:48 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: cppunit_testsuite.cpp,v 1.2 2004/11/22 13:26:48 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/unit_tests/frames_test.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/unit_tests/frames_test.cpp --- dirac-0.9.1/unit_tests/frames_test.cpp 2007-09-03 12:31:43.000000000 +0100 +++ dirac-1.0.2/unit_tests/frames_test.cpp 2008-06-19 11:36:32.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: frames_test.cpp,v 1.6 2007/09/03 11:31:43 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: frames_test.cpp,v 1.9 2008/06/19 10:36:32 tjdwave Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -37,23 +37,23 @@ #include "frames_test.h" #include "arrays_test.h" -#include +#include using namespace dirac; #include //NOTE: ensure that the suite is added to the default registry in //cppunit_testsuite.cpp -CPPUNIT_TEST_SUITE_NAMED_REGISTRATION (FramesTest, coreSuiteName()); +CPPUNIT_TEST_SUITE_NAMED_REGISTRATION (PicturesTest, coreSuiteName()); -void FramesTest::setupFrame (Frame& frame, int start_val) +void PicturesTest::setupPicture (Picture& picture, int start_val) { - setupPicArray(frame.Ydata(), start_val); - setupPicArray(frame.Udata(), start_val); - setupPicArray(frame.Vdata(), start_val); + setupPicArray(picture.Data(Y_COMP), start_val); + setupPicArray(picture.Data(U_COMP), start_val); + setupPicArray(picture.Data(V_COMP), start_val); } -bool FramesTest::setupPicArray (PicArray &arr, int start_val) +bool PicturesTest::setupPicArray (PicArray &arr, int start_val) { char value =start_val; // use char to limit values to 8 bits int err_count = 0; @@ -79,14 +79,14 @@ return true; } -void FramesTest::zeroFrame (Frame& frame) +void PicturesTest::zeroPicture (Picture& picture) { - zeroPicArray(frame.Ydata()); - zeroPicArray(frame.Udata()); - zeroPicArray(frame.Vdata()); + zeroPicArray(picture.Data(Y_COMP)); + zeroPicArray(picture.Data(U_COMP)); + zeroPicArray(picture.Data(V_COMP)); } -bool FramesTest::zeroPicArray (PicArray &arr) +bool PicturesTest::zeroPicArray (PicArray &arr) { short value =0; int err_count = 0; @@ -112,7 +112,7 @@ } -bool FramesTest::equalPicArrays (const PicArray &lhs, const PicArray &rhs) +bool PicturesTest::equalPicArrays (const PicArray &lhs, const PicArray &rhs) { CPPUNIT_ASSERT_EQUAL (lhs.CSort(), rhs.CSort()); CPPUNIT_ASSERT_EQUAL (lhs.LengthX(), rhs.LengthX()); @@ -139,7 +139,7 @@ } -bool FramesTest::almostEqualPicArrays (const PicArray &lhs, const PicArray &rhs, int allowedError) +bool PicturesTest::almostEqualPicArrays (const PicArray &lhs, const PicArray &rhs, int allowedError) { CPPUNIT_ASSERT_EQUAL (lhs.CSort(), rhs.CSort()); CPPUNIT_ASSERT_EQUAL (lhs.LengthX(), rhs.LengthX()); @@ -165,89 +165,89 @@ return true; } -bool FramesTest::equalFrames (const Frame &lhs, const Frame &rhs) +bool PicturesTest::equalPictures (const Picture &lhs, const Picture &rhs) { - CPPUNIT_ASSERT_EQUAL (lhs.GetFparams().CFormat(), rhs.GetFparams().CFormat() ); - CPPUNIT_ASSERT (equalPicArrays(lhs.Ydata(), rhs.Ydata())); - CPPUNIT_ASSERT (equalPicArrays(lhs.Udata(), rhs.Udata())); - CPPUNIT_ASSERT (equalPicArrays(lhs.Vdata(), rhs.Vdata())); - CPPUNIT_ASSERT_EQUAL (lhs.GetFparams().LumaDepth(), rhs.GetFparams().LumaDepth() ); - CPPUNIT_ASSERT_EQUAL (lhs.GetFparams().ChromaDepth(), rhs.GetFparams().ChromaDepth() ); + CPPUNIT_ASSERT_EQUAL (lhs.GetPparams().CFormat(), rhs.GetPparams().CFormat() ); + CPPUNIT_ASSERT (equalPicArrays(lhs.Data(Y_COMP), rhs.Data(Y_COMP))); + CPPUNIT_ASSERT (equalPicArrays(lhs.Data(U_COMP), rhs.Data(U_COMP))); + CPPUNIT_ASSERT (equalPicArrays(lhs.Data(V_COMP), rhs.Data(V_COMP))); + CPPUNIT_ASSERT_EQUAL (lhs.GetPparams().LumaDepth(), rhs.GetPparams().LumaDepth() ); + CPPUNIT_ASSERT_EQUAL (lhs.GetPparams().ChromaDepth(), rhs.GetPparams().ChromaDepth() ); return true; } -bool FramesTest::almostEqualFrames (const Frame &lhs, const Frame &rhs, int allowedError) +bool PicturesTest::almostEqualPictures (const Picture &lhs, const Picture &rhs, int allowedError) { - CPPUNIT_ASSERT_EQUAL (lhs.GetFparams().CFormat(), rhs.GetFparams().CFormat() ); - CPPUNIT_ASSERT (almostEqualPicArrays(lhs.Ydata(), rhs.Ydata(), allowedError)); - CPPUNIT_ASSERT (almostEqualPicArrays(lhs.Udata(), rhs.Udata(), allowedError)); - CPPUNIT_ASSERT (almostEqualPicArrays(lhs.Vdata(), rhs.Vdata(), allowedError)); + CPPUNIT_ASSERT_EQUAL (lhs.GetPparams().CFormat(), rhs.GetPparams().CFormat() ); + CPPUNIT_ASSERT (almostEqualPicArrays(lhs.Data(Y_COMP), rhs.Data(Y_COMP), allowedError)); + CPPUNIT_ASSERT (almostEqualPicArrays(lhs.Data(U_COMP), rhs.Data(U_COMP), allowedError)); + CPPUNIT_ASSERT (almostEqualPicArrays(lhs.Data(V_COMP), rhs.Data(V_COMP), allowedError)); return true; } -FramesTest::FramesTest() +PicturesTest::PicturesTest() { } -FramesTest::~FramesTest() +PicturesTest::~PicturesTest() { } -void FramesTest::setUp() +void PicturesTest::setUp() { } -void FramesTest::tearDown() +void PicturesTest::tearDown() { } -void FramesTest::testConstructor() +void PicturesTest::testConstructor() { - FrameParams f_params(format444, 20, 30, 20, 30, 20, 30, 8, 8); - Frame frame(f_params); + PictureParams p_params(format444, 20, 30, 8, 8); + Picture picture(p_params); - CPPUNIT_ASSERT_EQUAL (20, frame.Ydata().LengthX()); - CPPUNIT_ASSERT_EQUAL (30, frame.Ydata().LengthY()); - CPPUNIT_ASSERT_EQUAL (20, frame.Ydata().LastX() - frame.Ydata().FirstX() + 1); - CPPUNIT_ASSERT_EQUAL (30, frame.Ydata().LastY() - frame.Ydata().FirstY() + 1); + CPPUNIT_ASSERT_EQUAL (20, picture.Data(Y_COMP).LengthX()); + CPPUNIT_ASSERT_EQUAL (30, picture.Data(Y_COMP).LengthY()); + CPPUNIT_ASSERT_EQUAL (20, picture.Data(Y_COMP).LastX() - picture.Data(Y_COMP).FirstX() + 1); + CPPUNIT_ASSERT_EQUAL (30, picture.Data(Y_COMP).LastY() - picture.Data(Y_COMP).FirstY() + 1); } -void FramesTest::testDefaultFParam() +void PicturesTest::testDefaultPictureParams() { - FrameParams f_params; - Frame frame(f_params); + PictureParams p_params; + Picture picture(p_params); - CPPUNIT_ASSERT_EQUAL (0, frame.Ydata().LengthX()); - CPPUNIT_ASSERT_EQUAL (0, frame.Ydata().LengthY()); - CPPUNIT_ASSERT_EQUAL (0, frame.Ydata().FirstX()); - CPPUNIT_ASSERT_EQUAL (0, frame.Ydata().FirstY()); - CPPUNIT_ASSERT_EQUAL (-1, frame.Ydata().LastX()); - CPPUNIT_ASSERT_EQUAL (-1, frame.Ydata().LastY()); + CPPUNIT_ASSERT_EQUAL (0, picture.Data(Y_COMP).LengthX()); + CPPUNIT_ASSERT_EQUAL (0, picture.Data(Y_COMP).LengthY()); + CPPUNIT_ASSERT_EQUAL (0, picture.Data(Y_COMP).FirstX()); + CPPUNIT_ASSERT_EQUAL (0, picture.Data(Y_COMP).FirstY()); + CPPUNIT_ASSERT_EQUAL (-1, picture.Data(Y_COMP).LastX()); + CPPUNIT_ASSERT_EQUAL (-1, picture.Data(Y_COMP).LastY()); } -void FramesTest::testCopyConstructor() +void PicturesTest::testCopyConstructor() { - FrameParams f_params(format444, 20, 30, 20, 30, 20, 30, 8, 8); - Frame frame(f_params); - setupFrame(frame, 0); + PictureParams p_params(format444, 20, 30, 8, 8); + Picture picture(p_params); + setupPicture(picture, 0); - Frame frame_copy(frame); - CPPUNIT_ASSERT (equalFrames (frame, frame_copy)); + Picture picture_copy(picture); + CPPUNIT_ASSERT (equalPictures (picture, picture_copy)); } -void FramesTest::testAssignment() +void PicturesTest::testAssignment() { - FrameParams f_params(format444, 20, 30, 20, 30, 20, 30, 8, 8); - Frame frame(f_params); - setupFrame(frame, 0); + PictureParams p_params(format444, 20, 30, 8, 8); + Picture picture(p_params); + setupPicture(picture, 0); - FrameParams f_params_copy(format444, 10, 10, 10, 10, 10, 10, 8, 8); - Frame frame_copy(f_params_copy); + PictureParams p_params_copy(format444, 10, 10, 8, 8); + Picture picture_copy(p_params_copy); - frame_copy = frame; + picture_copy = picture; - CPPUNIT_ASSERT (equalFrames (frame, frame_copy)); + CPPUNIT_ASSERT (equalPictures (picture, picture_copy)); } diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/unit_tests/frames_test.h /tmp/1tgnNoYBLI/dirac-1.0.2/unit_tests/frames_test.h --- dirac-0.9.1/unit_tests/frames_test.h 2004-11-26 13:36:49.000000000 +0000 +++ dirac-1.0.2/unit_tests/frames_test.h 2008-02-05 03:14:57.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: frames_test.h,v 1.1 2004/11/26 13:36:49 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: frames_test.h,v 1.2 2008/02/05 03:14:57 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -37,15 +37,15 @@ #ifndef FRAMES_TEST_H #define FRAMES_TEST_H #include -#include +#include #include -using dirac::Frame; +using dirac::Picture; using dirac::PicArray; -class FramesTest : public CPPUNIT_NS::TestFixture +class PicturesTest : public CPPUNIT_NS::TestFixture { - CPPUNIT_TEST_SUITE( FramesTest ); + CPPUNIT_TEST_SUITE( PicturesTest ); CPPUNIT_TEST( testConstructor ); // CPPUNIT_TEST( testDefaultFParam ); CPPUNIT_TEST( testCopyConstructor ); @@ -53,28 +53,28 @@ CPPUNIT_TEST_SUITE_END(); public: - FramesTest(); - virtual ~FramesTest(); + PicturesTest(); + virtual ~PicturesTest(); virtual void setUp(); virtual void tearDown(); void testConstructor(); - void testDefaultFParam(); + void testDefaultPictureParams(); void testCopyConstructor(); void testAssignment(); - static void setupFrame (Frame& frame, int start_val); - static void zeroFrame (Frame& frame); + static void setupPicture (Picture& picture, int start_val); + static void zeroPicture (Picture& picture); static bool zeroPicArray (PicArray &arr); static bool equalPicArrays (const PicArray &lhs, const PicArray &rhs); static bool almostEqualPicArrays (const PicArray &lhs, const PicArray &rhs, int allowedError); - static bool equalFrames (const Frame &lhs, const Frame &rhs); - static bool almostEqualFrames (const Frame &lhs, const Frame &rhs, int allowedError); + static bool equalPictures (const Picture &lhs, const Picture &rhs); + static bool almostEqualPictures (const Picture &lhs, const Picture &rhs, int allowedError); static bool setupPicArray (PicArray &arr, int start_val); private: - FramesTest( const FramesTest © ); - void operator =( const FramesTest © ); + PicturesTest( const PicturesTest © ); + void operator =( const PicturesTest © ); private: }; #endif diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/unit_tests/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/unit_tests/Makefile.in --- dirac-0.9.1/unit_tests/Makefile.in 2008-01-26 12:30:38.000000000 +0000 +++ dirac-1.0.2/unit_tests/Makefile.in 2009-02-11 01:43:38.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in 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. @@ -17,15 +17,11 @@ # $Id: Makefile.am,v 1.5 2004/11/26 13:36:25 asuraparaju Exp $ # -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -43,7 +39,8 @@ subdir = unit_tests DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -65,33 +62,37 @@ @USE_MSVC_TRUE@ ../libdirac_encoder/libdirac_encoder.a \ @USE_MSVC_TRUE@ ../libdirac_common/libdirac_common.a \ @USE_MSVC_TRUE@ ../libdirac_motionest/libdirac_motionest.a -DEFAULT_INCLUDES = -I. -I$(srcdir) +dirac_unittest_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(dirac_unittest_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) -CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \ - $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ SOURCES = $(dirac_unittest_SOURCES) DIST_SOURCES = $(dirac_unittest_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ +ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ @@ -114,62 +115,46 @@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ GENERIC_RELEASE = @GENERIC_RELEASE@ GENERIC_VERSION = @GENERIC_VERSION@ GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBEXT = @LIBEXT@ LIBFLAGS = @LIBFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -178,22 +163,19 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -205,6 +187,7 @@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -223,6 +206,7 @@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -232,8 +216,12 @@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ INCLUDES = -I$(top_srcdir) -I$(srcdir) dirac_unittest_SOURCES = utmain.cpp \ core_suite.h \ @@ -286,15 +274,15 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ || test -f $$p1 \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ else :; fi; \ done @@ -314,7 +302,7 @@ done dirac_unittest$(EXEEXT): $(dirac_unittest_OBJECTS) $(dirac_unittest_DEPENDENCIES) @rm -f dirac_unittest$(EXEEXT) - $(CXXLINK) $(dirac_unittest_LDFLAGS) $(dirac_unittest_OBJECTS) $(dirac_unittest_LDADD) $(LIBS) + $(dirac_unittest_LINK) $(dirac_unittest_OBJECTS) $(dirac_unittest_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -330,22 +318,22 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wavelet_utils_test.Po@am__quote@ .cpp.o: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: -@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< @@ -356,17 +344,13 @@ clean-libtool: -rm -rf .libs _libs -distclean-libtool: - -rm -f libtool -uninstall-info-am: - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS @@ -378,8 +362,8 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ @@ -389,13 +373,12 @@ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique @@ -409,22 +392,21 @@ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -440,7 +422,7 @@ all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am @@ -475,7 +457,7 @@ -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags + distclean-tags dvi: dvi-am @@ -489,12 +471,20 @@ install-data-am: +install-dvi: install-dvi-am + install-exec-am: install-binPROGRAMS +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -515,19 +505,23 @@ ps-am: -uninstall-am: uninstall-binPROGRAMS uninstall-info-am +uninstall-am: uninstall-binPROGRAMS + +.MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ clean-generic clean-libtool ctags distclean distclean-compile \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ - install-binPROGRAMS install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + install-binPROGRAMS install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am \ - uninstall-binPROGRAMS uninstall-info-am + uninstall-binPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/unit_tests/motion_comp_test.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/unit_tests/motion_comp_test.cpp --- dirac-0.9.1/unit_tests/motion_comp_test.cpp 2007-11-16 04:50:09.000000000 +0000 +++ dirac-1.0.2/unit_tests/motion_comp_test.cpp 2008-10-01 02:26:47.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: motion_comp_test.cpp,v 1.13 2007/11/16 04:50:09 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: motion_comp_test.cpp,v 1.18 2008/10/01 01:26:47 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -38,8 +38,8 @@ #include "motion_comp_test.h" #include "frames_test.h" -#include -#include +#include +#include #include using namespace dirac; @@ -69,9 +69,9 @@ } -MvData* setupMV1Data(CodecParams& cp, int mv_x, int mv_y, PredMode mode) +MvData* setupMV1Data(const PicturePredParams& ppp, int mv_x, int mv_y, PredMode mode) { - MvData* mv_data = new MvData(cp.XNumMB(),cp.YNumMB(),cp.XNumBlocks(),cp.YNumBlocks(), 2); + MvData* mv_data = new MvData(ppp, 2); MvArray& arr = mv_data->Vectors(1); for (int i =arr.FirstY(); i <= arr.LastY(); i++) { @@ -108,53 +108,54 @@ void MotionCompTest::testZeroMotionComp(MVPrecisionType precision) { - FrameBuffer fbuffer(format420, X_SIZE, Y_SIZE, X_SIZE, Y_SIZE, X_SIZE/2, Y_SIZE/2, 8, 8, true); - CodecParams cp(VIDEO_FORMAT_CIF, INTER_FRAME, 1, true); + PictureBuffer pbuffer; + CodecParams cp(VIDEO_FORMAT_CIF, INTER_PICTURE, 1, true); + PicturePredParams &ppp = cp.GetPicPredParams(); OLBParams bparams(12, 12, 8, 8); - cp.SetMVPrecision(precision); - cp.SetBlockSizes(bparams, fbuffer.GetFParams().CFormat()); - cp.SetXNumMB( X_SIZE / cp.LumaBParams(0).Xbsep() ); - cp.SetYNumMB( Y_SIZE / cp.LumaBParams(0).Ybsep() ); - cp.SetYNumMB( Y_SIZE / cp.LumaBParams(0).Ybsep() ); - cp.SetOrigXl( X_SIZE ); - cp.SetOrigYl( Y_SIZE ); + ppp.SetMVPrecision(precision); + ppp.SetBlockSizes(bparams, format420 ); + ppp.SetXNumSB( X_SIZE / ppp.LumaBParams(0).Xbsep() ); + ppp.SetYNumSB( Y_SIZE / ppp.LumaBParams(0).Ybsep() ); + ppp.SetYNumSB( Y_SIZE / ppp.LumaBParams(0).Ybsep() ); - cp.SetXNumBlocks( 4*cp.XNumMB() ); - cp.SetYNumBlocks( 4*cp.YNumMB() ); + ppp.SetXNumBlocks( 4*ppp.XNumSB() ); + ppp.SetYNumBlocks( 4*ppp.YNumSB() ); // MotionCompensator mc( cp ); - MvData* mv_data = setupMV1Data(cp, 0, 0, REF1_ONLY); + MvData* mv_data = setupMV1Data(ppp, 0, 0, REF1_ONLY); - FrameParams fp(format420, X_SIZE, Y_SIZE, X_SIZE, Y_SIZE, X_SIZE/2, Y_SIZE/2, 8, 8); + PictureParams pp(format420, X_SIZE, Y_SIZE, 8, 8); - fp.SetFSort(FrameSort::IntraRefFrameSort()); - fp.SetFrameNum(0); - fbuffer.PushFrame(fp); - FramesTest::setupFrame(fbuffer.GetFrame(0),0); - - fp.SetFSort(FrameSort::InterRefFrameSort()); - fp.SetFrameNum(1); - fp.Refs().push_back(0); - fbuffer.PushFrame(fp); - FramesTest::zeroFrame(fbuffer.GetFrame(1)); - - fp.SetFrameNum(2); - fbuffer.PushFrame(fp); - FramesTest::zeroFrame(fbuffer.GetFrame(2)); + pp.SetPicSort(PictureSort::IntraRefPictureSort()); + pp.SetPictureNum(0); + pbuffer.PushPicture(pp); + PicturesTest::setupPicture(pbuffer.GetPicture(0),0); - // mc.CompensateFrame(ADD, fbuffer, 1, *mv_data); - MotionCompensator::CompensateFrame(cp, ADD, fbuffer, 1, *mv_data); + pp.SetPicSort(PictureSort::InterRefPictureSort()); + pp.SetPictureNum(1); + pp.Refs().push_back(0); + pbuffer.PushPicture(pp); + PicturesTest::zeroPicture(pbuffer.GetPicture(1)); + + pp.SetPictureNum(2); + pbuffer.PushPicture(pp); + PicturesTest::zeroPicture(pbuffer.GetPicture(2)); + + Picture* ref_pics[2] = { &pbuffer.GetPicture(1), &pbuffer.GetPicture(2) }; + + // mc.CompensatePicture(ADD, pbuffer, 1, *mv_data); + MotionCompensator::CompensatePicture(ppp, ADD, *mv_data, &pbuffer.GetPicture(0), ref_pics ); // MotionCompensator mc2( cp ); //too many rounding errors for this to be exactly true; - //CPPUNIT_ASSERT (FramesTest::equalFrames (fbuffer.GetFrame(0), fbuffer.GetFrame(1))); - // mc2.CompensateFrame(SUBTRACT, fbuffer, 1, *mv_data); - MotionCompensator::CompensateFrame(cp, SUBTRACT, fbuffer, 1, *mv_data); + //CPPUNIT_ASSERT (PicturesTest::equalPictures (pbuffer.GetPicture(0), pbuffer.GetPicture(1))); + // mc2.CompensatePicture(SUBTRACT, pbuffer, 1, *mv_data); + MotionCompensator::CompensatePicture(ppp, SUBTRACT, *mv_data, &pbuffer.GetPicture(0), ref_pics ); - CPPUNIT_ASSERT (FramesTest::equalFrames (fbuffer.GetFrame(2), fbuffer.GetFrame(1))); + CPPUNIT_ASSERT (PicturesTest::equalPictures (pbuffer.GetPicture(2), pbuffer.GetPicture(1))); delete mv_data; } @@ -168,144 +169,146 @@ void MotionCompTest::testAddandSubMotionComp(MVPrecisionType precision) { - FrameBuffer fbuffer(format420, X_SIZE, Y_SIZE, X_SIZE, Y_SIZE, X_SIZE/2, Y_SIZE/2, 8, 8, true); - CodecParams cp(VIDEO_FORMAT_CIF, INTER_FRAME, 1, true); + PictureBuffer pbuffer; + CodecParams cp(VIDEO_FORMAT_CIF, INTER_PICTURE, 1, true); + PicturePredParams &ppp = cp.GetPicPredParams(); OLBParams bparams(12, 12, 8, 8); - cp.SetMVPrecision(precision); - cp.SetBlockSizes(bparams, fbuffer.GetFParams().CFormat()); - cp.SetXNumMB( X_SIZE / cp.LumaBParams(0).Xbsep() ); - cp.SetYNumMB( Y_SIZE / cp.LumaBParams(0).Ybsep() ); - cp.SetOrigXl( X_SIZE ); - cp.SetOrigYl( Y_SIZE ); + ppp.SetMVPrecision(precision); + ppp.SetBlockSizes(bparams, format420 ); + ppp.SetXNumSB( X_SIZE / ppp.LumaBParams(0).Xbsep() ); + ppp.SetYNumSB( Y_SIZE / ppp.LumaBParams(0).Ybsep() ); - cp.SetXNumBlocks( 4*cp.XNumMB() ); - cp.SetYNumBlocks( 4*cp.YNumMB() ); + ppp.SetXNumBlocks( 4*ppp.XNumSB() ); + ppp.SetYNumBlocks( 4*ppp.YNumSB() ); - MvData* mv_data = setupMV1Data(cp, 5, 5, REF1_ONLY); + MvData* mv_data = setupMV1Data(ppp, 5, 5, REF1_ONLY); + + PictureParams pp(format420, X_SIZE, Y_SIZE, 8, 8); - FrameParams fp(format420, X_SIZE, Y_SIZE, X_SIZE, Y_SIZE, X_SIZE/2, Y_SIZE/2, 8, 8); + pp.SetPicSort(PictureSort::IntraRefPictureSort()); + pp.SetPictureNum(0); + pbuffer.PushPicture(pp); + PicturesTest::setupPicture(pbuffer.GetPicture(0),0); + + pp.SetPicSort(PictureSort::InterRefPictureSort()); + pp.SetPictureNum(1); + pp.Refs().push_back(0); + pbuffer.PushPicture(pp); + PicturesTest::zeroPicture(pbuffer.GetPicture(1)); + + pp.SetPictureNum(2); + pbuffer.PushPicture(pp); + PicturesTest::zeroPicture(pbuffer.GetPicture(2)); - fp.SetFSort(FrameSort::IntraRefFrameSort()); - fp.SetFrameNum(0); - fbuffer.PushFrame(fp); - FramesTest::setupFrame(fbuffer.GetFrame(0),0); - - fp.SetFSort(FrameSort::InterRefFrameSort()); - fp.SetFrameNum(1); - fp.Refs().push_back(0); - fbuffer.PushFrame(fp); - FramesTest::zeroFrame(fbuffer.GetFrame(1)); - - fp.SetFrameNum(2); - fbuffer.PushFrame(fp); - FramesTest::zeroFrame(fbuffer.GetFrame(2)); + Picture* ref_pics[2] = { &pbuffer.GetPicture(1), &pbuffer.GetPicture(2) }; // MotionCompensator mc( cp ); - // mc.CompensateFrame(ADD, fbuffer, 1, *mv_data); - MotionCompensator::CompensateFrame(cp, ADD, fbuffer, 1, *mv_data); + // mc.CompensatePicture(ADD, pbuffer, 1, *mv_data); + MotionCompensator::CompensatePicture(ppp, ADD, *mv_data, &pbuffer.GetPicture(0), ref_pics ); // MotionCompensator mc2( cp ); - // mc2.CompensateFrame(SUBTRACT, fbuffer, 1, *mv_data); - MotionCompensator::CompensateFrame(cp, SUBTRACT, fbuffer, 1, *mv_data); + // mc2.CompensatePicture(SUBTRACT, pbuffer, 1, *mv_data); + MotionCompensator::CompensatePicture(ppp, SUBTRACT, *mv_data, &pbuffer.GetPicture(0), ref_pics ); - CPPUNIT_ASSERT (FramesTest::equalFrames (fbuffer.GetFrame(2), fbuffer.GetFrame(1))); + CPPUNIT_ASSERT (PicturesTest::equalPictures (pbuffer.GetPicture(2), pbuffer.GetPicture(1))); delete mv_data; } -void MotionCompTest::testL2_frame() +void MotionCompTest::testL2_picture() { for (int i = 0; i < 4; ++i) { - testL2_frame(static_cast(i)); + testL2_picture(static_cast(i)); } } -void MotionCompTest::testL2_frame(MVPrecisionType precision) +void MotionCompTest::testL2_picture(MVPrecisionType precision) { - FrameBuffer fbuffer(format420, X_SIZE, Y_SIZE, X_SIZE, Y_SIZE, X_SIZE/2, Y_SIZE/2, 8, 8, true); - CodecParams cp(VIDEO_FORMAT_CIF, INTER_FRAME, 1, true); + PictureBuffer pbuffer; + CodecParams cp(VIDEO_FORMAT_CIF, INTER_PICTURE, 1, true); + PicturePredParams &ppp = cp.GetPicPredParams(); OLBParams bparams(12, 12, 8, 8); - cp.SetMVPrecision(precision); - cp.SetBlockSizes(bparams, fbuffer.GetFParams().CFormat()); - cp.SetXNumMB( X_SIZE / cp.LumaBParams(0).Xbsep() ); - cp.SetYNumMB( Y_SIZE / cp.LumaBParams(0).Ybsep() ); - cp.SetOrigXl( X_SIZE ); - cp.SetOrigYl( Y_SIZE ); + ppp.SetMVPrecision(precision); + ppp.SetBlockSizes(bparams, format420 ); + ppp.SetXNumSB( X_SIZE / ppp.LumaBParams(0).Xbsep() ); + ppp.SetYNumSB( Y_SIZE / ppp.LumaBParams(0).Ybsep() ); - cp.SetXNumBlocks( 4*cp.XNumMB() ); - cp.SetYNumBlocks( 4*cp.YNumMB() ); + ppp.SetXNumBlocks( 4*ppp.XNumSB() ); + ppp.SetYNumBlocks( 4*ppp.YNumSB() ); - MvData* mv_data = setupMV1Data(cp, 5, 5, REF1_ONLY); + MvData* mv_data = setupMV1Data(ppp, 5, 5, REF1_ONLY); - FrameParams fp(format420, X_SIZE, Y_SIZE, X_SIZE, Y_SIZE, X_SIZE/2, Y_SIZE/2, 8, 8); + PictureParams pp(format420, X_SIZE, Y_SIZE, 8, 8); - fp.SetFSort(FrameSort::IntraRefFrameSort()); - fp.SetFrameNum(0); - fbuffer.PushFrame(fp); - FramesTest::setupFrame(fbuffer.GetFrame(0),0); - - fp.SetFSort(FrameSort::InterNonRefFrameSort()); - fp.SetFrameNum(1); - fp.Refs().push_back(0); - fbuffer.PushFrame(fp); - FramesTest::zeroFrame(fbuffer.GetFrame(1)); - - fp.SetFrameNum(2); - fbuffer.PushFrame(fp); - FramesTest::zeroFrame(fbuffer.GetFrame(2)); + pp.SetPicSort(PictureSort::IntraRefPictureSort()); + pp.SetPictureNum(0); + pbuffer.PushPicture(pp); + PicturesTest::setupPicture(pbuffer.GetPicture(0),0); + + pp.SetPicSort(PictureSort::InterNonRefPictureSort()); + pp.SetPictureNum(1); + pp.Refs().push_back(0); + pbuffer.PushPicture(pp); + PicturesTest::zeroPicture(pbuffer.GetPicture(1)); + + pp.SetPictureNum(2); + pbuffer.PushPicture(pp); + PicturesTest::zeroPicture(pbuffer.GetPicture(2)); + + Picture* ref_pics[2] = { &pbuffer.GetPicture(1), &pbuffer.GetPicture(2) }; // MotionCompensator mc( cp ); - // mc.CompensateFrame(ADD, fbuffer, 1, *mv_data); - MotionCompensator::CompensateFrame(cp, ADD, fbuffer, 1, *mv_data); + // mc.CompensatePicture(ADD, pbuffer, 1, *mv_data); + MotionCompensator::CompensatePicture(ppp, ADD, *mv_data, &pbuffer.GetPicture(0), ref_pics ); // MotionCompensator mc2( cp ); - // mc2.CompensateFrame(SUBTRACT, fbuffer, 1, *mv_data); - MotionCompensator::CompensateFrame(cp, SUBTRACT, fbuffer, 1, *mv_data); + // mc2.CompensatePicture(SUBTRACT, pbuffer, 1, *mv_data); + MotionCompensator::CompensatePicture(ppp, SUBTRACT, *mv_data, &pbuffer.GetPicture(0), ref_pics ); - CPPUNIT_ASSERT (FramesTest::equalFrames (fbuffer.GetFrame(2), fbuffer.GetFrame(1))); + CPPUNIT_ASSERT (PicturesTest::equalPictures (pbuffer.GetPicture(2), pbuffer.GetPicture(1))); delete mv_data; } -void MotionCompTest::testI_frame() +void MotionCompTest::testI_picture() { - FrameBuffer fbuffer(format420, X_SIZE, Y_SIZE, X_SIZE, Y_SIZE, X_SIZE/2, Y_SIZE/2, 8, 8, true); - CodecParams cp(VIDEO_FORMAT_CIF, INTER_FRAME, 2, true); + PictureBuffer pbuffer; + CodecParams cp(VIDEO_FORMAT_CIF, INTER_PICTURE, 2, true); + PicturePredParams &ppp = cp.GetPicPredParams(); OLBParams bparams(12, 12, 8, 8); - cp.SetBlockSizes(bparams, fbuffer.GetFParams().CFormat()); - cp.SetXNumMB( X_SIZE / cp.LumaBParams(0).Xbsep() ); - cp.SetYNumMB( Y_SIZE / cp.LumaBParams(0).Ybsep() ); - cp.SetOrigXl( X_SIZE ); - cp.SetOrigYl( Y_SIZE ); + ppp.SetBlockSizes(bparams, format420 ); + ppp.SetXNumSB( X_SIZE / ppp.LumaBParams(0).Xbsep() ); + ppp.SetYNumSB( Y_SIZE / ppp.LumaBParams(0).Ybsep() ); - cp.SetXNumBlocks( 4*cp.XNumMB() ); - cp.SetYNumBlocks( 4*cp.YNumMB() ); + ppp.SetXNumBlocks( 4*ppp.XNumSB() ); + ppp.SetYNumBlocks( 4*ppp.YNumSB() ); - MvData* mv_data = setupMV1Data(cp, 5, 5, REF1_ONLY); + MvData* mv_data = setupMV1Data(ppp, 5, 5, REF1_ONLY); - FrameParams fp(format420, X_SIZE, Y_SIZE, X_SIZE, Y_SIZE, X_SIZE/2, Y_SIZE/2, 8, 8); + PictureParams pp(format420, X_SIZE, Y_SIZE, 8, 8); - fp.SetFSort(FrameSort::IntraRefFrameSort()); - fp.SetFrameNum(0); - fbuffer.PushFrame(fp); - FramesTest::setupFrame(fbuffer.GetFrame(0),0); - - fp.SetFSort(FrameSort::IntraRefFrameSort()); - fp.SetFrameNum(1); - fp.Refs().push_back(0); - fbuffer.PushFrame(fp); - FramesTest::setupFrame(fbuffer.GetFrame(1),0); + pp.SetPicSort(PictureSort::IntraRefPictureSort()); + pp.SetPictureNum(0); + pbuffer.PushPicture(pp); + PicturesTest::setupPicture(pbuffer.GetPicture(0),0); + + pp.SetPicSort(PictureSort::IntraRefPictureSort()); + pp.SetPictureNum(1); + pp.Refs().push_back(0); + pbuffer.PushPicture(pp); + PicturesTest::setupPicture(pbuffer.GetPicture(1),0); + Picture* ref_pics[2] = { &pbuffer.GetPicture(1), &pbuffer.GetPicture(1) }; // MotionCompensator mc( cp ); - // mc.CompensateFrame(ADD, fbuffer, 1, *mv_data); - MotionCompensator::CompensateFrame(cp, ADD, fbuffer, 1, *mv_data); + // mc.CompensatePicture(ADD, pbuffer, 1, *mv_data); + MotionCompensator::CompensatePicture(ppp, ADD, *mv_data, &pbuffer.GetPicture(0), ref_pics ); - CPPUNIT_ASSERT (FramesTest::equalFrames (fbuffer.GetFrame(0), fbuffer.GetFrame(1))); + CPPUNIT_ASSERT (PicturesTest::equalPictures (pbuffer.GetPicture(0), pbuffer.GetPicture(1))); delete mv_data; } @@ -320,54 +323,55 @@ void MotionCompTest::testRef2(MVPrecisionType precision) { - FrameBuffer fbuffer(format420, X_SIZE, Y_SIZE, X_SIZE, Y_SIZE, X_SIZE/2, Y_SIZE/2, 8, 8, true); - CodecParams cp(VIDEO_FORMAT_CIF, INTER_FRAME, 2, true); + PictureBuffer pbuffer; + CodecParams cp(VIDEO_FORMAT_CIF, INTER_PICTURE, 2, true); + PicturePredParams &ppp = cp.GetPicPredParams(); OLBParams bparams(12, 12, 8, 8); - cp.SetMVPrecision(precision); - cp.SetBlockSizes(bparams, fbuffer.GetFParams().CFormat()); - cp.SetXNumMB( X_SIZE / cp.LumaBParams(0).Xbsep() ); - cp.SetYNumMB( Y_SIZE / cp.LumaBParams(0).Ybsep() ); - cp.SetOrigXl( X_SIZE ); - cp.SetOrigYl( Y_SIZE ); + ppp.SetMVPrecision(precision); + ppp.SetBlockSizes(bparams, format420 ); + ppp.SetXNumSB( X_SIZE / ppp.LumaBParams(0).Xbsep() ); + ppp.SetYNumSB( Y_SIZE / ppp.LumaBParams(0).Ybsep() ); - cp.SetXNumBlocks( 4*cp.XNumMB() ); - cp.SetYNumBlocks( 4*cp.YNumMB() ); + ppp.SetXNumBlocks( 4*ppp.XNumSB() ); + ppp.SetYNumBlocks( 4*ppp.YNumSB() ); - MvData* mv_data = setupMV1Data(cp, 5, 5, REF2_ONLY); + MvData* mv_data = setupMV1Data(ppp, 5, 5, REF2_ONLY); setupMV2Data(mv_data, 0, 0); - FrameParams fp(format420, X_SIZE, Y_SIZE, X_SIZE, Y_SIZE, X_SIZE/2, Y_SIZE/2, 8, 8); + PictureParams pp(format420, X_SIZE, Y_SIZE, 8, 8); + + pp.SetPicSort(PictureSort::IntraRefPictureSort()); + pp.SetPictureNum(0); + pbuffer.PushPicture(pp); + PicturesTest::setupPicture(pbuffer.GetPicture(0),0); + + pp.SetPicSort(PictureSort::InterRefPictureSort()); + pp.SetPictureNum(1); + pp.Refs().push_back(2); + pp.Refs().push_back(0); + pbuffer.PushPicture(pp); + PicturesTest::zeroPicture(pbuffer.GetPicture(1)); + + pp.SetPictureNum(2); + pbuffer.PushPicture(pp); + PicturesTest::zeroPicture(pbuffer.GetPicture(2)); - fp.SetFSort(FrameSort::IntraRefFrameSort()); - fp.SetFrameNum(0); - fbuffer.PushFrame(fp); - FramesTest::setupFrame(fbuffer.GetFrame(0),0); - - fp.SetFSort(FrameSort::InterRefFrameSort()); - fp.SetFrameNum(1); - fp.Refs().push_back(2); - fp.Refs().push_back(0); - fbuffer.PushFrame(fp); - FramesTest::zeroFrame(fbuffer.GetFrame(1)); - - fp.SetFrameNum(2); - fbuffer.PushFrame(fp); - FramesTest::zeroFrame(fbuffer.GetFrame(2)); + Picture* ref_pics[2] = { &pbuffer.GetPicture(1), &pbuffer.GetPicture(2) }; // MotionCompensator mc( cp ); - // mc.CompensateFrame(ADD, fbuffer, 1, *mv_data); - MotionCompensator::CompensateFrame(cp, ADD, fbuffer, 1, *mv_data); + // mc.CompensatePicture(ADD, pbuffer, 1, *mv_data); + MotionCompensator::CompensatePicture(ppp, ADD, *mv_data, &pbuffer.GetPicture(0), ref_pics ); //too many rounding errors for this to be exactly true; - //CPPUNIT_ASSERT (FramesTest::equalFrames (fbuffer.GetFrame(0), fbuffer.GetFrame(1))); + //CPPUNIT_ASSERT (PicturesTest::equalPictures (pbuffer.GetPicture(0), pbuffer.GetPicture(1))); // MotionCompensator mc2( cp ); - // mc2.CompensateFrame(SUBTRACT, fbuffer, 1, *mv_data); - MotionCompensator::CompensateFrame(cp, SUBTRACT, fbuffer, 1, *mv_data); + // mc2.CompensatePicture(SUBTRACT, pbuffer, 1, *mv_data); + MotionCompensator::CompensatePicture(ppp, SUBTRACT, *mv_data, &pbuffer.GetPicture(0), ref_pics ); - CPPUNIT_ASSERT (FramesTest::equalFrames (fbuffer.GetFrame(2), fbuffer.GetFrame(1))); + CPPUNIT_ASSERT (PicturesTest::equalPictures (pbuffer.GetPicture(2), pbuffer.GetPicture(1))); delete mv_data; } @@ -381,72 +385,75 @@ void MotionCompTest::testRef1and2(MVPrecisionType precision) { - FrameBuffer fbuffer(format420, X_SIZE, Y_SIZE, X_SIZE, Y_SIZE, X_SIZE/2, Y_SIZE/2, 8, 8, true); - CodecParams cp(VIDEO_FORMAT_CIF, INTER_FRAME, 2, true); + PictureBuffer pbuffer; + CodecParams cp(VIDEO_FORMAT_CIF, INTER_PICTURE, 2, true); + PicturePredParams &ppp = cp.GetPicPredParams(); OLBParams bparams(12, 12, 8, 8); - cp.SetMVPrecision(precision); - cp.SetBlockSizes(bparams, fbuffer.GetFParams().CFormat()); - cp.SetXNumMB( X_SIZE / cp.LumaBParams(0).Xbsep() ); - cp.SetYNumMB( Y_SIZE / cp.LumaBParams(0).Ybsep() ); - cp.SetOrigXl( X_SIZE ); - cp.SetOrigYl( Y_SIZE ); + ppp.SetMVPrecision(precision); + ppp.SetBlockSizes(bparams, format420 ); + ppp.SetXNumSB( X_SIZE / ppp.LumaBParams(0).Xbsep() ); + ppp.SetYNumSB( Y_SIZE / ppp.LumaBParams(0).Ybsep() ); - cp.SetXNumBlocks( 4*cp.XNumMB() ); - cp.SetYNumBlocks( 4*cp.YNumMB() ); + ppp.SetXNumBlocks( 4*ppp.XNumSB() ); + ppp.SetYNumBlocks( 4*ppp.YNumSB() ); - MvData* mv_data = setupMV1Data(cp, 5, 5, REF1_ONLY); + MvData* mv_data = setupMV1Data(ppp, 5, 5, REF1_ONLY); setupMV2Data(mv_data, 5, 5); - MvData* mv_data1 = setupMV1Data(cp, 7, 3, REF2_ONLY); + MvData* mv_data1 = setupMV1Data(ppp, 7, 3, REF2_ONLY); setupMV2Data(mv_data1, 7, 3); - MvData* mv_data2 = setupMV1Data(cp, 5, 5, REF1AND2); + MvData* mv_data2 = setupMV1Data(ppp, 5, 5, REF1AND2); setupMV2Data(mv_data2, 7, 3); - FrameParams fp(format420, X_SIZE, Y_SIZE, X_SIZE, Y_SIZE, X_SIZE/2, Y_SIZE/2, 8, 8); + PictureParams pp(format420, X_SIZE, Y_SIZE, 8, 8); - fp.SetFSort(FrameSort::IntraRefFrameSort()); - fp.SetFrameNum(0); - fbuffer.PushFrame(fp); - FramesTest::setupFrame(fbuffer.GetFrame(0),0); - - fp.SetFSort(FrameSort::IntraRefFrameSort()); - fp.SetFrameNum(1); - fbuffer.PushFrame(fp); - FramesTest::setupFrame(fbuffer.GetFrame(1),50); - - fp.SetFSort(FrameSort::InterRefFrameSort()); - fp.SetFrameNum(2); - fp.Refs().push_back(0); - fp.Refs().push_back(1); - fbuffer.PushFrame(fp); - FramesTest::zeroFrame(fbuffer.GetFrame(2)); - - fp.SetFrameNum(3); - fbuffer.PushFrame(fp); - FramesTest::zeroFrame(fbuffer.GetFrame(3)); + pp.SetPicSort(PictureSort::IntraRefPictureSort()); + pp.SetPictureNum(0); + pbuffer.PushPicture(pp); + PicturesTest::setupPicture(pbuffer.GetPicture(0),0); + + pp.SetPicSort(PictureSort::IntraRefPictureSort()); + pp.SetPictureNum(1); + pbuffer.PushPicture(pp); + PicturesTest::setupPicture(pbuffer.GetPicture(1),50); + + pp.SetPicSort(PictureSort::InterRefPictureSort()); + pp.SetPictureNum(2); + pp.Refs().push_back(0); + pp.Refs().push_back(1); + pbuffer.PushPicture(pp); + PicturesTest::zeroPicture(pbuffer.GetPicture(2)); + + pp.SetPictureNum(3); + pbuffer.PushPicture(pp); + PicturesTest::zeroPicture(pbuffer.GetPicture(3)); //MotionCompensator mc( cp ); + + Picture* ref_pics[2]; + ref_pics[0] = &pbuffer.GetPicture(0); + ref_pics[1] = &pbuffer.GetPicture(1); - //mc.CompensateFrame(ADD, fbuffer, 2, *mv_data); - MotionCompensator::CompensateFrame(cp, ADD, fbuffer, 2, *mv_data); + //mc.CompensatePicture(ADD, pbuffer, 2, *mv_data); + MotionCompensator::CompensatePicture(ppp, ADD, *mv_data, &pbuffer.GetPicture(2), ref_pics); //MotionCompensator mc2( cp ); - //mc2.CompensateFrame(ADD, fbuffer, 2, *mv_data1); - MotionCompensator::CompensateFrame(cp, ADD, fbuffer, 2, *mv_data1); + //mc2.CompensatePicture(ADD, pbuffer, 2, *mv_data1); + MotionCompensator::CompensatePicture(ppp, ADD, *mv_data1, &pbuffer.GetPicture(2), ref_pics); // MotionCompensator mc3( cp ); - // mc3.CompensateFrame(ADD, fbuffer, 3, *mv_data2); - MotionCompensator::CompensateFrame(cp, ADD, fbuffer, 3, *mv_data2); + // mc3.CompensatePicture(ADD, pbuffer, 3, *mv_data2); + MotionCompensator::CompensatePicture(ppp, ADD, *mv_data2, &pbuffer.GetPicture(3), ref_pics); //MotionCompensator mc4( cp ); - //mc4.CompensateFrame(ADD, fbuffer, 3, *mv_data2); - MotionCompensator::CompensateFrame(cp, ADD, fbuffer, 3, *mv_data2); + //mc4.CompensatePicture(ADD, pbuffer, 3, *mv_data2); + MotionCompensator::CompensatePicture(ppp, ADD, *mv_data2, &pbuffer.GetPicture(3), ref_pics); - CPPUNIT_ASSERT (FramesTest::almostEqualFrames (fbuffer.GetFrame(2), fbuffer.GetFrame(3), 5 )); + CPPUNIT_ASSERT (PicturesTest::almostEqualPictures (pbuffer.GetPicture(2), pbuffer.GetPicture(3), 5 )); delete mv_data; delete mv_data1; delete mv_data2; diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/unit_tests/motion_comp_test.h /tmp/1tgnNoYBLI/dirac-1.0.2/unit_tests/motion_comp_test.h --- dirac-0.9.1/unit_tests/motion_comp_test.h 2006-05-17 18:33:00.000000000 +0100 +++ dirac-1.0.2/unit_tests/motion_comp_test.h 2008-02-05 03:14:58.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: motion_comp_test.h,v 1.3 2006/05/17 17:33:00 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: motion_comp_test.h,v 1.4 2008/02/05 03:14:58 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -45,8 +45,8 @@ CPPUNIT_TEST_SUITE( MotionCompTest ); CPPUNIT_TEST( testZeroMotionComp ); CPPUNIT_TEST( testAddandSubMotionComp ); - CPPUNIT_TEST( testL2_frame ); - CPPUNIT_TEST( testI_frame ); + CPPUNIT_TEST( testL2_picture ); + CPPUNIT_TEST( testI_picture ); CPPUNIT_TEST( testRef2 ); CPPUNIT_TEST( testRef1and2 ); CPPUNIT_TEST_SUITE_END(); @@ -60,8 +60,8 @@ void testZeroMotionComp(); void testAddandSubMotionComp(); - void testL2_frame(); - void testI_frame(); + void testL2_picture(); + void testI_picture(); void testRef2(); void testRef1and2(); private: @@ -70,7 +70,7 @@ private: void testZeroMotionComp(MVPrecisionType precision); void testAddandSubMotionComp(MVPrecisionType precision); - void testL2_frame(MVPrecisionType precision); + void testL2_picture(MVPrecisionType precision); void testRef2(MVPrecisionType precision); void testRef1and2(MVPrecisionType precision); }; diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/unit_tests/utmain.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/unit_tests/utmain.cpp --- dirac-0.9.1/unit_tests/utmain.cpp 2004-11-22 13:26:48.000000000 +0000 +++ dirac-1.0.2/unit_tests/utmain.cpp 2008-05-27 02:29:55.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: utmain.cpp,v 1.2 2004/11/22 13:26:48 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: utmain.cpp,v 1.3 2008/05/27 01:29:55 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -73,7 +73,7 @@ runner.addTest( CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest() ); try { - std::string test_path = testPath.empty() ? " all unit tests" : testPath; + std::string test_path = testPath.empty() ? " all unit tests" : testPath; std::cerr << "Running " << test_path << std::endl; runner.run( controller, testPath ); diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/unit_tests/wavelet_utils_test.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/unit_tests/wavelet_utils_test.cpp --- dirac-0.9.1/unit_tests/wavelet_utils_test.cpp 2007-07-26 13:53:59.000000000 +0100 +++ dirac-1.0.2/unit_tests/wavelet_utils_test.cpp 2007-07-26 13:53:59.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: wavelet_utils_test.cpp,v 1.3 2007/07/26 12:53:59 tjdwave Exp $ $Name: Dirac_0_9_1 $ +* $Id: wavelet_utils_test.cpp,v 1.3 2007/07/26 12:53:59 tjdwave Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/unit_tests/wavelet_utils_test.h /tmp/1tgnNoYBLI/dirac-1.0.2/unit_tests/wavelet_utils_test.h --- dirac-0.9.1/unit_tests/wavelet_utils_test.h 2004-11-22 13:07:28.000000000 +0000 +++ dirac-1.0.2/unit_tests/wavelet_utils_test.h 2004-11-22 13:07:28.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: wavelet_utils_test.h,v 1.1 2004/11/22 13:07:28 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: wavelet_utils_test.h,v 1.1 2004/11/22 13:07:28 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/conversion/BMPtoRGB.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/conversion/BMPtoRGB.cpp --- dirac-0.9.1/util/conversion/BMPtoRGB.cpp 2004-06-30 17:44:51.000000000 +0100 +++ dirac-1.0.2/util/conversion/BMPtoRGB.cpp 2004-06-30 17:44:51.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: BMPtoRGB.cpp,v 1.3 2004/06/30 16:44:51 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: BMPtoRGB.cpp,v 1.3 2004/06/30 16:44:51 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/conversion/common/bitmap.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/conversion/common/bitmap.cpp --- dirac-0.9.1/util/conversion/common/bitmap.cpp 2004-06-30 17:44:52.000000000 +0100 +++ dirac-1.0.2/util/conversion/common/bitmap.cpp 2004-06-30 17:44:52.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: bitmap.cpp,v 1.3 2004/06/30 16:44:52 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: bitmap.cpp,v 1.3 2004/06/30 16:44:52 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/conversion/common/bitmap.h /tmp/1tgnNoYBLI/dirac-1.0.2/util/conversion/common/bitmap.h --- dirac-0.9.1/util/conversion/common/bitmap.h 2004-06-30 17:44:52.000000000 +0100 +++ dirac-1.0.2/util/conversion/common/bitmap.h 2004-06-30 17:44:52.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: bitmap.h,v 1.3 2004/06/30 16:44:52 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: bitmap.h,v 1.3 2004/06/30 16:44:52 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/conversion/common/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/util/conversion/common/Makefile.in --- dirac-0.9.1/util/conversion/common/Makefile.in 2008-01-26 12:30:38.000000000 +0000 +++ dirac-1.0.2/util/conversion/common/Makefile.in 2009-02-11 01:43:38.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in 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. @@ -17,15 +17,11 @@ # $Id: Makefile.am,v 1.5 2004/11/22 13:54:47 asuraparaju Exp $ # -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -42,7 +38,8 @@ subdir = util/conversion/common DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -55,33 +52,34 @@ am__objects_2 = setstdiomode.$(OBJEXT) bitmap.$(OBJEXT) am_libconv_common_a_OBJECTS = $(am__objects_1) $(am__objects_2) libconv_common_a_OBJECTS = $(am_libconv_common_a_OBJECTS) -DEFAULT_INCLUDES = -I. -I$(srcdir) +DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) -CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \ - $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ SOURCES = $(libconv_common_a_SOURCES) DIST_SOURCES = $(libconv_common_a_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ +ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ @@ -104,62 +102,46 @@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ GENERIC_RELEASE = @GENERIC_RELEASE@ GENERIC_VERSION = @GENERIC_VERSION@ GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBEXT = @LIBEXT@ LIBFLAGS = @LIBFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -168,22 +150,19 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -195,6 +174,7 @@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -213,6 +193,7 @@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -222,8 +203,12 @@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ INCLUDES = -I$(top_srcdir) -I$(srcdir) h_sources = setstdiomode.h bitmap.h cpp_sources = setstdiomode.cpp bitmap.cpp @@ -283,22 +268,22 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setstdiomode.Po@am__quote@ .cpp.o: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: -@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< @@ -309,17 +294,13 @@ clean-libtool: -rm -rf .libs _libs -distclean-libtool: - -rm -f libtool -uninstall-info-am: - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS @@ -331,8 +312,8 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ @@ -342,13 +323,12 @@ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique @@ -362,22 +342,21 @@ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -426,7 +405,7 @@ -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags + distclean-tags dvi: dvi-am @@ -440,12 +419,20 @@ install-data-am: +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -466,19 +453,22 @@ ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLIBRARIES ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am tags uninstall uninstall-am \ - uninstall-info-am + pdf pdf-am ps ps-am tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/conversion/common/setstdiomode.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/conversion/common/setstdiomode.cpp --- dirac-0.9.1/util/conversion/common/setstdiomode.cpp 2004-06-30 17:44:52.000000000 +0100 +++ dirac-1.0.2/util/conversion/common/setstdiomode.cpp 2004-06-30 17:44:52.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: setstdiomode.cpp,v 1.3 2004/06/30 16:44:52 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: setstdiomode.cpp,v 1.3 2004/06/30 16:44:52 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/conversion/common/setstdiomode.h /tmp/1tgnNoYBLI/dirac-1.0.2/util/conversion/common/setstdiomode.h --- dirac-0.9.1/util/conversion/common/setstdiomode.h 2004-06-30 17:44:52.000000000 +0100 +++ dirac-1.0.2/util/conversion/common/setstdiomode.h 2004-06-30 17:44:52.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: setstdiomode.h,v 1.3 2004/06/30 16:44:52 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: setstdiomode.h,v 1.3 2004/06/30 16:44:52 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/conversion/Makefile.am /tmp/1tgnNoYBLI/dirac-1.0.2/util/conversion/Makefile.am --- dirac-0.9.1/util/conversion/Makefile.am 2004-11-22 13:50:08.000000000 +0000 +++ dirac-1.0.2/util/conversion/Makefile.am 2008-11-18 23:25:21.000000000 +0000 @@ -1,10 +1,12 @@ -# $Id: Makefile.am,v 1.6 2004/11/22 13:50:08 asuraparaju Exp $ +# $Id: Makefile.am,v 1.11 2008/11/18 23:25:21 asuraparaju Exp $ # INCLUDES = -I$(top_srcdir) -I$(srcdir) -I$(srcdir)/common bin_PROGRAMS = RGBtoYUV411 RGBtoYUV420 RGBtoYUV422 RGBtoYUV444 RGBtoUYVY RGBtoBMP \ -BMPtoRGB YUV411toRGB YUV420toRGB YUV422toRGB YUV444toRGB UYVYtoRGB +BMPtoRGB YUV411toRGB YUV420toRGB YUV422toRGB YUV444toRGB UYVYtoRGB \ +UYVYtoYUV422 YUV422toUYVY YUV422toYUV420 YUV420toYUV422 YUV420Down2x2 \ +YUV420pt75filter YUV422ItoYUV420I YUV420ItoYUV422I RGBtoYUV411_SOURCES = RGBtoYUV411.cpp RGBtoYUV420_SOURCES = RGBtoYUV420.cpp @@ -20,7 +22,20 @@ UYVYtoRGB_SOURCES=UYVYtoRGB.cpp BMPtoRGB_SOURCES=BMPtoRGB.cpp -LDADD = common/libconv_common.a +YUV422toYUV420_SOURCES=YUV422toYUV420.cpp +YUV420toYUV422_SOURCES=YUV420toYUV422.cpp +UYVYtoYUV422_SOURCES=UYVYtoYUV422.cpp +YUV422toUYVY_SOURCES=YUV422toUYVY.cpp + +YUV422ItoYUV420I_SOURCES=YUV422ItoYUV420I.cpp +YUV420ItoYUV422I_SOURCES=YUV420ItoYUV422I.cpp + +YUV420Down2x2_SOURCES=YUV420Down2x2.cpp + +YUV420pt75filter_SOURCES=YUV420pt75filter.cpp + +LDADD = common/libconv_common.a \ + $(top_builddir)/libdirac_common/libdirac_common.la if USE_MSVC CLEANFILES = *.pdb *.ilk diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/conversion/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/util/conversion/Makefile.in --- dirac-0.9.1/util/conversion/Makefile.in 2008-01-26 12:30:38.000000000 +0000 +++ dirac-1.0.2/util/conversion/Makefile.in 2009-02-11 01:43:38.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in 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. @@ -14,18 +14,14 @@ @SET_MAKE@ -# $Id: Makefile.am,v 1.6 2004/11/22 13:50:08 asuraparaju Exp $ +# $Id: Makefile.am,v 1.11 2008/11/18 23:25:21 asuraparaju Exp $ # -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -43,11 +39,15 @@ RGBtoYUV422$(EXEEXT) RGBtoYUV444$(EXEEXT) RGBtoUYVY$(EXEEXT) \ RGBtoBMP$(EXEEXT) BMPtoRGB$(EXEEXT) YUV411toRGB$(EXEEXT) \ YUV420toRGB$(EXEEXT) YUV422toRGB$(EXEEXT) YUV444toRGB$(EXEEXT) \ - UYVYtoRGB$(EXEEXT) + UYVYtoRGB$(EXEEXT) UYVYtoYUV422$(EXEEXT) YUV422toUYVY$(EXEEXT) \ + YUV422toYUV420$(EXEEXT) YUV420toYUV422$(EXEEXT) \ + YUV420Down2x2$(EXEEXT) YUV420pt75filter$(EXEEXT) \ + YUV422ItoYUV420I$(EXEEXT) YUV420ItoYUV422I$(EXEEXT) subdir = util/conversion DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -59,87 +59,150 @@ am_BMPtoRGB_OBJECTS = BMPtoRGB.$(OBJEXT) BMPtoRGB_OBJECTS = $(am_BMPtoRGB_OBJECTS) BMPtoRGB_LDADD = $(LDADD) -BMPtoRGB_DEPENDENCIES = common/libconv_common.a +BMPtoRGB_DEPENDENCIES = common/libconv_common.a \ + $(top_builddir)/libdirac_common/libdirac_common.la am_RGBtoBMP_OBJECTS = RGBtoBMP.$(OBJEXT) RGBtoBMP_OBJECTS = $(am_RGBtoBMP_OBJECTS) RGBtoBMP_LDADD = $(LDADD) -RGBtoBMP_DEPENDENCIES = common/libconv_common.a +RGBtoBMP_DEPENDENCIES = common/libconv_common.a \ + $(top_builddir)/libdirac_common/libdirac_common.la am_RGBtoUYVY_OBJECTS = RGBtoUYVY.$(OBJEXT) RGBtoUYVY_OBJECTS = $(am_RGBtoUYVY_OBJECTS) RGBtoUYVY_LDADD = $(LDADD) -RGBtoUYVY_DEPENDENCIES = common/libconv_common.a +RGBtoUYVY_DEPENDENCIES = common/libconv_common.a \ + $(top_builddir)/libdirac_common/libdirac_common.la am_RGBtoYUV411_OBJECTS = RGBtoYUV411.$(OBJEXT) RGBtoYUV411_OBJECTS = $(am_RGBtoYUV411_OBJECTS) RGBtoYUV411_LDADD = $(LDADD) -RGBtoYUV411_DEPENDENCIES = common/libconv_common.a +RGBtoYUV411_DEPENDENCIES = common/libconv_common.a \ + $(top_builddir)/libdirac_common/libdirac_common.la am_RGBtoYUV420_OBJECTS = RGBtoYUV420.$(OBJEXT) RGBtoYUV420_OBJECTS = $(am_RGBtoYUV420_OBJECTS) RGBtoYUV420_LDADD = $(LDADD) -RGBtoYUV420_DEPENDENCIES = common/libconv_common.a +RGBtoYUV420_DEPENDENCIES = common/libconv_common.a \ + $(top_builddir)/libdirac_common/libdirac_common.la am_RGBtoYUV422_OBJECTS = RGBtoYUV422.$(OBJEXT) RGBtoYUV422_OBJECTS = $(am_RGBtoYUV422_OBJECTS) RGBtoYUV422_LDADD = $(LDADD) -RGBtoYUV422_DEPENDENCIES = common/libconv_common.a +RGBtoYUV422_DEPENDENCIES = common/libconv_common.a \ + $(top_builddir)/libdirac_common/libdirac_common.la am_RGBtoYUV444_OBJECTS = RGBtoYUV444.$(OBJEXT) RGBtoYUV444_OBJECTS = $(am_RGBtoYUV444_OBJECTS) RGBtoYUV444_LDADD = $(LDADD) -RGBtoYUV444_DEPENDENCIES = common/libconv_common.a +RGBtoYUV444_DEPENDENCIES = common/libconv_common.a \ + $(top_builddir)/libdirac_common/libdirac_common.la am_UYVYtoRGB_OBJECTS = UYVYtoRGB.$(OBJEXT) UYVYtoRGB_OBJECTS = $(am_UYVYtoRGB_OBJECTS) UYVYtoRGB_LDADD = $(LDADD) -UYVYtoRGB_DEPENDENCIES = common/libconv_common.a +UYVYtoRGB_DEPENDENCIES = common/libconv_common.a \ + $(top_builddir)/libdirac_common/libdirac_common.la +am_UYVYtoYUV422_OBJECTS = UYVYtoYUV422.$(OBJEXT) +UYVYtoYUV422_OBJECTS = $(am_UYVYtoYUV422_OBJECTS) +UYVYtoYUV422_LDADD = $(LDADD) +UYVYtoYUV422_DEPENDENCIES = common/libconv_common.a \ + $(top_builddir)/libdirac_common/libdirac_common.la am_YUV411toRGB_OBJECTS = YUV411toRGB.$(OBJEXT) YUV411toRGB_OBJECTS = $(am_YUV411toRGB_OBJECTS) YUV411toRGB_LDADD = $(LDADD) -YUV411toRGB_DEPENDENCIES = common/libconv_common.a +YUV411toRGB_DEPENDENCIES = common/libconv_common.a \ + $(top_builddir)/libdirac_common/libdirac_common.la +am_YUV420Down2x2_OBJECTS = YUV420Down2x2.$(OBJEXT) +YUV420Down2x2_OBJECTS = $(am_YUV420Down2x2_OBJECTS) +YUV420Down2x2_LDADD = $(LDADD) +YUV420Down2x2_DEPENDENCIES = common/libconv_common.a \ + $(top_builddir)/libdirac_common/libdirac_common.la +am_YUV420ItoYUV422I_OBJECTS = YUV420ItoYUV422I.$(OBJEXT) +YUV420ItoYUV422I_OBJECTS = $(am_YUV420ItoYUV422I_OBJECTS) +YUV420ItoYUV422I_LDADD = $(LDADD) +YUV420ItoYUV422I_DEPENDENCIES = common/libconv_common.a \ + $(top_builddir)/libdirac_common/libdirac_common.la +am_YUV420pt75filter_OBJECTS = YUV420pt75filter.$(OBJEXT) +YUV420pt75filter_OBJECTS = $(am_YUV420pt75filter_OBJECTS) +YUV420pt75filter_LDADD = $(LDADD) +YUV420pt75filter_DEPENDENCIES = common/libconv_common.a \ + $(top_builddir)/libdirac_common/libdirac_common.la am_YUV420toRGB_OBJECTS = YUV420toRGB.$(OBJEXT) YUV420toRGB_OBJECTS = $(am_YUV420toRGB_OBJECTS) YUV420toRGB_LDADD = $(LDADD) -YUV420toRGB_DEPENDENCIES = common/libconv_common.a +YUV420toRGB_DEPENDENCIES = common/libconv_common.a \ + $(top_builddir)/libdirac_common/libdirac_common.la +am_YUV420toYUV422_OBJECTS = YUV420toYUV422.$(OBJEXT) +YUV420toYUV422_OBJECTS = $(am_YUV420toYUV422_OBJECTS) +YUV420toYUV422_LDADD = $(LDADD) +YUV420toYUV422_DEPENDENCIES = common/libconv_common.a \ + $(top_builddir)/libdirac_common/libdirac_common.la +am_YUV422ItoYUV420I_OBJECTS = YUV422ItoYUV420I.$(OBJEXT) +YUV422ItoYUV420I_OBJECTS = $(am_YUV422ItoYUV420I_OBJECTS) +YUV422ItoYUV420I_LDADD = $(LDADD) +YUV422ItoYUV420I_DEPENDENCIES = common/libconv_common.a \ + $(top_builddir)/libdirac_common/libdirac_common.la am_YUV422toRGB_OBJECTS = YUV422toRGB.$(OBJEXT) YUV422toRGB_OBJECTS = $(am_YUV422toRGB_OBJECTS) YUV422toRGB_LDADD = $(LDADD) -YUV422toRGB_DEPENDENCIES = common/libconv_common.a +YUV422toRGB_DEPENDENCIES = common/libconv_common.a \ + $(top_builddir)/libdirac_common/libdirac_common.la +am_YUV422toUYVY_OBJECTS = YUV422toUYVY.$(OBJEXT) +YUV422toUYVY_OBJECTS = $(am_YUV422toUYVY_OBJECTS) +YUV422toUYVY_LDADD = $(LDADD) +YUV422toUYVY_DEPENDENCIES = common/libconv_common.a \ + $(top_builddir)/libdirac_common/libdirac_common.la +am_YUV422toYUV420_OBJECTS = YUV422toYUV420.$(OBJEXT) +YUV422toYUV420_OBJECTS = $(am_YUV422toYUV420_OBJECTS) +YUV422toYUV420_LDADD = $(LDADD) +YUV422toYUV420_DEPENDENCIES = common/libconv_common.a \ + $(top_builddir)/libdirac_common/libdirac_common.la am_YUV444toRGB_OBJECTS = YUV444toRGB.$(OBJEXT) YUV444toRGB_OBJECTS = $(am_YUV444toRGB_OBJECTS) YUV444toRGB_LDADD = $(LDADD) -YUV444toRGB_DEPENDENCIES = common/libconv_common.a -DEFAULT_INCLUDES = -I. -I$(srcdir) +YUV444toRGB_DEPENDENCIES = common/libconv_common.a \ + $(top_builddir)/libdirac_common/libdirac_common.la +DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) -CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \ - $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ SOURCES = $(BMPtoRGB_SOURCES) $(RGBtoBMP_SOURCES) $(RGBtoUYVY_SOURCES) \ $(RGBtoYUV411_SOURCES) $(RGBtoYUV420_SOURCES) \ $(RGBtoYUV422_SOURCES) $(RGBtoYUV444_SOURCES) \ - $(UYVYtoRGB_SOURCES) $(YUV411toRGB_SOURCES) \ - $(YUV420toRGB_SOURCES) $(YUV422toRGB_SOURCES) \ + $(UYVYtoRGB_SOURCES) $(UYVYtoYUV422_SOURCES) \ + $(YUV411toRGB_SOURCES) $(YUV420Down2x2_SOURCES) \ + $(YUV420ItoYUV422I_SOURCES) $(YUV420pt75filter_SOURCES) \ + $(YUV420toRGB_SOURCES) $(YUV420toYUV422_SOURCES) \ + $(YUV422ItoYUV420I_SOURCES) $(YUV422toRGB_SOURCES) \ + $(YUV422toUYVY_SOURCES) $(YUV422toYUV420_SOURCES) \ $(YUV444toRGB_SOURCES) DIST_SOURCES = $(BMPtoRGB_SOURCES) $(RGBtoBMP_SOURCES) \ $(RGBtoUYVY_SOURCES) $(RGBtoYUV411_SOURCES) \ $(RGBtoYUV420_SOURCES) $(RGBtoYUV422_SOURCES) \ $(RGBtoYUV444_SOURCES) $(UYVYtoRGB_SOURCES) \ - $(YUV411toRGB_SOURCES) $(YUV420toRGB_SOURCES) \ - $(YUV422toRGB_SOURCES) $(YUV444toRGB_SOURCES) + $(UYVYtoYUV422_SOURCES) $(YUV411toRGB_SOURCES) \ + $(YUV420Down2x2_SOURCES) $(YUV420ItoYUV422I_SOURCES) \ + $(YUV420pt75filter_SOURCES) $(YUV420toRGB_SOURCES) \ + $(YUV420toYUV422_SOURCES) $(YUV422ItoYUV420I_SOURCES) \ + $(YUV422toRGB_SOURCES) $(YUV422toUYVY_SOURCES) \ + $(YUV422toYUV420_SOURCES) $(YUV444toRGB_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ +ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ @@ -162,62 +225,46 @@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ GENERIC_RELEASE = @GENERIC_RELEASE@ GENERIC_VERSION = @GENERIC_VERSION@ GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBEXT = @LIBEXT@ LIBFLAGS = @LIBFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -226,22 +273,19 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -253,6 +297,7 @@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -271,6 +316,7 @@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -280,8 +326,12 @@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ INCLUDES = -I$(top_srcdir) -I$(srcdir) -I$(srcdir)/common RGBtoYUV411_SOURCES = RGBtoYUV411.cpp RGBtoYUV420_SOURCES = RGBtoYUV420.cpp @@ -295,7 +345,17 @@ YUV444toRGB_SOURCES = YUV444toRGB.cpp UYVYtoRGB_SOURCES = UYVYtoRGB.cpp BMPtoRGB_SOURCES = BMPtoRGB.cpp -LDADD = common/libconv_common.a +YUV422toYUV420_SOURCES = YUV422toYUV420.cpp +YUV420toYUV422_SOURCES = YUV420toYUV422.cpp +UYVYtoYUV422_SOURCES = UYVYtoYUV422.cpp +YUV422toUYVY_SOURCES = YUV422toUYVY.cpp +YUV422ItoYUV420I_SOURCES = YUV422ItoYUV420I.cpp +YUV420ItoYUV422I_SOURCES = YUV420ItoYUV422I.cpp +YUV420Down2x2_SOURCES = YUV420Down2x2.cpp +YUV420pt75filter_SOURCES = YUV420pt75filter.cpp +LDADD = common/libconv_common.a \ + $(top_builddir)/libdirac_common/libdirac_common.la + @USE_MSVC_TRUE@CLEANFILES = *.pdb *.ilk SUBDIRS = common all: all-recursive @@ -333,15 +393,15 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ || test -f $$p1 \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ else :; fi; \ done @@ -361,40 +421,64 @@ done BMPtoRGB$(EXEEXT): $(BMPtoRGB_OBJECTS) $(BMPtoRGB_DEPENDENCIES) @rm -f BMPtoRGB$(EXEEXT) - $(CXXLINK) $(BMPtoRGB_LDFLAGS) $(BMPtoRGB_OBJECTS) $(BMPtoRGB_LDADD) $(LIBS) + $(CXXLINK) $(BMPtoRGB_OBJECTS) $(BMPtoRGB_LDADD) $(LIBS) RGBtoBMP$(EXEEXT): $(RGBtoBMP_OBJECTS) $(RGBtoBMP_DEPENDENCIES) @rm -f RGBtoBMP$(EXEEXT) - $(CXXLINK) $(RGBtoBMP_LDFLAGS) $(RGBtoBMP_OBJECTS) $(RGBtoBMP_LDADD) $(LIBS) + $(CXXLINK) $(RGBtoBMP_OBJECTS) $(RGBtoBMP_LDADD) $(LIBS) RGBtoUYVY$(EXEEXT): $(RGBtoUYVY_OBJECTS) $(RGBtoUYVY_DEPENDENCIES) @rm -f RGBtoUYVY$(EXEEXT) - $(CXXLINK) $(RGBtoUYVY_LDFLAGS) $(RGBtoUYVY_OBJECTS) $(RGBtoUYVY_LDADD) $(LIBS) + $(CXXLINK) $(RGBtoUYVY_OBJECTS) $(RGBtoUYVY_LDADD) $(LIBS) RGBtoYUV411$(EXEEXT): $(RGBtoYUV411_OBJECTS) $(RGBtoYUV411_DEPENDENCIES) @rm -f RGBtoYUV411$(EXEEXT) - $(CXXLINK) $(RGBtoYUV411_LDFLAGS) $(RGBtoYUV411_OBJECTS) $(RGBtoYUV411_LDADD) $(LIBS) + $(CXXLINK) $(RGBtoYUV411_OBJECTS) $(RGBtoYUV411_LDADD) $(LIBS) RGBtoYUV420$(EXEEXT): $(RGBtoYUV420_OBJECTS) $(RGBtoYUV420_DEPENDENCIES) @rm -f RGBtoYUV420$(EXEEXT) - $(CXXLINK) $(RGBtoYUV420_LDFLAGS) $(RGBtoYUV420_OBJECTS) $(RGBtoYUV420_LDADD) $(LIBS) + $(CXXLINK) $(RGBtoYUV420_OBJECTS) $(RGBtoYUV420_LDADD) $(LIBS) RGBtoYUV422$(EXEEXT): $(RGBtoYUV422_OBJECTS) $(RGBtoYUV422_DEPENDENCIES) @rm -f RGBtoYUV422$(EXEEXT) - $(CXXLINK) $(RGBtoYUV422_LDFLAGS) $(RGBtoYUV422_OBJECTS) $(RGBtoYUV422_LDADD) $(LIBS) + $(CXXLINK) $(RGBtoYUV422_OBJECTS) $(RGBtoYUV422_LDADD) $(LIBS) RGBtoYUV444$(EXEEXT): $(RGBtoYUV444_OBJECTS) $(RGBtoYUV444_DEPENDENCIES) @rm -f RGBtoYUV444$(EXEEXT) - $(CXXLINK) $(RGBtoYUV444_LDFLAGS) $(RGBtoYUV444_OBJECTS) $(RGBtoYUV444_LDADD) $(LIBS) + $(CXXLINK) $(RGBtoYUV444_OBJECTS) $(RGBtoYUV444_LDADD) $(LIBS) UYVYtoRGB$(EXEEXT): $(UYVYtoRGB_OBJECTS) $(UYVYtoRGB_DEPENDENCIES) @rm -f UYVYtoRGB$(EXEEXT) - $(CXXLINK) $(UYVYtoRGB_LDFLAGS) $(UYVYtoRGB_OBJECTS) $(UYVYtoRGB_LDADD) $(LIBS) + $(CXXLINK) $(UYVYtoRGB_OBJECTS) $(UYVYtoRGB_LDADD) $(LIBS) +UYVYtoYUV422$(EXEEXT): $(UYVYtoYUV422_OBJECTS) $(UYVYtoYUV422_DEPENDENCIES) + @rm -f UYVYtoYUV422$(EXEEXT) + $(CXXLINK) $(UYVYtoYUV422_OBJECTS) $(UYVYtoYUV422_LDADD) $(LIBS) YUV411toRGB$(EXEEXT): $(YUV411toRGB_OBJECTS) $(YUV411toRGB_DEPENDENCIES) @rm -f YUV411toRGB$(EXEEXT) - $(CXXLINK) $(YUV411toRGB_LDFLAGS) $(YUV411toRGB_OBJECTS) $(YUV411toRGB_LDADD) $(LIBS) + $(CXXLINK) $(YUV411toRGB_OBJECTS) $(YUV411toRGB_LDADD) $(LIBS) +YUV420Down2x2$(EXEEXT): $(YUV420Down2x2_OBJECTS) $(YUV420Down2x2_DEPENDENCIES) + @rm -f YUV420Down2x2$(EXEEXT) + $(CXXLINK) $(YUV420Down2x2_OBJECTS) $(YUV420Down2x2_LDADD) $(LIBS) +YUV420ItoYUV422I$(EXEEXT): $(YUV420ItoYUV422I_OBJECTS) $(YUV420ItoYUV422I_DEPENDENCIES) + @rm -f YUV420ItoYUV422I$(EXEEXT) + $(CXXLINK) $(YUV420ItoYUV422I_OBJECTS) $(YUV420ItoYUV422I_LDADD) $(LIBS) +YUV420pt75filter$(EXEEXT): $(YUV420pt75filter_OBJECTS) $(YUV420pt75filter_DEPENDENCIES) + @rm -f YUV420pt75filter$(EXEEXT) + $(CXXLINK) $(YUV420pt75filter_OBJECTS) $(YUV420pt75filter_LDADD) $(LIBS) YUV420toRGB$(EXEEXT): $(YUV420toRGB_OBJECTS) $(YUV420toRGB_DEPENDENCIES) @rm -f YUV420toRGB$(EXEEXT) - $(CXXLINK) $(YUV420toRGB_LDFLAGS) $(YUV420toRGB_OBJECTS) $(YUV420toRGB_LDADD) $(LIBS) + $(CXXLINK) $(YUV420toRGB_OBJECTS) $(YUV420toRGB_LDADD) $(LIBS) +YUV420toYUV422$(EXEEXT): $(YUV420toYUV422_OBJECTS) $(YUV420toYUV422_DEPENDENCIES) + @rm -f YUV420toYUV422$(EXEEXT) + $(CXXLINK) $(YUV420toYUV422_OBJECTS) $(YUV420toYUV422_LDADD) $(LIBS) +YUV422ItoYUV420I$(EXEEXT): $(YUV422ItoYUV420I_OBJECTS) $(YUV422ItoYUV420I_DEPENDENCIES) + @rm -f YUV422ItoYUV420I$(EXEEXT) + $(CXXLINK) $(YUV422ItoYUV420I_OBJECTS) $(YUV422ItoYUV420I_LDADD) $(LIBS) YUV422toRGB$(EXEEXT): $(YUV422toRGB_OBJECTS) $(YUV422toRGB_DEPENDENCIES) @rm -f YUV422toRGB$(EXEEXT) - $(CXXLINK) $(YUV422toRGB_LDFLAGS) $(YUV422toRGB_OBJECTS) $(YUV422toRGB_LDADD) $(LIBS) + $(CXXLINK) $(YUV422toRGB_OBJECTS) $(YUV422toRGB_LDADD) $(LIBS) +YUV422toUYVY$(EXEEXT): $(YUV422toUYVY_OBJECTS) $(YUV422toUYVY_DEPENDENCIES) + @rm -f YUV422toUYVY$(EXEEXT) + $(CXXLINK) $(YUV422toUYVY_OBJECTS) $(YUV422toUYVY_LDADD) $(LIBS) +YUV422toYUV420$(EXEEXT): $(YUV422toYUV420_OBJECTS) $(YUV422toYUV420_DEPENDENCIES) + @rm -f YUV422toYUV420$(EXEEXT) + $(CXXLINK) $(YUV422toYUV420_OBJECTS) $(YUV422toYUV420_LDADD) $(LIBS) YUV444toRGB$(EXEEXT): $(YUV444toRGB_OBJECTS) $(YUV444toRGB_DEPENDENCIES) @rm -f YUV444toRGB$(EXEEXT) - $(CXXLINK) $(YUV444toRGB_LDFLAGS) $(YUV444toRGB_OBJECTS) $(YUV444toRGB_LDADD) $(LIBS) + $(CXXLINK) $(YUV444toRGB_OBJECTS) $(YUV444toRGB_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -410,28 +494,36 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RGBtoYUV422.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RGBtoYUV444.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UYVYtoRGB.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UYVYtoYUV422.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/YUV411toRGB.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/YUV420Down2x2.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/YUV420ItoYUV422I.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/YUV420pt75filter.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/YUV420toRGB.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/YUV420toYUV422.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/YUV422ItoYUV420I.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/YUV422toRGB.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/YUV422toUYVY.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/YUV422toYUV420.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/YUV444toRGB.Po@am__quote@ .cpp.o: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: -@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< @@ -442,10 +534,6 @@ clean-libtool: -rm -rf .libs _libs -distclean-libtool: - -rm -f libtool -uninstall-info-am: - # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, @@ -477,8 +565,7 @@ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: +$(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ @@ -522,8 +609,8 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS @@ -548,8 +635,8 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ @@ -559,13 +646,12 @@ CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique @@ -579,22 +665,21 @@ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -608,7 +693,7 @@ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ @@ -616,6 +701,8 @@ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ @@ -626,7 +713,7 @@ installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive @@ -661,7 +748,7 @@ -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags + distclean-tags dvi: dvi-recursive @@ -675,12 +762,20 @@ install-data-am: +install-dvi: install-dvi-recursive + install-exec-am: install-binPROGRAMS +install-html: install-html-recursive + install-info: install-info-recursive install-man: +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -701,24 +796,26 @@ ps-am: -uninstall-am: uninstall-binPROGRAMS uninstall-info-am +uninstall-am: uninstall-binPROGRAMS -uninstall-info: uninstall-info-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ - clean clean-binPROGRAMS clean-generic clean-libtool \ - clean-recursive ctags ctags-recursive distclean \ +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libtool ctags ctags-recursive distclean \ distclean-compile distclean-generic distclean-libtool \ - distclean-recursive distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-binPROGRAMS \ - install-data install-data-am install-exec install-exec-am \ - install-info install-info-am install-man install-strip \ - installcheck installcheck-am installdirs installdirs-am \ - maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \ - pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ - uninstall-binPROGRAMS uninstall-info-am + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-binPROGRAMS install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am \ + uninstall-binPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/conversion/RGBtoBMP.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/conversion/RGBtoBMP.cpp --- dirac-0.9.1/util/conversion/RGBtoBMP.cpp 2004-06-30 17:44:51.000000000 +0100 +++ dirac-1.0.2/util/conversion/RGBtoBMP.cpp 2004-06-30 17:44:51.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: RGBtoBMP.cpp,v 1.3 2004/06/30 16:44:51 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: RGBtoBMP.cpp,v 1.3 2004/06/30 16:44:51 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/conversion/RGBtoUYVY.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/conversion/RGBtoUYVY.cpp --- dirac-0.9.1/util/conversion/RGBtoUYVY.cpp 2004-06-30 17:44:51.000000000 +0100 +++ dirac-1.0.2/util/conversion/RGBtoUYVY.cpp 2008-05-27 02:29:55.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: RGBtoUYVY.cpp,v 1.3 2004/06/30 16:44:51 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: RGBtoUYVY.cpp,v 1.4 2008/05/27 01:29:55 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -136,7 +136,7 @@ U = ((-38*R - 74*G + 112*B + 128)>>8)+128; V = ((112*R - 94*G - 18*B + 128)>>8)+128; - //Copy YUV to line buffers prior to filtering + //Copy YUV to line buffers prior to filtering YLine[pixel] = Y; ULine[pixel] = U; VLine[pixel] = V; diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/conversion/RGBtoYUV411.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/conversion/RGBtoYUV411.cpp --- dirac-0.9.1/util/conversion/RGBtoYUV411.cpp 2004-06-30 17:44:51.000000000 +0100 +++ dirac-1.0.2/util/conversion/RGBtoYUV411.cpp 2004-06-30 17:44:51.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: RGBtoYUV411.cpp,v 1.3 2004/06/30 16:44:51 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: RGBtoYUV411.cpp,v 1.3 2004/06/30 16:44:51 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/conversion/RGBtoYUV420.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/conversion/RGBtoYUV420.cpp --- dirac-0.9.1/util/conversion/RGBtoYUV420.cpp 2004-06-30 17:44:51.000000000 +0100 +++ dirac-1.0.2/util/conversion/RGBtoYUV420.cpp 2004-06-30 17:44:51.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: RGBtoYUV420.cpp,v 1.3 2004/06/30 16:44:51 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: RGBtoYUV420.cpp,v 1.3 2004/06/30 16:44:51 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/conversion/RGBtoYUV422.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/conversion/RGBtoYUV422.cpp --- dirac-0.9.1/util/conversion/RGBtoYUV422.cpp 2004-06-30 17:44:51.000000000 +0100 +++ dirac-1.0.2/util/conversion/RGBtoYUV422.cpp 2004-06-30 17:44:51.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: RGBtoYUV422.cpp,v 1.3 2004/06/30 16:44:51 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: RGBtoYUV422.cpp,v 1.3 2004/06/30 16:44:51 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/conversion/RGBtoYUV444.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/conversion/RGBtoYUV444.cpp --- dirac-0.9.1/util/conversion/RGBtoYUV444.cpp 2004-06-30 17:44:51.000000000 +0100 +++ dirac-1.0.2/util/conversion/RGBtoYUV444.cpp 2004-06-30 17:44:51.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: RGBtoYUV444.cpp,v 1.3 2004/06/30 16:44:51 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: RGBtoYUV444.cpp,v 1.3 2004/06/30 16:44:51 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/conversion/UYVYtoRGB.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/conversion/UYVYtoRGB.cpp --- dirac-0.9.1/util/conversion/UYVYtoRGB.cpp 2004-06-30 17:44:51.000000000 +0100 +++ dirac-1.0.2/util/conversion/UYVYtoRGB.cpp 2004-06-30 17:44:51.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: UYVYtoRGB.cpp,v 1.3 2004/06/30 16:44:51 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: UYVYtoRGB.cpp,v 1.3 2004/06/30 16:44:51 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/conversion/UYVYtoYUV422.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/conversion/UYVYtoYUV422.cpp --- dirac-0.9.1/util/conversion/UYVYtoYUV422.cpp 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/util/conversion/UYVYtoYUV422.cpp 2008-02-04 13:43:02.000000000 +0000 @@ -0,0 +1,147 @@ +/* ***** BEGIN LICENSE BLOCK ***** +* +* $Id: UYVYtoYUV422.cpp,v 1.1 2008/02/04 13:43:02 tjdwave Exp $ $Name: Dirac_1_0_2 $ +* +* Version: MPL 1.1/GPL 2.0/LGPL 2.1 +* +* The contents of this file are subject to the Mozilla Public License +* Version 1.1 (the "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* http://www.mozilla.org/MPL/ +* +* Software distributed under the License is distributed on an "AS IS" basis, +* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for +* the specific language governing rights and limitations under the License. +* +* The Original Code is BBC Research and Development code. +* +* The Initial Developer of the Original Code is the British Broadcasting +* Corporation. +* Portions created by the Initial Developer are Copyright (C) 2008. +* All Rights Reserved. +* +* Contributor(s): +* +* Alternatively, the contents of this file may be used under the terms of +* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser +* Public License Version 2.1 (the "LGPL"), in which case the provisions of +* the GPL or the LGPL are applicable instead of those above. If you wish to +* allow use of your version of this file only under the terms of the either +* the GPL or LGPL and not to allow others to use your version of this file +* under the MPL, indicate your decision by deleting the provisions above +* and replace them with the notice and other provisions required by the GPL +* or LGPL. If you do not delete the provisions above, a recipient may use +* your version of this file under the terms of any one of the MPL, the GPL +* or the LGPL. +* ***** END LICENSE BLOCK ***** */ + +/***************************************************************** +File UYVYtoYUV422.cpp + +Utility for converting a sequence of frames, stored in a single +file in raw UYVY format, to a single output file in which they are +stored in planar YUV422 format. +This utility is a filter taking input on stdin and generating its +output on stdout. +Input UYVY format stores the 422 YUV image with the U/V components +interleaved with the Y components. It is a sequence of sets of 4 bytes +containing U, Y, V, Y components of two horizontally adjacent pixels. +The U/V components are co-sited with the first luminance sample. In 422 YUV +format the U and V colour components are subsampled 2:1 horizontally. + +Original author: Thomas Davies (based on filters by Tim Borer) +****************************************************************/ + +#include //Contains EXIT_SUCCESS, EXIT_FAILURE +#include //For cin, cout, cerr +#include //For fill_n +using std::cout; +using std::cin; +using std::cerr; +using std::clog; +using std::endl; +using std::ios_base; +using std::fill_n; + +#include "setstdiomode.h" +using namespace dirac_vu; + +int main(int argc, char * argv[] ) { + + if (argc != 4) { + cout << "\"UYVYtoYUV422\" command line format is:" << endl; + cout << " Argument 1: width (pixels) e.g. 720" << endl; + cout << " Argument 2: height (lines) e.g. 576" << endl; + cout << " Argument 3: number of frames e.g. 3" << endl; + cout << " Example: UYVYtoYUV422 bar 720 576 3" << endl; + cout << " converts 3 frames, of 720x576 pixels, from file foo to file bar" << endl; + return EXIT_SUCCESS; } + + //Get command line arguments + int width = atoi(argv[1]); + int height = atoi(argv[2]); + int frames = atoi(argv[3]); + + //Set standard input and standard output to binary mode. + //Only relevant for Windows (*nix is always binary) + if ( setstdinmode(std::ios_base::binary) == -1 ) { + cerr << "Error: could not set standard input to binary mode" << endl; + return EXIT_FAILURE; } + if ( setstdoutmode(std::ios_base::binary) == -1 ) { + cerr << "Error: could not set standard output to binary mode" << endl; + return EXIT_FAILURE; } + + //Allocate memory for input and output buffers. + const int YBufferSize = height*width; + unsigned char *YBuffer = new unsigned char[YBufferSize]; + + const int UVBufferSize = height*width/2; + unsigned char *UBuffer = new unsigned char[UVBufferSize]; + unsigned char *VBuffer = new unsigned char[UVBufferSize]; + + const int YUVBufferSize = height*width*2; + unsigned char *YUVBuffer = new unsigned char[YUVBufferSize]; + + //Create references for input and output stream buffers. + //IO is via stream buffers for efficiency + std::streambuf& inbuf = *(cin.rdbuf()); + std::streambuf& outbuf = *(cout.rdbuf()); + + for (int frame=0; frame(YUVBuffer), YUVBufferSize) < YUVBufferSize ) { + cerr << "Error: failed to read frame " << frame << endl; + return EXIT_FAILURE; } + + //Unpack YUV into separate buffers + int YUVpos = 0; + for (int uvpos=0,ypos=0; uvpos(YBuffer), YBufferSize) < YBufferSize ) { + cerr << "Error: failed to write frame " << frame << endl; + return EXIT_FAILURE; } + if ( outbuf.sputn(reinterpret_cast(UBuffer), UVBufferSize) < UVBufferSize ) { + cerr << "Error: failed to write frame " << frame << endl; + return EXIT_FAILURE; } + if ( outbuf.sputn(reinterpret_cast(VBuffer), UVBufferSize) < UVBufferSize ) { + cerr << "Error: failed to write frame " << frame << endl; + return EXIT_FAILURE; } + } + + delete [] YUVBuffer; + delete [] YBuffer; + delete [] UBuffer; + delete [] VBuffer; + + return EXIT_SUCCESS; +} diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/conversion/YUV411toRGB.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/conversion/YUV411toRGB.cpp --- dirac-0.9.1/util/conversion/YUV411toRGB.cpp 2004-06-30 17:44:51.000000000 +0100 +++ dirac-1.0.2/util/conversion/YUV411toRGB.cpp 2004-06-30 17:44:51.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: YUV411toRGB.cpp,v 1.3 2004/06/30 16:44:51 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: YUV411toRGB.cpp,v 1.3 2004/06/30 16:44:51 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/conversion/YUV420Down2x2.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/conversion/YUV420Down2x2.cpp --- dirac-0.9.1/util/conversion/YUV420Down2x2.cpp 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/util/conversion/YUV420Down2x2.cpp 2008-10-01 01:50:27.000000000 +0100 @@ -0,0 +1,383 @@ +/* ***** BEGIN LICENSE BLOCK ***** +* +* $Id: YUV420Down2x2.cpp,v 1.3 2008/10/01 00:50:27 asuraparaju Exp $ $Name: Dirac_1_0_2 $ +* +* Version: MPL 1.1/GPL 2.0/LGPL 2.1 +* +* The contents of this file are subject to the Mozilla Public License +* Version 1.1 (the "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* http://www.mozilla.org/MPL/ +* +* Software distributed under the License is distributed on an "AS IS" basis, +* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for +* the specific language governing rights and limitations under the License. +* +* The Original Code is BBC Research and Development code. +* +* The Initial Developer of the Original Code is the British Broadcasting +* Corporation. +* Portions created by the Initial Developer are Copyright (C) 2008. +* All Rights Reserved. +* +* Contributor(s): +* +* Alternatively, the contents of this file may be used under the terms of +* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser +* Public License Version 2.1 (the "LGPL"), in which case the provisions of +* the GPL or the LGPL are applicable instead of those above. If you wish to +* allow use of your version of this file only under the terms of the either +* the GPL or LGPL and not to allow others to use your version of this file +* under the MPL, indicate your decision by deleting the provisions above +* and replace them with the notice and other provisions required by the GPL +* or LGPL. If you do not delete the provisions above, a recipient may use +* your version of this file under the terms of any one of the MPL, the GPL +* or the LGPL. +* ***** END LICENSE BLOCK ***** */ + +/***************************************************************** +File YUV420Down2x2.cpp + +Utility for filtering a sequence of frames, stored in a single +file in raw YUV420 format, to a single output file with half dimensions, +a (-1,9,9,-1) filter and subsampling. +This utility is a filter taking input on stdin and generating its +output on stdout. + +Original author: Thomas Davies (based on filters by Tim Borer) +****************************************************************/ +#include +#include +#include //Contains EXIT_SUCCESS, EXIT_FAILURE +#include //For cin, cout, cerr +#include //For fill_n +using std::cout; +using std::cin; +using std::cerr; +using std::clog; +using std::endl; +using std::ios_base; +using std::fill_n; + +#include +using namespace dirac_vu; +using namespace dirac; + +void VFilter( const TwoDArray& pic_data, TwoDArray& out_data, const OneDArray& filter, const int bits ); +void HFilter( const TwoDArray& pic_data, TwoDArray& out_data, const OneDArray& filter, const int bits ); + +double sinxoverx( const double val ) +{ + if ( 0.0f == val ) + return 1.0; + else + return sin(val)/val; + +} + +OneDArray MakeLPRectFilter( const float bw, const int bits ) +{ + const int tl = 8; + const float pi = 3.1415926535; + + OneDArray double_filter( Range( -tl, tl ) ); + OneDArray int_filter( Range( -tl, tl) ); + + // Use the Hanning window + for (int i=double_filter.First(); i<=double_filter.Last(); ++i) + { + double_filter[i] = cos( (pi*i)/ + (double_filter.Length()+1) ); + } + + // Apply sinc function + for (int i=double_filter.First(); i<=double_filter.Last(); ++i) + { + double_filter[i] *= sinxoverx( pi*1.0*bw*i ); + } + + // Get DC gain = 1<0 ? int( double_filter[i]+0.5 ) : -int( -double_filter[i]+0.5 ); + int_filter[i] = (int_filter[i]+8)>>4; + } + + return int_filter; +} + +void HFilter( const TwoDArray& pic_data, TwoDArray& out_data, const OneDArray& filter, const int bits ) +{ + unsigned char* line_data; + const int offset = (1<<(bits-1)); + + int sum; + int i, iout; + + for (int j=0; j=filter.First(); --k) + sum += filter[k]*static_cast(pic_data[j][std::max(i-k,0)]); + sum >>= bits; + sum = std::min( 255, std::max( 0, sum) ); + line_data[iout] = static_cast( sum ); + }// i + // Do the middle bit + for (; i<=pic_data.LastX()+filter.First(); i+=2, iout++) + { + sum = offset; + for (int k=filter.Last(); k>=filter.First(); --k) + sum += filter[k]*static_cast( pic_data[j][i-k] ); + sum >>= bits; + sum = std::min( 255, std::max( 0, sum) ); + line_data[iout] = static_cast( sum ); + }// i + // Do the last bit + for (; i=filter.First(); --k) + sum += filter[k]*static_cast( pic_data[j][std::min(i-k,pic_data.LastX())] ); + sum >>= bits; + sum = std::min( 255, std::max( 0, sum) ); + line_data[iout] = static_cast( sum ); + }// i + }// j + +} + +void VFilter( const TwoDArray& pic_data, TwoDArray& out_data, const OneDArray& filter, const int bits ) +{ + const int offset = (1<<(bits-1)); + + int sum, j, jout; + + // Do the first bit + for (j=0, jout=0; j=filter.First(); --k) + sum += filter[k]*static_cast( pic_data[std::max(j-k,0)][i] ); + sum >>= bits; + sum = std::min( 255, std::max( 0, sum) ); + out_data[jout][i] = static_cast( sum ); + }// i + + }// j + + // Do the middle bit + for (; j<=pic_data.LastY()+filter.First(); j+=2, jout++) + { + + for (int i=0; i=filter.First(); --k) + sum += filter[k]*static_cast( pic_data[j-k][i] ); + sum >>= bits; + sum = std::min( 255, std::max( 0, sum) ); + out_data[jout][i] = static_cast( sum ); + }// i + + }// j + + // Do the last bit + for (; j=filter.First(); --k) + sum += filter[k]*static_cast( pic_data[std::min(j-k,pic_data.LastY())][i] ); + sum >>= bits; + sum = std::min( 255, std::max( 0, sum) ); + out_data[jout][i] = static_cast( sum ); + }// i + + }// j +} + + +void h_filter(unsigned char *in_array, unsigned char *out_array, const int w, const int h); + +void v_filter(unsigned char *in_array, unsigned char *out_array, const int w, const int h); + +int main(int argc, char * argv[] ) { + + if (argc != 4) { + cout << "\"YUV420Down2x2\" command line format is:" << endl; + cout << " Argument 1: width (pixels) e.g. 720" << endl; + cout << " Argument 2: height (lines) e.g. 576" << endl; + cout << " Argument 3: number of frames e.g. 3" << endl; + cout << " Example: YUV420Down2x2 bar 720 576 3" << endl; + cout << " converts 3 frames, of 720x576 pixels, from file foo to file bar" << endl; + return EXIT_SUCCESS; } + + //Get command line arguments + int width = atoi(argv[1]); + int height = atoi(argv[2]); + int frames = atoi(argv[3]); + + //Set standard input and standard output to binary mode. + //Only relevant for Windows (*nix is always binary) + if ( setstdinmode(std::ios_base::binary) == -1 ) { + cerr << "Error: could not set standard input to binary mode" << endl; + return EXIT_FAILURE; } + if ( setstdoutmode(std::ios_base::binary) == -1 ) { + cerr << "Error: could not set standard output to binary mode" << endl; + return EXIT_FAILURE; } + + //Allocate memory for input and output buffers. + const int ybuffersizein = height*width; + TwoDArray ybufferin( height, width ); + const int uvbuffersizein = height*width/4; + TwoDArray ubufferin ( height/2, width/2); + TwoDArray vbufferin ( height/2, width/2); + + int width2 = width/2; + int height2 = height/2; + + // Output buffers + const int ybuffersizeout = height2*width2; + TwoDArray ybufferout( height2, width2); + const int uvbuffersizeout = height2*width2/4; + TwoDArray ubufferout(height2/2, width2/2); + TwoDArray vbufferout(height2/2, width2/2); + + // Temporary buffers + TwoDArray ybuffertemp( height, width2); + TwoDArray uvbuffertemp(height/2, width2/2); + + // filter with 14-bit accuracy + OneDArray filter=MakeLPRectFilter(0.5, 16); + + //Create references for input and output stream buffers. + //IO is via stream buffers for efficiency + std::streambuf& inbuf = *(cin.rdbuf()); + std::streambuf& outbuf = *(cout.rdbuf()); + + for (int frame=0; frame(&ybufferin[0][0]), ybuffersizein) < ybuffersizein ) { + cerr << "Error: failed to read Y component of frame " << frame << endl; + return EXIT_FAILURE; } + if ( inbuf.sgetn(reinterpret_cast(&ubufferin[0][0]), uvbuffersizein) < uvbuffersizein ) { + cerr << "Error: failed to read U component of frame " << frame << endl; + return EXIT_FAILURE; } + if ( inbuf.sgetn(reinterpret_cast(&vbufferin[0][0]), uvbuffersizein) < uvbuffersizein ) { + cerr << "Error: failed to read V component of frame " << frame << endl; + return EXIT_FAILURE; } + + HFilter( ybufferin, ybuffertemp, filter, 16 ); + VFilter( ybuffertemp, ybufferout, filter, 16 ); + + HFilter( ubufferin, uvbuffertemp, filter, 16 ); + VFilter( uvbuffertemp, ubufferout, filter, 16 ); + + HFilter( vbufferin, uvbuffertemp, filter, 16 ); + VFilter( uvbuffertemp, vbufferout, filter, 16 ); + + //Write frames of YUV + if ( outbuf.sputn(reinterpret_cast(&ybufferout[0][0]), ybuffersizeout) < ybuffersizeout ) { + cerr << "Error: failed to write frame " << frame << endl; + return EXIT_FAILURE; } + if ( outbuf.sputn(reinterpret_cast(&ubufferout[0][0]), uvbuffersizeout) < uvbuffersizeout ) { + cerr << "Error: failed to write frame " << frame << endl; + return EXIT_FAILURE; } + if ( outbuf.sputn(reinterpret_cast(&vbufferout[0][0]), uvbuffersizeout) < uvbuffersizeout ) { + cerr << "Error: failed to write frame " << frame << endl; + return EXIT_FAILURE; } + } + + return EXIT_SUCCESS; +} + +void v_filter(unsigned char *in_array, unsigned char *out_array, const int w, const int h){ + + int height2 = h/2; + + int val; + + // top line + for (int x=0; x>4; + val = std::min( 255, std::max(0,val ) ); + out_array[x] = static_cast( val ); + + } + // middle lines + for (int line_out=1,line_in=2; line_out>4; + val = std::min( 255, std::max(0,val ) ); + out_array[line_out*w+x] = static_cast( val ); + } + } + + // bottom line + for (int x=0; x>4; + val = std::min( 255, std::max(0,val ) ); + out_array[(height2-1)*w+x] = static_cast( val ); + } +} + +void h_filter(unsigned char *in_array, unsigned char *out_array, const int w, const int h){ + + int width2 = w/2; + int val; + + for (int j=0; j>4; + val = std::min( 255, std::max(0,val ) ); + out_array[j*width2] = static_cast( val ); + + for (int xpos_out=1, xpos_in=2; xpos_out>4; + val = std::min( 255, std::max(0,val ) ); + out_array[j*width2+xpos_out] = static_cast( val ); + } + + val = (-in_array[j*w+w-3]+ + 9*in_array[j*w+w-2]+ + 9*in_array[j*w+w-1]- + in_array[j*w+w-1]+8)>>4; + val = std::min( 255, std::max(0,val ) ); + out_array[j*width2+width2-1] = static_cast( val ); + } +} diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/conversion/YUV420ItoYUV422I.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/conversion/YUV420ItoYUV422I.cpp --- dirac-0.9.1/util/conversion/YUV420ItoYUV422I.cpp 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/util/conversion/YUV420ItoYUV422I.cpp 2008-11-18 23:25:21.000000000 +0000 @@ -0,0 +1,190 @@ +/* ***** BEGIN LICENSE BLOCK ***** +* +* $Id: YUV420ItoYUV422I.cpp,v 1.1 2008/11/18 23:25:21 asuraparaju Exp $ $Name: Dirac_1_0_2 $ +* +* Version: MPL 1.1/GPL 2.0/LGPL 2.1 +* +* The contents of this file are subject to the Mozilla Public License +* Version 1.1 (the "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* http://www.mozilla.org/MPL/ +* +* Software distributed under the License is distributed on an "AS IS" basis, +* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for +* the specific language governing rights and limitations under the License. +* +* The Original Code is BBC Research and Development code. +* +* The Initial Developer of the Original Code is the British Broadcasting +* Corporation. +* Portions created by the Initial Developer are Copyright (C) 2008. +* All Rights Reserved. +* +* Contributor(s): +* +* Alternatively, the contents of this file may be used under the terms of +* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser +* Public License Version 2.1 (the "LGPL"), in which case the provisions of +* the GPL or the LGPL are applicable instead of those above. If you wish to +* allow use of your version of this file only under the terms of the either +* the GPL or LGPL and not to allow others to use your version of this file +* under the MPL, indicate your decision by deleting the provisions above +* and replace them with the notice and other provisions required by the GPL +* or LGPL. If you do not delete the provisions above, a recipient may use +* your version of this file under the terms of any one of the MPL, the GPL +* or the LGPL. +* ***** END LICENSE BLOCK ***** */ + +/***************************************************************** +File YUV420ItoYUV422I.cpp + +Utility for converting a sequence of frames, stored in a single +file in raw YUV420 format, to a single output file in which they are +stored in raw YUV422 format, by vertically interpolating taking into +account the chroma sample positions in each field. +This utility is a filter taking input on stdin and generating its +output on stdout. + +Original author: D Flynn (based on filters by Tim Borer/Thomas Davies) +****************************************************************/ + +#include //Contains EXIT_SUCCESS, EXIT_FAILURE +#include //For cin, cout, cerr +#include //For fill_n +using std::cout; +using std::cin; +using std::cerr; +using std::clog; +using std::endl; +using std::ios_base; +using std::fill_n; + +#include "setstdiomode.h" +using namespace dirac_vu; + +int main(int argc, char * argv[] ) { + + if (argc != 4) { + cout << "\"YUV420ItoYUV422I\" command line format is:" << endl; + cout << " Argument 1: width (pixels) e.g. 720" << endl; + cout << " Argument 2: height (lines) e.g. 576" << endl; + cout << " Argument 3: number of frames e.g. 3" << endl; + cout << " Example: YUV420ItoYUV422I bar 720 576 3" << endl; + cout << " converts 3 frames, of 720x576 pixels, from file foo to file bar" << endl; + return EXIT_SUCCESS; } + + //Get command line arguments + int width = atoi(argv[1]); + int height = atoi(argv[2]); + int frames = atoi(argv[3]); + + //Set standard input and standard output to binary mode. + //Only relevant for Windows (*nix is always binary) + if ( setstdinmode(std::ios_base::binary) == -1 ) { + cerr << "Error: could not set standard input to binary mode" << endl; + return EXIT_FAILURE; } + if ( setstdoutmode(std::ios_base::binary) == -1 ) { + cerr << "Error: could not set standard output to binary mode" << endl; + return EXIT_FAILURE; } + + //Allocate memory for input and output buffers. + const int YBufferSize = height*width; + unsigned char *YBuffer = new unsigned char[YBufferSize]; + const int UVBufferSizeIn = height*width/4; + unsigned char *UBufferIn = new unsigned char[UVBufferSizeIn]; + unsigned char *VBufferIn = new unsigned char[UVBufferSizeIn]; + const int UVBufferSizeOut = height*width/2; + unsigned char *UBufferOut = new unsigned char[UVBufferSizeOut]; + unsigned char *VBufferOut = new unsigned char[UVBufferSizeOut]; + + + //Create references for input and output stream buffers. + //IO is via stream buffers for efficiency + std::streambuf& inbuf = *(cin.rdbuf()); + std::streambuf& outbuf = *(cout.rdbuf()); + + for (int frame=0; frame(YBuffer), YBufferSize) < YBufferSize ) { + cerr << "Error: failed to read Y component of frame " << frame << endl; + return EXIT_FAILURE; } + if ( inbuf.sgetn(reinterpret_cast(UBufferIn), UVBufferSizeIn) < UVBufferSizeIn ) { + cerr << "Error: failed to read U component of frame " << frame << endl; + return EXIT_FAILURE; } + if ( inbuf.sgetn(reinterpret_cast(VBufferIn), UVBufferSizeIn) < UVBufferSizeIn ) { + cerr << "Error: failed to read V component of frame " << frame << endl; + return EXIT_FAILURE; } + + const int width2 = width/2; + const int height2 = height/2; + + // top two lines of chroma output + for (int x=0; x> 3; + UBufferOut[(line_out+2)*width2+x] = (1*UBufferIn[(line_in+0)*width2+x] + + 7*UBufferIn[(line_in+2)*width2+x] + ) >> 3; + UBufferOut[(line_out+1)*width2+x] = (7*UBufferIn[(line_in+1)*width2+x] + + 1*UBufferIn[(line_in+3)*width2+x] + ) >> 3; + UBufferOut[(line_out+3)*width2+x] = (3*UBufferIn[(line_in+1)*width2+x] + + 5*UBufferIn[(line_in+3)*width2+x] + ) >> 3; + + VBufferOut[(line_out+0)*width2+x] = (5*VBufferIn[(line_in+0)*width2+x] + + 3*VBufferIn[(line_in+2)*width2+x] + ) >> 3; + VBufferOut[(line_out+2)*width2+x] = (1*VBufferIn[(line_in+0)*width2+x] + + 7*VBufferIn[(line_in+2)*width2+x] + ) >> 3; + VBufferOut[(line_out+1)*width2+x] = (7*VBufferIn[(line_in+1)*width2+x] + + 1*VBufferIn[(line_in+3)*width2+x] + ) >> 3; + VBufferOut[(line_out+3)*width2+x] = (3*VBufferIn[(line_in+1)*width2+x] + + 5*VBufferIn[(line_in+3)*width2+x] + ) >> 3; + } + } + + // bottom lines + for (int x=0; x(YBuffer), YBufferSize) < YBufferSize ) { + cerr << "Error: failed to write frame " << frame << endl; + return EXIT_FAILURE; } + if ( outbuf.sputn(reinterpret_cast(UBufferOut), UVBufferSizeOut) < UVBufferSizeOut ) { + cerr << "Error: failed to write frame " << frame << endl; + return EXIT_FAILURE; } + if ( outbuf.sputn(reinterpret_cast(VBufferOut), UVBufferSizeOut) < UVBufferSizeOut ) { + cerr << "Error: failed to write frame " << frame << endl; + return EXIT_FAILURE; } + } + + delete [] YBuffer; + delete [] UBufferIn; + delete [] VBufferIn; + delete [] UBufferOut; + delete [] VBufferOut; + + return EXIT_SUCCESS; +} diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/conversion/YUV420pt75filter.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/conversion/YUV420pt75filter.cpp --- dirac-0.9.1/util/conversion/YUV420pt75filter.cpp 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/util/conversion/YUV420pt75filter.cpp 2008-08-14 03:35:04.000000000 +0100 @@ -0,0 +1,215 @@ +/* ***** BEGIN LICENSE BLOCK ***** +* +* $Id: YUV420pt75filter.cpp,v 1.1 2008/08/14 02:35:04 asuraparaju Exp $ $Name: Dirac_1_0_2 $ +* +* Version: MPL 1.1/GPL 2.0/LGPL 2.1 +* +* The contents of this file are subject to the Mozilla Public License +* Version 1.1 (the "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* http://www.mozilla.org/MPL/ +* +* Software distributed under the License is distributed on an "AS IS" basis, +* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for +* the specific language governing rights and limitations under the License. +* +* The Original Code is BBC Research and Development code. +* +* The Initial Developer of the Original Code is the British Broadcasting +* Corporation. +* Portions created by the Initial Developer are Copyright (C) 2004. +* All Rights Reserved. +* +* Contributor(s): +* +* Alternatively, the contents of this file may be used under the terms of +* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser +* Public License Version 2.1 (the "LGPL"), in which case the provisions of +* the GPL or the LGPL are applicable instead of those above. If you wish to +* allow use of your version of this file only under the terms of the either +* the GPL or LGPL and not to allow others to use your version of this file +* under the MPL, indicate your decision by deleting the provisions above +* and replace them with the notice and other provisions required by the GPL +* or LGPL. If you do not delete the provisions above, a recipient may use +* your version of this file under the terms of any one of the MPL, the GPL +* or the LGPL. +* ***** END LICENSE BLOCK ***** */ + +/***************************************************************** +File YUV420toRGB.cpp + +Utility for converting a sequence of frames, stored in a single +file in raw YUV420 format, to a single output file in which they are +stored in RGB format. +This utility is a filter taking input on stdin and generating its +output on stdout. +Input YUV420 is a planar format which stores the Y component of each frame, +as a sequence of bytes, followed by the U component followed by the V +component. That is the colour component are multiplexed framewise, +rather than pixel wise or in some other way. In YUV420 format the +U and V colour components are subsampled 2:1 horizontally and +2:1 vertically. +The output raw RGB format is simply a sequence of byte triples +representing the red, green and blue components of each pixel. + +Original author: Tim Borer +****************************************************************/ + +#include //Contains EXIT_SUCCESS, EXIT_FAILURE +#include //For cin, cout, cerr +#include //For fill_n +using std::cout; +using std::cin; +using std::cerr; +using std::clog; +using std::endl; +using std::ios_base; +using std::fill_n; + +#include "setstdiomode.h" +using namespace dirac_vu; + + +unsigned char filter( unsigned char *buffer, const int pos, const int len, +int *filter, const int fil_len, const int shift) +{ + const int offset = fil_len/2; + + int val = 1<<(shift-1); + int x; + for (int i=0; i(len-1) ? (len-1) : ( val<0 ? 0 : val ) ); + val += int(buffer[pos-(i-offset)])*filter[i]; + } + val >>= shift; + val = ( val>255 ? 255 : ( val<0 ? 0 : val ) ); + + return (unsigned char) val; + +} + +void filter_line_pt75( unsigned char *in_buffer, + unsigned char *out_buffer, const int count) +{ + const int length = count*4; + + // Phase 0 filter + int p0[12] = {0,-1,5,36,-311,856,2926,856,-311,36,5,-1}; + // Phase 1 filter + int p1[12] = {0,-3,25,-40,-269,1805,2609,107,-181,45,-2,0}; + // Phase 2 filter + int p2[12] = {0,-2,45,-181,107,2609,1805,-269,-40,25,-3,0};// right?? + + // Do all 3 output phases at once + int k=0; + for (int i=0; ibar 720 576 3" << endl; + cout << " converts 3 frames, of 720x576 pixels, from file foo to file bar" << endl; + return EXIT_SUCCESS; } + + //Get command line arguments + const int Ywidth = atoi(argv[1]); + const int Yheight = atoi(argv[2]); + const int frames = atoi(argv[3]); + + //Set standard input and standard output to binary mode. + //Only relevant for Windows (*nix is always binary) + if ( setstdinmode(std::ios_base::binary) == -1 ) { + cerr << "Error: could not set standard input to binary mode" << endl; + return EXIT_FAILURE; } + if ( setstdoutmode(std::ios_base::binary) == -1 ) { + cerr << "Error: could not set standard output to binary mode" << endl; + return EXIT_FAILURE; } + + //Allocate memory for input and output buffers. + const int YBufferSize = Yheight*Ywidth; + unsigned char *YBuffer = new unsigned char[YBufferSize]; + const int UVwidth = Ywidth/2; + const int UVheight = Yheight/2; + const int UVBufferSize = UVheight*UVwidth; + unsigned char *UBuffer = new unsigned char[UVBufferSize]; + unsigned char *VBuffer = new unsigned char[UVBufferSize]; + + const int YwidthDn = (3*Ywidth)/4; + const int YheightDn = Yheight; + const int YBufferSizeOut = YheightDn*YwidthDn; + unsigned char *YBufferOut = new unsigned char[YBufferSizeOut]; + const int UVwidthDn = YwidthDn/2; + const int UVheightDn = YheightDn/2; + const int UVBufferSizeOut = UVheightDn*UVwidthDn; + unsigned char *UBufferOut = new unsigned char[UVBufferSizeOut]; + unsigned char *VBufferOut = new unsigned char[UVBufferSizeOut]; + + //Create references for input and output stream buffers. + //IO is via stream buffers for efficiency + std::streambuf& inbuf = *(cin.rdbuf()); + std::streambuf& outbuf = *(cout.rdbuf()); + + for (int frame=0; frame(YBuffer), YBufferSize) < YBufferSize ) { + cerr << "Error: failed to read Y component of frame " << frame << endl; + return EXIT_FAILURE; } + if ( inbuf.sgetn(reinterpret_cast(UBuffer), UVBufferSize) < UVBufferSize ) { + cerr << "Error: failed to read U component of frame " << frame << endl; + return EXIT_FAILURE; } + if ( inbuf.sgetn(reinterpret_cast(VBuffer), UVBufferSize) < UVBufferSize ) { + cerr << "Error: failed to read V component of frame " << frame << endl; + return EXIT_FAILURE; } + + int in_pos, out_pos; + for (int j=0; j(YBufferOut), YBufferSizeOut) < YBufferSizeOut ) { + cerr << "Error: failed to write frame " << frame << endl; + return EXIT_FAILURE; } + if ( outbuf.sputn(reinterpret_cast(UBufferOut), UVBufferSizeOut) < UVBufferSizeOut ) { + cerr << "Error: failed to write frame " << frame << endl; + return EXIT_FAILURE; } + if ( outbuf.sputn(reinterpret_cast(VBufferOut), UVBufferSizeOut) < UVBufferSizeOut ) { + cerr << "Error: failed to write frame " << frame << endl; + return EXIT_FAILURE; } + } + + delete [] VBufferOut; + delete [] UBufferOut; + delete [] YBufferOut; + delete [] VBuffer; + delete [] UBuffer; + delete [] YBuffer; + + return EXIT_SUCCESS; +} diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/conversion/YUV420toRGB.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/conversion/YUV420toRGB.cpp --- dirac-0.9.1/util/conversion/YUV420toRGB.cpp 2004-12-01 14:13:17.000000000 +0000 +++ dirac-1.0.2/util/conversion/YUV420toRGB.cpp 2004-12-01 14:13:17.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: YUV420toRGB.cpp,v 1.4 2004/12/01 14:13:17 timborer Exp $ $Name: Dirac_0_9_1 $ +* $Id: YUV420toRGB.cpp,v 1.4 2004/12/01 14:13:17 timborer Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/conversion/YUV420toYUV422.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/conversion/YUV420toYUV422.cpp --- dirac-0.9.1/util/conversion/YUV420toYUV422.cpp 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/util/conversion/YUV420toYUV422.cpp 2008-05-27 02:29:55.000000000 +0100 @@ -0,0 +1,197 @@ +/* ***** BEGIN LICENSE BLOCK ***** +* +* $Id: YUV420toYUV422.cpp,v 1.2 2008/05/27 01:29:55 asuraparaju Exp $ $Name: Dirac_1_0_2 $ +* +* Version: MPL 1.1/GPL 2.0/LGPL 2.1 +* +* The contents of this file are subject to the Mozilla Public License +* Version 1.1 (the "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* http://www.mozilla.org/MPL/ +* +* Software distributed under the License is distributed on an "AS IS" basis, +* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for +* the specific language governing rights and limitations under the License. +* +* The Original Code is BBC Research and Development code. +* +* The Initial Developer of the Original Code is the British Broadcasting +* Corporation. +* Portions created by the Initial Developer are Copyright (C) 2008. +* All Rights Reserved. +* +* Contributor(s): +* +* Alternatively, the contents of this file may be used under the terms of +* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser +* Public License Version 2.1 (the "LGPL"), in which case the provisions of +* the GPL or the LGPL are applicable instead of those above. If you wish to +* allow use of your version of this file only under the terms of the either +* the GPL or LGPL and not to allow others to use your version of this file +* under the MPL, indicate your decision by deleting the provisions above +* and replace them with the notice and other provisions required by the GPL +* or LGPL. If you do not delete the provisions above, a recipient may use +* your version of this file under the terms of any one of the MPL, the GPL +* or the LGPL. +* ***** END LICENSE BLOCK ***** */ + +/***************************************************************** +File YUV420toYUV422.cpp + +Utility for converting a sequence of frames, stored in a single +file in raw YUV420 format, to a single output file in which they are +stored in raw YUV422 format, by vertically interpolating using a (1,3,3,1) filter +and subsampling. +This utility is a filter taking input on stdin and generating its +output on stdout. + +Original author: Thomas Davies (based on filters by Tim Borer) +****************************************************************/ + +#include //Contains EXIT_SUCCESS, EXIT_FAILURE +#include //For cin, cout, cerr +#include //For fill_n +using std::cout; +using std::cin; +using std::cerr; +using std::clog; +using std::endl; +using std::ios_base; +using std::fill_n; + +#include "setstdiomode.h" +using namespace dirac_vu; + +int main(int argc, char * argv[] ) { + + if (argc != 4) { + cout << "\"YUV420toYUV422\" command line format is:" << endl; + cout << " Argument 1: width (pixels) e.g. 720" << endl; + cout << " Argument 2: height (lines) e.g. 576" << endl; + cout << " Argument 3: number of frames e.g. 3" << endl; + cout << " Example: YUV420toYUV422 bar 720 576 3" << endl; + cout << " converts 3 frames, of 720x576 pixels, from file foo to file bar" << endl; + return EXIT_SUCCESS; } + + //Get command line arguments + int width = atoi(argv[1]); + int height = atoi(argv[2]); + int frames = atoi(argv[3]); + + //Set standard input and standard output to binary mode. + //Only relevant for Windows (*nix is always binary) + if ( setstdinmode(std::ios_base::binary) == -1 ) { + cerr << "Error: could not set standard input to binary mode" << endl; + return EXIT_FAILURE; } + if ( setstdoutmode(std::ios_base::binary) == -1 ) { + cerr << "Error: could not set standard output to binary mode" << endl; + return EXIT_FAILURE; } + + //Allocate memory for input and output buffers. + const int YBufferSize = height*width; + unsigned char *YBuffer = new unsigned char[YBufferSize]; + const int UVBufferSizeIn = height*width/4; + unsigned char *UBufferIn = new unsigned char[UVBufferSizeIn]; + unsigned char *VBufferIn = new unsigned char[UVBufferSizeIn]; + const int UVBufferSizeOut = height*width/2; + unsigned char *UBufferOut = new unsigned char[UVBufferSizeOut]; + unsigned char *VBufferOut = new unsigned char[UVBufferSizeOut]; + + + //Create references for input and output stream buffers. + //IO is via stream buffers for efficiency + std::streambuf& inbuf = *(cin.rdbuf()); + std::streambuf& outbuf = *(cout.rdbuf()); + + for (int frame=0; frame(YBuffer), YBufferSize) < YBufferSize ) { + cerr << "Error: failed to read Y component of frame " << frame << endl; + return EXIT_FAILURE; } + if ( inbuf.sgetn(reinterpret_cast(UBufferIn), UVBufferSizeIn) < UVBufferSizeIn ) { + cerr << "Error: failed to read U component of frame " << frame << endl; + return EXIT_FAILURE; } + if ( inbuf.sgetn(reinterpret_cast(VBufferIn), UVBufferSizeIn) < UVBufferSizeIn ) { + cerr << "Error: failed to read V component of frame " << frame << endl; + return EXIT_FAILURE; } + + const int width2 = width/2; + const int height2 = height/2; + + // top line + for (int x=0; x>3; + VBufferOut[x] = VBufferIn[x]; + VBufferOut[width2+x] = (VBufferIn[x]+ + 3*VBufferIn[x]+ + 3*VBufferIn[width2+x]+ + VBufferIn[2*width2+x]+4)>>3; + } + // middle lines + for (int line_out=2,line_in=1; line_out<=height-6; line_out+=2,line_in++) { + for (int x=0; x>3; + VBufferOut[line_out*width2+x] = VBufferIn[line_in*width2+x]; + VBufferOut[(line_out+1)*width2+x] = (VBufferIn[(line_in-1)*width2+x]+ + 3*VBufferIn[line_in*width2+x]+ + 3*VBufferIn[(line_in+1)*width2+x]+ + VBufferIn[(line_in+2)*width2+x]+4)>>3; + } + } + + // bottom lines + for (int x=0; x>3; + UBufferOut[(height-2)*width2+x] = UBufferIn[(height2-1)*width2+x]; + UBufferOut[(height-1)*width2+x] = (UBufferIn[(height2-2)*width2+x]+ + 3*UBufferIn[(height2-1)*width2+x]+ + 3*UBufferIn[(height2-1)*width2+x]+ + UBufferIn[(height2-1)*width2+x]+4)>>3; + + VBufferOut[(height-4)*width2+x] = VBufferIn[(height2-2)*width2+x]; + VBufferOut[(height-3)*width2+x] = (VBufferIn[(height2-3)*width2+x]+ + 3*VBufferIn[(height2-2)*width2+x]+ + 3*VBufferIn[(height2-1)*width2+x]+ + VBufferIn[(height2-1)*width2+x]+4)>>3; + VBufferOut[(height-2)*width2+x] = VBufferIn[(height2-1)*width2+x]; + VBufferOut[(height-1)*width2+x] = (VBufferIn[(height2-2)*width2+x]+ + 3*VBufferIn[(height2-1)*width2+x]+ + 3*VBufferIn[(height2-1)*width2+x]+ + VBufferIn[(height2-1)*width2+x]+4)>>3; + } + + //Write frames of YUV + if ( outbuf.sputn(reinterpret_cast(YBuffer), YBufferSize) < YBufferSize ) { + cerr << "Error: failed to write frame " << frame << endl; + return EXIT_FAILURE; } + if ( outbuf.sputn(reinterpret_cast(UBufferOut), UVBufferSizeOut) < UVBufferSizeOut ) { + cerr << "Error: failed to write frame " << frame << endl; + return EXIT_FAILURE; } + if ( outbuf.sputn(reinterpret_cast(VBufferOut), UVBufferSizeOut) < UVBufferSizeOut ) { + cerr << "Error: failed to write frame " << frame << endl; + return EXIT_FAILURE; } + } + + delete [] YBuffer; + delete [] UBufferIn; + delete [] VBufferIn; + delete [] UBufferOut; + delete [] VBufferOut; + + return EXIT_SUCCESS; +} diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/conversion/YUV422ItoYUV420I.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/conversion/YUV422ItoYUV420I.cpp --- dirac-0.9.1/util/conversion/YUV422ItoYUV420I.cpp 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/util/conversion/YUV422ItoYUV420I.cpp 2008-11-18 23:25:21.000000000 +0000 @@ -0,0 +1,158 @@ +/* ***** BEGIN LICENSE BLOCK ***** +* +* $Id: YUV422ItoYUV420I.cpp,v 1.1 2008/11/18 23:25:21 asuraparaju Exp $ $Name: Dirac_1_0_2 $ +* +* Version: MPL 1.1/GPL 2.0/LGPL 2.1 +* +* The contents of this file are subject to the Mozilla Public License +* Version 1.1 (the "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* http://www.mozilla.org/MPL/ +* +* Software distributed under the License is distributed on an "AS IS" basis, +* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for +* the specific language governing rights and limitations under the License. +* +* The Original Code is BBC Research and Development code. +* +* The Initial Developer of the Original Code is the British Broadcasting +* Corporation. +* Portions created by the Initial Developer are Copyright (C) 2008. +* All Rights Reserved. +* +* Contributor(s): +* +* Alternatively, the contents of this file may be used under the terms of +* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser +* Public License Version 2.1 (the "LGPL"), in which case the provisions of +* the GPL or the LGPL are applicable instead of those above. If you wish to +* allow use of your version of this file only under the terms of the either +* the GPL or LGPL and not to allow others to use your version of this file +* under the MPL, indicate your decision by deleting the provisions above +* and replace them with the notice and other provisions required by the GPL +* or LGPL. If you do not delete the provisions above, a recipient may use +* your version of this file under the terms of any one of the MPL, the GPL +* or the LGPL. +* ***** END LICENSE BLOCK ***** */ + +/***************************************************************** +File YUV422ItoYUV420I.cpp + +Utility for converting a sequence of frames, stored in a single +file in raw YUV422 format, to a single output file in which they are +stored in raw YUV420 format, by vertically filtering using a (1,3) or (3,1) +filter and subsampling taking into account the chroma sample positions +within each field. +This utility is a filter taking input on stdin and generating its +output on stdout. + +This correctly handles interlaced i420 + +Original author: D Flynn (based on filters by Tim Borer/Thomas Davies) +****************************************************************/ + +#include //Contains EXIT_SUCCESS, EXIT_FAILURE +#include //For cin, cout, cerr +#include //For fill_n +using std::cout; +using std::cin; +using std::cerr; +using std::clog; +using std::endl; +using std::ios_base; +using std::fill_n; + +#include "setstdiomode.h" +using namespace dirac_vu; + +int main(int argc, char * argv[] ) { + + if (argc != 4) { + cout << "\"YUV422ItoYUV420I\" command line format is:" << endl; + cout << " Argument 1: width (pixels) e.g. 720" << endl; + cout << " Argument 2: height (lines) e.g. 576" << endl; + cout << " Argument 3: number of frames e.g. 3" << endl; + cout << " Example: YUV422ItoYUV420I bar 720 576 3" << endl; + cout << " converts 3 frames, of 720x576 pixels, from file foo to file bar" << endl; + return EXIT_SUCCESS; } + + //Get command line arguments + int width = atoi(argv[1]); + int height = atoi(argv[2]); + int frames = atoi(argv[3]); + + //Set standard input and standard output to binary mode. + //Only relevant for Windows (*nix is always binary) + if ( setstdinmode(std::ios_base::binary) == -1 ) { + cerr << "Error: could not set standard input to binary mode" << endl; + return EXIT_FAILURE; } + if ( setstdoutmode(std::ios_base::binary) == -1 ) { + cerr << "Error: could not set standard output to binary mode" << endl; + return EXIT_FAILURE; } + + //Allocate memory for input and output buffers. + const int YBufferSize = height*width; + unsigned char *YBuffer = new unsigned char[YBufferSize]; + const int UVBufferSizeIn = height*width/2; + unsigned char *UBufferIn = new unsigned char[UVBufferSizeIn]; + unsigned char *VBufferIn = new unsigned char[UVBufferSizeIn]; + const int UVBufferSizeOut = height*width/4; + unsigned char *UBufferOut = new unsigned char[UVBufferSizeOut]; + unsigned char *VBufferOut = new unsigned char[UVBufferSizeOut]; + + + //Create references for input and output stream buffers. + //IO is via stream buffers for efficiency + std::streambuf& inbuf = *(cin.rdbuf()); + std::streambuf& outbuf = *(cout.rdbuf()); + + for (int frame=0; frame(YBuffer), YBufferSize) < YBufferSize ) { + cerr << "Error: failed to read Y component of frame " << frame << endl; + return EXIT_FAILURE; } + if ( inbuf.sgetn(reinterpret_cast(UBufferIn), UVBufferSizeIn) < UVBufferSizeIn ) { + cerr << "Error: failed to read U component of frame " << frame << endl; + return EXIT_FAILURE; } + if ( inbuf.sgetn(reinterpret_cast(VBufferIn), UVBufferSizeIn) < UVBufferSizeIn ) { + cerr << "Error: failed to read V component of frame " << frame << endl; + return EXIT_FAILURE; } + + const int width2 = width/2; + const int height2 = height/2; + + // middle lines + for (int line_out=0,line_in=0; line_out> 2; + VBufferOut[line_out*width2+x] = (3*VBufferIn[(line_in)*width2+x] + 1*VBufferIn[(line_in+2)*width2+x] +2) >> 2; + /* botfield */ + UBufferOut[(line_out+1)*width2+x] = (1*UBufferIn[(line_in+1)*width2+x] + 3*UBufferIn[(line_in+1+2)*width2+x] +2) >> 2; + VBufferOut[(line_out+1)*width2+x] = (1*VBufferIn[(line_in+1)*width2+x] + 3*VBufferIn[(line_in+1+2)*width2+x] +2) >> 2; + } + } + + //Write frames of YUV + if ( outbuf.sputn(reinterpret_cast(YBuffer), YBufferSize) < YBufferSize ) { + cerr << "Error: failed to write frame " << frame << endl; + return EXIT_FAILURE; } + if ( outbuf.sputn(reinterpret_cast(UBufferOut), UVBufferSizeOut) < UVBufferSizeOut ) { + cerr << "Error: failed to write frame " << frame << endl; + return EXIT_FAILURE; } + if ( outbuf.sputn(reinterpret_cast(VBufferOut), UVBufferSizeOut) < UVBufferSizeOut ) { + cerr << "Error: failed to write frame " << frame << endl; + return EXIT_FAILURE; } + } + + delete [] YBuffer; + delete [] UBufferIn; + delete [] VBufferIn; + delete [] UBufferOut; + delete [] VBufferOut; + + return EXIT_SUCCESS; +} diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/conversion/YUV422toRGB.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/conversion/YUV422toRGB.cpp --- dirac-0.9.1/util/conversion/YUV422toRGB.cpp 2004-06-30 17:44:51.000000000 +0100 +++ dirac-1.0.2/util/conversion/YUV422toRGB.cpp 2004-06-30 17:44:51.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: YUV422toRGB.cpp,v 1.3 2004/06/30 16:44:51 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: YUV422toRGB.cpp,v 1.3 2004/06/30 16:44:51 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/conversion/YUV422toUYVY.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/conversion/YUV422toUYVY.cpp --- dirac-0.9.1/util/conversion/YUV422toUYVY.cpp 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/util/conversion/YUV422toUYVY.cpp 2008-05-27 02:29:56.000000000 +0100 @@ -0,0 +1,149 @@ +/* ***** BEGIN LICENSE BLOCK ***** +* +* $Id: YUV422toUYVY.cpp,v 1.2 2008/05/27 01:29:56 asuraparaju Exp $ $Name: Dirac_1_0_2 $ +* +* Version: MPL 1.1/GPL 2.0/LGPL 2.1 +* +* The contents of this file are subject to the Mozilla Public License +* Version 1.1 (the "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* http://www.mozilla.org/MPL/ +* +* Software distributed under the License is distributed on an "AS IS" basis, +* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for +* the specific language governing rights and limitations under the License. +* +* The Original Code is BBC Research and Development code. +* +* The Initial Developer of the Original Code is the British Broadcasting +* Corporation. +* Portions created by the Initial Developer are Copyright (C) 2008. +* All Rights Reserved. +* +* Contributor(s): +* +* Alternatively, the contents of this file may be used under the terms of +* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser +* Public License Version 2.1 (the "LGPL"), in which case the provisions of +* the GPL or the LGPL are applicable instead of those above. If you wish to +* allow use of your version of this file only under the terms of the either +* the GPL or LGPL and not to allow others to use your version of this file +* under the MPL, indicate your decision by deleting the provisions above +* and replace them with the notice and other provisions required by the GPL +* or LGPL. If you do not delete the provisions above, a recipient may use +* your version of this file under the terms of any one of the MPL, the GPL +* or the LGPL. +* ***** END LICENSE BLOCK ***** */ + +/***************************************************************** +File UYVYtoYUV422.cpp + +Utility for converting a sequence of frames, stored in a single +file in raw planar YUV422 format, to a single output file in which they are +stored in raw UYVY format. +This utility is a filter taking input on stdin and generating its +output on stdout. +UYVY format stores the 422 YUV image with the U/V components +interleaved with the Y components. It is a sequence of sets of 4 bytes +containing U, Y, V, Y components of two horizontally adjacent pixels. +The U/V components are co-sited with the first luminance sample. In 422 YUV +format the U and V colour components are subsampled 2:1 horizontally. + +Original author: Thomas Davies (based on filters by Tim Borer) +****************************************************************/ + +#include //Contains EXIT_SUCCESS, EXIT_FAILURE +#include //For cin, cout, cerr +#include //For fill_n +using std::cout; +using std::cin; +using std::cerr; +using std::clog; +using std::endl; +using std::ios_base; +using std::fill_n; + +#include "setstdiomode.h" +using namespace dirac_vu; + +int main(int argc, char * argv[] ) { + + if (argc != 4) { + cout << "\"YUV422toUYVY\" command line format is:" << endl; + cout << " Argument 1: width (pixels) e.g. 720" << endl; + cout << " Argument 2: height (lines) e.g. 576" << endl; + cout << " Argument 3: number of frames e.g. 3" << endl; + cout << " Example: YUV422toUYVY bar 720 576 3" << endl; + cout << " converts 3 frames, of 720x576 pixels, from file foo to file bar" << endl; + return EXIT_SUCCESS; } + + //Get command line arguments + int width = atoi(argv[1]); + int height = atoi(argv[2]); + int frames = atoi(argv[3]); + + //Set standard input and standard output to binary mode. + //Only relevant for Windows (*nix is always binary) + if ( setstdinmode(std::ios_base::binary) == -1 ) { + cerr << "Error: could not set standard input to binary mode" << endl; + return EXIT_FAILURE; } + if ( setstdoutmode(std::ios_base::binary) == -1 ) { + cerr << "Error: could not set standard output to binary mode" << endl; + return EXIT_FAILURE; } + + //Allocate memory for input and output buffers. + const int YBufferSize = height*width; + unsigned char *YBuffer = new unsigned char[YBufferSize]; + + const int UVBufferSize = height*width/2; + unsigned char *UBuffer = new unsigned char[UVBufferSize]; + unsigned char *VBuffer = new unsigned char[UVBufferSize]; + + const int YUVBufferSize = height*width*2; + unsigned char *YUVBuffer = new unsigned char[YUVBufferSize]; + + //Create references for input and output stream buffers. + //IO is via stream buffers for efficiency + std::streambuf& inbuf = *(cin.rdbuf()); + std::streambuf& outbuf = *(cout.rdbuf()); + + for (int frame=0; frame(YBuffer), YBufferSize) < YBufferSize ) { + cerr << "Error: failed to read frame " << frame << endl; + return EXIT_FAILURE; } + + if ( inbuf.sgetn(reinterpret_cast(UBuffer), UVBufferSize) < UVBufferSize ) { + cerr << "Error: failed to read frame " << frame << endl; + return EXIT_FAILURE; } + + if ( inbuf.sgetn(reinterpret_cast(VBuffer), UVBufferSize) < UVBufferSize ) { + cerr << "Error: failed to read frame " << frame << endl; + return EXIT_FAILURE; } + + // Write into a single buffer + int YUVpos = 0; + for (int uvpos=0,ypos=0; uvpos(YUVBuffer), YUVBufferSize) < YUVBufferSize ) { + cerr << "Error: failed to write frame " << frame << endl; + return EXIT_FAILURE; } + } + + delete [] YUVBuffer; + delete [] YBuffer; + delete [] UBuffer; + delete [] VBuffer; + + return EXIT_SUCCESS; +} diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/conversion/YUV422toYUV420.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/conversion/YUV422toYUV420.cpp --- dirac-0.9.1/util/conversion/YUV422toYUV420.cpp 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/util/conversion/YUV422toYUV420.cpp 2008-02-04 13:43:02.000000000 +0000 @@ -0,0 +1,177 @@ +/* ***** BEGIN LICENSE BLOCK ***** +* +* $Id: YUV422toYUV420.cpp,v 1.1 2008/02/04 13:43:02 tjdwave Exp $ $Name: Dirac_1_0_2 $ +* +* Version: MPL 1.1/GPL 2.0/LGPL 2.1 +* +* The contents of this file are subject to the Mozilla Public License +* Version 1.1 (the "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* http://www.mozilla.org/MPL/ +* +* Software distributed under the License is distributed on an "AS IS" basis, +* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for +* the specific language governing rights and limitations under the License. +* +* The Original Code is BBC Research and Development code. +* +* The Initial Developer of the Original Code is the British Broadcasting +* Corporation. +* Portions created by the Initial Developer are Copyright (C) 2008. +* All Rights Reserved. +* +* Contributor(s): +* +* Alternatively, the contents of this file may be used under the terms of +* the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser +* Public License Version 2.1 (the "LGPL"), in which case the provisions of +* the GPL or the LGPL are applicable instead of those above. If you wish to +* allow use of your version of this file only under the terms of the either +* the GPL or LGPL and not to allow others to use your version of this file +* under the MPL, indicate your decision by deleting the provisions above +* and replace them with the notice and other provisions required by the GPL +* or LGPL. If you do not delete the provisions above, a recipient may use +* your version of this file under the terms of any one of the MPL, the GPL +* or the LGPL. +* ***** END LICENSE BLOCK ***** */ + +/***************************************************************** +File YUV422toYUV420.cpp + +Utility for converting a sequence of frames, stored in a single +file in raw YUV422 format, to a single output file in which they are +stored in raw YUV420 format, by vertically filtering using a (1,3,3,1) filter +and subsampling. +This utility is a filter taking input on stdin and generating its +output on stdout. + +Original author: Thomas Davies (based on filters by Tim Borer) +****************************************************************/ + +#include //Contains EXIT_SUCCESS, EXIT_FAILURE +#include //For cin, cout, cerr +#include //For fill_n +using std::cout; +using std::cin; +using std::cerr; +using std::clog; +using std::endl; +using std::ios_base; +using std::fill_n; + +#include "setstdiomode.h" +using namespace dirac_vu; + +int main(int argc, char * argv[] ) { + + if (argc != 4) { + cout << "\"YUV422toYUV420\" command line format is:" << endl; + cout << " Argument 1: width (pixels) e.g. 720" << endl; + cout << " Argument 2: height (lines) e.g. 576" << endl; + cout << " Argument 3: number of frames e.g. 3" << endl; + cout << " Example: YUV422toYUV420 bar 720 576 3" << endl; + cout << " converts 3 frames, of 720x576 pixels, from file foo to file bar" << endl; + return EXIT_SUCCESS; } + + //Get command line arguments + int width = atoi(argv[1]); + int height = atoi(argv[2]); + int frames = atoi(argv[3]); + + //Set standard input and standard output to binary mode. + //Only relevant for Windows (*nix is always binary) + if ( setstdinmode(std::ios_base::binary) == -1 ) { + cerr << "Error: could not set standard input to binary mode" << endl; + return EXIT_FAILURE; } + if ( setstdoutmode(std::ios_base::binary) == -1 ) { + cerr << "Error: could not set standard output to binary mode" << endl; + return EXIT_FAILURE; } + + //Allocate memory for input and output buffers. + const int YBufferSize = height*width; + unsigned char *YBuffer = new unsigned char[YBufferSize]; + const int UVBufferSizeIn = height*width/2; + unsigned char *UBufferIn = new unsigned char[UVBufferSizeIn]; + unsigned char *VBufferIn = new unsigned char[UVBufferSizeIn]; + const int UVBufferSizeOut = height*width/4; + unsigned char *UBufferOut = new unsigned char[UVBufferSizeOut]; + unsigned char *VBufferOut = new unsigned char[UVBufferSizeOut]; + + + //Create references for input and output stream buffers. + //IO is via stream buffers for efficiency + std::streambuf& inbuf = *(cin.rdbuf()); + std::streambuf& outbuf = *(cout.rdbuf()); + + for (int frame=0; frame(YBuffer), YBufferSize) < YBufferSize ) { + cerr << "Error: failed to read Y component of frame " << frame << endl; + return EXIT_FAILURE; } + if ( inbuf.sgetn(reinterpret_cast(UBufferIn), UVBufferSizeIn) < UVBufferSizeIn ) { + cerr << "Error: failed to read U component of frame " << frame << endl; + return EXIT_FAILURE; } + if ( inbuf.sgetn(reinterpret_cast(VBufferIn), UVBufferSizeIn) < UVBufferSizeIn ) { + cerr << "Error: failed to read V component of frame " << frame << endl; + return EXIT_FAILURE; } + + const int width2 = width/2; + const int height2 = height/2; + + // top line + for (int x=0; x>3; + VBufferOut[x] = (VBufferIn[x]+3*VBufferIn[x]+3*VBufferIn[width2+x]+ + VBufferIn[2*width2+x]+4)>>3; + } + // middle lines + for (int line_out=1,line_in=2; line_out>3; + VBufferOut[line_out*width2+x] = (VBufferIn[(line_in-1)*width2+x]+ + 3*VBufferIn[line_in*width2+x]+ + 3*VBufferIn[(line_in+1)*width2+x]+ + VBufferIn[(line_in+2)*width2+x]+4)>>3; + } + } + + // bottom line + for (int x=0; x>3; + + VBufferOut[(height2-1)*width2+x] = (VBufferIn[(height-3)*width2+x]+ + 3*VBufferIn[(height-2)*width2+x]+ + 3*VBufferIn[(height-1)*width2+x]+ + VBufferIn[(height-1)*width2+x]+4)>>3; + } + + //Write frames of YUV + if ( outbuf.sputn(reinterpret_cast(YBuffer), YBufferSize) < YBufferSize ) { + cerr << "Error: failed to write frame " << frame << endl; + return EXIT_FAILURE; } + if ( outbuf.sputn(reinterpret_cast(UBufferOut), UVBufferSizeOut) < UVBufferSizeOut ) { + cerr << "Error: failed to write frame " << frame << endl; + return EXIT_FAILURE; } + if ( outbuf.sputn(reinterpret_cast(VBufferOut), UVBufferSizeOut) < UVBufferSizeOut ) { + cerr << "Error: failed to write frame " << frame << endl; + return EXIT_FAILURE; } + } + + delete [] YBuffer; + delete [] UBufferIn; + delete [] VBufferIn; + delete [] UBufferOut; + delete [] VBufferOut; + + return EXIT_SUCCESS; +} diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/conversion/YUV444toRGB.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/conversion/YUV444toRGB.cpp --- dirac-0.9.1/util/conversion/YUV444toRGB.cpp 2004-06-30 17:44:51.000000000 +0100 +++ dirac-1.0.2/util/conversion/YUV444toRGB.cpp 2004-06-30 17:44:51.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: YUV444toRGB.cpp,v 1.3 2004/06/30 16:44:51 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: YUV444toRGB.cpp,v 1.3 2004/06/30 16:44:51 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/instrumentation/instrmain.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/instrumentation/instrmain.cpp --- dirac-0.9.1/util/instrumentation/instrmain.cpp 2008-01-15 04:36:24.000000000 +0000 +++ dirac-1.0.2/util/instrumentation/instrmain.cpp 2008-01-15 04:36:24.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: instrmain.cpp,v 1.15 2008/01/15 04:36:24 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: instrmain.cpp,v 1.15 2008/01/15 04:36:24 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/instrumentation/libdirac_instrument/draw_overlay.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/instrumentation/libdirac_instrument/draw_overlay.cpp --- dirac-0.9.1/util/instrumentation/libdirac_instrument/draw_overlay.cpp 2007-08-31 14:10:47.000000000 +0100 +++ dirac-1.0.2/util/instrumentation/libdirac_instrument/draw_overlay.cpp 2008-06-19 11:39:59.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: draw_overlay.cpp,v 1.8 2007/08/31 13:10:47 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: draw_overlay.cpp,v 1.10 2008/06/19 10:39:59 tjdwave Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -37,11 +37,12 @@ #include using namespace dirac_instr; +using namespace dirac; // constructor -DrawOverlay::DrawOverlay(Frame & frame, DrawFrameMotionParams & draw_params) +DrawOverlay::DrawOverlay(Picture & picture, DrawPictureMotionParams & draw_params) : - m_frame(frame), + m_picture(picture), m_draw_params(draw_params) {} @@ -111,10 +112,10 @@ for (int ypx=40; ypx= 10 && number < 100) @@ -233,7 +234,7 @@ } } -// draws both reference frame numbers +// draws both reference picture numbers void DrawOverlay::DrawReferenceNumbers(int ref1, int ref2) { // draw letters: 'R1:' and 'R2:' on consecutive lines @@ -254,15 +255,15 @@ DrawValue(ref2, 32, 24); } -// draws frame number -void DrawOverlay::DrawFrameNumber(int fnum) +// draws picture number +void DrawOverlay::DrawPictureNumber(int pnum) { DrawCharacter(m_symbols.LetterF(), 0, 0); - DrawValue(fnum, 0, 8); + DrawValue(pnum, 0, 8); } -// draws used reference frame number -void DrawOverlay::DrawReferenceNumber(int ref, int ref_frame) +// draws used reference picture number +void DrawOverlay::DrawReferenceNumber(int ref, int ref_picture) { DrawCharacter(m_symbols.LetterR(), 16, 0); DrawCharacter(m_symbols.SymbolColon(), 16, 16); @@ -272,10 +273,10 @@ else if (ref==2) DrawCharacter(m_symbols.Number2(), 16, 8); - if (ref_frame==-1) + if (ref_picture==-1) DrawCharacter(m_symbols.SymbolMinus(), 16, 24); else - DrawValue(ref_frame, 16, 24); + DrawValue(ref_picture, 16, 24); } // colours a single block, referenced by motion vector @@ -285,20 +286,20 @@ for (int y=0; y= m_frame.Udata().LengthY() || - y_idx >= m_frame.Vdata().LengthY()) + if (y_idx >= m_picture.Data(U_COMP).LengthY() || + y_idx >= m_picture.Data(V_COMP).LengthY()) break; for (int x=0; x= m_frame.Udata().LengthX() || - x_idx >= m_frame.Vdata().LengthX()) + if (x_idx >= m_picture.Data(U_COMP).LengthX() || + x_idx >= m_picture.Data(V_COMP).LengthX()) break; - //m_frame.Udata()[(ymv*m_draw_params.MvUVBlockY())+y][(xmv*m_draw_params.MvUVBlockX())+x]=U; - //m_frame.Vdata()[(ymv*m_draw_params.MvUVBlockY())+y][(xmv*m_draw_params.MvUVBlockX())+x]=V; - m_frame.Udata()[y_idx][x_idx]=U; - m_frame.Vdata()[y_idx][x_idx]=V; + //m_picture.Data(U_COMP)[(ymv*m_draw_params.MvUVBlockY())+y][(xmv*m_draw_params.MvUVBlockX())+x]=U; + //m_picture.Data(V_COMP)[(ymv*m_draw_params.MvUVBlockY())+y][(xmv*m_draw_params.MvUVBlockX())+x]=V; + m_picture.Data(U_COMP)[y_idx][x_idx]=U; + m_picture.Data(V_COMP)[y_idx][x_idx]=V; }// xpx }// ypx } @@ -311,8 +312,8 @@ { for (int x=xpx; x -#include -using dirac::Frame; +#include +using dirac::Picture; using dirac::PicArray; using dirac::MvArray; @@ -51,40 +51,40 @@ { #define NO_REF -1 - //! Class encapsulating parameters for drawing the frame - class DrawFrameMotionParams + //! Class encapsulating parameters for drawing the picture + class DrawPictureMotionParams { public : //! Default constuctor, does nothing - DrawFrameMotionParams() {} + DrawPictureMotionParams() {} //! Default destructor, does nothing - ~DrawFrameMotionParams() {} + ~DrawPictureMotionParams() {} //! Gets... //! Returns luma motion vector block height - const int MvYBlockY() const {return m_mv_Y_block_y;} + int MvYBlockY() const {return m_mv_Y_block_y;} //! Returns luma motion vector block width - const int MvYBlockX() const {return m_mv_Y_block_x;} + int MvYBlockX() const {return m_mv_Y_block_x;} //! Returns chroma motion vector height - const int MvUVBlockY() const {return m_mv_UV_block_y;} + int MvUVBlockY() const {return m_mv_UV_block_y;} //! Returns chroma motion vector width - const int MvUVBlockX() const {return m_mv_UV_block_x;} + int MvUVBlockX() const {return m_mv_UV_block_x;} //! Returns chroma - luma vertical smaple ratio - const int ChromaFactorY() const {return m_chroma_factor_y;} + int ChromaFactorY() const {return m_chroma_factor_y;} //! Returns chroma - luma horizontal sample ratio - const int ChromaFactorX() const {return m_chroma_factor_x;} + int ChromaFactorX() const {return m_chroma_factor_x;} //! Returns original picture height - const int PicY() const {return m_pic_y;} + int PicY() const {return m_pic_y;} //! Returns original picture width - const int PicX() const {return m_pic_x;} + int PicX() const {return m_pic_x;} //! Sets... //! Set luma motion vector block height @@ -135,7 +135,7 @@ { public : //! Constructor - DrawOverlay(Frame &, DrawFrameMotionParams &); + DrawOverlay(Picture &, DrawPictureMotionParams &); //! Destructor virtual ~DrawOverlay(); @@ -152,14 +152,14 @@ // // //////////////////////////////////////////////////////////// - //! Draws frame numbers for both references + //! Draws picture numbers for both references void DrawReferenceNumbers(int, int); - //! Draws frame number for chosen reference + //! Draws picture number for chosen reference void DrawReferenceNumber(int, int); - //! Draws current frame number - void DrawFrameNumber(int); + //! Draws current picture number + void DrawPictureNumber(int); //! Draws a character / number / symbol void DrawCharacter(const PicArray &, int, int); @@ -185,11 +185,11 @@ //! Colours an 8x8 block referenced by TL chroma pixel void DrawBlockUV(int, int, int, int); - //! Frame data - Frame & m_frame; + //! Picture data + Picture & m_picture; //! Block parameters and chroma scaling - DrawFrameMotionParams & m_draw_params; + DrawPictureMotionParams & m_draw_params; //! Symbols OverlaySymbols m_symbols; diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/instrumentation/libdirac_instrument/gm_inliers.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/instrumentation/libdirac_instrument/gm_inliers.cpp --- dirac-0.9.1/util/instrumentation/libdirac_instrument/gm_inliers.cpp 2004-11-22 13:42:33.000000000 +0000 +++ dirac-1.0.2/util/instrumentation/libdirac_instrument/gm_inliers.cpp 2008-06-19 11:39:59.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: gm_inliers.cpp,v 1.2 2004/11/22 13:42:33 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: gm_inliers.cpp,v 1.4 2008/06/19 10:39:59 tjdwave Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -37,11 +37,12 @@ #include using namespace dirac_instr; +using namespace dirac; // constructor -DrawGMInliers::DrawGMInliers(Frame & frame, DrawFrameMotionParams & draw_params, const TwoDArray & inliers) +DrawGMInliers::DrawGMInliers(Picture & picture, DrawPictureMotionParams & draw_params, const TwoDArray & inliers) : - DrawOverlay(frame, draw_params), + DrawOverlay(picture, draw_params), m_inliers(inliers) {} @@ -68,7 +69,7 @@ for (int ypx=m_draw_params.PicY()-33; ypx=0; --xpx) - m_frame.Ydata()[ypx][xpx]=500; // grey + m_picture.Data(Y_COMP)[ypx][xpx]=500; // grey } int U=0, V=0; @@ -84,8 +85,8 @@ // black horizontal lines for (int xpx=15; xpx>=0; --xpx) { - m_frame.Ydata()[m_draw_params.PicY()-33][xpx]=0; - m_frame.Ydata()[m_draw_params.PicY()-17][xpx]=0; + m_picture.Data(Y_COMP)[m_draw_params.PicY()-33][xpx]=0; + m_picture.Data(Y_COMP)[m_draw_params.PicY()-17][xpx]=0; } // draw '1 0' label diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/instrumentation/libdirac_instrument/gm_inliers.h /tmp/1tgnNoYBLI/dirac-1.0.2/util/instrumentation/libdirac_instrument/gm_inliers.h --- dirac-0.9.1/util/instrumentation/libdirac_instrument/gm_inliers.h 2004-11-22 13:42:33.000000000 +0000 +++ dirac-1.0.2/util/instrumentation/libdirac_instrument/gm_inliers.h 2008-01-31 11:25:20.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: gm_inliers.h,v 1.2 2004/11/22 13:42:33 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: gm_inliers.h,v 1.3 2008/01/31 11:25:20 tjdwave Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -39,7 +39,7 @@ #define _GM_INLIERS_H_ #include -using dirac::Frame; +using dirac::Picture; using dirac::TwoDArray; namespace dirac_instr @@ -55,7 +55,7 @@ /* Calls DrawOverlay constructor */ - DrawGMInliers(Frame &, DrawFrameMotionParams &, const TwoDArray &); + DrawGMInliers(Picture &, DrawPictureMotionParams &, const TwoDArray &); //! Destructor ~DrawGMInliers(); diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/instrumentation/libdirac_instrument/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/util/instrumentation/libdirac_instrument/Makefile.in --- dirac-0.9.1/util/instrumentation/libdirac_instrument/Makefile.in 2008-01-26 12:30:38.000000000 +0000 +++ dirac-1.0.2/util/instrumentation/libdirac_instrument/Makefile.in 2009-02-11 01:43:39.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in 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. @@ -18,15 +18,11 @@ # -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -43,7 +39,8 @@ subdir = util/instrumentation/libdirac_instrument DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -74,26 +71,32 @@ libdirac_instrument_la-gm_inliers.lo am_libdirac_instrument_la_OBJECTS = $(am__objects_1) $(am__objects_3) libdirac_instrument_la_OBJECTS = $(am_libdirac_instrument_la_OBJECTS) +libdirac_instrument_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ @USE_MSVC_FALSE@am_libdirac_instrument_la_rpath = -DEFAULT_INCLUDES = -I. -I$(srcdir) +DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) -CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \ - $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ SOURCES = $(libdirac_instrument_a_SOURCES) \ $(libdirac_instrument_la_SOURCES) DIST_SOURCES = $(libdirac_instrument_a_SOURCES) \ @@ -102,8 +105,7 @@ CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ +ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ @@ -126,62 +128,46 @@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ GENERIC_RELEASE = @GENERIC_RELEASE@ GENERIC_VERSION = @GENERIC_VERSION@ GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBEXT = @LIBEXT@ LIBFLAGS = @LIBFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -190,22 +176,19 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -217,6 +200,7 @@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -235,6 +219,7 @@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -244,8 +229,12 @@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ INCLUDES = -I$(top_srcdir) -I$(srcdir) h_sources = overlay.h draw_overlay.h motion_colour.h motion_arrows.h motion_colour_arrows.h sad.h pred_mode.h split_mode.h overlay_symbols.h gm_inliers.h cpp_sources = overlay.cpp draw_overlay.cpp motion_colour.cpp motion_arrows.cpp motion_colour_arrows.cpp sad.cpp pred_mode.cpp split_mode.cpp overlay_symbols.cpp gm_inliers.cpp @@ -307,7 +296,7 @@ rm -f "$${dir}/so_locations"; \ done libdirac_instrument.la: $(libdirac_instrument_la_OBJECTS) $(libdirac_instrument_la_DEPENDENCIES) - $(CXXLINK) $(am_libdirac_instrument_la_rpath) $(libdirac_instrument_la_LDFLAGS) $(libdirac_instrument_la_OBJECTS) $(libdirac_instrument_la_LIBADD) $(LIBS) + $(libdirac_instrument_la_LINK) $(am_libdirac_instrument_la_rpath) $(libdirac_instrument_la_OBJECTS) $(libdirac_instrument_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -337,95 +326,95 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/split_mode.Po@am__quote@ .cpp.o: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: -@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< libdirac_instrument_la-overlay.lo: overlay.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_instrument_la-overlay.lo -MD -MP -MF "$(DEPDIR)/libdirac_instrument_la-overlay.Tpo" -c -o libdirac_instrument_la-overlay.lo `test -f 'overlay.cpp' || echo '$(srcdir)/'`overlay.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_instrument_la-overlay.Tpo" "$(DEPDIR)/libdirac_instrument_la-overlay.Plo"; else rm -f "$(DEPDIR)/libdirac_instrument_la-overlay.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_instrument_la-overlay.lo -MD -MP -MF $(DEPDIR)/libdirac_instrument_la-overlay.Tpo -c -o libdirac_instrument_la-overlay.lo `test -f 'overlay.cpp' || echo '$(srcdir)/'`overlay.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_instrument_la-overlay.Tpo $(DEPDIR)/libdirac_instrument_la-overlay.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='overlay.cpp' object='libdirac_instrument_la-overlay.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_instrument_la-overlay.lo `test -f 'overlay.cpp' || echo '$(srcdir)/'`overlay.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_instrument_la-overlay.lo `test -f 'overlay.cpp' || echo '$(srcdir)/'`overlay.cpp libdirac_instrument_la-draw_overlay.lo: draw_overlay.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_instrument_la-draw_overlay.lo -MD -MP -MF "$(DEPDIR)/libdirac_instrument_la-draw_overlay.Tpo" -c -o libdirac_instrument_la-draw_overlay.lo `test -f 'draw_overlay.cpp' || echo '$(srcdir)/'`draw_overlay.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_instrument_la-draw_overlay.Tpo" "$(DEPDIR)/libdirac_instrument_la-draw_overlay.Plo"; else rm -f "$(DEPDIR)/libdirac_instrument_la-draw_overlay.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_instrument_la-draw_overlay.lo -MD -MP -MF $(DEPDIR)/libdirac_instrument_la-draw_overlay.Tpo -c -o libdirac_instrument_la-draw_overlay.lo `test -f 'draw_overlay.cpp' || echo '$(srcdir)/'`draw_overlay.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_instrument_la-draw_overlay.Tpo $(DEPDIR)/libdirac_instrument_la-draw_overlay.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='draw_overlay.cpp' object='libdirac_instrument_la-draw_overlay.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_instrument_la-draw_overlay.lo `test -f 'draw_overlay.cpp' || echo '$(srcdir)/'`draw_overlay.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_instrument_la-draw_overlay.lo `test -f 'draw_overlay.cpp' || echo '$(srcdir)/'`draw_overlay.cpp libdirac_instrument_la-motion_colour.lo: motion_colour.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_instrument_la-motion_colour.lo -MD -MP -MF "$(DEPDIR)/libdirac_instrument_la-motion_colour.Tpo" -c -o libdirac_instrument_la-motion_colour.lo `test -f 'motion_colour.cpp' || echo '$(srcdir)/'`motion_colour.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_instrument_la-motion_colour.Tpo" "$(DEPDIR)/libdirac_instrument_la-motion_colour.Plo"; else rm -f "$(DEPDIR)/libdirac_instrument_la-motion_colour.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_instrument_la-motion_colour.lo -MD -MP -MF $(DEPDIR)/libdirac_instrument_la-motion_colour.Tpo -c -o libdirac_instrument_la-motion_colour.lo `test -f 'motion_colour.cpp' || echo '$(srcdir)/'`motion_colour.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_instrument_la-motion_colour.Tpo $(DEPDIR)/libdirac_instrument_la-motion_colour.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='motion_colour.cpp' object='libdirac_instrument_la-motion_colour.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_instrument_la-motion_colour.lo `test -f 'motion_colour.cpp' || echo '$(srcdir)/'`motion_colour.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_instrument_la-motion_colour.lo `test -f 'motion_colour.cpp' || echo '$(srcdir)/'`motion_colour.cpp libdirac_instrument_la-motion_arrows.lo: motion_arrows.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_instrument_la-motion_arrows.lo -MD -MP -MF "$(DEPDIR)/libdirac_instrument_la-motion_arrows.Tpo" -c -o libdirac_instrument_la-motion_arrows.lo `test -f 'motion_arrows.cpp' || echo '$(srcdir)/'`motion_arrows.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_instrument_la-motion_arrows.Tpo" "$(DEPDIR)/libdirac_instrument_la-motion_arrows.Plo"; else rm -f "$(DEPDIR)/libdirac_instrument_la-motion_arrows.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_instrument_la-motion_arrows.lo -MD -MP -MF $(DEPDIR)/libdirac_instrument_la-motion_arrows.Tpo -c -o libdirac_instrument_la-motion_arrows.lo `test -f 'motion_arrows.cpp' || echo '$(srcdir)/'`motion_arrows.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_instrument_la-motion_arrows.Tpo $(DEPDIR)/libdirac_instrument_la-motion_arrows.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='motion_arrows.cpp' object='libdirac_instrument_la-motion_arrows.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_instrument_la-motion_arrows.lo `test -f 'motion_arrows.cpp' || echo '$(srcdir)/'`motion_arrows.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_instrument_la-motion_arrows.lo `test -f 'motion_arrows.cpp' || echo '$(srcdir)/'`motion_arrows.cpp libdirac_instrument_la-motion_colour_arrows.lo: motion_colour_arrows.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_instrument_la-motion_colour_arrows.lo -MD -MP -MF "$(DEPDIR)/libdirac_instrument_la-motion_colour_arrows.Tpo" -c -o libdirac_instrument_la-motion_colour_arrows.lo `test -f 'motion_colour_arrows.cpp' || echo '$(srcdir)/'`motion_colour_arrows.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_instrument_la-motion_colour_arrows.Tpo" "$(DEPDIR)/libdirac_instrument_la-motion_colour_arrows.Plo"; else rm -f "$(DEPDIR)/libdirac_instrument_la-motion_colour_arrows.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_instrument_la-motion_colour_arrows.lo -MD -MP -MF $(DEPDIR)/libdirac_instrument_la-motion_colour_arrows.Tpo -c -o libdirac_instrument_la-motion_colour_arrows.lo `test -f 'motion_colour_arrows.cpp' || echo '$(srcdir)/'`motion_colour_arrows.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_instrument_la-motion_colour_arrows.Tpo $(DEPDIR)/libdirac_instrument_la-motion_colour_arrows.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='motion_colour_arrows.cpp' object='libdirac_instrument_la-motion_colour_arrows.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_instrument_la-motion_colour_arrows.lo `test -f 'motion_colour_arrows.cpp' || echo '$(srcdir)/'`motion_colour_arrows.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_instrument_la-motion_colour_arrows.lo `test -f 'motion_colour_arrows.cpp' || echo '$(srcdir)/'`motion_colour_arrows.cpp libdirac_instrument_la-sad.lo: sad.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_instrument_la-sad.lo -MD -MP -MF "$(DEPDIR)/libdirac_instrument_la-sad.Tpo" -c -o libdirac_instrument_la-sad.lo `test -f 'sad.cpp' || echo '$(srcdir)/'`sad.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_instrument_la-sad.Tpo" "$(DEPDIR)/libdirac_instrument_la-sad.Plo"; else rm -f "$(DEPDIR)/libdirac_instrument_la-sad.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_instrument_la-sad.lo -MD -MP -MF $(DEPDIR)/libdirac_instrument_la-sad.Tpo -c -o libdirac_instrument_la-sad.lo `test -f 'sad.cpp' || echo '$(srcdir)/'`sad.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_instrument_la-sad.Tpo $(DEPDIR)/libdirac_instrument_la-sad.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='sad.cpp' object='libdirac_instrument_la-sad.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_instrument_la-sad.lo `test -f 'sad.cpp' || echo '$(srcdir)/'`sad.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_instrument_la-sad.lo `test -f 'sad.cpp' || echo '$(srcdir)/'`sad.cpp libdirac_instrument_la-pred_mode.lo: pred_mode.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_instrument_la-pred_mode.lo -MD -MP -MF "$(DEPDIR)/libdirac_instrument_la-pred_mode.Tpo" -c -o libdirac_instrument_la-pred_mode.lo `test -f 'pred_mode.cpp' || echo '$(srcdir)/'`pred_mode.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_instrument_la-pred_mode.Tpo" "$(DEPDIR)/libdirac_instrument_la-pred_mode.Plo"; else rm -f "$(DEPDIR)/libdirac_instrument_la-pred_mode.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_instrument_la-pred_mode.lo -MD -MP -MF $(DEPDIR)/libdirac_instrument_la-pred_mode.Tpo -c -o libdirac_instrument_la-pred_mode.lo `test -f 'pred_mode.cpp' || echo '$(srcdir)/'`pred_mode.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_instrument_la-pred_mode.Tpo $(DEPDIR)/libdirac_instrument_la-pred_mode.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='pred_mode.cpp' object='libdirac_instrument_la-pred_mode.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_instrument_la-pred_mode.lo `test -f 'pred_mode.cpp' || echo '$(srcdir)/'`pred_mode.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_instrument_la-pred_mode.lo `test -f 'pred_mode.cpp' || echo '$(srcdir)/'`pred_mode.cpp libdirac_instrument_la-split_mode.lo: split_mode.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_instrument_la-split_mode.lo -MD -MP -MF "$(DEPDIR)/libdirac_instrument_la-split_mode.Tpo" -c -o libdirac_instrument_la-split_mode.lo `test -f 'split_mode.cpp' || echo '$(srcdir)/'`split_mode.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_instrument_la-split_mode.Tpo" "$(DEPDIR)/libdirac_instrument_la-split_mode.Plo"; else rm -f "$(DEPDIR)/libdirac_instrument_la-split_mode.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_instrument_la-split_mode.lo -MD -MP -MF $(DEPDIR)/libdirac_instrument_la-split_mode.Tpo -c -o libdirac_instrument_la-split_mode.lo `test -f 'split_mode.cpp' || echo '$(srcdir)/'`split_mode.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_instrument_la-split_mode.Tpo $(DEPDIR)/libdirac_instrument_la-split_mode.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='split_mode.cpp' object='libdirac_instrument_la-split_mode.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_instrument_la-split_mode.lo `test -f 'split_mode.cpp' || echo '$(srcdir)/'`split_mode.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_instrument_la-split_mode.lo `test -f 'split_mode.cpp' || echo '$(srcdir)/'`split_mode.cpp libdirac_instrument_la-overlay_symbols.lo: overlay_symbols.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_instrument_la-overlay_symbols.lo -MD -MP -MF "$(DEPDIR)/libdirac_instrument_la-overlay_symbols.Tpo" -c -o libdirac_instrument_la-overlay_symbols.lo `test -f 'overlay_symbols.cpp' || echo '$(srcdir)/'`overlay_symbols.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_instrument_la-overlay_symbols.Tpo" "$(DEPDIR)/libdirac_instrument_la-overlay_symbols.Plo"; else rm -f "$(DEPDIR)/libdirac_instrument_la-overlay_symbols.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_instrument_la-overlay_symbols.lo -MD -MP -MF $(DEPDIR)/libdirac_instrument_la-overlay_symbols.Tpo -c -o libdirac_instrument_la-overlay_symbols.lo `test -f 'overlay_symbols.cpp' || echo '$(srcdir)/'`overlay_symbols.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_instrument_la-overlay_symbols.Tpo $(DEPDIR)/libdirac_instrument_la-overlay_symbols.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='overlay_symbols.cpp' object='libdirac_instrument_la-overlay_symbols.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_instrument_la-overlay_symbols.lo `test -f 'overlay_symbols.cpp' || echo '$(srcdir)/'`overlay_symbols.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_instrument_la-overlay_symbols.lo `test -f 'overlay_symbols.cpp' || echo '$(srcdir)/'`overlay_symbols.cpp libdirac_instrument_la-gm_inliers.lo: gm_inliers.cpp -@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_instrument_la-gm_inliers.lo -MD -MP -MF "$(DEPDIR)/libdirac_instrument_la-gm_inliers.Tpo" -c -o libdirac_instrument_la-gm_inliers.lo `test -f 'gm_inliers.cpp' || echo '$(srcdir)/'`gm_inliers.cpp; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libdirac_instrument_la-gm_inliers.Tpo" "$(DEPDIR)/libdirac_instrument_la-gm_inliers.Plo"; else rm -f "$(DEPDIR)/libdirac_instrument_la-gm_inliers.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -MT libdirac_instrument_la-gm_inliers.lo -MD -MP -MF $(DEPDIR)/libdirac_instrument_la-gm_inliers.Tpo -c -o libdirac_instrument_la-gm_inliers.lo `test -f 'gm_inliers.cpp' || echo '$(srcdir)/'`gm_inliers.cpp +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/libdirac_instrument_la-gm_inliers.Tpo $(DEPDIR)/libdirac_instrument_la-gm_inliers.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='gm_inliers.cpp' object='libdirac_instrument_la-gm_inliers.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_instrument_la-gm_inliers.lo `test -f 'gm_inliers.cpp' || echo '$(srcdir)/'`gm_inliers.cpp +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdirac_instrument_la_CXXFLAGS) $(CXXFLAGS) -c -o libdirac_instrument_la-gm_inliers.lo `test -f 'gm_inliers.cpp' || echo '$(srcdir)/'`gm_inliers.cpp mostlyclean-libtool: -rm -f *.lo @@ -433,17 +422,13 @@ clean-libtool: -rm -rf .libs _libs -distclean-libtool: - -rm -f libtool -uninstall-info-am: - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS @@ -455,8 +440,8 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ @@ -466,13 +451,12 @@ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique @@ -486,22 +470,21 @@ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -550,7 +533,7 @@ -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags + distclean-tags dvi: dvi-am @@ -564,12 +547,20 @@ install-data-am: +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -590,19 +581,23 @@ ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLIBRARIES clean-noinstLTLIBRARIES \ ctags distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-info-am + tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/instrumentation/libdirac_instrument/motion_arrows.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/instrumentation/libdirac_instrument/motion_arrows.cpp --- dirac-0.9.1/util/instrumentation/libdirac_instrument/motion_arrows.cpp 2007-08-31 14:10:47.000000000 +0100 +++ dirac-1.0.2/util/instrumentation/libdirac_instrument/motion_arrows.cpp 2008-06-19 11:39:59.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: motion_arrows.cpp,v 1.6 2007/08/31 13:10:47 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: motion_arrows.cpp,v 1.8 2008/06/19 10:39:59 tjdwave Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -37,12 +37,13 @@ #include using namespace dirac_instr; +using namespace dirac; // constructor -DrawMotionArrows::DrawMotionArrows(Frame & frame, DrawFrameMotionParams & draw_params, +DrawMotionArrows::DrawMotionArrows(Picture & picture, DrawPictureMotionParams & draw_params, const MvArray & mv, int mv_scale) : - DrawOverlay(frame, draw_params), + DrawOverlay(picture, draw_params), m_mv_scale(mv_scale), m_blocks_per_arrow_y(0), m_blocks_per_arrow_x(0), @@ -56,17 +57,17 @@ // manages drawing of arrows, dependent on size of motion vector block void DrawMotionArrows::DrawBlock(int j, int i) { - // no chroma in frame + // no chroma in picture for (int y=j*m_draw_params.MvUVBlockY(); y<(j+1)*m_draw_params.MvUVBlockY(); ++y) { - if (y >= m_frame.Udata().LengthY() || y >= m_frame.Vdata().LengthY()) + if (y >= m_picture.Data(U_COMP).LengthY() || y >= m_picture.Data(V_COMP).LengthY()) break; for (int x=i*m_draw_params.MvUVBlockX(); x<(i+1)*m_draw_params.MvUVBlockX(); ++x) { - if (x >= m_frame.Udata().LengthX() || x >= m_frame.Vdata().LengthX()) + if (x >= m_picture.Data(U_COMP).LengthX() || x >= m_picture.Data(V_COMP).LengthX()) break; - m_frame.Udata()[y][x] = 0; - m_frame.Vdata()[y][x] = 0; + m_picture.Data(U_COMP)[y][x] = 0; + m_picture.Data(V_COMP)[y][x] = 0; } } @@ -100,8 +101,8 @@ // draw arrow if this block is TL corner of arrow if ( (j == 0 || (j % m_blocks_per_arrow_y) == 0) && ((i == 0 || (i % m_blocks_per_arrow_x) == 0 )) && - (j*m_draw_params.MvYBlockY()+offset_y+15 <= m_frame.Ydata().LengthY()) && - (i*m_draw_params.MvYBlockX()+offset_x+15 <= m_frame.Ydata().LengthX()) ) + (j*m_draw_params.MvYBlockY()+offset_y+15 <= m_picture.Data(Y_COMP).LengthY()) && + (i*m_draw_params.MvYBlockX()+offset_x+15 <= m_picture.Data(Y_COMP).LengthX()) ) { DrawArrow(j, i, (j*m_draw_params.MvYBlockY())+offset_y, (i*m_draw_params.MvYBlockX())+offset_x); } @@ -196,7 +197,7 @@ { for (int xpx=0; xpx<16; ++xpx) { - m_frame.Ydata()[(y_pos)+ypx][(x_pos) + xpx] += m_symbols.Arrow()[ypx][15-xpx] * 256; + m_picture.Data(Y_COMP)[(y_pos)+ypx][(x_pos) + xpx] += m_symbols.Arrow()[ypx][15-xpx] * 256; }// xpx }// ypx } @@ -206,7 +207,7 @@ { for (int xpx=0; xpx<16; ++xpx) { - m_frame.Ydata()[(y_pos) + ypx][(x_pos) + xpx] += m_symbols.Arrow()[15-ypx][xpx] * 256; + m_picture.Data(Y_COMP)[(y_pos) + ypx][(x_pos) + xpx] += m_symbols.Arrow()[15-ypx][xpx] * 256; }// xpx }// ypx } @@ -216,7 +217,7 @@ { for (int xpx=0; xpx<16; ++xpx) { - m_frame.Ydata()[(y_pos) + ypx][(x_pos) + xpx] += m_symbols.Arrow()[15-ypx][15-xpx] * 256; + m_picture.Data(Y_COMP)[(y_pos) + ypx][(x_pos) + xpx] += m_symbols.Arrow()[15-ypx][15-xpx] * 256; }// xpx }// ypx } @@ -226,7 +227,7 @@ { for (int xpx=0; xpx<16; ++xpx) { - m_frame.Ydata()[(y_pos) + ypx][(x_pos) + xpx] += m_symbols.Arrow()[ypx][xpx] * 256; + m_picture.Data(Y_COMP)[(y_pos) + ypx][(x_pos) + xpx] += m_symbols.Arrow()[ypx][xpx] * 256; }// xpx }// ypx } diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/instrumentation/libdirac_instrument/motion_arrows.h /tmp/1tgnNoYBLI/dirac-1.0.2/util/instrumentation/libdirac_instrument/motion_arrows.h --- dirac-0.9.1/util/instrumentation/libdirac_instrument/motion_arrows.h 2004-11-22 13:42:33.000000000 +0000 +++ dirac-1.0.2/util/instrumentation/libdirac_instrument/motion_arrows.h 2008-01-31 11:25:20.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: motion_arrows.h,v 1.3 2004/11/22 13:42:33 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: motion_arrows.h,v 1.4 2008/01/31 11:25:20 tjdwave Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -56,7 +56,7 @@ /* Calls DrawOverlay constructor */ - DrawMotionArrows(Frame &, DrawFrameMotionParams &, const MvArray &, int); + DrawMotionArrows(Picture &, DrawPictureMotionParams &, const MvArray &, int); //! Destructor ~DrawMotionArrows(); diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/instrumentation/libdirac_instrument/motion_colour_arrows.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/instrumentation/libdirac_instrument/motion_colour_arrows.cpp --- dirac-0.9.1/util/instrumentation/libdirac_instrument/motion_colour_arrows.cpp 2007-08-31 14:10:47.000000000 +0100 +++ dirac-1.0.2/util/instrumentation/libdirac_instrument/motion_colour_arrows.cpp 2008-06-19 11:39:59.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: motion_colour_arrows.cpp,v 1.5 2007/08/31 13:10:47 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: motion_colour_arrows.cpp,v 1.7 2008/06/19 10:39:59 tjdwave Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -37,12 +37,13 @@ #include using namespace dirac_instr; +using namespace dirac; // constructor -DrawMotionColourArrows::DrawMotionColourArrows(Frame & frame, DrawFrameMotionParams & draw_params, +DrawMotionColourArrows::DrawMotionColourArrows(Picture & picture, DrawPictureMotionParams & draw_params, const MvArray & mv, int mv_scale, int mv_clip) : - DrawMotionArrows(frame, draw_params, mv, mv_scale), + DrawMotionArrows(picture, draw_params, mv, mv_scale), m_mv_clip(mv_clip) {} @@ -83,8 +84,8 @@ // draw arrow if this block is TL corner of arrow if ( (j == 0 || (j % m_blocks_per_arrow_y) == 0) && ((i == 0 || (i % m_blocks_per_arrow_x) == 0 )) && - (j*m_draw_params.MvYBlockY()+offset_y+15 <= m_frame.Ydata().LengthY()) && - (i*m_draw_params.MvYBlockX()+offset_x+15 <= m_frame.Ydata().LengthX()) ) + (j*m_draw_params.MvYBlockY()+offset_y+15 <= m_picture.Data(Y_COMP).LengthY()) && + (i*m_draw_params.MvYBlockX()+offset_x+15 <= m_picture.Data(Y_COMP).LengthX()) ) { DrawArrow(j, i, (j*m_draw_params.MvYBlockY())+offset_y, (i*m_draw_params.MvYBlockX())+offset_x); diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/instrumentation/libdirac_instrument/motion_colour_arrows.h /tmp/1tgnNoYBLI/dirac-1.0.2/util/instrumentation/libdirac_instrument/motion_colour_arrows.h --- dirac-0.9.1/util/instrumentation/libdirac_instrument/motion_colour_arrows.h 2004-11-22 13:42:33.000000000 +0000 +++ dirac-1.0.2/util/instrumentation/libdirac_instrument/motion_colour_arrows.h 2008-01-31 11:25:20.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: motion_colour_arrows.h,v 1.2 2004/11/22 13:42:33 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: motion_colour_arrows.h,v 1.3 2008/01/31 11:25:20 tjdwave Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -55,7 +55,7 @@ /* Calls DrawMotionArrows constructor */ - DrawMotionColourArrows(Frame &, DrawFrameMotionParams &, const MvArray &, int, int); + DrawMotionColourArrows(Picture &, DrawPictureMotionParams &, const MvArray &, int, int); //! Destructor ~DrawMotionColourArrows(); diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/instrumentation/libdirac_instrument/motion_colour.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/instrumentation/libdirac_instrument/motion_colour.cpp --- dirac-0.9.1/util/instrumentation/libdirac_instrument/motion_colour.cpp 2007-08-31 14:10:47.000000000 +0100 +++ dirac-1.0.2/util/instrumentation/libdirac_instrument/motion_colour.cpp 2008-06-19 11:39:59.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: motion_colour.cpp,v 1.5 2007/08/31 13:10:47 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: motion_colour.cpp,v 1.7 2008/06/19 10:39:59 tjdwave Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -37,12 +37,13 @@ #include using namespace dirac_instr; +using namespace dirac; // constructor -DrawMotionColour::DrawMotionColour(Frame & frame, DrawFrameMotionParams & draw_params, const MvArray & mv, +DrawMotionColour::DrawMotionColour(Picture & picture, DrawPictureMotionParams & draw_params, const MvArray & mv, int mv_scale, int mv_clip) : - DrawOverlay(frame, draw_params), + DrawOverlay(picture, draw_params), m_mv_scale(mv_scale), m_mv_clip(mv_clip), m_mv(mv) @@ -69,11 +70,11 @@ // white background for (int xpx=1; xpx<40; ++xpx) { - m_frame.Ydata()[ypx][xpx]=0; + m_picture.Data(Y_COMP)[ypx][xpx]=0; } // crosshair vertical line - m_frame.Ydata()[ypx][21]=88-128; + m_picture.Data(Y_COMP)[ypx][21]=88-128; } // colour in the rectangle @@ -83,29 +84,29 @@ { for (int xpx=40/m_draw_params.ChromaFactorX(), x=20; xpx>=0; --xpx, x-=m_draw_params.ChromaFactorX()) { - m_frame.Udata()[ypx][xpx]=(x*25)-128; - m_frame.Vdata()[ypx][xpx]=(y*25)-128; + m_picture.Data(U_COMP)[ypx][xpx]=(x*25)-128; + m_picture.Data(V_COMP)[ypx][xpx]=(y*25)-128; } } // crosshair horizontal linem_ for (int xpx=0; xpx<40; ++xpx) { - m_frame.Ydata()[y_start+16][xpx]=88-128; + m_picture.Data(Y_COMP)[y_start+16][xpx]=88-128; } // vertical black line for (int ypx=y_start+1; ypx<=y_start+30; ++ypx) { - m_frame.Ydata()[ypx][41]=-128; - m_frame.Ydata()[ypx][0]=-128; + m_picture.Data(Y_COMP)[ypx][41]=-128; + m_picture.Data(Y_COMP)[ypx][0]=-128; } // horizontal black line for (int xpx=0; xpx<=41; ++xpx) { - m_frame.Ydata()[y_start][xpx]=0; - m_frame.Ydata()[m_frame.Ydata().LastY()][xpx]=0; + m_picture.Data(Y_COMP)[y_start][xpx]=0; + m_picture.Data(Y_COMP)[m_picture.Data(Y_COMP).LastY()][xpx]=0; } // display the clip value diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/instrumentation/libdirac_instrument/motion_colour.h /tmp/1tgnNoYBLI/dirac-1.0.2/util/instrumentation/libdirac_instrument/motion_colour.h --- dirac-0.9.1/util/instrumentation/libdirac_instrument/motion_colour.h 2004-11-22 13:42:33.000000000 +0000 +++ dirac-1.0.2/util/instrumentation/libdirac_instrument/motion_colour.h 2008-01-31 11:25:20.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: motion_colour.h,v 1.2 2004/11/22 13:42:33 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: motion_colour.h,v 1.3 2008/01/31 11:25:20 tjdwave Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -56,7 +56,7 @@ /* Calls DrawOverlay constructor */ - DrawMotionColour(Frame &, DrawFrameMotionParams &, const MvArray &, int, int); + DrawMotionColour(Picture &, DrawPictureMotionParams &, const MvArray &, int, int); //! Destructor ~DrawMotionColour(); diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/instrumentation/libdirac_instrument/overlay.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/instrumentation/libdirac_instrument/overlay.cpp --- dirac-0.9.1/util/instrumentation/libdirac_instrument/overlay.cpp 2007-08-31 14:10:47.000000000 +0100 +++ dirac-1.0.2/util/instrumentation/libdirac_instrument/overlay.cpp 2008-10-01 02:26:48.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: overlay.cpp,v 1.9 2007/08/31 13:10:47 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: overlay.cpp,v 1.13 2008/10/01 01:26:48 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -36,88 +36,94 @@ * ***** END LICENSE BLOCK ***** */ #include + using namespace dirac_instr; -// using namespace dirac; +using namespace dirac; // constructor -Overlay::Overlay (const OverlayParams & overlayparams, Frame & frame) +Overlay::Overlay (const OverlayParams & overlayparams, Picture & picture) : m_oparams(overlayparams), - m_frame(frame) + m_picture(picture) { - CalculateFactors(frame.GetFparams().CFormat()); + CalculateFactors(picture.GetPparams().CFormat()); } // destructor - doesn't do anything! Overlay::~Overlay () {} -// process intra frame -void Overlay::ProcessFrame() +// process intra picture +void Overlay::ProcessPicture() { // if a mid-grey background is selected instead of the original luma, do that if (m_oparams.Background()==0) { - for (int j=0; j<=m_frame.Ydata().LastY(); ++j) + for (int j=0; j<=m_picture.Data(Y_COMP).LastY(); ++j) { - for (int i=0; i<=m_frame.Ydata().LastX(); ++i) - m_frame.Ydata()[j][i]=0; + for (int i=0; i<=m_picture.Data(Y_COMP).LastX(); ++i) + m_picture.Data(Y_COMP)[j][i]=0; } } // set chroma arrays to zero - for (int j=0; jDrawLegend(); - draw_overlay_ptr->DrawFrameNumber(m_frame.GetFparams().FrameNum()); + draw_overlay_ptr->DrawPictureNumber(m_picture.GetPparams().PictureNum()); draw_overlay_ptr->DrawReferenceNumber(m_oparams.Reference(), m_ref); } // otherwise, loop over motion vector blocks and draw as appropriate to overlay @@ -285,10 +291,10 @@ if (m_oparams.Legend()) draw_overlay_ptr->DrawLegend(); - draw_overlay_ptr->DrawFrameNumber(m_frame.GetFparams().FrameNum()); + draw_overlay_ptr->DrawPictureNumber(m_picture.GetPparams().PictureNum()); if (m_oparams.Option() == pred_mode || m_oparams.Option() == split_mode) - draw_overlay_ptr->DrawReferenceNumbers(m_frame.GetFparams().Refs()[0], m_frame.GetFparams().Refs()[1]); + draw_overlay_ptr->DrawReferenceNumbers(m_picture.GetPparams().Refs()[0], m_picture.GetPparams().Refs()[1]); else draw_overlay_ptr->DrawReferenceNumber(m_oparams.Reference(), m_ref); } @@ -321,61 +327,61 @@ } } -// calculate if frame requires padding due to requirement of integer number of macroblocks -void Overlay::PadFrame(const MEData & me_data) +// calculate if picture requires padding due to requirement of integer number of superblocks +void Overlay::PadPicture(const MEData & me_data) { - int frame_x = m_frame.Ydata().LengthX(); - int frame_y = m_frame.Ydata().LengthY(); + int picture_x = m_picture.Data(Y_COMP).LengthX(); + int picture_y = m_picture.Data(Y_COMP).LengthY(); - // copy frame components - PicArray Ydata(m_frame.Ydata()); - PicArray Udata(m_frame.Udata()); - PicArray Vdata(m_frame.Vdata()); + // copy picture components + PicArray Ydata(m_picture.Data(Y_COMP)); + PicArray Udata(m_picture.Data(U_COMP)); + PicArray Vdata(m_picture.Data(V_COMP)); - // if there is not an integer number of macroblocks horizontally, pad until there is - if (m_frame.Ydata().LengthX() % me_data.MBSplit().LengthX() != 0) + // if there is not an integer number of superblocks horizontally, pad until there is + if (m_picture.Data(Y_COMP).LengthX() % me_data.SBSplit().LengthX() != 0) { do { - ++frame_x; + ++picture_x; } - while (frame_x % me_data.MBSplit().LengthX() != 0); + while (picture_x % me_data.SBSplit().LengthX() != 0); } - // if there is not an integer number of macroblocks vertically, pad until there is - if (m_frame.Ydata().LengthX() % me_data.MBSplit().LengthY() != 0) + // if there is not an integer number of superblocks vertically, pad until there is + if (m_picture.Data(Y_COMP).LengthX() % me_data.SBSplit().LengthY() != 0) { do { - ++frame_y; + ++picture_y; } - while (frame_y % me_data.MBSplit().LengthY() != 0); + while (picture_y % me_data.SBSplit().LengthY() != 0); } - // if padding was required in either horizontal or vertical, adjust frame size and reload component data - if (m_frame.Ydata().LengthX() % me_data.MBSplit().LengthX() != 0 || m_frame.Ydata().LengthY() % me_data.MBSplit().LengthY() != 0) + // if padding was required in either horizontal or vertical, adjust picture size and reload component data + if (m_picture.Data(Y_COMP).LengthX() % me_data.SBSplit().LengthX() != 0 || m_picture.Data(Y_COMP).LengthY() % me_data.SBSplit().LengthY() != 0) { - m_frame.Ydata().Resize(frame_y, frame_x); - m_frame.Udata().Resize(frame_y / m_draw_params.ChromaFactorY(), frame_x / m_draw_params.ChromaFactorX()); - m_frame.Vdata().Resize(frame_y / m_draw_params.ChromaFactorY(), frame_x / m_draw_params.ChromaFactorX()); + m_picture.Data(Y_COMP).Resize(picture_y, picture_x); + m_picture.Data(U_COMP).Resize(picture_y / m_draw_params.ChromaFactorY(), picture_x / m_draw_params.ChromaFactorX()); + m_picture.Data(V_COMP).Resize(picture_y / m_draw_params.ChromaFactorY(), picture_x / m_draw_params.ChromaFactorX()); for (int j=0; j #include -#include +#include #include #include #include @@ -80,31 +80,31 @@ //! Get functions... //! Returns instrumentation command line option - const OverlayOption Option() const {return m_option;} + OverlayOption Option() const {return m_option;} //! Returns which reference is to be used - const int Reference() const {return m_ref;} + int Reference() const {return m_ref;} - //! Returns true if input frame background is used, false if grey - const int Background() const {return m_bg;} + //! Returns true if input picture background is used, false if grey + int Background() const {return m_bg;} //! Returns true if colour legend is displayed - const int Legend() const {return m_legend;} + int Legend() const {return m_legend;} //! Returns clip value for motion vectors - const int MvClip() const {return m_mv_clip;} + int MvClip() const {return m_mv_clip;} //! Returns clip value for sad - const int SADClip() const {return m_sad_clip;} + int SADClip() const {return m_sad_clip;} //! Set functions... //! Set type of instrumentation void SetOption(OverlayOption o) {m_option=o;} - //! Set which reference frame is to be used + //! Set which reference picture is to be used void SetReference(int r) {m_ref=r;} - //! Set whether input frame or grey is used as background + //! Set whether input picture or grey is used as background void SetBackground(bool b) {m_bg=b;} //! Set display of colour legend @@ -120,7 +120,7 @@ //! Instrumentation command line option OverlayOption m_option; - //! Reference frame + //! Reference picture int m_ref; //! Background - original luma or mid-grey @@ -141,7 +141,7 @@ { public: //! constructor - Overlay(const OverlayParams &, Frame &); + Overlay(const OverlayParams &, Picture &); //! Destructor ~Overlay(); @@ -152,9 +152,9 @@ // // //////////////////////////////////////////////////////////// - void ProcessFrame(const MEData &, const OLBParams &); + void ProcessPicture(const MEData &, const OLBParams &); - void ProcessFrame(); + void ProcessPicture(); private: @@ -171,14 +171,14 @@ */ void CalculateFactors(const ChromaFormat &); - //! Calculates if frame requires padding + //! Calculates if picture requires padding /* - Frames must have an integer number of macroblocks, more - macroblocks may have been used during encoding and hence the frame + Pictures must have an integer number of macroblocks, more + macroblocks may have been used during encoding and hence the picture must be padded now in order for the correct macroblock (and motion vector block) size to be calculated */ - void PadFrame(const MEData &); + void PadPicture(const MEData &); //! Remove global motion from block motion void GlobalMotionDifference(const MEData &, MvArray &); @@ -192,11 +192,11 @@ //! Overlay parameters const OverlayParams m_oparams; - //! Local reference to frame - Frame & m_frame; + //! Local reference to picture + Picture & m_picture; - //! Parameters for drawing frame overlays - DrawFrameMotionParams m_draw_params; + //! Parameters for drawing picture overlays + DrawPictureMotionParams m_draw_params; }; } // namespace dirac_instr diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/instrumentation/libdirac_instrument/overlay_symbols.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/instrumentation/libdirac_instrument/overlay_symbols.cpp --- dirac-0.9.1/util/instrumentation/libdirac_instrument/overlay_symbols.cpp 2004-11-22 13:42:33.000000000 +0000 +++ dirac-1.0.2/util/instrumentation/libdirac_instrument/overlay_symbols.cpp 2008-05-27 02:29:56.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: overlay_symbols.cpp,v 1.2 2004/11/22 13:42:33 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: overlay_symbols.cpp,v 1.3 2008/05/27 01:29:56 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -38,578 +38,578 @@ #include "overlay_symbols.h" using namespace dirac_instr; -OverlaySymbols::OverlaySymbols() - : +OverlaySymbols::OverlaySymbols() : // initialise arrows - m_arrow_0(16, 16), m_arrow_7_5(16, 16), m_arrow_15(16, 16), m_arrow_22_5(16, 16), m_arrow_30(16, 16), - m_arrow_37_5(16, 16), m_arrow_45(16, 16), m_arrow_52_5(16, 16), m_arrow_60(16, 16), m_arrow_67_5(16, 16), - m_arrow_75(16, 16), m_arrow_82_5(16, 16), m_arrow_90(16, 16), m_arrow_null(16, 16), m_arrow(m_arrow_null), + m_arrow_0(16, 16), m_arrow_7_5(16, 16), m_arrow_15(16, 16), + m_arrow_22_5(16, 16), m_arrow_30(16, 16), m_arrow_37_5(16, 16), + m_arrow_45(16, 16), m_arrow_52_5(16, 16), m_arrow_60(16, 16), + m_arrow_67_5(16, 16), m_arrow_75(16, 16), m_arrow_82_5(16, 16), + m_arrow_90(16, 16), m_arrow_null(16, 16), m_arrow(m_arrow_null), // initialise numbers - m_number_0(16, 8), m_number_1(16, 8), m_number_2(16, 8), m_number_3(16, 8), m_number_4(16, 8), - m_number_5(16, 8), m_number_6(16, 8), m_number_7(16, 8), m_number_8(16, 8), m_number_9(16, 8), + m_number_0(16, 8), m_number_1(16, 8), m_number_2(16, 8), m_number_3(16, 8), + m_number_4(16, 8), m_number_5(16, 8), m_number_6(16, 8), m_number_7(16, 8), + m_number_8(16, 8), m_number_9(16, 8), // initialise sybomls - m_symbol_null(16, 8), m_symbol_plus(16, 8), m_symbol_minus(16, 8), m_symbol_greater(16, 8), - m_symbol_colon(16, 8), + m_symbol_null(16, 8), m_symbol_plus(16, 8), m_symbol_minus(16, 8), + m_symbol_greater(16, 8), m_symbol_colon(16, 8), // initialise letters - m_letter_f(16, 8), m_letter_i(16, 8), m_letter_r(16, 8), + m_letter_f(16, 8), m_letter_i(16, 8), m_letter_r(16, 8), m_character(m_symbol_null) - - { // initialise numbers for (int j=0; j<16; ++j) { for (int i=0; i<8; ++i) { - m_number_0[j][i]=0; - m_number_1[j][i]=0; - m_number_2[j][i]=0; - m_number_3[j][i]=0; - m_number_4[j][i]=0; - m_number_5[j][i]=0; - m_number_6[j][i]=0; - m_number_7[j][i]=0; - m_number_8[j][i]=0; - m_number_9[j][i]=0; - - m_symbol_plus[j][i]=0; - m_symbol_minus[j][i]=0; - m_symbol_greater[j][i]=0; - m_symbol_null[j][i]=0; + m_number_0[j][i]=0; + m_number_1[j][i]=0; + m_number_2[j][i]=0; + m_number_3[j][i]=0; + m_number_4[j][i]=0; + m_number_5[j][i]=0; + m_number_6[j][i]=0; + m_number_7[j][i]=0; + m_number_8[j][i]=0; + m_number_9[j][i]=0; + + m_symbol_plus[j][i]=0; + m_symbol_minus[j][i]=0; + m_symbol_greater[j][i]=0; + m_symbol_null[j][i]=0; m_symbol_colon[j][i]=0; - m_letter_f[j][i]=0; - m_letter_i[j][i]=0; - m_letter_r[j][i]=0; - } - } - - // m_number_0 - for (int j=3; j<13; ++j) { - m_number_0[j][1]=1; - m_number_0[j][5]=1; - } - - m_number_0[2][2]=1; m_number_0[2][3]=1; m_number_0[2][4]=1; - m_number_0[3][2]=1; m_number_0[3][3]=1; m_number_0[3][4]=1; - m_number_0[12][2]=1; m_number_0[12][3]=1; m_number_0[12][4]=1; - m_number_0[13][2]=1; m_number_0[13][3]=1; m_number_0[13][4]=1; - - // m_number_1 - for (int j=2; j<14; ++j) { - m_number_1[j][4]=1; - } - - m_number_1[2][3]=1; - m_number_1[3][2]=1; m_number_1[3][3]=1; - m_number_1[12][3]=1; m_number_1[12][5]=1; - m_number_1[13][2]=1; m_number_1[13][3]=1; m_number_1[13][5]=1; m_number_1[13][6]=1; - - // m_number_2 - for (int j=3; j<8; ++j) { - m_number_2[j][5]=1; - } - for (int j=8; j<13; ++j) { - m_number_2[j][1]=1; - } - - m_number_2[2][2]=1; m_number_2[2][3]=1; m_number_2[2][4]=1; - m_number_2[3][1]=1; m_number_2[3][2]=1; m_number_2[3][3]=1; m_number_2[3][4]=1; - m_number_2[7][2]=1; m_number_2[7][3]=1; m_number_2[7][4]=1; - m_number_2[8][2]=1; m_number_2[8][3]=1; m_number_2[8][4]=1; - m_number_2[12][2]=1; m_number_2[12][3]=1; m_number_2[12][4]=1; m_number_2[12][5]=1; - m_number_2[13][2]=1; m_number_2[13][3]=1; m_number_2[13][4]=1; - - // m_number_3 - for (int j=3; j<13; ++j) { - m_number_3[j][5]=1; - } - - m_number_3[2][2]=1; m_number_3[2][3]=1; m_number_3[2][4]=1; - m_number_3[3][1]=1; m_number_3[3][2]=1; m_number_3[3][3]=1; m_number_3[3][4]=1; - m_number_3[7][2]=1; m_number_3[7][3]=1; m_number_3[7][4]=1; - m_number_3[8][2]=1; m_number_3[8][3]=1; m_number_3[8][4]=1; - m_number_3[12][2]=1; m_number_3[12][3]=1; m_number_3[12][4]=1; m_number_3[12][5]=1; - m_number_3[13][2]=1; m_number_3[13][3]=1; m_number_3[13][4]=1; - - // m_number_4 - for (int j=2; j<9; ++j) { - m_number_4[j][1]=1; - } - for (int j=7; j<14; ++j) { - m_number_4[j][3]=1; - } - - m_number_4[7][2]=1; m_number_4[7][4]=1; m_number_4[7][5]=1; - m_number_4[8][2]=1; m_number_4[8][3]=1; m_number_4[8][5]=1; - - // m_number_5 - for (int j=3; j<8; ++j) { - m_number_5[j][1]=1; - } - for (int j=8; j<13; ++j) { - m_number_5[j][5]=1; - } - - m_number_5[2][2]=1; m_number_5[2][3]=1; m_number_5[2][4]=1; - m_number_5[3][2]=1; m_number_5[3][3]=1; m_number_5[3][4]=1; m_number_5[3][5]=1; - m_number_5[7][2]=1; m_number_5[7][3]=1; m_number_5[7][4]=1; - m_number_5[8][2]=1; m_number_5[8][3]=1; m_number_5[8][4]=1; - m_number_5[12][1]=1; m_number_5[12][2]=1; m_number_5[12][3]=1; m_number_5[12][4]=1; - m_number_5[13][2]=1; m_number_5[13][3]=1; m_number_5[13][4]=1; - - // m_number_6 - for (int j=3; j<13; ++j) { - m_number_6[j][1]=1; - } - for (int j=8; j<13; ++j) { - m_number_6[j][5]=1; - } - - m_number_6[2][2]=1; m_number_6[2][3]=1; m_number_6[2][4]=1; - m_number_6[3][2]=1; m_number_6[3][3]=1; m_number_6[3][4]=1; m_number_6[3][5]=1; - m_number_6[7][2]=1; m_number_6[7][3]=1; m_number_6[7][4]=1; - m_number_6[8][2]=1; m_number_6[8][3]=1; m_number_6[8][4]=1; - m_number_6[12][2]=1; m_number_6[12][3]=1; m_number_6[12][4]=1; - m_number_6[13][2]=1; m_number_6[13][3]=1; m_number_6[13][4]=1; - - // m_number_7 - m_number_7[2][2]=1; m_number_7[2][3]=1; m_number_7[2][4]=1; - m_number_7[3][1]=1; m_number_7[3][2]=1; m_number_7[3][3]=1; m_number_7[3][4]=1; m_number_7[3][5]=1; - m_number_7[4][5]=1; - m_number_7[5][5]=1; - m_number_7[6][5]=1; - m_number_7[7][4]=1; - m_number_7[8][4]=1; - m_number_7[9][3]=1; - m_number_7[10][3]=1; - m_number_7[11][2]=1; - m_number_7[12][2]=1; - m_number_7[13][2]=1; - - // m_number_8 - for (int j=3; j<7; ++j) { - m_number_8[j][1]=1; - m_number_8[j][5]=1; - } - for (int j=9; j<13; ++j) { - m_number_8[j][1]=1; - m_number_8[j][5]=1; - } - - m_number_8[2][2]=1; m_number_8[2][3]=1; m_number_8[2][4]=1; - m_number_8[3][2]=1; m_number_8[3][3]=1; m_number_8[3][4]=1; - m_number_8[7][2]=1; m_number_8[7][3]=1; m_number_8[7][4]=1; - m_number_8[8][2]=1; m_number_8[8][3]=1; m_number_8[8][4]=1; - m_number_8[12][2]=1; m_number_8[12][3]=1; m_number_8[12][4]=1; - m_number_8[13][2]=1; m_number_8[13][3]=1; m_number_8[13][4]=1; - - // m_number_9 - for (int j=3; j<8; ++j) { - m_number_9[j][1]=1; - } - for (int j=3; j<14; ++j) { - m_number_9[j][5]=1; - } - - m_number_9[2][2]=1; m_number_9[2][3]=1; m_number_9[2][4]=1; - m_number_9[3][2]=1; m_number_9[3][3]=1; m_number_9[3][4]=1; m_number_9[3][5]=1; - m_number_9[7][2]=1; m_number_9[7][3]=1; m_number_9[7][4]=1; - m_number_9[8][2]=1; m_number_9[8][3]=1; m_number_9[8][4]=1; - - // m_symbol_Plus - for (int j=6; j<11; ++j) { - m_symbol_plus[j][4]=1; - } - for (int i=2; i<6; ++i) { - m_symbol_plus[8][i]=1; - } - - // m_symbol_Minus - for (int i=2; i<6; ++i) { - m_symbol_minus[8][i]=1; - } - - // m_symbol_greater - m_symbol_greater[4][1]=1; - m_symbol_greater[5][2]=1; m_symbol_greater[5][3]=1; - m_symbol_greater[6][4]=1; m_symbol_greater[6][5]=1; - m_symbol_greater[7][6]=1; - m_symbol_greater[8][4]=1; m_symbol_greater[8][5]=1; - m_symbol_greater[9][2]=1; m_symbol_greater[9][3]=1; - m_symbol_greater[10][1]=1; + m_letter_f[j][i]=0; + m_letter_i[j][i]=0; + m_letter_r[j][i]=0; + } + } + + // m_number_0 + for (int j=3; j<13; ++j) { + m_number_0[j][1]=1; + m_number_0[j][5]=1; + } + + m_number_0[2][2]=1; m_number_0[2][3]=1; m_number_0[2][4]=1; + m_number_0[3][2]=1; m_number_0[3][3]=1; m_number_0[3][4]=1; + m_number_0[12][2]=1; m_number_0[12][3]=1; m_number_0[12][4]=1; + m_number_0[13][2]=1; m_number_0[13][3]=1; m_number_0[13][4]=1; + + // m_number_1 + for (int j=2; j<14; ++j) { + m_number_1[j][4]=1; + } + + m_number_1[2][3]=1; + m_number_1[3][2]=1; m_number_1[3][3]=1; + m_number_1[12][3]=1; m_number_1[12][5]=1; + m_number_1[13][2]=1; m_number_1[13][3]=1; m_number_1[13][5]=1; m_number_1[13][6]=1; + + // m_number_2 + for (int j=3; j<8; ++j) { + m_number_2[j][5]=1; + } + for (int j=8; j<13; ++j) { + m_number_2[j][1]=1; + } + + m_number_2[2][2]=1; m_number_2[2][3]=1; m_number_2[2][4]=1; + m_number_2[3][1]=1; m_number_2[3][2]=1; m_number_2[3][3]=1; m_number_2[3][4]=1; + m_number_2[7][2]=1; m_number_2[7][3]=1; m_number_2[7][4]=1; + m_number_2[8][2]=1; m_number_2[8][3]=1; m_number_2[8][4]=1; + m_number_2[12][2]=1; m_number_2[12][3]=1; m_number_2[12][4]=1; m_number_2[12][5]=1; + m_number_2[13][2]=1; m_number_2[13][3]=1; m_number_2[13][4]=1; + + // m_number_3 + for (int j=3; j<13; ++j) { + m_number_3[j][5]=1; + } + + m_number_3[2][2]=1; m_number_3[2][3]=1; m_number_3[2][4]=1; + m_number_3[3][1]=1; m_number_3[3][2]=1; m_number_3[3][3]=1; m_number_3[3][4]=1; + m_number_3[7][2]=1; m_number_3[7][3]=1; m_number_3[7][4]=1; + m_number_3[8][2]=1; m_number_3[8][3]=1; m_number_3[8][4]=1; + m_number_3[12][2]=1; m_number_3[12][3]=1; m_number_3[12][4]=1; m_number_3[12][5]=1; + m_number_3[13][2]=1; m_number_3[13][3]=1; m_number_3[13][4]=1; + + // m_number_4 + for (int j=2; j<9; ++j) { + m_number_4[j][1]=1; + } + for (int j=7; j<14; ++j) { + m_number_4[j][3]=1; + } + + m_number_4[7][2]=1; m_number_4[7][4]=1; m_number_4[7][5]=1; + m_number_4[8][2]=1; m_number_4[8][3]=1; m_number_4[8][5]=1; + + // m_number_5 + for (int j=3; j<8; ++j) { + m_number_5[j][1]=1; + } + for (int j=8; j<13; ++j) { + m_number_5[j][5]=1; + } + + m_number_5[2][2]=1; m_number_5[2][3]=1; m_number_5[2][4]=1; + m_number_5[3][2]=1; m_number_5[3][3]=1; m_number_5[3][4]=1; m_number_5[3][5]=1; + m_number_5[7][2]=1; m_number_5[7][3]=1; m_number_5[7][4]=1; + m_number_5[8][2]=1; m_number_5[8][3]=1; m_number_5[8][4]=1; + m_number_5[12][1]=1; m_number_5[12][2]=1; m_number_5[12][3]=1; m_number_5[12][4]=1; + m_number_5[13][2]=1; m_number_5[13][3]=1; m_number_5[13][4]=1; + + // m_number_6 + for (int j=3; j<13; ++j) { + m_number_6[j][1]=1; + } + for (int j=8; j<13; ++j) { + m_number_6[j][5]=1; + } + + m_number_6[2][2]=1; m_number_6[2][3]=1; m_number_6[2][4]=1; + m_number_6[3][2]=1; m_number_6[3][3]=1; m_number_6[3][4]=1; m_number_6[3][5]=1; + m_number_6[7][2]=1; m_number_6[7][3]=1; m_number_6[7][4]=1; + m_number_6[8][2]=1; m_number_6[8][3]=1; m_number_6[8][4]=1; + m_number_6[12][2]=1; m_number_6[12][3]=1; m_number_6[12][4]=1; + m_number_6[13][2]=1; m_number_6[13][3]=1; m_number_6[13][4]=1; + + // m_number_7 + m_number_7[2][2]=1; m_number_7[2][3]=1; m_number_7[2][4]=1; + m_number_7[3][1]=1; m_number_7[3][2]=1; m_number_7[3][3]=1; m_number_7[3][4]=1; m_number_7[3][5]=1; + m_number_7[4][5]=1; + m_number_7[5][5]=1; + m_number_7[6][5]=1; + m_number_7[7][4]=1; + m_number_7[8][4]=1; + m_number_7[9][3]=1; + m_number_7[10][3]=1; + m_number_7[11][2]=1; + m_number_7[12][2]=1; + m_number_7[13][2]=1; + + // m_number_8 + for (int j=3; j<7; ++j) { + m_number_8[j][1]=1; + m_number_8[j][5]=1; + } + for (int j=9; j<13; ++j) { + m_number_8[j][1]=1; + m_number_8[j][5]=1; + } + + m_number_8[2][2]=1; m_number_8[2][3]=1; m_number_8[2][4]=1; + m_number_8[3][2]=1; m_number_8[3][3]=1; m_number_8[3][4]=1; + m_number_8[7][2]=1; m_number_8[7][3]=1; m_number_8[7][4]=1; + m_number_8[8][2]=1; m_number_8[8][3]=1; m_number_8[8][4]=1; + m_number_8[12][2]=1; m_number_8[12][3]=1; m_number_8[12][4]=1; + m_number_8[13][2]=1; m_number_8[13][3]=1; m_number_8[13][4]=1; + + // m_number_9 + for (int j=3; j<8; ++j) { + m_number_9[j][1]=1; + } + for (int j=3; j<14; ++j) { + m_number_9[j][5]=1; + } + + m_number_9[2][2]=1; m_number_9[2][3]=1; m_number_9[2][4]=1; + m_number_9[3][2]=1; m_number_9[3][3]=1; m_number_9[3][4]=1; m_number_9[3][5]=1; + m_number_9[7][2]=1; m_number_9[7][3]=1; m_number_9[7][4]=1; + m_number_9[8][2]=1; m_number_9[8][3]=1; m_number_9[8][4]=1; + + // m_symbol_Plus + for (int j=6; j<11; ++j) { + m_symbol_plus[j][4]=1; + } + for (int i=2; i<6; ++i) { + m_symbol_plus[8][i]=1; + } + + // m_symbol_Minus + for (int i=2; i<6; ++i) { + m_symbol_minus[8][i]=1; + } + + // m_symbol_greater + m_symbol_greater[4][1]=1; + m_symbol_greater[5][2]=1; m_symbol_greater[5][3]=1; + m_symbol_greater[6][4]=1; m_symbol_greater[6][5]=1; + m_symbol_greater[7][6]=1; + m_symbol_greater[8][4]=1; m_symbol_greater[8][5]=1; + m_symbol_greater[9][2]=1; m_symbol_greater[9][3]=1; + m_symbol_greater[10][1]=1; // m_symbol_colon - m_symbol_colon[6][2]=1; m_symbol_colon[6][3]=1; - m_symbol_colon[7][2]=1; m_symbol_colon[7][3]=1; - m_symbol_colon[12][2]=1; m_symbol_colon[12][3]=1; - m_symbol_colon[13][2]=1; m_symbol_colon[13][3]=1; + m_symbol_colon[6][2]=1; m_symbol_colon[6][3]=1; + m_symbol_colon[7][2]=1; m_symbol_colon[7][3]=1; + m_symbol_colon[12][2]=1; m_symbol_colon[12][3]=1; + m_symbol_colon[13][2]=1; m_symbol_colon[13][3]=1; - // m_letter_I - for (int j=2; j<14; ++j) { - m_letter_i[j][3]=1; - } - - m_letter_i[2][1]=1; m_letter_i[2][2]=1; m_letter_i[2][4]=1; m_letter_i[2][5]=1; - m_letter_i[13][1]=1; m_letter_i[13][2]=1; m_letter_i[13][4]=1; m_letter_i[13][5]=1; - - // m_letter_r - for (int j=2; j<14; ++j) { - m_letter_r[j][1]=1; - } - for (int j=3; j<7; ++j) { - m_letter_r[j][5]=1; - } - for (int i=2; i<5; ++i) { - m_letter_r[2][i]=1; - m_letter_r[7][i]=1; - } - m_letter_r[8][4]=1; m_letter_r[9][4]=1; - m_letter_r[10][5]=1; m_letter_r[11][5]=1; - m_letter_r[12][6]=1; m_letter_r[13][6]=1; - - // m_letter_f - for (int j=2; j<14; ++j) { - m_letter_f[j][1]=1; - } - for (int i=2; i<5; ++i) { - m_letter_f[2][i]=1; - m_letter_f[7][i]=1; - } - m_letter_f[2][5]=1; - - // ***** Luminance arrows ***** - for (int j=0; j<16; ++j) { - for (int i=0; i<16; ++i) { - m_arrow_0[j][i]=0; - m_arrow_7_5[j][i]=0; - m_arrow_15[j][i]=0; - m_arrow_22_5[j][i]=0; - m_arrow_30[j][i]=0; - m_arrow_37_5[j][i]=0; - m_arrow_45[j][i]=0; - - m_arrow_52_5[j][i]=0; - m_arrow_60[j][i]=0; - m_arrow_67_5[j][i]=0; - m_arrow_75[j][i]=0; - m_arrow_82_5[j][i]=0; - m_arrow_90[j][i]=0; - - m_arrow_null[j][i]=0; - } - } - - // m_arrow_0 - for (int j=2; j<14; ++j) { - m_arrow_0[j][7]=1; - m_arrow_0[j][8]=1; - } - for (int j=4; j<8; ++j) { - m_arrow_0[j][6]=1; - m_arrow_0[j][9]=1; - } - for (int j=6; j<8; ++j) { - m_arrow_0[j][5]=1; - m_arrow_0[j][10]=1; - } - - // m_arrow_7_5 - for (int j=2; j<7; ++j) { - m_arrow_7_5[j][8]=1; - m_arrow_7_5[j][9]=1; - } - for (int j=4; j<14; ++j) { - m_arrow_7_5[j][7]=1; - } - m_arrow_7_5[5][6]=1; - m_arrow_7_5[5][10]=1; - m_arrow_7_5[6][6]=1; - m_arrow_7_5[6][10]=1; - m_arrow_7_5[7][8]=1; - m_arrow_7_5[8][8]=1; - m_arrow_7_5[9][8]=1; - m_arrow_7_5[10][6]=1; - m_arrow_7_5[11][6]=1; - m_arrow_7_5[12][6]=1; - m_arrow_7_5[13][6]=1; - - // m_arrow_15 - for (int j=2; j<6; ++j) { - m_arrow_15[j][9]=1; - m_arrow_15[j][10]=1; - } - for (int j=6; j<8; ++j) { - m_arrow_15[j][8]=1; - m_arrow_15[j][9]=1; - } - for (int j=8; j<11; ++j) { - m_arrow_15[j][7]=1; - m_arrow_15[j][8]=1; - } - for (int j=11; j<14; ++j) { - m_arrow_15[j][6]=1; - m_arrow_15[j][7]=1; - } - m_arrow_15[4][8]=1; - m_arrow_15[5][8]=1; - m_arrow_15[5][7]=1; - m_arrow_15[5][11]=1; - - // m_arrow_22_5 - for (int j=2; j<6; ++j) { - m_arrow_22_5[j][10]=1; - m_arrow_22_5[j][11]=1; - } - for (int j=3; j<8; ++j) { - m_arrow_22_5[j][8]=1; - m_arrow_22_5[j][9]=1; - } - m_arrow_22_5[5][8]=0; - - for (int j=8; j<10; ++j) { - m_arrow_22_5[j][7]=1; - m_arrow_22_5[j][8]=1; - } - for (int j=10; j<12; ++j) { - m_arrow_22_5[j][6]=1; - m_arrow_22_5[j][7]=1; - } - for (int j=12; j<14; ++j) { - m_arrow_22_5[j][5]=1; - m_arrow_22_5[j][6]=1; - } - m_arrow_22_5[5][12]=1; - - // m_arrow_30 - for (int j=3; j<6; ++j) { - m_arrow_30[j][8]=1; - m_arrow_30[j][9]=1; - m_arrow_30[j][10]=1; - } - for (int j=6; j<9; ++j) { - m_arrow_30[j][7]=1; - m_arrow_30[j][8]=1; - } - for (int j=9; j<12; ++j) { - m_arrow_30[j][5]=1; - m_arrow_30[j][6]=1; - } - m_arrow_30[11][4]=1; - m_arrow_30[12][4]=1; - m_arrow_30[12][5]=1; - m_arrow_30[8][6]=1; - m_arrow_30[9][7]=1; - m_arrow_30[2][10]=1; - m_arrow_30[5][11]=1; - m_arrow_30[4][7]=1; - - // m_arrow_37_5 - for (int j=3; j<6; ++j) { - m_arrow_37_5[j][9]=1; - m_arrow_37_5[j][10]=1; - m_arrow_37_5[j][11]=1; - m_arrow_37_5[j][12]=1; - } - for (int j=6; j<8; ++j) { - m_arrow_37_5[j][8]=1; - m_arrow_37_5[j][9]=1; - } - for (int j=8; j<11; ++j) { - m_arrow_37_5[j][6]=1; - m_arrow_37_5[j][7]=1; - } - for (int j=11; j<13; ++j) { - m_arrow_37_5[j][4]=1; - m_arrow_37_5[j][5]=1; - } - m_arrow_37_5[12][3]=1; - m_arrow_37_5[13][3]=1; - m_arrow_37_5[13][4]=1; - m_arrow_37_5[11][6]=1; - m_arrow_37_5[10][5]=1; - m_arrow_37_5[8][8]=1; - m_arrow_37_5[7][7]=1; - m_arrow_37_5[6][12]=1; - m_arrow_37_5[6][10]=1; - m_arrow_37_5[3][8]=1; - m_arrow_37_5[2][10]=1; - m_arrow_37_5[2][11]=1; - - // m_arrow_45 - for (int j=5, i=9; j<13; ++j, --i) { - m_arrow_45[j][i]=1; - m_arrow_45[j+1][i]=1; - m_arrow_45[j+2][i]=1; - } - m_arrow_45[14][2]=1; - m_arrow_45[2][9]=1; - m_arrow_45[6][10]=1; - m_arrow_45[6][13]=1; - - for (int j=2; j<6; ++j) { - for (int i=10; i<14; ++i) { - m_arrow_45[j][i]=1; - } - } - - // m_arrow_52_5 - for (int j=3; j<8; ++j) { - for (int i=10; i<14; ++i) { - m_arrow_52_5[j][i]=1; - } - } - m_arrow_52_5[7][11]=0; - m_arrow_52_5[4][9]=1; - m_arrow_52_5[6][9]=1; - m_arrow_52_5[8][12]=1; - - for (int j=7; j<9; ++j) { - for (int i=7; i<10; ++i) { - m_arrow_52_5[j][i]=1; - } - } - m_arrow_52_5[8][6]=1; - m_arrow_52_5[9][7]=1; - - for (int j=9; j<11; ++j) { - for (int i=4; i<7; ++i) { - m_arrow_52_5[j][i]=1; - } - } - m_arrow_52_5[10][3]=1; - m_arrow_52_5[11][4]=1; - - for (int j=11; j<13; ++j) { - for (int i=2; i<4; ++i) { - m_arrow_52_5[j][i]=1; - } - } - - // m_arrow_60 - for (int j=3; j<6; ++j) { - for (int i=11; i<14; ++i) { - m_arrow_60[j][i]=1; - } - } - for (int j=5; j<7; ++j) { - m_arrow_60[j][10]=1; - m_arrow_60[j][11]=1; - } - for (int j=6; j<8; ++j) { - m_arrow_60[j][8]=1; - m_arrow_60[j][9]=1; - } - for (int j=7; j<9; ++j) { - m_arrow_60[j][7]=1; - m_arrow_60[j][8]=1; - } - for (int j=8; j<10; ++j) { - m_arrow_60[j][5]=1; - m_arrow_60[j][6]=1; - } - for (int j=9; j<11; ++j) { - m_arrow_60[j][4]=1; - m_arrow_60[j][5]=1; - } - for (int j=10; j<12; ++j) { - m_arrow_60[j][2]=1; - m_arrow_60[j][3]=1; - } - m_arrow_60[2][10]=1; - m_arrow_60[6][13]=1; - - // m_arrow_67_5 - for (int j=3; j<6; ++j) { - for (int i=11; i<14; ++i) { - m_arrow_67_5[j][i]=1; - } - } - for (int j=5; j<7; ++j) { - m_arrow_67_5[j][10]=1; - m_arrow_67_5[j][11]=1; - } - for (int j=6; j<8; ++j) { - m_arrow_67_5[j][8]=1; - m_arrow_67_5[j][9]=1; - } - for (int j=7; j<9; ++j) { - m_arrow_67_5[j][6]=1; - m_arrow_67_5[j][7]=1; - } - for (int j=8; j<10; ++j) { - m_arrow_67_5[j][4]=1; - m_arrow_67_5[j][5]=1; - } - for (int j=9; j<11; ++j) { - m_arrow_67_5[j][2]=1; - m_arrow_67_5[j][3]=1; - } - m_arrow_67_5[3][10]=1; - m_arrow_67_5[6][13]=1; - - // m_arrow_75 - for (int j=6; j<9; ++j) { - for (int i=8; i<13; ++i) { - m_arrow_75[j][i]=1; - } - } - m_arrow_75[6][8]=0; - m_arrow_75[8][12]=0; - m_arrow_75[5][9]=1; - m_arrow_75[9][9]=1; - m_arrow_75[10][9]=1; - m_arrow_75[9][10]=1; - m_arrow_75[7][13]=1; - - for (int j=8; j<10; ++j) { - for (int i=5; i<8; ++i) { - m_arrow_75[j][i]=1; - } - } - for (int j=9; j<11; ++j) { - for (int i=2; i<5; ++i) { - m_arrow_75[j][i]=1; - } - } - - // m_arrow_82_5 - for (int j=6; j<8; ++j) { - for (int i=9; i<14; ++i) { - m_arrow_82_5[j][i]=1; - } - } - for (int j=7; j<9; ++j) { - for (int i=6; i<12; ++i) { - m_arrow_82_5[j][i]=1; - } - } - - for (int j=8; j<10; ++j) { - for (int i=2; i<7; ++i) { - m_arrow_82_5[j][i]=1; - } - } - m_arrow_82_5[5][9]=1; - m_arrow_82_5[5][10]=1; - m_arrow_82_5[9][9]=1; - - // m_arrow_90 - for (int i=2; i<14; ++i) { - m_arrow_90[7][i]=1; - m_arrow_90[8][i]=1; - } - for (int i=8; i<12; ++i) { - m_arrow_90[6][i]=1; - m_arrow_90[9][i]=1; - } - for (int i=8; i<10; ++i) { - m_arrow_90[5][i]=1; - m_arrow_90[10][i]=1; - } + // m_letter_I + for (int j=2; j<14; ++j) { + m_letter_i[j][3]=1; + } + + m_letter_i[2][1]=1; m_letter_i[2][2]=1; m_letter_i[2][4]=1; m_letter_i[2][5]=1; + m_letter_i[13][1]=1; m_letter_i[13][2]=1; m_letter_i[13][4]=1; m_letter_i[13][5]=1; + + // m_letter_r + for (int j=2; j<14; ++j) { + m_letter_r[j][1]=1; + } + for (int j=3; j<7; ++j) { + m_letter_r[j][5]=1; + } + for (int i=2; i<5; ++i) { + m_letter_r[2][i]=1; + m_letter_r[7][i]=1; + } + m_letter_r[8][4]=1; m_letter_r[9][4]=1; + m_letter_r[10][5]=1; m_letter_r[11][5]=1; + m_letter_r[12][6]=1; m_letter_r[13][6]=1; + + // m_letter_f + for (int j=2; j<14; ++j) { + m_letter_f[j][1]=1; + } + for (int i=2; i<5; ++i) { + m_letter_f[2][i]=1; + m_letter_f[7][i]=1; + } + m_letter_f[2][5]=1; + + // ***** Luminance arrows ***** + for (int j=0; j<16; ++j) { + for (int i=0; i<16; ++i) { + m_arrow_0[j][i]=0; + m_arrow_7_5[j][i]=0; + m_arrow_15[j][i]=0; + m_arrow_22_5[j][i]=0; + m_arrow_30[j][i]=0; + m_arrow_37_5[j][i]=0; + m_arrow_45[j][i]=0; + + m_arrow_52_5[j][i]=0; + m_arrow_60[j][i]=0; + m_arrow_67_5[j][i]=0; + m_arrow_75[j][i]=0; + m_arrow_82_5[j][i]=0; + m_arrow_90[j][i]=0; + + m_arrow_null[j][i]=0; + } + } + + // m_arrow_0 + for (int j=2; j<14; ++j) { + m_arrow_0[j][7]=1; + m_arrow_0[j][8]=1; + } + for (int j=4; j<8; ++j) { + m_arrow_0[j][6]=1; + m_arrow_0[j][9]=1; + } + for (int j=6; j<8; ++j) { + m_arrow_0[j][5]=1; + m_arrow_0[j][10]=1; + } + + // m_arrow_7_5 + for (int j=2; j<7; ++j) { + m_arrow_7_5[j][8]=1; + m_arrow_7_5[j][9]=1; + } + for (int j=4; j<14; ++j) { + m_arrow_7_5[j][7]=1; + } + m_arrow_7_5[5][6]=1; + m_arrow_7_5[5][10]=1; + m_arrow_7_5[6][6]=1; + m_arrow_7_5[6][10]=1; + m_arrow_7_5[7][8]=1; + m_arrow_7_5[8][8]=1; + m_arrow_7_5[9][8]=1; + m_arrow_7_5[10][6]=1; + m_arrow_7_5[11][6]=1; + m_arrow_7_5[12][6]=1; + m_arrow_7_5[13][6]=1; + + // m_arrow_15 + for (int j=2; j<6; ++j) { + m_arrow_15[j][9]=1; + m_arrow_15[j][10]=1; + } + for (int j=6; j<8; ++j) { + m_arrow_15[j][8]=1; + m_arrow_15[j][9]=1; + } + for (int j=8; j<11; ++j) { + m_arrow_15[j][7]=1; + m_arrow_15[j][8]=1; + } + for (int j=11; j<14; ++j) { + m_arrow_15[j][6]=1; + m_arrow_15[j][7]=1; + } + m_arrow_15[4][8]=1; + m_arrow_15[5][8]=1; + m_arrow_15[5][7]=1; + m_arrow_15[5][11]=1; + + // m_arrow_22_5 + for (int j=2; j<6; ++j) { + m_arrow_22_5[j][10]=1; + m_arrow_22_5[j][11]=1; + } + for (int j=3; j<8; ++j) { + m_arrow_22_5[j][8]=1; + m_arrow_22_5[j][9]=1; + } + m_arrow_22_5[5][8]=0; + + for (int j=8; j<10; ++j) { + m_arrow_22_5[j][7]=1; + m_arrow_22_5[j][8]=1; + } + for (int j=10; j<12; ++j) { + m_arrow_22_5[j][6]=1; + m_arrow_22_5[j][7]=1; + } + for (int j=12; j<14; ++j) { + m_arrow_22_5[j][5]=1; + m_arrow_22_5[j][6]=1; + } + m_arrow_22_5[5][12]=1; + + // m_arrow_30 + for (int j=3; j<6; ++j) { + m_arrow_30[j][8]=1; + m_arrow_30[j][9]=1; + m_arrow_30[j][10]=1; + } + for (int j=6; j<9; ++j) { + m_arrow_30[j][7]=1; + m_arrow_30[j][8]=1; + } + for (int j=9; j<12; ++j) { + m_arrow_30[j][5]=1; + m_arrow_30[j][6]=1; + } + m_arrow_30[11][4]=1; + m_arrow_30[12][4]=1; + m_arrow_30[12][5]=1; + m_arrow_30[8][6]=1; + m_arrow_30[9][7]=1; + m_arrow_30[2][10]=1; + m_arrow_30[5][11]=1; + m_arrow_30[4][7]=1; + + // m_arrow_37_5 + for (int j=3; j<6; ++j) { + m_arrow_37_5[j][9]=1; + m_arrow_37_5[j][10]=1; + m_arrow_37_5[j][11]=1; + m_arrow_37_5[j][12]=1; + } + for (int j=6; j<8; ++j) { + m_arrow_37_5[j][8]=1; + m_arrow_37_5[j][9]=1; + } + for (int j=8; j<11; ++j) { + m_arrow_37_5[j][6]=1; + m_arrow_37_5[j][7]=1; + } + for (int j=11; j<13; ++j) { + m_arrow_37_5[j][4]=1; + m_arrow_37_5[j][5]=1; + } + m_arrow_37_5[12][3]=1; + m_arrow_37_5[13][3]=1; + m_arrow_37_5[13][4]=1; + m_arrow_37_5[11][6]=1; + m_arrow_37_5[10][5]=1; + m_arrow_37_5[8][8]=1; + m_arrow_37_5[7][7]=1; + m_arrow_37_5[6][12]=1; + m_arrow_37_5[6][10]=1; + m_arrow_37_5[3][8]=1; + m_arrow_37_5[2][10]=1; + m_arrow_37_5[2][11]=1; + + // m_arrow_45 + for (int j=5, i=9; j<13; ++j, --i) { + m_arrow_45[j][i]=1; + m_arrow_45[j+1][i]=1; + m_arrow_45[j+2][i]=1; + } + m_arrow_45[14][2]=1; + m_arrow_45[2][9]=1; + m_arrow_45[6][10]=1; + m_arrow_45[6][13]=1; + + for (int j=2; j<6; ++j) { + for (int i=10; i<14; ++i) { + m_arrow_45[j][i]=1; + } + } + + // m_arrow_52_5 + for (int j=3; j<8; ++j) { + for (int i=10; i<14; ++i) { + m_arrow_52_5[j][i]=1; + } + } + m_arrow_52_5[7][11]=0; + m_arrow_52_5[4][9]=1; + m_arrow_52_5[6][9]=1; + m_arrow_52_5[8][12]=1; + + for (int j=7; j<9; ++j) { + for (int i=7; i<10; ++i) { + m_arrow_52_5[j][i]=1; + } + } + m_arrow_52_5[8][6]=1; + m_arrow_52_5[9][7]=1; + + for (int j=9; j<11; ++j) { + for (int i=4; i<7; ++i) { + m_arrow_52_5[j][i]=1; + } + } + m_arrow_52_5[10][3]=1; + m_arrow_52_5[11][4]=1; + + for (int j=11; j<13; ++j) { + for (int i=2; i<4; ++i) { + m_arrow_52_5[j][i]=1; + } + } + + // m_arrow_60 + for (int j=3; j<6; ++j) { + for (int i=11; i<14; ++i) { + m_arrow_60[j][i]=1; + } + } + for (int j=5; j<7; ++j) { + m_arrow_60[j][10]=1; + m_arrow_60[j][11]=1; + } + for (int j=6; j<8; ++j) { + m_arrow_60[j][8]=1; + m_arrow_60[j][9]=1; + } + for (int j=7; j<9; ++j) { + m_arrow_60[j][7]=1; + m_arrow_60[j][8]=1; + } + for (int j=8; j<10; ++j) { + m_arrow_60[j][5]=1; + m_arrow_60[j][6]=1; + } + for (int j=9; j<11; ++j) { + m_arrow_60[j][4]=1; + m_arrow_60[j][5]=1; + } + for (int j=10; j<12; ++j) { + m_arrow_60[j][2]=1; + m_arrow_60[j][3]=1; + } + m_arrow_60[2][10]=1; + m_arrow_60[6][13]=1; + + // m_arrow_67_5 + for (int j=3; j<6; ++j) { + for (int i=11; i<14; ++i) { + m_arrow_67_5[j][i]=1; + } + } + for (int j=5; j<7; ++j) { + m_arrow_67_5[j][10]=1; + m_arrow_67_5[j][11]=1; + } + for (int j=6; j<8; ++j) { + m_arrow_67_5[j][8]=1; + m_arrow_67_5[j][9]=1; + } + for (int j=7; j<9; ++j) { + m_arrow_67_5[j][6]=1; + m_arrow_67_5[j][7]=1; + } + for (int j=8; j<10; ++j) { + m_arrow_67_5[j][4]=1; + m_arrow_67_5[j][5]=1; + } + for (int j=9; j<11; ++j) { + m_arrow_67_5[j][2]=1; + m_arrow_67_5[j][3]=1; + } + m_arrow_67_5[3][10]=1; + m_arrow_67_5[6][13]=1; + + // m_arrow_75 + for (int j=6; j<9; ++j) { + for (int i=8; i<13; ++i) { + m_arrow_75[j][i]=1; + } + } + m_arrow_75[6][8]=0; + m_arrow_75[8][12]=0; + m_arrow_75[5][9]=1; + m_arrow_75[9][9]=1; + m_arrow_75[10][9]=1; + m_arrow_75[9][10]=1; + m_arrow_75[7][13]=1; + + for (int j=8; j<10; ++j) { + for (int i=5; i<8; ++i) { + m_arrow_75[j][i]=1; + } + } + for (int j=9; j<11; ++j) { + for (int i=2; i<5; ++i) { + m_arrow_75[j][i]=1; + } + } + + // m_arrow_82_5 + for (int j=6; j<8; ++j) { + for (int i=9; i<14; ++i) { + m_arrow_82_5[j][i]=1; + } + } + for (int j=7; j<9; ++j) { + for (int i=6; i<12; ++i) { + m_arrow_82_5[j][i]=1; + } + } + + for (int j=8; j<10; ++j) { + for (int i=2; i<7; ++i) { + m_arrow_82_5[j][i]=1; + } + } + m_arrow_82_5[5][9]=1; + m_arrow_82_5[5][10]=1; + m_arrow_82_5[9][9]=1; + + // m_arrow_90 + for (int i=2; i<14; ++i) { + m_arrow_90[7][i]=1; + m_arrow_90[8][i]=1; + } + for (int i=8; i<12; ++i) { + m_arrow_90[6][i]=1; + m_arrow_90[9][i]=1; + } + for (int i=8; i<10; ++i) { + m_arrow_90[5][i]=1; + m_arrow_90[10][i]=1; + } } diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/instrumentation/libdirac_instrument/overlay_symbols.h /tmp/1tgnNoYBLI/dirac-1.0.2/util/instrumentation/libdirac_instrument/overlay_symbols.h --- dirac-0.9.1/util/instrumentation/libdirac_instrument/overlay_symbols.h 2004-11-22 13:42:33.000000000 +0000 +++ dirac-1.0.2/util/instrumentation/libdirac_instrument/overlay_symbols.h 2004-11-22 13:42:33.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: overlay_symbols.h,v 1.2 2004/11/22 13:42:33 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: overlay_symbols.h,v 1.2 2004/11/22 13:42:33 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/instrumentation/libdirac_instrument/pred_mode.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/instrumentation/libdirac_instrument/pred_mode.cpp --- dirac-0.9.1/util/instrumentation/libdirac_instrument/pred_mode.cpp 2007-08-31 14:10:47.000000000 +0100 +++ dirac-1.0.2/util/instrumentation/libdirac_instrument/pred_mode.cpp 2008-06-19 11:39:59.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: pred_mode.cpp,v 1.5 2007/08/31 13:10:47 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: pred_mode.cpp,v 1.7 2008/06/19 10:39:59 tjdwave Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -37,11 +37,12 @@ #include using namespace dirac_instr; +using namespace dirac; // constructor -DrawPredMode::DrawPredMode(Frame & frame, DrawFrameMotionParams & draw_params, const TwoDArray & mode) +DrawPredMode::DrawPredMode(Picture & picture, DrawPictureMotionParams & draw_params, const TwoDArray & mode) : - DrawOverlay(frame, draw_params), + DrawOverlay(picture, draw_params), m_mode(mode) {} @@ -49,7 +50,7 @@ DrawPredMode::~DrawPredMode() {} -// colours a motion vector block according to prediction frame +// colours a motion vector block according to prediction picture void DrawPredMode::DrawBlock(int j, int i) { int power = 0, U = 0, V = 0; @@ -75,7 +76,7 @@ for (int ypx=m_draw_params.PicY()-65; ypx=0; --xpx) - m_frame.Ydata()[ypx][xpx]=0; + m_picture.Data(Y_COMP)[ypx][xpx]=0; } int U=0, V=0; @@ -99,14 +100,14 @@ // black horizontal lines for (int xpx=15; xpx>=0; --xpx) { - m_frame.Ydata()[m_draw_params.PicY()-65][xpx]=0; - m_frame.Ydata()[m_draw_params.PicY()-49][xpx]=0; - m_frame.Ydata()[m_draw_params.PicY()-33][xpx]=0; + m_picture.Data(Y_COMP)[m_draw_params.PicY()-65][xpx]=0; + m_picture.Data(Y_COMP)[m_draw_params.PicY()-49][xpx]=0; + m_picture.Data(Y_COMP)[m_draw_params.PicY()-33][xpx]=0; } for (int xpx=31; xpx>=0; --xpx) { - m_frame.Ydata()[m_frame.Ydata().LastY()-16][xpx]=0; + m_picture.Data(Y_COMP)[m_picture.Data(Y_COMP).LastY()-16][xpx]=0; } // draw labels @@ -119,13 +120,13 @@ // blank background for (int ypx=(m_draw_params.PicY()/m_draw_params.ChromaFactorY())-1-(16/m_draw_params.ChromaFactorY()); - ypx<=m_frame.Udata().LastY(); ++ypx) + ypx<=m_picture.Data(U_COMP).LastY(); ++ypx) { // no chrominance for (int xpx=(32/m_draw_params.MvYBlockX())-1; xpx>=(16/m_draw_params.ChromaFactorX()); --xpx) { - m_frame.Udata()[ypx][xpx]=0; - m_frame.Vdata()[ypx][xpx]=0; + m_picture.Data(U_COMP)[ypx][xpx]=0; + m_picture.Data(V_COMP)[ypx][xpx]=0; } } } diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/instrumentation/libdirac_instrument/pred_mode.h /tmp/1tgnNoYBLI/dirac-1.0.2/util/instrumentation/libdirac_instrument/pred_mode.h --- dirac-0.9.1/util/instrumentation/libdirac_instrument/pred_mode.h 2004-11-22 13:42:33.000000000 +0000 +++ dirac-1.0.2/util/instrumentation/libdirac_instrument/pred_mode.h 2008-01-31 11:25:20.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: pred_mode.h,v 1.2 2004/11/22 13:42:33 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: pred_mode.h,v 1.3 2008/01/31 11:25:20 tjdwave Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -47,7 +47,7 @@ //! Class to carry out overlay of prediction mode /* Sub-clas of DrawOverlay. - Displays which reference frame is used as prediction for block + Displays which reference picture is used as prediction for block */ class DrawPredMode : public DrawOverlay { @@ -57,7 +57,7 @@ /* Calls DrawOverlay constructor */ - DrawPredMode(Frame &, DrawFrameMotionParams &, + DrawPredMode(Picture &, DrawPictureMotionParams &, const TwoDArray &); //! Destructor diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/instrumentation/libdirac_instrument/sad.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/instrumentation/libdirac_instrument/sad.cpp --- dirac-0.9.1/util/instrumentation/libdirac_instrument/sad.cpp 2007-08-31 14:10:47.000000000 +0100 +++ dirac-1.0.2/util/instrumentation/libdirac_instrument/sad.cpp 2008-06-19 11:39:59.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: sad.cpp,v 1.6 2007/08/31 13:10:47 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: sad.cpp,v 1.8 2008/06/19 10:39:59 tjdwave Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -37,12 +37,13 @@ #include using namespace dirac_instr; +using namespace dirac; // constructor -DrawSad::DrawSad(Frame & frame, DrawFrameMotionParams & draw_params, const TwoDArray & cost, const TwoDArray & mode, +DrawSad::DrawSad(Picture & picture, DrawPictureMotionParams & draw_params, const TwoDArray & cost, const TwoDArray & mode, int scale) : - DrawOverlay(frame, draw_params), + DrawOverlay(picture, draw_params), m_scale(scale), m_cost(cost), m_mode(mode) @@ -68,20 +69,20 @@ int xidx = (i*m_draw_params.MvYBlockX()); for (int ypx=0; ypx=m_frame.Ydata().LengthY() || - (xidx+m_draw_params.MvYBlockX()-1)>= m_frame.Ydata().LengthX()) + if ((yidx+ypx)>=m_picture.Data(Y_COMP).LengthY() || + (xidx+m_draw_params.MvYBlockX()-1)>= m_picture.Data(Y_COMP).LengthX()) break; - m_frame.Ydata()[(j*m_draw_params.MvYBlockY())+ypx][(i*m_draw_params.MvYBlockX())] = 250; - m_frame.Ydata()[(j*m_draw_params.MvYBlockY())+ypx][(i*m_draw_params.MvYBlockX())+m_draw_params.MvYBlockX()-1] = 250; + m_picture.Data(Y_COMP)[(j*m_draw_params.MvYBlockY())+ypx][(i*m_draw_params.MvYBlockX())] = 250; + m_picture.Data(Y_COMP)[(j*m_draw_params.MvYBlockY())+ypx][(i*m_draw_params.MvYBlockX())+m_draw_params.MvYBlockX()-1] = 250; }// ypx for (int xpx=0; xpx=m_frame.Ydata().LengthY() || - (xidx+xpx)>= m_frame.Ydata().LengthX()) + if ((yidx+m_draw_params.MvYBlockY()-1)>=m_picture.Data(Y_COMP).LengthY() || + (xidx+xpx)>= m_picture.Data(Y_COMP).LengthX()) break; - m_frame.Ydata()[(j*m_draw_params.MvYBlockY())][(i*m_draw_params.MvYBlockX())+xpx] = 250; - m_frame.Ydata()[(j*m_draw_params.MvYBlockY())+m_draw_params.MvYBlockY()-1][(i*m_draw_params.MvYBlockX())+xpx] = 250; + m_picture.Data(Y_COMP)[(j*m_draw_params.MvYBlockY())][(i*m_draw_params.MvYBlockX())+xpx] = 250; + m_picture.Data(Y_COMP)[(j*m_draw_params.MvYBlockY())+m_draw_params.MvYBlockY()-1][(i*m_draw_params.MvYBlockX())+xpx] = 250; }// xpx } } diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/instrumentation/libdirac_instrument/sad.h /tmp/1tgnNoYBLI/dirac-1.0.2/util/instrumentation/libdirac_instrument/sad.h --- dirac-0.9.1/util/instrumentation/libdirac_instrument/sad.h 2004-11-22 13:42:33.000000000 +0000 +++ dirac-1.0.2/util/instrumentation/libdirac_instrument/sad.h 2008-01-31 11:25:20.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: sad.h,v 1.2 2004/11/22 13:42:33 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: sad.h,v 1.3 2008/01/31 11:25:20 tjdwave Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -56,7 +56,7 @@ /* Calls DrawOverlay constructor */ - DrawSad(Frame &, DrawFrameMotionParams &, const TwoDArray &, const TwoDArray&, int); + DrawSad(Picture &, DrawPictureMotionParams &, const TwoDArray &, const TwoDArray&, int); //! Destructor ~DrawSad(); diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/instrumentation/libdirac_instrument/split_mode.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/instrumentation/libdirac_instrument/split_mode.cpp --- dirac-0.9.1/util/instrumentation/libdirac_instrument/split_mode.cpp 2007-08-31 14:10:47.000000000 +0100 +++ dirac-1.0.2/util/instrumentation/libdirac_instrument/split_mode.cpp 2008-06-19 11:39:59.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: split_mode.cpp,v 1.6 2007/08/31 13:10:47 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: split_mode.cpp,v 1.8 2008/06/19 10:39:59 tjdwave Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -37,11 +37,12 @@ #include using namespace dirac_instr; +using namespace dirac; // constructor -DrawSplitMode::DrawSplitMode(Frame & frame, DrawFrameMotionParams & draw_params, const TwoDArray & mode) +DrawSplitMode::DrawSplitMode(Picture & picture, DrawPictureMotionParams & draw_params, const TwoDArray & mode) : - DrawOverlay(frame, draw_params), + DrawOverlay(picture, draw_params), m_mode(mode) {} @@ -73,7 +74,7 @@ for (int ypx=m_draw_params.PicY()-49; ypx=0; --xpx) - m_frame.Ydata()[ypx][xpx]=0; // grey + m_picture.Data(Y_COMP)[ypx][xpx]=0; // grey } int U=0, V=0; @@ -93,9 +94,9 @@ // black horizontal lines for (int xpx=15; xpx>=0; --xpx) { - m_frame.Ydata()[m_draw_params.PicY()-49][xpx]=-128; - m_frame.Ydata()[m_draw_params.PicY()-33][xpx]=-128; - m_frame.Ydata()[m_draw_params.PicY()-17][xpx]=-128; + m_picture.Data(Y_COMP)[m_draw_params.PicY()-49][xpx]=-128; + m_picture.Data(Y_COMP)[m_draw_params.PicY()-33][xpx]=-128; + m_picture.Data(Y_COMP)[m_draw_params.PicY()-17][xpx]=-128; } // draw '2 1 0' label diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/instrumentation/libdirac_instrument/split_mode.h /tmp/1tgnNoYBLI/dirac-1.0.2/util/instrumentation/libdirac_instrument/split_mode.h --- dirac-0.9.1/util/instrumentation/libdirac_instrument/split_mode.h 2004-11-22 13:42:33.000000000 +0000 +++ dirac-1.0.2/util/instrumentation/libdirac_instrument/split_mode.h 2008-01-31 11:25:20.000000000 +0000 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: split_mode.h,v 1.2 2004/11/22 13:42:33 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: split_mode.h,v 1.3 2008/01/31 11:25:20 tjdwave Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -40,7 +40,7 @@ #include using dirac::TwoDArray; -using dirac::Frame; +using dirac::Picture; namespace dirac_instr { @@ -55,7 +55,7 @@ /* Calls DrawOverlay constructor */ - DrawSplitMode(Frame &, DrawFrameMotionParams &, const TwoDArray &); + DrawSplitMode(Picture &, DrawPictureMotionParams &, const TwoDArray &); //! Destructor ~DrawSplitMode(); diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/instrumentation/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/util/instrumentation/Makefile.in --- dirac-0.9.1/util/instrumentation/Makefile.in 2008-01-26 12:30:38.000000000 +0000 +++ dirac-1.0.2/util/instrumentation/Makefile.in 2009-02-11 01:43:38.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in 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. @@ -17,15 +17,11 @@ # $Id: Makefile.am,v 1.6 2004/12/10 15:21:41 asuraparaju Exp $ # -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -43,7 +39,8 @@ subdir = util/instrumentation DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -67,40 +64,47 @@ @USE_MSVC_TRUE@ ../../libdirac_common/libdirac_common.a \ @USE_MSVC_TRUE@ ../../libdirac_motionest/libdirac_motionest.a \ @USE_MSVC_TRUE@ libdirac_instrument/libdirac_instrument.a -DEFAULT_INCLUDES = -I. -I$(srcdir) +dirac_instrumentation_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(dirac_instrumentation_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) -CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \ - $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ SOURCES = $(dirac_instrumentation_SOURCES) DIST_SOURCES = $(dirac_instrumentation_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ +ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ @@ -123,62 +127,46 @@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ GENERIC_RELEASE = @GENERIC_RELEASE@ GENERIC_VERSION = @GENERIC_VERSION@ GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBEXT = @LIBEXT@ LIBFLAGS = @LIBFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -187,22 +175,19 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -214,6 +199,7 @@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -232,6 +218,7 @@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -241,8 +228,12 @@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ INCLUDES = -I$(top_srcdir) -I$(srcdir) -Ilibinstr h_sources = process_sequence.h cpp_sources = process_sequence.cpp instrmain.cpp @@ -287,15 +278,15 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ || test -f $$p1 \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ else :; fi; \ done @@ -315,7 +306,7 @@ done dirac_instrumentation$(EXEEXT): $(dirac_instrumentation_OBJECTS) $(dirac_instrumentation_DEPENDENCIES) @rm -f dirac_instrumentation$(EXEEXT) - $(CXXLINK) $(dirac_instrumentation_LDFLAGS) $(dirac_instrumentation_OBJECTS) $(dirac_instrumentation_LDADD) $(LIBS) + $(dirac_instrumentation_LINK) $(dirac_instrumentation_OBJECTS) $(dirac_instrumentation_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -327,22 +318,22 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_sequence.Po@am__quote@ .cpp.o: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: -@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: -@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< @@ -353,10 +344,6 @@ clean-libtool: -rm -rf .libs _libs -distclean-libtool: - -rm -f libtool -uninstall-info-am: - # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, @@ -388,8 +375,7 @@ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: +$(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ @@ -433,8 +419,8 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS @@ -459,8 +445,8 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ @@ -470,13 +456,12 @@ CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique @@ -490,22 +475,21 @@ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -519,7 +503,7 @@ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ @@ -527,6 +511,8 @@ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ @@ -537,7 +523,7 @@ installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive @@ -572,7 +558,7 @@ -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags + distclean-tags dvi: dvi-recursive @@ -586,12 +572,20 @@ install-data-am: +install-dvi: install-dvi-recursive + install-exec-am: install-binPROGRAMS +install-html: install-html-recursive + install-info: install-info-recursive install-man: +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -612,24 +606,26 @@ ps-am: -uninstall-am: uninstall-binPROGRAMS uninstall-info-am +uninstall-am: uninstall-binPROGRAMS -uninstall-info: uninstall-info-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ - clean clean-binPROGRAMS clean-generic clean-libtool \ - clean-recursive ctags ctags-recursive distclean \ +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libtool ctags ctags-recursive distclean \ distclean-compile distclean-generic distclean-libtool \ - distclean-recursive distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-binPROGRAMS \ - install-data install-data-am install-exec install-exec-am \ - install-info install-info-am install-man install-strip \ - installcheck installcheck-am installdirs installdirs-am \ - maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \ - pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ - uninstall-binPROGRAMS uninstall-info-am + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-binPROGRAMS install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am \ + uninstall-binPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/instrumentation/process_sequence.cpp /tmp/1tgnNoYBLI/dirac-1.0.2/util/instrumentation/process_sequence.cpp --- dirac-0.9.1/util/instrumentation/process_sequence.cpp 2007-09-26 13:18:43.000000000 +0100 +++ dirac-1.0.2/util/instrumentation/process_sequence.cpp 2008-10-01 02:26:48.000000000 +0100 @@ -1,6 +1,6 @@ /* ***** BEGIN LICENSE BLOCK ***** * -* $Id: process_sequence.cpp,v 1.10 2007/09/26 12:18:43 asuraparaju Exp $ $Name: Dirac_0_9_1 $ +* $Id: process_sequence.cpp,v 1.17 2008/10/01 01:26:48 asuraparaju Exp $ $Name: Dirac_1_0_2 $ * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * @@ -22,6 +22,7 @@ * * Contributor(s): Chris Bowley (Original Author), * Tim Borer +* Anuradha Suraparaju * * Alternatively, the contents of this file may be used under the terms of * the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser @@ -36,9 +37,9 @@ * or the LGPL. * ***** END LICENSE BLOCK ***** */ -#include +#include #include -#include +#include using namespace dirac; ProcessSequence::ProcessSequence(OverlayParams & oparams, @@ -57,45 +58,55 @@ } -// checks motion data array for entry for current frame -// - if entry exists, frame is processed +// checks motion data array for entry for current picture +// - if entry exists, picture is processed // - if no entry exists, return false -bool ProcessSequence::DoFrame() +bool ProcessSequence::DoPicture() { int index = int(m_process_fnum % m_data_array.Length()); - if (m_data_array[index].frame_params.FrameNum() == m_process_fnum) + if (m_data_array[index].picture_params.PictureNum() == m_process_fnum) { - // read next frame from input sequence - Frame * frame = new Frame(m_data_array[index].frame_params); - m_inputpic.GetStream()->ReadNextPicture(*frame); - - Overlay overlay(m_oparams, *frame); + // read next picture from input sequence + Picture * picture = new Picture(m_data_array[index].picture_params); + if(m_inputpic.GetStream()->ReadNextPicture(*picture) == false) + { + delete m_data_array[index].me_data; + if (m_verbose) + std::cout << std::endl << "Cannot read Next Picture. Deleting " << index << " MEData object"; + m_data_array[index].me_data = 0; + m_data_array[index].picture_params.SetPictureNum(-1); + delete picture; + return false; + } + Overlay overlay(m_oparams, *picture); - if (m_data_array[index].frame_params.FSort().IsIntra()) - overlay.ProcessFrame(); + if (m_data_array[index].picture_params.PicSort().IsIntra()) + overlay.ProcessPicture(); else - overlay.ProcessFrame(*(m_data_array[index].me_data), m_data_array[index].block_params); + overlay.ProcessPicture(*(m_data_array[index].me_data), m_data_array[index].block_params); // release me_data if (m_data_array[index].me_data != 0) { delete m_data_array[index].me_data; + if (m_verbose) + std::cout << std::endl << "Deleting " << index << " MEData object"; m_data_array[index].me_data = 0; } - // set frame number to -1 to identify it as unallocated - m_data_array[index].frame_params.SetFrameNum(-1); + // set picture number to -1 to identify it as unallocated + m_data_array[index].picture_params.SetPictureNum(-1); //clip the data to keep it within range - frame->Clip(); + picture->Clip(); - // write the frame to the output file - m_outputpic.GetStream()->WriteNextFrame(*frame); + // write the picture to the output file + m_outputpic.GetStream()->WriteToNextFrame(*picture); - // de-allocate memory for frame - delete frame; + // de-allocate memory for picture + delete picture; return true; } @@ -103,27 +114,27 @@ return false; } -// reads motion data file and adds entries into motion data array upto and including frame +// reads motion data file and adds entries into motion data array upto and including picture // denoted by fnum -void ProcessSequence::AddFrameEntry() +void ProcessSequence::AddPictureEntry() { - // look for frame sort + // look for picture sort m_data_in.ignore(10, '>'); - char mv_frame_sort[10]; - m_data_in >> mv_frame_sort; + char mv_picture_sort[10]; + m_data_in >> mv_picture_sort; - // position in array where frame data should be placed + // position in array where picture data should be placed int new_index = m_data_fnum % m_data_array.Length(); - // reading information for an intra frame - if (strcmp(mv_frame_sort, "intra") == 0) + // reading information for an intra picture + if (strcmp(mv_picture_sort, "intra") == 0) { - if (m_verbose) std::cout << std::endl << "Reading intra frame " << m_data_fnum << " data"; + if (m_verbose) std::cout << std::endl << "Reading intra picture " << m_data_fnum << " data"; m_data_array[new_index].me_data = 0; - m_data_array[new_index].frame_params = m_srcparams; - m_data_array[new_index].frame_params.SetFrameNum(m_data_fnum); - m_data_array[new_index].frame_params.SetFSort(FrameSort::IntraRefFrameSort()); + m_data_array[new_index].picture_params = m_srcparams; + m_data_array[new_index].picture_params.SetPictureNum(m_data_fnum); + m_data_array[new_index].picture_params.SetPicSort(PictureSort::IntraRefPictureSort()); if (m_verbose) { @@ -132,12 +143,12 @@ } } - // reading information for a motion-compensated frame + // reading information for a motion-compensated picture else { if (m_verbose) { - std::cout << std::endl << "Reading motion-compensated frame "; + std::cout << std::endl << "Reading motion-compensated picture "; std::cout << m_data_fnum << " data"; } @@ -145,24 +156,24 @@ int total_refs = 0; int ref = -1; - // create frame motion data array entry - m_data_array[new_index].frame_params = m_srcparams; + // create picture motion data array entry + m_data_array[new_index].picture_params = m_srcparams; - // read reference frame information from top of file + // read reference picture information from top of file m_data_in >> total_refs; // clear reference vector - m_data_array[new_index].frame_params.Refs().clear(); + m_data_array[new_index].picture_params.Refs().clear(); for (int i=0; i> ref; - m_data_array[new_index].frame_params.Refs().push_back(ref); + m_data_array[new_index].picture_params.Refs().push_back(ref); } // add NO_REF reference if there is no reference 2 if (total_refs == 1) - m_data_array[new_index].frame_params.Refs().push_back(NO_REF); + m_data_array[new_index].picture_params.Refs().push_back(NO_REF); // read luma motion block dimensions m_data_in >> m_data_array[new_index].block_params; @@ -173,15 +184,23 @@ m_data_in >> mv_ynum; // motion vector array dimensions m_data_in >> mv_xnum; + PicturePredParams predparams; + predparams.SetXNumBlocks(mv_xnum); + predparams.SetYNumBlocks(mv_ynum); + predparams.SetXNumSB(mb_xnum); + predparams.SetYNumSB(mb_ynum); + // create motion data object - m_data_array[new_index].me_data = new MEData(mb_xnum, mb_ynum, mv_xnum, mv_ynum , total_refs ); + m_data_array[new_index].me_data = new MEData(predparams , total_refs ); + if (m_verbose) + std::cout << std::endl << "Allocating " << new_index << " MEData object"; - m_data_array[new_index].frame_params.SetFrameNum(m_data_fnum); + m_data_array[new_index].picture_params.SetPictureNum(m_data_fnum); - if (m_data_array[new_index].frame_params.Refs().size() > 1) - m_data_array[new_index].frame_params.SetFSort(FrameSort::InterNonRefFrameSort()); + if (m_data_array[new_index].picture_params.Refs().size() > 1) + m_data_array[new_index].picture_params.SetPicSort(PictureSort::InterNonRefPictureSort()); else - m_data_array[new_index].frame_params.SetFSort(FrameSort::InterRefFrameSort()); + m_data_array[new_index].picture_params.SetPicSort(PictureSort::InterRefPictureSort()); // read motion vector data m_data_in >> *m_data_array[new_index].me_data; // overloaded operator>> defined in libdirac_common/motion.cpp @@ -195,27 +214,30 @@ } // manages processing of sequence, operation: -// - check motion data array for frame entry -// - if exists, process frame and remove entry -// - if no entry exists, read motion data file and store frames -// up to and including current frame for process, -// retrieve frame motion data from array and process +// - check motion data array for picture entry +// - if exists, process picture and remove entry +// - if no entry exists, read motion data file and store pictures +// up to and including current picture for process, +// retrieve picture motion data from array and process void ProcessSequence::DoSequence(int start, int stop) { - // set all frame numbers to -1 to identify as unallocated + // set all picture numbers to -1 to identify as unallocated for (int i=0; i 0) { for (int fnum=0; fnumReadNextPicture(*frame); - delete frame; + PictureParams fparams(m_inputpic.GetSourceParams()); + Picture * picture = new Picture(fparams); + m_inputpic.GetStream()->ReadNextPicture(*picture); + delete picture; } } @@ -226,48 +248,50 @@ int data_next_fnum = -1; m_data_fnum = -1; - // look for frame number + // look for picture number m_data_in.ignore(100000, ':'); m_data_in >> m_data_fnum; - // frame by frame processing + // picture by picture processing for (m_process_fnum = start; m_process_fnum <= stop; ++m_process_fnum) { - if (m_verbose) std::cout << std::endl << std::endl << "Frame " << m_process_fnum; + if (m_verbose) std::cout << std::endl << std::endl << "Picture " << m_process_fnum; - // location of frame data in array + // location of picture data in array int index = int(m_process_fnum % m_data_array.Length()); if (m_verbose) { std::cout << "\nArray entry " << index << " is "; - if (m_data_array[index].frame_params.FrameNum() != -1) - std::cout << "frame number " << m_data_array[index].frame_params.FrameNum(); + if (m_data_array[index].picture_params.PictureNum() != -1) + std::cout << "picture number " << m_data_array[index].picture_params.PictureNum(); else std::cout << "not allocated"; } - // if the frame motion data has not already been read, add the motion data to the vector - if (!DoFrame()) + // if the picture motion data has not already been read, add the motion data to the vector + if (!DoPicture()) { + if (m_data_fnum == -1) + break; read_data_fnum = false; do { if (read_data_fnum) { - // look for frame number of next data + // look for picture number of next data m_data_in.ignore(100000, ':'); m_data_in >> m_data_fnum; } - AddFrameEntry(); + AddPictureEntry(); read_data_fnum = true; } while (m_data_fnum != m_process_fnum && !m_data_in.eof()); - // now check the next set of data is not for the same frame + // now check the next set of data is not for the same picture do { - // look for frame number + // look for picture number m_data_in.ignore(100000, ':'); data_next_fnum = -1; m_data_in >> data_next_fnum; @@ -275,34 +299,36 @@ if (m_data_fnum == data_next_fnum && !m_data_in.eof()) { m_data_fnum = data_next_fnum; - if (m_verbose) std::cout << std::endl << "Updating frame data"; - AddFrameEntry(); + if (m_verbose) std::cout << std::endl << "Updating picture data"; + AddPictureEntry(); } } while (m_data_fnum == data_next_fnum && !m_data_in.eof()); - // update data frame number + // update data picture number m_data_fnum = data_next_fnum; - // the frame data should be in the array (provided it is big enough!) + // the picture data should be in the array (provided it is big enough!) // if the data is not available, advise and exit - if (!DoFrame()) + if (!DoPicture()) { - if (m_data_in.eof()) - break; - std::cerr << "Cannot find frame " << m_process_fnum << " motion data. "; - std::cerr << "Check buffer size. Exiting." << std::endl; - exit(EXIT_FAILURE); + if (!m_data_in.eof()) + std::cout << "Cannot find picture " << m_process_fnum << " motion data. " << std::endl; + break; } } - else + } + for (int i=0; i #include #include -using dirac::FrameParams; +using dirac::PictureParams; using dirac::OLBParams; using dirac::SourceParams; using dirac::OneDArray; @@ -62,7 +62,7 @@ { MEData * me_data; OLBParams block_params; - FrameParams frame_params; + PictureParams picture_params; }; //! Class to carry out instrumentation on sequence @@ -84,18 +84,18 @@ private : - //! DoFrame + //! DoPicture /* - Queries data array for frame entry - Returns true if frame entry is available + Queries data array for picture entry + Returns true if picture entry is available */ - bool DoFrame(); + bool DoPicture(); - //! AddFrameEntry + //! AddPictureEntry /* - Adds data for frame to data array + Adds data for picture to data array */ - void AddFrameEntry(); + void AddPictureEntry(); //! Command-line overlay options OverlayParams & m_oparams; @@ -115,11 +115,11 @@ //! Data array OneDArray m_data_array; - //! Frame numbers of process and overlay data + //! Picture numbers of process and overlay data int m_data_fnum, m_process_fnum; - //! Read input frame data signal - bool used_frame_data; + //! Read input picture data signal + bool used_picture_data; //! Output source parameters SourceParams & m_srcparams; diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/util/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/util/Makefile.in --- dirac-0.9.1/util/Makefile.in 2008-01-26 12:30:38.000000000 +0000 +++ dirac-1.0.2/util/Makefile.in 2009-02-11 01:43:38.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in 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. @@ -16,15 +16,11 @@ # $Id: Makefile.am,v 1.3 2004/11/22 13:50:08 asuraparaju Exp $ # -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -41,7 +37,8 @@ subdir = util DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -51,17 +48,19 @@ DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ +ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ @@ -84,62 +83,46 @@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ GENERIC_RELEASE = @GENERIC_RELEASE@ GENERIC_VERSION = @GENERIC_VERSION@ GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBEXT = @LIBEXT@ LIBFLAGS = @LIBFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -148,22 +131,19 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -175,6 +155,7 @@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -193,6 +174,7 @@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -202,8 +184,12 @@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ SUBDIRS = instrumentation conversion all: all-recursive @@ -244,10 +230,6 @@ clean-libtool: -rm -rf .libs _libs -distclean-libtool: - -rm -f libtool -uninstall-info-am: - # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, @@ -279,8 +261,7 @@ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: +$(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ @@ -324,8 +305,8 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS @@ -350,8 +331,8 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ @@ -361,13 +342,12 @@ CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique @@ -381,22 +361,21 @@ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -410,7 +389,7 @@ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ @@ -418,6 +397,8 @@ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ @@ -457,8 +438,7 @@ distclean: distclean-recursive -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags +distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive @@ -472,12 +452,20 @@ install-data-am: +install-dvi: install-dvi-recursive + install-exec-am: +install-html: install-html-recursive + install-info: install-info-recursive install-man: +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -496,22 +484,24 @@ ps-am: -uninstall-am: uninstall-info-am +uninstall-am: -uninstall-info: uninstall-info-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ - clean clean-generic clean-libtool clean-recursive ctags \ - ctags-recursive distclean distclean-generic distclean-libtool \ - distclean-recursive distclean-tags distdir dvi dvi-am html \ +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic clean-libtool \ + ctags ctags-recursive distclean distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive \ - mostlyclean mostlyclean-generic mostlyclean-libtool \ - mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am uninstall-info-am + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/Makefile.am /tmp/1tgnNoYBLI/dirac-1.0.2/win32/Makefile.am --- dirac-0.9.1/win32/Makefile.am 2007-03-28 15:33:12.000000000 +0100 +++ dirac-1.0.2/win32/Makefile.am 2008-02-12 11:02:33.000000000 +0000 @@ -1,4 +1,4 @@ -# $Id: Makefile.am,v 1.2 2007/03/28 14:33:12 asuraparaju Exp $ +# $Id: Makefile.am,v 1.3 2008/02/12 11:02:33 asuraparaju Exp $ # -SUBDIRS = VS2003 VisualStudio +SUBDIRS = VisualStudio diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/win32/Makefile.in --- dirac-0.9.1/win32/Makefile.in 2008-01-26 12:30:38.000000000 +0000 +++ dirac-1.0.2/win32/Makefile.in 2009-02-11 01:43:39.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in 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. @@ -14,17 +14,13 @@ @SET_MAKE@ -# $Id: Makefile.am,v 1.2 2007/03/28 14:33:12 asuraparaju Exp $ +# $Id: Makefile.am,v 1.3 2008/02/12 11:02:33 asuraparaju Exp $ # -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -41,7 +37,8 @@ subdir = win32 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -51,17 +48,19 @@ DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ +ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ @@ -84,62 +83,46 @@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ GENERIC_RELEASE = @GENERIC_RELEASE@ GENERIC_VERSION = @GENERIC_VERSION@ GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBEXT = @LIBEXT@ LIBFLAGS = @LIBFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -148,22 +131,19 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -175,6 +155,7 @@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -193,6 +174,7 @@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -202,9 +184,13 @@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ -SUBDIRS = VS2003 VisualStudio +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = VisualStudio all: all-recursive .SUFFIXES: @@ -244,10 +230,6 @@ clean-libtool: -rm -rf .libs _libs -distclean-libtool: - -rm -f libtool -uninstall-info-am: - # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, @@ -279,8 +261,7 @@ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: +$(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ @@ -324,8 +305,8 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS @@ -350,8 +331,8 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ @@ -361,13 +342,12 @@ CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique @@ -381,22 +361,21 @@ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -410,7 +389,7 @@ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ @@ -418,6 +397,8 @@ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ @@ -457,8 +438,7 @@ distclean: distclean-recursive -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags +distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive @@ -472,12 +452,20 @@ install-data-am: +install-dvi: install-dvi-recursive + install-exec-am: +install-html: install-html-recursive + install-info: install-info-recursive install-man: +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -496,22 +484,24 @@ ps-am: -uninstall-am: uninstall-info-am +uninstall-am: -uninstall-info: uninstall-info-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ - clean clean-generic clean-libtool clean-recursive ctags \ - ctags-recursive distclean distclean-generic distclean-libtool \ - distclean-recursive distclean-tags distdir dvi dvi-am html \ +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic clean-libtool \ + ctags ctags-recursive distclean distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive \ - mostlyclean mostlyclean-generic mostlyclean-libtool \ - mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am uninstall-info-am + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/ConversionUtils/BMPtoRGB/BMPtoRGB.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/ConversionUtils/BMPtoRGB/BMPtoRGB.vcproj --- dirac-0.9.1/win32/VisualStudio/ConversionUtils/BMPtoRGB/BMPtoRGB.vcproj 2007-03-28 15:31:28.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/ConversionUtils/BMPtoRGB/BMPtoRGB.vcproj 2008-05-06 07:35:36.000000000 +0100 @@ -1,10 +1,11 @@ - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/ConversionUtils/ConversionUtils.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/ConversionUtils/ConversionUtils.vcproj --- dirac-0.9.1/win32/VisualStudio/ConversionUtils/ConversionUtils.vcproj 2007-03-28 15:31:28.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/ConversionUtils/ConversionUtils.vcproj 2008-02-12 05:24:38.000000000 +0000 @@ -1,10 +1,11 @@ - @@ -137,10 +138,13 @@ Name="VCLinkerTool" OutputFile="$(OutDir)/ConversionUtils.exe" LinkIncremental="1" + GenerateManifest="false" GenerateDebugInformation="true" SubSystem="1" OptimizeReferences="2" EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" TargetMachine="1" /> - @@ -216,9 +217,12 @@ Name="VCLinkerTool" OutputFile="$(OutDir)/ConversionUtils.exe" LinkIncremental="2" + GenerateManifest="false" GenerateDebugInformation="true" ProgramDatabaseFile="$(OutDir)/ConversionUtils.pdb" SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" TargetMachine="1" /> - @@ -291,10 +292,13 @@ Name="VCLinkerTool" OutputFile="$(OutDir)/ConversionUtils.exe" LinkIncremental="1" + GenerateManifest="false" GenerateDebugInformation="true" SubSystem="1" OptimizeReferences="2" EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" TargetMachine="1" /> - @@ -370,9 +371,12 @@ Name="VCLinkerTool" OutputFile="$(OutDir)/ConversionUtils.exe" LinkIncremental="2" + GenerateManifest="false" GenerateDebugInformation="true" ProgramDatabaseFile="$(OutDir)/ConversionUtils.pdb" SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" TargetMachine="1" /> - @@ -445,10 +446,13 @@ Name="VCLinkerTool" OutputFile="$(OutDir)/ConversionUtils.exe" LinkIncremental="1" + GenerateManifest="false" GenerateDebugInformation="true" SubSystem="1" OptimizeReferences="2" EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" TargetMachine="1" /> - @@ -481,4 +482,6 @@ + + diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/ConversionUtils/libconv_common/libconv_common.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/ConversionUtils/libconv_common/libconv_common.vcproj --- dirac-0.9.1/win32/VisualStudio/ConversionUtils/libconv_common/libconv_common.vcproj 2007-03-28 15:31:30.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/ConversionUtils/libconv_common/libconv_common.vcproj 2008-05-06 07:35:38.000000000 +0100 @@ -1,10 +1,12 @@ - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/ConversionUtils/RGBtoUYVY/RGBtoUYVY.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/ConversionUtils/RGBtoUYVY/RGBtoUYVY.vcproj --- dirac-0.9.1/win32/VisualStudio/ConversionUtils/RGBtoUYVY/RGBtoUYVY.vcproj 2007-03-28 15:31:29.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/ConversionUtils/RGBtoUYVY/RGBtoUYVY.vcproj 2008-05-06 07:35:37.000000000 +0100 @@ -1,10 +1,11 @@ - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/ConversionUtils/RGBtoYUV411/RGBtoYUV411.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/ConversionUtils/RGBtoYUV411/RGBtoYUV411.vcproj --- dirac-0.9.1/win32/VisualStudio/ConversionUtils/RGBtoYUV411/RGBtoYUV411.vcproj 2007-03-28 15:31:29.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/ConversionUtils/RGBtoYUV411/RGBtoYUV411.vcproj 2008-05-06 07:35:37.000000000 +0100 @@ -1,10 +1,11 @@ - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/ConversionUtils/RGBtoYUV420/RGBtoYUV420.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/ConversionUtils/RGBtoYUV420/RGBtoYUV420.vcproj --- dirac-0.9.1/win32/VisualStudio/ConversionUtils/RGBtoYUV420/RGBtoYUV420.vcproj 2007-03-28 15:31:29.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/ConversionUtils/RGBtoYUV420/RGBtoYUV420.vcproj 2008-05-06 07:35:37.000000000 +0100 @@ -1,10 +1,11 @@ - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/ConversionUtils/RGBtoYUV422/RGBtoYUV422.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/ConversionUtils/RGBtoYUV422/RGBtoYUV422.vcproj --- dirac-0.9.1/win32/VisualStudio/ConversionUtils/RGBtoYUV422/RGBtoYUV422.vcproj 2007-03-28 15:31:29.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/ConversionUtils/RGBtoYUV422/RGBtoYUV422.vcproj 2008-05-06 07:35:37.000000000 +0100 @@ -1,10 +1,11 @@ - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/ConversionUtils/RGBtoYUV444/RGBtoYUV444.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/ConversionUtils/RGBtoYUV444/RGBtoYUV444.vcproj --- dirac-0.9.1/win32/VisualStudio/ConversionUtils/RGBtoYUV444/RGBtoYUV444.vcproj 2007-03-28 15:31:29.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/ConversionUtils/RGBtoYUV444/RGBtoYUV444.vcproj 2008-05-06 07:35:37.000000000 +0100 @@ -1,10 +1,11 @@ - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/ConversionUtils/UYVYtoRGB/UYVYtoRGB.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/ConversionUtils/UYVYtoRGB/UYVYtoRGB.vcproj --- dirac-0.9.1/win32/VisualStudio/ConversionUtils/UYVYtoRGB/UYVYtoRGB.vcproj 2007-03-28 15:31:29.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/ConversionUtils/UYVYtoRGB/UYVYtoRGB.vcproj 2008-05-06 07:35:37.000000000 +0100 @@ -1,10 +1,11 @@ - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/ConversionUtils/UYVYtoYUV422/UYVYtoYUV422.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/ConversionUtils/UYVYtoYUV422/UYVYtoYUV422.vcproj --- dirac-0.9.1/win32/VisualStudio/ConversionUtils/UYVYtoYUV422/UYVYtoYUV422.vcproj 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/ConversionUtils/UYVYtoYUV422/UYVYtoYUV422.vcproj 2008-05-06 07:35:37.000000000 +0100 @@ -0,0 +1,427 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/ConversionUtils/YUV411toRGB/YUV411toRGB.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/ConversionUtils/YUV411toRGB/YUV411toRGB.vcproj --- dirac-0.9.1/win32/VisualStudio/ConversionUtils/YUV411toRGB/YUV411toRGB.vcproj 2007-03-28 15:31:29.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/ConversionUtils/YUV411toRGB/YUV411toRGB.vcproj 2008-05-06 07:35:37.000000000 +0100 @@ -1,10 +1,11 @@ - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/ConversionUtils/YUV420Down2x2/YUV420Down2x2.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/ConversionUtils/YUV420Down2x2/YUV420Down2x2.vcproj --- dirac-0.9.1/win32/VisualStudio/ConversionUtils/YUV420Down2x2/YUV420Down2x2.vcproj 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/ConversionUtils/YUV420Down2x2/YUV420Down2x2.vcproj 2008-11-06 04:51:10.000000000 +0000 @@ -0,0 +1,489 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/ConversionUtils/YUV420ItoYUV422I/YUV420ItoYUV422I.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/ConversionUtils/YUV420ItoYUV422I/YUV420ItoYUV422I.vcproj --- dirac-0.9.1/win32/VisualStudio/ConversionUtils/YUV420ItoYUV422I/YUV420ItoYUV422I.vcproj 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/ConversionUtils/YUV420ItoYUV422I/YUV420ItoYUV422I.vcproj 2008-11-19 04:00:51.000000000 +0000 @@ -0,0 +1,489 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/ConversionUtils/YUV420pt75filter/YUV420pt75filter.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/ConversionUtils/YUV420pt75filter/YUV420pt75filter.vcproj --- dirac-0.9.1/win32/VisualStudio/ConversionUtils/YUV420pt75filter/YUV420pt75filter.vcproj 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/ConversionUtils/YUV420pt75filter/YUV420pt75filter.vcproj 2008-09-10 07:37:30.000000000 +0100 @@ -0,0 +1,489 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/ConversionUtils/YUV420toRGB/YUV420toRGB.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/ConversionUtils/YUV420toRGB/YUV420toRGB.vcproj --- dirac-0.9.1/win32/VisualStudio/ConversionUtils/YUV420toRGB/YUV420toRGB.vcproj 2007-03-28 15:31:29.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/ConversionUtils/YUV420toRGB/YUV420toRGB.vcproj 2008-05-06 07:35:38.000000000 +0100 @@ -1,10 +1,11 @@ - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/ConversionUtils/YUV420toYUV422/YUV420toYUV422.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/ConversionUtils/YUV420toYUV422/YUV420toYUV422.vcproj --- dirac-0.9.1/win32/VisualStudio/ConversionUtils/YUV420toYUV422/YUV420toYUV422.vcproj 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/ConversionUtils/YUV420toYUV422/YUV420toYUV422.vcproj 2008-05-06 07:35:38.000000000 +0100 @@ -0,0 +1,426 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/ConversionUtils/YUV422ItoYUV420I/YUV422ItoYUV420I.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/ConversionUtils/YUV422ItoYUV420I/YUV422ItoYUV420I.vcproj --- dirac-0.9.1/win32/VisualStudio/ConversionUtils/YUV422ItoYUV420I/YUV422ItoYUV420I.vcproj 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/ConversionUtils/YUV422ItoYUV420I/YUV422ItoYUV420I.vcproj 2008-11-19 04:00:51.000000000 +0000 @@ -0,0 +1,489 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/ConversionUtils/YUV422toRGB/YUV422toRGB.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/ConversionUtils/YUV422toRGB/YUV422toRGB.vcproj --- dirac-0.9.1/win32/VisualStudio/ConversionUtils/YUV422toRGB/YUV422toRGB.vcproj 2007-03-28 15:31:29.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/ConversionUtils/YUV422toRGB/YUV422toRGB.vcproj 2008-05-06 07:35:38.000000000 +0100 @@ -1,10 +1,11 @@ - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/ConversionUtils/YUV422toUYVY/YUV422toUYVY.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/ConversionUtils/YUV422toUYVY/YUV422toUYVY.vcproj --- dirac-0.9.1/win32/VisualStudio/ConversionUtils/YUV422toUYVY/YUV422toUYVY.vcproj 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/ConversionUtils/YUV422toUYVY/YUV422toUYVY.vcproj 2008-05-06 07:35:38.000000000 +0100 @@ -0,0 +1,428 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/ConversionUtils/YUV422toYUV420/YUV422toYUV420.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/ConversionUtils/YUV422toYUV420/YUV422toYUV420.vcproj --- dirac-0.9.1/win32/VisualStudio/ConversionUtils/YUV422toYUV420/YUV422toYUV420.vcproj 1970-01-01 01:00:00.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/ConversionUtils/YUV422toYUV420/YUV422toYUV420.vcproj 2008-05-06 07:35:38.000000000 +0100 @@ -0,0 +1,428 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/ConversionUtils/YUV444toRGB/YUV444toRGB.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/ConversionUtils/YUV444toRGB/YUV444toRGB.vcproj --- dirac-0.9.1/win32/VisualStudio/ConversionUtils/YUV444toRGB/YUV444toRGB.vcproj 2007-03-28 15:31:30.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/ConversionUtils/YUV444toRGB/YUV444toRGB.vcproj 2008-05-06 07:35:38.000000000 +0100 @@ -1,10 +1,11 @@ - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/DecodeDirac/DecodeDirac.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/DecodeDirac/DecodeDirac.vcproj --- dirac-0.9.1/win32/VisualStudio/DecodeDirac/DecodeDirac.vcproj 2007-09-06 14:02:51.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/DecodeDirac/DecodeDirac.vcproj 2008-05-06 07:35:39.000000000 +0100 @@ -1,10 +1,11 @@ - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/DiracDecoder/DiracDecoder.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/DiracDecoder/DiracDecoder.vcproj --- dirac-0.9.1/win32/VisualStudio/DiracDecoder/DiracDecoder.vcproj 2007-09-06 14:02:51.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/DiracDecoder/DiracDecoder.vcproj 2008-05-06 07:35:39.000000000 +0100 @@ -1,10 +1,11 @@ @@ -88,16 +91,13 @@ Name="VCAppVerifierTool" /> - @@ -172,16 +174,13 @@ Name="VCAppVerifierTool" /> - @@ -382,16 +383,13 @@ Name="VCAppVerifierTool" /> - @@ -596,9 +596,6 @@ Name="VCAppVerifierTool" /> - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/DiracDecoder/libdirac_decoder/libdirac_decoder.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/DiracDecoder/libdirac_decoder/libdirac_decoder.vcproj --- dirac-0.9.1/win32/VisualStudio/DiracDecoder/libdirac_decoder/libdirac_decoder.vcproj 2007-03-28 15:31:30.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/DiracDecoder/libdirac_decoder/libdirac_decoder.vcproj 2008-05-06 07:35:39.000000000 +0100 @@ -1,10 +1,11 @@ @@ -88,16 +91,13 @@ Name="VCAppVerifierTool" /> - @@ -172,16 +174,13 @@ Name="VCAppVerifierTool" /> - @@ -382,16 +383,13 @@ Name="VCAppVerifierTool" /> - @@ -595,9 +595,6 @@ Name="VCAppVerifierTool" /> - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/DiracEncoder/libdirac_encoder/libdirac_encoder.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/DiracEncoder/libdirac_encoder/libdirac_encoder.vcproj --- dirac-0.9.1/win32/VisualStudio/DiracEncoder/libdirac_encoder/libdirac_encoder.vcproj 2007-09-06 14:02:51.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/DiracEncoder/libdirac_encoder/libdirac_encoder.vcproj 2008-06-23 11:48:54.000000000 +0100 @@ -1,10 +1,11 @@ + + + + + + + + + + + + - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/Everything/Everything.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/Everything/Everything.vcproj --- dirac-0.9.1/win32/VisualStudio/Everything/Everything.vcproj 2007-03-28 15:31:31.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/Everything/Everything.vcproj 2008-02-12 05:24:41.000000000 +0000 @@ -1,10 +1,11 @@ - @@ -137,10 +139,13 @@ Name="VCLinkerTool" OutputFile="$(OutDir)/Everything.exe" LinkIncremental="1" + GenerateManifest="false" GenerateDebugInformation="true" SubSystem="1" OptimizeReferences="2" EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" TargetMachine="1" /> - @@ -216,9 +218,12 @@ Name="VCLinkerTool" OutputFile="$(OutDir)/Everything.exe" LinkIncremental="2" + GenerateManifest="false" GenerateDebugInformation="true" ProgramDatabaseFile="$(OutDir)/Everything.pdb" SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" TargetMachine="1" /> - @@ -291,10 +293,13 @@ Name="VCLinkerTool" OutputFile="$(OutDir)/Everything.exe" LinkIncremental="1" + GenerateManifest="false" GenerateDebugInformation="true" SubSystem="1" OptimizeReferences="2" EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" TargetMachine="1" /> - @@ -370,9 +372,12 @@ Name="VCLinkerTool" OutputFile="$(OutDir)/Everything.exe" LinkIncremental="2" + GenerateManifest="false" GenerateDebugInformation="true" ProgramDatabaseFile="$(OutDir)/Everything.pdb" SubSystem="1" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" TargetMachine="1" /> - @@ -445,10 +447,13 @@ Name="VCLinkerTool" OutputFile="$(OutDir)/Everything.exe" LinkIncremental="1" + GenerateManifest="false" GenerateDebugInformation="true" SubSystem="1" OptimizeReferences="2" EnableCOMDATFolding="2" + RandomizedBaseAddress="1" + DataExecutionPrevention="0" TargetMachine="1" /> - @@ -481,4 +483,6 @@ + + diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/InstrumentDirac/InstrumentDirac.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/InstrumentDirac/InstrumentDirac.vcproj --- dirac-0.9.1/win32/VisualStudio/InstrumentDirac/InstrumentDirac.vcproj 2007-09-06 14:02:51.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/InstrumentDirac/InstrumentDirac.vcproj 2008-05-06 07:35:39.000000000 +0100 @@ -1,10 +1,11 @@ - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/InstrumentDirac/libdirac_instrument/libdirac_instrument.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/InstrumentDirac/libdirac_instrument/libdirac_instrument.vcproj --- dirac-0.9.1/win32/VisualStudio/InstrumentDirac/libdirac_instrument/libdirac_instrument.vcproj 2007-09-06 14:02:52.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/InstrumentDirac/libdirac_instrument/libdirac_instrument.vcproj 2008-05-06 07:35:39.000000000 +0100 @@ -1,10 +1,11 @@ @@ -198,15 +202,7 @@ - - - - + + + + + + @@ -332,15 +340,15 @@ > + + @@ -682,15 +687,11 @@ > - - + + + + diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/libdirac_motionest/libdirac_motionest.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/libdirac_motionest/libdirac_motionest.vcproj --- dirac-0.9.1/win32/VisualStudio/libdirac_motionest/libdirac_motionest.vcproj 2007-03-28 15:31:31.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/libdirac_motionest/libdirac_motionest.vcproj 2008-09-09 12:42:58.000000000 +0100 @@ -1,10 +1,11 @@ - - @@ -622,10 +619,6 @@ > - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/Makefile.am /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/Makefile.am --- dirac-0.9.1/win32/VisualStudio/Makefile.am 2007-03-28 15:31:28.000000000 +0100 +++ dirac-1.0.2/win32/VisualStudio/Makefile.am 2009-02-10 03:12:58.000000000 +0000 @@ -1,4 +1,4 @@ -# $Id: Makefile.am,v 1.1 2007/03/28 14:31:28 asuraparaju Exp $ +# $Id: Makefile.am,v 1.4 2009/02/10 03:12:58 asuraparaju Exp $ # EXTRA_DIST = dirac.sln \ @@ -18,9 +18,17 @@ ./ConversionUtils/YUV411toRGB/YUV411toRGB.vcproj \ ./ConversionUtils/RGBtoUYVY/RGBtoUYVY.vcproj \ ./ConversionUtils/BMPtoRGB/BMPtoRGB.vcproj \ + ./ConversionUtils/YUV420Down2x2/YUV420Down2x2.vcproj \ + ./ConversionUtils/YUV420pt75filter/YUV420pt75filter.vcproj \ ./ConversionUtils/YUV420toRGB/YUV420toRGB.vcproj \ + ./ConversionUtils/YUV420toYUV422/YUV420toYUV422.vcproj \ + ./ConversionUtils/YUV420ItoYUV422I/YUV420ItoYUV422I.vcproj \ ./ConversionUtils/YUV422toRGB/YUV422toRGB.vcproj \ + ./ConversionUtils/YUV422toYUV420/YUV422toYUV420.vcproj \ + ./ConversionUtils/YUV422ItoYUV420I/YUV422ItoYUV420I.vcproj \ + ./ConversionUtils/YUV422toUYVY/YUV422toUYVY.vcproj \ ./ConversionUtils/UYVYtoRGB/UYVYtoRGB.vcproj \ + ./ConversionUtils/UYVYtoYUV422/UYVYtoYUV422.vcproj \ ./ConversionUtils/ConversionUtils.vcproj \ ./ConversionUtils/YUV444toRGB/YUV444toRGB.vcproj \ ./ConversionUtils/RGBtoBMP/RGBtoBMP.vcproj \ diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VisualStudio/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VisualStudio/Makefile.in --- dirac-0.9.1/win32/VisualStudio/Makefile.in 2008-01-26 12:30:39.000000000 +0000 +++ dirac-1.0.2/win32/VisualStudio/Makefile.in 2009-02-11 01:43:39.000000000 +0000 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# Makefile.in generated by automake 1.10.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in 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. @@ -14,17 +14,13 @@ @SET_MAKE@ -# $Id: Makefile.am,v 1.1 2007/03/28 14:31:28 asuraparaju Exp $ +# $Id: Makefile.am,v 1.4 2009/02/10 03:12:58 asuraparaju Exp $ # -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -41,7 +37,8 @@ subdir = win32/VisualStudio DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -51,8 +48,7 @@ DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ +ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ @@ -75,62 +71,46 @@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ +FGREP = @FGREP@ GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ GENERIC_RELEASE = @GENERIC_RELEASE@ GENERIC_VERSION = @GENERIC_VERSION@ GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBEXT = @LIBEXT@ LIBFLAGS = @LIBFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ @@ -139,22 +119,19 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ VALGRIND = @VALGRIND@ VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -166,6 +143,7 @@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -184,6 +162,7 @@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ @@ -193,8 +172,12 @@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ EXTRA_DIST = dirac.sln \ ./libdirac_motionest/libdirac_motionest.vcproj \ ./DiracEncoder/libdirac_encoder/libdirac_encoder.vcproj \ @@ -212,9 +195,17 @@ ./ConversionUtils/YUV411toRGB/YUV411toRGB.vcproj \ ./ConversionUtils/RGBtoUYVY/RGBtoUYVY.vcproj \ ./ConversionUtils/BMPtoRGB/BMPtoRGB.vcproj \ + ./ConversionUtils/YUV420Down2x2/YUV420Down2x2.vcproj \ + ./ConversionUtils/YUV420pt75filter/YUV420pt75filter.vcproj \ ./ConversionUtils/YUV420toRGB/YUV420toRGB.vcproj \ + ./ConversionUtils/YUV420toYUV422/YUV420toYUV422.vcproj \ + ./ConversionUtils/YUV420ItoYUV422I/YUV420ItoYUV422I.vcproj \ ./ConversionUtils/YUV422toRGB/YUV422toRGB.vcproj \ + ./ConversionUtils/YUV422toYUV420/YUV422toYUV420.vcproj \ + ./ConversionUtils/YUV422ItoYUV420I/YUV422ItoYUV420I.vcproj \ + ./ConversionUtils/YUV422toUYVY/YUV422toUYVY.vcproj \ ./ConversionUtils/UYVYtoRGB/UYVYtoRGB.vcproj \ + ./ConversionUtils/UYVYtoYUV422/UYVYtoYUV422.vcproj \ ./ConversionUtils/ConversionUtils.vcproj \ ./ConversionUtils/YUV444toRGB/YUV444toRGB.vcproj \ ./ConversionUtils/RGBtoBMP/RGBtoBMP.vcproj \ @@ -262,10 +253,6 @@ clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: tags: TAGS TAGS: @@ -274,23 +261,21 @@ distdir: $(DISTFILES) - $(mkdir_p) $(distdir)/./ConversionUtils $(distdir)/./ConversionUtils/BMPtoRGB $(distdir)/./ConversionUtils/RGBtoBMP $(distdir)/./ConversionUtils/RGBtoUYVY $(distdir)/./ConversionUtils/RGBtoYUV411 $(distdir)/./ConversionUtils/RGBtoYUV420 $(distdir)/./ConversionUtils/RGBtoYUV422 $(distdir)/./ConversionUtils/RGBtoYUV444 $(distdir)/./ConversionUtils/UYVYtoRGB $(distdir)/./ConversionUtils/YUV411toRGB $(distdir)/./ConversionUtils/YUV420toRGB $(distdir)/./ConversionUtils/YUV422toRGB $(distdir)/./ConversionUtils/YUV444toRGB $(distdir)/./ConversionUtils/libconv_common $(distdir)/./DecodeDirac $(distdir)/./DiracDecoder $(distdir)/./DiracDecoder/libdirac_decoder $(distdir)/./DiracEncoder $(distdir)/./DiracEncoder/libdirac_encoder $(distdir)/./EncodeDirac $(distdir)/./Everything $(distdir)/./InstrumentDirac $(distdir)/./InstrumentDirac/libdirac_instrument $(distdir)/./MakeHeader $(distdir)/./libdirac_byteio $(distdir)/./libdirac_common $(distdir)/./libdirac_motionest - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -335,7 +320,7 @@ distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am @@ -349,12 +334,20 @@ install-data-am: +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -373,17 +366,20 @@ ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-exec install-exec-am \ - install-info install-info-am install-man install-strip \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/ConversionUtils/BMPtoRGB/BMPtoRGB.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/ConversionUtils/BMPtoRGB/BMPtoRGB.vcproj --- dirac-0.9.1/win32/VS2003/ConversionUtils/BMPtoRGB/BMPtoRGB.vcproj 2005-02-15 11:39:06.000000000 +0000 +++ dirac-1.0.2/win32/VS2003/ConversionUtils/BMPtoRGB/BMPtoRGB.vcproj 1970-01-01 01:00:00.000000000 +0100 @@ -1,326 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/ConversionUtils/ConversionUtils.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/ConversionUtils/ConversionUtils.vcproj --- dirac-0.9.1/win32/VS2003/ConversionUtils/ConversionUtils.vcproj 2005-02-15 11:39:06.000000000 +0000 +++ dirac-1.0.2/win32/VS2003/ConversionUtils/ConversionUtils.vcproj 1970-01-01 01:00:00.000000000 +0100 @@ -1,302 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/ConversionUtils/libconv_common/libconv_common.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/ConversionUtils/libconv_common/libconv_common.vcproj --- dirac-0.9.1/win32/VS2003/ConversionUtils/libconv_common/libconv_common.vcproj 2006-04-20 11:41:58.000000000 +0100 +++ dirac-1.0.2/win32/VS2003/ConversionUtils/libconv_common/libconv_common.vcproj 1970-01-01 01:00:00.000000000 +0100 @@ -1,284 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/ConversionUtils/RGBtoBMP/RGBtoBMP.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/ConversionUtils/RGBtoBMP/RGBtoBMP.vcproj --- dirac-0.9.1/win32/VS2003/ConversionUtils/RGBtoBMP/RGBtoBMP.vcproj 2005-02-15 11:39:07.000000000 +0000 +++ dirac-1.0.2/win32/VS2003/ConversionUtils/RGBtoBMP/RGBtoBMP.vcproj 1970-01-01 01:00:00.000000000 +0100 @@ -1,329 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/ConversionUtils/RGBtoUYVY/RGBtoUYVY.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/ConversionUtils/RGBtoUYVY/RGBtoUYVY.vcproj --- dirac-0.9.1/win32/VS2003/ConversionUtils/RGBtoUYVY/RGBtoUYVY.vcproj 2005-02-15 11:39:07.000000000 +0000 +++ dirac-1.0.2/win32/VS2003/ConversionUtils/RGBtoUYVY/RGBtoUYVY.vcproj 1970-01-01 01:00:00.000000000 +0100 @@ -1,329 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/ConversionUtils/RGBtoYUV411/RGBtoYUV411.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/ConversionUtils/RGBtoYUV411/RGBtoYUV411.vcproj --- dirac-0.9.1/win32/VS2003/ConversionUtils/RGBtoYUV411/RGBtoYUV411.vcproj 2005-02-15 11:39:07.000000000 +0000 +++ dirac-1.0.2/win32/VS2003/ConversionUtils/RGBtoYUV411/RGBtoYUV411.vcproj 1970-01-01 01:00:00.000000000 +0100 @@ -1,326 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/ConversionUtils/RGBtoYUV420/RGBtoYUV420.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/ConversionUtils/RGBtoYUV420/RGBtoYUV420.vcproj --- dirac-0.9.1/win32/VS2003/ConversionUtils/RGBtoYUV420/RGBtoYUV420.vcproj 2005-02-15 11:39:07.000000000 +0000 +++ dirac-1.0.2/win32/VS2003/ConversionUtils/RGBtoYUV420/RGBtoYUV420.vcproj 1970-01-01 01:00:00.000000000 +0100 @@ -1,326 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/ConversionUtils/RGBtoYUV422/RGBtoYUV422.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/ConversionUtils/RGBtoYUV422/RGBtoYUV422.vcproj --- dirac-0.9.1/win32/VS2003/ConversionUtils/RGBtoYUV422/RGBtoYUV422.vcproj 2005-02-15 11:39:08.000000000 +0000 +++ dirac-1.0.2/win32/VS2003/ConversionUtils/RGBtoYUV422/RGBtoYUV422.vcproj 1970-01-01 01:00:00.000000000 +0100 @@ -1,326 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/ConversionUtils/RGBtoYUV444/RGBtoYUV444.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/ConversionUtils/RGBtoYUV444/RGBtoYUV444.vcproj --- dirac-0.9.1/win32/VS2003/ConversionUtils/RGBtoYUV444/RGBtoYUV444.vcproj 2005-02-15 11:39:08.000000000 +0000 +++ dirac-1.0.2/win32/VS2003/ConversionUtils/RGBtoYUV444/RGBtoYUV444.vcproj 1970-01-01 01:00:00.000000000 +0100 @@ -1,326 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/ConversionUtils/UYVYtoRGB/UYVYtoRGB.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/ConversionUtils/UYVYtoRGB/UYVYtoRGB.vcproj --- dirac-0.9.1/win32/VS2003/ConversionUtils/UYVYtoRGB/UYVYtoRGB.vcproj 2005-02-15 11:39:08.000000000 +0000 +++ dirac-1.0.2/win32/VS2003/ConversionUtils/UYVYtoRGB/UYVYtoRGB.vcproj 1970-01-01 01:00:00.000000000 +0100 @@ -1,326 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/ConversionUtils/YUV411toRGB/YUV411toRGB.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/ConversionUtils/YUV411toRGB/YUV411toRGB.vcproj --- dirac-0.9.1/win32/VS2003/ConversionUtils/YUV411toRGB/YUV411toRGB.vcproj 2005-02-15 11:39:08.000000000 +0000 +++ dirac-1.0.2/win32/VS2003/ConversionUtils/YUV411toRGB/YUV411toRGB.vcproj 1970-01-01 01:00:00.000000000 +0100 @@ -1,326 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/ConversionUtils/YUV420toRGB/YUV420toRGB.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/ConversionUtils/YUV420toRGB/YUV420toRGB.vcproj --- dirac-0.9.1/win32/VS2003/ConversionUtils/YUV420toRGB/YUV420toRGB.vcproj 2005-02-15 11:39:09.000000000 +0000 +++ dirac-1.0.2/win32/VS2003/ConversionUtils/YUV420toRGB/YUV420toRGB.vcproj 1970-01-01 01:00:00.000000000 +0100 @@ -1,326 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/ConversionUtils/YUV422toRGB/YUV422toRGB.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/ConversionUtils/YUV422toRGB/YUV422toRGB.vcproj --- dirac-0.9.1/win32/VS2003/ConversionUtils/YUV422toRGB/YUV422toRGB.vcproj 2005-02-15 11:39:09.000000000 +0000 +++ dirac-1.0.2/win32/VS2003/ConversionUtils/YUV422toRGB/YUV422toRGB.vcproj 1970-01-01 01:00:00.000000000 +0100 @@ -1,326 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/ConversionUtils/YUV444toRGB/YUV444toRGB.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/ConversionUtils/YUV444toRGB/YUV444toRGB.vcproj --- dirac-0.9.1/win32/VS2003/ConversionUtils/YUV444toRGB/YUV444toRGB.vcproj 2005-02-15 11:39:09.000000000 +0000 +++ dirac-1.0.2/win32/VS2003/ConversionUtils/YUV444toRGB/YUV444toRGB.vcproj 1970-01-01 01:00:00.000000000 +0100 @@ -1,326 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/DecodeDirac/DecodeDirac.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/DecodeDirac/DecodeDirac.vcproj --- dirac-0.9.1/win32/VS2003/DecodeDirac/DecodeDirac.vcproj 2007-09-06 14:02:50.000000000 +0100 +++ dirac-1.0.2/win32/VS2003/DecodeDirac/DecodeDirac.vcproj 1970-01-01 01:00:00.000000000 +0100 @@ -1,422 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/DiracDecoder/DiracDecoder.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/DiracDecoder/DiracDecoder.vcproj --- dirac-0.9.1/win32/VS2003/DiracDecoder/DiracDecoder.vcproj 2007-09-06 14:02:50.000000000 +0100 +++ dirac-1.0.2/win32/VS2003/DiracDecoder/DiracDecoder.vcproj 1970-01-01 01:00:00.000000000 +0100 @@ -1,434 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/DiracDecoder/libdirac_decoder/libdirac_decoder.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/DiracDecoder/libdirac_decoder/libdirac_decoder.vcproj --- dirac-0.9.1/win32/VS2003/DiracDecoder/libdirac_decoder/libdirac_decoder.vcproj 2005-08-01 17:12:37.000000000 +0100 +++ dirac-1.0.2/win32/VS2003/DiracDecoder/libdirac_decoder/libdirac_decoder.vcproj 1970-01-01 01:00:00.000000000 +0100 @@ -1,406 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/DiracEncoder/DiracEncoder.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/DiracEncoder/DiracEncoder.vcproj --- dirac-0.9.1/win32/VS2003/DiracEncoder/DiracEncoder.vcproj 2007-09-06 14:02:50.000000000 +0100 +++ dirac-1.0.2/win32/VS2003/DiracEncoder/DiracEncoder.vcproj 1970-01-01 01:00:00.000000000 +0100 @@ -1,424 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/DiracEncoder/libdirac_encoder/libdirac_encoder.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/DiracEncoder/libdirac_encoder/libdirac_encoder.vcproj --- dirac-0.9.1/win32/VS2003/DiracEncoder/libdirac_encoder/libdirac_encoder.vcproj 2007-09-06 14:02:50.000000000 +0100 +++ dirac-1.0.2/win32/VS2003/DiracEncoder/libdirac_encoder/libdirac_encoder.vcproj 1970-01-01 01:00:00.000000000 +0100 @@ -1,424 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/dirac.sln /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/dirac.sln --- dirac-0.9.1/win32/VS2003/dirac.sln 2006-04-20 11:41:58.000000000 +0100 +++ dirac-1.0.2/win32/VS2003/dirac.sln 1970-01-01 01:00:00.000000000 +0100 @@ -1,582 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 8.00 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EncodeDirac", "EncodeDirac\EncodeDirac.vcproj", "{547FE1E9-70EF-48D4-B45B-2FF39B39855D}" - ProjectSection(ProjectDependencies) = postProject - {2C769629-D6F8-471D-91E7-E01CD8F02634} = {2C769629-D6F8-471D-91E7-E01CD8F02634} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libdirac_decoder", "DiracDecoder\libdirac_decoder\libdirac_decoder.vcproj", "{89EC2AEB-8284-4213-874B-29D549893FC9}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DiracDecoder", "DiracDecoder\DiracDecoder.vcproj", "{7029B512-6BF1-4B6E-A456-F409FF8E2B15}" - ProjectSection(ProjectDependencies) = postProject - {E474E61D-AA40-40C5-8DDD-208CCC21463E} = {E474E61D-AA40-40C5-8DDD-208CCC21463E} - {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21} = {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21} - {89EC2AEB-8284-4213-874B-29D549893FC9} = {89EC2AEB-8284-4213-874B-29D549893FC9} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libdirac_common", "libdirac_common\libdirac_common.vcproj", "{A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libdirac_encoder", "DiracEncoder\libdirac_encoder\libdirac_encoder.vcproj", "{9076B578-583A-493D-96C4-776DCEC0FFBD}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DiracEncoder", "DiracEncoder\DiracEncoder.vcproj", "{2C769629-D6F8-471D-91E7-E01CD8F02634}" - ProjectSection(ProjectDependencies) = postProject - {E474E61D-AA40-40C5-8DDD-208CCC21463E} = {E474E61D-AA40-40C5-8DDD-208CCC21463E} - {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21} = {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21} - {9076B578-583A-493D-96C4-776DCEC0FFBD} = {9076B578-583A-493D-96C4-776DCEC0FFBD} - {C6A615BF-D4EB-4D50-9638-2C715E0695C6} = {C6A615BF-D4EB-4D50-9638-2C715E0695C6} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libdirac_motionest", "libdirac_motionest\libdirac_motionest.vcproj", "{C6A615BF-D4EB-4D50-9638-2C715E0695C6}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InstrumentDirac", "InstrumentDirac\InstrumentDirac.vcproj", "{5C973AC9-0BCD-40F3-9898-C9D47FB3E089}" - ProjectSection(ProjectDependencies) = postProject - {93B1C80F-D484-404A-8FA8-0288A2096D0E} = {93B1C80F-D484-404A-8FA8-0288A2096D0E} - {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21} = {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21} - {9076B578-583A-493D-96C4-776DCEC0FFBD} = {9076B578-583A-493D-96C4-776DCEC0FFBD} - {C6A615BF-D4EB-4D50-9638-2C715E0695C6} = {C6A615BF-D4EB-4D50-9638-2C715E0695C6} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libdirac_instrument", "InstrumentDirac\libdirac_instrument\libdirac_instrument.vcproj", "{93B1C80F-D484-404A-8FA8-0288A2096D0E}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libconv_common", "ConversionUtils\libconv_common\libconv_common.vcproj", "{B1910FCC-D37C-4872-ADAE-7487997ACFB4}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RGBtoBMP", "ConversionUtils\RGBtoBMP\RGBtoBMP.vcproj", "{036099B4-6611-42BA-A1BC-30E4E0997960}" - ProjectSection(ProjectDependencies) = postProject - {B1910FCC-D37C-4872-ADAE-7487997ACFB4} = {B1910FCC-D37C-4872-ADAE-7487997ACFB4} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RGBtoUYVY", "ConversionUtils\RGBtoUYVY\RGBtoUYVY.vcproj", "{2F916724-309F-4C85-A495-CDD449984367}" - ProjectSection(ProjectDependencies) = postProject - {B1910FCC-D37C-4872-ADAE-7487997ACFB4} = {B1910FCC-D37C-4872-ADAE-7487997ACFB4} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RGBtoYUV411", "ConversionUtils\RGBtoYUV411\RGBtoYUV411.vcproj", "{4EFF73A4-3351-4CA1-B549-080BD82EE2BF}" - ProjectSection(ProjectDependencies) = postProject - {B1910FCC-D37C-4872-ADAE-7487997ACFB4} = {B1910FCC-D37C-4872-ADAE-7487997ACFB4} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RGBtoYUV420", "ConversionUtils\RGBtoYUV420\RGBtoYUV420.vcproj", "{E873D5C4-E55E-46C4-B9FF-A24AA4E7CC63}" - ProjectSection(ProjectDependencies) = postProject - {B1910FCC-D37C-4872-ADAE-7487997ACFB4} = {B1910FCC-D37C-4872-ADAE-7487997ACFB4} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RGBtoYUV422", "ConversionUtils\RGBtoYUV422\RGBtoYUV422.vcproj", "{DC5DD8FD-B6A3-49A3-A94C-C085F1BF3F2F}" - ProjectSection(ProjectDependencies) = postProject - {B1910FCC-D37C-4872-ADAE-7487997ACFB4} = {B1910FCC-D37C-4872-ADAE-7487997ACFB4} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RGBtoYUV444", "ConversionUtils\RGBtoYUV444\RGBtoYUV444.vcproj", "{3AE37B17-212E-4840-B71F-4CEF19E95631}" - ProjectSection(ProjectDependencies) = postProject - {B1910FCC-D37C-4872-ADAE-7487997ACFB4} = {B1910FCC-D37C-4872-ADAE-7487997ACFB4} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UYVYtoRGB", "ConversionUtils\UYVYtoRGB\UYVYtoRGB.vcproj", "{7517256C-D7C2-4089-B3D5-533C4BF0C12B}" - ProjectSection(ProjectDependencies) = postProject - {B1910FCC-D37C-4872-ADAE-7487997ACFB4} = {B1910FCC-D37C-4872-ADAE-7487997ACFB4} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "YUV411toRGB", "ConversionUtils\YUV411toRGB\YUV411toRGB.vcproj", "{1C1BA318-A550-40AF-AF17-25E868B7C007}" - ProjectSection(ProjectDependencies) = postProject - {B1910FCC-D37C-4872-ADAE-7487997ACFB4} = {B1910FCC-D37C-4872-ADAE-7487997ACFB4} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "YUV420toRGB", "ConversionUtils\YUV420toRGB\YUV420toRGB.vcproj", "{BBB9B426-5043-408D-AEED-70EC9AF18ABF}" - ProjectSection(ProjectDependencies) = postProject - {B1910FCC-D37C-4872-ADAE-7487997ACFB4} = {B1910FCC-D37C-4872-ADAE-7487997ACFB4} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "YUV422toRGB", "ConversionUtils\YUV422toRGB\YUV422toRGB.vcproj", "{959E784C-8302-4946-9A3B-E119FF68F25C}" - ProjectSection(ProjectDependencies) = postProject - {B1910FCC-D37C-4872-ADAE-7487997ACFB4} = {B1910FCC-D37C-4872-ADAE-7487997ACFB4} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "YUV444toRGB", "ConversionUtils\YUV444toRGB\YUV444toRGB.vcproj", "{EC4F243F-59EB-4357-A9CD-51231925047A}" - ProjectSection(ProjectDependencies) = postProject - {B1910FCC-D37C-4872-ADAE-7487997ACFB4} = {B1910FCC-D37C-4872-ADAE-7487997ACFB4} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ConversionUtils", "ConversionUtils\ConversionUtils.vcproj", "{D9235668-CCC4-4D49-9457-C22D55F38A13}" - ProjectSection(ProjectDependencies) = postProject - {3AE37B17-212E-4840-B71F-4CEF19E95631} = {3AE37B17-212E-4840-B71F-4CEF19E95631} - {1C1BA318-A550-40AF-AF17-25E868B7C007} = {1C1BA318-A550-40AF-AF17-25E868B7C007} - {2F916724-309F-4C85-A495-CDD449984367} = {2F916724-309F-4C85-A495-CDD449984367} - {BBB9B426-5043-408D-AEED-70EC9AF18ABF} = {BBB9B426-5043-408D-AEED-70EC9AF18ABF} - {EC4F243F-59EB-4357-A9CD-51231925047A} = {EC4F243F-59EB-4357-A9CD-51231925047A} - {959E784C-8302-4946-9A3B-E119FF68F25C} = {959E784C-8302-4946-9A3B-E119FF68F25C} - {7517256C-D7C2-4089-B3D5-533C4BF0C12B} = {7517256C-D7C2-4089-B3D5-533C4BF0C12B} - {4EFF73A4-3351-4CA1-B549-080BD82EE2BF} = {4EFF73A4-3351-4CA1-B549-080BD82EE2BF} - {036099B4-6611-42BA-A1BC-30E4E0997960} = {036099B4-6611-42BA-A1BC-30E4E0997960} - {E873D5C4-E55E-46C4-B9FF-A24AA4E7CC63} = {E873D5C4-E55E-46C4-B9FF-A24AA4E7CC63} - {95293CF2-A288-44C8-970C-6CF4685C35D7} = {95293CF2-A288-44C8-970C-6CF4685C35D7} - {DC5DD8FD-B6A3-49A3-A94C-C085F1BF3F2F} = {DC5DD8FD-B6A3-49A3-A94C-C085F1BF3F2F} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Everything", "Everything\Everything.vcproj", "{F48438BC-2E0A-4559-9A20-B4D8F032BE6A}" - ProjectSection(ProjectDependencies) = postProject - {7029B512-6BF1-4B6E-A456-F409FF8E2B15} = {7029B512-6BF1-4B6E-A456-F409FF8E2B15} - {2C769629-D6F8-471D-91E7-E01CD8F02634} = {2C769629-D6F8-471D-91E7-E01CD8F02634} - {D9235668-CCC4-4D49-9457-C22D55F38A13} = {D9235668-CCC4-4D49-9457-C22D55F38A13} - {E932FA89-6EAA-4D9C-A5D3-1C84E3CB7210} = {E932FA89-6EAA-4D9C-A5D3-1C84E3CB7210} - {5C973AC9-0BCD-40F3-9898-C9D47FB3E089} = {5C973AC9-0BCD-40F3-9898-C9D47FB3E089} - {547FE1E9-70EF-48D4-B45B-2FF39B39855D} = {547FE1E9-70EF-48D4-B45B-2FF39B39855D} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BMPtoRGB", "ConversionUtils\BMPtoRGB\BMPtoRGB.vcproj", "{95293CF2-A288-44C8-970C-6CF4685C35D7}" - ProjectSection(ProjectDependencies) = postProject - {B1910FCC-D37C-4872-ADAE-7487997ACFB4} = {B1910FCC-D37C-4872-ADAE-7487997ACFB4} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DecodeDirac", "DecodeDirac\DecodeDirac.vcproj", "{E932FA89-6EAA-4D9C-A5D3-1C84E3CB7210}" - ProjectSection(ProjectDependencies) = postProject - {7029B512-6BF1-4B6E-A456-F409FF8E2B15} = {7029B512-6BF1-4B6E-A456-F409FF8E2B15} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libdirac_byteio", "libdirac_byteio\libdirac_byteio.vcproj", "{E474E61D-AA40-40C5-8DDD-208CCC21463E}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfiguration) = preSolution - Debug = Debug - Debug-mmx = Debug-mmx - Release = Release - Release-mmx = Release-mmx - Static-Debug = Static-Debug - Static-Debug-mmx = Static-Debug-mmx - Static-Release = Static-Release - Static-release-mmx = Static-release-mmx - EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Debug.ActiveCfg = Debug|Win32 - {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Debug.Build.0 = Debug|Win32 - {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Debug-mmx.ActiveCfg = Debug-mmx|Win32 - {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Debug-mmx.Build.0 = Debug-mmx|Win32 - {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Release.ActiveCfg = Release|Win32 - {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Release.Build.0 = Release|Win32 - {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Release-mmx.ActiveCfg = Release-mmx|Win32 - {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Release-mmx.Build.0 = Release-mmx|Win32 - {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Static-Debug.ActiveCfg = Static-Debug|Win32 - {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Static-Debug.Build.0 = Static-Debug|Win32 - {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Static-Debug-mmx.ActiveCfg = Static-Debug-mmx|Win32 - {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Static-Debug-mmx.Build.0 = Static-Debug-mmx|Win32 - {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Static-Release.ActiveCfg = Static-Release|Win32 - {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Static-Release.Build.0 = Static-Release|Win32 - {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Static-release-mmx.ActiveCfg = Static-release-mmx|Win32 - {547FE1E9-70EF-48D4-B45B-2FF39B39855D}.Static-release-mmx.Build.0 = Static-release-mmx|Win32 - {89EC2AEB-8284-4213-874B-29D549893FC9}.Debug.ActiveCfg = Debug|Win32 - {89EC2AEB-8284-4213-874B-29D549893FC9}.Debug.Build.0 = Debug|Win32 - {89EC2AEB-8284-4213-874B-29D549893FC9}.Debug-mmx.ActiveCfg = Debug-mmx|Win32 - {89EC2AEB-8284-4213-874B-29D549893FC9}.Debug-mmx.Build.0 = Debug-mmx|Win32 - {89EC2AEB-8284-4213-874B-29D549893FC9}.Release.ActiveCfg = Release|Win32 - {89EC2AEB-8284-4213-874B-29D549893FC9}.Release.Build.0 = Release|Win32 - {89EC2AEB-8284-4213-874B-29D549893FC9}.Release-mmx.ActiveCfg = Release-mmx|Win32 - {89EC2AEB-8284-4213-874B-29D549893FC9}.Release-mmx.Build.0 = Release-mmx|Win32 - {89EC2AEB-8284-4213-874B-29D549893FC9}.Static-Debug.ActiveCfg = Debug|Win32 - {89EC2AEB-8284-4213-874B-29D549893FC9}.Static-Debug.Build.0 = Debug|Win32 - {89EC2AEB-8284-4213-874B-29D549893FC9}.Static-Debug-mmx.ActiveCfg = Static-Debug-mmx|Win32 - {89EC2AEB-8284-4213-874B-29D549893FC9}.Static-Debug-mmx.Build.0 = Static-Debug-mmx|Win32 - {89EC2AEB-8284-4213-874B-29D549893FC9}.Static-Release.ActiveCfg = Release|Win32 - {89EC2AEB-8284-4213-874B-29D549893FC9}.Static-Release.Build.0 = Release|Win32 - {89EC2AEB-8284-4213-874B-29D549893FC9}.Static-release-mmx.ActiveCfg = Static-release-mmx|Win32 - {89EC2AEB-8284-4213-874B-29D549893FC9}.Static-release-mmx.Build.0 = Static-release-mmx|Win32 - {7029B512-6BF1-4B6E-A456-F409FF8E2B15}.Debug.ActiveCfg = Debug|Win32 - {7029B512-6BF1-4B6E-A456-F409FF8E2B15}.Debug.Build.0 = Debug|Win32 - {7029B512-6BF1-4B6E-A456-F409FF8E2B15}.Debug-mmx.ActiveCfg = Debug-mmx|Win32 - {7029B512-6BF1-4B6E-A456-F409FF8E2B15}.Debug-mmx.Build.0 = Debug-mmx|Win32 - {7029B512-6BF1-4B6E-A456-F409FF8E2B15}.Release.ActiveCfg = Release|Win32 - {7029B512-6BF1-4B6E-A456-F409FF8E2B15}.Release.Build.0 = Release|Win32 - {7029B512-6BF1-4B6E-A456-F409FF8E2B15}.Release-mmx.ActiveCfg = Release-mmx|Win32 - {7029B512-6BF1-4B6E-A456-F409FF8E2B15}.Release-mmx.Build.0 = Release-mmx|Win32 - {7029B512-6BF1-4B6E-A456-F409FF8E2B15}.Static-Debug.ActiveCfg = Static-Debug|Win32 - {7029B512-6BF1-4B6E-A456-F409FF8E2B15}.Static-Debug.Build.0 = Static-Debug|Win32 - {7029B512-6BF1-4B6E-A456-F409FF8E2B15}.Static-Debug-mmx.ActiveCfg = Static-Debug-mmx|Win32 - {7029B512-6BF1-4B6E-A456-F409FF8E2B15}.Static-Debug-mmx.Build.0 = Static-Debug-mmx|Win32 - {7029B512-6BF1-4B6E-A456-F409FF8E2B15}.Static-Release.ActiveCfg = Static-Release|Win32 - {7029B512-6BF1-4B6E-A456-F409FF8E2B15}.Static-Release.Build.0 = Static-Release|Win32 - {7029B512-6BF1-4B6E-A456-F409FF8E2B15}.Static-release-mmx.ActiveCfg = Static-release-mmx|Win32 - {7029B512-6BF1-4B6E-A456-F409FF8E2B15}.Static-release-mmx.Build.0 = Static-release-mmx|Win32 - {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Debug.ActiveCfg = Debug|Win32 - {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Debug.Build.0 = Debug|Win32 - {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Debug-mmx.ActiveCfg = Debug-mmx|Win32 - {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Debug-mmx.Build.0 = Debug-mmx|Win32 - {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Release.ActiveCfg = Release|Win32 - {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Release.Build.0 = Release|Win32 - {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Release-mmx.ActiveCfg = Release-mmx|Win32 - {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Release-mmx.Build.0 = Release-mmx|Win32 - {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Static-Debug.ActiveCfg = Debug|Win32 - {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Static-Debug.Build.0 = Debug|Win32 - {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Static-Debug-mmx.ActiveCfg = Static-Debug-mmx|Win32 - {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Static-Debug-mmx.Build.0 = Static-Debug-mmx|Win32 - {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Static-Release.ActiveCfg = Release|Win32 - {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Static-Release.Build.0 = Release|Win32 - {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Static-release-mmx.ActiveCfg = Static-release-mmx|Win32 - {A45B7D48-9E8D-4475-BED4-CBE3E3CCAD21}.Static-release-mmx.Build.0 = Static-release-mmx|Win32 - {9076B578-583A-493D-96C4-776DCEC0FFBD}.Debug.ActiveCfg = Debug|Win32 - {9076B578-583A-493D-96C4-776DCEC0FFBD}.Debug.Build.0 = Debug|Win32 - {9076B578-583A-493D-96C4-776DCEC0FFBD}.Debug-mmx.ActiveCfg = Debug-mmx|Win32 - {9076B578-583A-493D-96C4-776DCEC0FFBD}.Debug-mmx.Build.0 = Debug-mmx|Win32 - {9076B578-583A-493D-96C4-776DCEC0FFBD}.Release.ActiveCfg = Release|Win32 - {9076B578-583A-493D-96C4-776DCEC0FFBD}.Release.Build.0 = Release|Win32 - {9076B578-583A-493D-96C4-776DCEC0FFBD}.Release-mmx.ActiveCfg = Release-mmx|Win32 - {9076B578-583A-493D-96C4-776DCEC0FFBD}.Release-mmx.Build.0 = Release-mmx|Win32 - {9076B578-583A-493D-96C4-776DCEC0FFBD}.Static-Debug.ActiveCfg = Debug|Win32 - {9076B578-583A-493D-96C4-776DCEC0FFBD}.Static-Debug.Build.0 = Debug|Win32 - {9076B578-583A-493D-96C4-776DCEC0FFBD}.Static-Debug-mmx.ActiveCfg = Static-Debug-mmx|Win32 - {9076B578-583A-493D-96C4-776DCEC0FFBD}.Static-Debug-mmx.Build.0 = Static-Debug-mmx|Win32 - {9076B578-583A-493D-96C4-776DCEC0FFBD}.Static-Release.ActiveCfg = Release|Win32 - {9076B578-583A-493D-96C4-776DCEC0FFBD}.Static-Release.Build.0 = Release|Win32 - {9076B578-583A-493D-96C4-776DCEC0FFBD}.Static-release-mmx.ActiveCfg = Static-release-mmx|Win32 - {9076B578-583A-493D-96C4-776DCEC0FFBD}.Static-release-mmx.Build.0 = Static-release-mmx|Win32 - {2C769629-D6F8-471D-91E7-E01CD8F02634}.Debug.ActiveCfg = Debug|Win32 - {2C769629-D6F8-471D-91E7-E01CD8F02634}.Debug.Build.0 = Debug|Win32 - {2C769629-D6F8-471D-91E7-E01CD8F02634}.Debug-mmx.ActiveCfg = Debug-mmx|Win32 - {2C769629-D6F8-471D-91E7-E01CD8F02634}.Debug-mmx.Build.0 = Debug-mmx|Win32 - {2C769629-D6F8-471D-91E7-E01CD8F02634}.Release.ActiveCfg = Release|Win32 - {2C769629-D6F8-471D-91E7-E01CD8F02634}.Release.Build.0 = Release|Win32 - {2C769629-D6F8-471D-91E7-E01CD8F02634}.Release-mmx.ActiveCfg = Release-mmx|Win32 - {2C769629-D6F8-471D-91E7-E01CD8F02634}.Release-mmx.Build.0 = Release-mmx|Win32 - {2C769629-D6F8-471D-91E7-E01CD8F02634}.Static-Debug.ActiveCfg = Static-Debug|Win32 - {2C769629-D6F8-471D-91E7-E01CD8F02634}.Static-Debug.Build.0 = Static-Debug|Win32 - {2C769629-D6F8-471D-91E7-E01CD8F02634}.Static-Debug-mmx.ActiveCfg = Static-Debug-mmx|Win32 - {2C769629-D6F8-471D-91E7-E01CD8F02634}.Static-Debug-mmx.Build.0 = Static-Debug-mmx|Win32 - {2C769629-D6F8-471D-91E7-E01CD8F02634}.Static-Release.ActiveCfg = Static-Release|Win32 - {2C769629-D6F8-471D-91E7-E01CD8F02634}.Static-Release.Build.0 = Static-Release|Win32 - {2C769629-D6F8-471D-91E7-E01CD8F02634}.Static-release-mmx.ActiveCfg = Static-release-mmx|Win32 - {2C769629-D6F8-471D-91E7-E01CD8F02634}.Static-release-mmx.Build.0 = Static-release-mmx|Win32 - {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Debug.ActiveCfg = Debug|Win32 - {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Debug.Build.0 = Debug|Win32 - {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Debug-mmx.ActiveCfg = Debug-mmx|Win32 - {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Debug-mmx.Build.0 = Debug-mmx|Win32 - {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Release.ActiveCfg = Release|Win32 - {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Release.Build.0 = Release|Win32 - {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Release-mmx.ActiveCfg = Release-mmx|Win32 - {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Release-mmx.Build.0 = Release-mmx|Win32 - {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Static-Debug.ActiveCfg = Debug|Win32 - {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Static-Debug.Build.0 = Debug|Win32 - {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Static-Debug-mmx.ActiveCfg = Static-Debug-mmx|Win32 - {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Static-Debug-mmx.Build.0 = Static-Debug-mmx|Win32 - {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Static-Release.ActiveCfg = Release|Win32 - {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Static-Release.Build.0 = Release|Win32 - {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Static-release-mmx.ActiveCfg = Static-release-mmx|Win32 - {C6A615BF-D4EB-4D50-9638-2C715E0695C6}.Static-release-mmx.Build.0 = Static-release-mmx|Win32 - {5C973AC9-0BCD-40F3-9898-C9D47FB3E089}.Debug.ActiveCfg = Debug|Win32 - {5C973AC9-0BCD-40F3-9898-C9D47FB3E089}.Debug.Build.0 = Debug|Win32 - {5C973AC9-0BCD-40F3-9898-C9D47FB3E089}.Debug-mmx.ActiveCfg = Debug-mmx|Win32 - {5C973AC9-0BCD-40F3-9898-C9D47FB3E089}.Debug-mmx.Build.0 = Debug-mmx|Win32 - {5C973AC9-0BCD-40F3-9898-C9D47FB3E089}.Release.ActiveCfg = Release|Win32 - {5C973AC9-0BCD-40F3-9898-C9D47FB3E089}.Release.Build.0 = Release|Win32 - {5C973AC9-0BCD-40F3-9898-C9D47FB3E089}.Release-mmx.ActiveCfg = Release-mmx|Win32 - {5C973AC9-0BCD-40F3-9898-C9D47FB3E089}.Release-mmx.Build.0 = Release-mmx|Win32 - {5C973AC9-0BCD-40F3-9898-C9D47FB3E089}.Static-Debug.ActiveCfg = Debug|Win32 - {5C973AC9-0BCD-40F3-9898-C9D47FB3E089}.Static-Debug.Build.0 = Debug|Win32 - {5C973AC9-0BCD-40F3-9898-C9D47FB3E089}.Static-Debug-mmx.ActiveCfg = Static-Debug-mmx|Win32 - {5C973AC9-0BCD-40F3-9898-C9D47FB3E089}.Static-Debug-mmx.Build.0 = Static-Debug-mmx|Win32 - {5C973AC9-0BCD-40F3-9898-C9D47FB3E089}.Static-Release.ActiveCfg = Release|Win32 - {5C973AC9-0BCD-40F3-9898-C9D47FB3E089}.Static-Release.Build.0 = Release|Win32 - {5C973AC9-0BCD-40F3-9898-C9D47FB3E089}.Static-release-mmx.ActiveCfg = Static-release-mmx|Win32 - {5C973AC9-0BCD-40F3-9898-C9D47FB3E089}.Static-release-mmx.Build.0 = Static-release-mmx|Win32 - {93B1C80F-D484-404A-8FA8-0288A2096D0E}.Debug.ActiveCfg = Debug|Win32 - {93B1C80F-D484-404A-8FA8-0288A2096D0E}.Debug.Build.0 = Debug|Win32 - {93B1C80F-D484-404A-8FA8-0288A2096D0E}.Debug-mmx.ActiveCfg = Debug-mmx|Win32 - {93B1C80F-D484-404A-8FA8-0288A2096D0E}.Debug-mmx.Build.0 = Debug-mmx|Win32 - {93B1C80F-D484-404A-8FA8-0288A2096D0E}.Release.ActiveCfg = Release|Win32 - {93B1C80F-D484-404A-8FA8-0288A2096D0E}.Release.Build.0 = Release|Win32 - {93B1C80F-D484-404A-8FA8-0288A2096D0E}.Release-mmx.ActiveCfg = Release-mmx|Win32 - {93B1C80F-D484-404A-8FA8-0288A2096D0E}.Release-mmx.Build.0 = Release-mmx|Win32 - {93B1C80F-D484-404A-8FA8-0288A2096D0E}.Static-Debug.ActiveCfg = Debug|Win32 - {93B1C80F-D484-404A-8FA8-0288A2096D0E}.Static-Debug.Build.0 = Debug|Win32 - {93B1C80F-D484-404A-8FA8-0288A2096D0E}.Static-Debug-mmx.ActiveCfg = Static-Debug-mmx|Win32 - {93B1C80F-D484-404A-8FA8-0288A2096D0E}.Static-Debug-mmx.Build.0 = Static-Debug-mmx|Win32 - {93B1C80F-D484-404A-8FA8-0288A2096D0E}.Static-Release.ActiveCfg = Release|Win32 - {93B1C80F-D484-404A-8FA8-0288A2096D0E}.Static-Release.Build.0 = Release|Win32 - {93B1C80F-D484-404A-8FA8-0288A2096D0E}.Static-release-mmx.ActiveCfg = Static-release-mmx|Win32 - {93B1C80F-D484-404A-8FA8-0288A2096D0E}.Static-release-mmx.Build.0 = Static-release-mmx|Win32 - {B1910FCC-D37C-4872-ADAE-7487997ACFB4}.Debug.ActiveCfg = Debug|Win32 - {B1910FCC-D37C-4872-ADAE-7487997ACFB4}.Debug.Build.0 = Debug|Win32 - {B1910FCC-D37C-4872-ADAE-7487997ACFB4}.Debug-mmx.ActiveCfg = Debug-mmx|Win32 - {B1910FCC-D37C-4872-ADAE-7487997ACFB4}.Debug-mmx.Build.0 = Debug-mmx|Win32 - {B1910FCC-D37C-4872-ADAE-7487997ACFB4}.Release.ActiveCfg = Release|Win32 - {B1910FCC-D37C-4872-ADAE-7487997ACFB4}.Release.Build.0 = Release|Win32 - {B1910FCC-D37C-4872-ADAE-7487997ACFB4}.Release-mmx.ActiveCfg = Release-mmx|Win32 - {B1910FCC-D37C-4872-ADAE-7487997ACFB4}.Release-mmx.Build.0 = Release-mmx|Win32 - {B1910FCC-D37C-4872-ADAE-7487997ACFB4}.Static-Debug.ActiveCfg = Debug|Win32 - {B1910FCC-D37C-4872-ADAE-7487997ACFB4}.Static-Debug.Build.0 = Debug|Win32 - {B1910FCC-D37C-4872-ADAE-7487997ACFB4}.Static-Debug-mmx.ActiveCfg = Static-Debug-mmx|Win32 - {B1910FCC-D37C-4872-ADAE-7487997ACFB4}.Static-Debug-mmx.Build.0 = Static-Debug-mmx|Win32 - {B1910FCC-D37C-4872-ADAE-7487997ACFB4}.Static-Release.ActiveCfg = Release|Win32 - {B1910FCC-D37C-4872-ADAE-7487997ACFB4}.Static-Release.Build.0 = Release|Win32 - {B1910FCC-D37C-4872-ADAE-7487997ACFB4}.Static-release-mmx.ActiveCfg = Static-release-mmx|Win32 - {B1910FCC-D37C-4872-ADAE-7487997ACFB4}.Static-release-mmx.Build.0 = Static-release-mmx|Win32 - {036099B4-6611-42BA-A1BC-30E4E0997960}.Debug.ActiveCfg = Debug|Win32 - {036099B4-6611-42BA-A1BC-30E4E0997960}.Debug.Build.0 = Debug|Win32 - {036099B4-6611-42BA-A1BC-30E4E0997960}.Debug-mmx.ActiveCfg = Debug-mmx|Win32 - {036099B4-6611-42BA-A1BC-30E4E0997960}.Debug-mmx.Build.0 = Debug-mmx|Win32 - {036099B4-6611-42BA-A1BC-30E4E0997960}.Release.ActiveCfg = Release|Win32 - {036099B4-6611-42BA-A1BC-30E4E0997960}.Release.Build.0 = Release|Win32 - {036099B4-6611-42BA-A1BC-30E4E0997960}.Release-mmx.ActiveCfg = Release-mmx|Win32 - {036099B4-6611-42BA-A1BC-30E4E0997960}.Release-mmx.Build.0 = Release-mmx|Win32 - {036099B4-6611-42BA-A1BC-30E4E0997960}.Static-Debug.ActiveCfg = Debug|Win32 - {036099B4-6611-42BA-A1BC-30E4E0997960}.Static-Debug.Build.0 = Debug|Win32 - {036099B4-6611-42BA-A1BC-30E4E0997960}.Static-Debug-mmx.ActiveCfg = Static-Debug-mmx|Win32 - {036099B4-6611-42BA-A1BC-30E4E0997960}.Static-Debug-mmx.Build.0 = Static-Debug-mmx|Win32 - {036099B4-6611-42BA-A1BC-30E4E0997960}.Static-Release.ActiveCfg = Release|Win32 - {036099B4-6611-42BA-A1BC-30E4E0997960}.Static-Release.Build.0 = Release|Win32 - {036099B4-6611-42BA-A1BC-30E4E0997960}.Static-release-mmx.ActiveCfg = Static-release-mmx|Win32 - {036099B4-6611-42BA-A1BC-30E4E0997960}.Static-release-mmx.Build.0 = Static-release-mmx|Win32 - {2F916724-309F-4C85-A495-CDD449984367}.Debug.ActiveCfg = Debug|Win32 - {2F916724-309F-4C85-A495-CDD449984367}.Debug.Build.0 = Debug|Win32 - {2F916724-309F-4C85-A495-CDD449984367}.Debug-mmx.ActiveCfg = Debug-mmx|Win32 - {2F916724-309F-4C85-A495-CDD449984367}.Debug-mmx.Build.0 = Debug-mmx|Win32 - {2F916724-309F-4C85-A495-CDD449984367}.Release.ActiveCfg = Release|Win32 - {2F916724-309F-4C85-A495-CDD449984367}.Release.Build.0 = Release|Win32 - {2F916724-309F-4C85-A495-CDD449984367}.Release-mmx.ActiveCfg = Release-mmx|Win32 - {2F916724-309F-4C85-A495-CDD449984367}.Release-mmx.Build.0 = Release-mmx|Win32 - {2F916724-309F-4C85-A495-CDD449984367}.Static-Debug.ActiveCfg = Debug|Win32 - {2F916724-309F-4C85-A495-CDD449984367}.Static-Debug.Build.0 = Debug|Win32 - {2F916724-309F-4C85-A495-CDD449984367}.Static-Debug-mmx.ActiveCfg = Static-Debug-mmx|Win32 - {2F916724-309F-4C85-A495-CDD449984367}.Static-Debug-mmx.Build.0 = Static-Debug-mmx|Win32 - {2F916724-309F-4C85-A495-CDD449984367}.Static-Release.ActiveCfg = Release|Win32 - {2F916724-309F-4C85-A495-CDD449984367}.Static-Release.Build.0 = Release|Win32 - {2F916724-309F-4C85-A495-CDD449984367}.Static-release-mmx.ActiveCfg = Static-release-mmx|Win32 - {2F916724-309F-4C85-A495-CDD449984367}.Static-release-mmx.Build.0 = Static-release-mmx|Win32 - {4EFF73A4-3351-4CA1-B549-080BD82EE2BF}.Debug.ActiveCfg = Debug|Win32 - {4EFF73A4-3351-4CA1-B549-080BD82EE2BF}.Debug.Build.0 = Debug|Win32 - {4EFF73A4-3351-4CA1-B549-080BD82EE2BF}.Debug-mmx.ActiveCfg = Debug-mmx|Win32 - {4EFF73A4-3351-4CA1-B549-080BD82EE2BF}.Debug-mmx.Build.0 = Debug-mmx|Win32 - {4EFF73A4-3351-4CA1-B549-080BD82EE2BF}.Release.ActiveCfg = Release|Win32 - {4EFF73A4-3351-4CA1-B549-080BD82EE2BF}.Release.Build.0 = Release|Win32 - {4EFF73A4-3351-4CA1-B549-080BD82EE2BF}.Release-mmx.ActiveCfg = Release-mmx|Win32 - {4EFF73A4-3351-4CA1-B549-080BD82EE2BF}.Release-mmx.Build.0 = Release-mmx|Win32 - {4EFF73A4-3351-4CA1-B549-080BD82EE2BF}.Static-Debug.ActiveCfg = Debug|Win32 - {4EFF73A4-3351-4CA1-B549-080BD82EE2BF}.Static-Debug.Build.0 = Debug|Win32 - {4EFF73A4-3351-4CA1-B549-080BD82EE2BF}.Static-Debug-mmx.ActiveCfg = Static-Debug-mmx|Win32 - {4EFF73A4-3351-4CA1-B549-080BD82EE2BF}.Static-Debug-mmx.Build.0 = Static-Debug-mmx|Win32 - {4EFF73A4-3351-4CA1-B549-080BD82EE2BF}.Static-Release.ActiveCfg = Release|Win32 - {4EFF73A4-3351-4CA1-B549-080BD82EE2BF}.Static-Release.Build.0 = Release|Win32 - {4EFF73A4-3351-4CA1-B549-080BD82EE2BF}.Static-release-mmx.ActiveCfg = Static-release-mmx|Win32 - {4EFF73A4-3351-4CA1-B549-080BD82EE2BF}.Static-release-mmx.Build.0 = Static-release-mmx|Win32 - {E873D5C4-E55E-46C4-B9FF-A24AA4E7CC63}.Debug.ActiveCfg = Debug|Win32 - {E873D5C4-E55E-46C4-B9FF-A24AA4E7CC63}.Debug.Build.0 = Debug|Win32 - {E873D5C4-E55E-46C4-B9FF-A24AA4E7CC63}.Debug-mmx.ActiveCfg = Debug-mmx|Win32 - {E873D5C4-E55E-46C4-B9FF-A24AA4E7CC63}.Debug-mmx.Build.0 = Debug-mmx|Win32 - {E873D5C4-E55E-46C4-B9FF-A24AA4E7CC63}.Release.ActiveCfg = Release|Win32 - {E873D5C4-E55E-46C4-B9FF-A24AA4E7CC63}.Release.Build.0 = Release|Win32 - {E873D5C4-E55E-46C4-B9FF-A24AA4E7CC63}.Release-mmx.ActiveCfg = Release-mmx|Win32 - {E873D5C4-E55E-46C4-B9FF-A24AA4E7CC63}.Release-mmx.Build.0 = Release-mmx|Win32 - {E873D5C4-E55E-46C4-B9FF-A24AA4E7CC63}.Static-Debug.ActiveCfg = Debug|Win32 - {E873D5C4-E55E-46C4-B9FF-A24AA4E7CC63}.Static-Debug.Build.0 = Debug|Win32 - {E873D5C4-E55E-46C4-B9FF-A24AA4E7CC63}.Static-Debug-mmx.ActiveCfg = Static-Debug-mmx|Win32 - {E873D5C4-E55E-46C4-B9FF-A24AA4E7CC63}.Static-Debug-mmx.Build.0 = Static-Debug-mmx|Win32 - {E873D5C4-E55E-46C4-B9FF-A24AA4E7CC63}.Static-Release.ActiveCfg = Release|Win32 - {E873D5C4-E55E-46C4-B9FF-A24AA4E7CC63}.Static-Release.Build.0 = Release|Win32 - {E873D5C4-E55E-46C4-B9FF-A24AA4E7CC63}.Static-release-mmx.ActiveCfg = Static-release-mmx|Win32 - {E873D5C4-E55E-46C4-B9FF-A24AA4E7CC63}.Static-release-mmx.Build.0 = Static-release-mmx|Win32 - {DC5DD8FD-B6A3-49A3-A94C-C085F1BF3F2F}.Debug.ActiveCfg = Debug|Win32 - {DC5DD8FD-B6A3-49A3-A94C-C085F1BF3F2F}.Debug.Build.0 = Debug|Win32 - {DC5DD8FD-B6A3-49A3-A94C-C085F1BF3F2F}.Debug-mmx.ActiveCfg = Debug-mmx|Win32 - {DC5DD8FD-B6A3-49A3-A94C-C085F1BF3F2F}.Debug-mmx.Build.0 = Debug-mmx|Win32 - {DC5DD8FD-B6A3-49A3-A94C-C085F1BF3F2F}.Release.ActiveCfg = Release|Win32 - {DC5DD8FD-B6A3-49A3-A94C-C085F1BF3F2F}.Release.Build.0 = Release|Win32 - {DC5DD8FD-B6A3-49A3-A94C-C085F1BF3F2F}.Release-mmx.ActiveCfg = Release-mmx|Win32 - {DC5DD8FD-B6A3-49A3-A94C-C085F1BF3F2F}.Release-mmx.Build.0 = Release-mmx|Win32 - {DC5DD8FD-B6A3-49A3-A94C-C085F1BF3F2F}.Static-Debug.ActiveCfg = Debug|Win32 - {DC5DD8FD-B6A3-49A3-A94C-C085F1BF3F2F}.Static-Debug.Build.0 = Debug|Win32 - {DC5DD8FD-B6A3-49A3-A94C-C085F1BF3F2F}.Static-Debug-mmx.ActiveCfg = Static-Debug-mmx|Win32 - {DC5DD8FD-B6A3-49A3-A94C-C085F1BF3F2F}.Static-Debug-mmx.Build.0 = Static-Debug-mmx|Win32 - {DC5DD8FD-B6A3-49A3-A94C-C085F1BF3F2F}.Static-Release.ActiveCfg = Release|Win32 - {DC5DD8FD-B6A3-49A3-A94C-C085F1BF3F2F}.Static-Release.Build.0 = Release|Win32 - {DC5DD8FD-B6A3-49A3-A94C-C085F1BF3F2F}.Static-release-mmx.ActiveCfg = Static-release-mmx|Win32 - {DC5DD8FD-B6A3-49A3-A94C-C085F1BF3F2F}.Static-release-mmx.Build.0 = Static-release-mmx|Win32 - {3AE37B17-212E-4840-B71F-4CEF19E95631}.Debug.ActiveCfg = Debug|Win32 - {3AE37B17-212E-4840-B71F-4CEF19E95631}.Debug.Build.0 = Debug|Win32 - {3AE37B17-212E-4840-B71F-4CEF19E95631}.Debug-mmx.ActiveCfg = Debug-mmx|Win32 - {3AE37B17-212E-4840-B71F-4CEF19E95631}.Debug-mmx.Build.0 = Debug-mmx|Win32 - {3AE37B17-212E-4840-B71F-4CEF19E95631}.Release.ActiveCfg = Release|Win32 - {3AE37B17-212E-4840-B71F-4CEF19E95631}.Release.Build.0 = Release|Win32 - {3AE37B17-212E-4840-B71F-4CEF19E95631}.Release-mmx.ActiveCfg = Release-mmx|Win32 - {3AE37B17-212E-4840-B71F-4CEF19E95631}.Release-mmx.Build.0 = Release-mmx|Win32 - {3AE37B17-212E-4840-B71F-4CEF19E95631}.Static-Debug.ActiveCfg = Debug|Win32 - {3AE37B17-212E-4840-B71F-4CEF19E95631}.Static-Debug.Build.0 = Debug|Win32 - {3AE37B17-212E-4840-B71F-4CEF19E95631}.Static-Debug-mmx.ActiveCfg = Static-Debug-mmx|Win32 - {3AE37B17-212E-4840-B71F-4CEF19E95631}.Static-Debug-mmx.Build.0 = Static-Debug-mmx|Win32 - {3AE37B17-212E-4840-B71F-4CEF19E95631}.Static-Release.ActiveCfg = Release|Win32 - {3AE37B17-212E-4840-B71F-4CEF19E95631}.Static-Release.Build.0 = Release|Win32 - {3AE37B17-212E-4840-B71F-4CEF19E95631}.Static-release-mmx.ActiveCfg = Static-release-mmx|Win32 - {3AE37B17-212E-4840-B71F-4CEF19E95631}.Static-release-mmx.Build.0 = Static-release-mmx|Win32 - {7517256C-D7C2-4089-B3D5-533C4BF0C12B}.Debug.ActiveCfg = Debug|Win32 - {7517256C-D7C2-4089-B3D5-533C4BF0C12B}.Debug.Build.0 = Debug|Win32 - {7517256C-D7C2-4089-B3D5-533C4BF0C12B}.Debug-mmx.ActiveCfg = Debug-mmx|Win32 - {7517256C-D7C2-4089-B3D5-533C4BF0C12B}.Debug-mmx.Build.0 = Debug-mmx|Win32 - {7517256C-D7C2-4089-B3D5-533C4BF0C12B}.Release.ActiveCfg = Release|Win32 - {7517256C-D7C2-4089-B3D5-533C4BF0C12B}.Release.Build.0 = Release|Win32 - {7517256C-D7C2-4089-B3D5-533C4BF0C12B}.Release-mmx.ActiveCfg = Release-mmx|Win32 - {7517256C-D7C2-4089-B3D5-533C4BF0C12B}.Release-mmx.Build.0 = Release-mmx|Win32 - {7517256C-D7C2-4089-B3D5-533C4BF0C12B}.Static-Debug.ActiveCfg = Debug|Win32 - {7517256C-D7C2-4089-B3D5-533C4BF0C12B}.Static-Debug.Build.0 = Debug|Win32 - {7517256C-D7C2-4089-B3D5-533C4BF0C12B}.Static-Debug-mmx.ActiveCfg = Static-Debug-mmx|Win32 - {7517256C-D7C2-4089-B3D5-533C4BF0C12B}.Static-Debug-mmx.Build.0 = Static-Debug-mmx|Win32 - {7517256C-D7C2-4089-B3D5-533C4BF0C12B}.Static-Release.ActiveCfg = Release|Win32 - {7517256C-D7C2-4089-B3D5-533C4BF0C12B}.Static-Release.Build.0 = Release|Win32 - {7517256C-D7C2-4089-B3D5-533C4BF0C12B}.Static-release-mmx.ActiveCfg = Static-release-mmx|Win32 - {7517256C-D7C2-4089-B3D5-533C4BF0C12B}.Static-release-mmx.Build.0 = Static-release-mmx|Win32 - {1C1BA318-A550-40AF-AF17-25E868B7C007}.Debug.ActiveCfg = Debug|Win32 - {1C1BA318-A550-40AF-AF17-25E868B7C007}.Debug.Build.0 = Debug|Win32 - {1C1BA318-A550-40AF-AF17-25E868B7C007}.Debug-mmx.ActiveCfg = Debug-mmx|Win32 - {1C1BA318-A550-40AF-AF17-25E868B7C007}.Debug-mmx.Build.0 = Debug-mmx|Win32 - {1C1BA318-A550-40AF-AF17-25E868B7C007}.Release.ActiveCfg = Release|Win32 - {1C1BA318-A550-40AF-AF17-25E868B7C007}.Release.Build.0 = Release|Win32 - {1C1BA318-A550-40AF-AF17-25E868B7C007}.Release-mmx.ActiveCfg = Release-mmx|Win32 - {1C1BA318-A550-40AF-AF17-25E868B7C007}.Release-mmx.Build.0 = Release-mmx|Win32 - {1C1BA318-A550-40AF-AF17-25E868B7C007}.Static-Debug.ActiveCfg = Debug|Win32 - {1C1BA318-A550-40AF-AF17-25E868B7C007}.Static-Debug.Build.0 = Debug|Win32 - {1C1BA318-A550-40AF-AF17-25E868B7C007}.Static-Debug-mmx.ActiveCfg = Static-Debug-mmx|Win32 - {1C1BA318-A550-40AF-AF17-25E868B7C007}.Static-Debug-mmx.Build.0 = Static-Debug-mmx|Win32 - {1C1BA318-A550-40AF-AF17-25E868B7C007}.Static-Release.ActiveCfg = Release|Win32 - {1C1BA318-A550-40AF-AF17-25E868B7C007}.Static-Release.Build.0 = Release|Win32 - {1C1BA318-A550-40AF-AF17-25E868B7C007}.Static-release-mmx.ActiveCfg = Static-release-mmx|Win32 - {1C1BA318-A550-40AF-AF17-25E868B7C007}.Static-release-mmx.Build.0 = Static-release-mmx|Win32 - {BBB9B426-5043-408D-AEED-70EC9AF18ABF}.Debug.ActiveCfg = Debug|Win32 - {BBB9B426-5043-408D-AEED-70EC9AF18ABF}.Debug.Build.0 = Debug|Win32 - {BBB9B426-5043-408D-AEED-70EC9AF18ABF}.Debug-mmx.ActiveCfg = Debug-mmx|Win32 - {BBB9B426-5043-408D-AEED-70EC9AF18ABF}.Debug-mmx.Build.0 = Debug-mmx|Win32 - {BBB9B426-5043-408D-AEED-70EC9AF18ABF}.Release.ActiveCfg = Release|Win32 - {BBB9B426-5043-408D-AEED-70EC9AF18ABF}.Release.Build.0 = Release|Win32 - {BBB9B426-5043-408D-AEED-70EC9AF18ABF}.Release-mmx.ActiveCfg = Release-mmx|Win32 - {BBB9B426-5043-408D-AEED-70EC9AF18ABF}.Release-mmx.Build.0 = Release-mmx|Win32 - {BBB9B426-5043-408D-AEED-70EC9AF18ABF}.Static-Debug.ActiveCfg = Debug|Win32 - {BBB9B426-5043-408D-AEED-70EC9AF18ABF}.Static-Debug.Build.0 = Debug|Win32 - {BBB9B426-5043-408D-AEED-70EC9AF18ABF}.Static-Debug-mmx.ActiveCfg = Static-Debug-mmx|Win32 - {BBB9B426-5043-408D-AEED-70EC9AF18ABF}.Static-Debug-mmx.Build.0 = Static-Debug-mmx|Win32 - {BBB9B426-5043-408D-AEED-70EC9AF18ABF}.Static-Release.ActiveCfg = Release|Win32 - {BBB9B426-5043-408D-AEED-70EC9AF18ABF}.Static-Release.Build.0 = Release|Win32 - {BBB9B426-5043-408D-AEED-70EC9AF18ABF}.Static-release-mmx.ActiveCfg = Static-release-mmx|Win32 - {BBB9B426-5043-408D-AEED-70EC9AF18ABF}.Static-release-mmx.Build.0 = Static-release-mmx|Win32 - {959E784C-8302-4946-9A3B-E119FF68F25C}.Debug.ActiveCfg = Debug|Win32 - {959E784C-8302-4946-9A3B-E119FF68F25C}.Debug.Build.0 = Debug|Win32 - {959E784C-8302-4946-9A3B-E119FF68F25C}.Debug-mmx.ActiveCfg = Debug-mmx|Win32 - {959E784C-8302-4946-9A3B-E119FF68F25C}.Debug-mmx.Build.0 = Debug-mmx|Win32 - {959E784C-8302-4946-9A3B-E119FF68F25C}.Release.ActiveCfg = Release|Win32 - {959E784C-8302-4946-9A3B-E119FF68F25C}.Release.Build.0 = Release|Win32 - {959E784C-8302-4946-9A3B-E119FF68F25C}.Release-mmx.ActiveCfg = Release-mmx|Win32 - {959E784C-8302-4946-9A3B-E119FF68F25C}.Release-mmx.Build.0 = Release-mmx|Win32 - {959E784C-8302-4946-9A3B-E119FF68F25C}.Static-Debug.ActiveCfg = Debug|Win32 - {959E784C-8302-4946-9A3B-E119FF68F25C}.Static-Debug.Build.0 = Debug|Win32 - {959E784C-8302-4946-9A3B-E119FF68F25C}.Static-Debug-mmx.ActiveCfg = Static-Debug-mmx|Win32 - {959E784C-8302-4946-9A3B-E119FF68F25C}.Static-Debug-mmx.Build.0 = Static-Debug-mmx|Win32 - {959E784C-8302-4946-9A3B-E119FF68F25C}.Static-Release.ActiveCfg = Release|Win32 - {959E784C-8302-4946-9A3B-E119FF68F25C}.Static-Release.Build.0 = Release|Win32 - {959E784C-8302-4946-9A3B-E119FF68F25C}.Static-release-mmx.ActiveCfg = Static-release-mmx|Win32 - {959E784C-8302-4946-9A3B-E119FF68F25C}.Static-release-mmx.Build.0 = Static-release-mmx|Win32 - {EC4F243F-59EB-4357-A9CD-51231925047A}.Debug.ActiveCfg = Debug|Win32 - {EC4F243F-59EB-4357-A9CD-51231925047A}.Debug.Build.0 = Debug|Win32 - {EC4F243F-59EB-4357-A9CD-51231925047A}.Debug-mmx.ActiveCfg = Debug-mmx|Win32 - {EC4F243F-59EB-4357-A9CD-51231925047A}.Debug-mmx.Build.0 = Debug-mmx|Win32 - {EC4F243F-59EB-4357-A9CD-51231925047A}.Release.ActiveCfg = Release|Win32 - {EC4F243F-59EB-4357-A9CD-51231925047A}.Release.Build.0 = Release|Win32 - {EC4F243F-59EB-4357-A9CD-51231925047A}.Release-mmx.ActiveCfg = Release-mmx|Win32 - {EC4F243F-59EB-4357-A9CD-51231925047A}.Release-mmx.Build.0 = Release-mmx|Win32 - {EC4F243F-59EB-4357-A9CD-51231925047A}.Static-Debug.ActiveCfg = Debug|Win32 - {EC4F243F-59EB-4357-A9CD-51231925047A}.Static-Debug.Build.0 = Debug|Win32 - {EC4F243F-59EB-4357-A9CD-51231925047A}.Static-Debug-mmx.ActiveCfg = Static-Debug-mmx|Win32 - {EC4F243F-59EB-4357-A9CD-51231925047A}.Static-Debug-mmx.Build.0 = Static-Debug-mmx|Win32 - {EC4F243F-59EB-4357-A9CD-51231925047A}.Static-Release.ActiveCfg = Release|Win32 - {EC4F243F-59EB-4357-A9CD-51231925047A}.Static-Release.Build.0 = Release|Win32 - {EC4F243F-59EB-4357-A9CD-51231925047A}.Static-release-mmx.ActiveCfg = Static-release-mmx|Win32 - {EC4F243F-59EB-4357-A9CD-51231925047A}.Static-release-mmx.Build.0 = Static-release-mmx|Win32 - {D9235668-CCC4-4D49-9457-C22D55F38A13}.Debug.ActiveCfg = Debug|Win32 - {D9235668-CCC4-4D49-9457-C22D55F38A13}.Debug.Build.0 = Debug|Win32 - {D9235668-CCC4-4D49-9457-C22D55F38A13}.Debug-mmx.ActiveCfg = Debug-mmx|Win32 - {D9235668-CCC4-4D49-9457-C22D55F38A13}.Debug-mmx.Build.0 = Debug-mmx|Win32 - {D9235668-CCC4-4D49-9457-C22D55F38A13}.Release.ActiveCfg = Release|Win32 - {D9235668-CCC4-4D49-9457-C22D55F38A13}.Release.Build.0 = Release|Win32 - {D9235668-CCC4-4D49-9457-C22D55F38A13}.Release-mmx.ActiveCfg = Release-mmx|Win32 - {D9235668-CCC4-4D49-9457-C22D55F38A13}.Release-mmx.Build.0 = Release-mmx|Win32 - {D9235668-CCC4-4D49-9457-C22D55F38A13}.Static-Debug.ActiveCfg = Debug|Win32 - {D9235668-CCC4-4D49-9457-C22D55F38A13}.Static-Debug.Build.0 = Debug|Win32 - {D9235668-CCC4-4D49-9457-C22D55F38A13}.Static-Debug-mmx.ActiveCfg = Static-Debug-mmx|Win32 - {D9235668-CCC4-4D49-9457-C22D55F38A13}.Static-Debug-mmx.Build.0 = Static-Debug-mmx|Win32 - {D9235668-CCC4-4D49-9457-C22D55F38A13}.Static-Release.ActiveCfg = Release|Win32 - {D9235668-CCC4-4D49-9457-C22D55F38A13}.Static-Release.Build.0 = Release|Win32 - {D9235668-CCC4-4D49-9457-C22D55F38A13}.Static-release-mmx.ActiveCfg = Static-release-mmx|Win32 - {D9235668-CCC4-4D49-9457-C22D55F38A13}.Static-release-mmx.Build.0 = Static-release-mmx|Win32 - {F48438BC-2E0A-4559-9A20-B4D8F032BE6A}.Debug.ActiveCfg = Debug|Win32 - {F48438BC-2E0A-4559-9A20-B4D8F032BE6A}.Debug.Build.0 = Debug|Win32 - {F48438BC-2E0A-4559-9A20-B4D8F032BE6A}.Debug-mmx.ActiveCfg = Debug-mmx|Win32 - {F48438BC-2E0A-4559-9A20-B4D8F032BE6A}.Debug-mmx.Build.0 = Debug-mmx|Win32 - {F48438BC-2E0A-4559-9A20-B4D8F032BE6A}.Release.ActiveCfg = Release|Win32 - {F48438BC-2E0A-4559-9A20-B4D8F032BE6A}.Release.Build.0 = Release|Win32 - {F48438BC-2E0A-4559-9A20-B4D8F032BE6A}.Release-mmx.ActiveCfg = Release-mmx|Win32 - {F48438BC-2E0A-4559-9A20-B4D8F032BE6A}.Release-mmx.Build.0 = Release-mmx|Win32 - {F48438BC-2E0A-4559-9A20-B4D8F032BE6A}.Static-Debug.ActiveCfg = Debug|Win32 - {F48438BC-2E0A-4559-9A20-B4D8F032BE6A}.Static-Debug.Build.0 = Debug|Win32 - {F48438BC-2E0A-4559-9A20-B4D8F032BE6A}.Static-Debug-mmx.ActiveCfg = Static-Debug-mmx|Win32 - {F48438BC-2E0A-4559-9A20-B4D8F032BE6A}.Static-Debug-mmx.Build.0 = Static-Debug-mmx|Win32 - {F48438BC-2E0A-4559-9A20-B4D8F032BE6A}.Static-Release.ActiveCfg = Release|Win32 - {F48438BC-2E0A-4559-9A20-B4D8F032BE6A}.Static-Release.Build.0 = Release|Win32 - {F48438BC-2E0A-4559-9A20-B4D8F032BE6A}.Static-release-mmx.ActiveCfg = Static-release-mmx|Win32 - {F48438BC-2E0A-4559-9A20-B4D8F032BE6A}.Static-release-mmx.Build.0 = Static-release-mmx|Win32 - {95293CF2-A288-44C8-970C-6CF4685C35D7}.Debug.ActiveCfg = Debug|Win32 - {95293CF2-A288-44C8-970C-6CF4685C35D7}.Debug.Build.0 = Debug|Win32 - {95293CF2-A288-44C8-970C-6CF4685C35D7}.Debug-mmx.ActiveCfg = Debug-mmx|Win32 - {95293CF2-A288-44C8-970C-6CF4685C35D7}.Debug-mmx.Build.0 = Debug-mmx|Win32 - {95293CF2-A288-44C8-970C-6CF4685C35D7}.Release.ActiveCfg = Release|Win32 - {95293CF2-A288-44C8-970C-6CF4685C35D7}.Release.Build.0 = Release|Win32 - {95293CF2-A288-44C8-970C-6CF4685C35D7}.Release-mmx.ActiveCfg = Release-mmx|Win32 - {95293CF2-A288-44C8-970C-6CF4685C35D7}.Release-mmx.Build.0 = Release-mmx|Win32 - {95293CF2-A288-44C8-970C-6CF4685C35D7}.Static-Debug.ActiveCfg = Debug|Win32 - {95293CF2-A288-44C8-970C-6CF4685C35D7}.Static-Debug.Build.0 = Debug|Win32 - {95293CF2-A288-44C8-970C-6CF4685C35D7}.Static-Debug-mmx.ActiveCfg = Static-Debug-mmx|Win32 - {95293CF2-A288-44C8-970C-6CF4685C35D7}.Static-Debug-mmx.Build.0 = Static-Debug-mmx|Win32 - {95293CF2-A288-44C8-970C-6CF4685C35D7}.Static-Release.ActiveCfg = Release|Win32 - {95293CF2-A288-44C8-970C-6CF4685C35D7}.Static-Release.Build.0 = Release|Win32 - {95293CF2-A288-44C8-970C-6CF4685C35D7}.Static-release-mmx.ActiveCfg = Static-release-mmx|Win32 - {95293CF2-A288-44C8-970C-6CF4685C35D7}.Static-release-mmx.Build.0 = Static-release-mmx|Win32 - {E932FA89-6EAA-4D9C-A5D3-1C84E3CB7210}.Debug.ActiveCfg = Debug|Win32 - {E932FA89-6EAA-4D9C-A5D3-1C84E3CB7210}.Debug.Build.0 = Debug|Win32 - {E932FA89-6EAA-4D9C-A5D3-1C84E3CB7210}.Debug-mmx.ActiveCfg = Debug-mmx|Win32 - {E932FA89-6EAA-4D9C-A5D3-1C84E3CB7210}.Debug-mmx.Build.0 = Debug-mmx|Win32 - {E932FA89-6EAA-4D9C-A5D3-1C84E3CB7210}.Release.ActiveCfg = Release|Win32 - {E932FA89-6EAA-4D9C-A5D3-1C84E3CB7210}.Release.Build.0 = Release|Win32 - {E932FA89-6EAA-4D9C-A5D3-1C84E3CB7210}.Release-mmx.ActiveCfg = Release-mmx|Win32 - {E932FA89-6EAA-4D9C-A5D3-1C84E3CB7210}.Release-mmx.Build.0 = Release-mmx|Win32 - {E932FA89-6EAA-4D9C-A5D3-1C84E3CB7210}.Static-Debug.ActiveCfg = Static-Debug|Win32 - {E932FA89-6EAA-4D9C-A5D3-1C84E3CB7210}.Static-Debug.Build.0 = Static-Debug|Win32 - {E932FA89-6EAA-4D9C-A5D3-1C84E3CB7210}.Static-Debug-mmx.ActiveCfg = Static-Debug-mmx|Win32 - {E932FA89-6EAA-4D9C-A5D3-1C84E3CB7210}.Static-Debug-mmx.Build.0 = Static-Debug-mmx|Win32 - {E932FA89-6EAA-4D9C-A5D3-1C84E3CB7210}.Static-Release.ActiveCfg = Static-Release|Win32 - {E932FA89-6EAA-4D9C-A5D3-1C84E3CB7210}.Static-Release.Build.0 = Static-Release|Win32 - {E932FA89-6EAA-4D9C-A5D3-1C84E3CB7210}.Static-release-mmx.ActiveCfg = Static-release-mmx|Win32 - {E932FA89-6EAA-4D9C-A5D3-1C84E3CB7210}.Static-release-mmx.Build.0 = Static-release-mmx|Win32 - {E474E61D-AA40-40C5-8DDD-208CCC21463E}.Debug.ActiveCfg = Debug|Win32 - {E474E61D-AA40-40C5-8DDD-208CCC21463E}.Debug.Build.0 = Debug|Win32 - {E474E61D-AA40-40C5-8DDD-208CCC21463E}.Debug-mmx.ActiveCfg = Debug|Win32 - {E474E61D-AA40-40C5-8DDD-208CCC21463E}.Debug-mmx.Build.0 = Debug|Win32 - {E474E61D-AA40-40C5-8DDD-208CCC21463E}.Release.ActiveCfg = Release|Win32 - {E474E61D-AA40-40C5-8DDD-208CCC21463E}.Release.Build.0 = Release|Win32 - {E474E61D-AA40-40C5-8DDD-208CCC21463E}.Release-mmx.ActiveCfg = Release|Win32 - {E474E61D-AA40-40C5-8DDD-208CCC21463E}.Release-mmx.Build.0 = Release|Win32 - {E474E61D-AA40-40C5-8DDD-208CCC21463E}.Static-Debug.ActiveCfg = Debug|Win32 - {E474E61D-AA40-40C5-8DDD-208CCC21463E}.Static-Debug.Build.0 = Debug|Win32 - {E474E61D-AA40-40C5-8DDD-208CCC21463E}.Static-Debug-mmx.ActiveCfg = Debug|Win32 - {E474E61D-AA40-40C5-8DDD-208CCC21463E}.Static-Debug-mmx.Build.0 = Debug|Win32 - {E474E61D-AA40-40C5-8DDD-208CCC21463E}.Static-Release.ActiveCfg = Release|Win32 - {E474E61D-AA40-40C5-8DDD-208CCC21463E}.Static-Release.Build.0 = Release|Win32 - {E474E61D-AA40-40C5-8DDD-208CCC21463E}.Static-release-mmx.ActiveCfg = Release|Win32 - {E474E61D-AA40-40C5-8DDD-208CCC21463E}.Static-release-mmx.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/EncodeDirac/EncodeDirac.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/EncodeDirac/EncodeDirac.vcproj --- dirac-0.9.1/win32/VS2003/EncodeDirac/EncodeDirac.vcproj 2007-09-06 14:02:51.000000000 +0100 +++ dirac-1.0.2/win32/VS2003/EncodeDirac/EncodeDirac.vcproj 1970-01-01 01:00:00.000000000 +0100 @@ -1,463 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/Everything/Everything.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/Everything/Everything.vcproj --- dirac-0.9.1/win32/VS2003/Everything/Everything.vcproj 2005-02-15 11:39:12.000000000 +0000 +++ dirac-1.0.2/win32/VS2003/Everything/Everything.vcproj 1970-01-01 01:00:00.000000000 +0100 @@ -1,302 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/InstrumentDirac/InstrumentDirac.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/InstrumentDirac/InstrumentDirac.vcproj --- dirac-0.9.1/win32/VS2003/InstrumentDirac/InstrumentDirac.vcproj 2007-09-06 14:02:51.000000000 +0100 +++ dirac-1.0.2/win32/VS2003/InstrumentDirac/InstrumentDirac.vcproj 1970-01-01 01:00:00.000000000 +0100 @@ -1,332 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/InstrumentDirac/libdirac_instrument/libdirac_instrument.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/InstrumentDirac/libdirac_instrument/libdirac_instrument.vcproj --- dirac-0.9.1/win32/VS2003/InstrumentDirac/libdirac_instrument/libdirac_instrument.vcproj 2007-09-06 14:02:51.000000000 +0100 +++ dirac-1.0.2/win32/VS2003/InstrumentDirac/libdirac_instrument/libdirac_instrument.vcproj 1970-01-01 01:00:00.000000000 +0100 @@ -1,338 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/libdirac_byteio/libdirac_byteio.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/libdirac_byteio/libdirac_byteio.vcproj --- dirac-0.9.1/win32/VS2003/libdirac_byteio/libdirac_byteio.vcproj 2007-09-06 14:02:51.000000000 +0100 +++ dirac-1.0.2/win32/VS2003/libdirac_byteio/libdirac_byteio.vcproj 1970-01-01 01:00:00.000000000 +0100 @@ -1,279 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/libdirac_common/libdirac_common.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/libdirac_common/libdirac_common.vcproj --- dirac-0.9.1/win32/VS2003/libdirac_common/libdirac_common.vcproj 2008-01-09 10:41:57.000000000 +0000 +++ dirac-1.0.2/win32/VS2003/libdirac_common/libdirac_common.vcproj 1970-01-01 01:00:00.000000000 +0100 @@ -1,514 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/libdirac_motionest/libdirac_motionest.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/libdirac_motionest/libdirac_motionest.vcproj --- dirac-0.9.1/win32/VS2003/libdirac_motionest/libdirac_motionest.vcproj 2005-11-08 11:37:44.000000000 +0000 +++ dirac-1.0.2/win32/VS2003/libdirac_motionest/libdirac_motionest.vcproj 1970-01-01 01:00:00.000000000 +0100 @@ -1,442 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/Makefile.am /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/Makefile.am --- dirac-0.9.1/win32/VS2003/Makefile.am 2006-04-20 11:41:58.000000000 +0100 +++ dirac-1.0.2/win32/VS2003/Makefile.am 1970-01-01 01:00:00.000000000 +0100 @@ -1,31 +0,0 @@ -# $Id: Makefile.am,v 1.2 2006/04/20 10:41:58 asuraparaju Exp $ -# - -EXTRA_DIST = dirac.sln \ - ./libdirac_motionest/libdirac_motionest.vcproj \ - ./DiracEncoder/libdirac_encoder/libdirac_encoder.vcproj \ - ./DiracEncoder/DiracEncoder.vcproj \ - ./InstrumentDirac/InstrumentDirac.vcproj \ - ./InstrumentDirac/libdirac_instrument/libdirac_instrument.vcproj \ - ./MakeHeader/MakeHeader.vcproj \ - ./libdirac_common/libdirac_common.vcproj \ - ./libdirac_byteio/libdirac_byteio.vcproj \ - ./Everything/Everything.vcproj \ - ./ConversionUtils/RGBtoYUV411/RGBtoYUV411.vcproj \ - ./ConversionUtils/RGBtoYUV420/RGBtoYUV420.vcproj \ - ./ConversionUtils/RGBtoYUV422/RGBtoYUV422.vcproj \ - ./ConversionUtils/RGBtoYUV444/RGBtoYUV444.vcproj \ - ./ConversionUtils/YUV411toRGB/YUV411toRGB.vcproj \ - ./ConversionUtils/RGBtoUYVY/RGBtoUYVY.vcproj \ - ./ConversionUtils/BMPtoRGB/BMPtoRGB.vcproj \ - ./ConversionUtils/YUV420toRGB/YUV420toRGB.vcproj \ - ./ConversionUtils/YUV422toRGB/YUV422toRGB.vcproj \ - ./ConversionUtils/UYVYtoRGB/UYVYtoRGB.vcproj \ - ./ConversionUtils/ConversionUtils.vcproj \ - ./ConversionUtils/YUV444toRGB/YUV444toRGB.vcproj \ - ./ConversionUtils/RGBtoBMP/RGBtoBMP.vcproj \ - ./ConversionUtils/libconv_common/libconv_common.vcproj \ - ./DiracDecoder/DiracDecoder.vcproj \ - ./DiracDecoder/libdirac_decoder/libdirac_decoder.vcproj \ - ./EncodeDirac/EncodeDirac.vcproj \ - ./DecodeDirac/DecodeDirac.vcproj diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/Makefile.in /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/Makefile.in --- dirac-0.9.1/win32/VS2003/Makefile.in 2008-01-26 12:30:38.000000000 +0000 +++ dirac-1.0.2/win32/VS2003/Makefile.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,390 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 Free Software Foundation, Inc. -# This Makefile.in 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. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# $Id: Makefile.am,v 1.2 2006/04/20 10:41:58 asuraparaju Exp $ -# -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = win32/VS2003 -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOM4TE = @AUTOM4TE@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CONFIG_MATH_LIB = @CONFIG_MATH_LIB@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ -GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@ -GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ -GENERIC_RELEASE = @GENERIC_RELEASE@ -GENERIC_VERSION = @GENERIC_VERSION@ -GREP = @GREP@ -HAVE_ALGO_FALSE = @HAVE_ALGO_FALSE@ -HAVE_ALGO_TRUE = @HAVE_ALGO_TRUE@ -HAVE_CPPUNIT_FALSE = @HAVE_CPPUNIT_FALSE@ -HAVE_CPPUNIT_TRUE = @HAVE_CPPUNIT_TRUE@ -HAVE_DIAG_FALSE = @HAVE_DIAG_FALSE@ -HAVE_DIAG_TRUE = @HAVE_DIAG_TRUE@ -HAVE_DOT = @HAVE_DOT@ -HAVE_DOT_FALSE = @HAVE_DOT_FALSE@ -HAVE_DOT_TRUE = @HAVE_DOT_TRUE@ -HAVE_DOXYGEN = @HAVE_DOXYGEN@ -HAVE_DOXYGEN_FALSE = @HAVE_DOXYGEN_FALSE@ -HAVE_DOXYGEN_TRUE = @HAVE_DOXYGEN_TRUE@ -HAVE_DVIPDFM = @HAVE_DVIPDFM@ -HAVE_DVIPDFM_FALSE = @HAVE_DVIPDFM_FALSE@ -HAVE_DVIPDFM_TRUE = @HAVE_DVIPDFM_TRUE@ -HAVE_ENHANCE_FALSE = @HAVE_ENHANCE_FALSE@ -HAVE_ENHANCE_TRUE = @HAVE_ENHANCE_TRUE@ -HAVE_GM_FALSE = @HAVE_GM_FALSE@ -HAVE_GM_TRUE = @HAVE_GM_TRUE@ -HAVE_LATEX = @HAVE_LATEX@ -HAVE_LATEX_FALSE = @HAVE_LATEX_FALSE@ -HAVE_LATEX_TRUE = @HAVE_LATEX_TRUE@ -HAVE_PROG_FALSE = @HAVE_PROG_FALSE@ -HAVE_PROG_TRUE = @HAVE_PROG_TRUE@ -HAVE_UPCONV_FALSE = @HAVE_UPCONV_FALSE@ -HAVE_UPCONV_TRUE = @HAVE_UPCONV_TRUE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBEXT = @LIBEXT@ -LIBFLAGS = @LIBFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OVERLAY_FALSE = @OVERLAY_FALSE@ -OVERLAY_TRUE = @OVERLAY_TRUE@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_MSVC_FALSE = @USE_MSVC_FALSE@ -USE_MSVC_TRUE = @USE_MSVC_TRUE@ -USE_STATIC_FALSE = @USE_STATIC_FALSE@ -USE_STATIC_TRUE = @USE_STATIC_TRUE@ -VALGRIND = @VALGRIND@ -VERSION = @VERSION@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -EXTRA_DIST = dirac.sln \ - ./libdirac_motionest/libdirac_motionest.vcproj \ - ./DiracEncoder/libdirac_encoder/libdirac_encoder.vcproj \ - ./DiracEncoder/DiracEncoder.vcproj \ - ./InstrumentDirac/InstrumentDirac.vcproj \ - ./InstrumentDirac/libdirac_instrument/libdirac_instrument.vcproj \ - ./MakeHeader/MakeHeader.vcproj \ - ./libdirac_common/libdirac_common.vcproj \ - ./libdirac_byteio/libdirac_byteio.vcproj \ - ./Everything/Everything.vcproj \ - ./ConversionUtils/RGBtoYUV411/RGBtoYUV411.vcproj \ - ./ConversionUtils/RGBtoYUV420/RGBtoYUV420.vcproj \ - ./ConversionUtils/RGBtoYUV422/RGBtoYUV422.vcproj \ - ./ConversionUtils/RGBtoYUV444/RGBtoYUV444.vcproj \ - ./ConversionUtils/YUV411toRGB/YUV411toRGB.vcproj \ - ./ConversionUtils/RGBtoUYVY/RGBtoUYVY.vcproj \ - ./ConversionUtils/BMPtoRGB/BMPtoRGB.vcproj \ - ./ConversionUtils/YUV420toRGB/YUV420toRGB.vcproj \ - ./ConversionUtils/YUV422toRGB/YUV422toRGB.vcproj \ - ./ConversionUtils/UYVYtoRGB/UYVYtoRGB.vcproj \ - ./ConversionUtils/ConversionUtils.vcproj \ - ./ConversionUtils/YUV444toRGB/YUV444toRGB.vcproj \ - ./ConversionUtils/RGBtoBMP/RGBtoBMP.vcproj \ - ./ConversionUtils/libconv_common/libconv_common.vcproj \ - ./DiracDecoder/DiracDecoder.vcproj \ - ./DiracDecoder/libdirac_decoder/libdirac_decoder.vcproj \ - ./EncodeDirac/EncodeDirac.vcproj \ - ./DecodeDirac/DecodeDirac.vcproj - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign win32/VS2003/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign win32/VS2003/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - $(mkdir_p) $(distdir)/./ConversionUtils $(distdir)/./ConversionUtils/BMPtoRGB $(distdir)/./ConversionUtils/RGBtoBMP $(distdir)/./ConversionUtils/RGBtoUYVY $(distdir)/./ConversionUtils/RGBtoYUV411 $(distdir)/./ConversionUtils/RGBtoYUV420 $(distdir)/./ConversionUtils/RGBtoYUV422 $(distdir)/./ConversionUtils/RGBtoYUV444 $(distdir)/./ConversionUtils/UYVYtoRGB $(distdir)/./ConversionUtils/YUV411toRGB $(distdir)/./ConversionUtils/YUV420toRGB $(distdir)/./ConversionUtils/YUV422toRGB $(distdir)/./ConversionUtils/YUV444toRGB $(distdir)/./ConversionUtils/libconv_common $(distdir)/./DecodeDirac $(distdir)/./DiracDecoder $(distdir)/./DiracDecoder/libdirac_decoder $(distdir)/./DiracEncoder $(distdir)/./DiracEncoder/libdirac_encoder $(distdir)/./EncodeDirac $(distdir)/./Everything $(distdir)/./InstrumentDirac $(distdir)/./InstrumentDirac/libdirac_instrument $(distdir)/./MakeHeader $(distdir)/./libdirac_byteio $(distdir)/./libdirac_common $(distdir)/./libdirac_motionest - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-exec install-exec-am \ - install-info install-info-am install-man install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru /tmp/5GxkXh5OJa/dirac-0.9.1/win32/VS2003/MakeHeader/MakeHeader.vcproj /tmp/1tgnNoYBLI/dirac-1.0.2/win32/VS2003/MakeHeader/MakeHeader.vcproj --- dirac-0.9.1/win32/VS2003/MakeHeader/MakeHeader.vcproj 2005-02-15 11:39:13.000000000 +0000 +++ dirac-1.0.2/win32/VS2003/MakeHeader/MakeHeader.vcproj 1970-01-01 01:00:00.000000000 +0100 @@ -1,326 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -