popt-1.16/0000775000076400007640000000000011370105012007424 500000000000000popt-1.16/depcomp0000755000076400007640000004426711365302054010745 00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2009-04-28.21; # UTC # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 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 # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # 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. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try \`$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by `PROGRAMS ARGS'. object Object file output by `PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputing dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u="sed s,\\\\\\\\,/,g" depmode=msvisualcpp fi case "$depmode" in gcc3) ## 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. ## 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 rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ## The second -e expression handles DOS-style file names with drive letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the `deleted header file' problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. tr ' ' ' ' < "$tmpdepfile" | ## Some versions of gcc put a space before the `:'. On the theory ## that the space means something, we add a space to the output as ## well. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like `#:fec' to the end of the # dependency line. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ tr ' ' ' ' >> "$depfile" echo >> "$depfile" # The second pass generates a dummy entry for each header file. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # 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. 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 $stat -eq 0; then : else 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 # 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,^.*\.[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 # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; icc) # Intel's C compiler understands `-MD -MF file'. However on # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c # ICC 7.0 will fill foo.d with something like # foo.o: sub/foo.c # foo.o: sub/foo.h # which is wrong. We want: # sub/foo.o: sub/foo.c # sub/foo.o: sub/foo.h # sub/foo.c: # sub/foo.h: # ICC 7.1 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using \ : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | sed -e 's/$/ :/' >> "$depfile" 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'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in `foo.d' instead, so we check for that too. # Subdirectories are respected. 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 # With Tru64 cc, shared objects can also be used to make a # 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 $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 # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 tmpdepfile2=$dir$base.o.d # libtool 1.5 tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.o.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d tmpdepfile4=$dir$base.d "$@" -MD fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then 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 echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for `:' # in the target name. This is to cope with DOS-style filenames: # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. "$@" $dashmflag | sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" tr ' ' ' ' < "$tmpdepfile" | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # X makedepend shift cleared=no eat=no for arg do case $cleared in no) set ""; shift cleared=yes ;; esac if test $eat = yes; then eat=no continue fi case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -arch) eat=yes ;; -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix=`echo "$object" | sed 's/^.*\././'` touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" sed '1,2d' "$tmpdepfile" | tr ' ' ' ' | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi IFS=" " for arg do case "$arg" in -o) shift ;; $object) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" echo " " >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; msvcmsys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: popt-1.16/COPYING0000664000076400007640000000237506611714350010423 00000000000000Copyright (c) 1998 Red Hat Software Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Except as contained in this notice, the name of the X Consortium shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from the X Consortium. popt-1.16/README0000664000076400007640000000132110634176011010232 00000000000000This is the popt(3) command line option parsing library. While it is similiar to getopt(3), it contains a number of enhancements, including: 1) popt is fully reentrant 2) popt can parse arbitrary argv[] style arrays while getopt(3) makes this quite difficult 3) popt allows users to alias command line arguments 4) popt provides convience functions for parsing strings into argv[] style arrays Complete documentation on popt(3) is available in popt.ps (included in this tarball), which is excerpted with permission from the book "Linux Application Development" by Michael K. Johnson and Erik Troan (available from Addison Wesley in May, 1998). Comments on popt should be addressed to popt-devel@rpm5.org. popt-1.16/popt.pc.in0000664000076400007640000000030011240540152011254 00000000000000prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ Name: popt Version: @VERSION@ Description: popt library. Libs: @POPT_PKGCONFIG_LIBS@ Cflags: -I${includedir} popt-1.16/config.guess0000755000076400007640000012761511365302054011707 00000000000000#! /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, 2007, 2008, 2009 # Free Software Foundation, Inc. timestamp='2009-11-20' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # 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. # Originally written by Per Bothner. Please send patches (context # diff format) to and include a ChangeLog # entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ 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, 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." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm:riscos:*:*|arm:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux${UNAME_RELEASE} exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH="x86_64" fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *: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 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) case ${UNAME_MACHINE} in pc98) echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; authenticamd | genuineintel | EM64T) 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 ;; 8664:Windows_NT:*) echo x86_64-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} 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}-unknown-linux-gnu else echo ${UNAME_MACHINE}-unknown-linux-gnueabi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) echo cris-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo crisv32-axis-linux-gnu exit ;; frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; i*86:Linux:*:*) LIBC=gnu eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configury will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; 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 ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in i386) eval $set_cc_for_build if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then UNAME_PROCESSOR="x86_64" fi fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: popt-1.16/configure.ac0000664000076400007640000000773611370104732011657 00000000000000AC_PREREQ(2.57) AC_INIT(popt, 1.16, popt-devel@rpm5.org) AC_CONFIG_SRCDIR([popt.h]) AC_CONFIG_HEADERS([config.h]) AC_CANONICAL_TARGET dnl Must come before AM_INIT_AUTOMAKE. dnl AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([foreign -Wall]) AM_MAINTAINER_MODE # Library code modified: REVISION++ # Interfaces changed/added/removed: CURRENT++ REVISION=0 # Interfaces added: AGE++ # Interfaces removed: AGE=0 AC_SUBST(LT_CURRENT, 0) AC_SUBST(LT_REVISION, 0) AC_SUBST(LT_AGE, 8) ALL_LINGUAS="cs da de eo es fi fr ga gl hu id is it ja ko lv nb nl pl pt ro ru sk sl sv th tr uk vi wa zh_TW zh_CN" AC_PROG_CC_STDC AC_PROG_CC AC_PROG_INSTALL AC_PROG_LIBTOOL dnl if CC is gcc, we can rebuild the dependencies (since the depend rule dnl requires gcc). If it's not, don't rebuild dependencies -- use what was dnl shipped with RPM. if test X"$GCC" = "Xyes"; then CFLAGS="$CFLAGS -Wall -W" TARGET="depend allprogs" else TARGET="everything" dnl let the Makefile know that we're done with `depend', since we don't dnl have gcc we're not going to rebuild our dependencies at all. echo >.depend-done fi AC_SUBST(TARGET) CFLAGS="$CFLAGS -D_GNU_SOURCE -D_REENTRANT" AC_GCC_TRADITIONAL AC_SYS_LARGEFILE AC_ISC_POSIX AM_C_PROTOTYPES AC_CHECK_HEADERS(float.h fnmatch.h glob.h langinfo.h libintl.h mcheck.h unistd.h) # For some systems we know that we have ld_version scripts. # Use it then as default. have_ld_version_script=no case "${host}" in *-*-linux*) have_ld_version_script=yes ;; *-*-gnu*) have_ld_version_script=yes ;; esac AC_ARG_ENABLE([ld-version-script], AC_HELP_STRING([--enable-ld-version-script], [enable/disable use of linker version script. (default is system dependent)]), [have_ld_version_script=$enableval], [ : ] ) AM_CONDITIONAL(HAVE_LD_VERSION_SCRIPT, test "$have_ld_version_script" = "yes") AC_ARG_ENABLE(build-gcov, AS_HELP_STRING([--enable-build-gcov], [build POPT instrumented for gcov]), [dnl if test ".$enableval" = .yes; then if test ".`$CC --version 2>&1 | grep 'GCC'`" != .; then dnl # GNU GCC (usually "gcc") CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage" fi fi ]) AC_CHECK_FUNC(setreuid, [], [ AC_CHECK_LIB(ucb, setreuid, [if echo $LIBS | grep -- -lucb >/dev/null ;then :; else LIBS="$LIBS -lc -lucb" USEUCB=y;fi]) ]) AC_CHECK_FUNCS(getuid geteuid iconv mtrace __secure_getenv setregid stpcpy strerror vasprintf srandom) AM_GNU_GETTEXT([external]) AM_ICONV_LINK popt_sysconfdir="${sysconfdir}" eval "popt_sysconfdir=\"${popt_sysconfdir}\"" # expand contained ${prefix} AC_DEFINE_UNQUOTED([POPT_SYSCONFDIR], ["$popt_sysconfdir"], [Full path to default POPT configuration directory]) # Define a (hope) portable Libs pkgconfig directive that # - Don't harm if the default library search path include ${libdir} # (https://bugzilla.novell.com/show_bug.cgi?id=529921) # - Don't require a not upstream patch to pkgconfig # (https://bugs.freedesktop.org/show_bug.cgi?id=16095) popt_pkgconfig_libs='-L${libdir} -lpopt' case "${host}" in *-*-linux*) case "${libdir}" in /usr/lib|/usr/lib64|/lib|/lib64) popt_pkgconfig_libs='-lpopt' ;; *) popt_pkgconfig_libs='-L${libdir} -lpopt' ;; esac ;; *-*-gnu*) case "${libdir}" in /usr/lib|/usr/lib64|/lib|/lib64) popt_pkgconfig_libs='-lpopt' ;; *) popt_pkgconfig_libs='-L${libdir} -lpopt' ;; esac ;; esac AC_SUBST([POPT_PKGCONFIG_LIBS],"$popt_pkgconfig_libs") POPT_SOURCE_PATH="`pwd`" AC_DEFINE_UNQUOTED(POPT_SOURCE_PATH, "$POPT_SOURCE_PATH", [Full path to popt top_srcdir.]) AC_SUBST(POPT_SOURCE_PATH) AC_CONFIG_SUBDIRS() AC_CONFIG_FILES([ po/Makefile.in m4/Makefile Doxyfile Makefile popt.pc popt.spec test-poptrc auto/Makefile auto/desc auto/types ]) AC_OUTPUT popt-1.16/lookup3.c0000664000076400007640000007576711232703035011140 00000000000000/* -------------------------------------------------------------------- */ /* * lookup3.c, by Bob Jenkins, May 2006, Public Domain. * * These are functions for producing 32-bit hashes for hash table lookup. * jlu32w(), jlu32l(), jlu32lpair(), jlu32b(), _JLU3_MIX(), and _JLU3_FINAL() * are externally useful functions. Routines to test the hash are included * if SELF_TEST is defined. You can use this free for any purpose. It's in * the public domain. It has no warranty. * * You probably want to use jlu32l(). jlu32l() and jlu32b() * hash byte arrays. jlu32l() is is faster than jlu32b() on * little-endian machines. Intel and AMD are little-endian machines. * On second thought, you probably want jlu32lpair(), which is identical to * jlu32l() except it returns two 32-bit hashes for the price of one. * You could implement jlu32bpair() if you wanted but I haven't bothered here. * * If you want to find a hash of, say, exactly 7 integers, do * a = i1; b = i2; c = i3; * _JLU3_MIX(a,b,c); * a += i4; b += i5; c += i6; * _JLU3_MIX(a,b,c); * a += i7; * _JLU3_FINAL(a,b,c); * then use c as the hash value. If you have a variable size array of * 4-byte integers to hash, use jlu32w(). If you have a byte array (like * a character string), use jlu32l(). If you have several byte arrays, or * a mix of things, see the comments above jlu32l(). * * Why is this so big? I read 12 bytes at a time into 3 4-byte integers, * then mix those integers. This is fast (you can do a lot more thorough * mixing with 12*3 instructions on 3 integers than you can with 3 instructions * on 1 byte), but shoehorning those bytes into integers efficiently is messy. */ /* -------------------------------------------------------------------- */ #include #if defined(_JLU3_SELFTEST) # define _JLU3_jlu32w 1 # define _JLU3_jlu32l 1 # define _JLU3_jlu32lpair 1 # define _JLU3_jlu32b 1 #endif /*@-redef@*/ /*@unchecked@*/ static const union _dbswap { const uint32_t ui; const unsigned char uc[4]; } endian = { .ui = 0x11223344 }; # define HASH_LITTLE_ENDIAN (endian.uc[0] == (unsigned char) 0x44) # define HASH_BIG_ENDIAN (endian.uc[0] == (unsigned char) 0x11) /*@=redef@*/ #ifndef ROTL32 # define ROTL32(x, s) (((x) << (s)) | ((x) >> (32 - (s)))) #endif /* NOTE: The _size parameter should be in bytes. */ #define _JLU3_INIT(_h, _size) (0xdeadbeef + ((uint32_t)(_size)) + (_h)) /* -------------------------------------------------------------------- */ /* * _JLU3_MIX -- mix 3 32-bit values reversibly. * * This is reversible, so any information in (a,b,c) before _JLU3_MIX() is * still in (a,b,c) after _JLU3_MIX(). * * If four pairs of (a,b,c) inputs are run through _JLU3_MIX(), or through * _JLU3_MIX() in reverse, there are at least 32 bits of the output that * are sometimes the same for one pair and different for another pair. * This was tested for: * * pairs that differed by one bit, by two bits, in any combination * of top bits of (a,b,c), or in any combination of bottom bits of * (a,b,c). * * "differ" is defined as +, -, ^, or ~^. For + and -, I transformed * the output delta to a Gray code (a^(a>>1)) so a string of 1's (as * is commonly produced by subtraction) look like a single 1-bit * difference. * * the base values were pseudorandom, all zero but one bit set, or * all zero plus a counter that starts at zero. * * Some k values for my "a-=c; a^=ROTL32(c,k); c+=b;" arrangement that * satisfy this are * 4 6 8 16 19 4 * 9 15 3 18 27 15 * 14 9 3 7 17 3 * Well, "9 15 3 18 27 15" didn't quite get 32 bits diffing * for "differ" defined as + with a one-bit base and a two-bit delta. I * used http://burtleburtle.net/bob/hash/avalanche.html to choose * the operations, constants, and arrangements of the variables. * * This does not achieve avalanche. There are input bits of (a,b,c) * that fail to affect some output bits of (a,b,c), especially of a. The * most thoroughly mixed value is c, but it doesn't really even achieve * avalanche in c. * * This allows some parallelism. Read-after-writes are good at doubling * the number of bits affected, so the goal of mixing pulls in the opposite * direction as the goal of parallelism. I did what I could. Rotates * seem to cost as much as shifts on every machine I could lay my hands * on, and rotates are much kinder to the top and bottom bits, so I used * rotates. */ /* -------------------------------------------------------------------- */ #define _JLU3_MIX(a,b,c) \ { \ a -= c; a ^= ROTL32(c, 4); c += b; \ b -= a; b ^= ROTL32(a, 6); a += c; \ c -= b; c ^= ROTL32(b, 8); b += a; \ a -= c; a ^= ROTL32(c,16); c += b; \ b -= a; b ^= ROTL32(a,19); a += c; \ c -= b; c ^= ROTL32(b, 4); b += a; \ } /* -------------------------------------------------------------------- */ /** * _JLU3_FINAL -- final mixing of 3 32-bit values (a,b,c) into c * * Pairs of (a,b,c) values differing in only a few bits will usually * produce values of c that look totally different. This was tested for * * pairs that differed by one bit, by two bits, in any combination * of top bits of (a,b,c), or in any combination of bottom bits of * (a,b,c). * * "differ" is defined as +, -, ^, or ~^. For + and -, I transformed * the output delta to a Gray code (a^(a>>1)) so a string of 1's (as * is commonly produced by subtraction) look like a single 1-bit * difference. * * the base values were pseudorandom, all zero but one bit set, or * all zero plus a counter that starts at zero. * * These constants passed: * 14 11 25 16 4 14 24 * 12 14 25 16 4 14 24 * and these came close: * 4 8 15 26 3 22 24 * 10 8 15 26 3 22 24 * 11 8 15 26 3 22 24 */ /* -------------------------------------------------------------------- */ #define _JLU3_FINAL(a,b,c) \ { \ c ^= b; c -= ROTL32(b,14); \ a ^= c; a -= ROTL32(c,11); \ b ^= a; b -= ROTL32(a,25); \ c ^= b; c -= ROTL32(b,16); \ a ^= c; a -= ROTL32(c,4); \ b ^= a; b -= ROTL32(a,14); \ c ^= b; c -= ROTL32(b,24); \ } #if defined(_JLU3_jlu32w) uint32_t jlu32w(uint32_t h, /*@null@*/ const uint32_t *k, size_t size) /*@*/; /* -------------------------------------------------------------------- */ /** * This works on all machines. To be useful, it requires * -- that the key be an array of uint32_t's, and * -- that the size be the number of uint32_t's in the key * * The function jlu32w() is identical to jlu32l() on little-endian * machines, and identical to jlu32b() on big-endian machines, * except that the size has to be measured in uint32_ts rather than in * bytes. jlu32l() is more complicated than jlu32w() only because * jlu32l() has to dance around fitting the key bytes into registers. * * @param h the previous hash, or an arbitrary value * @param *k the key, an array of uint32_t values * @param size the size of the key, in uint32_ts * @return the lookup3 hash */ /* -------------------------------------------------------------------- */ uint32_t jlu32w(uint32_t h, const uint32_t *k, size_t size) { uint32_t a = _JLU3_INIT(h, (size * sizeof(*k))); uint32_t b = a; uint32_t c = a; if (k == NULL) goto exit; /*----------------------------------------------- handle most of the key */ while (size > 3) { a += k[0]; b += k[1]; c += k[2]; _JLU3_MIX(a,b,c); size -= 3; k += 3; } /*----------------------------------------- handle the last 3 uint32_t's */ switch (size) { case 3 : c+=k[2]; case 2 : b+=k[1]; case 1 : a+=k[0]; _JLU3_FINAL(a,b,c); /*@fallthrough@*/ case 0: break; } /*---------------------------------------------------- report the result */ exit: return c; } #endif /* defined(_JLU3_jlu32w) */ #if defined(_JLU3_jlu32l) uint32_t jlu32l(uint32_t h, const void *key, size_t size) /*@*/; /* -------------------------------------------------------------------- */ /* * jlu32l() -- hash a variable-length key into a 32-bit value * h : can be any 4-byte value * k : the key (the unaligned variable-length array of bytes) * size : the size of the key, counting by bytes * Returns a 32-bit value. Every bit of the key affects every bit of * the return value. Two keys differing by one or two bits will have * totally different hash values. * * The best hash table sizes are powers of 2. There is no need to do * mod a prime (mod is sooo slow!). If you need less than 32 bits, * use a bitmask. For example, if you need only 10 bits, do * h = (h & hashmask(10)); * In which case, the hash table should have hashsize(10) elements. * * If you are hashing n strings (uint8_t **)k, do it like this: * for (i=0, h=0; i 12) { a += k[0]; b += k[1]; c += k[2]; _JLU3_MIX(a,b,c); size -= 12; k += 3; } /*------------------------- handle the last (probably partial) block */ /* * "k[2]&0xffffff" actually reads beyond the end of the string, but * then masks off the part it's not allowed to read. Because the * string is aligned, the masked-off tail is in the same word as the * rest of the string. Every machine with memory protection I've seen * does it on word boundaries, so is OK with this. But VALGRIND will * still catch it and complain. The masking trick does make the hash * noticably faster for short strings (like English words). */ #ifndef VALGRIND switch (size) { case 12: c += k[2]; b+=k[1]; a+=k[0]; break; case 11: c += k[2]&0xffffff; b+=k[1]; a+=k[0]; break; case 10: c += k[2]&0xffff; b+=k[1]; a+=k[0]; break; case 9: c += k[2]&0xff; b+=k[1]; a+=k[0]; break; case 8: b += k[1]; a+=k[0]; break; case 7: b += k[1]&0xffffff; a+=k[0]; break; case 6: b += k[1]&0xffff; a+=k[0]; break; case 5: b += k[1]&0xff; a+=k[0]; break; case 4: a += k[0]; break; case 3: a += k[0]&0xffffff; break; case 2: a += k[0]&0xffff; break; case 1: a += k[0]&0xff; break; case 0: goto exit; } #else /* make valgrind happy */ k8 = (const uint8_t *)k; switch (size) { case 12: c += k[2]; b+=k[1]; a+=k[0] break; case 11: c += ((uint32_t)k8[10])<<16; /*@fallthrough@*/ case 10: c += ((uint32_t)k8[9])<<8; /*@fallthrough@*/ case 9: c += k8[8]; /*@fallthrough@*/ case 8: b += k[1]; a+=k[0]; break; case 7: b += ((uint32_t)k8[6])<<16; /*@fallthrough@*/ case 6: b += ((uint32_t)k8[5])<<8; /*@fallthrough@*/ case 5: b += k8[4]; /*@fallthrough@*/ case 4: a += k[0]; break; case 3: a += ((uint32_t)k8[2])<<16; /*@fallthrough@*/ case 2: a += ((uint32_t)k8[1])<<8; /*@fallthrough@*/ case 1: a += k8[0]; break; case 0: goto exit; } #endif /* !valgrind */ } else if (HASH_LITTLE_ENDIAN && ((u.i & 0x1) == 0)) { const uint16_t *k = (const uint16_t *)key; /* read 16-bit chunks */ const uint8_t *k8; /*----------- all but last block: aligned reads and different mixing */ while (size > 12) { a += k[0] + (((uint32_t)k[1])<<16); b += k[2] + (((uint32_t)k[3])<<16); c += k[4] + (((uint32_t)k[5])<<16); _JLU3_MIX(a,b,c); size -= 12; k += 6; } /*------------------------- handle the last (probably partial) block */ k8 = (const uint8_t *)k; switch (size) { case 12: c += k[4]+(((uint32_t)k[5])<<16); b += k[2]+(((uint32_t)k[3])<<16); a += k[0]+(((uint32_t)k[1])<<16); break; case 11: c += ((uint32_t)k8[10])<<16; /*@fallthrough@*/ case 10: c += (uint32_t)k[4]; b += k[2]+(((uint32_t)k[3])<<16); a += k[0]+(((uint32_t)k[1])<<16); break; case 9: c += (uint32_t)k8[8]; /*@fallthrough@*/ case 8: b += k[2]+(((uint32_t)k[3])<<16); a += k[0]+(((uint32_t)k[1])<<16); break; case 7: b += ((uint32_t)k8[6])<<16; /*@fallthrough@*/ case 6: b += (uint32_t)k[2]; a += k[0]+(((uint32_t)k[1])<<16); break; case 5: b += (uint32_t)k8[4]; /*@fallthrough@*/ case 4: a += k[0]+(((uint32_t)k[1])<<16); break; case 3: a += ((uint32_t)k8[2])<<16; /*@fallthrough@*/ case 2: a += (uint32_t)k[0]; break; case 1: a += (uint32_t)k8[0]; break; case 0: goto exit; } } else { /* need to read the key one byte at a time */ const uint8_t *k = (const uint8_t *)key; /*----------- all but the last block: affect some 32 bits of (a,b,c) */ while (size > 12) { a += (uint32_t)k[0]; a += ((uint32_t)k[1])<<8; a += ((uint32_t)k[2])<<16; a += ((uint32_t)k[3])<<24; b += (uint32_t)k[4]; b += ((uint32_t)k[5])<<8; b += ((uint32_t)k[6])<<16; b += ((uint32_t)k[7])<<24; c += (uint32_t)k[8]; c += ((uint32_t)k[9])<<8; c += ((uint32_t)k[10])<<16; c += ((uint32_t)k[11])<<24; _JLU3_MIX(a,b,c); size -= 12; k += 12; } /*---------------------------- last block: affect all 32 bits of (c) */ switch (size) { case 12: c += ((uint32_t)k[11])<<24; /*@fallthrough@*/ case 11: c += ((uint32_t)k[10])<<16; /*@fallthrough@*/ case 10: c += ((uint32_t)k[9])<<8; /*@fallthrough@*/ case 9: c += (uint32_t)k[8]; /*@fallthrough@*/ case 8: b += ((uint32_t)k[7])<<24; /*@fallthrough@*/ case 7: b += ((uint32_t)k[6])<<16; /*@fallthrough@*/ case 6: b += ((uint32_t)k[5])<<8; /*@fallthrough@*/ case 5: b += (uint32_t)k[4]; /*@fallthrough@*/ case 4: a += ((uint32_t)k[3])<<24; /*@fallthrough@*/ case 3: a += ((uint32_t)k[2])<<16; /*@fallthrough@*/ case 2: a += ((uint32_t)k[1])<<8; /*@fallthrough@*/ case 1: a += (uint32_t)k[0]; break; case 0: goto exit; } } _JLU3_FINAL(a,b,c); exit: return c; } #endif /* defined(_JLU3_jlu32l) */ #if defined(_JLU3_jlu32lpair) /** * jlu32lpair: return 2 32-bit hash values. * * This is identical to jlu32l(), except it returns two 32-bit hash * values instead of just one. This is good enough for hash table * lookup with 2^^64 buckets, or if you want a second hash if you're not * happy with the first, or if you want a probably-unique 64-bit ID for * the key. *pc is better mixed than *pb, so use *pc first. If you want * a 64-bit value do something like "*pc + (((uint64_t)*pb)<<32)". * * @param h the previous hash, or an arbitrary value * @param *key the key, an array of uint8_t values * @param size the size of the key in bytes * @retval *pc, IN: primary initval, OUT: primary hash * *retval *pb IN: secondary initval, OUT: secondary hash */ void jlu32lpair(const void *key, size_t size, uint32_t *pc, uint32_t *pb) { union { const void *ptr; size_t i; } u; uint32_t a = _JLU3_INIT(*pc, size); uint32_t b = a; uint32_t c = a; if (key == NULL) goto exit; c += *pb; /* Add the secondary hash. */ u.ptr = key; if (HASH_LITTLE_ENDIAN && ((u.i & 0x3) == 0)) { const uint32_t *k = (const uint32_t *)key; /* read 32-bit chunks */ #ifdef VALGRIND const uint8_t *k8; #endif /*-- all but last block: aligned reads and affect 32 bits of (a,b,c) */ while (size > (size_t)12) { a += k[0]; b += k[1]; c += k[2]; _JLU3_MIX(a,b,c); size -= 12; k += 3; } /*------------------------- handle the last (probably partial) block */ /* * "k[2]&0xffffff" actually reads beyond the end of the string, but * then masks off the part it's not allowed to read. Because the * string is aligned, the masked-off tail is in the same word as the * rest of the string. Every machine with memory protection I've seen * does it on word boundaries, so is OK with this. But VALGRIND will * still catch it and complain. The masking trick does make the hash * noticably faster for short strings (like English words). */ #ifndef VALGRIND switch (size) { case 12: c += k[2]; b+=k[1]; a+=k[0]; break; case 11: c += k[2]&0xffffff; b+=k[1]; a+=k[0]; break; case 10: c += k[2]&0xffff; b+=k[1]; a+=k[0]; break; case 9: c += k[2]&0xff; b+=k[1]; a+=k[0]; break; case 8: b += k[1]; a+=k[0]; break; case 7: b += k[1]&0xffffff; a+=k[0]; break; case 6: b += k[1]&0xffff; a+=k[0]; break; case 5: b += k[1]&0xff; a+=k[0]; break; case 4: a += k[0]; break; case 3: a += k[0]&0xffffff; break; case 2: a += k[0]&0xffff; break; case 1: a += k[0]&0xff; break; case 0: goto exit; } #else /* make valgrind happy */ k8 = (const uint8_t *)k; switch (size) { case 12: c += k[2]; b+=k[1]; a+=k[0]; break; case 11: c += ((uint32_t)k8[10])<<16; /*@fallthrough@*/ case 10: c += ((uint32_t)k8[9])<<8; /*@fallthrough@*/ case 9: c += k8[8]; /*@fallthrough@*/ case 8: b += k[1]; a+=k[0]; break; case 7: b += ((uint32_t)k8[6])<<16; /*@fallthrough@*/ case 6: b += ((uint32_t)k8[5])<<8; /*@fallthrough@*/ case 5: b += k8[4]; /*@fallthrough@*/ case 4: a += k[0]; break; case 3: a += ((uint32_t)k8[2])<<16; /*@fallthrough@*/ case 2: a += ((uint32_t)k8[1])<<8; /*@fallthrough@*/ case 1: a += k8[0]; break; case 0: goto exit; } #endif /* !valgrind */ } else if (HASH_LITTLE_ENDIAN && ((u.i & 0x1) == 0)) { const uint16_t *k = (const uint16_t *)key; /* read 16-bit chunks */ const uint8_t *k8; /*----------- all but last block: aligned reads and different mixing */ while (size > (size_t)12) { a += k[0] + (((uint32_t)k[1])<<16); b += k[2] + (((uint32_t)k[3])<<16); c += k[4] + (((uint32_t)k[5])<<16); _JLU3_MIX(a,b,c); size -= 12; k += 6; } /*------------------------- handle the last (probably partial) block */ k8 = (const uint8_t *)k; switch (size) { case 12: c += k[4]+(((uint32_t)k[5])<<16); b += k[2]+(((uint32_t)k[3])<<16); a += k[0]+(((uint32_t)k[1])<<16); break; case 11: c += ((uint32_t)k8[10])<<16; /*@fallthrough@*/ case 10: c += k[4]; b += k[2]+(((uint32_t)k[3])<<16); a += k[0]+(((uint32_t)k[1])<<16); break; case 9: c += k8[8]; /*@fallthrough@*/ case 8: b += k[2]+(((uint32_t)k[3])<<16); a += k[0]+(((uint32_t)k[1])<<16); break; case 7: b += ((uint32_t)k8[6])<<16; /*@fallthrough@*/ case 6: b += k[2]; a += k[0]+(((uint32_t)k[1])<<16); break; case 5: b += k8[4]; /*@fallthrough@*/ case 4: a += k[0]+(((uint32_t)k[1])<<16); break; case 3: a += ((uint32_t)k8[2])<<16; /*@fallthrough@*/ case 2: a += k[0]; break; case 1: a += k8[0]; break; case 0: goto exit; } } else { /* need to read the key one byte at a time */ const uint8_t *k = (const uint8_t *)key; /*----------- all but the last block: affect some 32 bits of (a,b,c) */ while (size > (size_t)12) { a += k[0]; a += ((uint32_t)k[1])<<8; a += ((uint32_t)k[2])<<16; a += ((uint32_t)k[3])<<24; b += k[4]; b += ((uint32_t)k[5])<<8; b += ((uint32_t)k[6])<<16; b += ((uint32_t)k[7])<<24; c += k[8]; c += ((uint32_t)k[9])<<8; c += ((uint32_t)k[10])<<16; c += ((uint32_t)k[11])<<24; _JLU3_MIX(a,b,c); size -= 12; k += 12; } /*---------------------------- last block: affect all 32 bits of (c) */ switch (size) { case 12: c += ((uint32_t)k[11])<<24; /*@fallthrough@*/ case 11: c += ((uint32_t)k[10])<<16; /*@fallthrough@*/ case 10: c += ((uint32_t)k[9])<<8; /*@fallthrough@*/ case 9: c += k[8]; /*@fallthrough@*/ case 8: b += ((uint32_t)k[7])<<24; /*@fallthrough@*/ case 7: b += ((uint32_t)k[6])<<16; /*@fallthrough@*/ case 6: b += ((uint32_t)k[5])<<8; /*@fallthrough@*/ case 5: b += k[4]; /*@fallthrough@*/ case 4: a += ((uint32_t)k[3])<<24; /*@fallthrough@*/ case 3: a += ((uint32_t)k[2])<<16; /*@fallthrough@*/ case 2: a += ((uint32_t)k[1])<<8; /*@fallthrough@*/ case 1: a += k[0]; break; case 0: goto exit; } } _JLU3_FINAL(a,b,c); exit: *pc = c; *pb = b; return; } #endif /* defined(_JLU3_jlu32lpair) */ #if defined(_JLU3_jlu32b) uint32_t jlu32b(uint32_t h, /*@null@*/ const void *key, size_t size) /*@*/; /* * jlu32b(): * This is the same as jlu32w() on big-endian machines. It is different * from jlu32l() on all machines. jlu32b() takes advantage of * big-endian byte ordering. * * @param h the previous hash, or an arbitrary value * @param *k the key, an array of uint8_t values * @param size the size of the key * @return the lookup3 hash */ uint32_t jlu32b(uint32_t h, const void *key, size_t size) { union { const void *ptr; size_t i; } u; uint32_t a = _JLU3_INIT(h, size); uint32_t b = a; uint32_t c = a; if (key == NULL) return h; u.ptr = key; if (HASH_BIG_ENDIAN && ((u.i & 0x3) == 0)) { const uint32_t *k = (const uint32_t *)key; /* read 32-bit chunks */ #ifdef VALGRIND const uint8_t *k8; #endif /*-- all but last block: aligned reads and affect 32 bits of (a,b,c) */ while (size > 12) { a += k[0]; b += k[1]; c += k[2]; _JLU3_MIX(a,b,c); size -= 12; k += 3; } /*------------------------- handle the last (probably partial) block */ /* * "k[2]<<8" actually reads beyond the end of the string, but * then shifts out the part it's not allowed to read. Because the * string is aligned, the illegal read is in the same word as the * rest of the string. Every machine with memory protection I've seen * does it on word boundaries, so is OK with this. But VALGRIND will * still catch it and complain. The masking trick does make the hash * noticably faster for short strings (like English words). */ #ifndef VALGRIND switch (size) { case 12: c += k[2]; b+=k[1]; a+=k[0]; break; case 11: c += k[2]&0xffffff00; b+=k[1]; a+=k[0]; break; case 10: c += k[2]&0xffff0000; b+=k[1]; a+=k[0]; break; case 9: c += k[2]&0xff000000; b+=k[1]; a+=k[0]; break; case 8: b += k[1]; a+=k[0]; break; case 7: b += k[1]&0xffffff00; a+=k[0]; break; case 6: b += k[1]&0xffff0000; a+=k[0]; break; case 5: b += k[1]&0xff000000; a+=k[0]; break; case 4: a += k[0]; break; case 3: a += k[0]&0xffffff00; break; case 2: a += k[0]&0xffff0000; break; case 1: a += k[0]&0xff000000; break; case 0: goto exit; } #else /* make valgrind happy */ k8 = (const uint8_t *)k; switch (size) { /* all the case statements fall through */ case 12: c += k[2]; b+=k[1]; a+=k[0]; break; case 11: c += ((uint32_t)k8[10])<<8; /*@fallthrough@*/ case 10: c += ((uint32_t)k8[9])<<16; /*@fallthrough@*/ case 9: c += ((uint32_t)k8[8])<<24; /*@fallthrough@*/ case 8: b += k[1]; a+=k[0]; break; case 7: b += ((uint32_t)k8[6])<<8; /*@fallthrough@*/ case 6: b += ((uint32_t)k8[5])<<16; /*@fallthrough@*/ case 5: b += ((uint32_t)k8[4])<<24; /*@fallthrough@*/ case 4: a += k[0]; break; case 3: a += ((uint32_t)k8[2])<<8; /*@fallthrough@*/ case 2: a += ((uint32_t)k8[1])<<16; /*@fallthrough@*/ case 1: a += ((uint32_t)k8[0])<<24; break; case 0: goto exit; } #endif /* !VALGRIND */ } else { /* need to read the key one byte at a time */ const uint8_t *k = (const uint8_t *)key; /*----------- all but the last block: affect some 32 bits of (a,b,c) */ while (size > 12) { a += ((uint32_t)k[0])<<24; a += ((uint32_t)k[1])<<16; a += ((uint32_t)k[2])<<8; a += ((uint32_t)k[3]); b += ((uint32_t)k[4])<<24; b += ((uint32_t)k[5])<<16; b += ((uint32_t)k[6])<<8; b += ((uint32_t)k[7]); c += ((uint32_t)k[8])<<24; c += ((uint32_t)k[9])<<16; c += ((uint32_t)k[10])<<8; c += ((uint32_t)k[11]); _JLU3_MIX(a,b,c); size -= 12; k += 12; } /*---------------------------- last block: affect all 32 bits of (c) */ switch (size) { /* all the case statements fall through */ case 12: c += k[11]; /*@fallthrough@*/ case 11: c += ((uint32_t)k[10])<<8; /*@fallthrough@*/ case 10: c += ((uint32_t)k[9])<<16; /*@fallthrough@*/ case 9: c += ((uint32_t)k[8])<<24; /*@fallthrough@*/ case 8: b += k[7]; /*@fallthrough@*/ case 7: b += ((uint32_t)k[6])<<8; /*@fallthrough@*/ case 6: b += ((uint32_t)k[5])<<16; /*@fallthrough@*/ case 5: b += ((uint32_t)k[4])<<24; /*@fallthrough@*/ case 4: a += k[3]; /*@fallthrough@*/ case 3: a += ((uint32_t)k[2])<<8; /*@fallthrough@*/ case 2: a += ((uint32_t)k[1])<<16; /*@fallthrough@*/ case 1: a += ((uint32_t)k[0])<<24; /*@fallthrough@*/ break; case 0: goto exit; } } _JLU3_FINAL(a,b,c); exit: return c; } #endif /* defined(_JLU3_jlu32b) */ #if defined(_JLU3_SELFTEST) /* used for timings */ static void driver1(void) /*@*/ { uint8_t buf[256]; uint32_t i; uint32_t h=0; time_t a,z; time(&a); for (i=0; i<256; ++i) buf[i] = 'x'; for (i=0; i<1; ++i) { h = jlu32l(h, &buf[0], sizeof(buf[0])); } time(&z); if (z-a > 0) printf("time %d %.8x\n", (int)(z-a), h); } /* check that every input bit changes every output bit half the time */ #define HASHSTATE 1 #define HASHLEN 1 #define MAXPAIR 60 #define MAXLEN 70 static void driver2(void) /*@*/ { uint8_t qa[MAXLEN+1], qb[MAXLEN+2], *a = &qa[0], *b = &qb[1]; uint32_t c[HASHSTATE], d[HASHSTATE], i=0, j=0, k, l, m=0, z; uint32_t e[HASHSTATE],f[HASHSTATE],g[HASHSTATE],h[HASHSTATE]; uint32_t x[HASHSTATE],y[HASHSTATE]; uint32_t hlen; printf("No more than %d trials should ever be needed \n",MAXPAIR/2); for (hlen=0; hlen < MAXLEN; ++hlen) { z=0; for (i=0; i>(8-j)); c[0] = jlu32l(m, a, hlen); b[i] ^= ((k+1)<>(8-j)); d[0] = jlu32l(m, b, hlen); /* check every bit is 1, 0, set, and not set at least once */ for (l=0; lz) z=k; if (k == MAXPAIR) { printf("Some bit didn't change: "); printf("%.8x %.8x %.8x %.8x %.8x %.8x ", e[0],f[0],g[0],h[0],x[0],y[0]); printf("i %d j %d m %d len %d\n", i, j, m, hlen); } if (z == MAXPAIR) goto done; } } } done: if (z < MAXPAIR) { printf("Mix success %2d bytes %2d initvals ",i,m); printf("required %d trials\n", z/2); } } printf("\n"); } /* Check for reading beyond the end of the buffer and alignment problems */ static void driver3(void) /*@*/ { uint8_t buf[MAXLEN+20], *b; uint32_t len; uint8_t q[] = "This is the time for all good men to come to the aid of their country..."; uint32_t h; uint8_t qq[] = "xThis is the time for all good men to come to the aid of their country..."; uint32_t i; uint8_t qqq[] = "xxThis is the time for all good men to come to the aid of their country..."; uint32_t j; uint8_t qqqq[] = "xxxThis is the time for all good men to come to the aid of their country..."; uint32_t ref,x,y; uint8_t *p; uint32_t m = 13; printf("Endianness. These lines should all be the same (for values filled in):\n"); printf("%.8x %.8x %.8x\n", jlu32w(m, (const uint32_t *)q, (sizeof(q)-1)/4), jlu32w(m, (const uint32_t *)q, (sizeof(q)-5)/4), jlu32w(m, (const uint32_t *)q, (sizeof(q)-9)/4)); p = q; printf("%.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x\n", jlu32l(m, p, sizeof(q)-1), jlu32l(m, p, sizeof(q)-2), jlu32l(m, p, sizeof(q)-3), jlu32l(m, p, sizeof(q)-4), jlu32l(m, p, sizeof(q)-5), jlu32l(m, p, sizeof(q)-6), jlu32l(m, p, sizeof(q)-7), jlu32l(m, p, sizeof(q)-8), jlu32l(m, p, sizeof(q)-9), jlu32l(m, p, sizeof(q)-10), jlu32l(m, p, sizeof(q)-11), jlu32l(m, p, sizeof(q)-12)); p = &qq[1]; printf("%.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x\n", jlu32l(m, p, sizeof(q)-1), jlu32l(m, p, sizeof(q)-2), jlu32l(m, p, sizeof(q)-3), jlu32l(m, p, sizeof(q)-4), jlu32l(m, p, sizeof(q)-5), jlu32l(m, p, sizeof(q)-6), jlu32l(m, p, sizeof(q)-7), jlu32l(m, p, sizeof(q)-8), jlu32l(m, p, sizeof(q)-9), jlu32l(m, p, sizeof(q)-10), jlu32l(m, p, sizeof(q)-11), jlu32l(m, p, sizeof(q)-12)); p = &qqq[2]; printf("%.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x\n", jlu32l(m, p, sizeof(q)-1), jlu32l(m, p, sizeof(q)-2), jlu32l(m, p, sizeof(q)-3), jlu32l(m, p, sizeof(q)-4), jlu32l(m, p, sizeof(q)-5), jlu32l(m, p, sizeof(q)-6), jlu32l(m, p, sizeof(q)-7), jlu32l(m, p, sizeof(q)-8), jlu32l(m, p, sizeof(q)-9), jlu32l(m, p, sizeof(q)-10), jlu32l(m, p, sizeof(q)-11), jlu32l(m, p, sizeof(q)-12)); p = &qqqq[3]; printf("%.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x %.8x\n", jlu32l(m, p, sizeof(q)-1), jlu32l(m, p, sizeof(q)-2), jlu32l(m, p, sizeof(q)-3), jlu32l(m, p, sizeof(q)-4), jlu32l(m, p, sizeof(q)-5), jlu32l(m, p, sizeof(q)-6), jlu32l(m, p, sizeof(q)-7), jlu32l(m, p, sizeof(q)-8), jlu32l(m, p, sizeof(q)-9), jlu32l(m, p, sizeof(q)-10), jlu32l(m, p, sizeof(q)-11), jlu32l(m, p, sizeof(q)-12)); printf("\n"); for (h=0, b=buf+1; h<8; ++h, ++b) { for (i=0; i /* XXX isspace(3) has i18n encoding signednesss issues on Solaris. */ #define _isspaceptr(_chp) isspace((int)(*(unsigned char *)(_chp))) #include #include #include #ifdef HAVE_MCHECK_H #include #endif #include #include #include #if defined(HAVE_UNISTD_H) && !defined(__LCLINT__) #include #endif #ifdef __NeXT /* access macros are not declared in non posix mode in unistd.h - don't try to use posix on NeXTstep 3.3 ! */ #include #endif /*@-incondefs@*/ /*@mayexit@*/ /*@only@*/ /*@out@*/ /*@unused@*/ void * xmalloc (size_t size) /*@globals errno @*/ /*@ensures maxSet(result) == (size - 1) @*/ /*@modifies errno @*/; /*@mayexit@*/ /*@only@*/ /*@unused@*/ void * xcalloc (size_t nmemb, size_t size) /*@ensures maxSet(result) == (nmemb - 1) @*/ /*@*/; /*@mayexit@*/ /*@only@*/ /*@unused@*/ void * xrealloc (/*@null@*/ /*@only@*/ void * ptr, size_t size) /*@ensures maxSet(result) == (size - 1) @*/ /*@modifies *ptr @*/; /*@mayexit@*/ /*@only@*/ /*@unused@*/ char * xstrdup (const char *str) /*@*/; /*@=incondefs@*/ #if !defined(HAVE_STPCPY) /* Copy SRC to DEST, returning the address of the terminating '\0' in DEST. */ static inline char * stpcpy (char *dest, const char * src) { register char *d = dest; register const char *s = src; do *d++ = *s; while (*s++ != '\0'); return d - 1; } #endif /* Memory allocation via macro defs to get meaningful locations from mtrace() */ #if defined(HAVE_MCHECK_H) && defined(__GNUC__) #define vmefail() (fprintf(stderr, "virtual memory exhausted.\n"), exit(EXIT_FAILURE), NULL) #define xmalloc(_size) (malloc(_size) ? : vmefail()) #define xcalloc(_nmemb, _size) (calloc((_nmemb), (_size)) ? : vmefail()) #define xrealloc(_ptr, _size) (realloc((_ptr), (_size)) ? : vmefail()) #define xstrdup(_str) (strcpy((malloc(strlen(_str)+1) ? : vmefail()), (_str))) #else #define xmalloc(_size) malloc(_size) #define xcalloc(_nmemb, _size) calloc((_nmemb), (_size)) #define xrealloc(_ptr, _size) realloc((_ptr), (_size)) #define xstrdup(_str) strdup(_str) #endif /* defined(HAVE_MCHECK_H) && defined(__GNUC__) */ #if defined(HAVE___SECURE_GETENV) && !defined(__LCLINT__) #define getenv(_s) __secure_getenv(_s) #endif #if !defined(__GNUC__) && !defined(__attribute__) #define __attribute__(x) #endif #define UNUSED(x) x __attribute__((__unused__)) #include "popt.h" popt-1.16/Doxyfile.in0000664000076400007640000014446311004722514011501 00000000000000# Doxyfile 1.4.6 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project # # All text after a hash (#) is considered a comment and will be ignored # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" ") #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = @PACKAGE@ # 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 = @VERSION@ # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = doxygen # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of # source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, # Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese, # Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian, # Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, # Swedish, and Ukrainian. OUTPUT_LANGUAGE = English # This tag can be used to specify the encoding used in the generated output. # The encoding is not always determined by the language that is chosen, # but also whether or not the output is meant for Windows or non-Windows users. # In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES # forces the Windows encoding (this is the default for the Windows binary), # whereas setting the tag to NO uses a Unix-style encoding (the default for # all platforms other than Windows). USE_WINDOWS_ENCODING = 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 = YES # This tag implements a quasi-intelligent brief description abbreviator # that is used to form the text in various listings. Each string # in this list, if found as the leading text of the brief description, will be # stripped from the text and the result after processing the whole list, is # used as the annotated text. Otherwise, the brief description is used as-is. # If left blank, the following values are used ("$name" is automatically # replaced with the name of the entity): "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = NO # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = YES # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the # path to strip. STRIP_FROM_PATH = @top_srcdir@/ # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells # the reader which header file to include in order to use a class. # If left blank only the name of the header file containing the class # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. STRIP_FROM_INC_PATH = @top_srcdir@/ # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like the Qt-style comments (thus requiring an # explicit @brief command for a brief description. JAVADOC_AUTOBRIEF = YES # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # treat a multi-line C++ special comment block (i.e. a block of //! or /// # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO # If the DETAILS_AT_TOP tag is set to YES then Doxygen # will output the detailed description near the top, like JavaDoc. # If set to NO, the detailed description appears after the member # documentation. DETAILS_AT_TOP = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce # a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 8 # 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 = # 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 = YES # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java # sources only. Doxygen will then generate output that is more tailored for Java. # For instance, namespaces will be presented as packages, qualified scopes # will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to # include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. # func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = NO # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = YES # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = NO # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = YES # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = NO # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = 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 # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = YES # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = 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 # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or define consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and defines in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES # If the sources in your project are distributed over multiple directories # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy # in the documentation. The default is NO. SHOW_DIRECTORIES = NO # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from the # version control system). Doxygen will invoke the program by executing (via # popen()) the command , where is the value of # the FILE_VERSION_FILTER tag, and is the name of an input file # provided by doxygen. Whatever the program writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be abled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = NO # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text" # 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 = \ ./popt.c \ ./popt.h \ ./poptconfig.c \ ./popthelp.c \ ./poptint.c \ ./poptint.h \ ./poptparse.c \ ./system.h # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py FILE_PATTERNS = *.c \ *.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 = # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. Note that the wildcards are matched # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* EXCLUDE_PATTERNS = # The 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. If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the # filter if there is a match. The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = YES # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES (the default) # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = YES # If the REFERENCES_RELATION tag is set to YES (the default) # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = YES # If the USE_HTAGS tag is set to YES then the references to source code # will point to the HTML generated by the htags(1) tool instead of doxygen # built-in source browser. The htags tool is part of GNU's global source # tagging system (see http://www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = NO # 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 = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = footer_no_timestamp.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. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compressed HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # The DISABLE_INDEX tag can be used to turn on/off the condensed index at # top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO # This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 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, DHTML, CSS and frames is required (for instance Mozilla 1.0+, # Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are # probably better off using the HTML help feature. GENERATE_TREEVIEW = NO # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = 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 # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load stylesheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = YES # 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 = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. This is useful # if you want to understand what is going on. On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = YES # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all function-like macros that are alone # on a line, have an all uppercase name, and do not end with a semicolon. Such # function macros are typically used for boiler-plate code, and will confuse # the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. # Optionally an initial location of the external documentation # can be added for each tagfile. The format of a tag file without # this location is as follows: # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths or # URLs. If a location is present for each tag, the installdox tool # does not have to be run to correct the links. # Note that each tag file must have a unique name # (where the name does NOT include the path) # If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. TAGFILES = # 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 = Doxytags # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that # this option is superseded by the HAVE_DOT option below. This is only a # fallback. It is recommended to install and use dot, since it yields more # powerful graphs. CLASS_DIAGRAMS = YES # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = YES # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = NO # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will # generate a call dependency graph for every global function or class method. # Note that enabling this option will significantly increase the time of a run. # So in most cases it will be better to enable call graphs for selected # functions only using the \callgraph command. CALL_GRAPH = NO # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = png # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The MAX_DOT_GRAPH_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 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes # that lay further from the root node will be omitted. Note that setting this # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that a graph may be further truncated if the graph's # image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH # and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default), # the graph is not depth-constrained. MAX_DOT_GRAPH_DEPTH = 0 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # background. This is disabled by default, which results in a white background. # Warning: Depending on the platform used, enabling this option may lead to # badly anti-aliased labels on the edges of a graph (i.e. they become hard to # read). DOT_TRANSPARENT = NO # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Configuration::additions related to the search engine #--------------------------------------------------------------------------- # The SEARCHENGINE tag specifies whether or not a search engine should be # used. If set to NO the values of all tags below this one will be ignored. SEARCHENGINE = NO popt-1.16/test1.c0000664000076400007640000002460311233103201010551 00000000000000/* (C) 1998-2002 Red Hat, Inc. -- Licensing details are in the COPYING file accompanying popt source distributions, available from ftp://ftp.rpm.org/pub/rpm/dist. */ #include "system.h" /*@unchecked@*/ static int pass2 = 0; static void option_callback(/*@unused@*/ UNUSED(poptContext con), /*@unused@*/ UNUSED(enum poptCallbackReason reason), const struct poptOption * opt, char * arg, void * data) /*@globals fileSystem @*/ /*@modifies fileSystem @*/ { if (pass2) fprintf(stdout, "callback: %c %s %s ", opt->val, (char *) data, arg); } /*@unchecked@*/ static int arg1 = 0; /*@unchecked@*/ /*@observer@*/ static char * arg2 = "(none)"; /*@unchecked@*/ static int arg3 = 0; /*@unchecked@*/ static int inc = 0; /*@unchecked@*/ static int shortopt = 0; /*@unchecked@*/ static int aVal = 141421; /*@unchecked@*/ static int bVal = 141421; /*@unchecked@*/ static unsigned int aFlag = 0x8aceU; /*@unchecked@*/ static unsigned int bFlag = 0x8aceU; /*@unchecked@*/ static short aShort = (short)4523; /*@unchecked@*/ static short bShort = (short)4523; /*@unchecked@*/ static int aInt = 271828; /*@unchecked@*/ static int bInt = 271828; /*@unchecked@*/ static long aLong = 738905609L; /*@unchecked@*/ static long bLong = 738905609L; /*@unchecked@*/ static long long aLongLong = 738905609LL; /*@unchecked@*/ static long long bLongLong = 738905609LL; /*@unchecked@*/ static float aFloat = 3.1415926535; /*@unchecked@*/ static float bFloat = 3.1415926535; /*@unchecked@*/ static double aDouble = 9.86960440108935861883; /*@unchecked@*/ static double bDouble = 9.86960440108935861883; /*@unchecked@*/ /*@only@*/ /*@null@*/ static const char ** aArgv = NULL; /*@unchecked@*/ /*@only@*/ /*@null@*/ static void * aBits = NULL; /*@unchecked@*/ /*@observer@*/ static const char *attributes[] = { "foo", "bar", "baz", "bing", "bang", "boom" }; /*@unchecked@*/ static size_t nattributes = (sizeof(attributes) / sizeof(attributes[0])); /*@unchecked@*/ /*@null@*/ static char * oStr = (char *) -1; /*@unchecked@*/ static int singleDash = 0; /*@unchecked@*/ /*@observer@*/ static char * lStr = "This tests default strings and exceeds the ... limit. " "123456789+123456789+123456789+123456789+123456789+ " "123456789+123456789+123456789+123456789+123456789+ " "123456789+123456789+123456789+123456789+123456789+ " "123456789+123456789+123456789+123456789+123456789+ "; /*@unchecked@*/ /*@null@*/ static char * nStr = NULL; /*@unchecked@*/ static struct poptOption moreCallbackArgs[] = { { NULL, '\0', POPT_ARG_CALLBACK|POPT_CBFLAG_INC_DATA, (void *)option_callback, 0, NULL, NULL }, { "cb2", 'c', POPT_ARG_STRING, NULL, (int)'c', "Test argument callbacks", NULL }, POPT_TABLEEND }; /*@unchecked@*/ static struct poptOption callbackArgs[] = { { NULL, '\0', POPT_ARG_CALLBACK, (void *)option_callback, 0, "sampledata", NULL }, { "cb", 'c', POPT_ARG_STRING, NULL, (int)'c', "Test argument callbacks", NULL }, { "longopt", '\0', 0, NULL, (int)'l', "Unused option for help testing", NULL }, POPT_TABLEEND }; /*@unchecked@*/ static struct poptOption moreArgs[] = { { "inc", 'I', 0, &inc, 0, "An included argument", NULL }, POPT_TABLEEND }; /*@unchecked@*/ static struct poptOption options[] = { { NULL, '\0', POPT_ARG_INCLUDE_TABLE, &moreCallbackArgs, 0, "arg for cb2", NULL }, { "arg1", '\0', 0, &arg1, 0, "First argument with a really long" " description. After all, we have to test argument help" " wrapping somehow, right?", NULL }, { "arg2", '2', POPT_ARG_STRING | POPT_ARGFLAG_SHOW_DEFAULT, &arg2, 0, "Another argument", "ARG" }, { "arg3", '3', POPT_ARG_INT, &arg3, 0, "A third argument", "ANARG" }, { "onedash", '\0', POPT_ARGFLAG_ONEDASH, &shortopt, 0, "POPT_ARGFLAG_ONEDASH: Option takes a single -", NULL }, { "hidden", '\0', POPT_ARG_STRING | POPT_ARGFLAG_DOC_HIDDEN, NULL, 0, "POPT_ARGFLAG_HIDDEN: A hidden option (--help shouldn't display)", NULL }, { "optional", '\0', POPT_ARG_STRING | POPT_ARGFLAG_OPTIONAL, &oStr, 0, "POPT_ARGFLAG_OPTIONAL: Takes an optional string argument", NULL }, { "val", '\0', POPT_ARG_VAL | POPT_ARGFLAG_SHOW_DEFAULT, &aVal, 125992, "POPT_ARG_VAL: 125992 141421", 0}, { "int", 'i', POPT_ARG_INT | POPT_ARGFLAG_SHOW_DEFAULT, &aInt, 0, "POPT_ARG_INT: 271828", NULL }, { "short", 's', POPT_ARG_SHORT | POPT_ARGFLAG_SHOW_DEFAULT, &aShort, 0, "POPT_ARG_SHORT: 4523", NULL }, { "long", 'l', POPT_ARG_LONG | POPT_ARGFLAG_SHOW_DEFAULT, &aLong, 0, "POPT_ARG_LONG: 738905609", NULL }, { "longlong", 'L', POPT_ARG_LONGLONG | POPT_ARGFLAG_SHOW_DEFAULT, &aLongLong, 0, "POPT_ARG_LONGLONG: 738905609", NULL }, { "float", 'f', POPT_ARG_FLOAT | POPT_ARGFLAG_SHOW_DEFAULT, &aFloat, 0, "POPT_ARG_FLOAT: 3.14159", NULL }, { "double", 'd', POPT_ARG_DOUBLE | POPT_ARGFLAG_SHOW_DEFAULT, &aDouble, 0, "POPT_ARG_DOUBLE: 9.8696", NULL }, { "randint", '\0', POPT_ARG_INT|POPT_ARGFLAG_RANDOM, &aInt, 0, "POPT_ARGFLAG_RANDOM: experimental", NULL }, { "randshort", '\0', POPT_ARG_SHORT|POPT_ARGFLAG_RANDOM, &aShort, 0, "POPT_ARGFLAG_RANDOM: experimental", NULL }, { "randlong", '\0', POPT_ARG_LONG|POPT_ARGFLAG_RANDOM, &aLong, 0, "POPT_ARGFLAG_RANDOM: experimental", NULL }, { "randlonglong", '\0', POPT_ARG_LONGLONG|POPT_ARGFLAG_RANDOM, &aLongLong, 0, "POPT_ARGFLAG_RANDOM: experimental", NULL }, { "argv", '\0', POPT_ARG_ARGV, &aArgv, 0, "POPT_ARG_ARGV: append string to argv array (can be used multiple times)","STRING"}, { "bits", '\0', POPT_ARG_BITSET|POPT_ARGFLAG_DOC_HIDDEN, &aBits, 0, "POPT_ARG_BITSET: add string to bit set (can be used multiple times)","STRING"}, { "bitset", '\0', POPT_BIT_SET | POPT_ARGFLAG_TOGGLE | POPT_ARGFLAG_SHOW_DEFAULT, &aFlag, 0x7777, "POPT_BIT_SET: |= 0x7777", 0}, { "bitclr", '\0', POPT_BIT_CLR | POPT_ARGFLAG_TOGGLE | POPT_ARGFLAG_SHOW_DEFAULT, &aFlag, 0xf842, "POPT_BIT_CLR: &= ~0xf842", 0}, { "bitxor", '\0', POPT_ARG_VAL | POPT_ARGFLAG_XOR | POPT_ARGFLAG_SHOW_DEFAULT, &aFlag, (0x8ace^0xfeed), "POPT_ARGFLAG_XOR: ^= (0x8ace^0xfeed)", 0}, { "nstr", '\0', POPT_ARG_STRING | POPT_ARGFLAG_SHOW_DEFAULT, &nStr, 0, "POPT_ARG_STRING: (null)", NULL}, { "lstr", '\0', POPT_ARG_STRING | POPT_ARGFLAG_SHOW_DEFAULT, &lStr, 0, "POPT_ARG_STRING: \"123456789...\"", NULL}, { NULL, '-', POPT_ARG_NONE | POPT_ARGFLAG_DOC_HIDDEN, &singleDash, 0, NULL, NULL }, { NULL, '\0', POPT_ARG_INCLUDE_TABLE, &moreArgs, 0, NULL, NULL }, { NULL, '\0', POPT_ARG_INCLUDE_TABLE, &callbackArgs, 0, "Callback arguments", NULL }, POPT_AUTOALIAS POPT_AUTOHELP POPT_TABLEEND }; static void resetVars(void) /*@globals arg1, arg2, arg3, inc, shortopt, aVal, aFlag, aShort, aInt, aLong, aLongLong, aFloat, aDouble, aArgv, aBits, oStr, singleDash, pass2 @*/ /*@modifies arg1, arg2, arg3, inc, shortopt, aVal, aFlag, aShort, aInt, aLong, aLongLong, aFloat, aDouble, aArgv, aBits, oStr, singleDash, pass2 @*/ { arg1 = 0; arg2 = "(none)"; arg3 = 0; inc = 0; shortopt = 0; aVal = bVal; aFlag = bFlag; aShort = bShort; aInt = bInt; aLong = bLong; aLongLong = bLongLong; aFloat = bFloat; aDouble = bDouble; if (aArgv) { int i; for (i = 0; aArgv[i] != NULL; i++) { /*@-unqualifiedtrans@*/ free((void *)aArgv[i]); /*@=unqualifiedtrans@*/ aArgv[i] = NULL; } free(aArgv); aArgv = NULL; } if (aBits) (void) poptBitsClr(aBits); oStr = (char *) -1; singleDash = 0; pass2 = 0; } int main(int argc, const char ** argv) /*@globals pass2, fileSystem, internalState @*/ /*@modifies pass2, fileSystem, internalState @*/ { int rc; int ec = 0; poptContext optCon; const char ** rest; int help = 0; int usage = 0; #if defined(HAVE_MCHECK_H) && defined(HAVE_MTRACE) /*@-moduncon -noeffectuncon@*/ mtrace(); /* Trace malloc only if MALLOC_TRACE=mtrace-output-file. */ /*@=moduncon =noeffectuncon@*/ #endif /*@-modobserver@*/ resetVars(); /*@=modobserver@*/ /*@-temptrans@*/ optCon = poptGetContext("test1", argc, argv, options, 0); /*@=temptrans@*/ (void) poptReadConfigFile(optCon, "./test-poptrc"); (void) poptReadDefaultConfig(optCon, 1); poptSetExecPath(optCon, ".", 1); #if 1 while ((rc = poptGetNextOpt(optCon)) > 0) /* Read all the options ... */ {}; poptResetContext(optCon); /* ... and then start over. */ /*@-modobserver@*/ resetVars(); /*@=modobserver@*/ #endif pass2 = 1; if ((rc = poptGetNextOpt(optCon)) < -1) { fprintf(stderr, "test1: bad argument %s: %s\n", poptBadOption(optCon, POPT_BADOPTION_NOALIAS), poptStrerror(rc)); ec = 2; goto exit; } if (help) { poptPrintHelp(optCon, stdout, 0); goto exit; } if (usage) { poptPrintUsage(optCon, stdout, 0); goto exit; } fprintf(stdout, "arg1: %d arg2: %s", arg1, arg2); if (arg3) fprintf(stdout, " arg3: %d", arg3); if (inc) fprintf(stdout, " inc: %d", inc); if (shortopt) fprintf(stdout, " short: %d", shortopt); if (aVal != bVal) fprintf(stdout, " aVal: %d", aVal); if (aFlag != bFlag) fprintf(stdout, " aFlag: 0x%x", aFlag); if (aShort != bShort) fprintf(stdout, " aShort: %hd", aShort); if (aInt != bInt) fprintf(stdout, " aInt: %d", aInt); if (aLong != bLong) fprintf(stdout, " aLong: %ld", aLong); if (aLongLong != bLongLong) fprintf(stdout, " aLongLong: %lld", aLongLong); /*@-realcompare@*/ if (aFloat != bFloat) fprintf(stdout, " aFloat: %g", (double)aFloat); if (aDouble != bDouble) fprintf(stdout, " aDouble: %g", aDouble); /*@=realcompare@*/ if (aArgv != NULL) { const char **av = aArgv; const char * arg; fprintf(stdout, " aArgv:"); while ((arg = *av++) != NULL) fprintf(stdout, " %s", arg); } if (aBits) { const char * separator = " "; size_t i; fprintf(stdout, " aBits:"); for (i = 0; i < nattributes; i++) { if (!poptBitsChk(aBits, attributes[i])) continue; fprintf(stdout, "%s%s", separator, attributes[i]); separator = ","; } } /*@-nullpass@*/ if (oStr != (char *)-1) fprintf(stdout, " oStr: %s", (oStr ? oStr : "(none)")); /*@=nullpass@*/ if (singleDash) fprintf(stdout, " -"); if (poptPeekArg(optCon) != NULL) { rest = poptGetArgs(optCon); if (rest) { fprintf(stdout, " rest:"); while (*rest) { fprintf(stdout, " %s", *rest); rest++; } } } fprintf(stdout, "\n"); exit: optCon = poptFreeContext(optCon); #if defined(HAVE_MCHECK_H) && defined(HAVE_MTRACE) /*@-moduncon -noeffectuncon@*/ muntrace(); /* Trace malloc only if MALLOC_TRACE=mtrace-output-file. */ /*@=moduncon =noeffectuncon@*/ #endif return ec; } popt-1.16/popt.spec.in0000664000076400007640000000405511337045375011635 00000000000000%{expand:%%global _pkgconfigdir %{_libdir}/pkgconfig} %define _libdir /%{_lib} Summary: A C library for parsing command line parameters. Name: popt Version: @VERSION@ Release: 1 License: X Consortium Group: System Environment/Libraries Source: http://rpm5.org/files/popt/%{name}-%{version}.tar.gz BuildRequires: gettext BuildRoot: %{_tmppath}/%{name}-root %description Popt is a C library for parsing command line parameters. Popt was heavily influenced by the getopt() and getopt_long() functions, but it improves on them by allowing more powerful argument expansion. Popt can parse arbitrary argv[] style arrays and automatically set variables based on command line arguments. Popt allows command line arguments to be aliased via configuration files and includes utility functions for parsing arbitrary strings into argv[] arrays using shell-like rules. %prep %setup -q %build %configure make %install rm -rf $RPM_BUILD_ROOT make DESTDIR=$RPM_BUILD_ROOT install %find_lang popt %check make check || : %track prog popt = { version = %{version} url = http://rpm5.org/%{name} regex = %{name}-(\d+\.\d+\.\d+)\.tar\.gz } %clean rm -rf $RPM_BUILD_ROOT %files -f popt.lang %defattr(-,root,root) %{_libdir}/libpopt.* %{_includedir}/popt.h %{_mandir}/man3/popt.3* %{_pkgconfigdir}/popt.pc %changelog * Wed Feb 17 2010 Jeff Johnson - release popt-1.16 through rpm5.org. * Fri Apr 10 2009 Jeff Johnson - release popt-1.15 through rpm5.org. * Tue Dec 11 2007 Jeff Johnson - release popt-1.13 through rpm5.org. * Tue Jul 10 2007 Jeff Johnson - release popt-1.12 through rpm5.org. * Sat Jun 9 2007 Jeff Johnson - release popt-1.11 through rpm5.org. * Thu Dec 10 1998 Michael Johnson - released 1.2.2; see CHANGES * Tue Nov 17 1998 Michael K. Johnson - added man page to default install * Thu Oct 22 1998 Erik Troan - see CHANGES file for 1.2 * Thu Apr 09 1998 Erik Troan - added ./configure step to spec file popt-1.16/poptparse.c0000664000076400007640000001227310765043615011553 00000000000000/** \ingroup popt * \file popt/poptparse.c */ /* (C) 1998-2002 Red Hat, Inc. -- Licensing details are in the COPYING file accompanying popt source distributions, available from ftp://ftp.rpm.org/pub/rpm/dist. */ #include "system.h" #define POPT_ARGV_ARRAY_GROW_DELTA 5 int poptDupArgv(int argc, const char **argv, int * argcPtr, const char *** argvPtr) { size_t nb = (argc + 1) * sizeof(*argv); const char ** argv2; char * dst; int i; if (argc <= 0 || argv == NULL) /* XXX can't happen */ return POPT_ERROR_NOARG; for (i = 0; i < argc; i++) { if (argv[i] == NULL) return POPT_ERROR_NOARG; nb += strlen(argv[i]) + 1; } dst = malloc(nb); if (dst == NULL) /* XXX can't happen */ return POPT_ERROR_MALLOC; argv2 = (void *) dst; dst += (argc + 1) * sizeof(*argv); *dst = '\0'; for (i = 0; i < argc; i++) { argv2[i] = dst; dst = stpcpy(dst, argv[i]); dst++; /* trailing NUL */ } argv2[argc] = NULL; if (argvPtr) { *argvPtr = argv2; } else { free(argv2); argv2 = NULL; } if (argcPtr) *argcPtr = argc; return 0; } int poptParseArgvString(const char * s, int * argcPtr, const char *** argvPtr) { const char * src; char quote = '\0'; int argvAlloced = POPT_ARGV_ARRAY_GROW_DELTA; const char ** argv = malloc(sizeof(*argv) * argvAlloced); int argc = 0; size_t buflen = strlen(s) + 1; char * buf, * bufOrig = NULL; int rc = POPT_ERROR_MALLOC; if (argv == NULL) return rc; buf = bufOrig = calloc((size_t)1, buflen); if (buf == NULL) { free(argv); return rc; } argv[argc] = buf; for (src = s; *src != '\0'; src++) { if (quote == *src) { quote = '\0'; } else if (quote != '\0') { if (*src == '\\') { src++; if (!*src) { rc = POPT_ERROR_BADQUOTE; goto exit; } if (*src != quote) *buf++ = '\\'; } *buf++ = *src; } else if (_isspaceptr(src)) { if (*argv[argc] != '\0') { buf++, argc++; if (argc == argvAlloced) { argvAlloced += POPT_ARGV_ARRAY_GROW_DELTA; argv = realloc(argv, sizeof(*argv) * argvAlloced); if (argv == NULL) goto exit; } argv[argc] = buf; } } else switch (*src) { case '"': case '\'': quote = *src; /*@switchbreak@*/ break; case '\\': src++; if (!*src) { rc = POPT_ERROR_BADQUOTE; goto exit; } /*@fallthrough@*/ default: *buf++ = *src; /*@switchbreak@*/ break; } } if (strlen(argv[argc])) { argc++, buf++; } rc = poptDupArgv(argc, argv, argcPtr, argvPtr); exit: if (bufOrig) free(bufOrig); if (argv) free(argv); return rc; } /* still in the dev stage. * return values, perhaps 1== file erro * 2== line to long * 3== umm.... more? */ int poptConfigFileToString(FILE *fp, char ** argstrp, /*@unused@*/ UNUSED(int flags)) { char line[999]; char * argstr; char * p; char * q; char * x; size_t t; size_t argvlen = 0; size_t maxlinelen = sizeof(line); size_t linelen; size_t maxargvlen = (size_t)480; *argstrp = NULL; /* | this_is = our_line * p q x */ if (fp == NULL) return POPT_ERROR_NULLARG; argstr = calloc(maxargvlen, sizeof(*argstr)); if (argstr == NULL) return POPT_ERROR_MALLOC; while (fgets(line, (int)maxlinelen, fp) != NULL) { p = line; /* loop until first non-space char or EOL */ while( *p != '\0' && _isspaceptr(p) ) p++; linelen = strlen(p); if (linelen >= maxlinelen-1) { free(argstr); return POPT_ERROR_OVERFLOW; /* XXX line too long */ } if (*p == '\0' || *p == '\n') continue; /* line is empty */ if (*p == '#') continue; /* comment line */ q = p; while (*q != '\0' && (!_isspaceptr(q)) && *q != '=') q++; if (_isspaceptr(q)) { /* a space after the name, find next non space */ *q++='\0'; while( *q != '\0' && _isspaceptr(q) ) q++; } if (*q == '\0') { /* single command line option (ie, no name=val, just name) */ q[-1] = '\0'; /* kill off newline from fgets() call */ argvlen += (t = (size_t)(q - p)) + (sizeof(" --")-1); if (argvlen >= maxargvlen) { maxargvlen = (t > maxargvlen) ? t*2 : maxargvlen*2; argstr = realloc(argstr, maxargvlen); if (argstr == NULL) return POPT_ERROR_MALLOC; } strcat(argstr, " --"); strcat(argstr, p); continue; } if (*q != '=') continue; /* XXX for now, silently ignore bogus line */ /* *q is an equal sign. */ *q++ = '\0'; /* find next non-space letter of value */ while (*q != '\0' && _isspaceptr(q)) q++; if (*q == '\0') continue; /* XXX silently ignore missing value */ /* now, loop and strip all ending whitespace */ x = p + linelen; while (_isspaceptr(--x)) *x = '\0'; /* null out last char if space (including fgets() NL) */ /* rest of line accept */ t = (size_t)(x - p); argvlen += t + (sizeof("' --='")-1); if (argvlen >= maxargvlen) { maxargvlen = (t > maxargvlen) ? t*2 : maxargvlen*2; argstr = realloc(argstr, maxargvlen); if (argstr == NULL) return POPT_ERROR_MALLOC; } strcat(argstr, " --"); strcat(argstr, p); strcat(argstr, "=\""); strcat(argstr, q); strcat(argstr, "\""); } *argstrp = argstr; return 0; } popt-1.16/popt.30000664000076400007640000007566711232652164010453 00000000000000.TH POPT 3 "June 30, 1998" "" "Linux Programmer's Manual" .SH NAME popt \- Parse command line options .SH SYNOPSIS .nf .B #include .sp .BI "poptContext poptGetContext(const char * " name ", int " argc , .BI " const char ** "argv , .BI " const struct poptOption * " options , .BI " int " flags ); .sp .BI "void poptFreeContext(poptContext " con ); .sp .BI "void poptResetContext(poptContext " con ); .sp .BI "int poptGetNextOpt(poptContext " con ); .sp .BI "const char * poptGetOptArg(poptContext " con ); .sp .BI "const char * poptGetArg(poptContext " con ); .sp .BI "const char * poptPeekArg(poptContext " con ); .sp .BI "const char ** poptGetArgs(poptContext " con ); .sp .BI "const char *const poptStrerror(const int " error ); .sp .BI "const char * poptBadOption(poptContext " con ", int " flags ); .sp .BI "int poptReadDefaultConfig(poptContext " con ", int " flags ); .sp .BI "int poptReadConfigFile(poptContext " con ", char * " fn ); .sp .BI "int poptAddAlias(poptContext " con ", struct poptAlias " alias , .BI " int " flags ); .sp .BI "int poptParseArgvString(char * " s ", int * " argcPtr , .BI " const char *** " argvPtr ); .sp .BI "int poptDupArgv(int " argc ", const char ** " argv ", int * " argcPtr ", .BI " const char *** " argvPtr ");" .sp .BI "int poptStuffArgs(poptContext " con ", const char ** " argv ); .sp .fi .SH DESCRIPTION The popt library exists essentially for parsing command-line options. It is found superior in many ways when compared to parsing the argv array by hand or using the getopt functions .B getopt() and .B getopt_long() [see .BR getopt "(3)]." Some specific advantages of popt are: it does not utilize global .RI "variables, thus enabling multiple passes in parsing " argv .RI "; it can parse an arbitrary array of " argv "-style elements, " allowing parsing of command-line-strings from any source; it provides a standard method of option aliasing (to be discussed at length below.); it can exec external option filters; and, finally, it can automatically generate help and usage messages for the application. .sp Like .BR getopt_long() , the popt library supports short and long style options. Recall that a .B short option consists of a - character followed by a single alphanumeric character. A .BR "long option" , common in GNU utilities, consists of two - characters followed by a string made up of letters, numbers and hyphens. Long options are optionally allowed to begin with a single -, primarily to allow command-line compatibility between popt applications and X toolkit applications. Either type of option may be followed by an argument. A space separates a short option from its arguments; either a space or an = separates a long option from an argument. .sp The popt library is highly portable and should work on any POSIX platform. The latest version is distributed with rpm and is always available from: ftp://ftp.rpm.org/pub/rpm/dist. .sp It may be redistributed under the X consortium license, see the file COPYING in the popt source distribution for details. .SH "BASIC POPT USAGE" .SS "1. THE OPTION TABLE" Applications provide popt with information on their command-line options by means of an "option table," i.e., an array of .B struct poptOption structures: .sp #include .sp .nf struct poptOption { const char * longName; /* may be NULL */ char shortName; /* may be '\\0' */ int argInfo; void * arg; /* depends on argInfo */ int val; /* 0 means don't return, just update flag */ char * descrip; /* description for autohelp -- may be NULL */ char * argDescrip; /* argument description for autohelp */ }; .fi .sp Each member of the table defines a single option that may be passed to the program. Long and short options are considered a single option that may occur in two different forms. The first two members, .IR longName " and " shortName ", define the names of the option;" the first is a long name, while the latter is a single character. .sp The .IR argInfo " member tells popt what type of argument is expected" after the option. If no argument is expected, .B POPT_ARG_NONE should be used. The rest of the valid values are shown in the following table: .sp .TS lfB lfB lfB lfB lfR lfR. Value Description arg Type POPT_ARG_NONE No argument expected int POPT_ARG_STRING No type checking to be performed char * POPT_ARG_ARGV No type checking to be performed char ** POPT_ARG_SHORT An short argument is expected short POPT_ARG_INT An integer argument is expected int POPT_ARG_LONG A long integer is expected long POPT_ARG_LONGLONG A long long integer is expected long long POPT_ARG_VAL Integer value taken from \f(CWval\fR int POPT_ARG_FLOAT An float argument is expected float POPT_ARG_DOUBLE A double argument is expected double .TE .sp For numeric values, if the \fIargInfo\fR value is bitwise or'd with one of \fBPOPT_ARGFLAG_OR\fR, \fBPOPT_ARGFLAG_AND\fR, or \fBPOPT_ARGFLAG_XOR\fR, the value is saved by performing an OR, AND, or XOR. If the \fIargInfo\fR value is bitwise or'd with \fBPOPT_ARGFLAG_NOT\fR, the value will be negated before saving. For the common operations of setting and/or clearing bits, \fBPOPT_BIT_SET\fR and \fBPOPT_BIT_CLR\fR have the appropriate flags set to perform bit operations. .sp If the \fIargInfo\fR value is bitwise or'd with \fBPOPT_ARGFLAG_ONEDASH\fR, the long argument may be given with a single - instead of two. For example, if \fB--longopt\fR is an option with \fBPOPT_ARGFLAG_ONEDASH\fR, is specified, \fB-longopt\fR is accepted as well. .sp .RI "The next element, " arg ", allows popt to automatically update " .RI "program variables when the option is used. If " arg " is " .BR NULL ", it is ignored and popt takes no special action. " Otherwise it should point to a variable of the type indicated in the .RB "right-most column of the table above. A " POPT_ARG_ARGV " arg will (re-)allocate an array of char * string pointers, append the string argument, and add a .BR NULL " sentinel at the end of the array as needed." .RB "The target char ** address of a " POPT_ARG_ARGV " arg should be initialized to " NULL "." .sp .RI "If the option takes no argument (" argInfo " is " .BR POPT_ARG_NONE "), the variable pointed to by " .IR arg " is set to 1 when the option is used. (Incidentally, it " will perhaps not escape the attention of hunt-and-peck typists that .RB "the value of " POPT_ARG_NONE " is 0.) If the option does take " an argument, the variable that .IR arg " points to is updated to reflect the value of the argument." .RB "Any string is acceptable for " POPT_ARG_STRING " and " POPT_ARG_ARGV " arguments, but " .BR POPT_ARG_INT ", " POPT_ARG_SHORT ", " POPT_ARG_LONG ", " POPT_ARG_LONGLONG ", " POPT_ARG_FLOAT ", and " .BR POPT_ARG_DOUBLE " are converted to the appropriate type, and an " error returned if the conversion fails. .sp \fBPOPT_ARG_VAL\fR causes \fIarg\fP to be set to the (integer) value of \fIval\fP when the argument is found. This is most often useful for mutually-exclusive arguments in cases where it is not an error for multiple arguments to occur and where you want the last argument specified to win; for example, "rm -i -f". \fBPOPT_ARG_VAL\fP causes the parsing function not to return a value, since the value of \fIval\fP has already been used. .sp If the \fIargInfo\fR value is bitwise or'd with \fBPOPT_ARGFLAG_OPTIONAL\fR, the argument to the long option may be omitted. If the long option is used without an argument, a default value of zero or NULL will be saved (if the arg pointer is present), otherwise behavior will be identical to a long option with argument. .sp .RI "The next option, " val ", is the value popt's parsing function should return when the option is encountered. If it is 0, the parsing function does not return a value, instead parsing the next command-line argument. .sp .RI "The last two options, " descrip " and " argDescrip " are only required if automatic help messages are desired (automatic usage messages can .RI "be generated without them). " descrip " is a text description of the .RI "argument and " argdescrip " is a short summary of the type of arguments .RI "the option expects, or NULL if the option doesn't require any arguments. .sp .RB "If popt should automatically provide " --usage " and " --help " (" -? ") .RB "options, one line in the table should be the macro " POPT_AUTOHELP ". .RB "This macro includes another option table (via " POPT_ARG_INCLUDE_TABLE ; see below) in the main one which provides the table entries for these .RB "arguments. When " --usage " or " --help " are passed to programs which use popt's automatical help, popt displays the appropriate message on stderr as soon as it finds the option, and exits the program with a return code of 0. If you want to use popt's automatic help generation in a different way, you need to explicitly add the option entries to your programs .RB "option table instead of using " POPT_AUTOHELP ". .sp If the \fIargInfo\fR value is bitwise or'd with \fBPOPT_ARGFLAG_DOC_HIDDEN\fR, the argument will not be shown in help output. .sp If the \fIargInfo\fR value is bitwise or'd with \fBPOPT_ARGFLAG_SHOW_DEFAULT\fR, the inital value of the arg will be shown in help output. .sp The final structure in the table should have all the pointer values set .RB "to " NULL " and all the arithmetic values set to 0, marking the " .RB "end of the table. The macro " POPT_TABLEEND " is provided to do that. .sp There are two types of option table entries which do not specify command line options. When either of these types of entries are used, the \fIlongName\fR element must be \fBNULL\fR and the \fBshortName\fR element must be \fB'\\0'\fR. .sp The first of these special entry types allows the application to nest another option table in the current one; such nesting may extend quite deeply (the actual depth is limited by the program's stack). Including other option tables allows a library to provide a standard set of command-line options to every program which uses it (this is often done in graphical programming toolkits, for example). To do this, set the \fIargInfo\fR field to \fBPOPT_ARG_INCLUDE_TABLE\fR and the \fRarg\fR field to point to the table which is being included. If automatic help generation is being used, the \fIdescrip\fR field should contain a overall description of the option table being included. .sp The other special option table entry type tells popt to call a function (a callback) when any option in that table is found. This is especially usefull when included option tables are being used, as the program which provides the top-level option table doesn't need to be aware of the other options which are provided by the included table. When a callback is set for a table, the parsing function never returns information on an option in the table. Instead, options information must be retained via the callback or by having popt set a variable through the option's \fIarg\fR field. Option callbacks should match the following prototype: .sp .nf .BI "void poptCallbackType(poptContext con, .BI " const struct poptOption * opt, .BI " const char * arg, void * data); .fi .sp The first parameter is the context which is being parsed (see the next section for information on contexts), \fIopt\fR points to the option which triggered this callback, and \fIarg\fR is the option's argument. If the option does not take an argument, \fIarg\fR is \fBNULL\fR. The final parameter, \fIdata\fR is taken from the \fIdescrip\fR field of the option table entry which defined the callback. As \fIdescrip\fR is a pointer, this allows callback functions to be passed an arbitrary set of data (though a typecast will have to be used). .sp The option table entry which defines a callback has an \fIargInfo\fR of \fBPOPT_ARG_CALLBACK\fR, an \fIarg\fR which points to the callback function, and a \fIdescrip\fR field which specifies an arbitrary pointer to be passed to the callback. .SS "2. CREATING A CONTEXT" popt can interleave the parsing of multiple command-line sets. It allows this by keeping all the state information for a particular set of command-line arguments in a .BR poptContext " data structure, an opaque type that should not be " modified outside the popt library. .sp .RB "New popt contexts are created by " poptGetContext() ":" .sp .nf .BI "poptContext poptGetContext(const char * " name ", int "argc ", .BI " const char ** "argv ", .BI " const struct poptOption * "options ", .BI " int "flags ");" .fi .sp The first parameter, .IR name ", is used only for alias handling (discussed later). It " should be the name of the application whose options are being parsed, .RB "or should be " NULL " if no option aliasing is desired. The next " two arguments specify the command-line arguments to parse. These are .RB "generally passed to " poptGetContext() " exactly as they were " .RB "passed to the program's " main() " function. The " .IR options " parameter points to the table of command-line options, " which was described in the previous section. The final parameter, .IR flags , can take one of three values: .br .TS lfB lfB lfB lfR. Value Description POPT_CONTEXT_NO_EXEC Ignore exec expansions POPT_CONTEXT_KEEP_FIRST Do not ignore argv[0] POPT_CONTEXT_POSIXMEHARDER Options cannot follow arguments .TE .sp .RB "A " poptContext " keeps track of which options have already been " parsed and which remain, among other things. If a program wishes to restart option processing of a set of arguments, it can reset the .BR poptContext " by passing the context as the sole argument to " .BR poptResetContext() . .sp When argument processing is complete, the process should free the .BR poptContext " as it contains dynamically allocated components. The " .BR poptFreeContext() " function takes a " .BR poptContext " as its sole argument and frees the resources the " context is using. .sp .RB "Here are the prototypes of both " poptResetContext() " and " .BR poptFreeContext() : .sp .nf .B #include .BI "void poptFreeContext(poptContext " con ");" .BI "void poptResetContext(poptContext " con ");" .fi .sp .SS "3. PARSING THE COMMAND LINE" .RB "After an application has created a " poptContext ", it may begin " .RB "parsing arguments. " poptGetNextOpt() " performs the actual " argument parsing. .sp .nf .B #include .BI "int poptGetNextOpt(poptContext " con ");" .fi .sp Taking the context as its sole argument, this function parses the next command-line argument found. After finding the next argument in the option table, the function fills in the object pointed to by the option .RI "table entry's " arg .RB "pointer if it is not " NULL ". If the val entry for the option is " non-0, the function then returns that value. Otherwise, .BR poptGetNextOpt() " continues on to the next argument." .sp .BR poptGetNextOpt() " returns -1 when the final argument has been " parsed, and other negative values when errors occur. This makes it a good idea to .RI "keep the " val " elements in the options table greater than 0." .sp .RI "If all of the command-line options are handled through " arg pointers, command-line parsing is reduced to the following line of code: .sp .nf rc = poptGetNextOpt(poptcon); .fi .sp Many applications require more complex command-line parsing than this, however, and use the following structure: .sp .nf while ((rc = poptGetNextOpt(poptcon)) > 0) { switch (rc) { /* specific arguments are handled here */ } } .fi .sp When returned options are handled, the application needs to know the value of any arguments that were specified after the option. There are two ways to discover them. One is to ask popt to fill in a variable with the .RI "value of the option through the option table's " arg " elements. The " .RB "other is to use " poptGetOptArg() ":" .sp .nf .B #include .BI "char * poptGetOptArg(poptContext " con ");" .fi .sp This function returns the argument given for the final option returned by .BR poptGetNextOpt() ", or it returns " NULL " if no argument was specified." The calling function is responsible for deallocating this string. .sp .SS "4. LEFTOVER ARGUMENTS" Many applications take an arbitrary number of command-line arguments, such as a list of file names. When popt encounters an argument that does not begin with a -, it assumes it is such an argument and adds it to a list of leftover arguments. Three functions allow applications to access such arguments: .nf .HP .BI "const char * poptGetArg(poptContext " con ");" .fi This function returns the next leftover argument and marks it as processed. .PP .nf .HP .BI "const char * poptPeekArg(poptContext " con ");" .fi The next leftover argument is returned but not marked as processed. This allows an application to look ahead into the argument list, without modifying the list. .PP .nf .HP .BI "const char ** poptGetArgs(poptContext " con ");" .fi All the leftover arguments are returned in a manner identical to .IR argv ". The final element in the returned array points to " .BR NULL ", indicating the end of the arguments. .sp .SS "5. AUTOMATIC HELP MESSAGES" The \fBpopt\fR library can automatically generate help messages which describe the options a program accepts. There are two types of help messages which can be generated. Usage messages are a short messages which lists valid options, but does not describe them. Help messages describe each option on one (or more) lines, resulting in a longer, but more useful, message. Whenever automatic help messages are used, the \fBdescrip\fR and \fBargDescrip\fR fields \fBstruct poptOption\fR members should be filled in for each option. .sp The \fBPOPT_AUTOHELP\fR macro makes it easy to add \fB--usage\fR and \fB--help\fR messages to your program, and is described in part 1 of this man page. If more control is needed over your help messages, the following two functions are available: .sp .nf .B #include .BI "void poptPrintHelp(poptContext " con ", FILE * " f ", int " flags "); .BI "void poptPrintUsage(poptContext " con ", FILE * " f ", int " flags "); .fi .sp \fBpoptPrintHelp()\fR displays the standard help message to the stdio file descriptor f, while \fBpoptPrintUsage()\fR displays the shorter usage message. Both functions currently ignore the \fBflags\fR argument; it is there to allow future changes. .sp .SH "ERROR HANDLING" All of the popt functions that can return errors return integers. When an error occurs, a negative error code is returned. The following table summarizes the error codes that occur: .sp .nf .B " Error Description" .BR "POPT_ERROR_NOARG " "Argument missing for an option." .BR "POPT_ERROR_BADOPT " "Option's argument couldn't be parsed." .BR "POPT_ERROR_OPTSTOODEEP " "Option aliasing nested too deeply." .BR "POPT_ERROR_BADQUOTE " "Quotations do not match." .BR "POPT_ERROR_BADNUMBER " "Option couldn't be converted to number." .BR "POPT_ERROR_OVERFLOW " "A given number was too big or small." .fi .sp Here is a more detailed discussion of each error: .sp .TP .B POPT_ERROR_NOARG An option that requires an argument was specified on the command line, but no argument was given. This can be returned only by .BR poptGetNextOpt() . .sp .TP .B POPT_ERROR_BADOPT .RI "An option was specified in " argv " but is not in the option .RB "table. This error can be returned only from " poptGetNextOpt() . .sp .TP .B POPT_ERROR_OPTSTOODEEP A set of option aliases is nested too deeply. Currently, popt follows options only 10 levels to prevent infinite recursion. Only .BR poptGetNextOpt() " can return this error." .sp .TP .B POPT_ERROR_BADQUOTE A parsed string has a quotation mismatch (such as a single quotation .RB "mark). " poptParseArgvString() ", " poptReadConfigFile() ", or " .BR poptReadDefaultConfig() " can return this error." .sp .TP .B POPT_ERROR_BADNUMBER A conversion from a string to a number (int or long) failed due to the string containing nonnumeric characters. This occurs when .BR poptGetNextOpt() " is processing an argument of type " .BR POPT_ARG_INT ", " POPT_ARG_SHORT ", " POPT_ARG_LONG ", " POPT_ARG_LONGLONG ", " .RB POPT_ARG_FLOAT ", or " POPT_ARG_DOUBLE "." .sp .TP .B POPT_ERROR_OVERFLOW A string-to-number conversion failed because the number was too .RB "large or too small. Like " POPT_ERROR_BADNUMBER ", this error .RB "can occur only when " poptGetNextOpt() " is processing an " .RB "argument of type " POPT_ARG_INT ", " POPT_ARG_SHORT ", " POPT_ARG_LONG ", " POPT_ARG_LONGLONG ", " .RB POPT_ARG_FLOAT ", or " POPT_ARG_DOUBLE "." .sp .TP .B POPT_ERROR_ERRNO .RI "A system call returned with an error, and " errno " still contains the error from the system call. Both .BR poptReadConfigFile() " and " poptReadDefaultConfig() " can " return this error. .sp .PP Two functions are available to make it easy for applications to provide good error messages. .HP .nf .BI "const char *const poptStrerror(const int " error ");" .fi This function takes a popt error code and returns a string describing .RB "the error, just as with the standard " strerror() " function." .PP .HP .nf .BI "const char * poptBadOption(poptContext " con ", int " flags ");" .fi .RB "If an error occurred during " poptGetNextOpt() ", this function " .RI "returns the option that caused the error. If the " flags " argument" .RB "is set to " POPT_BADOPTION_NOALIAS ", the outermost option is " .RI "returned. Otherwise, " flags " should be 0, and the option that is " returned may have been specified through an alias. .PP These two functions make popt error handling trivial for most applications. When an error is detected from most of the functions, an error message is printed along with the error string from .BR poptStrerror() ". When an error occurs during argument parsing, " code similiar to the following displays a useful error message: .sp .nf fprintf(stderr, "%s: %s\\n", poptBadOption(optCon, POPT_BADOPTION_NOALIAS), poptStrerror(rc)); .fi .sp .SH "OPTION ALIASING" .RB "One of the primary benefits of using popt over " getopt() " is the " ability to use option aliasing. This lets the user specify options that popt expands into other options when they are specified. If the standard .RB "grep program made use of popt, users could add a " --text " option " .RB "that expanded to " "-i -n -E -2" " to let them more easily find " information in text files. .sp .SS "1. SPECIFYING ALIASES" .RI "Aliases are normally specified in two places: " /etc/popt .RB "and the " .popt " file in the user's home directory (found through " .RB "the " HOME " environment variable). Both files have the same format, " an arbitrary number of lines formatted like this: .sp .IB appname " alias " newoption "" " expansion" .sp .RI "The " appname " is the name of the application, which must be the " .RI "same as the " name " parameter passed to " .BR poptGetContext() ". This allows each file to specify aliases for " .RB "multiple programs. The " alias " keyword specifies that an alias is " being defined; currently popt configuration files support only aliases, but other abilities may be added in the future. The next option is the option that should be aliased, and it may be either a short or a long option. The rest of the line specifies the expansion for the alias. It is parsed similarly to a shell command, which allows \\, ", and ' to be used for quoting. If a backslash is the final character on a line, the next line in the file is assumed to be a logical continuation of the line containing the backslash, just as in shell. .sp .RB "The following entry would add a " --text " option to the grep command, " as suggested at the beginning of this section. .sp .B "grep alias --text -i -n -E -2" .SS "2. ENABLING ALIASES" .RB "An application must enable alias expansion for a " poptContext .RB "before calling " poptGetNextArg() " for the first time. There are " three functions that define aliases for a context: .HP .nf .BI "int poptReadDefaultConfig(poptContext " con ", int " flags ");" .fi .RI "This function reads aliases from " /etc/popt " and the " .BR .popt " file in the user's home directory. Currently, " .IR flags " should be " .BR NULL ", as it is provided only for future expansion." .PP .HP .nf .BI "int poptReadConfigFile(poptContext " con ", char * " fn ");" .fi .RI "The file specified by " fn " is opened and parsed as a popt " configuration file. This allows programs to use program-specific configuration files. .PP .HP .nf .BI "int poptAddAlias(poptContext " con ", struct poptAlias " alias ", .BI " int " flags ");" .fi Occasionally, processes want to specify aliases without having to read them from a configuration file. This function adds a new alias .RI "to a context. The " flags " argument should be 0, as it is " currently reserved for future expansion. The new alias is specified .RB "as a " "struct poptAlias" ", which is defined as:" .sp .nf struct poptAlias { const char * longName; /* may be NULL */ char shortName; /* may be '\\0' */ int argc; const char ** argv; /* must be free()able */ }; .fi .sp .RI "The first two elements, " longName " and " shortName ", specify " .RI "the option that is aliased. The final two, " argc " and " argv "," define the expansion to use when the aliases option is encountered. .PP .SH "PARSING ARGUMENT STRINGS" Although popt is usually used for parsing arguments already divided into .RI "an " argv "-style array, some programs need to parse strings that " are formatted identically to command lines. To facilitate this, popt provides a function that parses a string into an array of strings, using rules similiar to normal shell parsing. .sp .nf .B "#include " .BI "int poptParseArgvString(char * " s ", int * " argcPtr ", .BI " char *** " argvPtr ");" .BI "int poptDupArgv(int " argc ", const char ** " argv ", int * " argcPtr ", .BI " const char *** " argvPtr ");" .fi .sp .RI "The string s is parsed into an " argv "-style array. The integer " .RI "pointed to by the " argcPtr " parameter contains the number of elements " .RI "parsed, and the final " argvPtr " parameter contains the address of the" newly created array. .RB "The routine " poptDupArgv() " can be used to make a copy of an existing " argument array. .sp .RI "The " argvPtr .RB "created by " poptParseArgvString() " or " poptDupArgv() " is suitable to pass directly " .RB "to " poptGetContext() . Both routines return a single dynamically allocated contiguous .RB "block of storage and should be " free() "ed when the application is" finished with the storage. .SH "HANDLING EXTRA ARGUMENTS" Some applications implement the equivalent of option aliasing but need .RB "to do so through special logic. The " poptStuffArgs() " function " allows an application to insert new arguments into the current .BR poptContext . .sp .nf .B "#include " .BI "int poptStuffArgs(poptContext "con ", const char ** " argv ");" .fi .sp .RI "The passed " argv .RB "must have a " NULL " pointer as its final element. When " .BR poptGetNextOpt() " is next called, the " "stuffed" arguments are the first to be parsed. popt returns to the normal arguments once all the stuffed arguments have been exhausted. .SH "EXAMPLE" The following example is a simplified version of the program "robin" which appears in Chapter 15 of the text cited below. Robin has been stripped of everything but its argument-parsing logic, slightly reworked, and renamed "parse." It may prove useful in illustrating at least some of the features of the extremely rich popt library. .sp .nf #include #include void usage(poptContext optCon, int exitcode, char *error, char *addl) { poptPrintUsage(optCon, stderr, 0); if (error) fprintf(stderr, "%s: %s\n", error, addl); exit(exitcode); } int main(int argc, char *argv[]) { char c; /* used for argument parsing */ int i = 0; /* used for tracking options */ char *portname; int speed = 0; /* used in argument parsing to set speed */ int raw = 0; /* raw mode? */ int j; char buf[BUFSIZ+1]; poptContext optCon; /* context for parsing command-line options */ struct poptOption optionsTable[] = { { "bps", 'b', POPT_ARG_INT, &speed, 0, "signaling rate in bits-per-second", "BPS" }, { "crnl", 'c', 0, 0, 'c', "expand cr characters to cr/lf sequences", NULL }, { "hwflow", 'h', 0, 0, 'h', "use hardware (RTS/CTS) flow control", NULL }, { "noflow", 'n', 0, 0, 'n', "use no flow control", NULL }, { "raw", 'r', 0, &raw, 0, "don't perform any character conversions", NULL }, { "swflow", 's', 0, 0, 's', "use software (XON/XOF) flow control", NULL } , POPT_AUTOHELP { NULL, 0, 0, NULL, 0 } }; optCon = poptGetContext(NULL, argc, argv, optionsTable, 0); poptSetOtherOptionHelp(optCon, "[OPTIONS]* "); if (argc < 2) { poptPrintUsage(optCon, stderr, 0); exit(1); } /* Now do options processing, get portname */ while ((c = poptGetNextOpt(optCon)) >= 0) { switch (c) { case 'c': buf[i++] = 'c'; break; case 'h': buf[i++] = 'h'; break; case 's': buf[i++] = 's'; break; case 'n': buf[i++] = 'n'; break; } } portname = poptGetArg(optCon); if((portname == NULL) || !(poptPeekArg(optCon) == NULL)) usage(optCon, 1, "Specify a single port", ".e.g., /dev/cua0"); if (c < -1) { /* an error occurred during option processing */ fprintf(stderr, "%s: %s\\n", poptBadOption(optCon, POPT_BADOPTION_NOALIAS), poptStrerror(c)); return 1; } /* Print out options, portname chosen */ printf("Options chosen: "); for(j = 0; j < i ; j++) printf("-%c ", buf[j]); if(raw) printf("-r "); if(speed) printf("-b %d ", speed); printf("\\nPortname chosen: %s\\n", portname); poptFreeContext(optCon); exit(0); } .fi .sp RPM, a popular Linux package management program, makes heavy use of popt's features. Many of its command-line arguments are implemented through popt aliases, which makes RPM an excellent example of how to take advantage of the popt library. For more information on RPM, see http://www.rpm.org. The popt source code distribution includes test program(s) which use all of the features of the popt libraries in various ways. If a feature isn't working for you, the popt test code is the first place to look. .SH BUGS None presently known. .SH AUTHOR Erik W. Troan .PP This man page is derived in part from .IR "Linux Application Development" by Michael K. Johnson and Erik W. Troan, Copyright (c) 1998 by Addison Wesley Longman, Inc., and included in the popt documentation with the permission of the Publisher and the appreciation of the Authors. .PP Thanks to Robert Lynch for his extensive work on this man page. .SH "SEE ALSO" .BR getopt (3) .sp .IR "Linux Application Development" ", by Michael K. Johnson and " Erik W. Troan (Addison-Wesley, 1998; ISBN 0-201-30821-5), Chapter 24. .sp .BR popt.ps " is a Postscript version of the above cited book " chapter. It can be found in the source archive for popt available at: ftp://ftp.rpm.org/pub/rpm. popt-1.16/config.rpath0000755000076400007640000004364711370104723011700 00000000000000#! /bin/sh # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # # Copyright 1996-2007 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally 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. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld # should be set by the caller. # # The set of defined variables is at the end of this script. # Known limitations: # - On IRIX 6.5 with CC="cc", the run time search patch must not be longer # than 256 bytes, otherwise the compiler driver will dump core. The only # known workaround is to choose shorter directory names for the build # directory and/or the installation directory. # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a shrext=.so host="$1" host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` # Code taken from libtool.m4's _LT_CC_BASENAME. for cc_temp in $CC""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` # Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. wl= if test "$GCC" = yes; then wl='-Wl,' else case "$host_os" in aix*) wl='-Wl,' ;; darwin*) case $cc_basename in xlc*) wl='-Wl,' ;; esac ;; mingw* | cygwin* | pw32* | os2*) ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' ;; irix5* | irix6* | nonstopux*) wl='-Wl,' ;; newsos6) ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) wl='-Wl,' ;; pgcc | pgf77 | pgf90) wl='-Wl,' ;; ccc*) wl='-Wl,' ;; como) wl='-lopt=' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) wl='-Wl,' ;; esac ;; esac ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; rdos*) ;; solaris*) wl='-Wl,' ;; sunos4*) wl='-Qoption ld ' ;; sysv4 | sysv4.2uw2* | sysv4.3*) wl='-Wl,' ;; sysv4*MP*) ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) wl='-Wl,' ;; unicos*) wl='-Wl,' ;; uts4*) ;; esac fi # Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS. hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no 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=yes if test "$with_gnu_ld" = yes; then # 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. # Unlike libtool, we use -rpath here, not --rpath, since the documented # option of GNU ld is called -rpath, not --rpath. hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' 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 fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=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 cannot use # them. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then : else ld_shlibs=no fi ;; interix[3-9]*) hardcode_direct=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; netbsd*) ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : 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 ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' else ld_shlibs=no fi ;; esac ;; sunos4*) hardcode_direct=yes ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then hardcode_libdir_flag_spec= fi else case "$host_os" in aix3*) # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes; 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 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].*|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 fi hardcode_direct=yes hardcode_libdir_separator=':' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) 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 hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac fi # Begin _LT_AC_SYS_LIBPATH_AIX. echo 'int main () { return 0; }' > conftest.c ${CC} ${LDFLAGS} conftest.c -o conftest aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest 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 rm -f conftest.c conftest # End _LT_AC_SYS_LIBPATH_AIX. if test "$aix_use_runtimelinking" = yes; then hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' else hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" fi fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi[45]*) ;; 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=' ' libext=lib ;; darwin* | rhapsody*) hardcode_direct=no if test "$GCC" = yes ; then : else case $cc_basename in xlc*) ;; *) ld_shlibs=no ;; esac fi ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; freebsd1*) ld_shlibs=no ;; freebsd2.2*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; freebsd2*) hardcode_direct=yes hardcode_minus_L=yes ;; freebsd* | dragonfly*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; hpux9*) 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 ;; hpux10*) if test "$with_gnu_ld" = no; then 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 fi ;; hpux11*) 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_direct=yes # 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*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; netbsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; newsos6) hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then hardcode_libdir_flag_spec='${wl}-rpath,$libdir' else case "$host_os" in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) hardcode_libdir_flag_spec='-R$libdir' ;; *) 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 ;; osf3*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) if test "$GCC" = yes; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else # Both cc and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; solaris*) hardcode_libdir_flag_spec='-R$libdir' ;; sunos4*) hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes ;; sysv4) case $host_vendor in sni) hardcode_direct=yes # is this really true??? ;; siemens) hardcode_direct=no ;; motorola) hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac ;; sysv4.3*) ;; sysv4*MP*) if test -d /usr/nec; then ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) ;; sysv5* | sco3.2v5* | sco5v6*) hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator=':' ;; uts4*) hardcode_libdir_flag_spec='-L$libdir' ;; *) ld_shlibs=no ;; esac fi # Check dynamic linker characteristics # Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. # Unlike libtool.m4, here we don't care about _all_ names of the library, but # only about the one the linker finds when passed -lNAME. This is the last # element of library_names_spec in libtool.m4, or possibly two of them if the # linker has special search rules. library_names_spec= # the last element of library_names_spec in libtool.m4 libname_spec='lib$name' case "$host_os" in aix3*) library_names_spec='$libname.a' ;; aix4* | aix5*) library_names_spec='$libname$shrext' ;; amigaos*) library_names_spec='$libname.a' ;; beos*) library_names_spec='$libname$shrext' ;; bsdi[45]*) library_names_spec='$libname$shrext' ;; cygwin* | mingw* | pw32*) shrext=.dll library_names_spec='$libname.dll.a $libname.lib' ;; darwin* | rhapsody*) shrext=.dylib library_names_spec='$libname$shrext' ;; dgux*) library_names_spec='$libname$shrext' ;; freebsd1*) ;; freebsd* | dragonfly*) case "$host_os" in freebsd[123]*) library_names_spec='$libname$shrext$versuffix' ;; *) library_names_spec='$libname$shrext' ;; esac ;; gnu*) library_names_spec='$libname$shrext' ;; hpux9* | hpux10* | hpux11*) case $host_cpu in ia64*) shrext=.so ;; hppa*64*) shrext=.sl ;; *) shrext=.sl ;; esac library_names_spec='$libname$shrext' ;; interix[3-9]*) library_names_spec='$libname$shrext' ;; irix5* | irix6* | nonstopux*) library_names_spec='$libname$shrext' case "$host_os" in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; *) libsuff= shlibsuff= ;; esac ;; esac ;; linux*oldld* | linux*aout* | linux*coff*) ;; linux* | k*bsd*-gnu) library_names_spec='$libname$shrext' ;; knetbsd*-gnu) library_names_spec='$libname$shrext' ;; netbsd*) library_names_spec='$libname$shrext' ;; newsos6) library_names_spec='$libname$shrext' ;; nto-qnx*) library_names_spec='$libname$shrext' ;; openbsd*) library_names_spec='$libname$shrext$versuffix' ;; os2*) libname_spec='$name' shrext=.dll library_names_spec='$libname.a' ;; osf3* | osf4* | osf5*) library_names_spec='$libname$shrext' ;; rdos*) ;; solaris*) library_names_spec='$libname$shrext' ;; sunos4*) library_names_spec='$libname$shrext$versuffix' ;; sysv4 | sysv4.3*) library_names_spec='$libname$shrext' ;; sysv4*MP*) library_names_spec='$libname$shrext' ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) library_names_spec='$libname$shrext' ;; uts4*) library_names_spec='$libname$shrext' ;; esac sed_quote_subst='s/\(["`$\\]\)/\\\1/g' escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` shlibext=`echo "$shrext" | sed -e 's,^\.,,'` escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <], [CFPreferencesCopyAppValue(NULL, NULL)], [gt_cv_func_CFPreferencesCopyAppValue=yes], [gt_cv_func_CFPreferencesCopyAppValue=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1, [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) fi dnl Check for API introduced in MacOS X 10.3. AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent, [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_TRY_LINK([#include ], [CFLocaleCopyCurrent();], [gt_cv_func_CFLocaleCopyCurrent=yes], [gt_cv_func_CFLocaleCopyCurrent=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFLocaleCopyCurrent = yes; then AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1, [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi AC_SUBST([INTL_MACOSX_LIBS]) ]) # Copyright (C) 2002, 2003, 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. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.11' 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.11.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 and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.11.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 2003, 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. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997, 2000, 2001, 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 9 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [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])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 # 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 10 # 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, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "GCJ", or "OBJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl 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=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [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_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) 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 # 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. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; 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 ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj 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 $am__obj 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_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 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 5 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf 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")` 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_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each `.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2008, 2009 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 16 # 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. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # 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.62])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 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 if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl 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 _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_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 ]) _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl dnl The `parallel-tests' driver may need to know about EXEEXT, so add the dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl ]) dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # 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 $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005, 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. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST(install_sh)]) # Copyright (C) 2003, 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 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering # Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 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 5 # AM_MAINTAINER_MODE([DEFAULT-MODE]) # ---------------------------------- # Control maintainer-specific portions of Makefiles. # Default is to disable them, unless `enable' is passed literally. # For symmetry, `disable' may be passed as well. Anyway, the user # can override the default with the --enable/--disable switch. AC_DEFUN([AM_MAINTAINER_MODE], [m4_case(m4_default([$1], [disable]), [enable], [m4_define([am_maintainer_other], [disable])], [disable], [m4_define([am_maintainer_other], [enable])], [m4_define([am_maintainer_other], [enable]) m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles]) dnl maintainer-mode's default is 'disable' unless 'enable' is passed AC_ARG_ENABLE([maintainer-mode], [ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful (and sometimes confusing) to the casual installer], [USE_MAINTAINER_MODE=$enableval], [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) AC_MSG_RESULT([$USE_MAINTAINER_MODE]) AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) MAINT=$MAINTAINER_MODE_TRUE AC_SUBST([MAINT])dnl ] ) AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005, 2009 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 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from `make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 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 6 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # 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 if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # 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, # with or without modifications, as long as this notice is preserved. # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. AC_DEFUN([AM_PROG_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 -*- # Copyright (C) 2001, 2002, 2003, 2005, 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 4 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # ------------------------------ # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003, 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 5 AC_DEFUN([AM_C_PROTOTYPES], [AC_REQUIRE([AC_C_PROTOTYPES]) if test "$ac_cv_prog_cc_stdc" != no; then U= ANSI2KNR= else U=_ ANSI2KNR=./ansi2knr fi # Ensure some checks needed by ansi2knr itself. AC_REQUIRE([AC_HEADER_STDC]) AC_CHECK_HEADERS([string.h]) AC_SUBST([U])dnl AC_SUBST([ANSI2KNR])dnl _AM_SUBST_NOTMAKE([ANSI2KNR])dnl ]) AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 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 5 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; esac # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # 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". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # Copyright (C) 2001, 2003, 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. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 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 2 # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 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 2 # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of `v7', `ustar', or `pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. AM_MISSING_PROG([AMTAR], [tar]) m4_if([$1], [v7], [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR m4_include([m4/gettext.m4]) m4_include([m4/iconv.m4]) m4_include([m4/lib-ld.m4]) m4_include([m4/lib-link.m4]) m4_include([m4/lib-prefix.m4]) m4_include([m4/libtool.m4]) m4_include([m4/ltoptions.m4]) m4_include([m4/ltsugar.m4]) m4_include([m4/ltversion.m4]) m4_include([m4/lt~obsolete.m4]) m4_include([m4/nls.m4]) m4_include([m4/po.m4]) m4_include([m4/progtest.m4]) popt-1.16/popthelp.c0000664000076400007640000006154411245617611011373 00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */ /** \ingroup popt * \file popt/popthelp.c */ /* (C) 1998-2002 Red Hat, Inc. -- Licensing details are in the COPYING file accompanying popt source distributions, available from ftp://ftp.rpm.org/pub/rpm/dist. */ #include "system.h" #define POPT_USE_TIOCGWINSZ #ifdef POPT_USE_TIOCGWINSZ #include #endif #define POPT_WCHAR_HACK #ifdef POPT_WCHAR_HACK #include /* for mbsrtowcs */ /*@access mbstate_t @*/ #endif #include "poptint.h" /*@access poptContext@*/ /** * Display arguments. * @param con context * @param foo (unused) * @param key option(s) * @param arg (unused) * @param data (unused) */ /*@exits@*/ static void displayArgs(poptContext con, /*@unused@*/ UNUSED(enum poptCallbackReason foo), struct poptOption * key, /*@unused@*/ UNUSED(const char * arg), /*@unused@*/ UNUSED(void * data)) /*@globals fileSystem@*/ /*@modifies fileSystem@*/ { if (key->shortName == '?') poptPrintHelp(con, stdout, 0); else poptPrintUsage(con, stdout, 0); #if !defined(__LCLINT__) /* XXX keep both splint & valgrind happy */ con = poptFreeContext(con); #endif exit(0); } #ifdef NOTYET /*@unchecked@*/ static int show_option_defaults = 0; #endif /** * Empty table marker to enable displaying popt alias/exec options. */ /*@observer@*/ /*@unchecked@*/ struct poptOption poptAliasOptions[] = { POPT_TABLEEND }; /** * Auto help table options. */ /*@-castfcnptr@*/ /*@observer@*/ /*@unchecked@*/ struct poptOption poptHelpOptions[] = { { NULL, '\0', POPT_ARG_CALLBACK, (void *)displayArgs, 0, NULL, NULL }, { "help", '?', 0, NULL, (int)'?', N_("Show this help message"), NULL }, { "usage", '\0', 0, NULL, (int)'u', N_("Display brief usage message"), NULL }, POPT_TABLEEND } ; /*@observer@*/ /*@unchecked@*/ static struct poptOption poptHelpOptions2[] = { /*@-readonlytrans@*/ { NULL, '\0', POPT_ARG_INTL_DOMAIN, PACKAGE, 0, NULL, NULL}, /*@=readonlytrans@*/ { NULL, '\0', POPT_ARG_CALLBACK, (void *)displayArgs, 0, NULL, NULL }, { "help", '?', 0, NULL, (int)'?', N_("Show this help message"), NULL }, { "usage", '\0', 0, NULL, (int)'u', N_("Display brief usage message"), NULL }, #ifdef NOTYET { "defaults", '\0', POPT_ARG_NONE, &show_option_defaults, 0, N_("Display option defaults in message"), NULL }, #endif { "", '\0', 0, NULL, 0, N_("Terminate options"), NULL }, POPT_TABLEEND } ; /*@observer@*/ /*@unchecked@*/ struct poptOption * poptHelpOptionsI18N = poptHelpOptions2; /*@=castfcnptr@*/ #define _POPTHELP_MAXLINE ((size_t)79) typedef struct columns_s { size_t cur; size_t max; } * columns_t; /** * Return no. of columns in output window. * @param fp FILE * @return no. of columns */ static size_t maxColumnWidth(FILE *fp) /*@*/ { size_t maxcols = _POPTHELP_MAXLINE; #if defined(TIOCGWINSZ) struct winsize ws; int fdno = fileno(fp ? fp : stdout); memset(&ws, 0, sizeof(ws)); if (fdno >= 0 && !ioctl(fdno, (unsigned long)TIOCGWINSZ, &ws)) { size_t ws_col = (size_t)ws.ws_col; if (ws_col > maxcols && ws_col < (size_t)256) maxcols = ws_col - 1; } #endif return maxcols; } /** * Determine number of display characters in a string. * @param s string * @return no. of display characters. */ static inline size_t stringDisplayWidth(const char *s) /*@*/ { size_t n = strlen(s); #ifdef POPT_WCHAR_HACK mbstate_t t; memset ((void *)&t, 0, sizeof (t)); /* In initial state. */ /* Determine number of display characters. */ n = mbsrtowcs (NULL, &s, n, &t); #else n = 0; for (; *s; s = POPT_next_char(s)) n++; #endif return n; } /** * @param opt option(s) */ /*@observer@*/ /*@null@*/ static const char * getTableTranslationDomain(/*@null@*/ const struct poptOption *opt) /*@*/ { if (opt != NULL) for (; opt->longName || opt->shortName || opt->arg; opt++) { if (opt->argInfo == POPT_ARG_INTL_DOMAIN) return opt->arg; } return NULL; } /** * @param opt option(s) * @param translation_domain translation domain */ /*@observer@*/ /*@null@*/ static const char * getArgDescrip(const struct poptOption * opt, /*@-paramuse@*/ /* FIX: i18n macros disabled with lclint */ /*@null@*/ const char * translation_domain) /*@=paramuse@*/ /*@*/ { if (!poptArgType(opt)) return NULL; if (poptArgType(opt) == POPT_ARG_MAINCALL) return opt->argDescrip; if (poptArgType(opt) == POPT_ARG_ARGV) return opt->argDescrip; if (opt->argDescrip) { /* Some strings need popt library, not application, i18n domain. */ if (opt == (poptHelpOptions + 1) || opt == (poptHelpOptions + 2) || !strcmp(opt->argDescrip, N_("Help options:")) || !strcmp(opt->argDescrip, N_("Options implemented via popt alias/exec:"))) return POPT_(opt->argDescrip); /* Use the application i18n domain. */ return D_(translation_domain, opt->argDescrip); } switch (poptArgType(opt)) { case POPT_ARG_NONE: return POPT_("NONE"); #ifdef DYING case POPT_ARG_VAL: return POPT_("VAL"); #else case POPT_ARG_VAL: return NULL; #endif case POPT_ARG_INT: return POPT_("INT"); case POPT_ARG_SHORT: return POPT_("SHORT"); case POPT_ARG_LONG: return POPT_("LONG"); case POPT_ARG_LONGLONG: return POPT_("LONGLONG"); case POPT_ARG_STRING: return POPT_("STRING"); case POPT_ARG_FLOAT: return POPT_("FLOAT"); case POPT_ARG_DOUBLE: return POPT_("DOUBLE"); case POPT_ARG_MAINCALL: return NULL; case POPT_ARG_ARGV: return NULL; default: return POPT_("ARG"); } } /** * Display default value for an option. * @param lineLength display positions remaining * @param opt option(s) * @param translation_domain translation domain * @return */ static /*@only@*/ /*@null@*/ char * singleOptionDefaultValue(size_t lineLength, const struct poptOption * opt, /*@-paramuse@*/ /* FIX: i18n macros disabled with lclint */ /*@null@*/ const char * translation_domain) /*@=paramuse@*/ /*@*/ { const char * defstr = D_(translation_domain, "default"); char * le = malloc(4*lineLength + 1); char * l = le; if (le == NULL) return NULL; /* XXX can't happen */ *le = '\0'; *le++ = '('; le = stpcpy(le, defstr); *le++ = ':'; *le++ = ' '; if (opt->arg) { /* XXX programmer error */ poptArg arg = { .ptr = opt->arg }; switch (poptArgType(opt)) { case POPT_ARG_VAL: case POPT_ARG_INT: le += sprintf(le, "%d", arg.intp[0]); break; case POPT_ARG_SHORT: le += sprintf(le, "%hd", arg.shortp[0]); break; case POPT_ARG_LONG: le += sprintf(le, "%ld", arg.longp[0]); break; case POPT_ARG_LONGLONG: le += sprintf(le, "%lld", arg.longlongp[0]); break; case POPT_ARG_FLOAT: { double aDouble = (double) arg.floatp[0]; le += sprintf(le, "%g", aDouble); } break; case POPT_ARG_DOUBLE: le += sprintf(le, "%g", arg.doublep[0]); break; case POPT_ARG_MAINCALL: le += sprintf(le, "%p", opt->arg); break; case POPT_ARG_ARGV: le += sprintf(le, "%p", opt->arg); break; case POPT_ARG_STRING: { const char * s = arg.argv[0]; if (s == NULL) le = stpcpy(le, "null"); else { size_t limit = 4*lineLength - (le - l) - sizeof("\"\")"); size_t slen; *le++ = '"'; strncpy(le, s, limit); le[limit] = '\0'; le += (slen = strlen(le)); if (slen == limit && s[limit]) le[-1] = le[-2] = le[-3] = '.'; *le++ = '"'; } } break; case POPT_ARG_NONE: default: l = _free(l); return NULL; /*@notreached@*/ break; } } *le++ = ')'; *le = '\0'; return l; } /** * Display help text for an option. * @param fp output file handle * @param columns output display width control * @param opt option(s) * @param translation_domain translation domain */ static void singleOptionHelp(FILE * fp, columns_t columns, const struct poptOption * opt, /*@null@*/ const char * translation_domain) /*@globals fileSystem @*/ /*@modifies fp, fileSystem @*/ { size_t maxLeftCol = columns->cur; size_t indentLength = maxLeftCol + 5; size_t lineLength = columns->max - indentLength; const char * help = D_(translation_domain, opt->descrip); const char * argDescrip = getArgDescrip(opt, translation_domain); /* Display shortName iff printable non-space. */ int prtshort = (int)(isprint((int)opt->shortName) && opt->shortName != ' '); size_t helpLength; char * defs = NULL; char * left; size_t nb = maxLeftCol + 1; int displaypad = 0; int xx; /* Make sure there's more than enough room in target buffer. */ if (opt->longName) nb += strlen(opt->longName); if (F_ISSET(opt, TOGGLE)) nb += sizeof("[no]") - 1; if (argDescrip) nb += strlen(argDescrip); left = malloc(nb); if (left == NULL) return; /* XXX can't happen */ left[0] = '\0'; left[maxLeftCol] = '\0'; #define prtlong (opt->longName != NULL) /* XXX splint needs a clue */ if (!(prtshort || prtlong)) goto out; if (prtshort && prtlong) { char *dash = F_ISSET(opt, ONEDASH) ? "-" : "--"; left[0] = '-'; left[1] = opt->shortName; (void) stpcpy(stpcpy(stpcpy(left+2, ", "), dash), opt->longName); } else if (prtshort) { left[0] = '-'; left[1] = opt->shortName; left[2] = '\0'; } else if (prtlong) { /* XXX --long always padded for alignment with/without "-X, ". */ char *dash = poptArgType(opt) == POPT_ARG_MAINCALL ? "" : (F_ISSET(opt, ONEDASH) ? "-" : "--"); const char *longName = opt->longName; const char *toggle; if (F_ISSET(opt, TOGGLE)) { toggle = "[no]"; if (longName[0] == 'n' && longName[1] == 'o') { longName += sizeof("no") - 1; if (longName[0] == '-') longName++; } } else toggle = ""; (void) stpcpy(stpcpy(stpcpy(stpcpy(left, " "), dash), toggle), longName); } #undef prtlong if (argDescrip) { char * le = left + strlen(left); if (F_ISSET(opt, OPTIONAL)) *le++ = '['; /* Choose type of output */ if (F_ISSET(opt, SHOW_DEFAULT)) { defs = singleOptionDefaultValue(lineLength, opt, translation_domain); if (defs) { char * t = malloc((help ? strlen(help) : 0) + strlen(defs) + sizeof(" ")); if (t) { char * te = t; if (help) te = stpcpy(te, help); *te++ = ' '; strcpy(te, defs); defs = _free(defs); defs = t; } } } if (opt->argDescrip == NULL) { switch (poptArgType(opt)) { case POPT_ARG_NONE: break; case POPT_ARG_VAL: #ifdef NOTNOW /* XXX pug ugly nerdy output */ { long aLong = opt->val; int ops = F_ISSET(opt, LOGICALOPS); int negate = F_ISSET(opt, NOT); /* Don't bother displaying typical values */ if (!ops && (aLong == 0L || aLong == 1L || aLong == -1L)) break; *le++ = '['; switch (ops) { case POPT_ARGFLAG_OR: *le++ = '|'; /*@innerbreak@*/ break; case POPT_ARGFLAG_AND: *le++ = '&'; /*@innerbreak@*/ break; case POPT_ARGFLAG_XOR: *le++ = '^'; /*@innerbreak@*/ break; default: /*@innerbreak@*/ break; } *le++ = (opt->longName != NULL ? '=' : ' '); if (negate) *le++ = '~'; /*@-formatconst@*/ le += sprintf(le, (ops ? "0x%lx" : "%ld"), aLong); /*@=formatconst@*/ *le++ = ']'; } #endif break; case POPT_ARG_INT: case POPT_ARG_SHORT: case POPT_ARG_LONG: case POPT_ARG_LONGLONG: case POPT_ARG_FLOAT: case POPT_ARG_DOUBLE: case POPT_ARG_STRING: *le++ = (opt->longName != NULL ? '=' : ' '); le = stpcpy(le, argDescrip); break; default: break; } } else { char *leo; /* XXX argDescrip[0] determines "--foo=bar" or "--foo bar". */ if (!strchr(" =(", argDescrip[0])) *le++ = ((poptArgType(opt) == POPT_ARG_MAINCALL) ? ' ' : (poptArgType(opt) == POPT_ARG_ARGV) ? ' ' : '='); le = stpcpy(leo = le, argDescrip); /* Adjust for (possible) wide characters. */ displaypad = (int)((le - leo) - stringDisplayWidth(argDescrip)); } if (F_ISSET(opt, OPTIONAL)) *le++ = ']'; *le = '\0'; } if (help) xx = POPT_fprintf(fp," %-*s ", (int)(maxLeftCol+displaypad), left); else { xx = POPT_fprintf(fp," %s\n", left); goto out; } left = _free(left); if (defs) help = defs; helpLength = strlen(help); while (helpLength > lineLength) { const char * ch; char format[16]; ch = help + lineLength - 1; while (ch > help && !_isspaceptr(ch)) ch = POPT_prev_char(ch); if (ch == help) break; /* give up */ while (ch > (help + 1) && _isspaceptr(ch)) ch = POPT_prev_char (ch); ch = POPT_next_char(ch); /* * XXX strdup is necessary to add NUL terminator so that an unknown * no. of (possible) multi-byte characters can be displayed. */ { char * fmthelp = xstrdup(help); if (fmthelp) { fmthelp[ch - help] = '\0'; sprintf(format, "%%s\n%%%ds", (int) indentLength); /*@-formatconst@*/ xx = POPT_fprintf(fp, format, fmthelp, " "); /*@=formatconst@*/ free(fmthelp); } } help = ch; while (_isspaceptr(help) && *help) help = POPT_next_char(help); helpLength = strlen(help); } if (helpLength) fprintf(fp, "%s\n", help); help = NULL; out: /*@-dependenttrans@*/ defs = _free(defs); /*@=dependenttrans@*/ left = _free(left); } /** * Find display width for longest argument string. * @param opt option(s) * @param translation_domain translation domain * @return display width */ static size_t maxArgWidth(const struct poptOption * opt, /*@null@*/ const char * translation_domain) /*@*/ { size_t max = 0; size_t len = 0; const char * argDescrip; if (opt != NULL) while (opt->longName || opt->shortName || opt->arg) { if (poptArgType(opt) == POPT_ARG_INCLUDE_TABLE) { if (opt->arg) /* XXX program error */ len = maxArgWidth(opt->arg, translation_domain); if (len > max) max = len; } else if (!F_ISSET(opt, DOC_HIDDEN)) { len = sizeof(" ")-1; /* XXX --long always padded for alignment with/without "-X, ". */ len += sizeof("-X, ")-1; if (opt->longName) { len += (F_ISSET(opt, ONEDASH) ? sizeof("-") : sizeof("--")) - 1; len += strlen(opt->longName); } argDescrip = getArgDescrip(opt, translation_domain); if (argDescrip) { /* XXX argDescrip[0] determines "--foo=bar" or "--foo bar". */ if (!strchr(" =(", argDescrip[0])) len += sizeof("=")-1; /* Adjust for (possible) wide characters. */ len += stringDisplayWidth(argDescrip); } if (F_ISSET(opt, OPTIONAL)) len += sizeof("[]")-1; if (len > max) max = len; } opt++; } return max; } /** * Display popt alias and exec help. * @param fp output file handle * @param items alias/exec array * @param nitems no. of alias/exec entries * @param columns output display width control * @param translation_domain translation domain */ static void itemHelp(FILE * fp, /*@null@*/ poptItem items, int nitems, columns_t columns, /*@null@*/ const char * translation_domain) /*@globals fileSystem @*/ /*@modifies fp, fileSystem @*/ { poptItem item; int i; if (items != NULL) for (i = 0, item = items; i < nitems; i++, item++) { const struct poptOption * opt; opt = &item->option; if ((opt->longName || opt->shortName) && !F_ISSET(opt, DOC_HIDDEN)) singleOptionHelp(fp, columns, opt, translation_domain); } } /** * Display help text for a table of options. * @param con context * @param fp output file handle * @param table option(s) * @param columns output display width control * @param translation_domain translation domain */ static void singleTableHelp(poptContext con, FILE * fp, /*@null@*/ const struct poptOption * table, columns_t columns, /*@null@*/ const char * translation_domain) /*@globals fileSystem @*/ /*@modifies fp, columns->cur, fileSystem @*/ { const struct poptOption * opt; const char *sub_transdom; int xx; if (table == poptAliasOptions) { itemHelp(fp, con->aliases, con->numAliases, columns, NULL); itemHelp(fp, con->execs, con->numExecs, columns, NULL); return; } if (table != NULL) for (opt = table; opt->longName || opt->shortName || opt->arg; opt++) { if ((opt->longName || opt->shortName) && !F_ISSET(opt, DOC_HIDDEN)) singleOptionHelp(fp, columns, opt, translation_domain); } if (table != NULL) for (opt = table; opt->longName || opt->shortName || opt->arg; opt++) { if (poptArgType(opt) != POPT_ARG_INCLUDE_TABLE) continue; sub_transdom = getTableTranslationDomain(opt->arg); if (sub_transdom == NULL) sub_transdom = translation_domain; /* If no popt aliases/execs, skip poptAliasOption processing. */ if (opt->arg == poptAliasOptions && !(con->numAliases || con->numExecs)) continue; if (opt->descrip) xx = POPT_fprintf(fp, "\n%s\n", D_(sub_transdom, opt->descrip)); singleTableHelp(con, fp, opt->arg, columns, sub_transdom); } } /** * @param con context * @param fp output file handle */ static size_t showHelpIntro(poptContext con, FILE * fp) /*@globals fileSystem @*/ /*@modifies fp, fileSystem @*/ { size_t len = (size_t)6; int xx; xx = POPT_fprintf(fp, POPT_("Usage:")); if (!(con->flags & POPT_CONTEXT_KEEP_FIRST)) { struct optionStackEntry * os = con->optionStack; const char * fn = (os->argv ? os->argv[0] : NULL); if (fn == NULL) return len; if (strchr(fn, '/')) fn = strrchr(fn, '/') + 1; /* XXX POPT_fprintf not needed for argv[0] display. */ fprintf(fp, " %s", fn); len += strlen(fn) + 1; } return len; } void poptPrintHelp(poptContext con, FILE * fp, /*@unused@*/ UNUSED(int flags)) { columns_t columns = calloc((size_t)1, sizeof(*columns)); int xx; (void) showHelpIntro(con, fp); if (con->otherHelp) xx = POPT_fprintf(fp, " %s\n", con->otherHelp); else xx = POPT_fprintf(fp, " %s\n", POPT_("[OPTION...]")); if (columns) { columns->cur = maxArgWidth(con->options, NULL); columns->max = maxColumnWidth(fp); singleTableHelp(con, fp, con->options, columns, NULL); free(columns); } } /** * Display usage text for an option. * @param fp output file handle * @param columns output display width control * @param opt option(s) * @param translation_domain translation domain */ static size_t singleOptionUsage(FILE * fp, columns_t columns, const struct poptOption * opt, /*@null@*/ const char *translation_domain) /*@globals fileSystem @*/ /*@modifies fp, columns->cur, fileSystem @*/ { size_t len = sizeof(" []")-1; const char * argDescrip = getArgDescrip(opt, translation_domain); /* Display shortName iff printable non-space. */ int prtshort = (int)(isprint((int)opt->shortName) && opt->shortName != ' '); #define prtlong (opt->longName != NULL) /* XXX splint needs a clue */ if (!(prtshort || prtlong)) return columns->cur; len = sizeof(" []")-1; if (prtshort) len += sizeof("-c")-1; if (prtlong) { if (prtshort) len += sizeof("|")-1; len += (F_ISSET(opt, ONEDASH) ? sizeof("-") : sizeof("--")) - 1; len += strlen(opt->longName); } if (argDescrip) { /* XXX argDescrip[0] determines "--foo=bar" or "--foo bar". */ if (!strchr(" =(", argDescrip[0])) len += sizeof("=")-1; /* Adjust for (possible) wide characters. */ len += stringDisplayWidth(argDescrip); } if ((columns->cur + len) > columns->max) { fprintf(fp, "\n "); columns->cur = (size_t)7; } fprintf(fp, " ["); if (prtshort) fprintf(fp, "-%c", opt->shortName); if (prtlong) fprintf(fp, "%s%s%s", (prtshort ? "|" : ""), (F_ISSET(opt, ONEDASH) ? "-" : "--"), opt->longName); #undef prtlong if (argDescrip) { /* XXX argDescrip[0] determines "--foo=bar" or "--foo bar". */ if (!strchr(" =(", argDescrip[0])) fprintf(fp, "="); fprintf(fp, "%s", argDescrip); } fprintf(fp, "]"); return columns->cur + len + 1; } /** * Display popt alias and exec usage. * @param fp output file handle * @param columns output display width control * @param item alias/exec array * @param nitems no. of ara/exec entries * @param translation_domain translation domain */ static size_t itemUsage(FILE * fp, columns_t columns, /*@null@*/ poptItem item, int nitems, /*@null@*/ const char * translation_domain) /*@globals fileSystem @*/ /*@modifies fp, columns->cur, fileSystem @*/ { int i; if (item != NULL) for (i = 0; i < nitems; i++, item++) { const struct poptOption * opt; opt = &item->option; if (poptArgType(opt) == POPT_ARG_INTL_DOMAIN) { translation_domain = (const char *)opt->arg; } else if ((opt->longName || opt->shortName) && !F_ISSET(opt, DOC_HIDDEN)) { columns->cur = singleOptionUsage(fp, columns, opt, translation_domain); } } return columns->cur; } /** * Keep track of option tables already processed. */ typedef struct poptDone_s { int nopts; int maxopts; /*@null@*/ const void ** opts; } * poptDone; /** * Display usage text for a table of options. * @param con context * @param fp output file handle * @param columns output display width control * @param opt option(s) * @param translation_domain translation domain * @param done tables already processed * @return */ static size_t singleTableUsage(poptContext con, FILE * fp, columns_t columns, /*@null@*/ const struct poptOption * opt, /*@null@*/ const char * translation_domain, /*@null@*/ poptDone done) /*@globals fileSystem @*/ /*@modifies fp, columns->cur, done, fileSystem @*/ { if (opt != NULL) for (; (opt->longName || opt->shortName || opt->arg) ; opt++) { if (poptArgType(opt) == POPT_ARG_INTL_DOMAIN) { translation_domain = (const char *)opt->arg; } else if (poptArgType(opt) == POPT_ARG_INCLUDE_TABLE) { if (done) { int i = 0; if (done->opts != NULL) for (i = 0; i < done->nopts; i++) { const void * that = done->opts[i]; if (that == NULL || that != opt->arg) /*@innercontinue@*/ continue; /*@innerbreak@*/ break; } /* Skip if this table has already been processed. */ if (opt->arg == NULL || i < done->nopts) continue; if (done->opts != NULL && done->nopts < done->maxopts) done->opts[done->nopts++] = (const void *) opt->arg; } columns->cur = singleTableUsage(con, fp, columns, opt->arg, translation_domain, done); } else if ((opt->longName || opt->shortName) && !F_ISSET(opt, DOC_HIDDEN)) { columns->cur = singleOptionUsage(fp, columns, opt, translation_domain); } } return columns->cur; } /** * Return concatenated short options for display. * @todo Sub-tables should be recursed. * @param opt option(s) * @param fp output file handle * @retval str concatenation of short options * @return length of display string */ static size_t showShortOptions(const struct poptOption * opt, FILE * fp, /*@null@*/ char * str) /*@globals fileSystem @*/ /*@modifies str, *fp, fileSystem @*/ /*@requires maxRead(str) >= 0 @*/ { /* bufsize larger then the ascii set, lazy allocation on top level call. */ size_t nb = (size_t)300; char * s = (str != NULL ? str : calloc((size_t)1, nb)); size_t len = (size_t)0; if (s == NULL) return 0; if (opt != NULL) for (; (opt->longName || opt->shortName || opt->arg); opt++) { if (!F_ISSET(opt, DOC_HIDDEN) && opt->shortName && !poptArgType(opt)) { /* Display shortName iff unique printable non-space. */ if (!strchr(s, opt->shortName) && isprint((int)opt->shortName) && opt->shortName != ' ') s[strlen(s)] = opt->shortName; } else if (poptArgType(opt) == POPT_ARG_INCLUDE_TABLE) if (opt->arg) /* XXX program error */ len = showShortOptions(opt->arg, fp, s); } /* On return to top level, print the short options, return print length. */ if (s != str && *s != '\0') { fprintf(fp, " [-%s]", s); len = strlen(s) + sizeof(" [-]")-1; } /*@-temptrans@*/ /* LCL: local s, not str arg, is being freed. */ if (s != str) free(s); /*@=temptrans@*/ return len; } void poptPrintUsage(poptContext con, FILE * fp, /*@unused@*/ UNUSED(int flags)) { columns_t columns = calloc((size_t)1, sizeof(*columns)); struct poptDone_s done_buf; poptDone done = &done_buf; memset(done, 0, sizeof(*done)); done->nopts = 0; done->maxopts = 64; if (columns) { columns->cur = done->maxopts * sizeof(*done->opts); columns->max = maxColumnWidth(fp); done->opts = calloc((size_t)1, columns->cur); /*@-keeptrans@*/ if (done->opts != NULL) done->opts[done->nopts++] = (const void *) con->options; /*@=keeptrans@*/ columns->cur = showHelpIntro(con, fp); columns->cur += showShortOptions(con->options, fp, NULL); columns->cur = singleTableUsage(con, fp, columns, con->options, NULL, done); columns->cur = itemUsage(fp, columns, con->aliases, con->numAliases, NULL); columns->cur = itemUsage(fp, columns, con->execs, con->numExecs, NULL); if (con->otherHelp) { columns->cur += strlen(con->otherHelp) + 1; if (columns->cur > columns->max) fprintf(fp, "\n "); fprintf(fp, " %s", con->otherHelp); } fprintf(fp, "\n"); if (done->opts != NULL) free(done->opts); free(columns); } } void poptSetOtherOptionHelp(poptContext con, const char * text) { con->otherHelp = _free(con->otherHelp); con->otherHelp = xstrdup(text); } popt-1.16/popt.h0000664000076400007640000005413511233106707010521 00000000000000/** \file popt/popt.h * \ingroup popt */ /* (C) 1998-2000 Red Hat, Inc. -- Licensing details are in the COPYING file accompanying popt source distributions, available from ftp://ftp.rpm.org/pub/rpm/dist. */ #ifndef H_POPT #define H_POPT #include /* for FILE * */ #define POPT_OPTION_DEPTH 10 /** \ingroup popt * \name Arg type identifiers */ /*@{*/ #define POPT_ARG_NONE 0U /*!< no arg */ #define POPT_ARG_STRING 1U /*!< arg will be saved as string */ #define POPT_ARG_INT 2U /*!< arg ==> int */ #define POPT_ARG_LONG 3U /*!< arg ==> long */ #define POPT_ARG_INCLUDE_TABLE 4U /*!< arg points to table */ #define POPT_ARG_CALLBACK 5U /*!< table-wide callback... must be set first in table; arg points to callback, descrip points to callback data to pass */ #define POPT_ARG_INTL_DOMAIN 6U /*!< set the translation domain for this table and any included tables; arg points to the domain string */ #define POPT_ARG_VAL 7U /*!< arg should take value val */ #define POPT_ARG_FLOAT 8U /*!< arg ==> float */ #define POPT_ARG_DOUBLE 9U /*!< arg ==> double */ #define POPT_ARG_LONGLONG 10U /*!< arg ==> long long */ #define POPT_ARG_MAINCALL 16U+11U /*!< EXPERIMENTAL: return (*arg) (argc, argv) */ #define POPT_ARG_ARGV 12U /*!< dupe'd arg appended to realloc'd argv array. */ #define POPT_ARG_SHORT 13U /*!< arg ==> short */ #define POPT_ARG_BITSET 16U+14U /*!< arg ==> bit set */ #define POPT_ARG_MASK 0x000000FFU #define POPT_GROUP_MASK 0x0000FF00U /*@}*/ /** \ingroup popt * \name Arg modifiers */ /*@{*/ #define POPT_ARGFLAG_ONEDASH 0x80000000U /*!< allow -longoption */ #define POPT_ARGFLAG_DOC_HIDDEN 0x40000000U /*!< don't show in help/usage */ #define POPT_ARGFLAG_STRIP 0x20000000U /*!< strip this arg from argv(only applies to long args) */ #define POPT_ARGFLAG_OPTIONAL 0x10000000U /*!< arg may be missing */ #define POPT_ARGFLAG_OR 0x08000000U /*!< arg will be or'ed */ #define POPT_ARGFLAG_NOR 0x09000000U /*!< arg will be nor'ed */ #define POPT_ARGFLAG_AND 0x04000000U /*!< arg will be and'ed */ #define POPT_ARGFLAG_NAND 0x05000000U /*!< arg will be nand'ed */ #define POPT_ARGFLAG_XOR 0x02000000U /*!< arg will be xor'ed */ #define POPT_ARGFLAG_NOT 0x01000000U /*!< arg will be negated */ #define POPT_ARGFLAG_LOGICALOPS \ (POPT_ARGFLAG_OR|POPT_ARGFLAG_AND|POPT_ARGFLAG_XOR) #define POPT_BIT_SET (POPT_ARG_VAL|POPT_ARGFLAG_OR) /*!< set arg bit(s) */ #define POPT_BIT_CLR (POPT_ARG_VAL|POPT_ARGFLAG_NAND) /*!< clear arg bit(s) */ #define POPT_ARGFLAG_SHOW_DEFAULT 0x00800000U /*!< show default value in --help */ #define POPT_ARGFLAG_RANDOM 0x00400000U /*!< random value in [1,arg] */ #define POPT_ARGFLAG_TOGGLE 0x00200000U /*!< permit --[no]opt prefix toggle */ /*@}*/ /** \ingroup popt * \name Callback modifiers */ /*@{*/ #define POPT_CBFLAG_PRE 0x80000000U /*!< call the callback before parse */ #define POPT_CBFLAG_POST 0x40000000U /*!< call the callback after parse */ #define POPT_CBFLAG_INC_DATA 0x20000000U /*!< use data from the include line, not the subtable */ #define POPT_CBFLAG_SKIPOPTION 0x10000000U /*!< don't callback with option */ #define POPT_CBFLAG_CONTINUE 0x08000000U /*!< continue callbacks with option */ /*@}*/ /** \ingroup popt * \name Error return values */ /*@{*/ #define POPT_ERROR_NOARG -10 /*!< missing argument */ #define POPT_ERROR_BADOPT -11 /*!< unknown option */ #define POPT_ERROR_OPTSTOODEEP -13 /*!< aliases nested too deeply */ #define POPT_ERROR_BADQUOTE -15 /*!< error in paramter quoting */ #define POPT_ERROR_ERRNO -16 /*!< errno set, use strerror(errno) */ #define POPT_ERROR_BADNUMBER -17 /*!< invalid numeric value */ #define POPT_ERROR_OVERFLOW -18 /*!< number too large or too small */ #define POPT_ERROR_BADOPERATION -19 /*!< mutually exclusive logical operations requested */ #define POPT_ERROR_NULLARG -20 /*!< opt->arg should not be NULL */ #define POPT_ERROR_MALLOC -21 /*!< memory allocation failed */ #define POPT_ERROR_BADCONFIG -22 /*!< config file failed sanity test */ /*@}*/ /** \ingroup popt * \name poptBadOption() flags */ /*@{*/ #define POPT_BADOPTION_NOALIAS (1U << 0) /*!< don't go into an alias */ /*@}*/ /** \ingroup popt * \name poptGetContext() flags */ /*@{*/ #define POPT_CONTEXT_NO_EXEC (1U << 0) /*!< ignore exec expansions */ #define POPT_CONTEXT_KEEP_FIRST (1U << 1) /*!< pay attention to argv[0] */ #define POPT_CONTEXT_POSIXMEHARDER (1U << 2) /*!< options can't follow args */ #define POPT_CONTEXT_ARG_OPTS (1U << 4) /*!< return args as options with value 0 */ /*@}*/ /** \ingroup popt */ struct poptOption { /*@observer@*/ /*@null@*/ const char * longName; /*!< may be NULL */ char shortName; /*!< may be NUL */ unsigned int argInfo; /*@shared@*/ /*@null@*/ void * arg; /*!< depends on argInfo */ int val; /*!< 0 means don't return, just update flag */ /*@observer@*/ /*@null@*/ const char * descrip; /*!< description for autohelp -- may be NULL */ /*@observer@*/ /*@null@*/ const char * argDescrip; /*!< argument description for autohelp */ }; /** \ingroup popt * A popt alias argument for poptAddAlias(). */ struct poptAlias { /*@owned@*/ /*@null@*/ const char * longName; /*!< may be NULL */ char shortName; /*!< may be NUL */ int argc; /*@owned@*/ const char ** argv; /*!< must be free()able */ }; /** \ingroup popt * A popt alias or exec argument for poptAddItem(). */ /*@-exporttype@*/ typedef struct poptItem_s { struct poptOption option; /*!< alias/exec name(s) and description. */ int argc; /*!< (alias) no. of args. */ /*@owned@*/ const char ** argv; /*!< (alias) args, must be free()able. */ } * poptItem; /*@=exporttype@*/ /** \ingroup popt * \name Auto-generated help/usage */ /*@{*/ /** * Empty table marker to enable displaying popt alias/exec options. */ /*@-exportvar@*/ /*@unchecked@*/ /*@observer@*/ extern struct poptOption poptAliasOptions[]; /*@=exportvar@*/ #define POPT_AUTOALIAS { NULL, '\0', POPT_ARG_INCLUDE_TABLE, poptAliasOptions, \ 0, "Options implemented via popt alias/exec:", NULL }, /** * Auto help table options. */ /*@-exportvar@*/ /*@unchecked@*/ /*@observer@*/ extern struct poptOption poptHelpOptions[]; /*@=exportvar@*/ /*@-exportvar@*/ /*@unchecked@*/ /*@observer@*/ extern struct poptOption * poptHelpOptionsI18N; /*@=exportvar@*/ #define POPT_AUTOHELP { NULL, '\0', POPT_ARG_INCLUDE_TABLE, poptHelpOptions, \ 0, "Help options:", NULL }, #define POPT_TABLEEND { NULL, '\0', 0, NULL, 0, NULL, NULL } /*@}*/ /** \ingroup popt */ /*@-exporttype@*/ typedef /*@abstract@*/ struct poptContext_s * poptContext; /*@=exporttype@*/ /** \ingroup popt */ #ifndef __cplusplus /*@-exporttype -typeuse@*/ typedef struct poptOption * poptOption; /*@=exporttype =typeuse@*/ #endif /** \ingroup popt */ /*@-exportconst@*/ enum poptCallbackReason { POPT_CALLBACK_REASON_PRE = 0, POPT_CALLBACK_REASON_POST = 1, POPT_CALLBACK_REASON_OPTION = 2 }; /*@=exportconst@*/ #ifdef __cplusplus extern "C" { #endif /*@-type@*/ /** \ingroup popt * Table callback prototype. * @param con context * @param reason reason for callback * @param opt option that triggered callback * @param arg @todo Document. * @param data @todo Document. */ typedef void (*poptCallbackType) (poptContext con, enum poptCallbackReason reason, /*@null@*/ const struct poptOption * opt, /*@null@*/ const char * arg, /*@null@*/ const void * data) /*@globals internalState @*/ /*@modifies internalState @*/; /** \ingroup popt * Destroy context. * @param con context * @return NULL always */ /*@null@*/ poptContext poptFreeContext( /*@only@*/ /*@null@*/ poptContext con) /*@modifies con @*/; /** \ingroup popt * Initialize popt context. * @param name context name (usually argv[0] program name) * @param argc no. of arguments * @param argv argument array * @param options address of popt option table * @param flags or'd POPT_CONTEXT_* bits * @return initialized popt context */ /*@only@*/ /*@null@*/ poptContext poptGetContext( /*@dependent@*/ /*@keep@*/ const char * name, int argc, /*@dependent@*/ /*@keep@*/ const char ** argv, /*@dependent@*/ /*@keep@*/ const struct poptOption * options, unsigned int flags) /*@globals internalState @*/ /*@modifies internalState @*/; /** \ingroup popt * Destroy context (alternative implementation). * @param con context * @return NULL always */ /*@null@*/ poptContext poptFini( /*@only@*/ /*@null@*/ poptContext con) /*@modifies con @*/; /** \ingroup popt * Initialize popt context (alternative implementation). * This routine does poptGetContext() and then poptReadConfigFiles(). * @param argc no. of arguments * @param argv argument array * @param options address of popt option table * @param configPaths colon separated file path(s) to read. * @return initialized popt context (NULL on error). */ /*@only@*/ /*@null@*/ /*@unused@*/ poptContext poptInit(int argc, /*@dependent@*/ /*@keep@*/ const char ** argv, /*@dependent@*/ /*@keep@*/ const struct poptOption * options, /*@null@*/ const char * configPaths) /*@globals fileSystem, internalState @*/ /*@modifies fileSystem, internalState @*/; /** \ingroup popt * Reinitialize popt context. * @param con context */ /*@unused@*/ void poptResetContext(/*@null@*/poptContext con) /*@modifies con @*/; /** \ingroup popt * Return value of next option found. * @param con context * @return next option val, -1 on last item, POPT_ERROR_* on error */ int poptGetNextOpt(/*@null@*/poptContext con) /*@globals fileSystem, internalState @*/ /*@modifies con, fileSystem, internalState @*/; /** \ingroup popt * Return next option argument (if any). * @param con context * @return option argument, NULL if no argument is available */ /*@observer@*/ /*@null@*/ /*@unused@*/ char * poptGetOptArg(/*@null@*/poptContext con) /*@modifies con @*/; /** \ingroup popt * Return next argument. * @param con context * @return next argument, NULL if no argument is available */ /*@observer@*/ /*@null@*/ /*@unused@*/ const char * poptGetArg(/*@null@*/poptContext con) /*@modifies con @*/; /** \ingroup popt * Peek at current argument. * @param con context * @return current argument, NULL if no argument is available */ /*@observer@*/ /*@null@*/ /*@unused@*/ const char * poptPeekArg(/*@null@*/poptContext con) /*@*/; /** \ingroup popt * Return remaining arguments. * @param con context * @return argument array, NULL terminated */ /*@observer@*/ /*@null@*/ const char ** poptGetArgs(/*@null@*/poptContext con) /*@modifies con @*/; /** \ingroup popt * Return the option which caused the most recent error. * @param con context * @param flags * @return offending option */ /*@observer@*/ const char * poptBadOption(/*@null@*/poptContext con, unsigned int flags) /*@*/; /** \ingroup popt * Add arguments to context. * @param con context * @param argv argument array, NULL terminated * @return 0 on success, POPT_ERROR_OPTSTOODEEP on failure */ /*@unused@*/ int poptStuffArgs(poptContext con, /*@keep@*/ const char ** argv) /*@modifies con @*/; /** \ingroup popt * Add alias to context. * @todo Pass alias by reference, not value. * @deprecated Use poptAddItem instead. * @param con context * @param alias alias to add * @param flags (unused) * @return 0 on success */ /*@unused@*/ int poptAddAlias(poptContext con, struct poptAlias alias, int flags) /*@modifies con @*/; /** \ingroup popt * Add alias/exec item to context. * @param con context * @param newItem alias/exec item to add * @param flags 0 for alias, 1 for exec * @return 0 on success */ int poptAddItem(poptContext con, poptItem newItem, int flags) /*@modifies con @*/; /** \ingroup popt * Perform sanity checks on a file path. * @param fn file name * @return 0 on OK, 1 on NOTOK. */ int poptSaneFile(const char * fn) /*@globals errno, internalState @*/ /*@modifies errno, internalState @*/; /** * Read a file into a buffer. * @param fn file name * @retval *bp buffer (malloc'd) (or NULL) * @retval *nbp no. of bytes in buffer (including final NUL) (or NULL) * @param flags 1 to trim escaped newlines * return 0 on success */ int poptReadFile(const char * fn, /*@null@*/ /*@out@*/ char ** bp, /*@null@*/ /*@out@*/ size_t * nbp, int flags) /*@globals errno, fileSystem, internalState @*/ /*@modifies *bp, *nbp, errno, fileSystem, internalState @*/; #define POPT_READFILE_TRIMNEWLINES 1 /** \ingroup popt * Read configuration file. * @param con context * @param fn file name to read * @return 0 on success, POPT_ERROR_ERRNO on failure */ int poptReadConfigFile(poptContext con, const char * fn) /*@globals errno, fileSystem, internalState @*/ /*@modifies con->execs, con->numExecs, errno, fileSystem, internalState @*/; /** \ingroup popt * Read configuration file(s). * Colon separated files to read, looping over poptReadConfigFile(). * Note that an '@' character preceeding a path in the list will * also perform additional sanity checks on the file before reading. * @param con context * @param paths colon separated file name(s) to read * @return 0 on success, POPT_ERROR_BADCONFIG on failure */ int poptReadConfigFiles(poptContext con, /*@null@*/ const char * paths) /*@globals errno, fileSystem, internalState @*/ /*@modifies con->execs, con->numExecs, errno, fileSystem, internalState @*/; /** \ingroup popt * Read default configuration from /etc/popt and $HOME/.popt. * @param con context * @param useEnv (unused) * @return 0 on success, POPT_ERROR_ERRNO on failure */ /*@unused@*/ int poptReadDefaultConfig(poptContext con, /*@unused@*/ int useEnv) /*@globals fileSystem, internalState @*/ /*@modifies con->execs, con->numExecs, fileSystem, internalState @*/; /** \ingroup popt * Duplicate an argument array. * @note: The argument array is malloc'd as a single area, so only argv must * be free'd. * * @param argc no. of arguments * @param argv argument array * @retval argcPtr address of returned no. of arguments * @retval argvPtr address of returned argument array * @return 0 on success, POPT_ERROR_NOARG on failure */ int poptDupArgv(int argc, /*@null@*/ const char **argv, /*@null@*/ /*@out@*/ int * argcPtr, /*@null@*/ /*@out@*/ const char *** argvPtr) /*@modifies *argcPtr, *argvPtr @*/; /** \ingroup popt * Parse a string into an argument array. * The parse allows ', ", and \ quoting, but ' is treated the same as " and * both may include \ quotes. * @note: The argument array is malloc'd as a single area, so only argv must * be free'd. * * @param s string to parse * @retval argcPtr address of returned no. of arguments * @retval argvPtr address of returned argument array */ int poptParseArgvString(const char * s, /*@out@*/ int * argcPtr, /*@out@*/ const char *** argvPtr) /*@modifies *argcPtr, *argvPtr @*/; /** \ingroup popt * Parses an input configuration file and returns an string that is a * command line. For use with popt. You must free the return value when done. * * Given the file: \verbatim # this line is ignored # this one too aaa bbb ccc bla=bla this_is = fdsafdas bad_line= reall bad line reall bad line = again 5555= 55555 test = with lots of spaces \endverbatim * * The result is: \verbatim --aaa --bbb --ccc --bla="bla" --this_is="fdsafdas" --5555="55555" --test="with lots of spaces" \endverbatim * * Passing this to poptParseArgvString() yields an argv of: \verbatim '--aaa' '--bbb' '--ccc' '--bla=bla' '--this_is=fdsafdas' '--5555=55555' '--test=with lots of spaces' \endverbatim * * @bug NULL is returned if file line is too long. * @bug Silently ignores invalid lines. * * @param fp file handle to read * @param *argstrp return string of options (malloc'd) * @param flags unused * @return 0 on success * @see poptParseArgvString */ /*@-fcnuse@*/ int poptConfigFileToString(FILE *fp, /*@out@*/ char ** argstrp, int flags) /*@globals fileSystem @*/ /*@modifies *fp, *argstrp, fileSystem @*/; /*@=fcnuse@*/ /** \ingroup popt * Return formatted error string for popt failure. * @param error popt error * @return error string */ /*@observer@*/ const char * poptStrerror(const int error) /*@*/; /** \ingroup popt * Limit search for executables. * @param con context * @param path single path to search for executables * @param allowAbsolute absolute paths only? */ /*@unused@*/ void poptSetExecPath(poptContext con, const char * path, int allowAbsolute) /*@modifies con @*/; /** \ingroup popt * Print detailed description of options. * @param con context * @param fp ouput file handle * @param flags (unused) */ void poptPrintHelp(poptContext con, FILE * fp, /*@unused@*/ int flags) /*@globals fileSystem @*/ /*@modifies fp, fileSystem @*/; /** \ingroup popt * Print terse description of options. * @param con context * @param fp ouput file handle * @param flags (unused) */ void poptPrintUsage(poptContext con, FILE * fp, /*@unused@*/ int flags) /*@globals fileSystem @*/ /*@modifies fp, fileSystem @*/; /** \ingroup popt * Provide text to replace default "[OPTION...]" in help/usage output. * @param con context * @param text replacement text */ /*@-fcnuse@*/ void poptSetOtherOptionHelp(poptContext con, const char * text) /*@modifies con @*/; /*@=fcnuse@*/ /** \ingroup popt * Return argv[0] from context. * @param con context * @return argv[0] */ /*@-fcnuse@*/ /*@observer@*/ const char * poptGetInvocationName(poptContext con) /*@*/; /*@=fcnuse@*/ /** \ingroup popt * Shuffle argv pointers to remove stripped args, returns new argc. * @param con context * @param argc no. of args * @param argv arg vector * @return new argc */ /*@-fcnuse@*/ int poptStrippedArgv(poptContext con, int argc, char ** argv) /*@modifies *argv @*/; /*@=fcnuse@*/ /** * Add a string to an argv array. * @retval *argvp argv array * @param argInfo (unused) * @param val string arg to add (using strdup) * @return 0 on success, POPT_ERROR_NULLARG/POPT_ERROR_BADOPERATION */ /*@unused@*/ int poptSaveString(/*@null@*/ const char *** argvp, unsigned int argInfo, /*@null@*/const char * val) /*@modifies *argvp @*/; /** * Save a long long, performing logical operation with value. * @warning Alignment check may be too strict on certain platorms. * @param arg integer pointer, aligned on int boundary. * @param argInfo logical operation (see POPT_ARGFLAG_*) * @param aLongLong value to use * @return 0 on success, POPT_ERROR_NULLARG/POPT_ERROR_BADOPERATION */ /*@-incondefs@*/ /*@unused@*/ int poptSaveLongLong(/*@null@*/ long long * arg, unsigned int argInfo, long long aLongLong) /*@globals internalState @*/ /*@modifies *arg, internalState @*/ /*@requires maxSet(arg) >= 0 /\ maxRead(arg) == 0 @*/; /*@=incondefs@*/ /** * Save a long, performing logical operation with value. * @warning Alignment check may be too strict on certain platorms. * @param arg integer pointer, aligned on int boundary. * @param argInfo logical operation (see POPT_ARGFLAG_*) * @param aLong value to use * @return 0 on success, POPT_ERROR_NULLARG/POPT_ERROR_BADOPERATION */ /*@-incondefs@*/ /*@unused@*/ int poptSaveLong(/*@null@*/ long * arg, unsigned int argInfo, long aLong) /*@globals internalState @*/ /*@modifies *arg, internalState @*/ /*@requires maxSet(arg) >= 0 /\ maxRead(arg) == 0 @*/; /*@=incondefs@*/ /** * Save a short integer, performing logical operation with value. * @warning Alignment check may be too strict on certain platorms. * @param arg short pointer, aligned on short boundary. * @param argInfo logical operation (see POPT_ARGFLAG_*) * @param aLong value to use * @return 0 on success, POPT_ERROR_NULLARG/POPT_ERROR_BADOPERATION */ /*@-incondefs@*/ /*@unused@*/ int poptSaveShort(/*@null@*/ short * arg, unsigned int argInfo, long aLong) /*@globals internalState @*/ /*@modifies *arg, internalState @*/ /*@requires maxSet(arg) >= 0 /\ maxRead(arg) == 0 @*/; /*@=incondefs@*/ /** * Save an integer, performing logical operation with value. * @warning Alignment check may be too strict on certain platorms. * @param arg integer pointer, aligned on int boundary. * @param argInfo logical operation (see POPT_ARGFLAG_*) * @param aLong value to use * @return 0 on success, POPT_ERROR_NULLARG/POPT_ERROR_BADOPERATION */ /*@-incondefs@*/ /*@unused@*/ int poptSaveInt(/*@null@*/ int * arg, unsigned int argInfo, long aLong) /*@globals internalState @*/ /*@modifies *arg, internalState @*/ /*@requires maxSet(arg) >= 0 /\ maxRead(arg) == 0 @*/; /*@=incondefs@*/ /* The bit set typedef. */ /*@-exporttype@*/ typedef struct poptBits_s { unsigned int bits[1]; } * poptBits; /*@=exporttype@*/ #define _POPT_BITS_N 1024U /* estimated population */ #define _POPT_BITS_M ((3U * _POPT_BITS_N) / 2U) #define _POPT_BITS_K 16U /* no. of linear hash combinations */ /*@-exportlocal -exportvar -globuse @*/ /*@unchecked@*/ extern unsigned int _poptBitsN; /*@unchecked@*/ extern unsigned int _poptBitsM; /*@unchecked@*/ extern unsigned int _poptBitsK; /*@=exportlocal =exportvar =globuse @*/ /*@-exportlocal@*/ int poptBitsAdd(/*@null@*/poptBits bits, /*@null@*/const char * s) /*@modifies bits @*/; /*@=exportlocal@*/ int poptBitsChk(/*@null@*/poptBits bits, /*@null@*/const char * s) /*@*/; int poptBitsClr(/*@null@*/poptBits bits) /*@modifies bits @*/; /*@-exportlocal@*/ int poptBitsDel(/*@null@*/poptBits bits, /*@null@*/const char * s) /*@modifies bits @*/; /*@-fcnuse@*/ int poptBitsIntersect(/*@null@*/ poptBits * ap, /*@null@*/ const poptBits b) /*@modifies *ap @*/; int poptBitsUnion(/*@null@*/ poptBits * ap, /*@null@*/ const poptBits b) /*@modifies *ap @*/; int poptBitsArgs(/*@null@*/ poptContext con, /*@null@*/ poptBits * ap) /*@modifies con, *ap @*/; /*@=fcnuse@*/ /*@=exportlocal@*/ /** * Save a string into a bit set (experimental). * @retval *bits bit set (lazily malloc'd if NULL) * @param argInfo logical operation (see POPT_ARGFLAG_*) * @param s string to add to bit set * @return 0 on success, POPT_ERROR_NULLARG/POPT_ERROR_BADOPERATION */ /*@-incondefs@*/ /*@unused@*/ int poptSaveBits(/*@null@*/ poptBits * bitsp, unsigned int argInfo, /*@null@*/ const char * s) /*@globals _poptBitsN, _poptBitsM, _poptBitsK, internalState @*/ /*@modifies *bitsp, _poptBitsN, _poptBitsM, _poptBitsK, internalState @*/; /*@=incondefs@*/ /*@=type@*/ #ifdef __cplusplus } #endif #endif popt-1.16/configure0000775000076400007640000206774411370104737011314 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.63 for popt 1.16. # # Report bugs to . # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 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 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 case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # 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 # 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. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # 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 # 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 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'` # CDPATH. $as_unset CDPATH if test "x$CONFIG_SHELL" = x; then if (eval ":") 2>/dev/null; then as_have_required=yes else as_have_required=no fi if test $as_have_required = yes && (eval ": (as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0) || { (exit 1); exit 1; } ( 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\") || { (exit 1); exit 1; } ") 2> /dev/null; then : else as_candidate_shells= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. case $as_dir in /*) for as_base in sh bash ksh sh5; do as_candidate_shells="$as_candidate_shells $as_dir/$as_base" done;; esac done IFS=$as_save_IFS for as_shell in $as_candidate_shells $SHELL; do # 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 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 case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : _ASEOF }; then CONFIG_SHELL=$as_shell as_have_required=yes if { "$as_shell" 2> /dev/null <<\_ASEOF 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 case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : (as_func_return () { (exit $1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = "$1" ); then : else exitcode=1 echo positional parameters were not saved. fi test $exitcode = 0) || { (exit 1); exit 1; } ( 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") || { (exit 1); exit 1; } _ASEOF }; then break fi fi done 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+"$@"} fi if test $as_have_required = no; then echo This script requires a shell more modern than all the echo shells that I found on your system. Please install a echo modern shell, or manually run the script under such a echo shell if you do have one. { (exit 1); exit 1; } fi fi fi (eval "as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0") || { echo No shell found that supports shell functions. 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. } 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 } 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 if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi 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 if mkdir -p . 2>/dev/null; then as_mkdir_p=: else 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 # 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'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" # Check that we are running under the correct shell. SHELL=${CONFIG_SHELL-/bin/sh} 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 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 if test "X$1" = X--fallback-echo; then # used as fallback echo shift cat <<_LT_EOF $* _LT_EOF exit 0 fi # 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 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" 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 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. lt_ECHO=$ECHO if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" fi exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='popt' PACKAGE_TARNAME='popt' PACKAGE_VERSION='1.16' PACKAGE_STRING='popt 1.16' PACKAGE_BUGREPORT='popt-devel@rpm5.org' ac_unique_file="popt.h" # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" gt_needs= enable_option_checking=no ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS subdirs POPT_SOURCE_PATH POPT_PKGCONFIG_LIBS POSUB LTLIBINTL LIBINTL INTLLIBS LTLIBICONV LIBICONV INTL_MACOSX_LIBS XGETTEXT_EXTRA_OPTIONS MSGMERGE XGETTEXT_015 XGETTEXT GMSGFMT_015 MSGFMT_015 GMSGFMT MSGFMT GETTEXT_MACRO_VERSION USE_NLS HAVE_LD_VERSION_SCRIPT_FALSE HAVE_LD_VERSION_SCRIPT_TRUE ANSI2KNR U TARGET CPP OTOOL64 OTOOL LIPO NMEDIT DSYMUTIL lt_ECHO RANLIB AR OBJDUMP LN_S NM ac_ct_DUMPBIN DUMPBIN LD FGREP EGREP GREP SED LIBTOOL am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC LT_AGE LT_REVISION LT_CURRENT MAINT MAINTAINER_MODE_FALSE MAINTAINER_MODE_TRUE 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 target_os target_vendor target_cpu target host_os host_vendor host_cpu host build_os build_vendor build_cpu build 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_maintainer_mode enable_dependency_tracking enable_shared enable_static with_pic enable_fast_install with_gnu_ld enable_libtool_lock enable_largefile enable_ld_version_script enable_build_gcov enable_nls enable_rpath with_libiconv_prefix with_libintl_prefix ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP' ac_subdirs_all='' # 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 exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. 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_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 ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. 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_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- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. 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_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_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. 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_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. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) { $as_echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) 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 && { $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. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` { $as_echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi 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 { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; } done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe $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 fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || { $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" || { $as_echo "$as_me: error: pwd does not report name of working directory" >&2 { (exit 1); exit 1; }; } # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. 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 } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." { $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" || { $as_echo "$as_me: error: $ac_msg" >&2 { (exit 1); exit 1; }; } pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures popt 1.16 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. 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/popt] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] --target=TARGET configure for building compilers for TARGET [HOST] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of popt 1.16:";; esac 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] --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --disable-largefile omit support for large files --enable-ld-version-script enable/disable use of linker version script. (default is system dependent) --enable-build-gcov build POPT instrumented for gcov --disable-nls do not use Native Language Support --disable-rpath do not hardcode runtime library paths Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-pic try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-gnu-ld assume the C compiler uses GNU ld default=no --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib --without-libintl-prefix don't search for libintl in includedir and libdir Some influential environment variables: CC C compiler command CFLAGS 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 CPP C preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF ac_status=$? fi 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" || { 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=/`$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 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 ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF popt configure 1.16 generated by GNU Autoconf 2.63 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 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 exit fi cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by popt $as_me 1.16, which was generated by GNU Autoconf 2.63. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) ac_configure_args1="$ac_configure_args1 '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac done done $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX echo # The following way of writing the cache mishandles newlines in values, ( 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=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------------- ## ## File substitutions. ## ## ------------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo cat confdefs.h echo fi test "$ac_signal" != 0 && $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 && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then ac_site_file1=$CONFIG_SITE elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi 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 { $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 done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then { $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 { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi gt_needs="$gt_needs " # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $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) { $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 # 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=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; 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: 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 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_headers="$ac_config_headers config.h" ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then { { $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 # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # 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; }; } { $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 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 { $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 $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || { { $as_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 { $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) { { $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 ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:$LINENO: checking target system type" >&5 $as_echo_n "checking target system type... " >&6; } if test "${ac_cv_target+set}" = set; then $as_echo_n "(cached) " >&6 else if test "x$target_alias" = x; then ac_cv_target=$ac_cv_host else ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5 $as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_target" >&5 $as_echo "$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; *) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical target" >&5 $as_echo "$as_me: error: invalid value of canonical target" >&2;} { (exit 1); exit 1; }; };; esac target=$ac_cv_target ac_save_IFS=$IFS; IFS='-' set x $ac_cv_target shift target_cpu=$1 target_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: target_os=$* IFS=$ac_save_IFS case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac # The aliases save the names the user supplied, while $host etc. # will get canonicalized. test -n "$target_alias" && test "$program_prefix$program_suffix$program_transform_name" = \ NONENONEs,x,x, && program_prefix=${target_alias}- am__api_version='1.11' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # 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. # 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 $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=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # 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_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. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else 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 INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL 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. INSTALL=$ac_install_sh fi fi { $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. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $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 # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) { { $as_echo "$as_me:$LINENO: error: unsafe absolute working directory name" >&5 $as_echo "$as_me: error: unsafe absolute working directory name" >&2;} { (exit 1); exit 1; }; };; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) { { $as_echo "$as_me:$LINENO: error: unsafe srcdir value: \`$srcdir'" >&5 $as_echo "$as_me: error: unsafe srcdir value: \`$srcdir'" >&2;} { (exit 1); exit 1; }; };; esac # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # 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". { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 $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 test "$2" = conftest.file ) then # Ok. : else { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 $as_echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi { $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 $. # By default was `s,x,x', remove it if useless. 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` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { $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 test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then 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 { $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 "$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 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_STRIP="${ac_tool_prefix}strip" $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 STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $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 { $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_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 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_STRIP="strip" $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 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 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" 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 STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $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 # 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 { $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 $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # 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_AWK="$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 AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:$LINENO: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $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 $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null 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 if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='popt' VERSION='1.16' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. AMTAR=${AMTAR-"${am_missing_run}tar"} am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' { $as_echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } # Check whether --enable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval else USE_MAINTAINER_MODE=no fi { $as_echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 $as_echo "$USE_MAINTAINER_MODE" >&6; } if test $USE_MAINTAINER_MODE = yes; then MAINTAINER_MODE_TRUE= MAINTAINER_MODE_FALSE='#' else MAINTAINER_MODE_TRUE='#' MAINTAINER_MODE_FALSE= fi MAINT=$MAINTAINER_MODE_TRUE # Library code modified: REVISION++ # Interfaces changed/added/removed: CURRENT++ REVISION=0 # Interfaces added: AGE++ # Interfaces removed: AGE=0 LT_CURRENT=0 LT_REVISION=0 LT_AGE=8 ALL_LINGUAS="cs da de eo es fi fr ga gl hu id is it ja ko lv nb nl pl pt ro ru sk sl sv th tr uk vi wa zh_TW zh_CN" DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { $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 # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from `make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi { $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. if test "${enable_dependency_tracking+set}" = set; then enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_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 -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 -n "$CC"; then ac_cv_prog_CC="$CC" # 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_CC="${ac_tool_prefix}gcc" $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 CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $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 { $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 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="gcc" $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 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 { $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 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_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 fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $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 { $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_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_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 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 { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi 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 { $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 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_CC="$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 CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $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 { $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 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 done done IFS=$as_save_IFS fi 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 { $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="" 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 fi fi 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; }; }; } # 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); } 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 ac_clean_files_save=$ac_clean_files 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. { $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 | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { (ac_try="$ac_link_default" 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_default") 2>&5 ac_status=$? $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 '' do test -f "$ac_file" || continue case $ac_file in *.$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 # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else 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 { { $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 $as_echo "$as_me: error: C compiler cannot create executables See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; }; } fi ac_exeext=$ac_cv_exeext # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $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 if { ac_try='./$ac_file' { (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 cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes 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: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 $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; }; }; } fi fi fi { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } 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. { $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; } { $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 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); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. 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 | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done 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: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 $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; }; }; } fi rm -f conftest$ac_cv_exeext { $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 { $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 $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. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj 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>&5 ac_status=$? $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 | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $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 $as_echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $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. */ 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 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 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $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 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_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 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_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 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_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 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_g=yes 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 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 { $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 if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $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 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__" 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 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 $as_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) { $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 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= { $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 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 am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac 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 # 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. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; 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 ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj 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 $am__obj 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 { $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 am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi case $ac_cv_prog_cc_stdc in no) ac_cv_prog_cc_c99=no; ac_cv_prog_cc_c89=no ;; *) { $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C99" >&5 $as_echo_n "checking for $CC option to accept ISO C99... " >&6; } if test "${ac_cv_prog_cc_c99+set}" = set; then $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c99=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 #include // Check varargs macros. These examples are taken from C99 6.10.3.5. #define debug(...) fprintf (stderr, __VA_ARGS__) #define showlist(...) puts (#__VA_ARGS__) #define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) static void test_varargs_macros (void) { int x = 1234; int y = 5678; debug ("Flag"); debug ("X = %d\n", x); showlist (The first, second, and third items.); report (x>y, "x is %d but y is %d", x, y); } // Check long long types. #define BIG64 18446744073709551615ull #define BIG32 4294967295ul #define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) #if !BIG_OK your preprocessor is broken; #endif #if BIG_OK #else your preprocessor is broken; #endif static long long int bignum = -9223372036854775807LL; static unsigned long long int ubignum = BIG64; struct incomplete_array { int datasize; double data[]; }; struct named_init { int number; const wchar_t *name; double average; }; typedef const char *ccp; static inline int test_restrict (ccp restrict text) { // See if C++-style comments work. // Iterate through items via the restricted pointer. // Also check for declarations in for loops. for (unsigned int i = 0; *(text+i) != '\0'; ++i) continue; return 0; } // Check varargs and va_copy. static void test_varargs (const char *format, ...) { va_list args; va_start (args, format); va_list args_copy; va_copy (args_copy, args); const char *str; int number; float fnumber; while (*format) { switch (*format++) { case 's': // string str = va_arg (args_copy, const char *); break; case 'd': // int number = va_arg (args_copy, int); break; case 'f': // float fnumber = va_arg (args_copy, double); break; default: break; } } va_end (args_copy); va_end (args); } int main () { // Check bool. _Bool success = false; // Check restrict. if (test_restrict ("String literal") == 0) success = true; char *restrict newvar = "Another string"; // Check varargs. test_varargs ("s, d' f .", "string", 65, 34.234); test_varargs_macros (); // Check flexible array members. struct incomplete_array *ia = malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); ia->datasize = 10; for (int i = 0; i < ia->datasize; ++i) ia->data[i] = i * 1.234; // Check named initializers. struct named_init ni = { .number = 34, .name = L"Test wide string", .average = 543.34343, }; ni.number = 58; int dynamic_array[ni.number]; dynamic_array[ni.number - 1] = 543; // work around unused variable warnings return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' || dynamic_array[ni.number - 1] != 543); ; return 0; } _ACEOF for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -xc99=all -qlanglvl=extc99 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 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_c99=$ac_arg else $as_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_c99" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c99" 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_c99" { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c99" >&5 $as_echo "$ac_cv_prog_cc_c99" >&6; } ;; esac if test "x$ac_cv_prog_cc_c99" != xno; then ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 else { $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 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__" 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 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 $as_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) { $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 if test "x$ac_cv_prog_cc_c89" != xno; then ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 else ac_cv_prog_cc_stdc=no fi fi ;; esac { $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO Standard C" >&5 $as_echo_n "checking for $CC option to accept ISO Standard C... " >&6; } if test "${ac_cv_prog_cc_stdc+set}" = set; then $as_echo_n "(cached) " >&6 fi case $ac_cv_prog_cc_stdc in no) { $as_echo "$as_me:$LINENO: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; '') { $as_echo "$as_me:$LINENO: result: none needed" >&5 $as_echo "none needed" >&6; } ;; *) { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 $as_echo "$ac_cv_prog_cc_stdc" >&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 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 -n "$CC"; then ac_cv_prog_CC="$CC" # 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_CC="${ac_tool_prefix}gcc" $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 CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $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 { $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 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="gcc" $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 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 { $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 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_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 fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $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 { $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_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_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 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 { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi 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 { $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 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_CC="$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 CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $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 { $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 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 done done IFS=$as_save_IFS fi 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 { $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="" 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 fi fi 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; }; }; } # 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); } { $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. */ 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 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 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $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 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_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 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_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 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_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 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_g=yes 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 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 { $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 if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $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 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__" 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 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 $as_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) { $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 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= { $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 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 am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac 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 # 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. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; 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 ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj 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 $am__obj 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 { $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 am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # 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. # 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 $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=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # 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_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. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else 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 INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL 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. INSTALL=$ac_install_sh fi fi { $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. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' 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 macro_version='2.2.6' macro_revision='1.3012' ltmain="$ac_aux_dir/ltmain.sh" { $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 $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 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 test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" { $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 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 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 $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_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $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 $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_cv_path_EGREP=$EGREP fi 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" { $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 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 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 $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_cv_path_FGREP=$FGREP fi 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" test -z "$GREP" && GREP=grep # 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 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 "${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 { $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 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 # 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 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 fi fi 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 if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm { $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:5760: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 (eval echo "\"\$as_me:5763: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 (eval echo "\"\$as_me:5766: 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 { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi # 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 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 fi 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 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 # 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 lt_cv_ld_reload_flag='-r' fi { $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 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 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 { $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 "$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_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 done IFS=$as_save_IFS fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5 $as_echo "$OBJDUMP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi 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 { $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_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 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_OBJDUMP="objdump" $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 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 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="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 OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi test -z "$OBJDUMP" && OBJDUMP=objdump { $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 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 aix[4-9]*) 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', # 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 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' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; 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 ;; gnu*) lt_cv_deplibs_check_method=pass_all ;; 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 ;; 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 ;; 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 ;; *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 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 ;; 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) 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 ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac fi { $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 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 { $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 $as_echo_n "(cached) " >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AR="${ac_tool_prefix}ar" $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 AR=$ac_cv_prog_AR if test -n "$AR"; then { $as_echo "$as_me:$LINENO: result: $AR" >&5 $as_echo "$AR" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_AR"; then 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 { $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 $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_AR="ar" $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 ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 $as_echo "$ac_ct_AR" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_AR" = x; then AR="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 AR=$ac_ct_AR fi else 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}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 "$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 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_STRIP="${ac_tool_prefix}strip" $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 STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $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 { $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_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 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_STRIP="strip" $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 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 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" 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 STRIP=$ac_ct_STRIP fi else 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}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 "$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 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_RANLIB="${ac_tool_prefix}ranlib" $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 RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $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 { $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_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 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_RANLIB="ranlib" $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 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 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" 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 RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi test -z "$RANLIB" && RANLIB=: # 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 # 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 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 # 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]*\)' # 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 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'" # 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 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 # 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 # 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 6972 "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* ;; 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* ;; *-*-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 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 /* 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_cv_cc_needs_belf=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 lt_cv_cc_needs_belf=no 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 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 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 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 fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then { $as_echo "$as_me:$LINENO: result: $DSYMUTIL" >&5 $as_echo "$DSYMUTIL" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi 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 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 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 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 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi 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 IFS=$as_save_IFS 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 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 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 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 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 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 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 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 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 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 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 "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 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 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 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 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 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 { $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 cat conftest.err >&5 fi rm -rf libconftest.dylib* rm -f conftest.* fi 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 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_cv_ld_exported_symbols_list=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 lt_cv_ld_exported_symbols_list=no 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" 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. */ #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 # 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 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 # 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_CPP=$CPP 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 # 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 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 # 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 { { $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 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 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 () { ; 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 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 : 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_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 ( 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 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 cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. 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 #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 eval "$as_ac_Header=no" fi 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 fi done 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 #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 eval "$as_ac_Header=no" fi 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 fi done # Set options enable_dlopen=no enable_win32_dll=no # 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 enable_shared=yes fi # 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 --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 # 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 # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' test -z "$LN_S" && LN_S="ln -s" if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi { $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 cat >>confdefs.h <<_ACEOF #define LT_OBJDIR "$lt_cv_objdir/" _ACEOF 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. sed_quote_subst='s/\(["`$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # 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 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 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 *** 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 _LT_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 { $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 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 *** 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 _LT_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 { $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 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 # 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;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # 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 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 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* 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* ## 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... if test -n "$compiler"; then lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag=' -fno-builtin' { $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:8829: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:8833: \$? = $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; } 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 : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= { $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&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*) 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 ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; 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 ;; interix[3-9]*) # 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 ;; *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 ;; *) 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 ;; 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' ;; 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' ;; 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 ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) 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 ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) 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= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac { $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 $as_echo "$lt_prog_compiler_pic" >&6; } # # 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:9168: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:9172: \$? = $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* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; } 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 fi # # 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" fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5 $as_echo "$lt_cv_prog_compiler_static_works" >&6; } if test x"$lt_cv_prog_compiler_static_works" = xyes; then : else lt_prog_compiler_static= fi { $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:9273: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:9277: \$? = $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; } { $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:9328: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:9332: \$? = $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[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*) 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 ;; 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 ;; 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 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 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 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 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 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 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 ;; *) # 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 ;; 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 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 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 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 ;; 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??? ;; 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* | sco3.2v5.0.[024]*) 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='${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 # # 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. { $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 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=$? $as_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* { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 $as_echo "$archive_cmds_need_lc" >&6; } ;; esac fi ;; esac { $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= 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,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 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 ;; *) 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}${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`' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" 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 ;; freebsd1*) dynamic_linker=no ;; 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 ;; 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 ;; 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' ;; 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 ;; 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* | 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\"; \ 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. hardcode_into_libs=yes # Add ABI-specific directories to the system library path. sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" # 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="$sys_lib_dlsearch_path_spec $lt_ld_extra" fi # 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' ;; 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 ;; 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=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' ;; 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 ;; 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" ;; rdos*) dynamic_linker=no ;; 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 ;; 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 ;; 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 { $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_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 { $as_echo "$as_me:$LINENO: result: $hardcode_action" >&5 $as_echo "$hardcode_action" >&6; } 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 || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless 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* | 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 { $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. */ /* 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 ac_cv_lib_dl_dlopen=no fi 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 ac_cv_lib_dld_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 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 /* 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. */ #ifdef __STDC__ # include #else # include #endif #undef dlopen /* 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 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 ac_cv_func_dlopen=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_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. */ /* 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 ac_cv_lib_dl_dlopen=no fi 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. */ /* 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 ac_cv_lib_svld_dlopen=no fi 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. */ /* 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 ac_cv_lib_dld_dld_link=no fi 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 fi fi fi fi fi ;; 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" { $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 12131 "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 { (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* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 $as_echo "$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\" { $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 12227 "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 { (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* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 $as_echo "$lt_cv_dlopen_self_static" >&6; } 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 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 # 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; } { $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 # 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 { $as_echo "$as_me:$LINENO: result: $enable_shared" >&5 $as_echo "$enable_shared" >&6; } { $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; } 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" ac_config_commands="$ac_config_commands libtool" # Only expand once: if test X"$GCC" = "Xyes"; then CFLAGS="$CFLAGS -Wall -W" TARGET="depend allprogs" else TARGET="everything" echo >.depend-done fi CFLAGS="$CFLAGS -D_GNU_SOURCE -D_REENTRANT" if test $ac_cv_c_compiler_gnu = yes; then { $as_echo "$as_me:$LINENO: checking whether $CC needs -traditional" >&5 $as_echo_n "checking whether $CC needs -traditional... " >&6; } if test "${ac_cv_prog_gcc_traditional+set}" = set; then $as_echo_n "(cached) " >&6 else ac_pattern="Autoconf.*'x'" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include Autoconf TIOCGETP _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "$ac_pattern" >/dev/null 2>&1; then ac_cv_prog_gcc_traditional=yes else ac_cv_prog_gcc_traditional=no fi rm -f conftest* if test $ac_cv_prog_gcc_traditional = no; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include Autoconf TCGETA _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "$ac_pattern" >/dev/null 2>&1; then ac_cv_prog_gcc_traditional=yes fi rm -f conftest* fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_gcc_traditional" >&5 $as_echo "$ac_cv_prog_gcc_traditional" >&6; } if test $ac_cv_prog_gcc_traditional = yes; then CC="$CC -traditional" fi fi # Check whether --enable-largefile was given. if test "${enable_largefile+set}" = set; then enableval=$enable_largefile; fi if test "$enable_largefile" != no; then { $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 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 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 fi rm -f core conftest.err conftest.$ac_objext break done CC=$ac_save_CC rm -f conftest.$ac_ext fi 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 { $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 () { ; 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 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 () { ; 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 fi 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 () { ; 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 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 _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 () { ; 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 fi 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 { $as_echo "$as_me:$LINENO: checking for library containing strerror" >&5 $as_echo_n "checking for library containing strerror... " >&6; } if test "${ac_cv_search_strerror+set}" = set; then $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$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 strerror (); int main () { return strerror (); ; return 0; } _ACEOF for ac_lib in '' cposix; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi 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_search_strerror=$ac_res 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 if test "${ac_cv_search_strerror+set}" = set; then break fi done if test "${ac_cv_search_strerror+set}" = set; then : else ac_cv_search_strerror=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5 $as_echo "$ac_cv_search_strerror" >&6; } ac_res=$ac_cv_search_strerror if test "$ac_res" != no; then test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi { $as_echo "$as_me:$LINENO: checking for function prototypes" >&5 $as_echo_n "checking for function prototypes... " >&6; } if test "$ac_cv_prog_cc_c89" != no; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF #define PROTOTYPES 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define __PROTOTYPES 1 _ACEOF else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "$ac_cv_prog_cc_stdc" != no; then U= ANSI2KNR= else U=_ ANSI2KNR=./ansi2knr fi # Ensure some checks needed by ansi2knr itself. for ac_header in string.h do as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { $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 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; } else # Is the header compilable? { $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 $as_echo_n "checking $ac_header 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 <$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 ac_header_compiler=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 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; } # Is the header present? { $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 $as_echo_n "checking $ac_header 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 <$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 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 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_c_preproc_warn_flag in yes:no: ) { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 $as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 $as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------------- ## ## Report this to popt-devel@rpm5.org ## ## ---------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $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 eval "$as_ac_Header=\$ac_header_preproc" 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; } fi 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 fi done for ac_header in float.h fnmatch.h glob.h langinfo.h libintl.h mcheck.h unistd.h do as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { $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 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; } else # Is the header compilable? { $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 $as_echo_n "checking $ac_header 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 <$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 ac_header_compiler=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 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; } # Is the header present? { $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 $as_echo_n "checking $ac_header 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 <$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 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 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_c_preproc_warn_flag in yes:no: ) { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 $as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 $as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ---------------------------------- ## ## Report this to popt-devel@rpm5.org ## ## ---------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $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 eval "$as_ac_Header=\$ac_header_preproc" 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; } fi 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 fi done # For some systems we know that we have ld_version scripts. # Use it then as default. have_ld_version_script=no case "${host}" in *-*-linux*) have_ld_version_script=yes ;; *-*-gnu*) have_ld_version_script=yes ;; esac # Check whether --enable-ld-version-script was given. if test "${enable_ld_version_script+set}" = set; then enableval=$enable_ld_version_script; have_ld_version_script=$enableval else : fi if test "$have_ld_version_script" = "yes"; then HAVE_LD_VERSION_SCRIPT_TRUE= HAVE_LD_VERSION_SCRIPT_FALSE='#' else HAVE_LD_VERSION_SCRIPT_TRUE='#' HAVE_LD_VERSION_SCRIPT_FALSE= fi # Check whether --enable-build-gcov was given. if test "${enable_build_gcov+set}" = set; then enableval=$enable_build_gcov; if test ".$enableval" = .yes; then if test ".`$CC --version 2>&1 | grep 'GCC'`" != .; then CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage" fi fi fi { $as_echo "$as_me:$LINENO: checking for setreuid" >&5 $as_echo_n "checking for setreuid... " >&6; } if test "${ac_cv_func_setreuid+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 setreuid to an innocuous variant, in case declares setreuid. For example, HP-UX 11i declares gettimeofday. */ #define setreuid innocuous_setreuid /* System header to define __stub macros and hopefully few prototypes, which can conflict with char setreuid (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef setreuid /* 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 setreuid (); /* 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_setreuid || defined __stub___setreuid choke me #endif int main () { return setreuid (); ; 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_setreuid=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_setreuid=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_setreuid" >&5 $as_echo "$ac_cv_func_setreuid" >&6; } if test "x$ac_cv_func_setreuid" = x""yes; then : else { $as_echo "$as_me:$LINENO: checking for setreuid in -lucb" >&5 $as_echo_n "checking for setreuid in -lucb... " >&6; } if test "${ac_cv_lib_ucb_setreuid+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lucb $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 setreuid (); int main () { return setreuid (); ; 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_ucb_setreuid=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_ucb_setreuid=no fi 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_ucb_setreuid" >&5 $as_echo "$ac_cv_lib_ucb_setreuid" >&6; } if test "x$ac_cv_lib_ucb_setreuid" = x""yes; then if echo $LIBS | grep -- -lucb >/dev/null ;then :; else LIBS="$LIBS -lc -lucb" USEUCB=y;fi fi fi for ac_func in getuid geteuid iconv mtrace __secure_getenv setregid stpcpy strerror vasprintf srandom do as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` { $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 $as_echo_n "checking for $ac_func... " >&6; } if { as_var=$as_ac_var; 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. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* 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 $ac_func (); /* 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_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; 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 eval "$as_ac_var=yes" else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=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 ac_res=`eval 'as_val=${'$as_ac_var'} $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_var'} $as_echo "$as_val"'` if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done { $as_echo "$as_me:$LINENO: checking whether NLS is requested" >&5 $as_echo_n "checking whether NLS is requested... " >&6; } # Check whether --enable-nls was given. if test "${enable_nls+set}" = set; then enableval=$enable_nls; USE_NLS=$enableval else USE_NLS=yes fi { $as_echo "$as_me:$LINENO: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } GETTEXT_MACRO_VERSION=0.17 # Prepare PATH_SEPARATOR. # 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 # Find out how to test for executable files. 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 ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; 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_path_MSGFMT+set}" = set; then $as_echo_n "(cached) " >&6 else case "$MSGFMT" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" ;; esac fi MSGFMT="$ac_cv_path_MSGFMT" if test "$MSGFMT" != ":"; then { $as_echo "$as_me:$LINENO: result: $MSGFMT" >&5 $as_echo "$MSGFMT" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; 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_path_GMSGFMT+set}" = set; then $as_echo_n "(cached) " >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) 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_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" $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_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { $as_echo "$as_me:$LINENO: result: $GMSGFMT" >&5 $as_echo "$GMSGFMT" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac # Prepare PATH_SEPARATOR. # 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 # Find out how to test for executable files. 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 ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; 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_path_XGETTEXT+set}" = set; then $as_echo_n "(cached) " >&6 else case "$XGETTEXT" in [\\/]* | ?:[\\/]*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" ;; esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test "$XGETTEXT" != ":"; then { $as_echo "$as_me:$LINENO: result: $XGETTEXT" >&5 $as_echo "$XGETTEXT" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi rm -f messages.po case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac # Prepare PATH_SEPARATOR. # 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 # Find out how to test for executable files. 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 ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; 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_path_MSGMERGE+set}" = set; then $as_echo_n "(cached) " >&6 else case "$MSGMERGE" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" ;; esac fi MSGMERGE="$ac_cv_path_MSGMERGE" if test "$MSGMERGE" != ":"; then { $as_echo "$as_me:$LINENO: result: $MSGMERGE" >&5 $as_echo "$MSGMERGE" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$localedir" || localedir='${datadir}/locale' test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= ac_config_commands="$ac_config_commands po-directories" if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" # 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 # Prepare PATH_SEPARATOR. # 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 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 GCC" >&5 $as_echo_n "checking for ld used by GCC... " >&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. [\\/]* | [A-Za-z]:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the path 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 "${acl_cv_path_LD+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi fi LD="$acl_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 "${acl_cv_prog_gnu_ld+set}" = set; then $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU ld's only accept -v. case `$LD -v 2>&1 &5 $as_echo "$acl_cv_prog_gnu_ld" >&6; } with_gnu_ld=$acl_cv_prog_gnu_ld { $as_echo "$as_me:$LINENO: checking for shared library run path origin" >&5 $as_echo_n "checking for shared library run path origin... " >&6; } if test "${acl_cv_rpath+set}" = set; then $as_echo_n "(cached) " >&6 else CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done fi { $as_echo "$as_me:$LINENO: result: $acl_cv_rpath" >&5 $as_echo "$acl_cv_rpath" >&6; } wl="$acl_cv_wl" acl_libext="$acl_cv_libext" acl_shlibext="$acl_cv_shlibext" acl_libname_spec="$acl_cv_libname_spec" acl_library_names_spec="$acl_cv_library_names_spec" acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" acl_hardcode_direct="$acl_cv_hardcode_direct" acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" # Check whether --enable-rpath was given. if test "${enable_rpath+set}" = set; then enableval=$enable_rpath; : else enable_rpath=yes fi acl_libdirstem=lib searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libiconv-prefix was given. if test "${with_libiconv_prefix+set}" = set; then withval=$with_libiconv_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi fi LIBICONV= LTLIBICONV= INCICONV= LIBICONV_PREFIX= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='iconv ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" else : fi else found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$acl_hardcode_direct" = yes; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" else LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` LIBICONV_PREFIX="$basedir" additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" ;; esac done fi else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" done fi { $as_echo "$as_me:$LINENO: checking for CFPreferencesCopyAppValue" >&5 $as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } if test "${gt_cv_func_CFPreferencesCopyAppValue+set}" = set; then $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" 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 () { CFPreferencesCopyAppValue(NULL, NULL) ; 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 gt_cv_func_CFPreferencesCopyAppValue=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_func_CFPreferencesCopyAppValue=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:$LINENO: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 $as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_CFPREFERENCESCOPYAPPVALUE 1 _ACEOF fi { $as_echo "$as_me:$LINENO: checking for CFLocaleCopyCurrent" >&5 $as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } if test "${gt_cv_func_CFLocaleCopyCurrent+set}" = set; then $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" 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 () { CFLocaleCopyCurrent(); ; 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 gt_cv_func_CFLocaleCopyCurrent=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_func_CFLocaleCopyCurrent=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:$LINENO: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 $as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } if test $gt_cv_func_CFLocaleCopyCurrent = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_CFLOCALECOPYCURRENT 1 _ACEOF fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi LIBINTL= LTLIBINTL= POSUB= case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi { $as_echo "$as_me:$LINENO: checking for GNU gettext in libc" >&5 $as_echo_n "checking for GNU gettext in libc... " >&6; } if { as_var=$gt_func_gnugettext_libc; 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. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings; int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings ; 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 eval "$gt_func_gnugettext_libc=yes" else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$gt_func_gnugettext_libc=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 ac_res=`eval 'as_val=${'$gt_func_gnugettext_libc'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then am_save_CPPFLAGS="$CPPFLAGS" for element in $INCICONV; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done { $as_echo "$as_me:$LINENO: checking for iconv" >&5 $as_echo_n "checking for iconv... " >&6; } if test "${am_cv_func_iconv+set}" = set; then $as_echo_n "(cached) " >&6 else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no 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 () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; 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 am_cv_func_iconv=yes 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 "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" 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 () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; 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 am_cv_lib_iconv=yes am_cv_func_iconv=yes 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 LIBS="$am_save_LIBS" fi fi { $as_echo "$as_me:$LINENO: result: $am_cv_func_iconv" >&5 $as_echo "$am_cv_func_iconv" >&6; } if test "$am_cv_func_iconv" = yes; then { $as_echo "$as_me:$LINENO: checking for working iconv" >&5 $as_echo_n "checking for working iconv... " >&6; } if test "${am_cv_func_iconv_works+set}" = set; then $as_echo_n "(cached) " >&6 else am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi if test "$cross_compiling" = yes; then case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac 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 () { /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { static const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } #if 0 /* This bug could be worked around by the caller. */ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ { iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) return 1; } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) return 1; 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 am_cv_func_iconv_works=yes 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 ) am_cv_func_iconv_works=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 LIBS="$am_save_LIBS" fi { $as_echo "$as_me:$LINENO: result: $am_cv_func_iconv_works" >&5 $as_echo "$am_cv_func_iconv_works" >&6; } case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; *) am_func_iconv=yes ;; esac else am_func_iconv=no am_cv_lib_iconv=no fi if test "$am_func_iconv" = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ICONV 1 _ACEOF fi if test "$am_cv_lib_iconv" = yes; then { $as_echo "$as_me:$LINENO: checking how to link with libiconv" >&5 $as_echo_n "checking how to link with libiconv... " >&6; } { $as_echo "$as_me:$LINENO: result: $LIBICONV" >&5 $as_echo "$LIBICONV" >&6; } else CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libintl-prefix was given. if test "${with_libintl_prefix+set}" = set; then withval=$with_libintl_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi fi LIBINTL= LTLIBINTL= INCINTL= LIBINTL_PREFIX= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='intl ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" else : fi else found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$acl_hardcode_direct" = yes; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" else LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` LIBINTL_PREFIX="$basedir" additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" ;; esac done fi else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" done fi { $as_echo "$as_me:$LINENO: checking for GNU gettext in libintl" >&5 $as_echo_n "checking for GNU gettext in libintl... " >&6; } if { as_var=$gt_func_gnugettext_libintl; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; 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 eval "$gt_func_gnugettext_libintl=yes" else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$gt_func_gnugettext_libintl=no" fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; 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 LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" 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 fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS" fi ac_res=`eval 'as_val=${'$gt_func_gnugettext_libintl'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else LIBINTL= LTLIBINTL= INCINTL= fi if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then cat >>confdefs.h <<\_ACEOF #define ENABLE_NLS 1 _ACEOF else USE_NLS=no fi fi { $as_echo "$as_me:$LINENO: checking whether to use NLS" >&5 $as_echo_n "checking whether to use NLS... " >&6; } { $as_echo "$as_me:$LINENO: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } if test "$USE_NLS" = "yes"; then { $as_echo "$as_me:$LINENO: checking where the gettext function comes from" >&5 $as_echo_n "checking where the gettext function comes from... " >&6; } if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi { $as_echo "$as_me:$LINENO: result: $gt_source" >&5 $as_echo "$gt_source" >&6; } fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then { $as_echo "$as_me:$LINENO: checking how to link with libintl" >&5 $as_echo_n "checking how to link with libintl... " >&6; } { $as_echo "$as_me:$LINENO: result: $LIBINTL" >&5 $as_echo "$LIBINTL" >&6; } for element in $INCINTL; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done fi cat >>confdefs.h <<\_ACEOF #define HAVE_GETTEXT 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define HAVE_DCGETTEXT 1 _ACEOF fi POSUB=po fi INTLLIBS="$LIBINTL" am_save_CPPFLAGS="$CPPFLAGS" for element in $INCICONV; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done { $as_echo "$as_me:$LINENO: checking for iconv" >&5 $as_echo_n "checking for iconv... " >&6; } if test "${am_cv_func_iconv+set}" = set; then $as_echo_n "(cached) " >&6 else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no 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 () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; 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 am_cv_func_iconv=yes 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 "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" 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 () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; 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 am_cv_lib_iconv=yes am_cv_func_iconv=yes 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 LIBS="$am_save_LIBS" fi fi { $as_echo "$as_me:$LINENO: result: $am_cv_func_iconv" >&5 $as_echo "$am_cv_func_iconv" >&6; } if test "$am_cv_func_iconv" = yes; then { $as_echo "$as_me:$LINENO: checking for working iconv" >&5 $as_echo_n "checking for working iconv... " >&6; } if test "${am_cv_func_iconv_works+set}" = set; then $as_echo_n "(cached) " >&6 else am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi if test "$cross_compiling" = yes; then case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac 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 () { /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { static const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } #if 0 /* This bug could be worked around by the caller. */ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ { iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) return 1; } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) return 1; 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 am_cv_func_iconv_works=yes 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 ) am_cv_func_iconv_works=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 LIBS="$am_save_LIBS" fi { $as_echo "$as_me:$LINENO: result: $am_cv_func_iconv_works" >&5 $as_echo "$am_cv_func_iconv_works" >&6; } case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; *) am_func_iconv=yes ;; esac else am_func_iconv=no am_cv_lib_iconv=no fi if test "$am_func_iconv" = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ICONV 1 _ACEOF fi if test "$am_cv_lib_iconv" = yes; then { $as_echo "$as_me:$LINENO: checking how to link with libiconv" >&5 $as_echo_n "checking how to link with libiconv... " >&6; } { $as_echo "$as_me:$LINENO: result: $LIBICONV" >&5 $as_echo "$LIBICONV" >&6; } else CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi popt_sysconfdir="${sysconfdir}" eval "popt_sysconfdir=\"${popt_sysconfdir}\"" # expand contained ${prefix} cat >>confdefs.h <<_ACEOF #define POPT_SYSCONFDIR "$popt_sysconfdir" _ACEOF # Define a (hope) portable Libs pkgconfig directive that # - Don't harm if the default library search path include ${libdir} # (https://bugzilla.novell.com/show_bug.cgi?id=529921) # - Don't require a not upstream patch to pkgconfig # (https://bugs.freedesktop.org/show_bug.cgi?id=16095) popt_pkgconfig_libs='-L${libdir} -lpopt' case "${host}" in *-*-linux*) case "${libdir}" in /usr/lib|/usr/lib64|/lib|/lib64) popt_pkgconfig_libs='-lpopt' ;; *) popt_pkgconfig_libs='-L${libdir} -lpopt' ;; esac ;; *-*-gnu*) case "${libdir}" in /usr/lib|/usr/lib64|/lib|/lib64) popt_pkgconfig_libs='-lpopt' ;; *) popt_pkgconfig_libs='-L${libdir} -lpopt' ;; esac ;; esac POPT_PKGCONFIG_LIBS="$popt_pkgconfig_libs" POPT_SOURCE_PATH="`pwd`" cat >>confdefs.h <<_ACEOF #define POPT_SOURCE_PATH "$POPT_SOURCE_PATH" _ACEOF subdirs="$subdirs " ac_config_files="$ac_config_files po/Makefile.in m4/Makefile Doxyfile Makefile popt.pc popt.spec test-poptrc auto/Makefile auto/desc auto/types" 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}' DEFS=-DHAVE_CONFIG_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 -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi 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__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__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 "${HAVE_LD_VERSION_SCRIPT_TRUE}" && test -z "${HAVE_LD_VERSION_SCRIPT_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_LD_VERSION_SCRIPT\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"HAVE_LD_VERSION_SCRIPT\" 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. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # 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 case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # 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 # 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. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # 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 # 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 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'` # CDPATH. $as_unset CDPATH 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 } 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 if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi 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 if mkdir -p . 2>/dev/null; then as_mkdir_p=: else 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 # 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'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 # 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 popt $as_me 1.16, which was generated by GNU Autoconf 2.63. Invocation command line was 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` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF 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 --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ popt config.status 1.16 configured by $0, generated by GNU Autoconf 2.63, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" 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." 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;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header { $as_echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; };; --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 _ACEOF 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 _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 _ACEOF 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' 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"`' OBJDUMP='`$ECHO "X$OBJDUMP" | $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"`' 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 \ OBJDUMP \ 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; 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; 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 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 PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile' # Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" _ACEOF 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 "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;; "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "m4/Makefile") CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;; "Doxyfile") CONFIG_FILES="$CONFIG_FILES Doxyfile" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "popt.pc") CONFIG_FILES="$CONFIG_FILES popt.pc" ;; "popt.spec") CONFIG_FILES="$CONFIG_FILES popt.spec" ;; "test-poptrc") CONFIG_FILES="$CONFIG_FILES test-poptrc" ;; "auto/Makefile") CONFIG_FILES="$CONFIG_FILES auto/Makefile" ;; "auto/desc") CONFIG_FILES="$CONFIG_FILES auto/desc" ;; "auto/types") CONFIG_FILES="$CONFIG_FILES auto/types" ;; *) { { $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_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers 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. { 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; } } # 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 echo 'BEGIN {' >"$tmp/subs1.awk" && _ACEOF { 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 = "" } { 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 # 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 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_t=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_t"; then break elif $ac_last_try; then { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5 $as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5 $as_echo "$as_me: error: could not setup config headers machinery" >&2;} { (exit 1); exit 1; }; } fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :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 # 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 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 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 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 ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix 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 >>$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= 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 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 _ACEOF # 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; }; } ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" } >"$tmp/config.h" \ || { { $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; }; } if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$tmp/config.h" "$ac_file" \ || { { $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; }; } fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5 $as_echo "$as_me: error: could not create -" >&2;} { (exit 1); exit 1; }; } fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf 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) # 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 cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$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. # The names of the tagged configurations supported by this script. available_tags="" # ### BEGIN LIBTOOL CONFIG # Which release of libtool.m4 was used? macro_version=$macro_version macro_revision=$macro_revision # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Whether or not to build static libraries. build_old_libs=$enable_static # What type of objects to build. pic_mode=$pic_mode # 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 # 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//" # A grep program that handles long lines. GREP=$lt_GREP # An ERE matcher. EGREP=$lt_EGREP # A literal string matcher. FGREP=$lt_FGREP # A BSD- or MS-compatible name lister. NM=$lt_NM # Whether we need soft or hard links. LN_S=$lt_LN_S # What is the maximum length of a command? max_cmd_len=$max_cmd_len # Object file suffix (normally "o"). objext=$ac_objext # Executable file suffix (normally ""). exeext=$exeext # whether the shell understands "unset". lt_unset=$lt_unset # 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 # An object symbol dumper. OBJDUMP=$lt_OBJDUMP # 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 # The archiver. AR=$lt_AR AR_FLAGS=$lt_AR_FLAGS # A symbol stripping program. STRIP=$lt_STRIP # 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 # A C compiler. LTCC=$lt_CC # LTCC compiler flags. LTCFLAGS=$lt_CFLAGS # 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 # 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 # The name of the directory that contains temporary libtool files. objdir=$objdir # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # An echo program that does not interpret backslashes. ECHO=$lt_ECHO # Used to examine libraries when file_magic_cmd begins with "file". MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL # Tool to change global to local symbols on Mac OS X. NMEDIT=$lt_NMEDIT # Tool to manipulate fat objects and archives on Mac OS X. LIPO=$lt_LIPO # ldd/readelf like tool for Mach-O binaries on Mac OS X. OTOOL=$lt_OTOOL # 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 # 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 # 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 # 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 # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # 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 # 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 # The linker used to build libraries. LD=$lt_LD # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds # A language specific compiler. CC=$lt_compiler # Is the compiler the GNU compiler? with_gcc=$GCC # 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 # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static # 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 # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # 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 # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object # 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 # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # 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 # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds # 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 # ### END LIBTOOL CONFIG _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 _LT_EOF ;; esac ltmain="$ac_aux_dir/ltmain.sh" # 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 } # func_basename file func_basename () { func_basename_result="${1##*/}" } # 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##*/}" } # 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}"} } # 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=$(( $* )) } # 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 func_dirname_result="$func_dirname_result${2}" fi } # func_basename file func_basename () { func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` } # 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 } # sed scripts: my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q' my_sed_long_arg='1s/^-[^=]*=//' # 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/'` } # func_arith arithmetic-term... func_arith () { func_arith_result=`expr "$@"` } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` } _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" } _LT_EOF ;; esac 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" ;; "po-directories":C) for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done ;; esac done # for ac_tag { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&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. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi # # CONFIG_SUBDIRS section. # if test "$no_recursion" != yes; then # Remove --cache-file, --srcdir, and --disable-option-checking arguments # so they do not pile up. ac_sub_configure_args= ac_prev= eval "set x $ac_configure_args" shift for ac_arg do if test -n "$ac_prev"; then ac_prev= continue fi case $ac_arg in -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \ | --c=*) ;; --config-cache | -C) ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) ;; --disable-option-checking) ;; *) case $ac_arg in *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac ac_sub_configure_args="$ac_sub_configure_args '$ac_arg'" ;; esac done # Always prepend --prefix to ensure using the same prefix # in subdir configurations. ac_arg="--prefix=$prefix" case $ac_arg in *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac ac_sub_configure_args="'$ac_arg' $ac_sub_configure_args" # Pass --silent if test "$silent" = yes; then ac_sub_configure_args="--silent $ac_sub_configure_args" fi # Always prepend --disable-option-checking to silence warnings, since # different subdirs can have different --enable and --with options. ac_sub_configure_args="--disable-option-checking $ac_sub_configure_args" ac_popdir=`pwd` for ac_dir in : $subdirs; do test "x$ac_dir" = x: && continue # Do not complain, so a configure script can configure whichever # parts of a large source tree are present. test -d "$srcdir/$ac_dir" || continue ac_msg="=== configuring in $ac_dir (`pwd`/$ac_dir)" $as_echo "$as_me:$LINENO: $ac_msg" >&5 $as_echo "$ac_msg" >&6 { 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 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 ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" # Check for guested configure; otherwise get Cygnus style configure. if test -f "$ac_srcdir/configure.gnu"; then ac_sub_configure=$ac_srcdir/configure.gnu elif test -f "$ac_srcdir/configure"; then ac_sub_configure=$ac_srcdir/configure elif test -f "$ac_srcdir/configure.in"; then # This should be Cygnus configure. ac_sub_configure=$ac_aux_dir/configure else { $as_echo "$as_me:$LINENO: WARNING: no configuration information is in $ac_dir" >&5 $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;} ac_sub_configure= fi # The recursion is here. if test -n "$ac_sub_configure"; then # Make the cache file name correct relative to the subdirectory. case $cache_file in [\\/]* | ?:[\\/]* ) ac_sub_cache_file=$cache_file ;; *) # Relative name. ac_sub_cache_file=$ac_top_build_prefix$cache_file ;; esac { $as_echo "$as_me:$LINENO: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5 $as_echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;} # The eval makes quoting arguments work. eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \ --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" || { { $as_echo "$as_me:$LINENO: error: $ac_sub_configure failed for $ac_dir" >&5 $as_echo "$as_me: error: $ac_sub_configure failed for $ac_dir" >&2;} { (exit 1); exit 1; }; } fi cd "$ac_popdir" done 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 popt-1.16/config.sub0000755000076400007640000010316711365302054011346 00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 # Free Software Foundation, Inc. timestamp='2009-11-20' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # 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 # 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. # Please send patches to . Submit a context # diff and a properly formatted GNU ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) 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." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray | -microblaze) os= basic_machine=$1 ;; -bluegene*) os=-cnk ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | 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 | avr32 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nios | nios2 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | ubicom32 \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12 | picochip) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) ;; # 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) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aros) basic_machine=i386-pc os=-aros ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; bluegene*) basic_machine=powerpc-ibm os=-cnk ;; c90) basic_machine=c90-cray os=-unicos ;; cegcc) basic_machine=arm-unknown os=-cegcc ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dicos) basic_machine=i686-pc os=-dicos ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) 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 ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; microblaze) basic_machine=microblaze-xilinx ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; mvs) basic_machine=i370-ibm os=-mvs ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) 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 ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tic55x | c55x*) basic_machine=tic55x-unknown os=-coff ;; tic6x | c6x*) basic_machine=tic6x-unknown os=-coff ;; tile*) basic_machine=tile-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; z80-*-coff) basic_machine=z80-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -auroraux) os=-auroraux ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -cnk*|-aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: popt-1.16/po/0000775000076400007640000000000011370105022010043 500000000000000popt-1.16/po/pt.po0000664000076400007640000000511611337043365010767 00000000000000msgid "" msgstr "" "Project-Id-Version: popt 1.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2002-02-13 18:32+0000\n" "Last-Translator: Pedro Morais \n" "Language-Team: pt \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: popt.c:47 msgid "unknown errno" msgstr "errno desconhecido" #: popt.c:1290 #, fuzzy, c-format msgid "option type (%u) not implemented in popt\n" msgstr "tipo de opção (%d) não implementado no popt\n" #: popt.c:1711 msgid "missing argument" msgstr "falta um argumento" #: popt.c:1713 msgid "unknown option" msgstr "opção desconhecida" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "foram pedidas operações lógicas mutuamente exclusivas" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "opt->arg não deve ser NULL" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "'aliases' demasiado aninhados" #: popt.c:1721 msgid "error in parameter quoting" msgstr "erros no 'quoting' de parâmetros" #: popt.c:1723 msgid "invalid numeric value" msgstr "valor númerico inválido" #: popt.c:1725 msgid "number too large or too small" msgstr "número demasiado grando ou pequeno" #: popt.c:1727 msgid "memory allocation failed" msgstr "alocação de memória falhou" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "erro desconhecido" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "Mostrar esta mensagem de ajuda" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "Mostrar uma mensagem de utilização sucinta" #: popthelp.c:90 msgid "Display option defaults in message" msgstr "Mostrar valor por omissão das opções na mensagem" #: popthelp.c:92 msgid "Terminate options" msgstr "" #: popthelp.c:191 msgid "Help options:" msgstr "" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "" #: popthelp.c:200 msgid "NONE" msgstr "NONE" #: popthelp.c:202 msgid "VAL" msgstr "VAL" #: popthelp.c:206 msgid "INT" msgstr "INT" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "LONG" #: popthelp.c:209 #, fuzzy msgid "LONGLONG" msgstr "LONG" #: popthelp.c:210 msgid "STRING" msgstr "STRING" #: popthelp.c:211 msgid "FLOAT" msgstr "FLOAT" #: popthelp.c:212 msgid "DOUBLE" msgstr "DOUBLE" #: popthelp.c:215 msgid "ARG" msgstr "ARG" #: popthelp.c:649 msgid "Usage:" msgstr "Utilização:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[OPÇÃO...]" popt-1.16/po/ko.gmo0000664000076400007640000000350111365302075011112 00000000000000Þ•ä%¬@AEL"h‹‘•šŸ¦½Ä ÈÔî 8/Iy— ³ ÁÏ_Þ > HUp ‹ — ¡ ¬·ÆÝå í%÷8Mh(ƒ ¬%Í!ó+   ARGDOUBLEDisplay brief usage messageDisplay option defaults in messageFLOATINTLONGNONESTRINGShow this help messageUsage:VAL[OPTION...]aliases nested too deeplyerror in parameter quotinginvalid numeric valuememory allocation failedmissing argumentmutually exclusive logical operations requestednumber too large or too smallopt->arg should not be NULLunknown errnounknown errorunknown optionProject-Id-Version: popt 1.11 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2001-09-06 20:06+0900 Last-Translator: Jong-Hoon Ryu Language-Team: GNU Translation project MIME-Version: 1.0 Content-Type: text/plain; charset=EUC-KR Content-Transfer-Encoding: 8-bit Àμö(ARG)¼Ò¼ö(DOUBLE)°£´ÜÇÑ »ç¿ë¹ýÀ» º¸¿©Áݴϴٱ⺻ÀûÀÎ ¿É¼ÇÀ» º¸¿©ÁÝ´Ï´Ù¼Ò¼ö(FLOAT)Á¤¼ö(INT)Á¤¼ö(LONG)¾øÀ½(NONE)¹®ÀÚ¿­(STRING)ÀÌ µµ¿ò¸»À» º¸¿©ÁÝ´Ï´Ù»ç¿ë¹ý:°ª(VAL)[¿É¼Ç...]º°Äª(alias)ÀÌ º¹ÀâÇÏ°Ô ¼³Á¤µÇ¾ú½À´Ï´Ù¸Å°³º¯¼ö¿¡ ¿À·ù°¡ ÀÖ½À´Ï´ÙÀ߸øµÈ ¼öÄ¡ °ªÀԴϴٸ޸𸮠ÇÒ´ç¿¡ ½ÇÆÐÇß½À´Ï´ÙÀμö°¡ ÁöÁ¤µÇÁö ¾Ê¾Ò½À´Ï´Ù¾çÂÊ¿¡ ¹èŸÀû ³í¸® ¿¬»êÀÌ ÁöÁ¤µÇ¾ú½À´Ï´Ù¼ýÀÚ°¡ ³Ê¹« Å©°Å³ª ³Ê¹« Àû½À´Ï´Ù¿É¼Ç->Àμö°¡ NULLÀÌ µÇ¾î¼­´Â ¾ÈµË´Ï´Ù¾Ë ¼ö ¾ø´Â ¿À·ùÄÚµå(errno) ÀÔ´Ï´Ù¾Ë ¼ö ¾ø´Â ¿À·ùÀÔ´Ï´Ù¾Ë ¼ö ¾ø´Â ¿É¼ÇÀÔ´Ï´Ùpopt-1.16/po/gl.po0000664000076400007640000000506211337043365010746 00000000000000msgid "" msgstr "" "Project-Id-Version: popt 1.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2001-01-17 01:01+0100\n" "Last-Translator: Jesús Bravo Álvarez \n" "Language-Team: Galician \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: popt.c:47 msgid "unknown errno" msgstr "errno descoñecido" #: popt.c:1290 #, fuzzy, c-format msgid "option type (%u) not implemented in popt\n" msgstr "tipo de opción (%d) non implementada en popt\n" #: popt.c:1711 msgid "missing argument" msgstr "falta un argumento" #: popt.c:1713 msgid "unknown option" msgstr "opción descoñecida" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "solicitáronse operacións lóxicas mutuamente excluíntes" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "aliases aniñados a un nivel demasiado profundo" #: popt.c:1721 msgid "error in parameter quoting" msgstr "erro nas comiñas do parámetro" #: popt.c:1723 msgid "invalid numeric value" msgstr "valor numérico non válido" #: popt.c:1725 msgid "number too large or too small" msgstr "número demasiado grande ou pequeno" #: popt.c:1727 msgid "memory allocation failed" msgstr "" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "erro descoñecido" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "Amosar esta mensaxe de axuda" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "Amosar brevemente o xeito de utilización" #: popthelp.c:90 #, fuzzy msgid "Display option defaults in message" msgstr "Amosar brevemente o xeito de utilización" #: popthelp.c:92 msgid "Terminate options" msgstr "" #: popthelp.c:191 msgid "Help options:" msgstr "" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "" #: popthelp.c:200 msgid "NONE" msgstr "NADA" #: popthelp.c:202 msgid "VAL" msgstr "VAL" #: popthelp.c:206 msgid "INT" msgstr "INT" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "LONG" #: popthelp.c:209 #, fuzzy msgid "LONGLONG" msgstr "LONG" #: popthelp.c:210 msgid "STRING" msgstr "CADEA" #: popthelp.c:211 msgid "FLOAT" msgstr "FLOAT" #: popthelp.c:212 msgid "DOUBLE" msgstr "DOUBLE" #: popthelp.c:215 msgid "ARG" msgstr "ARG" #: popthelp.c:649 msgid "Usage:" msgstr "Uso:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[OPCIÓN...]" popt-1.16/po/eo.po0000664000076400007640000000545111337043365010751 00000000000000# Esperanto translation of popt # Copyright (C) 2008 Felipe Castro # This file is put in the public domain. # Felipe Castro , 2008 msgid "" msgstr "" "Project-Id-Version: popt 1.14\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2008-08-03 15:50-0300\n" "Last-Translator: Felipe Castro \n" "Language-Team: Esperanto \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: popt.c:47 msgid "unknown errno" msgstr "nekonata erarnumero" #: popt.c:1290 #, c-format msgid "option type (%u) not implemented in popt\n" msgstr "la opcia tipo (%u) ne estas realigita en popt\n" #: popt.c:1711 msgid "missing argument" msgstr "mankas argumento" #: popt.c:1713 msgid "unknown option" msgstr "nekonata opcio" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "reciprokaj logikaj operacioj estas postulataj" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "opt->arg ne devus esti NULL" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "kromnomoj estas ingitaj tro profunde" #: popt.c:1721 msgid "error in parameter quoting" msgstr "eraro en parametra citado" #: popt.c:1723 msgid "invalid numeric value" msgstr "nevalida numera valoro" #: popt.c:1725 msgid "number too large or too small" msgstr "numero tro granda aÅ­ tro eta" #: popt.c:1727 msgid "memory allocation failed" msgstr "malsukceso dum okupado de memoro" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "nekonata eraro" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "Montri tiun ĉi helpmesaÄon" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "Montri resumitan mesaÄon pri uzado" #: popthelp.c:90 msgid "Display option defaults in message" msgstr "Montri la implicitajn valorojn de la opcio en la mesaÄo" #: popthelp.c:92 msgid "Terminate options" msgstr "Opcioj pri finiÄo" #: popthelp.c:191 msgid "Help options:" msgstr "Help-opcioj:" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "Opcioj realigitaj per popt alias/exec:" #: popthelp.c:200 msgid "NONE" msgstr "NENIO" #: popthelp.c:202 msgid "VAL" msgstr "VAL" #: popthelp.c:206 msgid "INT" msgstr "INT" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "LONG" #: popthelp.c:209 msgid "LONGLONG" msgstr "LONGLONG" #: popthelp.c:210 msgid "STRING" msgstr "STRING" #: popthelp.c:211 msgid "FLOAT" msgstr "FLOAT" #: popthelp.c:212 msgid "DOUBLE" msgstr "DOUBLE" #: popthelp.c:215 msgid "ARG" msgstr "ARG" #: popthelp.c:649 msgid "Usage:" msgstr "Uzado:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[OPCIO...]" popt-1.16/po/uk.po0000664000076400007640000000447011337043366010766 00000000000000# Translation into the ukrainian language. # Copyright (C) 1999 Free Software Foundation, Inc. # Yuri Syrota , 1999. # msgid "" msgstr "" "Project-Id-Version: popt 1.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 1999-09-30 16:54+0200\n" "Last-Translator: Yuri Syrota \n" "Language-Team: Ukrainian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=koi8-u\n" "Content-Transfer-Encoding: 8bit\n" #: popt.c:47 msgid "unknown errno" msgstr "" #: popt.c:1290 #, c-format msgid "option type (%u) not implemented in popt\n" msgstr "" #: popt.c:1711 msgid "missing argument" msgstr "" #: popt.c:1713 msgid "unknown option" msgstr "" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "" #: popt.c:1721 msgid "error in parameter quoting" msgstr "" #: popt.c:1723 msgid "invalid numeric value" msgstr "" #: popt.c:1725 msgid "number too large or too small" msgstr "" #: popt.c:1727 msgid "memory allocation failed" msgstr "" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "ðÏËÁÚÁÔÉ ÃÀ ÄÏצÄËÕ" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "ðÏËÁÚÁÔÉ ËÏÒÏÔËÕ ÄÏצÄËÕ ÐÒÏ ×ÉËÏÒÉÓÔÁÎÎÑ" #: popthelp.c:90 #, fuzzy msgid "Display option defaults in message" msgstr "ðÏËÁÚÁÔÉ ËÏÒÏÔËÕ ÄÏצÄËÕ ÐÒÏ ×ÉËÏÒÉÓÔÁÎÎÑ" #: popthelp.c:92 msgid "Terminate options" msgstr "" #: popthelp.c:191 msgid "Help options:" msgstr "" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "" #: popthelp.c:200 msgid "NONE" msgstr "" #: popthelp.c:202 msgid "VAL" msgstr "" #: popthelp.c:206 msgid "INT" msgstr "" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "" #: popthelp.c:209 msgid "LONGLONG" msgstr "" #: popthelp.c:210 msgid "STRING" msgstr "" #: popthelp.c:211 msgid "FLOAT" msgstr "" #: popthelp.c:212 msgid "DOUBLE" msgstr "" #: popthelp.c:215 msgid "ARG" msgstr "" #: popthelp.c:649 msgid "Usage:" msgstr "" #: popthelp.c:672 msgid "[OPTION...]" msgstr "" popt-1.16/po/tr.po0000664000076400007640000000514411337043366010773 00000000000000# Translation of popt to Turkish. # Nilgun Belma Buguner , 2000. # msgid "" msgstr "" "Project-Id-Version: popt 1.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2000-02-11 13:01+0200\n" "Last-Translator: Nilgun Belma Buguner \n" "Language-Team: Turkish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-9\n" "Content-Transfer-Encoding: 8bit\n" #: popt.c:47 msgid "unknown errno" msgstr "bilinmeyen hata no" #: popt.c:1290 #, fuzzy, c-format msgid "option type (%u) not implemented in popt\n" msgstr "seçenek türü (%d) popt için geçersiz\n" #: popt.c:1711 msgid "missing argument" msgstr "argüman eksik" #: popt.c:1713 msgid "unknown option" msgstr "bilinmeyen seçenek" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "birbirini dýþlayan mantýksal iþlemler istendi" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "adlarda çok fazla içiçelikler" #: popt.c:1721 msgid "error in parameter quoting" msgstr "parametrelerde týrnak iþaretleme hatalý " #: popt.c:1723 msgid "invalid numeric value" msgstr "sayýsal deðer geçersiz" #: popt.c:1725 msgid "number too large or too small" msgstr "sayý ya çok büyük ya da çok küçük" #: popt.c:1727 msgid "memory allocation failed" msgstr "" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "bilinmeyen hata" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "Bu yardým iletisini gösterir" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "Kýsa bir kullaným iletisi göster" #: popthelp.c:90 #, fuzzy msgid "Display option defaults in message" msgstr "Kýsa bir kullaným iletisi göster" #: popthelp.c:92 msgid "Terminate options" msgstr "" #: popthelp.c:191 msgid "Help options:" msgstr "" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "" #: popthelp.c:200 msgid "NONE" msgstr "YOK" #: popthelp.c:202 msgid "VAL" msgstr "DEÐ" #: popthelp.c:206 msgid "INT" msgstr "INT" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "LONG" #: popthelp.c:209 #, fuzzy msgid "LONGLONG" msgstr "LONG" #: popthelp.c:210 msgid "STRING" msgstr "STRING" #: popthelp.c:211 msgid "FLOAT" msgstr "FLOAT" #: popthelp.c:212 msgid "DOUBLE" msgstr "DOUBLE" #: popthelp.c:215 msgid "ARG" msgstr "ARG" #: popthelp.c:649 msgid "Usage:" msgstr "Kullanýmý:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[SEÇENEK...]" popt-1.16/po/uk.gmo0000664000076400007640000000104311365302075011117 00000000000000Þ•4L`a}P”)åDisplay brief usage messageShow this help messageProject-Id-Version: popt 1.11 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 1999-09-30 16:54+0200 Last-Translator: Yuri Syrota Language-Team: Ukrainian MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-u Content-Transfer-Encoding: 8bit ðÏËÁÚÁÔÉ ËÏÒÏÔËÕ ÄÏצÄËÕ ÐÒÏ ×ÉËÏÒÉÓÔÁÎÎÑðÏËÁÚÁÔÉ ÃÀ ÄÏצÄËÕpopt-1.16/po/zh_TW.po0000664000076400007640000000514711337043366011404 00000000000000# Traditional Chinese Messages for popt # Copyright (C) 2005 Free Software Foundation, Inc. # Wei-Lun Chao , 2005 # msgid "" msgstr "" "Project-Id-Version: popt 1.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2005-04-08 17:52+0800\n" "Last-Translator: Wei-Lun Chao \n" "Language-Team: zh_TW \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: popt.c:47 msgid "unknown errno" msgstr "未知的錯誤" #: popt.c:1290 #, fuzzy, c-format msgid "option type (%u) not implemented in popt\n" msgstr "é¸é …類型 (%d) 沒有在 popt 中實作\n" #: popt.c:1711 msgid "missing argument" msgstr "缺少引數" #: popt.c:1713 msgid "unknown option" msgstr "未知的é¸é …" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "需è¦ç›¸äº’ç¨ç«‹çš„é‚輯é‹ç®—" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "opt->arg 䏿‡‰ç‚º NULL" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "巢狀別å太深" #: popt.c:1721 msgid "error in parameter quoting" msgstr "åƒæ•¸å¼•號錯誤" #: popt.c:1723 msgid "invalid numeric value" msgstr "䏿­£ç¢ºçš„æ•¸å€¼" #: popt.c:1725 msgid "number too large or too small" msgstr "數字太大或太å°" #: popt.c:1727 msgid "memory allocation failed" msgstr "記憶體é…置錯誤" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "未知的錯誤" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "顯示本說明訊æ¯" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "顯示簡短的使用說明" #: popthelp.c:90 msgid "Display option defaults in message" msgstr "在訊æ¯ä¸­é¡¯ç¤ºé è¨­é¸é …" #: popthelp.c:92 msgid "Terminate options" msgstr "" #: popthelp.c:191 msgid "Help options:" msgstr "" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "" #: popthelp.c:200 msgid "NONE" msgstr "NONE" #: popthelp.c:202 msgid "VAL" msgstr "VAL" #: popthelp.c:206 msgid "INT" msgstr "INT" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "LONG" #: popthelp.c:209 #, fuzzy msgid "LONGLONG" msgstr "LONG" #: popthelp.c:210 msgid "STRING" msgstr "STRING" #: popthelp.c:211 msgid "FLOAT" msgstr "FLOAT" #: popthelp.c:212 msgid "DOUBLE" msgstr "DOUBLE" #: popthelp.c:215 msgid "ARG" msgstr "ARG" #: popthelp.c:649 msgid "Usage:" msgstr "用法:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[é¸é …...]" popt-1.16/po/zh_CN.gmo0000664000076400007640000000377511365302075011517 00000000000000Þ• )ü ¡¥¬"Èë ñÿ(?F]ov z† »Ñê/û+I)e  «fº!%,!Hj p~‚‡'•½Ä Ýêò ö(8 KXp†+¡ÍÝí    ARGDOUBLEDisplay brief usage messageDisplay option defaults in messageFLOATHelp options:INTLONGLONGLONGNONEOptions implemented via popt alias/exec:STRINGShow this help messageTerminate optionsUsage:VAL[OPTION...]aliases nested too deeplyerror in parameter quotinginvalid numeric valuememory allocation failedmissing argumentmutually exclusive logical operations requestednumber too large or too smallopt->arg should not be NULLoption type (%u) not implemented in popt unknown errnounknown errorunknown optionProject-Id-Version: popt 1.14 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2008-02-18 20:16+0800 Last-Translator: LI Daobing Language-Team: Chinese (simplified) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ARGDOUBLE显示简短的使用说明在信æ¯ä¸­æ˜¾ç¤ºé»˜è®¤çš„选项FLOAT帮助选项:INTLONGLONGLONGNONE通过 popt alias/exec 实现的选项:STRING显示这个帮助信æ¯ç»ˆæ­¢é€‰é¡¹ç”¨æ³•:VAL[选项...]别ååµŒå¥—å¤ªæ·±å‚æ•°å¼•å·é”™è¯¯æ— æ•ˆçš„æ•°å€¼å†…存分é…é”™è¯¯ç¼ºå°‘å‚æ•°éœ€è¦ XOR 逻辑è¿ç®—数值太大或太å°opt->arg ä¸åº”该为 NULL选项类别 (%u) 没有在 popt 中实现 未知的错误未知的错误未知的选项popt-1.16/po/lv.gmo0000664000076400007640000000450311370066445011131 00000000000000Þ• )ü ¡¥¬"Èë ñÿ(?F]ov z† »Ñê/û+I)e  «Úº •Ÿ!¦&Èïõ :%`g† › § ±%¿å @?R(’!»&Ý  0     ARGDOUBLEDisplay brief usage messageDisplay option defaults in messageFLOATHelp options:INTLONGLONGLONGNONEOptions implemented via popt alias/exec:STRINGShow this help messageTerminate optionsUsage:VAL[OPTION...]aliases nested too deeplyerror in parameter quotinginvalid numeric valuememory allocation failedmissing argumentmutually exclusive logical operations requestednumber too large or too smallopt->arg should not be NULLoption type (%u) not implemented in popt unknown errnounknown errorunknown optionProject-Id-Version: popt-1.14 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2009-04-12 16:34+0300 Last-Translator: Rihards Prieditis Language-Team: Latvian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: Lokalize 0.3 Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2); ARGUMENTSDOUBLEAttÄ“lot Ä«su izmantoÅ¡anas ziņuAttÄ“lot noklusÄ“tÄs iespÄ“jas ziņÄFLOATPalÄ«dzÄ«bas iespÄ“jas:INTLONGLONGLONGNEKASIespÄ“jas ieviestas caur popt aizstÄjvÄrda/izpildÄmais:VIRKNERÄdÄ«t Å¡o palÄ«dzÄ«bas ziņuPÄrtraukt iespÄ“jasLietoÅ¡ana:VÄ’RTĪBA[IESPÄ’JAS..]aizstÄjvÄrdi iegulti pÄrÄk dziļikļuda parametru citēšanÄnederÄ«ga skaitļa vÄ“rtÄ«baatmiņas iedalīšana neizdevÄstrÅ«kst argumentspieprasÄ«tas savstarpÄ“jie izslÄ“dzoÅ¡as loÄ£iskÄs operÄcijasskaitlis pÄrÄk liels, vai pÄrÄk mazsopcija->arguments nevar bÅ«t NULLiespÄ“jas tips (%u) nav ieviests popt nezinÄms kļūdas numursnezinÄma kļūdanezinÄma iespÄ“japopt-1.16/po/fi.gmo0000664000076400007640000000457211365302074011107 00000000000000Þ• )ü ¡¥¬"Èë ñÿ(?F]ov z† »Ñê/û+I)e  «¶º q|"¨ËÛëü $_0 ›¯ ÄÎ Óá 8U:i#¤2È8û 4 U f     ARGDOUBLEDisplay brief usage messageDisplay option defaults in messageFLOATHelp options:INTLONGLONGLONGNONEOptions implemented via popt alias/exec:STRINGShow this help messageTerminate optionsUsage:VAL[OPTION...]aliases nested too deeplyerror in parameter quotinginvalid numeric valuememory allocation failedmissing argumentmutually exclusive logical operations requestednumber too large or too smallopt->arg should not be NULLoption type (%u) not implemented in popt unknown errnounknown errorunknown optionProject-Id-Version: popt 1.14 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2008-02-21 18:19+0200 Last-Translator: Jorma Karvonen Language-Team: Finnish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Generator: KBabel 1.11.4 ARGUMENTTIDOUBLE-LIUKULUKUNäytä lyhyt käyttöohjeNäytä valitsinoletukset ohjeessaFLOAT-LIUKULUKUOhjevalitsimet:INT-KOKONAISLUKULONG-KOKONAISLUKULONGLONG-KOKONAISLUKUEI MITÄÄNValitsimet toteutettu â€popt aliasâ€-määrittelyillä tai â€popt execâ€-määrittelyillä:MERKKIJONONäytä tämä ohjeLopettamisvalitsimetKäyttö:ARVO[VALITSIN...]liian monta aliasta sisäkkäinvirhe parametrien lainauksessavirheellinen numeroarvomuistin varaus ei onnistunutpuuttuva argumenttipyydettyjä loogisia toimintoja ei voi käyttää yhdessänumero on liian iso tai liian pieniâ€opt->argâ€-valitsinargumentti ei saa olla NULLvalitsintyyppiä (%u) ei ole toteutettu popt-ohjelmassa tuntematon errno-virhenumeroarvotuntematon virhetuntematon valitsinpopt-1.16/po/cs.po0000664000076400007640000000561611337043365010756 00000000000000# Czech translations of popt # Copyright (C) 2008 Free Software Foundation, Inc. # This file is distributed under the same license as the popt package. # Milan Kerslager , 2001. # Petr Pisar , 2008. # msgid "" msgstr "" "Project-Id-Version: popt 1.14\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2008-12-08 19:55+0100\n" "Last-Translator: Petr Pisar \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: popt.c:47 msgid "unknown errno" msgstr "neznámé Äíslo chyby" #: popt.c:1290 #, c-format msgid "option type (%u) not implemented in popt\n" msgstr "typ volby (%u) není v popt implementován\n" #: popt.c:1711 msgid "missing argument" msgstr "chybí argument" #: popt.c:1713 msgid "unknown option" msgstr "neznámá volba" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "požadovány vzájemnÄ› výluÄné logické operace" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "opt->arg nesmí být NULL" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "aliasy vnoÅ™ené příliÅ¡ hluboko" #: popt.c:1721 msgid "error in parameter quoting" msgstr "chyba v quotování parametrů" #: popt.c:1723 msgid "invalid numeric value" msgstr "chybná numerická hodnota" #: popt.c:1725 msgid "number too large or too small" msgstr "Äíslo je příliÅ¡ velké nebo příliÅ¡ malé" #: popt.c:1727 msgid "memory allocation failed" msgstr "selhala alokace pamÄ›ti" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "neznámá chyba" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "Vypíše tuto nápovÄ›du" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "Vypíše krátký návod k použití" #: popthelp.c:90 msgid "Display option defaults in message" msgstr "Zobrazit implicitní volby ve zprávÄ›" #: popthelp.c:92 msgid "Terminate options" msgstr "UkonÄí volby" #: popthelp.c:191 msgid "Help options:" msgstr "Volby nápovÄ›dy:" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "Volby implementované pÅ™es alias/exec poptu:" #: popthelp.c:200 msgid "NONE" msgstr "NONE" #: popthelp.c:202 msgid "VAL" msgstr "VAL" #: popthelp.c:206 msgid "INT" msgstr "INT" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "LONG" #: popthelp.c:209 msgid "LONGLONG" msgstr "LONGLONG" #: popthelp.c:210 msgid "STRING" msgstr "STRING" #: popthelp.c:211 msgid "FLOAT" msgstr "FLOAT" #: popthelp.c:212 msgid "DOUBLE" msgstr "DOUBLE" #: popthelp.c:215 msgid "ARG" msgstr "ARG" #: popthelp.c:649 msgid "Usage:" msgstr "Použití:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[VOLBY…]" popt-1.16/po/popt.pot0000664000076400007640000000424611337043365011515 00000000000000# SOME DESCRIPTIVE TITLE. # This file is put in the public domain. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: popt 1.16\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: popt.c:47 msgid "unknown errno" msgstr "" #: popt.c:1290 #, c-format msgid "option type (%u) not implemented in popt\n" msgstr "" #: popt.c:1711 msgid "missing argument" msgstr "" #: popt.c:1713 msgid "unknown option" msgstr "" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "" #: popt.c:1721 msgid "error in parameter quoting" msgstr "" #: popt.c:1723 msgid "invalid numeric value" msgstr "" #: popt.c:1725 msgid "number too large or too small" msgstr "" #: popt.c:1727 msgid "memory allocation failed" msgstr "" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "" #: popthelp.c:90 msgid "Display option defaults in message" msgstr "" #: popthelp.c:92 msgid "Terminate options" msgstr "" #: popthelp.c:191 msgid "Help options:" msgstr "" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "" #: popthelp.c:200 msgid "NONE" msgstr "" #: popthelp.c:202 msgid "VAL" msgstr "" #: popthelp.c:206 msgid "INT" msgstr "" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "" #: popthelp.c:209 msgid "LONGLONG" msgstr "" #: popthelp.c:210 msgid "STRING" msgstr "" #: popthelp.c:211 msgid "FLOAT" msgstr "" #: popthelp.c:212 msgid "DOUBLE" msgstr "" #: popthelp.c:215 msgid "ARG" msgstr "" #: popthelp.c:649 msgid "Usage:" msgstr "" #: popthelp.c:672 msgid "[OPTION...]" msgstr "" popt-1.16/po/id.gmo0000664000076400007640000000420211365302075011074 00000000000000Þ• )ü ¡¥¬"Èë ñÿ(?F]ov z† »Ñê/û+I)e  «zº59"@"c† Œšž£¬+±Ýä   'Gf~“1¦&Øÿ-G[o    ARGDOUBLEDisplay brief usage messageDisplay option defaults in messageFLOATHelp options:INTLONGLONGLONGNONEOptions implemented via popt alias/exec:STRINGShow this help messageTerminate optionsUsage:VAL[OPTION...]aliases nested too deeplyerror in parameter quotinginvalid numeric valuememory allocation failedmissing argumentmutually exclusive logical operations requestednumber too large or too smallopt->arg should not be NULLoption type (%u) not implemented in popt unknown errnounknown errorunknown optionProject-Id-Version: popt 1.14 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2008-08-26 14:18+0700 Last-Translator: Andhika Padmawan Language-Team: Indonesian MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit ARGDOUBLETampilkan pesan penggunaan singkatTampilkan opsi standar dalam pesanFLOATOpsi bantuan:INTLONGLONGLONGNONEOpsi diimplementasikan via popt alias/exec:STRINGTampilkan pesan bantuan iniMatikan opsiPenggunaan:VAL[OPSI...]alias disarangkan terlalu dalamgalat di pencantuman parameternilai numerik tidak sahalokasi memori gagalkehilangan argumenpermintaan operasi logika eksklusif secara mutualnomor terlalu besar atau terlalu kecilopt->arg tidak boleh NULLtipe opsi (%u) tak diimplementasikan di popt errno tak diketahuigalat tak diketahuiopsi tak diketahuipopt-1.16/po/id.po0000664000076400007640000000544511337043365010745 00000000000000# Indonesian translations for popt package. # This file is put in the public domain. # Andhika Padmawan , 2008. # msgid "" msgstr "" "Project-Id-Version: popt 1.14\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2008-08-26 14:18+0700\n" "Last-Translator: Andhika Padmawan \n" "Language-Team: Indonesian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: popt.c:47 msgid "unknown errno" msgstr "errno tak diketahui" #: popt.c:1290 #, c-format msgid "option type (%u) not implemented in popt\n" msgstr "tipe opsi (%u) tak diimplementasikan di popt\n" #: popt.c:1711 msgid "missing argument" msgstr "kehilangan argumen" #: popt.c:1713 msgid "unknown option" msgstr "opsi tak diketahui" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "permintaan operasi logika eksklusif secara mutual" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "opt->arg tidak boleh NULL" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "alias disarangkan terlalu dalam" #: popt.c:1721 msgid "error in parameter quoting" msgstr "galat di pencantuman parameter" #: popt.c:1723 msgid "invalid numeric value" msgstr "nilai numerik tidak sah" #: popt.c:1725 msgid "number too large or too small" msgstr "nomor terlalu besar atau terlalu kecil" #: popt.c:1727 msgid "memory allocation failed" msgstr "alokasi memori gagal" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "galat tak diketahui" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "Tampilkan pesan bantuan ini" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "Tampilkan pesan penggunaan singkat" #: popthelp.c:90 msgid "Display option defaults in message" msgstr "Tampilkan opsi standar dalam pesan" #: popthelp.c:92 msgid "Terminate options" msgstr "Matikan opsi" #: popthelp.c:191 msgid "Help options:" msgstr "Opsi bantuan:" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "Opsi diimplementasikan via popt alias/exec:" #: popthelp.c:200 msgid "NONE" msgstr "NONE" #: popthelp.c:202 msgid "VAL" msgstr "VAL" #: popthelp.c:206 msgid "INT" msgstr "INT" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "LONG" #: popthelp.c:209 msgid "LONGLONG" msgstr "LONGLONG" #: popthelp.c:210 msgid "STRING" msgstr "STRING" #: popthelp.c:211 msgid "FLOAT" msgstr "FLOAT" #: popthelp.c:212 msgid "DOUBLE" msgstr "DOUBLE" #: popthelp.c:215 msgid "ARG" msgstr "ARG" #: popthelp.c:649 msgid "Usage:" msgstr "Penggunaan:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[OPSI...]" popt-1.16/po/it.po0000664000076400007640000000571511337043365010765 00000000000000# ITALIAN TRANSLATION OF POPT-1.14 # This file is put in the public domain. # # Sandro Bonazzola , 2007 # Vincenzo Campanella , 2008. msgid "" msgstr "" "Project-Id-Version: popt-1.14\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2008-11-28 15:32+0100\n" "Last-Translator: Vincenzo Campanella \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "First-Translator: Sandro Bonazzola \n" "X-Generator: KBabel 1.11.4\n" #: popt.c:47 msgid "unknown errno" msgstr "errno sconosciuto" #: popt.c:1290 #, c-format msgid "option type (%u) not implemented in popt\n" msgstr "tipo di opzione (%u) non implementato in popt\n" #: popt.c:1711 msgid "missing argument" msgstr "argomento mancante" #: popt.c:1713 msgid "unknown option" msgstr "opzione sconosciuta" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "richieste operazioni logiche reciprocamente esclusive" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "opt->arg non dovrebbe essere NULL" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "alias nidificati troppo in profondità" #: popt.c:1721 msgid "error in parameter quoting" msgstr "errore nel quoting del parametro" #: popt.c:1723 msgid "invalid numeric value" msgstr "valore numerico non valido" #: popt.c:1725 msgid "number too large or too small" msgstr "numero troppo grande o troppo piccolo" #: popt.c:1727 msgid "memory allocation failed" msgstr "allocazione di memoria fallita" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "errore sconosciuto" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "Mostra questo messaggio di aiuto" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "Mostra un breve messaggio di utilizzo" #: popthelp.c:90 msgid "Display option defaults in message" msgstr "Mostra le opzioni predefinite nel messaggio" #: popthelp.c:92 msgid "Terminate options" msgstr "Opzioni di terminazione" #: popthelp.c:191 msgid "Help options:" msgstr "Opzioni di aiuto:" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "Opzioni implementate tramite alias/exec di popt:" #: popthelp.c:200 msgid "NONE" msgstr "NONE" #: popthelp.c:202 msgid "VAL" msgstr "VAL" #: popthelp.c:206 msgid "INT" msgstr "INT" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "LONG" #: popthelp.c:209 msgid "LONGLONG" msgstr "LONGLONG" #: popthelp.c:210 msgid "STRING" msgstr "STRING" #: popthelp.c:211 msgid "FLOAT" msgstr "FLOAT" #: popthelp.c:212 msgid "DOUBLE" msgstr "DOUBLE" #: popthelp.c:215 msgid "ARG" msgstr "ARG" #: popthelp.c:649 msgid "Usage:" msgstr "Uso:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[OPZIONE...]" popt-1.16/po/da.gmo0000664000076400007640000000413711365302074011072 00000000000000Þ• )ü ¡¥¬"Èë ñÿ(?F]ov z† »Ñê/û+I)e  «Vº":]cy}‚‹0‘ÂÉå 7Q iŠ)›!Åç/5 DP    ARGDOUBLEDisplay brief usage messageDisplay option defaults in messageFLOATHelp options:INTLONGLONGLONGNONEOptions implemented via popt alias/exec:STRINGShow this help messageTerminate optionsUsage:VAL[OPTION...]aliases nested too deeplyerror in parameter quotinginvalid numeric valuememory allocation failedmissing argumentmutually exclusive logical operations requestednumber too large or too smallopt->arg should not be NULLoption type (%u) not implemented in popt unknown errnounknown errorunknown optionProject-Id-Version: popt-1.14 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2008-09-15 00:00+0000 Last-Translator: Joe Hansen Language-Team: Danish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ARGDOUBLEVis kortfattet brugsanvisningVis instillingsstandarder i beskedFLOATHjælpeindstillinger:INTLONGLONGLONGINGENIndstillinger implementeret via popt alias/exec:STRINGVis denne hjælpemeddelelseIndstillinger for afbrydningBrug:VAL[TILVALG...]aliaser er for dybt indlejretfejl i parameter citeringugyldig numerisk værdihukommelsestildeling mislykkedesmangler argumentde ønskede handlinger udelukker hinandennummer for stort, eller for lilleopt->arg bør ikke være NULLtilvalgstype (%u) er ikke implementeret i popt ukendt fejlnr.ukendt fejlukendt tilvalgpopt-1.16/po/wa.gmo0000664000076400007640000000106011365302075011106 00000000000000Þ•4L`a}I”/Þ!Display brief usage messageShow this help messageProject-Id-Version: popt 1.11 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 1999-03-18 23:11+0100 Last-Translator: Nobody yet Language-Team: walon MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Mostre on court messaedje so kmint vos è sierviMostrer ci messaedje d' aide chalpopt-1.16/po/nl.gmo0000664000076400007640000000423411365302075011116 00000000000000Þ• )ü ¡¥¬"Èë ñÿ(?F]ov z† »Ñê/û+I)e  «bº!$(0M~ „‘•š£/¨ØÞó !#>b"} 7´ì! 4,a}Œ    ARGDOUBLEDisplay brief usage messageDisplay option defaults in messageFLOATHelp options:INTLONGLONGLONGNONEOptions implemented via popt alias/exec:STRINGShow this help messageTerminate optionsUsage:VAL[OPTION...]aliases nested too deeplyerror in parameter quotinginvalid numeric valuememory allocation failedmissing argumentmutually exclusive logical operations requestednumber too large or too smallopt->arg should not be NULLoption type (%u) not implemented in popt unknown errnounknown errorunknown optionProject-Id-Version: popt 1.14 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2008-02-20 19:26+0100 Last-Translator: Tim Van Holder Language-Team: Dutch MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit ARGDOUBLEEen korte gebruikssamenvatting tonenDe standaardwaarden van opties tonen in de tekstFLOATHulp-opties:INTLONGLONGLONGGEENOpties geïmplementeerd d.m.v. popt alias/exec:TEKSTDeze hulptekst tonenOpties beëindigenGebruik:WAARDE[OPTIE...]aliassen zijn te diep genestfout in de aanhaling van parametersongeldige numerieke waardereserveren van geheugen is misluktontbrekend argumentelkaar uitsluitende logische operatoren werden gevraagdgetal is te klein of te grootopt->arg zou niet NULL mogen zijndit optietype (%u) is niet geïmplementeerd in popt onbekend foutnummer (errno)onbekende foutonbekende optiepopt-1.16/po/cs.gmo0000664000076400007640000000421011365302074011103 00000000000000Þ• )ü ¡¥¬"Èë ñÿ(?F]ov z† »Ñê/û+I)e  «hº#'$.&Sz€’–›¤-©×Þ÷  " Cb}•3¥0Ù +$Phx    ARGDOUBLEDisplay brief usage messageDisplay option defaults in messageFLOATHelp options:INTLONGLONGLONGNONEOptions implemented via popt alias/exec:STRINGShow this help messageTerminate optionsUsage:VAL[OPTION...]aliases nested too deeplyerror in parameter quotinginvalid numeric valuememory allocation failedmissing argumentmutually exclusive logical operations requestednumber too large or too smallopt->arg should not be NULLoption type (%u) not implemented in popt unknown errnounknown errorunknown optionProject-Id-Version: popt 1.14 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2008-12-08 19:55+0100 Last-Translator: Petr Pisar Language-Team: Czech MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit ARGDOUBLEVypíše krátký návod k použitíZobrazit implicitní volby ve zprávÄ›FLOATVolby nápovÄ›dy:INTLONGLONGLONGNONEVolby implementované pÅ™es alias/exec poptu:STRINGVypíše tuto nápovÄ›duUkonÄí volbyPoužití:VAL[VOLBY…]aliasy vnoÅ™ené příliÅ¡ hlubokochyba v quotování parametrůchybná numerická hodnotaselhala alokace pamÄ›tichybí argumentpožadovány vzájemnÄ› výluÄné logické operaceÄíslo je příliÅ¡ velké nebo příliÅ¡ maléopt->arg nesmí být NULLtyp volby (%u) není v popt implementován neznámé Äíslo chybyneznámá chybaneznámá volbapopt-1.16/po/Makevars0000664000076400007640000000342510657355461011510 00000000000000# Makefile variables for PO directory in any package using GNU gettext. # Usually the message domain is the same as the package name. DOMAIN = $(PACKAGE) # These two variables depend on the location of this directory. subdir = po top_builddir = .. # These options get passed to xgettext. XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ --keyword=POPT_ # This is the copyright holder that gets inserted into the header of the # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding # package. (Note that the msgstr strings, extracted from the package's # sources, belong to the copyright holder of the package.) Translators are # expected to transfer the copyright for their translations to this person # or entity, or to disclaim their copyright. The empty string stands for # the public domain; in this case the translators are expected to disclaim # their copyright. COPYRIGHT_HOLDER = # This is the email address or URL to which the translators shall report # bugs in the untranslated strings: # - Strings which are not entire sentences, see the maintainer guidelines # in the GNU gettext documentation, section 'Preparing Strings'. # - Strings which use unclear terms or require additional context to be # understood. # - Strings which make invalid assumptions about notation of date, time or # money. # - Pluralisation problems. # - Incorrect English spelling. # - Incorrect formatting. # It can be your email address, or a mailing list address where translators # can write to without being subscribed, or the URL of a web page through # which the translators can contact you. MSGID_BUGS_ADDRESS = # This is the list of locale categories, beyond LC_MESSAGES, for which the # message catalogs shall be used. It is usually empty. EXTRA_LOCALE_CATEGORIES = popt-1.16/po/nl.po0000664000076400007640000000572211337043365010760 00000000000000# Dutch messages for popt. # This file is put in the public domain. # Tim Van Holder , 2007, 2008. # msgid "" msgstr "" "Project-Id-Version: popt 1.14\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2008-02-20 19:26+0100\n" "Last-Translator: Tim Van Holder \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: popt.c:47 msgid "unknown errno" msgstr "onbekend foutnummer (errno)" #: popt.c:1290 #, c-format msgid "option type (%u) not implemented in popt\n" msgstr "dit optietype (%u) is niet geïmplementeerd in popt\n" #: popt.c:1711 msgid "missing argument" msgstr "ontbrekend argument" #: popt.c:1713 msgid "unknown option" msgstr "onbekende optie" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "elkaar uitsluitende logische operatoren werden gevraagd" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "opt->arg zou niet NULL mogen zijn" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "aliassen zijn te diep genest" # of toch beter "quoting" behouden? #: popt.c:1721 msgid "error in parameter quoting" msgstr "fout in de aanhaling van parameters" #: popt.c:1723 msgid "invalid numeric value" msgstr "ongeldige numerieke waarde" #: popt.c:1725 msgid "number too large or too small" msgstr "getal is te klein of te groot" #: popt.c:1727 msgid "memory allocation failed" msgstr "reserveren van geheugen is mislukt" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "onbekende fout" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "Deze hulptekst tonen" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "Een korte gebruikssamenvatting tonen" #: popthelp.c:90 msgid "Display option defaults in message" msgstr "De standaardwaarden van opties tonen in de tekst" #: popthelp.c:92 msgid "Terminate options" msgstr "Opties beëindigen" # of "Help-opties:"? #: popthelp.c:191 msgid "Help options:" msgstr "Hulp-opties:" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "Opties geïmplementeerd d.m.v. popt alias/exec:" #: popthelp.c:200 msgid "NONE" msgstr "GEEN" #: popthelp.c:202 msgid "VAL" msgstr "WAARDE" #: popthelp.c:206 msgid "INT" msgstr "INT" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "LONG" #: popthelp.c:209 msgid "LONGLONG" msgstr "LONGLONG" # TEKENREEKS lijkt me niet gepast; dus ofwel STRING behouden, ofwel TEKST #: popthelp.c:210 msgid "STRING" msgstr "TEKST" #: popthelp.c:211 msgid "FLOAT" msgstr "FLOAT" #: popthelp.c:212 msgid "DOUBLE" msgstr "DOUBLE" # of hier ARGUMENT van maken? #: popthelp.c:215 msgid "ARG" msgstr "ARG" #: popthelp.c:649 msgid "Usage:" msgstr "Gebruik:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[OPTIE...]" popt-1.16/po/de.gmo0000664000076400007640000000423011365302074011070 00000000000000Þ• )ü ¡¥¬"Èë ñÿ(?F]ov z† »Ñê/û+I)e  «kº&/'6"^‡—Ÿ¤­-´âéþ  ,#Im ‹¬/¿ï ,-Zs†    ARGDOUBLEDisplay brief usage messageDisplay option defaults in messageFLOATHelp options:INTLONGLONGLONGNONEOptions implemented via popt alias/exec:STRINGShow this help messageTerminate optionsUsage:VAL[OPTION...]aliases nested too deeplyerror in parameter quotinginvalid numeric valuememory allocation failedmissing argumentmutually exclusive logical operations requestednumber too large or too smallopt->arg should not be NULLoption type (%u) not implemented in popt unknown errnounknown errorunknown optionProject-Id-Version: popt 1.14 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2009-11-10 19:58+0100 Last-Translator: Roland Illig Language-Team: German MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ARGUMENTDOUBLEZeigt eine kurze VerwendungsinformationZeigt die Standardeinstellungen anFLOATHilfe-Optionen:INTEGERLONGLONGLONGNICHTSOptionen über popt alias/exec implementiert:STRINGZeigt diese Hilfe anOptionen beendenVerwendung:WERT[OPTION...]Aliase zu tief verschachteltFehler beim Quotieren der ParameterUngültiger nummerischer WertSpeicherzuordnung fehlgeschlagenFehlendes ArgumentGegenseitig ausschließende logische OperatorenNummer zu groß oder zu kleinopt->arg sollte nicht NULL seinOptionstyp (%u) ist in popt nicht vorhanden Unbekannte Fehler-NummerUnbekannter FehlerUnbekannte Optionpopt-1.16/po/is.po0000664000076400007640000000477311337043365010767 00000000000000msgid "" msgstr "" "Project-Id-Version: popt 1.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2001-06-08 01:35+0000\n" "Last-Translator: Richard Allen \n" "Language-Team: is \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8-bit\n" #: popt.c:47 msgid "unknown errno" msgstr "óþekkt villunúmer" #: popt.c:1290 #, fuzzy, c-format msgid "option type (%u) not implemented in popt\n" msgstr "rofagerðin (%d) er ekki studd í popt\n" #: popt.c:1711 msgid "missing argument" msgstr "vantar viðfang" #: popt.c:1713 msgid "unknown option" msgstr "óþekktur rofi" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "beðið um rofa sem slökkva hvor á öðrum" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "opt->arg ætti ekki að vera NULL" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "alíasar of flóknir" #: popt.c:1721 msgid "error in parameter quoting" msgstr "villa í viðföngum (gæsalappir og svo frv.)" #: popt.c:1723 msgid "invalid numeric value" msgstr "ógilt tölulegt gildi" #: popt.c:1725 msgid "number too large or too small" msgstr "talan of stór eða smá" #: popt.c:1727 msgid "memory allocation failed" msgstr "ekki tókst að taka frá minni" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "óþekkt villa" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "Sýna þessa hjálp" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "Sýna stuttar notkunarleiðbeiningar" #: popthelp.c:90 msgid "Display option defaults in message" msgstr "Sýna sjálfgefin gildi rofa í skilaboðum" #: popthelp.c:92 msgid "Terminate options" msgstr "" #: popthelp.c:191 msgid "Help options:" msgstr "" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "" #: popthelp.c:200 msgid "NONE" msgstr "ENGIN" #: popthelp.c:202 msgid "VAL" msgstr "VAL" #: popthelp.c:206 msgid "INT" msgstr "INT" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "LONG" #: popthelp.c:209 #, fuzzy msgid "LONGLONG" msgstr "LONG" #: popthelp.c:210 msgid "STRING" msgstr "STRING" #: popthelp.c:211 msgid "FLOAT" msgstr "FLOAT" #: popthelp.c:212 msgid "DOUBLE" msgstr "DOUBLE" #: popthelp.c:215 msgid "ARG" msgstr "ARG" #: popthelp.c:649 msgid "Usage:" msgstr "Notkun:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[ROFI...]" popt-1.16/po/it.gmo0000664000076400007640000000437411365302075011126 00000000000000Þ• )ü ¡¥¬"Èë ñÿ(?F]ov z† »Ñê/û+I)e  «³ºnr%y+ŸËÑãçìõ0ú+ 2Skp t& ¨Éä5%L!r.”ÃÕè    ARGDOUBLEDisplay brief usage messageDisplay option defaults in messageFLOATHelp options:INTLONGLONGLONGNONEOptions implemented via popt alias/exec:STRINGShow this help messageTerminate optionsUsage:VAL[OPTION...]aliases nested too deeplyerror in parameter quotinginvalid numeric valuememory allocation failedmissing argumentmutually exclusive logical operations requestednumber too large or too smallopt->arg should not be NULLoption type (%u) not implemented in popt unknown errnounknown errorunknown optionProject-Id-Version: popt-1.14 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2008-11-28 15:32+0100 Last-Translator: Vincenzo Campanella Language-Team: Italian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit First-Translator: Sandro Bonazzola X-Generator: KBabel 1.11.4 ARGDOUBLEMostra un breve messaggio di utilizzoMostra le opzioni predefinite nel messaggioFLOATOpzioni di aiuto:INTLONGLONGLONGNONEOpzioni implementate tramite alias/exec di popt:STRINGMostra questo messaggio di aiutoOpzioni di terminazioneUso:VAL[OPZIONE...]alias nidificati troppo in profonditàerrore nel quoting del parametrovalore numerico non validoallocazione di memoria fallitaargomento mancanterichieste operazioni logiche reciprocamente esclusivenumero troppo grande o troppo piccoloopt->arg non dovrebbe essere NULLtipo di opzione (%u) non implementato in popt errno sconosciutoerrore sconosciutoopzione sconosciutapopt-1.16/po/vi.po0000664000076400007640000000630211337043366010761 00000000000000# Vietnamese translation for POPT. # Copyright © 2008 Free Software Foundation, Inc. # This file is distributed under the same license as the popt-1.14 package # Clytie Siddall , 2007-2008. # msgid "" msgstr "" "Project-Id-Version: popt 1.14\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2008-02-18 16:20+1030\n" "Last-Translator: Clytie Siddall \n" "Language-Team: Vietnamese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: LocFactoryEditor 1.7b3\n" #: popt.c:47 msgid "unknown errno" msgstr "số hiệu lá»—i không rõ" #: popt.c:1290 #, c-format msgid "option type (%u) not implemented in popt\n" msgstr "kiểu tùy chá»n (%u) chưa được thá»±c hiện trong popt\n" #: popt.c:1711 msgid "missing argument" msgstr "thiếu đối số" #: popt.c:1713 msgid "unknown option" msgstr "tùy chá»n không rõ" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "các thao tác hợp lý loại từ lẫn nhau được yêu cầu" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "« tùy chá»n->đối số » không thể vô giá trị" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "các bí danh lồng nhau quá sâu" #: popt.c:1721 msgid "error in parameter quoting" msgstr "gặp lá»—i trong lá»i trích dẫn tham số" #: popt.c:1723 msgid "invalid numeric value" msgstr "giá trị thuá»™c số không hợp lệ" #: popt.c:1725 msgid "number too large or too small" msgstr "con số quá lá»›n hay quá nhá»" #: popt.c:1727 msgid "memory allocation failed" msgstr "lá»—i cấp phát bá»™ nhá»›" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "lá»—i không rõ" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "Xem thông Ä‘iệp trợ giúp này" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "Hiển thị thông Ä‘iệp cách sá»­ dụng ngắn" #: popthelp.c:90 msgid "Display option defaults in message" msgstr "Hiển thị các giá trị mặc định cá»§a tùy chá»n trong thông Ä‘iệp" #: popthelp.c:92 msgid "Terminate options" msgstr "Tùy chá»n chấm dứt" #: popthelp.c:191 msgid "Help options:" msgstr "Tùy chá»n trợ giúp:" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "Các tùy chá»n được thá»±c hiện thông qua popt alias/exec:" #: popthelp.c:200 msgid "NONE" msgstr "KHÔNG CÓ" #: popthelp.c:202 msgid "VAL" msgstr "GIà TRỊ" #: popthelp.c:206 msgid "INT" msgstr "Sá» NGUYÊN" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "DÀI" #: popthelp.c:209 msgid "LONGLONG" msgstr "DÀIDÀI" #: popthelp.c:210 msgid "STRING" msgstr "CHUá»–I" #: popthelp.c:211 msgid "FLOAT" msgstr "Ná»”I" #: popthelp.c:212 msgid "DOUBLE" msgstr "ÄÔI" #: popthelp.c:215 msgid "ARG" msgstr "Äá»I Sá»" #: popthelp.c:649 msgid "Usage:" msgstr "Sá»­ dụng:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[TÙY_CHỌN...]" popt-1.16/po/sl.gmo0000664000076400007640000000105511365302075011121 00000000000000Þ•4L`a}V”"ëDisplay brief usage messageShow this help messageProject-Id-Version: popt 1.11 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2000-09-05 12:30+0200 Last-Translator: Roman Maurer Language-Team: Slovenian MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-2 Content-Transfer-Encoding: 8bit Prika¾i kratko sporoèilo o uporabiPrika¾i to sporoèilo s pomoèjopopt-1.16/po/th.po0000664000076400007640000000737511337043366010771 00000000000000# Thai translation for popt. # Copyright (C) 2008 Free Software Foundation, Inc. # Seksan Poltree , 2008. # msgid "" msgstr "" "Project-Id-Version: popt 1.14\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2008-02-19 15:53+0700\n" "Last-Translator: Seksan Poltree \n" "Language-Team: Thai \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Thai\n" "X-Poedit-Country: THAILAND\n" #: popt.c:47 msgid "unknown errno" msgstr "เà¸à¸´à¸” errno ที่ไม่รู้จัà¸" #: popt.c:1290 #, c-format msgid "option type (%u) not implemented in popt\n" msgstr "ตัวเลือà¸à¸Šà¸™à¸´à¸” (%u) ไม่ถูà¸à¸­à¸´à¸¡à¸žà¸¥à¸µà¹€à¸¡à¸™à¸•์ใน popt\n" #: popt.c:1711 msgid "missing argument" msgstr "ไม่พบอาร์à¸à¸´à¸§à¹€à¸¡à¸™à¸•์" #: popt.c:1713 msgid "unknown option" msgstr "ไม่รู้จัà¸à¸•ัวเลือà¸" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "เà¸à¸´à¸”à¸à¸²à¸£à¸£à¹‰à¸­à¸‡à¸‚อร่วมà¸à¸±à¸™à¸‚องà¸à¸²à¸£à¸”ำเนินà¸à¸²à¸£à¸”้านตรรà¸à¸°à¸­à¸¢à¹ˆà¸²à¸‡à¹€à¸”ียวà¸à¸±à¸™" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "opt->arg ไม่ควรจะเป็น NULL" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "นามà¹à¸à¸‡à¸‹à¹‰à¸­à¸™à¸à¸±à¸™à¸¡à¸²à¸à¹€à¸à¸´à¸™à¹„ป" #: popt.c:1721 msgid "error in parameter quoting" msgstr "เà¸à¸´à¸”ข้อผิดพลาดในà¸à¸²à¸£à¸­à¹‰à¸²à¸‡à¸­à¸´à¸‡à¸žà¸²à¸£à¸²à¸¡à¸´à¹€à¸•อร์" #: popt.c:1723 msgid "invalid numeric value" msgstr "ค่าตัวเลขผิดพลาด" #: popt.c:1725 msgid "number too large or too small" msgstr "ตัวเลขมีค่ามาà¸à¸«à¸£à¸·à¸­à¸™à¹‰à¸­à¸¢à¹€à¸à¸´à¸™à¹„ป" #: popt.c:1727 msgid "memory allocation failed" msgstr "à¸à¸²à¸£à¸ˆà¸±à¸”สรรหน่วยความจำผิดพลาด" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "ความผิดพลาดที่ไม่รู้จัà¸" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "à¹à¸ªà¸”งข้อความช่วยเหลือนี้" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "à¹à¸ªà¸”งข้อความสรุปย่อà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™" #: popthelp.c:90 msgid "Display option defaults in message" msgstr "à¹à¸ªà¸”งตัวเลือà¸à¸¡à¸²à¸•รà¸à¸²à¸™à¹ƒà¸™à¸‚้อความ" #: popthelp.c:92 msgid "Terminate options" msgstr "ตัวเลือà¸à¸à¸²à¸£à¸ªà¸´à¹‰à¸™à¸ªà¸¸à¸”:" #: popthelp.c:191 msgid "Help options:" msgstr "ตัวเลือà¸à¸„วามช่วยเหลือ:" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "ตัวเลือà¸à¸—ี่ถูà¸à¸­à¸´à¸¡à¸žà¸¥à¸µà¹€à¸¡à¸™à¸•์ด้วย popt alias/exec:" #: popthelp.c:200 msgid "NONE" msgstr "ไม่มี" #: popthelp.c:202 msgid "VAL" msgstr "VAL" #: popthelp.c:206 msgid "INT" msgstr "INT" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "LONG" #: popthelp.c:209 msgid "LONGLONG" msgstr "LONGLONG" #: popthelp.c:210 msgid "STRING" msgstr "STRING" #: popthelp.c:211 msgid "FLOAT" msgstr "FLOAT" #: popthelp.c:212 msgid "DOUBLE" msgstr "DOUBLE" #: popthelp.c:215 msgid "ARG" msgstr "ARG" #: popthelp.c:649 msgid "Usage:" msgstr "วิธีใช้:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[ตัวเลือà¸...]" popt-1.16/po/ro.gmo0000664000076400007640000000207211365302075011123 00000000000000Þ• |Ü !=T [g—¨ Æ ÔâRñD`v ,Œ¹Óâÿ&   Display brief usage messageShow this help messageUsage:[OPTION...]aliases nested too deeplyinvalid numeric valuemissing argumentnumber too large or too smallunknown errnounknown errorunknown optionProject-Id-Version: popt 1.11 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2000-06-14 23:23+EST Last-Translator: Cristian Gafton Language-Team: Romanian MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-2 Content-Transfer-Encoding: 8bit Afisare mesaj sintaxa sumarAfisare mesaj de helpSintaxa:[OPTIUNE...]recursivitate infinita la optiunile sinonimevaloare numarica invalidaargument lipsanumar prea mare sau prea miceroare necunoscutaeroare necuinoscutaoptiune necunoscutapopt-1.16/po/fr.po0000664000076400007640000000572311337043365010757 00000000000000# A French translation for rpm messages # Copyright (C) 2003 Free Software Foundation, Inc. # This file is distributed under the same license as the RPM package. # RPM French Translation , 2003. # JBJ : THANX A LOT !!! # # N'hésitez pas à m'envoyez un courriel si vous avez des # suggestions/corrections. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: popt 1.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2003-06-22 23:43+0200\n" "Last-Translator: RPM French Translation \n" "Language-Team: RPM French Translation \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" #: popt.c:47 msgid "unknown errno" msgstr "errno inconnu" #: popt.c:1290 #, fuzzy, c-format msgid "option type (%u) not implemented in popt\n" msgstr "type(%d) d'option non implémenté dans popt\n" #: popt.c:1711 msgid "missing argument" msgstr "argument manquant" #: popt.c:1713 msgid "unknown option" msgstr "option iconnue" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "opérations logiques mutuellement exclusives requises" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "opt->arg ne devrait pas être NULL" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "les alias sont trop entremellés" #: popt.c:1721 msgid "error in parameter quoting" msgstr "erreur en citant les paramètres" #: popt.c:1723 msgid "invalid numeric value" msgstr "valeur numérique invalide" #: popt.c:1725 msgid "number too large or too small" msgstr "nombre trop grand ou trop petit" #: popt.c:1727 msgid "memory allocation failed" msgstr "échec de l'allocation de mémoire" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "erreur inconnue" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "Montre ce message d'aide" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "Affiche un bref descriptif de l'utilisation" #: popthelp.c:90 msgid "Display option defaults in message" msgstr "Afficher les valeurs par défaut des options dans le message" #: popthelp.c:92 msgid "Terminate options" msgstr "" #: popthelp.c:191 msgid "Help options:" msgstr "" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "" #: popthelp.c:200 msgid "NONE" msgstr "RIEN" #: popthelp.c:202 msgid "VAL" msgstr "VAL" #: popthelp.c:206 msgid "INT" msgstr "ENTIER" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "LONG" #: popthelp.c:209 #, fuzzy msgid "LONGLONG" msgstr "LONG" #: popthelp.c:210 msgid "STRING" msgstr "CHAINE" #: popthelp.c:211 msgid "FLOAT" msgstr "FLOTTANT" #: popthelp.c:212 msgid "DOUBLE" msgstr "DOUBLE" #: popthelp.c:215 msgid "ARG" msgstr "ARG" #: popthelp.c:649 msgid "Usage:" msgstr "Utilisation:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[OPTION...]" popt-1.16/po/hu.gmo0000664000076400007640000000413411365302075011120 00000000000000Þ•ô%Ì`ael"ˆ« ±¿ÃÈ(Íöý +E`v/ Ðî  &´5êî-ô0"S[pw=…ÃË çóû2 =]}2²!å"7G   ARGDOUBLEDisplay brief usage messageDisplay option defaults in messageFLOATHelp options:INTLONGNONEOptions implemented via popt alias/exec:STRINGShow this help messageUsage:VAL[OPTION...]aliases nested too deeplyerror in parameter quotinginvalid numeric valuememory allocation failedmissing argumentmutually exclusive logical operations requestednumber too large or too smallopt->arg should not be NULLunknown errnounknown errorunknown optionProject-Id-Version: popt 1.11 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2007-06-21 00:45+0200 Last-Translator: Gabor Kelemen Language-Team: Hungarian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: KBabel 1.11.4 Plural-Forms: nplurals=2; plural=(n != 1); PARDUPLARövid használati utasítás megjelenítéseKapcsolók alapértelmezéseinek megjelenítéseLEBEGÅSúgólehetÅ‘ségek:EGÉSZHOSSZÚNINCSA popt alias/exec segítségével megvalósított kapcsolók:SZÖVEGEzen súgó megjelenítéseHasználat:ÉRTÉK[KAPCSOLÓ...]az álnevek túl mélyen vannak egymásba ágyazvahiba a paraméter idézésébenérvénytelen numerikus értéka memóriafoglalás meghiúsulthiányzó paraméterkölcsönösen kizáró logikai műveleteket kérta szám túl nagy vagy túl kicsiaz opt->arg nem lehet NULLismeretlen hibaszámismeretlen hibaismeretlen kapcsolópopt-1.16/po/th.gmo0000664000076400007640000000613211365302075011117 00000000000000Þ• )ü ¡¥¬"Èë ñÿ(?F]ov z† »Ñê/û+I)e  «£º^bQiT»@W[`ihyâEé7/g~‚B oã0S Q„ 3Ö « T¶ 2 i> 7¨ Eà 3&     ARGDOUBLEDisplay brief usage messageDisplay option defaults in messageFLOATHelp options:INTLONGLONGLONGNONEOptions implemented via popt alias/exec:STRINGShow this help messageTerminate optionsUsage:VAL[OPTION...]aliases nested too deeplyerror in parameter quotinginvalid numeric valuememory allocation failedmissing argumentmutually exclusive logical operations requestednumber too large or too smallopt->arg should not be NULLoption type (%u) not implemented in popt unknown errnounknown errorunknown optionProject-Id-Version: popt 1.14 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2008-02-19 15:53+0700 Last-Translator: Seksan Poltree Language-Team: Thai MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Poedit-Language: Thai X-Poedit-Country: THAILAND ARGDOUBLEà¹à¸ªà¸”งข้อความสรุปย่อà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¹à¸ªà¸”งตัวเลือà¸à¸¡à¸²à¸•รà¸à¸²à¸™à¹ƒà¸™à¸‚้อความFLOATตัวเลือà¸à¸„วามช่วยเหลือ:INTLONGLONGLONGไม่มีตัวเลือà¸à¸—ี่ถูà¸à¸­à¸´à¸¡à¸žà¸¥à¸µà¹€à¸¡à¸™à¸•์ด้วย popt alias/exec:STRINGà¹à¸ªà¸”งข้อความช่วยเหลือนี้ตัวเลือà¸à¸à¸²à¸£à¸ªà¸´à¹‰à¸™à¸ªà¸¸à¸”:วิธีใช้:VAL[ตัวเลือà¸...]นามà¹à¸à¸‡à¸‹à¹‰à¸­à¸™à¸à¸±à¸™à¸¡à¸²à¸à¹€à¸à¸´à¸™à¹„ปเà¸à¸´à¸”ข้อผิดพลาดในà¸à¸²à¸£à¸­à¹‰à¸²à¸‡à¸­à¸´à¸‡à¸žà¸²à¸£à¸²à¸¡à¸´à¹€à¸•อร์ค่าตัวเลขผิดพลาดà¸à¸²à¸£à¸ˆà¸±à¸”สรรหน่วยความจำผิดพลาดไม่พบอาร์à¸à¸´à¸§à¹€à¸¡à¸™à¸•์เà¸à¸´à¸”à¸à¸²à¸£à¸£à¹‰à¸­à¸‡à¸‚อร่วมà¸à¸±à¸™à¸‚องà¸à¸²à¸£à¸”ำเนินà¸à¸²à¸£à¸”้านตรรà¸à¸°à¸­à¸¢à¹ˆà¸²à¸‡à¹€à¸”ียวà¸à¸±à¸™à¸•ัวเลขมีค่ามาà¸à¸«à¸£à¸·à¸­à¸™à¹‰à¸­à¸¢à¹€à¸à¸´à¸™à¹„ปopt->arg ไม่ควรจะเป็น NULLตัวเลือà¸à¸Šà¸™à¸´à¸” (%u) ไม่ถูà¸à¸­à¸´à¸¡à¸žà¸¥à¸µà¹€à¸¡à¸™à¸•์ใน popt เà¸à¸´à¸” errno ที่ไม่รู้จัà¸à¸„วามผิดพลาดที่ไม่รู้จัà¸à¹„ม่รู้จัà¸à¸•ัวเลือà¸popt-1.16/po/sk.gmo0000664000076400007640000000105111365302075011114 00000000000000Þ•4L`a}]”"òDisplay brief usage messageShow this help messageProject-Id-Version: popt 1.11 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 1999-08-04 21:40+0200 Last-Translator: Stanislav Meduna Language-Team: Slovak MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-2 Content-Transfer-Encoding: 8bit Zobrazi» struèný návod na pou¾itieVypísa» túto správupopt-1.16/po/es.po0000664000076400007640000000515711337043365010760 00000000000000# Spanish translations for popt. # Copyright (C) 2007 Free Software Foundation, Inc. # Leandro Lucarella , 2007 # msgid "" msgstr "" "Project-Id-Version: popt 1.12\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2007-12-28 12:22+0100\n" "Last-Translator: Leandro Lucarella \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: popt.c:47 msgid "unknown errno" msgstr "errno desconocido" #: popt.c:1290 #, fuzzy, c-format msgid "option type (%u) not implemented in popt\n" msgstr "tipo de opción (%d) no implementada en popt\n" #: popt.c:1711 msgid "missing argument" msgstr "falta argumento" #: popt.c:1713 msgid "unknown option" msgstr "opción desconocida" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "requerida operación lógica mutuamente exclusiva" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "alias anidados muy profundamente" #: popt.c:1721 msgid "error in parameter quoting" msgstr "error en cita de parámetros" #: popt.c:1723 msgid "invalid numeric value" msgstr "valor numérico inválido" #: popt.c:1725 msgid "number too large or too small" msgstr "número muy largo o muy pequeño" #: popt.c:1727 msgid "memory allocation failed" msgstr "" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "error desconocido" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "Muestra este mensaje de ayuda" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "Indica el modo de uso resumido" #: popthelp.c:90 msgid "Display option defaults in message" msgstr "" #: popthelp.c:92 msgid "Terminate options" msgstr "" #: popthelp.c:191 msgid "Help options:" msgstr "" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "" #: popthelp.c:200 msgid "NONE" msgstr "NONE" #: popthelp.c:202 msgid "VAL" msgstr "VAL" #: popthelp.c:206 msgid "INT" msgstr "INT" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "LONG" #: popthelp.c:209 #, fuzzy msgid "LONGLONG" msgstr "LONG" #: popthelp.c:210 msgid "STRING" msgstr "STRING" #: popthelp.c:211 msgid "FLOAT" msgstr "FLOAT" #: popthelp.c:212 msgid "DOUBLE" msgstr "DOUBLE" #: popthelp.c:215 msgid "ARG" msgstr "ARG" #: popthelp.c:649 msgid "Usage:" msgstr "Modo de uso:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[OPCIÓN...]" popt-1.16/po/sv.gmo0000664000076400007640000000413611365302075011136 00000000000000Þ• )ü ¡¥¬"Èë ñÿ(?F]ov z† »Ñê/û+I)e  «^º"$0Gx €Ž•š£+©ÕÜñ   :Rk‰3™Íí- 7 G Q    ARGDOUBLEDisplay brief usage messageDisplay option defaults in messageFLOATHelp options:INTLONGLONGLONGNONEOptions implemented via popt alias/exec:STRINGShow this help messageTerminate optionsUsage:VAL[OPTION...]aliases nested too deeplyerror in parameter quotinginvalid numeric valuememory allocation failedmissing argumentmutually exclusive logical operations requestednumber too large or too smallopt->arg should not be NULLoption type (%u) not implemented in popt unknown errnounknown errorunknown optionProject-Id-Version: popt 1.14 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2008-02-23 20:15+0100 Last-Translator: Göran Uddeborg Language-Team: Swedish MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit ARGDUBBELVisa en kortfattad användningstextVisa standardalternativ för flaggor i meddelandeFLYTTALHjälpflaggor:HELTALLÅNGLÅNGLÅNGINGETFlaggor implementerade via popt-alias/exec:STRÄNGVisa denna hjälptextAvsluta flaggorAnvändning:VÄRDE[FLAGGA...]alias är nästade för djuptfel i parameterciteringogiltigt numeriskt värdeminnesallokering misslyckadesargument saknasömsesidigt uteslutande logiska operationer begärdestalet för stort eller för litetopt->arg får inte vara NULLflaggtypen (%u) är inte implementerad i popt okänt felnummerokänt felokänd flaggapopt-1.16/po/nb.gmo0000664000076400007640000000332011365302075011077 00000000000000Þ•ä%¬@AEL"h‹‘•šŸ¦½Ä ÈÔî 8/Iy— ³ ÁÏTÞ37>Tr{ƒˆŽ•®´ ºÅáú(4;p ª · à   ARGDOUBLEDisplay brief usage messageDisplay option defaults in messageFLOATINTLONGNONESTRINGShow this help messageUsage:VAL[OPTION...]aliases nested too deeplyerror in parameter quotinginvalid numeric valuememory allocation failedmissing argumentmutually exclusive logical operations requestednumber too large or too smallopt->arg should not be NULLunknown errnounknown errorunknown optionProject-Id-Version: popt 1.11 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2001-06-27 11:05+0200 Last-Translator: Kjartan Maraas Language-Team: Norwegian MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8-bit ARGDOUBLEVis kort bruksmeldingVis forvalgte flagg i meldingFLYTTALLHELTALLLONGINGENSTRENGVis denne hjelpmeldingenBruk:VERDI[FLAGG...]aliaser med for dype løkkerfeil i parametersiteringugyldig numerisk verdiminneallokering feiletmanglende argumentgjensidig eksluderende logiske operasjoner forespurttallet er for stort eller liteopt->arg må ikke være NULLukjent errnoukjent feilukjent flaggpopt-1.16/po/pt.gmo0000664000076400007640000000343011365302075011125 00000000000000Þ•ä%¬@AEL"h‹‘•šŸ¦½Ä ÈÔî 8/Iy— ³ ÁÏLÞ+/*60a’˜œ¡¦­ ÌØ Üç &>Y5l"¢Åàó   ARGDOUBLEDisplay brief usage messageDisplay option defaults in messageFLOATINTLONGNONESTRINGShow this help messageUsage:VAL[OPTION...]aliases nested too deeplyerror in parameter quotinginvalid numeric valuememory allocation failedmissing argumentmutually exclusive logical operations requestednumber too large or too smallopt->arg should not be NULLunknown errnounknown errorunknown optionProject-Id-Version: popt 1.11 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2002-02-13 18:32+0000 Last-Translator: Pedro Morais Language-Team: pt MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit ARGDOUBLEMostrar uma mensagem de utilização sucintaMostrar valor por omissão das opções na mensagemFLOATINTLONGNONESTRINGMostrar esta mensagem de ajudaUtilização:VAL[OPÇÃO...]'aliases' demasiado aninhadoserros no 'quoting' de parâmetrosvalor númerico inválidoalocação de memória falhoufalta um argumentoforam pedidas operações lógicas mutuamente exclusivasnúmero demasiado grando ou pequenoopt->arg não deve ser NULLerrno desconhecidoerro desconhecidoopção desconhecidapopt-1.16/po/lv.po0000664000076400007640000000614311370066444010766 00000000000000# translation of popt-1.14.pot to Latvian # Copyright © 2009 Free Software Foundation, Inc. # This file is distributed under the same license as the popt package. # This file is put in the public domain. # # Rihards Prieditis , 2009. msgid "" msgstr "" "Project-Id-Version: popt-1.14\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2009-04-12 16:34+0300\n" "Last-Translator: Rihards Prieditis \n" "Language-Team: Latvian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 0.3\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " "2);\n" #: popt.c:47 msgid "unknown errno" msgstr "nezinÄms kļūdas numurs" #: popt.c:1290 #, c-format msgid "option type (%u) not implemented in popt\n" msgstr "iespÄ“jas tips (%u) nav ieviests popt\n" #: popt.c:1711 msgid "missing argument" msgstr "trÅ«kst arguments" #: popt.c:1713 msgid "unknown option" msgstr "nezinÄma iespÄ“ja" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "pieprasÄ«tas savstarpÄ“jie izslÄ“dzoÅ¡as loÄ£iskÄs operÄcijas" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "opcija->arguments nevar bÅ«t NULL" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "aizstÄjvÄrdi iegulti pÄrÄk dziļi" #: popt.c:1721 msgid "error in parameter quoting" msgstr "kļuda parametru citēšanÄ" #: popt.c:1723 msgid "invalid numeric value" msgstr "nederÄ«ga skaitļa vÄ“rtÄ«ba" #: popt.c:1725 msgid "number too large or too small" msgstr "skaitlis pÄrÄk liels, vai pÄrÄk mazs" #: popt.c:1727 msgid "memory allocation failed" msgstr "atmiņas iedalīšana neizdevÄs" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "nezinÄma kļūda" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "RÄdÄ«t Å¡o palÄ«dzÄ«bas ziņu" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "AttÄ“lot Ä«su izmantoÅ¡anas ziņu" #: popthelp.c:90 msgid "Display option defaults in message" msgstr "AttÄ“lot noklusÄ“tÄs iespÄ“jas ziņÄ" #: popthelp.c:92 msgid "Terminate options" msgstr "PÄrtraukt iespÄ“jas" #: popthelp.c:191 msgid "Help options:" msgstr "PalÄ«dzÄ«bas iespÄ“jas:" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "IespÄ“jas ieviestas caur popt aizstÄjvÄrda/izpildÄmais:" #: popthelp.c:200 msgid "NONE" msgstr "NEKAS" #: popthelp.c:202 msgid "VAL" msgstr "VÄ’RTĪBA" #: popthelp.c:206 msgid "INT" msgstr "INT" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "LONG" #: popthelp.c:209 msgid "LONGLONG" msgstr "LONGLONG" #: popthelp.c:210 msgid "STRING" msgstr "VIRKNE" #: popthelp.c:211 msgid "FLOAT" msgstr "FLOAT" #: popthelp.c:212 msgid "DOUBLE" msgstr "DOUBLE" #: popthelp.c:215 msgid "ARG" msgstr "ARGUMENTS" #: popthelp.c:649 msgid "Usage:" msgstr "LietoÅ¡ana:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[IESPÄ’JAS..]" popt-1.16/po/ru.po0000664000076400007640000000707511337043365011000 00000000000000# translation of popt-1.14.ru.po to Russian # This file is put in the public domain. # This file is distributed under the same license as the popt package. # Eugene Kanter , 2001. # Yuri Kozlov , 2009. msgid "" msgstr "" "Project-Id-Version: popt 1.14\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2009-02-01 13:30+0300\n" "Last-Translator: Yuri Kozlov \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: popt.c:47 msgid "unknown errno" msgstr "неизвеÑтный errno" #: popt.c:1290 #, c-format msgid "option type (%u) not implemented in popt\n" msgstr "обработка параметра (%u) в popt не предуÑмотрена\n" #: popt.c:1711 msgid "missing argument" msgstr "пропущен аргумент" #: popt.c:1713 msgid "unknown option" msgstr "неизвеÑтный параметр" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "запрошены взаимно иÑключающие логичеÑкие операции" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "opt->arg не может быть NULL" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "превышен уровень допуÑтимой рекурÑии подÑтановок" #: popt.c:1721 msgid "error in parameter quoting" msgstr "ошибка Ð¿Ð¾Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð² в кавычки" #: popt.c:1723 msgid "invalid numeric value" msgstr "неправильное чиÑловое значение" #: popt.c:1725 msgid "number too large or too small" msgstr "чиÑловое значение за пределами предуÑмотренного" #: popt.c:1727 msgid "memory allocation failed" msgstr "не удалоÑÑŒ выделить памÑть" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "неизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "Показать Ñту Ñправку" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "Показать краткую инÑтрукцию по иÑпользованию" #: popthelp.c:90 msgid "Display option defaults in message" msgstr "Показать параметры по умолчанию" #: popthelp.c:92 msgid "Terminate options" msgstr "Завершает параметры" #: popthelp.c:191 msgid "Help options:" msgstr "Параметры вывода Ñправки:" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "Параметры, реализованные через popt alias/exec:" #: popthelp.c:200 msgid "NONE" msgstr "NONE" #: popthelp.c:202 msgid "VAL" msgstr "VAL" #: popthelp.c:206 msgid "INT" msgstr "INT" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "LONG" #: popthelp.c:209 msgid "LONGLONG" msgstr "LONGLONG" #: popthelp.c:210 msgid "STRING" msgstr "STRING" #: popthelp.c:211 msgid "FLOAT" msgstr "FLOAT" #: popthelp.c:212 msgid "DOUBLE" msgstr "DOUBLE" #: popthelp.c:215 msgid "ARG" msgstr "ARG" #: popthelp.c:649 msgid "Usage:" msgstr "ИÑпользование:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[ПÐРÐМЕТР...]" popt-1.16/po/en@boldquot.header0000644000076400007640000000247111370104724013423 00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # # This catalog furthermore displays the text between the quotation marks in # bold face, assuming the VT100/XTerm escape sequences. # popt-1.16/po/ga.gmo0000664000076400007640000000433311365302075011074 00000000000000Þ• )ü ¡¥¬"Èë ñÿ(?F]ov z† »Ñê/û+I)e  «gº"&'-CU™Ÿ³·¼Å5Î &7@ F QAr´Òñ.5%R/x¨¸Ë    ARGDOUBLEDisplay brief usage messageDisplay option defaults in messageFLOATHelp options:INTLONGLONGLONGNONEOptions implemented via popt alias/exec:STRINGShow this help messageTerminate optionsUsage:VAL[OPTION...]aliases nested too deeplyerror in parameter quotinginvalid numeric valuememory allocation failedmissing argumentmutually exclusive logical operations requestednumber too large or too smallopt->arg should not be NULLoption type (%u) not implemented in popt unknown errnounknown errorunknown optionProject-Id-Version: popt 1.14 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2008-04-10 06:21-0500 Last-Translator: Kevin Scannell Language-Team: Irish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ARGDOUBLETaispeáin beagán eolais faoin úsáidTaispeáin luachanna réamhshocraithe na roghanna sa teachtaireachtFLOATRoghanna cabhracha:INTLONGLONGLONGNEAMHNÃRoghanna a cuireadh i bhfeidhm trí ailias/exec popt:STRINGTaispeáin an chabhair seoRoghanna scorthaÚsáid:LUACH[ROGHA...]ailiasanna neadaithe ródhomhainearráid agus paraiméadar á chur faoi chomharthaí athfhriotailluach neamhbhailí uimhriúiltheip ar dháileadh na cuimhneargóint ar iarraidhiarradh oibríochtaí loighciúla comheisiachauimhir rómhór nó róbheagníor chóir rogha->arg a bheith NULLníl an cineál rogha seo (%u) ar fáil i popt errno anaithnidearráid anaithnidrogha anaithnidpopt-1.16/po/vi.gmo0000664000076400007640000000471311365302075011125 00000000000000Þ• )ü ¡¥¬"Èë ñÿ(?F]ov z† »Ñê/û+I)e  «ªº eq4wQ¬þ */ 8CC‡#³ Ì Ùä#õ.)HrC£"ç: @E † £ ´     ARGDOUBLEDisplay brief usage messageDisplay option defaults in messageFLOATHelp options:INTLONGLONGLONGNONEOptions implemented via popt alias/exec:STRINGShow this help messageTerminate optionsUsage:VAL[OPTION...]aliases nested too deeplyerror in parameter quotinginvalid numeric valuememory allocation failedmissing argumentmutually exclusive logical operations requestednumber too large or too smallopt->arg should not be NULLoption type (%u) not implemented in popt unknown errnounknown errorunknown optionProject-Id-Version: popt 1.14 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2008-02-18 16:20+1030 Last-Translator: Clytie Siddall Language-Team: Vietnamese MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: LocFactoryEditor 1.7b3 Äá»I Sá»ÄÔIHiển thị thông Ä‘iệp cách sá»­ dụng ngắnHiển thị các giá trị mặc định cá»§a tùy chá»n trong thông Ä‘iệpNá»”ITùy chá»n trợ giúp:Sá» NGUYÊNDÀIDÀIDÀIKHÔNG CÓCác tùy chá»n được thá»±c hiện thông qua popt alias/exec:CHUá»–IXem thông Ä‘iệp trợ giúp nàyTùy chá»n chấm dứtSá»­ dụng:GIà TRỊ[TÙY_CHỌN...]các bí danh lồng nhau quá sâugặp lá»—i trong lá»i trích dẫn tham sốgiá trị thuá»™c số không hợp lệlá»—i cấp phát bá»™ nhá»›thiếu đối sốcác thao tác hợp lý loại từ lẫn nhau được yêu cầucon số quá lá»›n hay quá nhá»Â« tùy chá»n->đối số » không thể vô giá trịkiểu tùy chá»n (%u) chưa được thá»±c hiện trong popt số hiệu lá»—i không rõlá»—i không rõtùy chá»n không rõpopt-1.16/po/sk.po0000664000076400007640000000443711337043365010766 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Free Software Foundation, Inc. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: popt 1.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 1999-08-04 21:40+0200\n" "Last-Translator: Stanislav Meduna \n" "Language-Team: Slovak \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-2\n" "Content-Transfer-Encoding: 8bit\n" #: popt.c:47 msgid "unknown errno" msgstr "" #: popt.c:1290 #, c-format msgid "option type (%u) not implemented in popt\n" msgstr "" #: popt.c:1711 msgid "missing argument" msgstr "" #: popt.c:1713 msgid "unknown option" msgstr "" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "" #: popt.c:1721 msgid "error in parameter quoting" msgstr "" #: popt.c:1723 msgid "invalid numeric value" msgstr "" #: popt.c:1725 msgid "number too large or too small" msgstr "" #: popt.c:1727 msgid "memory allocation failed" msgstr "" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "Vypísa» túto správu" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "Zobrazi» struèný návod na pou¾itie" #: popthelp.c:90 #, fuzzy msgid "Display option defaults in message" msgstr "Zobrazi» struèný návod na pou¾itie" #: popthelp.c:92 msgid "Terminate options" msgstr "" #: popthelp.c:191 msgid "Help options:" msgstr "" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "" #: popthelp.c:200 msgid "NONE" msgstr "" #: popthelp.c:202 msgid "VAL" msgstr "" #: popthelp.c:206 msgid "INT" msgstr "" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "" #: popthelp.c:209 msgid "LONGLONG" msgstr "" #: popthelp.c:210 msgid "STRING" msgstr "" #: popthelp.c:211 msgid "FLOAT" msgstr "" #: popthelp.c:212 msgid "DOUBLE" msgstr "" #: popthelp.c:215 msgid "ARG" msgstr "" #: popthelp.c:649 msgid "Usage:" msgstr "" #: popthelp.c:672 msgid "[OPTION...]" msgstr "" popt-1.16/po/sl.po0000664000076400007640000000425511337043365010765 00000000000000msgid "" msgstr "" "Project-Id-Version: popt 1.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2000-09-05 12:30+0200\n" "Last-Translator: Roman Maurer \n" "Language-Team: Slovenian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-2\n" "Content-Transfer-Encoding: 8bit\n" #: popt.c:47 msgid "unknown errno" msgstr "" #: popt.c:1290 #, c-format msgid "option type (%u) not implemented in popt\n" msgstr "" #: popt.c:1711 msgid "missing argument" msgstr "" #: popt.c:1713 msgid "unknown option" msgstr "" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "" #: popt.c:1721 msgid "error in parameter quoting" msgstr "" #: popt.c:1723 msgid "invalid numeric value" msgstr "" #: popt.c:1725 msgid "number too large or too small" msgstr "" #: popt.c:1727 msgid "memory allocation failed" msgstr "" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "Prika¾i to sporoèilo s pomoèjo" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "Prika¾i kratko sporoèilo o uporabi" #: popthelp.c:90 #, fuzzy msgid "Display option defaults in message" msgstr "Prika¾i kratko sporoèilo o uporabi" #: popthelp.c:92 msgid "Terminate options" msgstr "" #: popthelp.c:191 msgid "Help options:" msgstr "" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "" #: popthelp.c:200 msgid "NONE" msgstr "" #: popthelp.c:202 msgid "VAL" msgstr "" #: popthelp.c:206 msgid "INT" msgstr "" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "" #: popthelp.c:209 msgid "LONGLONG" msgstr "" #: popthelp.c:210 msgid "STRING" msgstr "" #: popthelp.c:211 msgid "FLOAT" msgstr "" #: popthelp.c:212 msgid "DOUBLE" msgstr "" #: popthelp.c:215 msgid "ARG" msgstr "" #: popthelp.c:649 msgid "Usage:" msgstr "" #: popthelp.c:672 msgid "[OPTION...]" msgstr "" popt-1.16/po/Makefile.in.in0000644000076400007640000003552411370104723012453 00000000000000# Makefile for PO directory in any package using GNU gettext. # Copyright (C) 1995-1997, 2000-2007 by Ulrich Drepper # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU General Public # License but which still want to provide support for the GNU gettext # functionality. # Please note that the actual code of GNU gettext is covered by the GNU # General Public License and is *not* in the public domain. # # Origin: gettext-0.17 GETTEXT_MACRO_VERSION = 0.17 PACKAGE = @PACKAGE@ VERSION = @VERSION@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ SHELL = /bin/sh @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datarootdir = @datarootdir@ datadir = @datadir@ localedir = @localedir@ gettextsrcdir = $(datadir)/gettext/po INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ # We use $(mkdir_p). # In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as # "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, # @install_sh@ does not start with $(SHELL), so we add it. # In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined # either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake # versions, $(mkinstalldirs) and $(install_sh) are unused. mkinstalldirs = $(SHELL) @install_sh@ -d install_sh = $(SHELL) @install_sh@ MKDIR_P = @MKDIR_P@ mkdir_p = @mkdir_p@ GMSGFMT_ = @GMSGFMT@ GMSGFMT_no = @GMSGFMT@ GMSGFMT_yes = @GMSGFMT_015@ GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) MSGFMT_ = @MSGFMT@ MSGFMT_no = @MSGFMT@ MSGFMT_yes = @MSGFMT_015@ MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) XGETTEXT_ = @XGETTEXT@ XGETTEXT_no = @XGETTEXT@ XGETTEXT_yes = @XGETTEXT_015@ XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) MSGMERGE = msgmerge MSGMERGE_UPDATE = @MSGMERGE@ --update MSGINIT = msginit MSGCONV = msgconv MSGFILTER = msgfilter POFILES = @POFILES@ GMOFILES = @GMOFILES@ UPDATEPOFILES = @UPDATEPOFILES@ DUMMYPOFILES = @DUMMYPOFILES@ DISTFILES.common = Makefile.in.in remove-potcdate.sin \ $(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ $(POFILES) $(GMOFILES) \ $(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) POTFILES = \ CATALOGS = @CATALOGS@ # Makevars gets inserted here. (Don't remove this line!) .SUFFIXES: .SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update .po.mo: @echo "$(MSGFMT) -c -o $@ $<"; \ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ .po.gmo: @lang=`echo $* | sed -e 's,.*/,,'`; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo .sin.sed: sed -e '/^#/d' $< > t-$@ mv t-$@ $@ all: check-macro-version all-@USE_NLS@ all-yes: stamp-po all-no: # Ensure that the gettext macros and this Makefile.in.in are in sync. check-macro-version: @test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ exit 1; \ } # $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no # internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because # we don't want to bother translators with empty POT files). We assume that # LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. # In this case, stamp-po is a nop (i.e. a phony target). # stamp-po is a timestamp denoting the last time at which the CATALOGS have # been loosely updated. Its purpose is that when a developer or translator # checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, # "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent # invocations of "make" will do nothing. This timestamp would not be necessary # if updating the $(CATALOGS) would always touch them; however, the rule for # $(POFILES) has been designed to not touch files that don't need to be # changed. stamp-po: $(srcdir)/$(DOMAIN).pot test ! -f $(srcdir)/$(DOMAIN).pot || \ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) @test ! -f $(srcdir)/$(DOMAIN).pot || { \ echo "touch stamp-po" && \ echo timestamp > stamp-poT && \ mv stamp-poT stamp-po; \ } # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', # otherwise packages like GCC can not be built if only parts of the source # have been downloaded. # This target rebuilds $(DOMAIN).pot; it is an expensive operation. # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ package_gnu='GNU '; \ else \ package_gnu=''; \ fi; \ if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ else \ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ fi; \ case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --msgid-bugs-address="$$msgid_bugs_address" \ ;; \ *) \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --package-name="$${package_gnu}@PACKAGE@" \ --package-version='@VERSION@' \ --msgid-bugs-address="$$msgid_bugs_address" \ ;; \ esac test ! -f $(DOMAIN).po || { \ if test -f $(srcdir)/$(DOMAIN).pot; then \ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ else \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ else \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ } # This rule has no dependencies: we don't need to update $(DOMAIN).pot at # every "make" invocation, only create it when it is missing. # Only "make $(DOMAIN).pot-update" or "make dist" will force an update. $(srcdir)/$(DOMAIN).pot: $(MAKE) $(DOMAIN).pot-update # This target rebuilds a PO file if $(DOMAIN).pot has changed. # Note that a PO file is not touched if it doesn't need to be changed. $(POFILES): $(srcdir)/$(DOMAIN).pot @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ if test -f "$(srcdir)/$${lang}.po"; then \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \ cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \ else \ $(MAKE) $${lang}.po-create; \ fi install: install-exec install-data install-exec: install-data: install-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ for file in $(DISTFILES.common) Makevars.template; do \ $(INSTALL_DATA) $(srcdir)/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ for file in Makevars; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi install-data-no: all install-data-yes: all $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ fi; \ done; \ done install-strip: install installdirs: installdirs-exec installdirs-data installdirs-exec: installdirs-data: installdirs-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ fi installdirs-data-no: installdirs-data-yes: $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ fi; \ done; \ done # Define this as empty until I found a useful application. installcheck: uninstall: uninstall-exec uninstall-data uninstall-exec: uninstall-data: uninstall-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ for file in $(DISTFILES.common) Makevars.template; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi uninstall-data-no: uninstall-data-yes: catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ done; \ done check: all info dvi ps pdf html tags TAGS ctags CTAGS ID: mostlyclean: rm -f remove-potcdate.sed rm -f stamp-poT rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po rm -fr *.o clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES *.mo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f stamp-po $(GMOFILES) distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(MAKE) update-po @$(MAKE) dist2 # This is a separate target because 'update-po' must be executed before. dist2: stamp-po $(DISTFILES) dists="$(DISTFILES)"; \ if test "$(PACKAGE)" = "gettext-tools"; then \ dists="$$dists Makevars.template"; \ fi; \ if test -f $(srcdir)/$(DOMAIN).pot; then \ dists="$$dists $(DOMAIN).pot stamp-po"; \ fi; \ if test -f $(srcdir)/ChangeLog; then \ dists="$$dists ChangeLog"; \ fi; \ for i in 0 1 2 3 4 5 6 7 8 9; do \ if test -f $(srcdir)/ChangeLog.$$i; then \ dists="$$dists ChangeLog.$$i"; \ fi; \ done; \ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ for file in $$dists; do \ if test -f $$file; then \ cp -p $$file $(distdir) || exit 1; \ else \ cp -p $(srcdir)/$$file $(distdir) || exit 1; \ fi; \ done update-po: Makefile $(MAKE) $(DOMAIN).pot-update test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) $(MAKE) update-gmo # General rule for creating PO files. .nop.po-create: @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ exit 1 # General rule for updating PO files. .nop.po-update: @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ cd $(srcdir); \ if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi $(DUMMYPOFILES): update-gmo: Makefile $(GMOFILES) @: Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ cd $(top_builddir) \ && $(SHELL) ./config.status $(subdir)/$@.in po-directories force: # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: popt-1.16/po/POTFILES.in0000664000076400007640000000022110774742101011547 00000000000000# List of files which contain translatable strings. # Package source files popt.c popt.h poptconfig.c popthelp.c poptint.c poptparse.c test1.c popt-1.16/po/ja.po0000664000076400007640000000570511337043365010742 00000000000000# rpm ja.po # Copyright (C) 2003 Free Software Foundation, Inc. # Yukihiro Nakai , 2003 # msgid "" msgstr "" "Project-Id-Version: popt 1.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2003--8-25 19:00+0900\n" "Last-Translator: Yukihiro Nakai \n" "Language-Team: Japanese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: popt.c:47 msgid "unknown errno" msgstr "䏿˜Žãªã‚¨ãƒ©ãƒ¼ç•ªå·" #: popt.c:1290 #, fuzzy, c-format msgid "option type (%u) not implemented in popt\n" msgstr "オプションタイプ (%d) ã¯poptã«ã¯å®Ÿè£…ã•れã¦ã„ã¾ã›ã‚“\n" #: popt.c:1711 msgid "missing argument" msgstr "引数ãŒã‚りã¾ã›ã‚“" #: popt.c:1713 msgid "unknown option" msgstr "䏿˜Žãªã‚ªãƒ—ション" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "æŽ’ä»–çš„ãªæ‚ªãºãƒ¼ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ãŒå¿…è¦ã§ã™" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "opt->argã¯NULLã§ã¯ã„ã‘ã¾ã›ã‚“" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "エイリアスã®ãƒã‚¹ãƒˆãŒæ·±ã™ãŽã¾ã™" #: popt.c:1721 msgid "error in parameter quoting" msgstr "パラメータã®ã‚¯ã‚ªãƒ¼ãƒˆä»˜ã‘ã§ã‚¨ãƒ©ãƒ¼" #: popt.c:1723 msgid "invalid numeric value" msgstr "䏿­£ãªæ•°å€¤" #: popt.c:1725 msgid "number too large or too small" msgstr "数値ãŒå¤§ãã™ãŽã‚‹ã‹å°ã•ã™ãŽã¾ã™" #: popt.c:1727 msgid "memory allocation failed" msgstr "メモリ確ä¿ã«å¤±æ•—ã—ã¾ã—ãŸ" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "䏿˜Žãªã‚¨ãƒ©ãƒ¼" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "ã“ã®ãƒ˜ãƒ«ãƒ—メッセージを表示ã—ã¾ã™" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "ä½¿ã„æ–¹ã®æ¦‚è¦ã‚’表示ã—ã¾ã™" #: popthelp.c:90 msgid "Display option defaults in message" msgstr "オプションã®ãƒ‡ãƒ•ォルト値をメッセージã«è¡¨ç¤ºã—ã¾ã™" #: popthelp.c:92 #, fuzzy msgid "Terminate options" msgstr "ヘルプオプション:" #: popthelp.c:191 msgid "Help options:" msgstr "ヘルプオプション:" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "poptã®alias/execã§å®Ÿè£…ã•れã¦ã„るオプション:" #: popthelp.c:200 msgid "NONE" msgstr "ãªã—" #: popthelp.c:202 msgid "VAL" msgstr "値" #: popthelp.c:206 msgid "INT" msgstr "INT" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "LONG" #: popthelp.c:209 #, fuzzy msgid "LONGLONG" msgstr "LONG" #: popthelp.c:210 msgid "STRING" msgstr "文字列" #: popthelp.c:211 msgid "FLOAT" msgstr "FLOAT" #: popthelp.c:212 msgid "DOUBLE" msgstr "DOUBLE" #: popthelp.c:215 msgid "ARG" msgstr "ARG" #: popthelp.c:649 msgid "Usage:" msgstr "ä½¿ã„æ–¹:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[オプション...]" popt-1.16/po/ru.gmo0000664000076400007640000000544511365302075011140 00000000000000Þ• )ü ¡¥¬"Èë ñÿ(?F]ov z† »Ñê/û+I)e  «Ûº–šT¡;ö2/8hlqzJÊ&Ñ%ø:>\TF±:ø13 !e ^‡ Zæ &A Sh ¼ #Ù 'ý     ARGDOUBLEDisplay brief usage messageDisplay option defaults in messageFLOATHelp options:INTLONGLONGLONGNONEOptions implemented via popt alias/exec:STRINGShow this help messageTerminate optionsUsage:VAL[OPTION...]aliases nested too deeplyerror in parameter quotinginvalid numeric valuememory allocation failedmissing argumentmutually exclusive logical operations requestednumber too large or too smallopt->arg should not be NULLoption type (%u) not implemented in popt unknown errnounknown errorunknown optionProject-Id-Version: popt 1.14 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2009-02-01 13:30+0300 Last-Translator: Yuri Kozlov Language-Team: Russian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Generator: KBabel 1.11.4 Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); ARGDOUBLEПоказать краткую инÑтрукцию по иÑпользованиюПоказать параметры по умолчаниюFLOATПараметры вывода Ñправки:INTLONGLONGLONGNONEПараметры, реализованные через popt alias/exec:STRINGПоказать Ñту ÑправкуЗавершает параметрыИÑпользование:VAL[ПÐРÐМЕТР...]превышен уровень допуÑтимой рекурÑии подÑтановокошибка Ð¿Ð¾Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð² в кавычкинеправильное чиÑловое значениене удалоÑÑŒ выделить памÑтьпропущен аргументзапрошены взаимно иÑключающие логичеÑкие операциичиÑловое значение за пределами предуÑмотренногоopt->arg не может быть NULLобработка параметра (%u) в popt не предуÑмотрена неизвеÑтный errnoнеизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°Ð½ÐµÐ¸Ð·Ð²ÐµÑтный параметрpopt-1.16/po/stamp-po0000664000076400007640000000001211365302075011452 00000000000000timestamp popt-1.16/po/sv.po0000664000076400007640000000551511337043365010777 00000000000000# Swedish messages for popt. # Copyright © 2008 Free Software Foundation, Inc. # This file is distributed under the same license as the popt package. # Göran Uddeborg , 2008. # # $Revision: 1.4 $ # msgid "" msgstr "" "Project-Id-Version: popt 1.14\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2008-02-23 20:15+0100\n" "Last-Translator: Göran Uddeborg \n" "Language-Team: Swedish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: popt.c:47 msgid "unknown errno" msgstr "okänt felnummer" #: popt.c:1290 #, c-format msgid "option type (%u) not implemented in popt\n" msgstr "flaggtypen (%u) är inte implementerad i popt\n" #: popt.c:1711 msgid "missing argument" msgstr "argument saknas" #: popt.c:1713 msgid "unknown option" msgstr "okänd flagga" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "ömsesidigt uteslutande logiska operationer begärdes" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "opt->arg får inte vara NULL" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "alias är nästade för djupt" #: popt.c:1721 msgid "error in parameter quoting" msgstr "fel i parametercitering" #: popt.c:1723 msgid "invalid numeric value" msgstr "ogiltigt numeriskt värde" #: popt.c:1725 msgid "number too large or too small" msgstr "talet för stort eller för litet" #: popt.c:1727 msgid "memory allocation failed" msgstr "minnesallokering misslyckades" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "okänt fel" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "Visa denna hjälptext" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "Visa en kortfattad användningstext" #: popthelp.c:90 msgid "Display option defaults in message" msgstr "Visa standardalternativ för flaggor i meddelande" #: popthelp.c:92 msgid "Terminate options" msgstr "Avsluta flaggor" #: popthelp.c:191 msgid "Help options:" msgstr "Hjälpflaggor:" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "Flaggor implementerade via popt-alias/exec:" #: popthelp.c:200 msgid "NONE" msgstr "INGET" #: popthelp.c:202 msgid "VAL" msgstr "VÄRDE" #: popthelp.c:206 msgid "INT" msgstr "HELTAL" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "LÅNG" #: popthelp.c:209 msgid "LONGLONG" msgstr "LÅNGLÅNG" #: popthelp.c:210 msgid "STRING" msgstr "STRÄNG" #: popthelp.c:211 msgid "FLOAT" msgstr "FLYTTAL" #: popthelp.c:212 msgid "DOUBLE" msgstr "DUBBEL" #: popthelp.c:215 msgid "ARG" msgstr "ARG" #: popthelp.c:649 msgid "Usage:" msgstr "Användning:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[FLAGGA...]" popt-1.16/po/hu.po0000664000076400007640000000575311337043365010767 00000000000000# Hungarian translation of popt # Copyright (C) 2007 Free Software Foundation, Inc. # Gabor Kelemen , 2007. msgid "" msgstr "" "Project-Id-Version: popt 1.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2007-06-21 00:45+0200\n" "Last-Translator: Gabor Kelemen \n" "Language-Team: Hungarian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: popt.c:47 msgid "unknown errno" msgstr "ismeretlen hibaszám" #: popt.c:1290 #, fuzzy, c-format msgid "option type (%u) not implemented in popt\n" msgstr "a kapcsolótípus (%d) nincs megvalósítva a popt-ban\n" #: popt.c:1711 msgid "missing argument" msgstr "hiányzó paraméter" #: popt.c:1713 msgid "unknown option" msgstr "ismeretlen kapcsoló" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "kölcsönösen kizáró logikai műveleteket kért" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "az opt->arg nem lehet NULL" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "az álnevek túl mélyen vannak egymásba ágyazva" #: popt.c:1721 msgid "error in parameter quoting" msgstr "hiba a paraméter idézésében" #: popt.c:1723 msgid "invalid numeric value" msgstr "érvénytelen numerikus érték" #: popt.c:1725 msgid "number too large or too small" msgstr "a szám túl nagy vagy túl kicsi" #: popt.c:1727 msgid "memory allocation failed" msgstr "a memóriafoglalás meghiúsult" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "ismeretlen hiba" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "Ezen súgó megjelenítése" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "Rövid használati utasítás megjelenítése" #: popthelp.c:90 msgid "Display option defaults in message" msgstr "Kapcsolók alapértelmezéseinek megjelenítése" #: popthelp.c:92 #, fuzzy msgid "Terminate options" msgstr "SúgólehetÅ‘ségek:" #: popthelp.c:191 msgid "Help options:" msgstr "SúgólehetÅ‘ségek:" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "A popt alias/exec segítségével megvalósított kapcsolók:" #: popthelp.c:200 msgid "NONE" msgstr "NINCS" #: popthelp.c:202 msgid "VAL" msgstr "ÉRTÉK" #: popthelp.c:206 msgid "INT" msgstr "EGÉSZ" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "HOSSZÚ" #: popthelp.c:209 #, fuzzy msgid "LONGLONG" msgstr "HOSSZÚ" #: popthelp.c:210 msgid "STRING" msgstr "SZÖVEG" #: popthelp.c:211 msgid "FLOAT" msgstr "LEBEGÅ" #: popthelp.c:212 msgid "DOUBLE" msgstr "DUPLA" #: popthelp.c:215 msgid "ARG" msgstr "PAR" #: popthelp.c:649 msgid "Usage:" msgstr "Használat:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[KAPCSOLÓ...]" popt-1.16/po/tr.gmo0000664000076400007640000000300511365302075011125 00000000000000Þ•Ì|ðñõü"',3JQ Ua{–¬/½í  ']6”˜ ŸÀÆÊÏÓÚ ÷ (1Z q-!­Ïâò    ARGDOUBLEDisplay brief usage messageFLOATINTLONGNONESTRINGShow this help messageUsage:VAL[OPTION...]aliases nested too deeplyerror in parameter quotinginvalid numeric valuemissing argumentmutually exclusive logical operations requestednumber too large or too smallunknown errnounknown errorunknown optionProject-Id-Version: popt 1.11 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2000-02-11 13:01+0200 Last-Translator: Nilgun Belma Buguner Language-Team: Turkish MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-9 Content-Transfer-Encoding: 8bit ARGDOUBLEKýsa bir kullaným iletisi gösterFLOATINTLONGYOKSTRINGBu yardým iletisini gösterirKullanýmý:DEÐ[SEÇENEK...]adlarda çok fazla içiçeliklerparametrelerde týrnak iþaretleme hatalý sayýsal deðer geçersizargüman eksikbirbirini dýþlayan mantýksal iþlemler istendisayý ya çok büyük ya da çok küçükbilinmeyen hata nobilinmeyen hatabilinmeyen seçenekpopt-1.16/po/en@quot.header0000644000076400007640000000226311370104724012561 00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # popt-1.16/po/ga.po0000664000076400007640000000560211337043365010733 00000000000000# Irish translations for popt. # This file is put in the public domain. # Kevin Scannell , 2007. # msgid "" msgstr "" "Project-Id-Version: popt 1.14\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2008-04-10 06:21-0500\n" "Last-Translator: Kevin Scannell \n" "Language-Team: Irish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: popt.c:47 msgid "unknown errno" msgstr "errno anaithnid" #: popt.c:1290 #, c-format msgid "option type (%u) not implemented in popt\n" msgstr "níl an cineál rogha seo (%u) ar fáil i popt\n" #: popt.c:1711 msgid "missing argument" msgstr "argóint ar iarraidh" #: popt.c:1713 msgid "unknown option" msgstr "rogha anaithnid" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "iarradh oibríochtaí loighciúla comheisiacha" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "níor chóir rogha->arg a bheith NULL" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "ailiasanna neadaithe ródhomhain" #: popt.c:1721 msgid "error in parameter quoting" msgstr "earráid agus paraiméadar á chur faoi chomharthaí athfhriotail" #: popt.c:1723 msgid "invalid numeric value" msgstr "luach neamhbhailí uimhriúil" #: popt.c:1725 msgid "number too large or too small" msgstr "uimhir rómhór nó róbheag" #: popt.c:1727 msgid "memory allocation failed" msgstr "theip ar dháileadh na cuimhne" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "earráid anaithnid" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "Taispeáin an chabhair seo" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "Taispeáin beagán eolais faoin úsáid" #: popthelp.c:90 msgid "Display option defaults in message" msgstr "Taispeáin luachanna réamhshocraithe na roghanna sa teachtaireacht" # Terminate not a verb here #: popthelp.c:92 msgid "Terminate options" msgstr "Roghanna scortha" #: popthelp.c:191 msgid "Help options:" msgstr "Roghanna cabhracha:" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "Roghanna a cuireadh i bhfeidhm trí ailias/exec popt:" #: popthelp.c:200 msgid "NONE" msgstr "NEAMHNÃ" #: popthelp.c:202 msgid "VAL" msgstr "LUACH" #: popthelp.c:206 msgid "INT" msgstr "INT" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "LONG" #: popthelp.c:209 msgid "LONGLONG" msgstr "LONGLONG" #: popthelp.c:210 msgid "STRING" msgstr "STRING" #: popthelp.c:211 msgid "FLOAT" msgstr "FLOAT" #: popthelp.c:212 msgid "DOUBLE" msgstr "DOUBLE" #: popthelp.c:215 msgid "ARG" msgstr "ARG" #: popthelp.c:649 msgid "Usage:" msgstr "Úsáid:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[ROGHA...]" popt-1.16/po/insert-header.sin0000644000076400007640000000124011370104724013233 00000000000000# Sed script that inserts the file called HEADER before the header entry. # # At each occurrence of a line starting with "msgid ", we execute the following # commands. At the first occurrence, insert the file. At the following # occurrences, do nothing. The distinction between the first and the following # occurrences is achieved by looking at the hold space. /^msgid /{ x # Test if the hold space is empty. s/m/m/ ta # Yes it was empty. First occurrence. Read the file. r HEADER # Output the file's contents by reading the next line. But don't lose the # current line while doing this. g N bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } popt-1.16/po/wa.po0000664000076400007640000000475311337043366010762 00000000000000# Translation into the walloon language. # # Si vos voloz donner on côp di spale pol ratoûrnaedje di Gnome (ou des # ôtes libes programes) sicrijhoz-mu a l' adresse emile # ; nos avons co bråmint di l' ovraedje a fé. # # Copyright (C) 1999 Free Software Foundation, Inc. # msgid "" msgstr "" "Project-Id-Version: popt 1.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 1999-03-18 23:11+0100\n" "Last-Translator: Nobody yet\n" "Language-Team: walon \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" #: popt.c:47 msgid "unknown errno" msgstr "" #: popt.c:1290 #, c-format msgid "option type (%u) not implemented in popt\n" msgstr "" #: popt.c:1711 msgid "missing argument" msgstr "" #: popt.c:1713 msgid "unknown option" msgstr "" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "" #: popt.c:1721 msgid "error in parameter quoting" msgstr "" #: popt.c:1723 msgid "invalid numeric value" msgstr "" #: popt.c:1725 msgid "number too large or too small" msgstr "" #: popt.c:1727 msgid "memory allocation failed" msgstr "" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "Mostrer ci messaedje d' aide chal" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "Mostre on court messaedje so kmint vos è siervi" #: popthelp.c:90 #, fuzzy msgid "Display option defaults in message" msgstr "Mostre on court messaedje so kmint vos è siervi" #: popthelp.c:92 msgid "Terminate options" msgstr "" #: popthelp.c:191 msgid "Help options:" msgstr "" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "" #: popthelp.c:200 msgid "NONE" msgstr "" #: popthelp.c:202 msgid "VAL" msgstr "" #: popthelp.c:206 msgid "INT" msgstr "" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "" #: popthelp.c:209 msgid "LONGLONG" msgstr "" #: popthelp.c:210 msgid "STRING" msgstr "" #: popthelp.c:211 msgid "FLOAT" msgstr "" #: popthelp.c:212 msgid "DOUBLE" msgstr "" #: popthelp.c:215 msgid "ARG" msgstr "" #: popthelp.c:649 msgid "Usage:" msgstr "" #: popthelp.c:672 msgid "[OPTION...]" msgstr "" popt-1.16/po/da.po0000664000076400007640000000550411337043365010731 00000000000000# Danish translation of popt. # Copyright (C) 2008 popt. # This file is distributed under the same license as the popt package. # Martin Hansen , 2001. # Joe Hansen , 2008. # msgid "" msgstr "" "Project-Id-Version: popt-1.14\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2008-09-15 00:00+0000\n" "Last-Translator: Joe Hansen \n" "Language-Team: Danish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: popt.c:47 msgid "unknown errno" msgstr "ukendt fejlnr." #: popt.c:1290 #, c-format msgid "option type (%u) not implemented in popt\n" msgstr "tilvalgstype (%u) er ikke implementeret i popt\n" #: popt.c:1711 msgid "missing argument" msgstr "mangler argument" #: popt.c:1713 msgid "unknown option" msgstr "ukendt tilvalg" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "de ønskede handlinger udelukker hinanden" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "opt->arg bør ikke være NULL" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "aliaser er for dybt indlejret" #: popt.c:1721 msgid "error in parameter quoting" msgstr "fejl i parameter citering" #: popt.c:1723 msgid "invalid numeric value" msgstr "ugyldig numerisk værdi" #: popt.c:1725 msgid "number too large or too small" msgstr "nummer for stort, eller for lille" #: popt.c:1727 msgid "memory allocation failed" msgstr "hukommelsestildeling mislykkedes" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "ukendt fejl" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "Vis denne hjælpemeddelelse" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "Vis kortfattet brugsanvisning" #: popthelp.c:90 msgid "Display option defaults in message" msgstr "Vis instillingsstandarder i besked" #: popthelp.c:92 msgid "Terminate options" msgstr "Indstillinger for afbrydning" #: popthelp.c:191 msgid "Help options:" msgstr "Hjælpeindstillinger:" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "Indstillinger implementeret via popt alias/exec:" #: popthelp.c:200 msgid "NONE" msgstr "INGEN" #: popthelp.c:202 msgid "VAL" msgstr "VAL" #: popthelp.c:206 msgid "INT" msgstr "INT" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "LONG" #: popthelp.c:209 msgid "LONGLONG" msgstr "LONGLONG" #: popthelp.c:210 msgid "STRING" msgstr "STRING" #: popthelp.c:211 msgid "FLOAT" msgstr "FLOAT" #: popthelp.c:212 msgid "DOUBLE" msgstr "DOUBLE" #: popthelp.c:215 msgid "ARG" msgstr "ARG" #: popthelp.c:649 msgid "Usage:" msgstr "Brug:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[TILVALG...]" popt-1.16/po/de.po0000664000076400007640000000557711337046711010745 00000000000000# Translation of popt to German (Deutsch) # This file is distributed under the same license as the popt package. # Robert Scheck , 2004-2007. # Roland Illig , 2009. # msgid "" msgstr "" "Project-Id-Version: popt 1.14\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2009-11-10 19:58+0100\n" "Last-Translator: Roland Illig \n" "Language-Team: German \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: popt.c:47 msgid "unknown errno" msgstr "Unbekannte Fehler-Nummer" #: popt.c:1290 #, c-format msgid "option type (%u) not implemented in popt\n" msgstr "Optionstyp (%u) ist in popt nicht vorhanden\n" #: popt.c:1711 msgid "missing argument" msgstr "Fehlendes Argument" #: popt.c:1713 msgid "unknown option" msgstr "Unbekannte Option" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "Gegenseitig ausschließende logische Operatoren" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "opt->arg sollte nicht NULL sein" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "Aliase zu tief verschachtelt" #: popt.c:1721 msgid "error in parameter quoting" msgstr "Fehler beim Quotieren der Parameter" #: popt.c:1723 msgid "invalid numeric value" msgstr "Ungültiger nummerischer Wert" #: popt.c:1725 msgid "number too large or too small" msgstr "Nummer zu groß oder zu klein" #: popt.c:1727 msgid "memory allocation failed" msgstr "Speicherzuordnung fehlgeschlagen" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "Unbekannter Fehler" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "Zeigt diese Hilfe an" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "Zeigt eine kurze Verwendungsinformation" #: popthelp.c:90 msgid "Display option defaults in message" msgstr "Zeigt die Standardeinstellungen an" #: popthelp.c:92 msgid "Terminate options" msgstr "Optionen beenden" #: popthelp.c:191 msgid "Help options:" msgstr "Hilfe-Optionen:" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "Optionen über popt alias/exec implementiert:" #: popthelp.c:200 msgid "NONE" msgstr "NICHTS" #: popthelp.c:202 msgid "VAL" msgstr "WERT" #: popthelp.c:206 msgid "INT" msgstr "INTEGER" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "LONG" #: popthelp.c:209 msgid "LONGLONG" msgstr "LONGLONG" #: popthelp.c:210 msgid "STRING" msgstr "STRING" #: popthelp.c:211 msgid "FLOAT" msgstr "FLOAT" #: popthelp.c:212 msgid "DOUBLE" msgstr "DOUBLE" #: popthelp.c:215 msgid "ARG" msgstr "ARGUMENT" #: popthelp.c:649 msgid "Usage:" msgstr "Verwendung:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[OPTION...]" popt-1.16/po/ja.gmo0000664000076400007640000000407611365302075011103 00000000000000Þ•ô%Ì`ael"ˆ« ±¿ÃÈ(Íöý +E`v/ Ðî  &M5ƒ‡$ŽH³ü %9, f0p ¡¬°-Å0ó$$4Y3r-¦$Ôù%   ARGDOUBLEDisplay brief usage messageDisplay option defaults in messageFLOATHelp options:INTLONGNONEOptions implemented via popt alias/exec:STRINGShow this help messageUsage:VAL[OPTION...]aliases nested too deeplyerror in parameter quotinginvalid numeric valuememory allocation failedmissing argumentmutually exclusive logical operations requestednumber too large or too smallopt->arg should not be NULLunknown errnounknown errorunknown optionProject-Id-Version: popt 1.11 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2003--8-25 19:00+0900 Last-Translator: Yukihiro Nakai Language-Team: Japanese MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ARGDOUBLEä½¿ã„æ–¹ã®æ¦‚è¦ã‚’表示ã—ã¾ã™ã‚ªãƒ—ションã®ãƒ‡ãƒ•ォルト値をメッセージã«è¡¨ç¤ºã—ã¾ã™FLOATヘルプオプション:INTLONGãªã—poptã®alias/execã§å®Ÿè£…ã•れã¦ã„るオプション:文字列ã“ã®ãƒ˜ãƒ«ãƒ—メッセージを表示ã—ã¾ã™ä½¿ã„æ–¹:値[オプション...]エイリアスã®ãƒã‚¹ãƒˆãŒæ·±ã™ãŽã¾ã™ãƒ‘ラメータã®ã‚¯ã‚ªãƒ¼ãƒˆä»˜ã‘ã§ã‚¨ãƒ©ãƒ¼ä¸æ­£ãªæ•°å€¤ãƒ¡ãƒ¢ãƒªç¢ºä¿ã«å¤±æ•—ã—ã¾ã—ãŸå¼•æ•°ãŒã‚りã¾ã›ã‚“æŽ’ä»–çš„ãªæ‚ªãºãƒ¼ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ãŒå¿…è¦ã§ã™æ•°å€¤ãŒå¤§ãã™ãŽã‚‹ã‹å°ã•ã™ãŽã¾ã™opt->argã¯NULLã§ã¯ã„ã‘ã¾ã›ã‚“䏿˜Žãªã‚¨ãƒ©ãƒ¼ç•ªå·ä¸æ˜Žãªã‚¨ãƒ©ãƒ¼ä¸æ˜Žãªã‚ªãƒ—ションpopt-1.16/po/remove-potcdate.sin0000644000076400007640000000066011370104725013605 00000000000000# Sed script that remove the POT-Creation-Date line in the header entry # from a POT file. # # The distinction between the first and the following occurrences of the # pattern is achieved by looking at the hold space. /^"POT-Creation-Date: .*"$/{ x # Test if the hold space is empty. s/P/P/ ta # Yes it was empty. First occurrence. Remove the line. g d bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } popt-1.16/po/is.gmo0000664000076400007640000000331411365302075011116 00000000000000Þ•ä%¬@AEL"h‹‘•šŸ¦½Ä ÈÔî 8/Iy— ³ ÁÏKÞ*."5'X€†Š•œ­µ ¹Ã*Ö3&BiŸ ± ¾   ARGDOUBLEDisplay brief usage messageDisplay option defaults in messageFLOATINTLONGNONESTRINGShow this help messageUsage:VAL[OPTION...]aliases nested too deeplyerror in parameter quotinginvalid numeric valuememory allocation failedmissing argumentmutually exclusive logical operations requestednumber too large or too smallopt->arg should not be NULLunknown errnounknown errorunknown optionProject-Id-Version: popt 1.11 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2001-06-08 01:35+0000 Last-Translator: Richard Allen Language-Team: is MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8-bit ARGDOUBLESýna stuttar notkunarleiðbeiningarSýna sjálfgefin gildi rofa í skilaboðumFLOATINTLONGENGINSTRINGSýna þessa hjálpNotkun:VAL[ROFI...]alíasar of flóknirvilla í viðföngum (gæsalappir og svo frv.)ógilt tölulegt gildiekki tókst að taka frá minnivantar viðfangbeðið um rofa sem slökkva hvor á öðrumtalan of stór eða smáopt->arg ætti ekki að vera NULLóþekkt villunúmeróþekkt villaóþekktur rofipopt-1.16/po/quot.sed0000644000076400007640000000023111370104724011452 00000000000000s/"\([^"]*\)"/“\1â€/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“â€/""/g popt-1.16/po/ko.po0000664000076400007640000000517611337043365010763 00000000000000msgid "" msgstr "" "Project-Id-Version: popt 1.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2001-09-06 20:06+0900\n" "Last-Translator: Jong-Hoon Ryu \n" "Language-Team: GNU Translation project \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=EUC-KR\n" "Content-Transfer-Encoding: 8-bit\n" #: popt.c:47 msgid "unknown errno" msgstr "¾Ë ¼ö ¾ø´Â ¿À·ùÄÚµå(errno) ÀÔ´Ï´Ù" #: popt.c:1290 #, fuzzy, c-format msgid "option type (%u) not implemented in popt\n" msgstr "¿É¼Ç À¯Çü (%d)Àº popt¿¡¼­ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù\n" #: popt.c:1711 msgid "missing argument" msgstr "Àμö°¡ ÁöÁ¤µÇÁö ¾Ê¾Ò½À´Ï´Ù" #: popt.c:1713 msgid "unknown option" msgstr "¾Ë ¼ö ¾ø´Â ¿É¼ÇÀÔ´Ï´Ù" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "¾çÂÊ¿¡ ¹èŸÀû ³í¸® ¿¬»êÀÌ ÁöÁ¤µÇ¾ú½À´Ï´Ù" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "¿É¼Ç->Àμö°¡ NULLÀÌ µÇ¾î¼­´Â ¾ÈµË´Ï´Ù" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "º°Äª(alias)ÀÌ º¹ÀâÇÏ°Ô ¼³Á¤µÇ¾ú½À´Ï´Ù" #: popt.c:1721 msgid "error in parameter quoting" msgstr "¸Å°³º¯¼ö¿¡ ¿À·ù°¡ ÀÖ½À´Ï´Ù" #: popt.c:1723 msgid "invalid numeric value" msgstr "À߸øµÈ ¼öÄ¡ °ªÀÔ´Ï´Ù" #: popt.c:1725 msgid "number too large or too small" msgstr "¼ýÀÚ°¡ ³Ê¹« Å©°Å³ª ³Ê¹« Àû½À´Ï´Ù" #: popt.c:1727 msgid "memory allocation failed" msgstr "¸Þ¸ð¸® ÇÒ´ç¿¡ ½ÇÆÐÇß½À´Ï´Ù" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "¾Ë ¼ö ¾ø´Â ¿À·ùÀÔ´Ï´Ù" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "ÀÌ µµ¿ò¸»À» º¸¿©ÁÝ´Ï´Ù" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "°£´ÜÇÑ »ç¿ë¹ýÀ» º¸¿©ÁÝ´Ï´Ù" #: popthelp.c:90 msgid "Display option defaults in message" msgstr "±âº»ÀûÀÎ ¿É¼ÇÀ» º¸¿©ÁÝ´Ï´Ù" #: popthelp.c:92 msgid "Terminate options" msgstr "" #: popthelp.c:191 msgid "Help options:" msgstr "" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "" #: popthelp.c:200 msgid "NONE" msgstr "¾øÀ½(NONE)" #: popthelp.c:202 msgid "VAL" msgstr "°ª(VAL)" #: popthelp.c:206 msgid "INT" msgstr "Á¤¼ö(INT)" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "Á¤¼ö(LONG)" #: popthelp.c:209 #, fuzzy msgid "LONGLONG" msgstr "Á¤¼ö(LONG)" #: popthelp.c:210 msgid "STRING" msgstr "¹®ÀÚ¿­(STRING)" #: popthelp.c:211 msgid "FLOAT" msgstr "¼Ò¼ö(FLOAT)" #: popthelp.c:212 msgid "DOUBLE" msgstr "¼Ò¼ö(DOUBLE)" #: popthelp.c:215 msgid "ARG" msgstr "Àμö(ARG)" #: popthelp.c:649 msgid "Usage:" msgstr "»ç¿ë¹ý:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[¿É¼Ç...]" popt-1.16/po/es.gmo0000664000076400007640000000300111365302074011102 00000000000000Þ•Ì|ðñõü"',3JQ Ua{–¬/½í  'V6‘˜·½ÁÆËÒ ðý  /Lf1v ¨ÉÛí    ARGDOUBLEDisplay brief usage messageFLOATINTLONGNONESTRINGShow this help messageUsage:VAL[OPTION...]aliases nested too deeplyerror in parameter quotinginvalid numeric valuemissing argumentmutually exclusive logical operations requestednumber too large or too smallunknown errnounknown errorunknown optionProject-Id-Version: popt 1.12 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2007-12-28 12:22+0100 Last-Translator: Leandro Lucarella Language-Team: Spanish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ARGDOUBLEIndica el modo de uso resumidoFLOATINTLONGNONESTRINGMuestra este mensaje de ayudaModo de uso:VAL[OPCIÓN...]alias anidados muy profundamenteerror en cita de parámetrosvalor numérico inválidofalta argumentorequerida operación lógica mutuamente exclusivanúmero muy largo o muy pequeñoerrno desconocidoerror desconocidoopción desconocidapopt-1.16/po/fi.po0000664000076400007640000000633411337043365010745 00000000000000# translation of popt-1.14.pot to Finnish # Copyright © 2008 Free Software Foundation, Inc. # This file is distributed under the same license as the popt package. # This file is put in the public domain. # Jorma Karvonen , 2008. # msgid "" msgstr "" "Project-Id-Version: popt 1.14\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2008-02-21 18:19+0200\n" "Last-Translator: Jorma Karvonen \n" "Language-Team: Finnish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: KBabel 1.11.4\n" # errno - number of last error (defined by the ISO C standard) #: popt.c:47 msgid "unknown errno" msgstr "tuntematon errno-virhenumeroarvo" #: popt.c:1290 #, c-format msgid "option type (%u) not implemented in popt\n" msgstr "valitsintyyppiä (%u) ei ole toteutettu popt-ohjelmassa\n" #: popt.c:1711 msgid "missing argument" msgstr "puuttuva argumentti" #: popt.c:1713 msgid "unknown option" msgstr "tuntematon valitsin" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "pyydettyjä loogisia toimintoja ei voi käyttää yhdessä" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "â€opt->argâ€-valitsinargumentti ei saa olla NULL" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "liian monta aliasta sisäkkäin" #: popt.c:1721 msgid "error in parameter quoting" msgstr "virhe parametrien lainauksessa" #: popt.c:1723 msgid "invalid numeric value" msgstr "virheellinen numeroarvo" #: popt.c:1725 msgid "number too large or too small" msgstr "numero on liian iso tai liian pieni" #: popt.c:1727 msgid "memory allocation failed" msgstr "muistin varaus ei onnistunut" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "tuntematon virhe" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "Näytä tämä ohje" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "Näytä lyhyt käyttöohje" #: popthelp.c:90 msgid "Display option defaults in message" msgstr "Näytä valitsinoletukset ohjeessa" #: popthelp.c:92 msgid "Terminate options" msgstr "Lopettamisvalitsimet" #: popthelp.c:191 msgid "Help options:" msgstr "Ohjevalitsimet:" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "" "Valitsimet toteutettu â€popt aliasâ€-määrittelyillä tai â€popt execâ€-" "määrittelyillä:" #: popthelp.c:200 msgid "NONE" msgstr "EI MITÄÄN" #: popthelp.c:202 msgid "VAL" msgstr "ARVO" #: popthelp.c:206 msgid "INT" msgstr "INT-KOKONAISLUKU" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "LONG-KOKONAISLUKU" #: popthelp.c:209 msgid "LONGLONG" msgstr "LONGLONG-KOKONAISLUKU" #: popthelp.c:210 msgid "STRING" msgstr "MERKKIJONO" #: popthelp.c:211 msgid "FLOAT" msgstr "FLOAT-LIUKULUKU" #: popthelp.c:212 msgid "DOUBLE" msgstr "DOUBLE-LIUKULUKU" #: popthelp.c:215 msgid "ARG" msgstr "ARGUMENTTI" #: popthelp.c:649 msgid "Usage:" msgstr "Käyttö:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[VALITSIN...]" popt-1.16/po/gl.gmo0000664000076400007640000000303711365302075011107 00000000000000Þ•Ì|ðñõü"',3JQ Ua{–¬/½í  '^6•™( ÉÏÓØÝã .Db|6"Æéû     ARGDOUBLEDisplay brief usage messageFLOATINTLONGNONESTRINGShow this help messageUsage:VAL[OPTION...]aliases nested too deeplyerror in parameter quotinginvalid numeric valuemissing argumentmutually exclusive logical operations requestednumber too large or too smallunknown errnounknown errorunknown optionProject-Id-Version: popt 1.11 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2001-01-17 01:01+0100 Last-Translator: Jesús Bravo Álvarez Language-Team: Galician MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit ARGDOUBLEAmosar brevemente o xeito de utilizaciónFLOATINTLONGNADACADEAAmosar esta mensaxe de axudaUso:VAL[OPCIÓN...]aliases aniñados a un nivel demasiado profundoerro nas comiñas do parámetrovalor numérico non válidofalta un argumentosolicitáronse operacións lóxicas mutuamente excluíntesnúmero demasiado grande ou pequenoerrno descoñecidoerro descoñecidoopción descoñecidapopt-1.16/po/ro.po0000664000076400007640000000465611337043365010774 00000000000000msgid "" msgstr "" "Project-Id-Version: popt 1.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2000-06-14 23:23+EST\n" "Last-Translator: Cristian Gafton \n" "Language-Team: Romanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Transfer-Encoding: 8bit\n" #: popt.c:47 msgid "unknown errno" msgstr "eroare necunoscuta" #: popt.c:1290 #, fuzzy, c-format msgid "option type (%u) not implemented in popt\n" msgstr "optiunea de tipul (%d) nu este implementata in popt\n" #: popt.c:1711 msgid "missing argument" msgstr "argument lipsa" #: popt.c:1713 msgid "unknown option" msgstr "optiune necunoscuta" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "recursivitate infinita la optiunile sinonime" #: popt.c:1721 #, fuzzy msgid "error in parameter quoting" msgstr "eroare la insertie parametru" #: popt.c:1723 msgid "invalid numeric value" msgstr "valoare numarica invalida" #: popt.c:1725 msgid "number too large or too small" msgstr "numar prea mare sau prea mic" #: popt.c:1727 msgid "memory allocation failed" msgstr "" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "eroare necuinoscuta" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "Afisare mesaj de help" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "Afisare mesaj sintaxa sumar" #: popthelp.c:90 #, fuzzy msgid "Display option defaults in message" msgstr "Afisare mesaj sintaxa sumar" #: popthelp.c:92 msgid "Terminate options" msgstr "" #: popthelp.c:191 msgid "Help options:" msgstr "" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "" #: popthelp.c:200 msgid "NONE" msgstr "" #: popthelp.c:202 msgid "VAL" msgstr "" #: popthelp.c:206 msgid "INT" msgstr "" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "" #: popthelp.c:209 msgid "LONGLONG" msgstr "" #: popthelp.c:210 msgid "STRING" msgstr "" #: popthelp.c:211 msgid "FLOAT" msgstr "" #: popthelp.c:212 msgid "DOUBLE" msgstr "" #: popthelp.c:215 msgid "ARG" msgstr "" #: popthelp.c:649 msgid "Usage:" msgstr "Sintaxa:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[OPTIUNE...]" popt-1.16/po/nb.po0000664000076400007640000000500211337043365010735 00000000000000msgid "" msgstr "" "Project-Id-Version: popt 1.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2001-06-27 11:05+0200\n" "Last-Translator: Kjartan Maraas \n" "Language-Team: Norwegian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8-bit\n" #: popt.c:47 msgid "unknown errno" msgstr "ukjent errno" #: popt.c:1290 #, fuzzy, c-format msgid "option type (%u) not implemented in popt\n" msgstr "flaggtype (%d) ikke implementert i popt\n" #: popt.c:1711 msgid "missing argument" msgstr "manglende argument" #: popt.c:1713 msgid "unknown option" msgstr "ukjent flagg" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "gjensidig eksluderende logiske operasjoner forespurt" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "opt->arg må ikke være NULL" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "aliaser med for dype løkker" #: popt.c:1721 msgid "error in parameter quoting" msgstr "feil i parametersitering" #: popt.c:1723 msgid "invalid numeric value" msgstr "ugyldig numerisk verdi" #: popt.c:1725 msgid "number too large or too small" msgstr "tallet er for stort eller lite" #: popt.c:1727 msgid "memory allocation failed" msgstr "minneallokering feilet" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "ukjent feil" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "Vis denne hjelpmeldingen" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "Vis kort bruksmelding" #: popthelp.c:90 msgid "Display option defaults in message" msgstr "Vis forvalgte flagg i melding" #: popthelp.c:92 msgid "Terminate options" msgstr "" #: popthelp.c:191 msgid "Help options:" msgstr "" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "" #: popthelp.c:200 msgid "NONE" msgstr "INGEN" #: popthelp.c:202 msgid "VAL" msgstr "VERDI" #: popthelp.c:206 msgid "INT" msgstr "HELTALL" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "LONG" #: popthelp.c:209 #, fuzzy msgid "LONGLONG" msgstr "LONG" #: popthelp.c:210 msgid "STRING" msgstr "STRENG" #: popthelp.c:211 msgid "FLOAT" msgstr "FLYTTALL" #: popthelp.c:212 msgid "DOUBLE" msgstr "DOUBLE" #: popthelp.c:215 msgid "ARG" msgstr "ARG" #: popthelp.c:649 msgid "Usage:" msgstr "Bruk:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[FLAGG...]" popt-1.16/po/boldquot.sed0000644000076400007640000000033111370104723012313 00000000000000s/"\([^"]*\)"/“\1â€/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“â€/""/g s/“/“/g s/â€/â€/g s/‘/‘/g s/’/’/g popt-1.16/po/Rules-quot0000644000076400007640000000337611370104725012006 00000000000000# Special Makefile rules for English message catalogs with quotation marks. DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot .SUFFIXES: .insert-header .po-update-en en@quot.po-create: $(MAKE) en@quot.po-update en@boldquot.po-create: $(MAKE) en@boldquot.po-update en@quot.po-update: en@quot.po-update-en en@boldquot.po-update: en@boldquot.po-update-en .insert-header.po-update-en: @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ ll=`echo $$lang | sed -e 's/@.*//'`; \ LC_ALL=C; export LC_ALL; \ cd $(srcdir); \ if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "creation of $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi en@quot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header en@boldquot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header mostlyclean: mostlyclean-quot mostlyclean-quot: rm -f *.insert-header popt-1.16/po/zh_TW.gmo0000664000076400007640000000324411365302075011540 00000000000000Þ•ä%¬@AEL"h‹‘•šŸ¦½Ä ÈÔî 8/Iy— ³ ÁÏZÞ9=D`…‰Ž“š°¸ ¼ÈÛî !$F\t„”   ARGDOUBLEDisplay brief usage messageDisplay option defaults in messageFLOATINTLONGNONESTRINGShow this help messageUsage:VAL[OPTION...]aliases nested too deeplyerror in parameter quotinginvalid numeric valuememory allocation failedmissing argumentmutually exclusive logical operations requestednumber too large or too smallopt->arg should not be NULLunknown errnounknown errorunknown optionProject-Id-Version: popt 1.11 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2005-04-08 17:52+0800 Last-Translator: Wei-Lun Chao Language-Team: zh_TW MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ARGDOUBLE顯示簡短的使用說明在訊æ¯ä¸­é¡¯ç¤ºé è¨­é¸é …FLOATINTLONGNONESTRING顯示本說明訊æ¯ç”¨æ³•:VAL[é¸é …...]巢狀別åå¤ªæ·±åƒæ•¸å¼•è™ŸéŒ¯èª¤ä¸æ­£ç¢ºçš„æ•¸å€¼è¨˜æ†¶é«”é…置錯誤缺少引數需è¦ç›¸äº’ç¨ç«‹çš„é‚輯é‹ç®—數字太大或太å°opt->arg 䏿‡‰ç‚º NULL未知的錯誤未知的錯誤未知的é¸é …popt-1.16/po/pl.gmo0000664000076400007640000000410411365302075011114 00000000000000Þ• )ü ¡¥¬"Èë ñÿ(?F]ov z† »Ñê/û+I)e  «qº,29 Yz €Ž’— /¥ÕÝì þ 6Qi#޲Ñ+ì '5    ARGDOUBLEDisplay brief usage messageDisplay option defaults in messageFLOATHelp options:INTLONGLONGLONGNONEOptions implemented via popt alias/exec:STRINGShow this help messageTerminate optionsUsage:VAL[OPTION...]aliases nested too deeplyerror in parameter quotinginvalid numeric valuememory allocation failedmissing argumentmutually exclusive logical operations requestednumber too large or too smallopt->arg should not be NULLoption type (%u) not implemented in popt unknown errnounknown errorunknown optionProject-Id-Version: popt 1.14 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2008-02-18 00:30+0100 Last-Translator: Jakub Bogusz Language-Team: Polish MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-2 Content-Transfer-Encoding: 8bit PARAMDOUBLEWy¶wietl skrócony sposób u¿yciaWy¶wietl domy¶lne opcje w opisieFLOATOpcje pomocy:INTLONGLONGLONGBRAKOpcje zaimplementowane poprzez popt alias/exec:£AÑCUCHPoka¿ tê pomocOpcje zakoñczeniaSk³adnia:WART[OPCJA...]zbyt du¿e zag³êbienie aliasówb³±d w cytowaniu parametrub³êdna warto¶æ liczbowab³±d alokacji pamiêcibrak parametru¿±danie wykluczaj±cych siê operacjiliczba zbyt du¿a lub zbyt ma³aopt->arg nie mo¿e byæ NULLtyp opcji (%u) nie zaimplementowany w popt nieznane errnonieznany b³±dnieznana opcjapopt-1.16/po/zh_CN.po0000664000076400007640000000537211337046711011347 00000000000000# translation of translation.po to # Simplified Chinese Messages for popt # Copyright (C) 2005, 2007 Free Software Foundation, Inc. # Wei-Lun Chao , 2005. # LI Daobing , 2007, 2008. # msgid "" msgstr "" "Project-Id-Version: popt 1.14\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2008-02-18 20:16+0800\n" "Last-Translator: LI Daobing \n" "Language-Team: Chinese (simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: popt.c:47 msgid "unknown errno" msgstr "未知的错误" #: popt.c:1290 #, c-format msgid "option type (%u) not implemented in popt\n" msgstr "选项类别 (%u) 没有在 popt 中实现\n" #: popt.c:1711 msgid "missing argument" msgstr "ç¼ºå°‘å‚æ•°" #: popt.c:1713 msgid "unknown option" msgstr "未知的选项" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "éœ€è¦ XOR 逻辑è¿ç®—" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "opt->arg ä¸åº”该为 NULL" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "别å嵌套太深" #: popt.c:1721 msgid "error in parameter quoting" msgstr "傿•°å¼•å·é”™è¯¯" #: popt.c:1723 msgid "invalid numeric value" msgstr "无效的数值" #: popt.c:1725 msgid "number too large or too small" msgstr "数值太大或太å°" #: popt.c:1727 msgid "memory allocation failed" msgstr "内存分é…错误" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "未知的错误" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "显示这个帮助信æ¯" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "显示简短的使用说明" #: popthelp.c:90 msgid "Display option defaults in message" msgstr "在信æ¯ä¸­æ˜¾ç¤ºé»˜è®¤çš„选项" #: popthelp.c:92 msgid "Terminate options" msgstr "终止选项" #: popthelp.c:191 msgid "Help options:" msgstr "帮助选项:" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "通过 popt alias/exec 实现的选项:" #: popthelp.c:200 msgid "NONE" msgstr "NONE" #: popthelp.c:202 msgid "VAL" msgstr "VAL" #: popthelp.c:206 msgid "INT" msgstr "INT" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "LONG" #: popthelp.c:209 msgid "LONGLONG" msgstr "LONGLONG" #: popthelp.c:210 msgid "STRING" msgstr "STRING" #: popthelp.c:211 msgid "FLOAT" msgstr "FLOAT" #: popthelp.c:212 msgid "DOUBLE" msgstr "DOUBLE" #: popthelp.c:215 msgid "ARG" msgstr "ARG" #: popthelp.c:649 msgid "Usage:" msgstr "用法:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[选项...]" popt-1.16/po/eo.gmo0000664000076400007640000000417711365302074011115 00000000000000Þ• )ü ¡¥¬"Èë ñÿ(?F]ov z† »Ñê/û+I)e  «lº'+#28V •¢¦«´&ºáè #$.Sm „¥-¶ä.Map    ARGDOUBLEDisplay brief usage messageDisplay option defaults in messageFLOATHelp options:INTLONGLONGLONGNONEOptions implemented via popt alias/exec:STRINGShow this help messageTerminate optionsUsage:VAL[OPTION...]aliases nested too deeplyerror in parameter quotinginvalid numeric valuememory allocation failedmissing argumentmutually exclusive logical operations requestednumber too large or too smallopt->arg should not be NULLoption type (%u) not implemented in popt unknown errnounknown errorunknown optionProject-Id-Version: popt 1.14 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2008-08-03 15:50-0300 Last-Translator: Felipe Castro Language-Team: Esperanto MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit ARGDOUBLEMontri resumitan mesaÄon pri uzadoMontri la implicitajn valorojn de la opcio en la mesaÄoFLOATHelp-opcioj:INTLONGLONGLONGNENIOOpcioj realigitaj per popt alias/exec:STRINGMontri tiun ĉi helpmesaÄonOpcioj pri finiÄoUzado:VAL[OPCIO...]kromnomoj estas ingitaj tro profundeeraro en parametra citadonevalida numera valoromalsukceso dum okupado de memoromankas argumentoreciprokaj logikaj operacioj estas postulatajnumero tro granda aÅ­ tro etaopt->arg ne devus esti NULLla opcia tipo (%u) ne estas realigita en popt nekonata erarnumeronekonata eraronekonata opciopopt-1.16/po/fr.gmo0000664000076400007640000000351411365302074011113 00000000000000Þ•ä%¬@AEL"h‹‘•šŸ¦½Ä ÈÔî 8/Iy— ³ ÁÏjÞIM+T<€½ÆÍÒ×Þ ÷   5V"q”5¦Ü"ü -=   ARGDOUBLEDisplay brief usage messageDisplay option defaults in messageFLOATINTLONGNONESTRINGShow this help messageUsage:VAL[OPTION...]aliases nested too deeplyerror in parameter quotinginvalid numeric valuememory allocation failedmissing argumentmutually exclusive logical operations requestednumber too large or too smallopt->arg should not be NULLunknown errnounknown errorunknown optionProject-Id-Version: popt 1.11 Report-Msgid-Bugs-To: POT-Creation-Date: 2010-02-17 13:35-0500 PO-Revision-Date: 2003-06-22 23:43+0200 Last-Translator: RPM French Translation Language-Team: RPM French Translation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8-bit ARGDOUBLEAffiche un bref descriptif de l'utilisationAfficher les valeurs par défaut des options dans le messageFLOTTANTENTIERLONGRIENCHAINEMontre ce message d'aideUtilisation:VAL[OPTION...]les alias sont trop entremelléserreur en citant les paramètresvaleur numérique invalideéchec de l'allocation de mémoireargument manquantopérations logiques mutuellement exclusives requisesnombre trop grand ou trop petitopt->arg ne devrait pas être NULLerrno inconnuerreur inconnueoption iconnuepopt-1.16/po/pl.po0000664000076400007640000000536311337043365010763 00000000000000# Polish translation for popt. # This file is distributed under the same license as the popt package. # Jakub Bogusz , 2002-2008. # msgid "" msgstr "" "Project-Id-Version: popt 1.14\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-02-17 13:35-0500\n" "PO-Revision-Date: 2008-02-18 00:30+0100\n" "Last-Translator: Jakub Bogusz \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-2\n" "Content-Transfer-Encoding: 8bit\n" #: popt.c:47 msgid "unknown errno" msgstr "nieznane errno" #: popt.c:1290 #, c-format msgid "option type (%u) not implemented in popt\n" msgstr "typ opcji (%u) nie zaimplementowany w popt\n" #: popt.c:1711 msgid "missing argument" msgstr "brak parametru" #: popt.c:1713 msgid "unknown option" msgstr "nieznana opcja" #: popt.c:1715 msgid "mutually exclusive logical operations requested" msgstr "¿±danie wykluczaj±cych siê operacji" #: popt.c:1717 msgid "opt->arg should not be NULL" msgstr "opt->arg nie mo¿e byæ NULL" #: popt.c:1719 msgid "aliases nested too deeply" msgstr "zbyt du¿e zag³êbienie aliasów" #: popt.c:1721 msgid "error in parameter quoting" msgstr "b³±d w cytowaniu parametru" #: popt.c:1723 msgid "invalid numeric value" msgstr "b³êdna warto¶æ liczbowa" #: popt.c:1725 msgid "number too large or too small" msgstr "liczba zbyt du¿a lub zbyt ma³a" #: popt.c:1727 msgid "memory allocation failed" msgstr "b³±d alokacji pamiêci" #: popt.c:1729 msgid "config file failed sanity test" msgstr "" #: popt.c:1733 msgid "unknown error" msgstr "nieznany b³±d" #: popthelp.c:75 popthelp.c:86 msgid "Show this help message" msgstr "Poka¿ tê pomoc" #: popthelp.c:76 popthelp.c:87 msgid "Display brief usage message" msgstr "Wy¶wietl skrócony sposób u¿ycia" #: popthelp.c:90 msgid "Display option defaults in message" msgstr "Wy¶wietl domy¶lne opcje w opisie" #: popthelp.c:92 msgid "Terminate options" msgstr "Opcje zakoñczenia" #: popthelp.c:191 msgid "Help options:" msgstr "Opcje pomocy:" #: popthelp.c:192 msgid "Options implemented via popt alias/exec:" msgstr "Opcje zaimplementowane poprzez popt alias/exec:" #: popthelp.c:200 msgid "NONE" msgstr "BRAK" #: popthelp.c:202 msgid "VAL" msgstr "WART" #: popthelp.c:206 msgid "INT" msgstr "INT" #: popthelp.c:207 msgid "SHORT" msgstr "" #: popthelp.c:208 msgid "LONG" msgstr "LONG" #: popthelp.c:209 msgid "LONGLONG" msgstr "LONGLONG" #: popthelp.c:210 msgid "STRING" msgstr "£AÑCUCH" #: popthelp.c:211 msgid "FLOAT" msgstr "FLOAT" #: popthelp.c:212 msgid "DOUBLE" msgstr "DOUBLE" #: popthelp.c:215 msgid "ARG" msgstr "PARAM" #: popthelp.c:649 msgid "Usage:" msgstr "Sk³adnia:" #: popthelp.c:672 msgid "[OPTION...]" msgstr "[OPCJA...]" popt-1.16/auto/0000775000076400007640000000000011370105023010376 500000000000000popt-1.16/auto/types.in0000664000076400007640000000747511346606337012050 00000000000000 common_env static int aVal = 141421; static unsigned int aFlag = 0x8aceU; static short aShort = (short)4523; static int aInt = 271828; static long aLong = 738905609L; static long long aLongLong = 738905609LL; static float aFloat = 3.1415926535; static double aDouble = 9.86960440108935861883; static const char ** aArgv = NULL; static struct poptOption optionsTable[] = { { "val", '\0', POPT_ARG_VAL | POPT_ARGFLAG_SHOW_DEFAULT, &aVal, 125992, "POPT_ARG_VAL: 125992 141421", 0}, { "int", 'i', POPT_ARG_INT | POPT_ARGFLAG_SHOW_DEFAULT, &aInt, 0, "POPT_ARG_INT: 271828", NULL }, { "short", 's', POPT_ARG_SHORT | POPT_ARGFLAG_SHOW_DEFAULT, &aShort, 0, "POPT_ARG_SHORT: 4523", NULL }, { "long", 'l', POPT_ARG_LONG | POPT_ARGFLAG_SHOW_DEFAULT, &aLong, 0, "POPT_ARG_LONG: 738905609", NULL }, { "longlong", 'L', POPT_ARG_LONGLONG | POPT_ARGFLAG_SHOW_DEFAULT, &aLongLong, 0, "POPT_ARG_LONGLONG: 738905609", NULL }, { "float", 'f', POPT_ARG_FLOAT | POPT_ARGFLAG_SHOW_DEFAULT, &aFloat, 0, "POPT_ARG_FLOAT: 3.14159", NULL }, { "double", 'd', POPT_ARG_DOUBLE | POPT_ARGFLAG_SHOW_DEFAULT, &aDouble, 0, "POPT_ARG_DOUBLE: 9.8696", NULL }, { "argv", '\0', POPT_ARG_ARGV, &aArgv, 0, "POPT_ARG_ARGV: append string to argv array (can be used multiple times)","STRING"}, POPT_AUTOALIAS POPT_AUTOHELP POPT_TABLEEND }; common_param poptContext poptGetContext(argv[0], argc, argv, optionsTable, 0) $0 = poptFreeContext($0); poptAddItem normal poptContext poptGetContext(argv[0], argc, argv, optionsTable, 0) poptFreeContext poptFini param1 normal poptItem NULL #include $0 = calloc(1, sizeof(*$0)); $0->option = *poptHelpOptionsI18N; $0->argc = 1; $0->argv = calloc(2, sizeof(*$0->argv)); $0->argv[0] = strdup("arg1"); poptAddItem param2 common_param struct poptAlias _alias #include static struct poptAlias _alias = { .longName = "longName", .shortName = 'l', .argc = 0, .argv = NULL }; $0.argc = 1; $0.argv = calloc($0.argc + 1, sizeof(*$0.argv)); $0.argv[0] = strdup("arg1"); common_param poptBits poptBits create_poptBits() poptBits create_poptBits() { poptBits a = NULL; (void) poptSaveBits(&a, 0, "foo"); (void) poptSaveBits(&a, 0, "bar"); (void) poptSaveBits(&a, 0, "baz"); return a; } normal const char *** &av #include const char ** av = NULL; free(av[0]); free(av); poptSaveString param1 popt-1.16/auto/Makefile.am0000664000076400007640000000045111346556460012374 00000000000000AUTOMAKE_OPTIONS = 1.4 foreign AUTOTEST = api-sanity-autotest.pl TDIRS = descriptors_storage header_compile_errors test_results tests clean-local: rm -rf $(TDIRS) check-local: -[ -d tests ] && ${AUTOTEST} -l popt -d desc -clean -${AUTOTEST} -l popt -d desc -st types -gen -build -run popt-1.16/auto/desc.in0000664000076400007640000000053211346556460011606 00000000000000 1.15 popt.h @abs_top_builddir@/.libs/libpopt.so @abs_top_srcdir@ @CFLAGS@ popt-1.16/auto/Makefile.in0000664000076400007640000002560311370104736012403 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd 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@ target_triplet = @target@ subdir = auto DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/desc.in $(srcdir)/types.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = desc types CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_REVISION = @LT_REVISION@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ 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@ POPT_PKGCONFIG_LIBS = @POPT_PKGCONFIG_LIBS@ POPT_SOURCE_PATH = @POPT_SOURCE_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TARGET = @TARGET@ U = @U@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ 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_DUMPBIN = @ac_ct_DUMPBIN@ 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@ builddir = @builddir@ 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@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AUTOMAKE_OPTIONS = 1.4 foreign AUTOTEST = api-sanity-autotest.pl TDIRS = descriptors_storage header_compile_errors test_results tests all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign auto/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign auto/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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): desc: $(top_builddir)/config.status $(srcdir)/desc.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ types: $(top_builddir)/config.status $(srcdir)/types.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @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; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$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 $(MAKE) $(AM_MAKEFLAGS) check-local 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) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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 clean-local mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: 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: .MAKE: check-am 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-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 clean-local: rm -rf $(TDIRS) check-local: -[ -d tests ] && ${AUTOTEST} -l popt -d desc -clean -${AUTOTEST} -l popt -d desc -st types -gen -build -run # 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: popt-1.16/ltmain.sh0000755000076400007640000073305511370104721011210 00000000000000# 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. # # 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. # Usage: $progname [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 # --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="/bin/grep -E"} : ${FGREP="/bin/grep -F"} : ${GREP="/bin/grep"} : ${LN_S="ln -s"} : ${MAKE="make"} : ${MKDIR="mkdir"} : ${MV="mv -f"} : ${RM="rm -f"} : ${SED="/bin/sed"} : ${SHELL="${CONFIG_SHELL-/bin/sh}"} : ${Xsed="$SED -e 1s/^X//"} # 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 # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath="$0" # The name of this program: # 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 # 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 # 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' # 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: $*" } # func_verbose arg... # Echo program name prefixed message in verbose mode only. func_verbose () { $opt_verbose && func_echo ${1+"$@"} # A bug in bash halts the script if the last line of a function # fails when set -e is in force, so we need another command to # work around that: : } # func_error arg... # Echo program name prefixed message to standard error. func_error () { $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2 } # func_warning arg... # Echo program name prefixed warning message to standard error. func_warning () { $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2 # bash bug again: : } # func_fatal_error arg... # Echo program name prefixed message to standard error, and exit. func_fatal_error () { func_error ${1+"$@"} exit $EXIT_FAILURE } # 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 } # func_mktempdir [string] # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, STRING is the basename for that directory. func_mktempdir () { my_template="${TMPDIR-/tmp}/${1-$progname}" if test "$opt_dry_run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else # If mktemp works, use that first and foremost 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}$$" 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" || \ func_fatal_error "cannot create temporary directory \`$my_tmpdir'" fi $ECHO "X$my_tmpdir" | $Xsed } # 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 () { 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 } # 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 () { case $1 in *[\\\`\"]*) my_arg=`$ECHO "X$1" | $Xsed \ -e "$double_quote_subst" -e "$sed_double_backslash"` ;; *) 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_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 () { my_cmd="$1" my_fail_exp="${2-:}" ${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_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_cmd="$1" my_fail_exp="${2-:}" ${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 "$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 } # 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 $? } # 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 $? } # 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 $? } # 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 if test "X$1" = X--fallback-echo; then # used as fallback echo shift cat </dev/null 2>&1; then taglist="$taglist $tagname" # 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. { # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) shift; set dummy --mode clean ${1+"$@"}; shift ;; compile|compil|compi|comp|com|co|c) shift; set dummy --mode compile ${1+"$@"}; shift ;; execute|execut|execu|exec|exe|ex|e) shift; set dummy --mode execute ${1+"$@"}; shift ;; finish|finis|fini|fin|fi|f) shift; set dummy --mode finish ${1+"$@"}; shift ;; 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 # Parse non-mode specific arguments: while test "$#" -gt 0; do opt="$1" shift case $opt in --config) func_config ;; --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 ;; --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 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=: ;; *) opt_duplicate_compiler_generated_deps=$opt_duplicate_deps ;; esac # 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 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 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 \`$progname --help --mode=$mode' for more information." } # 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 } # 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 } # 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" } # 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 } # 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 } # 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" } # 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 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 <?"'"'"' &()|`$[]' \ && 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 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 removelist="$obj $lobj $libobj ${libobj}T" else removelist="$lobj $libobj ${libobj}T" fi # On Cygwin there's no "real" PIC flag so we must build both object types case $host_os in cygwin* | mingw* | pw32* | os2* | cegcc*) pic_mode=default ;; esac if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then # non-PIC code in shared libraries is not supported pic_mode=default fi # 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} lockfile="$output_obj.lock" else output_obj= need_locks=no lockfile= fi # 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 $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 "\ *** ERROR, $lockfile exists and contains: `cat $lockfile 2>/dev/null` This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi 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 func_quote_for_eval "$srcfile" qsrcfile=$func_quote_for_eval_result # Only build a PIC object if we are building libtool libraries. if test "$build_libtool_libs" = yes; then # Without this assignment, base_compile gets emptied. fbsd_hideous_sh_bug=$base_compile if test "$pic_mode" != no; then command="$base_compile $qsrcfile $pic_flag" else # Don't build PIC code command="$base_compile $qsrcfile" fi func_mkdir_p "$xdir$objdir" if test -z "$output_obj"; then # Place PIC objects in $objdir command="$command -o $lobj" fi func_show_eval_locale "$command" \ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $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 func_show_eval '$MV "$output_obj" "$lobj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi # Allow error messages only from the first compilation. if test "$suppress_opt" = yes; then suppress_output=' >/dev/null 2>&1' fi fi # Only build a position-dependent object if we build old libraries. if test "$build_old_libs" = yes; then if test "$pic_mode" != yes; then # Don't build PIC code command="$base_compile $qsrcfile$pie_flag" else command="$base_compile $qsrcfile $pic_flag" fi if test "$compiler_c_o" = yes; then command="$command -o $obj" fi # Suppress compiler output if we already did a PIC compilation. command="$command$suppress_output" func_show_eval_locale "$command" \ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $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 func_show_eval '$MV "$output_obj" "$obj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi fi $opt_dry_run || { func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" # Unlock the critical section if it was locked if test "$need_locks" != no; then removelist=$lockfile $RM "$lockfile" fi } exit $EXIT_SUCCESS } $opt_help || { test "$mode" = compile && func_mode_compile ${1+"$@"} } func_mode_help () { # We need to display help for each of the modes. case $mode in "") # Generic help is extracted from the usage comments # at the start of this file. func_help ;; clean) $ECHO \ "Usage: $progname [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: $progname [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 -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 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: $progname [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: $progname [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: $progname [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 following components of INSTALL-COMMAND are treated specially: -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation The rest of the components are interpreted as arguments to that command (only BSD-compatible install options are recognized)." ;; link) $ECHO \ "Usage: $progname [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 -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 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: $progname [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. If FILE is a libtool library, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; *) func_fatal_help "invalid operation mode \`$mode'" ;; esac $ECHO $ECHO "Try \`$progname --help' for more information about other modes." exit $? } # Now that we've collected a possible --mode arg, show help if necessary $opt_help && func_mode_help # 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" # Handle -dlopen flags immediately. for file in $execute_dlfiles; do test -f "$file" \ || func_fatal_help "\`$file' is not a file" 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" # Read the libtool library. dlname= library_names= func_source "$file" # 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 func_dirname "$file" "" "." dir="$func_dirname_result" 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 ;; *.lo) # Just add the directory containing the .lo file. func_dirname "$file" "" "." dir="$func_dirname_result" ;; *) func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" continue ;; esac # Get the absolute pathname. absdir=`cd "$dir" && pwd` test -n "$absdir" && dir="$absdir" # 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 # This variable tells wrapper scripts just to set shlibpath_var # rather than running their programs. libtool_execute_magic="$magic" # 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 if test "X$opt_dry_run" = Xfalse; then if test -n "$shlibpath_var"; then # Export the shlibpath_var. eval "export $shlibpath_var" 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 # 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 } test "$mode" = execute && func_mode_execute ${1+"$@"} # func_mode_finish arg... func_mode_finish () { $opt_debug libdirs="$nonopt" admincmds= if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then for dir do libdirs="$libdirs $dir" done 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 # Exit here if they wanted silent mode. $opt_silent && exit $EXIT_SUCCESS $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\" $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" 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 } test "$mode" = finish && func_mode_finish ${1+"$@"} # 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 # 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 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 # Aesthetically quote the argument. func_quote_for_eval "$arg" install_prog="$install_prog $func_quote_for_eval_result" done test -z "$install_prog" && \ func_fatal_help "you must specify an install program" test -n "$prev" && \ func_fatal_help "the \`$prev' option requires an argument" 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 # Strip any trailing slash from the destination. func_stripname '' '/' "$dest" dest=$func_stripname_result # 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]:[\\/]*) ;; *) for file in $files; do case $file in *.lo) ;; *) func_fatal_help "\`$destdir' must be an absolute directory name" ;; esac done ;; esac # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" staticlibs= future_libdirs= current_libdirs= for file in $files; do # 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 else # Note the libdir as a future libdir. case "$future_libdirs " in *" $libdir "*) ;; *) future_libdirs="$future_libdirs $libdir" ;; esac fi 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 if test -n "$tstripme" && test -n "$striplib"; then func_show_eval "$striplib $destdir/$realname" '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 test "$linkname" != "$realname" \ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" done fi # Do each command in the postinstall commands. lib="$destdir/$realname" func_execute_cmds "$postinstall_cmds" 'exit $?' fi # 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 $?' # Maybe install the static library, too. test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" ;; *.lo) # Install (i.e. copy) a libtool object. # 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 # 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 ;; *) # 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 ;; 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= func_source "$wrapper" # 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 # Install the binary that we compiled earlier. file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` fi 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 func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' $opt_dry_run || if test -n "$outputname"; then ${RM}r "$tmpdir" fi ;; esac done for file in $staticlibs; do func_basename "$file" name="$func_basename_result" # Set up the ranlib parameters. oldlib="$destdir/$name" 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 # Do each command in the postinstall commands. func_execute_cmds "$old_postinstall_cmds" 'exit $?' done test -n "$future_libdirs" && \ func_warning "remember to run \`$progname --finish$future_libdirs'" 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 } test "$mode" = install && func_mode_install ${1+"$@"} # 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 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 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 # 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 } 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 } fi 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 $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 # 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/$my_dlsyms"' else $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms" fi $ECHO >> "$output_objdir/$my_dlsyms" "\ /* 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 $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 }," 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} }; /* 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 #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 compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` fi ;; *) 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 } # 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" } # 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 } # 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="" 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" func_mkdir_p "$my_xdir" 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 func_extract_archives_result="$my_oldobjs" } # 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 $ECHO "\ #! $SHELL # $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. # 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' # 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 # 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 relink_command=\"$relink_command\" # 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 "\ # Find the directory that this script lives in. thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` test \"x\$thisdir\" = \"x\$file\" && thisdir=. # 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 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 file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\` file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` done " } # end: func_emit_wrapper_part1 # 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 # Try to get the absolute directory name. absdir=\`cd \"\$thisdir\" && pwd\` test -n \"\$absdir\" && thisdir=\"\$absdir\" " if test "$fast_install" = yes; then $ECHO "\ program=lt-'$outputname'$exeext progdir=\"\$thisdir/$objdir\" if test ! -f \"\$progdir/\$program\" || { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ test \"X\$file\" != \"X\$progdir/\$program\"; }; then file=\"\$\$-\$program\" if test ! -d \"\$progdir\"; then $MKDIR \"\$progdir\" else $RM \"\$progdir/\$file\" fi" $ECHO "\ # 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 $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 $ECHO "\ if test -f \"\$progdir/\$program\"; then" # 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\" # 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 "\ 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 # 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 # 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}" } # 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 # 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 # 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 < #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 <"))); for (i = 0; i < newargc; i++) { LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : ""))); } EOF 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 cat <<"EOF" } void * xmalloc (size_t num) { void *p = (void *) malloc (num); if (!p) lt_fatal ("Memory exhausted"); return p; } char * xstrdup (const char *string) { return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL; } const char * base_name (const char *name) { const char *base; #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 for (base = name; *name; name++) if (IS_DIR_SEPARATOR (*name)) base = name + 1; return base; } int check_executable (const char *path) { struct stat st; LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!")); if ((!path) || (!*path)) return 0; if ((stat (path, &st) >= 0) && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) return 1; else return 0; } int make_executable (const char *path) { int rval = 0; struct stat st; LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!")); if ((!path) || (!*path)) return 0; if (stat (path, &st) >= 0) { rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); } return rval; } /* 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; LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!")); if ((wrapper == NULL) || (*wrapper == '\0')) return NULL; /* 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 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 (check_executable (concat_name)) return concat_name; XFREE (concat_name); return NULL; } 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; } /* 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); if (!has_symlinks) { return xstrdup (pathspec); } tmp_pathspec = realpath (pathspec, buf); if (tmp_pathspec == 0) { lt_fatal ("Could not follow symlinks for %s", pathspec); } return xstrdup (tmp_pathspec); #endif } char * strendzap (char *str, const char *pat) { size_t len, patlen; assert (str != NULL); assert (pat != NULL); len = strlen (str); patlen = strlen (pat); if (patlen <= len) { str += len - patlen; if (strcmp (str, pat) == 0) *str = '\0'; } return str; } 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"); if (exit_status >= 0) exit (exit_status); } void lt_fatal (const char *message, ...) { va_list ap; va_start (ap, message); lt_error_core (EXIT_FAILURE, "FATAL", message, ap); va_end (ap); } 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 } } 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; } int lt_split_name_value (const char *arg, char** name, char** value) { const char *p; int len; if (!arg || !*arg) return 1; p = strchr (arg, (int)'='); if (!p) return 1; *value = xstrdup (++p); len = strlen (arg) - strlen (*value); *name = XMALLOC (char, len); strncpy (*name, arg, len-1); (*name)[len - 1] = '\0'; return 0; } void lt_opt_process_env_set (const char *arg) { char *name = NULL; char *value = NULL; 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); } void lt_opt_process_env_prepend (const char *arg) { char *name = NULL; char *value = NULL; char *new_value = NULL; if (lt_split_name_value (arg, &name, &value) != 0) { XFREE (name); XFREE (value); lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg); } new_value = lt_extend_str (getenv (name), value, 0); lt_setenv (name, new_value); XFREE (new_value); XFREE (name); XFREE (value); } void lt_opt_process_env_append (const char *arg) { char *name = NULL; char *value = NULL; char *new_value = NULL; if (lt_split_name_value (arg, &name, &value) != 0) { XFREE (name); XFREE (value); lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg); } new_value = lt_extend_str (getenv (name), value, 1); lt_setenv (name, new_value); XFREE (new_value); XFREE (name); XFREE (value); } 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 : ""))); 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); } } 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 : ""))); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); lt_setenv (name, new_value); XFREE (new_value); } } EOF } # end: func_emit_cwrapperexe_src # 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 # 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 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= 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 # 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 if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; -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 build_libtool_libs=no build_old_libs=yes break ;; esac done # See if our shared archives depend on static archives. test -n "$old_archive_from_new_cmds" && build_old_libs=yes # 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" # 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 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 ;; *) if test "$prev" = dlfiles; then dlfiles="$dlfiles $arg" else dlprefiles="$dlprefiles $arg" fi prev= continue ;; esac ;; 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. # 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 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 fi # test -n "$prev" prevarg="$arg" 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 ;; -allow-undefined) # FIXME: remove this flag sometime in the future. func_fatal_error "\`-allow-undefined' must not be used because it is the default" ;; -avoid-version) avoid_version=yes continue ;; -dlopen) prev=dlfiles continue ;; -dlpreopen) prev=dlprefiles continue ;; -export-dynamic) export_dynamic=yes continue ;; -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 ;; -framework) prev=framework continue ;; -inst-prefix-dir) prev=inst_prefix continue ;; # 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*) func_append compile_command " $arg" func_append finalize_command " $arg" ;; esac continue ;; -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 ;; -l*) if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*) # 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 System.ltframework" 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 ;; -module) module=yes continue ;; # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. # Darwin uses the -arch flag to determine output architecture. -model|-arch|-isysroot) compiler_flags="$compiler_flags $arg" func_append compile_command " $arg" func_append finalize_command " $arg" prev=xcompiler continue ;; -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 ;; -multi_module) single_module="${wl}-multi_module" continue ;; -no-fast-install) fast_install=no continue ;; -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 ;; -no-undefined) allow_undefined=no continue ;; -objectlist) prev=objectlist continue ;; -o) prev=output ;; -precious-files-regex) prev=precious_regex continue ;; -release) prev=release continue ;; -rpath) prev=rpath continue ;; -R) prev=xrpath continue ;; -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 ;; -shared) # The effects of -shared are defined in a previous loop. continue ;; -shrext) prev=shrext continue ;; -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 ;; -thread-safe) thread_safe=yes continue ;; -version-info) prev=vinfo continue ;; -version-number) prev=vinfo vinfo_number=yes continue ;; -weak) prev=weak continue ;; -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 ;; -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 ;; -Xcompiler) prev=xcompiler continue ;; -Xlinker) prev=xlinker continue ;; -XCClinker) prev=xcclinker continue ;; # -msg_* for osf cc -msg_*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; # -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 ;; # Some other compiler flag. -* | +*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; *.$objext) # A standard object. objs="$objs $arg" ;; *.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 shlib_search_path= fi eval sys_lib_search_path=\"$sys_lib_search_path_spec\" eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" func_dirname "$output" "/" "" output_objdir="$func_dirname_result$objdir" # Create the object directory. func_mkdir_p "$output_objdir" # 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 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 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 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 # 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 -n "$soname_spec"; then eval soname=\"$soname_spec\" else soname="$realname" fi if test -z "$dlname"; then dlname=$soname fi lib="$output_objdir/$realname" linknames= for link do linknames="$linknames $link" done # 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= 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 # 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 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 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 -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" func_extract_archives $gentop $convenience libobjs="$libobjs $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi fi if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then eval flag=\"$thread_safe_flag_spec\" linker_flags="$linker_flags $flag" fi # 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 # 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 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. # 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"` # Clear the reloadable object creation command queue and # initialize k to one. test_cmds= concat_cmds= objlist= last_robj= k=1 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 ${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 test -n "$save_libobjs" && func_verbose "creating a temporary reloadable object file: $output" # 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 exit $lt_exit } done IFS="$save_ifs" 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 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 libobjs=$output # Restore the value of output. output=$save_output 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. # 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 fi if test -n "$delfiles"; then # Append the command to remove temporary files to $cmds. eval cmds=\"\$cmds~\$RM $delfiles\" fi # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $dlprefiles libobjs="$libobjs $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= 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=$? # Restore the uninstalled library and exit if test "$mode" = relink; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS="$save_ifs" # 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 $? if test -n "$convenience"; then if test -z "$whole_archive_flag_spec"; then func_show_eval '${RM}r "$gentop"' fi fi exit $EXIT_SUCCESS fi # 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 # 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 ;; obj) if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then func_warning "\`-dlopen' is ignored for objects" fi 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 ;; *) libobj= obj="$output" ;; esac # Delete the old objects. $opt_dry_run || $RM $obj $libobj # 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 "$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" func_extract_archives $gentop $convenience reload_conv_objs="$reload_objs $func_extract_archives_result" fi fi # 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 output="$obj" func_execute_cmds "$reload_cmds" 'exit $?' # 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 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 ;; 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" test -n "$release" && \ func_warning "\`-release' is ignored for programs" 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 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 # 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" compile_command="$compile_command $compile_deplibs" finalize_command="$finalize_command $finalize_deplibs" 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 # 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* | *-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" 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" 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 func_generate_dlsyms "$outputname" "@PROGRAM@" "no" # template prelinking step if test -n "$prelink_cmds"; then func_execute_cmds "$prelink_cmds" 'exit $?' 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" # We have no uninstalled library dependencies, so finalize right now. exit_status=0 func_show_eval "$link_command" 'exit_status=$?' # Delete the generated files. if test -f "$output_objdir/${outputname}S.${objext}"; then func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' fi exit $exit_status 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 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 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 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 link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" fi fi # Replace the output file specification. link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` # Delete the old output files. $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname func_show_eval "$link_command" 'exit $?' # Now create the wrapper script. func_verbose "creating $output" # 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 func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done relink_command="(cd `pwd`; $relink_command)" relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"` fi # 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 # 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 } # 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 func_emit_wrapper no > $output chmod +x $output ;; esac } exit $EXIT_SUCCESS ;; esac # See if we need to build an old-fashioned archive. for oldlib in $oldlibs; do 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 if test -n "$addlibs"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $addlibs oldobjs="$oldobjs $func_extract_archives_result" 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 # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $dlprefiles oldobjs="$oldobjs $func_extract_archives_result" fi # 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 fi eval cmds=\"$old_archive_cmds\" 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 test -n "$generated" && \ func_show_eval "${RM}r$generated" # Now create the libtool archive. case $output in *.la) old_library= test "$build_old_libs" = yes && old_library="$libname.$libext" func_verbose "creating $output" # 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 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 # 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. # 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' # Linker flags that can not go in dependency_libs. inherited_linker_flags='$new_inherited_linker_flags' # Libraries that this one depends upon. dependency_libs='$dependency_libs' # Names of additional weak libraries provided by this library weak_library_names='$weak_libs' # Version information for $libname. current=$current age=$age revision=$revision # Is this an already installed library? installed=$installed # Should we warn about portability when linking against -modules? shouldnotlink=$module # Files to dlopen/dlpreopen dlopen='$dlfiles' dlpreopen='$dlprefiles' # 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 } # 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 } { test "$mode" = link || test "$mode" = relink; } && func_mode_link ${1+"$@"} # func_mode_uninstall arg... func_mode_uninstall () { $opt_debug RM="$nonopt" files= rmforce= exit_status=0 # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" for arg do case $arg in -f) RM="$RM $arg"; rmforce=yes ;; -*) RM="$RM $arg" ;; *) files="$files $arg" ;; esac done test -z "$RM" && \ func_fatal_help "you must specify an RM program" rmdirs= origobjdir="$objdir" for file in $files; do func_dirname "$file" "" "." dir="$func_dirname_result" if test "X$dir" = X.; then objdir="$origobjdir" else objdir="$dir/$origobjdir" fi func_basename "$file" name="$func_basename_result" test "$mode" = uninstall && objdir="$dir" # Remember objdir for removal later, being careful to avoid duplicates if test "$mode" = clean; then case " $rmdirs " in *" $objdir "*) ;; *) rmdirs="$rmdirs $objdir" ;; esac 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 : elif test -d "$file"; then exit_status=1 continue elif test "$rmforce" = yes; then continue fi rmfiles="$file" case $name in *.la) # Possibly a libtool archive, so verify it. if func_lalib_p "$file"; then func_source $dir/$name # Delete the libtool libraries and symlinks. for n in $library_names; do rmfiles="$rmfiles $objdir/$n" done test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" case "$mode" in clean) case " $library_names " in # " " in the beginning catches empty $dlname *" $dlname "*) ;; *) rmfiles="$rmfiles $objdir/$dlname" ;; esac test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. 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. func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi # FIXME: should reinstall the best remaining shared library. ;; esac fi ;; *.lo) # Possibly a libtool object, so verify it. if func_lalib_p "$file"; then # Read the .lo file func_source $dir/$name # Add PIC object to the list of files to remove. 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 rmfiles="$rmfiles $dir/$non_pic_object" fi fi ;; *) if test "$mode" = clean ; then noexename=$name case $file in *.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 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 rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" if test "$fast_install" = yes && test -n "$relink_command"; then rmfiles="$rmfiles $objdir/lt-$name" fi if test "X$noexename" != "X$name" ; then rmfiles="$rmfiles $objdir/lt-${noexename}.c" fi fi fi ;; esac 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 func_show_eval "rmdir $dir >/dev/null 2>&1" fi done exit $exit_status } { test "$mode" = uninstall || test "$mode" = clean; } && func_mode_uninstall ${1+"$@"} 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" exit $EXIT_FAILURE fi exit $exit_status # The TAGs below are defined such that we never get into a situation # in which we disable both kinds of libraries. Given conflicting # choices, we go for a static library, that is the most portable, # since we can't tell whether shared libraries were disabled because # the user asked for that or because the platform doesn't support # them. This is particularly important on AIX, because we don't # support having both static and shared libraries enabled at the same # time on that platform, so we default to a shared-only configuration. # If a disable-shared tag is given, we'll fallback to a static-only # configuration. But we'll never go from static-only to shared-only. # ### BEGIN LIBTOOL TAG CONFIG: disable-shared build_libtool_libs=no build_old_libs=yes # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-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 popt-1.16/poptint.c0000664000076400007640000001103411325177456011231 00000000000000#include "system.h" #include #include "poptint.h" /* Any pair of 32 bit hashes can be used. lookup3.c generates pairs, will do. */ #define _JLU3_jlu32lpair 1 #define jlu32lpair poptJlu32lpair #include "lookup3.c" /*@-varuse +charint +ignoresigns @*/ /*@unchecked@*/ /*@observer@*/ static const unsigned char utf8_skip_data[256] = { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,6,6,1,1 }; /*@=varuse =charint =ignoresigns @*/ const char * POPT_prev_char (const char *str) { const char *p = str; while (1) { p--; if (((unsigned)*p & 0xc0) != (unsigned)0x80) return p; } } const char * POPT_next_char (const char *str) { const char *p = str; while (*p != '\0') { p++; if (((unsigned)*p & 0xc0) != (unsigned)0x80) break; } return p; } #if !defined(POPT_fprintf) /* XXX lose all the goop ... */ #if defined(HAVE_DCGETTEXT) && !defined(__LCLINT__) /* * Rebind a "UTF-8" codeset for popt's internal use. */ char * POPT_dgettext(const char * dom, const char * str) { char * codeset = NULL; char * retval = NULL; if (!dom) dom = textdomain(NULL); codeset = bind_textdomain_codeset(dom, NULL); bind_textdomain_codeset(dom, "UTF-8"); retval = dgettext(dom, str); bind_textdomain_codeset(dom, codeset); return retval; } #endif #ifdef HAVE_ICONV /** * Return malloc'd string converted from UTF-8 to current locale. * @param istr input string (UTF-8 encoding assumed) * @return localized string */ static /*@only@*/ /*@null@*/ char * strdup_locale_from_utf8 (/*@null@*/ char * istr) /*@*/ { char * codeset = NULL; char * ostr = NULL; iconv_t cd; if (istr == NULL) return NULL; #ifdef HAVE_LANGINFO_H codeset = nl_langinfo ((nl_item)CODESET); #endif if (codeset != NULL && strcmp(codeset, "UTF-8") != 0 && (cd = iconv_open(codeset, "UTF-8")) != (iconv_t)-1) { char * shift_pin = NULL; size_t db = strlen(istr); /*@owned@*/ char * dstr = malloc((db + 1) * sizeof(*dstr)); char * pin = istr; char * pout = dstr; size_t ib = db; size_t ob = db; size_t err; if (dstr == NULL) return NULL; err = iconv(cd, NULL, NULL, NULL, NULL); while (1) { *pout = '\0'; err = iconv(cd, &pin, &ib, &pout, &ob); if (err != (size_t)-1) { if (shift_pin == NULL) { shift_pin = pin; pin = NULL; ib = 0; continue; } } else switch (errno) { case E2BIG: { size_t used = (size_t)(pout - dstr); db *= 2; dstr = realloc(dstr, (db + 1) * sizeof(*dstr)); if (dstr != NULL) { pout = dstr + used; ob = db - used; continue; } } /*@switchbreak@*/ break; case EINVAL: case EILSEQ: default: /*@switchbreak@*/ break; } break; } (void) iconv_close(cd); *pout = '\0'; ostr = xstrdup(dstr); free(dstr); } else ostr = xstrdup(istr); return ostr; } #endif int POPT_fprintf (FILE * stream, const char * format, ...) { char * b = NULL, * ob = NULL; int rc; va_list ap; #if defined(HAVE_VASPRINTF) && !defined(__LCLINT__) va_start(ap, format); if ((rc = vasprintf(&b, format, ap)) < 0) b = NULL; va_end(ap); #else size_t nb = (size_t)1; /* HACK: add +1 to the realloc no. of bytes "just in case". */ /* XXX Likely unneeded, the issues wrto vsnprintf(3) return b0rkage have * to do with whether the final '\0' is counted (or not). The code * below already adds +1 for the (possibly already counted) trailing NUL. */ while ((b = realloc(b, nb+1)) != NULL) { va_start(ap, format); rc = vsnprintf(b, nb, format, ap); va_end(ap); if (rc > -1) { /* glibc 2.1 */ if ((size_t)rc < nb) break; nb = (size_t)(rc + 1); /* precise buffer length known */ } else /* glibc 2.0 */ nb += (nb < (size_t)100 ? (size_t)100 : nb); ob = b; } #endif rc = 0; if (b != NULL) { #ifdef HAVE_ICONV ob = strdup_locale_from_utf8(b); if (ob != NULL) { rc = fprintf(stream, "%s", ob); free(ob); } else #endif rc = fprintf(stream, "%s", b); free (b); } return rc; } #endif /* !defined(POPT_fprintf) */ popt-1.16/poptconfig.c0000664000076400007640000003234011205001417011663 00000000000000/** \ingroup popt * \file popt/poptconfig.c */ /* (C) 1998-2002 Red Hat, Inc. -- Licensing details are in the COPYING file accompanying popt source distributions, available from ftp://ftp.rpm.org/pub/rpm/dist. */ #include "system.h" #include "poptint.h" #include #if defined(HAVE_FNMATCH_H) #include #if defined(__LCLINT__) /*@-declundef -exportheader -incondefs -protoparammatch -redecl -type @*/ extern int fnmatch (const char *__pattern, const char *__name, int __flags) /*@*/; /*@=declundef =exportheader =incondefs =protoparammatch =redecl =type @*/ #endif /* __LCLINT__ */ #endif #if defined(HAVE_GLOB_H) #include #if defined(__LCLINT__) /*@-declundef -exportheader -incondefs -protoparammatch -redecl -type @*/ extern int glob (const char *__pattern, int __flags, /*@null@*/ int (*__errfunc) (const char *, int), /*@out@*/ glob_t *__pglob) /*@globals errno, fileSystem @*/ /*@modifies *__pglob, errno, fileSystem @*/; /* XXX only annotation is a white lie */ extern void globfree (/*@only@*/ glob_t *__pglob) /*@modifies *__pglob @*/; /* XXX _GNU_SOURCE ifdef and/or retrofit is needed for portability. */ extern int glob_pattern_p (const char *__pattern, int __quote) /*@*/; /*@=declundef =exportheader =incondefs =protoparammatch =redecl =type @*/ #endif /* __LCLINT__ */ #if !defined(__GLIBC__) /* Return nonzero if PATTERN contains any metacharacters. Metacharacters can be quoted with backslashes if QUOTE is nonzero. */ static int glob_pattern_p (const char * pattern, int quote) /*@*/ { const char * p; int open = 0; for (p = pattern; *p != '\0'; ++p) switch (*p) { case '?': case '*': return 1; /*@notreached@*/ /*@switchbreak@*/ break; case '\\': if (quote && p[1] != '\0') ++p; /*@switchbreak@*/ break; case '[': open = 1; /*@switchbreak@*/ break; case ']': if (open) return 1; /*@switchbreak@*/ break; } return 0; } #endif /* !defined(__GLIBC__) */ /*@unchecked@*/ static int poptGlobFlags = 0; static int poptGlob_error(/*@unused@*/ UNUSED(const char * epath), /*@unused@*/ UNUSED(int eerrno)) /*@*/ { return 1; } #endif /* HAVE_GLOB_H */ /** * Return path(s) from a glob pattern. * @param con context * @param pattern glob pattern * @retval *acp no. of paths * @retval *avp array of paths * @return 0 on success */ static int poptGlob(/*@unused@*/ UNUSED(poptContext con), const char * pattern, /*@out@*/ int * acp, /*@out@*/ const char *** avp) /*@modifies *acp, *avp @*/ { const char * pat = pattern; int rc = 0; /* assume success */ /* XXX skip the attention marker. */ if (pat[0] == '@' && pat[1] != '(') pat++; #if defined(HAVE_GLOB_H) if (glob_pattern_p(pat, 0)) { glob_t _g, *pglob = &_g; if (!glob(pat, poptGlobFlags, poptGlob_error, pglob)) { if (acp) { *acp = (int) pglob->gl_pathc; pglob->gl_pathc = 0; } if (avp) { /*@-onlytrans@*/ *avp = (const char **) pglob->gl_pathv; /*@=onlytrans@*/ pglob->gl_pathv = NULL; } /*@-nullstate@*/ globfree(pglob); /*@=nullstate@*/ } else rc = POPT_ERROR_ERRNO; } else #endif /* HAVE_GLOB_H */ { if (acp) *acp = 1; if (avp && (*avp = calloc((size_t)(1 + 1), sizeof (**avp))) != NULL) (*avp)[0] = xstrdup(pat); } return rc; } /*@access poptContext @*/ int poptSaneFile(const char * fn) { struct stat sb; uid_t uid = getuid(); if (stat(fn, &sb) == -1) return 1; if ((uid_t)sb.st_uid != uid) return 0; if (!S_ISREG(sb.st_mode)) return 0; /*@-bitwisesigned@*/ if (sb.st_mode & (S_IWGRP|S_IWOTH)) return 0; /*@=bitwisesigned@*/ return 1; } int poptReadFile(const char * fn, char ** bp, size_t * nbp, int flags) { int fdno; char * b = NULL; off_t nb = 0; char * s, * t, * se; int rc = POPT_ERROR_ERRNO; /* assume failure */ fdno = open(fn, O_RDONLY); if (fdno < 0) goto exit; if ((nb = lseek(fdno, 0, SEEK_END)) == (off_t)-1 || lseek(fdno, 0, SEEK_SET) == (off_t)-1 || (b = calloc(sizeof(*b), (size_t)nb + 1)) == NULL || read(fdno, (char *)b, (size_t)nb) != (ssize_t)nb) { int oerrno = errno; (void) close(fdno); errno = oerrno; goto exit; } if (close(fdno) == -1) goto exit; if (b == NULL) { rc = POPT_ERROR_MALLOC; goto exit; } rc = 0; /* Trim out escaped newlines. */ /*@-bitwisesigned@*/ if (flags & POPT_READFILE_TRIMNEWLINES) /*@=bitwisesigned@*/ { for (t = b, s = b, se = b + nb; *s && s < se; s++) { switch (*s) { case '\\': if (s[1] == '\n') { s++; continue; } /*@fallthrough@*/ default: *t++ = *s; /*@switchbreak@*/ break; } } *t++ = '\0'; nb = (off_t)(t - b); } exit: if (rc != 0) { /*@-usedef@*/ if (b) free(b); /*@=usedef@*/ b = NULL; nb = 0; } if (bp) *bp = b; /*@-usereleased@*/ else if (b) free(b); /*@=usereleased@*/ if (nbp) *nbp = (size_t)nb; /*@-compdef -nullstate @*/ /* XXX cannot annotate char ** correctly */ return rc; /*@=compdef =nullstate @*/ } /** * Check for application match. * @param con context * @param s config application name * return 0 if config application matches */ static int configAppMatch(poptContext con, const char * s) /*@*/ { int rc = 1; if (con->appName == NULL) /* XXX can't happen. */ return rc; #if defined(HAVE_GLOB_H) && defined(HAVE_FNMATCH_H) if (glob_pattern_p(s, 1)) { /*@-bitwisesigned@*/ static int flags = FNM_PATHNAME | FNM_PERIOD; #ifdef FNM_EXTMATCH flags |= FNM_EXTMATCH; #endif /*@=bitwisesigned@*/ rc = fnmatch(s, con->appName, flags); } else #endif rc = strcmp(s, con->appName); return rc; } /*@-compmempass@*/ /* FIX: item->option.longName kept, not dependent. */ static int poptConfigLine(poptContext con, char * line) /*@globals fileSystem, internalState @*/ /*@modifies con, fileSystem, internalState @*/ { char *b = NULL; size_t nb = 0; char * se = line; const char * appName; const char * entryType; const char * opt; struct poptItem_s item_buf; poptItem item = &item_buf; int i, j; int rc = POPT_ERROR_BADCONFIG; if (con->appName == NULL) goto exit; memset(item, 0, sizeof(*item)); appName = se; while (*se != '\0' && !_isspaceptr(se)) se++; if (*se == '\0') goto exit; else *se++ = '\0'; if (configAppMatch(con, appName)) goto exit; while (*se != '\0' && _isspaceptr(se)) se++; entryType = se; while (*se != '\0' && !_isspaceptr(se)) se++; if (*se != '\0') *se++ = '\0'; while (*se != '\0' && _isspaceptr(se)) se++; if (*se == '\0') goto exit; opt = se; while (*se != '\0' && !_isspaceptr(se)) se++; if (opt[0] == '-' && *se == '\0') goto exit; if (*se != '\0') *se++ = '\0'; while (*se != '\0' && _isspaceptr(se)) se++; if (opt[0] == '-' && *se == '\0') goto exit; /*@-temptrans@*/ /* FIX: line alias is saved */ if (opt[0] == '-' && opt[1] == '-') item->option.longName = opt + 2; else if (opt[0] == '-' && opt[2] == '\0') item->option.shortName = opt[1]; else { const char * fn = opt; /* XXX handle globs and directories in fn? */ if ((rc = poptReadFile(fn, &b, &nb, POPT_READFILE_TRIMNEWLINES)) != 0) goto exit; if (b == NULL || nb == 0) goto exit; /* Append remaining text to the interpolated file option text. */ if (*se != '\0') { size_t nse = strlen(se) + 1; if ((b = realloc(b, (nb + nse))) == NULL) /* XXX can't happen */ goto exit; (void) stpcpy( stpcpy(&b[nb-1], " "), se); nb += nse; } se = b; /* Use the basename of the path as the long option name. */ { const char * longName = strrchr(fn, '/'); if (longName != NULL) longName++; else longName = fn; if (longName == NULL) /* XXX can't happen. */ goto exit; /* Single character basenames are treated as short options. */ if (longName[1] != '\0') item->option.longName = longName; else item->option.shortName = longName[0]; } } /*@=temptrans@*/ if (poptParseArgvString(se, &item->argc, &item->argv)) goto exit; /*@-modobserver@*/ item->option.argInfo = POPT_ARGFLAG_DOC_HIDDEN; for (i = 0, j = 0; i < item->argc; i++, j++) { const char * f; if (!strncmp(item->argv[i], "--POPTdesc=", sizeof("--POPTdesc=")-1)) { f = item->argv[i] + sizeof("--POPTdesc="); if (f[0] == '$' && f[1] == '"') f++; item->option.descrip = f; item->option.argInfo &= ~POPT_ARGFLAG_DOC_HIDDEN; j--; } else if (!strncmp(item->argv[i], "--POPTargs=", sizeof("--POPTargs=")-1)) { f = item->argv[i] + sizeof("--POPTargs="); if (f[0] == '$' && f[1] == '"') f++; item->option.argDescrip = f; item->option.argInfo &= ~POPT_ARGFLAG_DOC_HIDDEN; item->option.argInfo |= POPT_ARG_STRING; j--; } else if (j != i) item->argv[j] = item->argv[i]; } if (j != i) { item->argv[j] = NULL; item->argc = j; } /*@=modobserver@*/ /*@-nullstate@*/ /* FIX: item->argv[] may be NULL */ if (!strcmp(entryType, "alias")) rc = poptAddItem(con, item, 0); else if (!strcmp(entryType, "exec")) rc = poptAddItem(con, item, 1); /*@=nullstate@*/ exit: rc = 0; /* XXX for now, always return success */ if (b) free(b); return rc; } /*@=compmempass@*/ int poptReadConfigFile(poptContext con, const char * fn) { char * b = NULL, *be; size_t nb = 0; const char *se; char *t, *te; int rc; int xx; if ((rc = poptReadFile(fn, &b, &nb, POPT_READFILE_TRIMNEWLINES)) != 0) return (errno == ENOENT ? 0 : rc); if (b == NULL || nb == 0) return POPT_ERROR_BADCONFIG; if ((t = malloc(nb + 1)) == NULL) goto exit; te = t; be = (b + nb); for (se = b; se < be; se++) { switch (*se) { case '\n': *te = '\0'; te = t; while (*te && _isspaceptr(te)) te++; if (*te && *te != '#') xx = poptConfigLine(con, te); /*@switchbreak@*/ break; /*@-usedef@*/ /* XXX *se may be uninitialized */ case '\\': *te = *se++; /* \ at the end of a line does not insert a \n */ if (se < be && *se != '\n') { te++; *te++ = *se; } /*@switchbreak@*/ break; default: *te++ = *se; /*@switchbreak@*/ break; /*@=usedef@*/ } } free(t); rc = 0; exit: if (b) free(b); return rc; } int poptReadConfigFiles(poptContext con, const char * paths) { char * buf = (paths ? xstrdup(paths) : NULL); const char * p; char * pe; int rc = 0; /* assume success */ for (p = buf; p != NULL && *p != '\0'; p = pe) { const char ** av = NULL; int ac = 0; int i; int xx; /* locate start of next path element */ pe = strchr(p, ':'); if (pe != NULL && *pe == ':') *pe++ = '\0'; else pe = (char *) (p + strlen(p)); xx = poptGlob(con, p, &ac, &av); /* work-off each resulting file from the path element */ for (i = 0; i < ac; i++) { const char * fn = av[i]; if (av[i] == NULL) /* XXX can't happen */ /*@innercontinue@*/ continue; /* XXX should '@' attention be pushed into poptReadConfigFile? */ if (p[0] == '@' && p[1] != '(') { if (fn[0] == '@' && fn[1] != '(') fn++; xx = poptSaneFile(fn); if (!xx && rc == 0) rc = POPT_ERROR_BADCONFIG; /*@innercontinue@*/ continue; } xx = poptReadConfigFile(con, fn); if (xx && rc == 0) rc = xx; free((void *)av[i]); av[i] = NULL; } free(av); av = NULL; } /*@-usedef@*/ if (buf) free(buf); /*@=usedef@*/ return rc; } int poptReadDefaultConfig(poptContext con, /*@unused@*/ UNUSED(int useEnv)) { static const char _popt_sysconfdir[] = POPT_SYSCONFDIR "/popt"; static const char _popt_etc[] = "/etc/popt"; char * home; struct stat sb; int rc = 0; /* assume success */ if (con->appName == NULL) goto exit; if (strcmp(_popt_sysconfdir, _popt_etc)) { rc = poptReadConfigFile(con, _popt_sysconfdir); if (rc) goto exit; } rc = poptReadConfigFile(con, _popt_etc); if (rc) goto exit; #if defined(HAVE_GLOB_H) if (!stat("/etc/popt.d", &sb) && S_ISDIR(sb.st_mode)) { const char ** av = NULL; int ac = 0; int i; if ((rc = poptGlob(con, "/etc/popt.d/*", &ac, &av)) == 0) { for (i = 0; rc == 0 && i < ac; i++) { const char * fn = av[i]; if (fn == NULL || strstr(fn, ".rpmnew") || strstr(fn, ".rpmsave")) continue; if (!stat(fn, &sb)) { if (!S_ISREG(sb.st_mode) && !S_ISLNK(sb.st_mode)) continue; } rc = poptReadConfigFile(con, fn); free((void *)av[i]); av[i] = NULL; } free(av); av = NULL; } } if (rc) goto exit; #endif if ((home = getenv("HOME"))) { char * fn = malloc(strlen(home) + 20); if (fn != NULL) { (void) stpcpy(stpcpy(fn, home), "/.popt"); rc = poptReadConfigFile(con, fn); free(fn); } else rc = POPT_ERROR_ERRNO; if (rc) goto exit; } exit: return rc; } poptContext poptFini(poptContext con) { return poptFreeContext(con); } poptContext poptInit(int argc, const char ** argv, const struct poptOption * options, const char * configPaths) { poptContext con = NULL; const char * argv0; if (argv == NULL || argv[0] == NULL || options == NULL) return con; if ((argv0 = strrchr(argv[0], '/')) != NULL) argv0++; else argv0 = argv[0]; con = poptGetContext(argv0, argc, (const char **)argv, options, 0); if (con != NULL&& poptReadConfigFiles(con, configPaths)) con = poptFini(con); return con; } popt-1.16/m4/0000775000076400007640000000000011370105011007743 500000000000000popt-1.16/m4/iconv.m40000644000076400007640000001375311370104726011266 00000000000000# iconv.m4 serial AM6 (gettext-0.17) dnl Copyright (C) 2000-2002, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], [ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_LIB_LINKFLAGS_BODY([iconv]) ]) AC_DEFUN([AM_ICONV_LINK], [ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and dnl those with the standalone portable GNU libiconv installed). AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) dnl Add $INCICONV to CPPFLAGS before performing the following checks, dnl because if the user has installed libiconv and not disabled its use dnl via --without-libiconv-prefix, he wants to use it. The first dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. am_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) AC_CACHE_CHECK([for iconv], am_cv_func_iconv, [ am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], am_cv_func_iconv=yes) if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], am_cv_lib_iconv=yes am_cv_func_iconv=yes) LIBS="$am_save_LIBS" fi ]) if test "$am_cv_func_iconv" = yes; then AC_CACHE_CHECK([for working iconv], am_cv_func_iconv_works, [ dnl This tests against bugs in AIX 5.1 and HP-UX 11.11. am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi AC_TRY_RUN([ #include #include int main () { /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { static const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } #if 0 /* This bug could be worked around by the caller. */ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ { iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) return 1; } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) return 1; return 0; }], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no], [case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac]) LIBS="$am_save_LIBS" ]) case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; *) am_func_iconv=yes ;; esac else am_func_iconv=no am_cv_lib_iconv=no fi if test "$am_func_iconv" = yes; then AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function and it works.]) fi if test "$am_cv_lib_iconv" = yes; then AC_MSG_CHECKING([how to link with libiconv]) AC_MSG_RESULT([$LIBICONV]) else dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV dnl either. CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi AC_SUBST(LIBICONV) AC_SUBST(LTLIBICONV) ]) AC_DEFUN([AM_ICONV], [ AM_ICONV_LINK if test "$am_cv_func_iconv" = yes; then AC_MSG_CHECKING([for iconv declaration]) AC_CACHE_VAL(am_cv_proto_iconv, [ AC_TRY_COMPILE([ #include #include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); #endif ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` AC_MSG_RESULT([$]{ac_t:- }[$]am_cv_proto_iconv) AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, [Define as const if the declaration of iconv() needs const.]) fi ]) popt-1.16/m4/ltversion.m40000644000076400007640000000127511370104722012165 00000000000000# 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) ]) popt-1.16/m4/progtest.m40000644000076400007640000000555011370104727012014 00000000000000# progtest.m4 serial 4 (gettext-0.14.2) dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1996. AC_PREREQ(2.50) # Search path for a program which passes the given test. dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) AC_DEFUN([AM_PATH_PROG_WITH_TEST], [ # Prepare PATH_SEPARATOR. # 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 # Find out how to test for executable files. 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 ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) AC_CACHE_VAL(ac_cv_path_$1, [case "[$]$1" in [[\\/]]* | ?:[[\\/]]*) ac_cv_path_$1="[$]$1" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in ifelse([$5], , $PATH, [$5]); do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD if [$3]; then ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" dnl If no 4th arg is given, leave the cache variable unset, dnl so AC_PATH_PROGS will keep looking. ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" ])dnl ;; esac])dnl $1="$ac_cv_path_$1" if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then AC_MSG_RESULT([$]$1) else AC_MSG_RESULT(no) fi AC_SUBST($1)dnl ]) popt-1.16/m4/ltoptions.m40000644000076400007640000002724211370104721012174 00000000000000# 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. # serial 6 ltoptions.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) # _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) # ------------------------------------------ m4_define([_LT_MANGLE_OPTION], [[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) # _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])]) # _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_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 ## --------------------------------- ## ## Macros to handle LT_INIT options. ## ## --------------------------------- ## # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) # ----------------------------------------- m4_define([_LT_MANGLE_DEFUN], [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) # 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 # dlopen # ------ LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes ]) 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.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) # win32-dll # --------- # Declare package support for building win32 dll's. LT_OPTION_DEFINE([LT_INIT], [win32-dll], [enable_win32_dll=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 test -z "$AS" && AS=as _LT_DECL([], [AS], [0], [Assembler program])dnl test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl ])# win32-dll 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.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) # _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) _LT_DECL([build_libtool_libs], [enable_shared], [0], [Whether or not to build shared libraries]) ])# _LT_ENABLE_SHARED LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) # Old names: AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) ]) AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) ]) AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_SHARED], []) dnl AC_DEFUN([AM_DISABLE_SHARED], []) # _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) _LT_DECL([build_old_libs], [enable_static], [0], [Whether or not to build static libraries]) ])# _LT_ENABLE_STATIC LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) # Old names: AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) ]) AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) ]) AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_STATIC], []) dnl AC_DEFUN([AM_DISABLE_STATIC], []) # _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) _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.]) ]) 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.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) # _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]) test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl ])# _LT_WITH_PIC LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) # 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.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) ## ----------------- ## ## LTDL_INIT Options ## ## ----------------- ## 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])]) popt-1.16/m4/ltsugar.m40000644000076400007640000001042411370104722011615 00000000000000# ltsugar.m4 -- libtool m4 base layer. -*-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. # serial 6 ltsugar.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) # 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_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])]) # 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])]) # lt_dict_add(DICT, KEY, VALUE) # ----------------------------- m4_define([lt_dict_add], [m4_define([$1($2)], [$3])]) # 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 ]) popt-1.16/m4/gettext.m40000644000076400007640000003457011370104725011633 00000000000000# gettext.m4 serial 60 (gettext-0.17) dnl Copyright (C) 1995-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2006. dnl Macro to add for using GNU gettext. dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The dnl default (if it is not specified or empty) is 'no-libtool'. dnl INTLSYMBOL should be 'external' for packages with no intl directory, dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. dnl If INTLSYMBOL is 'use-libtool', then a libtool library dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, dnl depending on --{enable,disable}-{shared,static} and on the presence of dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library dnl $(top_builddir)/intl/libintl.a will be created. dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext dnl implementations (in libc or libintl) without the ngettext() function dnl will be ignored. If NEEDSYMBOL is specified and is dnl 'need-formatstring-macros', then GNU gettext implementations that don't dnl support the ISO C 99 formatstring macros will be ignored. dnl INTLDIR is used to find the intl libraries. If empty, dnl the value `$(top_builddir)/intl/' is used. dnl dnl The result of the configuration is one of three cases: dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled dnl and used. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 2) GNU gettext has been found in the system's C library. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 3) No internationalization, always use English msgid. dnl Catalog format: none dnl Catalog extension: none dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. dnl The use of .gmo is historical (it was needed to avoid overwriting the dnl GNU format catalogs when building on a platform with an X/Open gettext), dnl but we keep it in order not to force irrelevant filename changes on the dnl maintainers. dnl AC_DEFUN([AM_GNU_GETTEXT], [ dnl Argument checking. ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT ])])])])]) ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT ])])])]) define([gt_included_intl], ifelse([$1], [external], ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), [yes])) define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) gt_NEEDS_INIT AM_GNU_GETTEXT_NEED([$2]) AC_REQUIRE([AM_PO_SUBDIRS])dnl ifelse(gt_included_intl, yes, [ AC_REQUIRE([AM_INTL_SUBDIR])dnl ]) dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Sometimes libintl requires libiconv, so first search for libiconv. dnl Ideally we would do this search only after the dnl if test "$USE_NLS" = "yes"; then dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT dnl the configure script would need to contain the same shell code dnl again, outside any 'if'. There are two solutions: dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not dnl documented, we avoid it. ifelse(gt_included_intl, yes, , [ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) ]) dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation. gt_INTL_MACOSX dnl Set USE_NLS. AC_REQUIRE([AM_NLS]) ifelse(gt_included_intl, yes, [ BUILD_INCLUDED_LIBINTL=no USE_INCLUDED_LIBINTL=no ]) LIBINTL= LTLIBINTL= POSUB= dnl Add a version number to the cache macros. case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" dnl If we use NLS figure out what method if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no ifelse(gt_included_intl, yes, [ AC_MSG_CHECKING([whether included gettext is requested]) AC_ARG_WITH(included-gettext, [ --with-included-gettext use the GNU gettext library included here], nls_cv_force_use_gnu_gettext=$withval, nls_cv_force_use_gnu_gettext=no) AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" if test "$nls_cv_force_use_gnu_gettext" != "yes"; then ]) dnl User does not insist on using GNU NLS library. Figure out what dnl to use. If GNU gettext is available we use this. Else we have dnl to fall back to GNU NLS library. if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif changequote(,)dnl typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; changequote([,])dnl ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], [AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings;], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings], [eval "$gt_func_gnugettext_libc=yes"], [eval "$gt_func_gnugettext_libc=no"])]) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl Sometimes libintl requires libiconv, so first search for libiconv. ifelse(gt_included_intl, yes, , [ AM_ICONV_LINK ]) dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) dnl because that would add "-liconv" to LIBINTL and LTLIBINTL dnl even if libiconv doesn't exist. AC_LIB_LINKFLAGS_BODY([intl]) AC_CACHE_CHECK([for GNU gettext in libintl], [$gt_func_gnugettext_libintl], [gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" dnl Now see whether libintl exists and does not depend on libiconv. AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [eval "$gt_func_gnugettext_libintl=yes"], [eval "$gt_func_gnugettext_libintl=no"]) dnl Now see whether libintl exists and depends on libiconv. if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" ]) fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS"]) fi dnl If an already present or preinstalled GNU gettext() is found, dnl use it. But if this macro is used in GNU gettext, and GNU dnl gettext is already preinstalled in libintl, we update this dnl libintl. (Cf. the install rule in intl/Makefile.in.) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else dnl Reset the values set by searching for libintl. LIBINTL= LTLIBINTL= INCINTL= fi ifelse(gt_included_intl, yes, [ if test "$gt_use_preinstalled_gnugettext" != "yes"; then dnl GNU gettext is not found in the C library. dnl Fall back on included GNU gettext library. nls_cv_use_gnu_gettext=yes fi fi if test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions used to generate GNU NLS library. BUILD_INCLUDED_LIBINTL=yes USE_INCLUDED_LIBINTL=yes LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` fi CATOBJEXT= if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions to use GNU gettext tools. CATOBJEXT=.gmo fi ]) if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Some extra flags are needed during linking. LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then AC_DEFINE(ENABLE_NLS, 1, [Define to 1 if translation of program messages to the user's native language is requested.]) else USE_NLS=no fi fi AC_MSG_CHECKING([whether to use NLS]) AC_MSG_RESULT([$USE_NLS]) if test "$USE_NLS" = "yes"; then AC_MSG_CHECKING([where the gettext function comes from]) if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi AC_MSG_RESULT([$gt_source]) fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then AC_MSG_CHECKING([how to link with libintl]) AC_MSG_RESULT([$LIBINTL]) AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) fi dnl For backward compatibility. Some packages may be using this. AC_DEFINE(HAVE_GETTEXT, 1, [Define if the GNU gettext() function is already present or preinstalled.]) AC_DEFINE(HAVE_DCGETTEXT, 1, [Define if the GNU dcgettext() function is already present or preinstalled.]) fi dnl We need to process the po/ directory. POSUB=po fi ifelse(gt_included_intl, yes, [ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL dnl to 'yes' because some of the testsuite requires it. if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then BUILD_INCLUDED_LIBINTL=yes fi dnl Make all variables we use known to autoconf. AC_SUBST(BUILD_INCLUDED_LIBINTL) AC_SUBST(USE_INCLUDED_LIBINTL) AC_SUBST(CATOBJEXT) dnl For backward compatibility. Some configure.ins may be using this. nls_cv_header_intl= nls_cv_header_libgt= dnl For backward compatibility. Some Makefiles may be using this. DATADIRNAME=share AC_SUBST(DATADIRNAME) dnl For backward compatibility. Some Makefiles may be using this. INSTOBJEXT=.mo AC_SUBST(INSTOBJEXT) dnl For backward compatibility. Some Makefiles may be using this. GENCAT=gencat AC_SUBST(GENCAT) dnl For backward compatibility. Some Makefiles may be using this. INTLOBJS= if test "$USE_INCLUDED_LIBINTL" = yes; then INTLOBJS="\$(GETTOBJS)" fi AC_SUBST(INTLOBJS) dnl Enable libtool support if the surrounding package wishes it. INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) ]) dnl For backward compatibility. Some Makefiles may be using this. INTLLIBS="$LIBINTL" AC_SUBST(INTLLIBS) dnl Make all documented variables known to autoconf. AC_SUBST(LIBINTL) AC_SUBST(LTLIBINTL) AC_SUBST(POSUB) ]) dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. m4_define([gt_NEEDS_INIT], [ m4_divert_text([DEFAULTS], [gt_needs=]) m4_define([gt_NEEDS_INIT], []) ]) dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) AC_DEFUN([AM_GNU_GETTEXT_NEED], [ m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) ]) dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) popt-1.16/m4/libtool.m40000644000076400007640000077341111370104721011613 00000000000000# 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 56 LT_INIT # 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])]) # _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 ]) # 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="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' AC_SUBST(LIBTOOL)dnl _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], []) # _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([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl dnl AC_REQUIRE([AC_PROG_LN_S])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 _LT_CHECK_OBJDIR m4_require([_LT_TAG_COMPILER])dnl _LT_PROG_ECHO_BACKSLASH 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. sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\([["`\\]]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # 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 _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 _LT_PATH_MAGIC fi ;; esac # 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 # _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 ## ------------------------------------- ## ## Accumulate code for creating libtool. ## ## ------------------------------------- ## # 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. # _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_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_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], [[!?.]$], [], [.]) )]) ## ------------------------ ## ## FIXME: Eliminate VARNAME ## ## ------------------------ ## # _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_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_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 ]) # _LT_CONFIG_STATUS_DECLARE([VARNAME]) # ------------------------------------ # Quote a variable value, and forward it to `config.status' so that its # declaration there will have the same value as in `configure'. VARNAME # must have a single quote delimited value for this to work. m4_define([_LT_CONFIG_STATUS_DECLARE], [$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`']) # _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)])])]) # _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 ]) # _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 ]) # _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)])])]) # _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_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\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac 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\\"\\\`\\\\\\"" ;; *) 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"')dnl " lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\` ;; esac _LT_OUTPUT_LIBTOOL_INIT ]) # 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 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." 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_MSG_ERROR([unrecognized argument: $[1] Try \`$[0] --help' for more information.]) ;; esac shift done if $lt_cl_silent; then exec AS_MESSAGE_FD>/dev/null fi _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 # _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 cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$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 # ### BEGIN LIBTOOL CONFIG _LT_LIBTOOL_CONFIG_VARS _LT_LIBTOOL_TAG_VARS # ### END LIBTOOL CONFIG _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 _LT_EOF ;; esac _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_LANG(LANGNAME) # ------------------ 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_LANG_DEFAULT_CONFIG # ----------------------- m4_defun([_LT_LANG_DEFAULT_CONFIG], [AC_PROVIDE_IFELSE([AC_PROG_CXX], [LT_LANG(CXX)], [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) AC_PROVIDE_IFELSE([AC_PROG_F77], [LT_LANG(F77)], [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) AC_PROVIDE_IFELSE([AC_PROG_FC], [LT_LANG(FC)], [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal dnl pulling things in needlessly. AC_PROVIDE_IFELSE([AC_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([LT_PROG_GCJ], [LT_LANG(GCJ)], [m4_ifdef([AC_PROG_GCJ], [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([A][M_PROG_GCJ], [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([LT_PROG_GCJ], [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) AC_PROVIDE_IFELSE([LT_PROG_RC], [LT_LANG(RC)], [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) ])# _LT_LANG_DEFAULT_CONFIG # Obsolete macros: AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_CXX], []) dnl AC_DEFUN([AC_LIBTOOL_F77], []) dnl AC_DEFUN([AC_LIBTOOL_FC], []) dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) # _LT_TAG_COMPILER # ---------------- m4_defun([_LT_TAG_COMPILER], [AC_REQUIRE([AC_PROG_CC])dnl _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 # 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 ])# _LT_TAG_COMPILER # _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 # _LT_LINKER_BOILERPLATE # ---------------------- # 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 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" ]) 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 ]) # _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 _LT_TAGVAR(ld_shlibs, $1)=no fi ]) # _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 # _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 # _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 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 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 if test "X[$]1" = X--fallback-echo; then # used as fallback echo shift cat <<_LT_EOF [$]* _LT_EOF exit 0 fi # 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 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" 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 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. lt_ECHO=$ECHO if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" fi 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 # _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 # 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" ;; *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-*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* ;; *-*-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 ;; 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 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,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 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 ;; *) 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}${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`' 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' ;; 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 ;; freebsd1*) dynamic_linker=no ;; 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 ;; 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 ;; 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' ;; 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 ;; 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* | 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_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. hardcode_into_libs=yes # Add ABI-specific directories to the system library path. sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" # 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="$sys_lib_dlsearch_path_spec $lt_ld_extra" fi # 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' ;; 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 ;; 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=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' ;; 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 ;; 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" ;; rdos*) dynamic_linker=no ;; 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 ;; 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 ;; 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 AC_MSG_RESULT([$dynamic_linker]) 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 _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 # _LT_PATH_TOOL_PREFIX(TOOL) # -------------------------- # 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 [[\\/*] | ?:[\\/]*]) 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 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="m4_if([$2], , $PATH, [$2])" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$1; then lt_cv_path_MAGIC_CMD="$ac_dir/$1" 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 *** 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 _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac]) MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then AC_MSG_RESULT($MAGIC_CMD) else AC_MSG_RESULT(no) fi _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], []) # _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 _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) else MAGIC_CMD=: fi fi ])# _LT_PATH_MAGIC # LT_PATH_LD # ---------- # find the pathname to the GNU or non-GNU linker 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. AC_MSG_CHECKING([for ld used by $CC]) 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 AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(lt_cv_path_LD, [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 &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' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; 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 ;; gnu*) lt_cv_deplibs_check_method=pass_all ;; 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 ;; 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 ;; 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 ;; *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 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 ;; 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) 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 ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac ]) 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 _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 # LT_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 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]) 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], []) # LT_LIB_M # -------- # check for math library AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case $host in *-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") ;; *) AC_CHECK_LIB(m, cos, LIBM="-lm") ;; esac AC_SUBST([LIBM]) ])# LT_LIB_M # Old name: AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_CHECK_LIBM], []) # _LT_COMPILER_NO_RTTI([TAGNAME]) # ------------------------------- m4_defun([_LT_COMPILER_NO_RTTI], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= if test "$GCC" = yes; then _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' _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 # _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 # 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?!! ;)] # 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]]*\)' # 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 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'" # 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 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 # 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_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 else 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* # 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_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 # _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)= 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 ;; 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 m4_if([$1], [GCJ], [], [_LT_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_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 ;; 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_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; *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_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac 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 ;; 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 ;; 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*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+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_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; 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 ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd*) ;; *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' ;; *) ;; esac ;; psos*) ;; 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 ;; 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 ;; 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 ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ], [ if test "$GCC" = 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 ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; 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 m4_if([$1], [GCJ], [], [_LT_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_TAGVAR(lt_prog_compiler_pic, $1)='-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_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; interix[[3-9]]*) # 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_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no enable_shared=no ;; *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' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 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 ;; 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). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; hpux9* | hpux10* | hpux11*) _LT_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_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC (with -KPIC) is the default. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; linux* | k*bsd*-gnu) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # Lahey Fortran 8.1. lf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' _LT_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_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; ccc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All Alpha code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xl*) # IBM XL C 8.0/Fortran 10.1 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)='-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 ;; newsos6) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *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' ;; 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' ;; rdos*) _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; 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 ;; 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' ;; 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' ;; 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 ;; 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 ;; uts4*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ]) case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; *) _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]) # # Check to make sure the PIC flag actually works. # 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]) # # Check to make sure the static flag actually works. # 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 # _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= 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 _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}' # 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 # 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 *** 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*) 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 ;; 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 ;; 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' 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 ;; 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' ;; 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' 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 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 ;; 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 ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then _LT_TAGVAR(ld_shlibs, $1)=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 _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 ;; 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 *** 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 ;; *) # 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 ;; 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 ;; *) 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 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 ;; 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 # 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 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. _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 "$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 _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 ;; 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 ;; bsdi[[45]]*) _LT_TAGVAR(export_dynamic_flag_spec, $1)=-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. _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 ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; 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 ;; freebsd1*) _LT_TAGVAR(ld_shlibs, $1)=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*) _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 ;; # 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 ;; # 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 ;; 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 # 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' ;; 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 ;; 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)=: 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' # 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 ;; 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 ;; 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 ;; 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 ;; *nto* | *qnx*) ;; 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 ;; 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' ;; 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)=: ;; 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' # 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)=: ;; 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 ;; 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 ;; 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 ;; 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' ;; 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 ;; 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' 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 ;; 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' 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 ;; 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 ;; *) _LT_TAGVAR(ld_shlibs, $1)=no ;; esac 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 _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld _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]) # # 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 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 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 _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 # _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) # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # 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(){return(0);}' _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 # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE ## 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... 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]) 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 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_CONFIG($1) fi AC_LANG_POP CC="$lt_save_CC" ])# _LT_LANG_C_CONFIG # _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 popdef([AC_MSG_ERROR]) ])# _LT_PROG_CXX dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([_LT_PROG_CXX], []) # _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 # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o _LT_TAGVAR(objext, $1)=$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. _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 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_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) 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 if test "$GXX" = yes; then # Set up default GNU C++ configuration LT_PATH_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 _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 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 GXX=no with_gnu_ld=no wlarc= fi # 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 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. _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 _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_TAGVAR(ld_shlibs, $1)=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; 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) ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; ghcx*) # Green Hills C++ Compiler # 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[[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*) case $host_cpu in 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[[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 _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* ) # 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_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++ _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*) # 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*) # 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*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; 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 ;; 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*) # Sun C++ 4.2, 5.x and Centerline C++ _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*) # Green Hills C++ Compiler _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 ;; 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*) _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*) # NonStop-UX NCC 3.20 # 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 ;; vxworks*) # 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 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 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], [ 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 dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([_LT_PROG_FC], []) # _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 # Source file extension for fc test sources. ac_ext=${ac_fc_srcext-f} # Object file extension for compiled fc test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # 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 " # 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=${FC-"f95"} compiler=$CC GCC=$ac_cv_fc_compiler_gnu _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 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 ## 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... 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 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 # Old name: AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_SED], []) # _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']) 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 # 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 # _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 } # func_basename file func_basename () { func_basename_result="${1##*/}" } # 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##*/}" } # 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}"} } # 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=$(( $[*] )) } # 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 func_dirname_result="$func_dirname_result${2}" fi } # func_basename file func_basename () { func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` } 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 } # sed scripts: my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q' my_sed_long_arg='1s/^-[[^=]]*=//' # 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/'` } # func_arith arithmetic-term... func_arith () { func_arith_result=`expr "$[@]"` } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len` } _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]" } _LT_EOF ;; esac ]) popt-1.16/m4/lib-link.m40000644000076400007640000007205511370104726011651 00000000000000# lib-link.m4 serial 13 (gettext-0.17) dnl Copyright (C) 2001-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_PREREQ(2.54) dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and dnl augments the CPPFLAGS variable. dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) define([Name],[translit([$1],[./-], [___])]) define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ AC_LIB_LINKFLAGS_BODY([$1], [$2]) ac_cv_lib[]Name[]_libs="$LIB[]NAME" ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" ac_cv_lib[]Name[]_cppflags="$INC[]NAME" ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" ]) LIB[]NAME="$ac_cv_lib[]Name[]_libs" LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" INC[]NAME="$ac_cv_lib[]Name[]_cppflags" LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) AC_SUBST([LIB]NAME[_PREFIX]) dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the dnl results of this search when this library appears as a dependency. HAVE_LIB[]NAME=yes undefine([Name]) undefine([NAME]) ]) dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) dnl searches for libname and the libraries corresponding to explicit and dnl implicit dependencies, together with the specified include files and dnl the ability to compile and link the specified testcode. If found, it dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) define([Name],[translit([$1],[./-], [___])]) define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME dnl accordingly. AC_LIB_LINKFLAGS_BODY([$1], [$2]) dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, dnl because if the user has installed lib[]Name and not disabled its use dnl via --without-lib[]Name-prefix, he wants to use it. ac_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ ac_save_LIBS="$LIBS" LIBS="$LIBS $LIB[]NAME" AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) LIBS="$ac_save_LIBS" ]) if test "$ac_cv_lib[]Name" = yes; then HAVE_LIB[]NAME=yes AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) AC_MSG_CHECKING([how to link with lib[]$1]) AC_MSG_RESULT([$LIB[]NAME]) else HAVE_LIB[]NAME=no dnl If $LIB[]NAME didn't lead to a usable library, we don't need dnl $INC[]NAME either. CPPFLAGS="$ac_save_CPPFLAGS" LIB[]NAME= LTLIB[]NAME= LIB[]NAME[]_PREFIX= fi AC_SUBST([HAVE_LIB]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) AC_SUBST([LIB]NAME[_PREFIX]) undefine([Name]) undefine([NAME]) ]) dnl Determine the platform dependent parameters needed to use rpath: dnl acl_libext, dnl acl_shlibext, dnl acl_hardcode_libdir_flag_spec, dnl acl_hardcode_libdir_separator, dnl acl_hardcode_direct, dnl acl_hardcode_minus_L. AC_DEFUN([AC_LIB_RPATH], [ dnl Tell automake >= 1.10 to complain if config.rpath is missing. m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done ]) wl="$acl_cv_wl" acl_libext="$acl_cv_libext" acl_shlibext="$acl_cv_shlibext" acl_libname_spec="$acl_cv_libname_spec" acl_library_names_spec="$acl_cv_library_names_spec" acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" acl_hardcode_direct="$acl_cv_hardcode_direct" acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" dnl Determine whether the user wants rpath handling at all. AC_ARG_ENABLE(rpath, [ --disable-rpath do not hardcode runtime library paths], :, enable_rpath=yes) ]) dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_LINKFLAGS_BODY], [ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) dnl Autoconf >= 2.61 supports dots in --with options. define([N_A_M_E],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit([$1],[.],[_])],[$1])]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_LIB_ARG_WITH([lib]N_A_M_E[-prefix], [ --with-lib]N_A_M_E[-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib --without-lib]N_A_M_E[-prefix don't search for lib$1 in includedir and libdir], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi ]) dnl Search the library and its dependencies in $additional_libdir and dnl $LDFLAGS. Using breadth-first-seach. LIB[]NAME= LTLIB[]NAME= INC[]NAME= LIB[]NAME[]_PREFIX= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='$1 $2' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" dnl See if it was already located by an earlier AC_LIB_LINKFLAGS dnl or AC_LIB_HAVE_LINKFLAGS call. uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" else dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined dnl that this library doesn't exist. So just drop it. : fi else dnl Search the library lib$name in $additional_libdir and $LDFLAGS dnl and the already constructed $LIBNAME/$LTLIBNAME. found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" dnl The same code as in the loop below: dnl First look for a shared library. if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi dnl Then look for a static library. if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` dnl First look for a shared library. if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi dnl Then look for a static library. if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then dnl Found the library. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then dnl Linking with a shared library. We attempt to hardcode its dnl directory into the executable's runpath, unless it's the dnl standard /usr/lib. if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then dnl No hardcoding is needed. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl Use an explicit option to hardcode DIR into the resulting dnl binary. dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi dnl The hardcoding into $LIBNAME is system dependent. if test "$acl_hardcode_direct" = yes; then dnl Using DIR/libNAME.so during linking hardcodes DIR into the dnl resulting binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then dnl Use an explicit option to hardcode DIR into the resulting dnl binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else dnl Rely on "-L$found_dir". dnl But don't add it if it's already contained in the LDFLAGS dnl or the already constructed $LIBNAME haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH dnl here, because this doesn't fit in flags passed to the dnl compiler. So give up. No hardcoding. This affects only dnl very old systems. dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then dnl Linking with a static library. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" else dnl We shouldn't come here, but anyway it's good to have a dnl fallback. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" fi fi dnl Assume the include files are nearby. additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` LIB[]NAME[]_PREFIX="$basedir" additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then dnl Potentially add $additional_includedir to $INCNAME. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's /usr/local/include and we are using GCC on Linux, dnl 3. if it's already present in $CPPFLAGS or the already dnl constructed $INCNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INC[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $INCNAME. INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" fi fi fi fi fi dnl Look for dependencies. if test -n "$found_la"; then dnl Read the .la file. It defines the variables dnl dlname, library_names, old_library, dependency_libs, current, dnl age, revision, installed, dlopen, dlpreopen, libdir. save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" dnl We use only dependency_libs. for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's /usr/local/lib and we are using GCC on Linux, dnl 3. if it's already present in $LDFLAGS or the already dnl constructed $LIBNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LIBNAME. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LTLIBNAME. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) dnl Handle this in the next round. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) dnl Handle this in the next round. Throw away the .la's dnl directory; it is already contained in a preceding -L dnl option. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) dnl Most likely an immediate library name. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" ;; esac done fi else dnl Didn't find the library; assume it is in the system directories dnl known to the linker and runtime loader. (All the system dnl directories known to the linker should also be known to the dnl runtime loader, otherwise the system is severely misconfigured.) LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user must dnl pass all path elements in one option. We can arrange that for a dnl single library, but not when more than one $LIBNAMEs are used. alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" else dnl The -rpath options are cumulative. for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then dnl When using libtool, the option that works for both libraries and dnl executables is -R. The -R options are cumulative. for found_dir in $ltrpathdirs; do LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" done fi ]) dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, dnl unless already present in VAR. dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes dnl contains two or three consecutive elements that belong together. AC_DEFUN([AC_LIB_APPENDTOVAR], [ for element in [$2]; do haveit= for x in $[$1]; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then [$1]="${[$1]}${[$1]:+ }$element" fi done ]) dnl For those cases where a variable contains several -L and -l options dnl referring to unknown libraries and directories, this macro determines the dnl necessary additional linker options for the runtime path. dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) dnl sets LDADDVAR to linker options needed together with LIBSVALUE. dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, dnl otherwise linking without libtool is assumed. AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], [ AC_REQUIRE([AC_LIB_RPATH]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) $1= if test "$enable_rpath" != no; then if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then dnl Use an explicit option to hardcode directories into the resulting dnl binary. rpathdirs= next= for opt in $2; do if test -n "$next"; then dir="$next" dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem"; then rpathdirs="$rpathdirs $dir" fi next= else case $opt in -L) next=yes ;; -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem"; then rpathdirs="$rpathdirs $dir" fi next= ;; *) next= ;; esac fi done if test "X$rpathdirs" != "X"; then if test -n ""$3""; then dnl libtool is used for linking. Use -R options. for dir in $rpathdirs; do $1="${$1}${$1:+ }-R$dir" done else dnl The linker is used for linking directly. if test -n "$acl_hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user dnl must pass all path elements in one option. alldirs= for dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="$flag" else dnl The -rpath options are cumulative. for dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="${$1}${$1:+ }$flag" done fi fi fi fi fi AC_SUBST([$1]) ]) popt-1.16/m4/po.m40000644000076400007640000004460611370104727010570 00000000000000# po.m4 serial 15 (gettext-0.17) dnl Copyright (C) 1995-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ(2.50) dnl Checks for all prerequisites of the po subdirectory. AC_DEFUN([AM_PO_SUBDIRS], [ AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake AC_REQUIRE([AM_NLS])dnl dnl Release version of the gettext macros. This is used to ensure that dnl the gettext macros and po/Makefile.in.in are in sync. AC_SUBST([GETTEXT_MACRO_VERSION], [0.17]) dnl Perform the following tests also if --disable-nls has been given, dnl because they are needed for "make dist" to work. dnl Search for GNU msgfmt in the PATH. dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. dnl The second test excludes FreeBSD msgfmt. AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) dnl Test whether it is GNU msgfmt >= 0.15. changequote(,)dnl case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac changequote([,])dnl AC_SUBST([MSGFMT_015]) changequote(,)dnl case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac changequote([,])dnl AC_SUBST([GMSGFMT_015]) dnl Search for GNU xgettext 0.12 or newer in the PATH. dnl The first test excludes Solaris xgettext and early GNU xgettext versions. dnl The second test excludes FreeBSD xgettext. AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) dnl Remove leftover from FreeBSD xgettext call. rm -f messages.po dnl Test whether it is GNU xgettext >= 0.15. changequote(,)dnl case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac changequote([,])dnl AC_SUBST([XGETTEXT_015]) dnl Search for GNU msgmerge 0.11 or newer in the PATH. AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) dnl Installation directories. dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we dnl have to define it here, so that it can be used in po/Makefile. test -n "$localedir" || localedir='${datadir}/locale' AC_SUBST([localedir]) dnl Support for AM_XGETTEXT_OPTION. test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) AC_CONFIG_COMMANDS([po-directories], [[ for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done]], [# Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" ]) ]) dnl Postprocesses a Makefile in a directory containing PO files. AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], [ # When this code is run, in config.status, two variables have already been # set: # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, # - LINGUAS is the value of the environment variable LINGUAS at configure # time. changequote(,)dnl # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Find a way to echo strings without interpreting backslash. if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then gt_echo='echo' else if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then gt_echo='printf %s\n' else echo_func () { cat < "$ac_file.tmp" if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` cat >> "$ac_file.tmp" < /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` cat >> "$ac_file.tmp" <> "$ac_file.tmp" </dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi ]) popt-1.16/m4/Makefile.in0000664000076400007640000002534211370104737011754 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd 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@ target_triplet = @target@ subdir = m4 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_REVISION = @LT_REVISION@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ 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@ POPT_PKGCONFIG_LIBS = @POPT_PKGCONFIG_LIBS@ POPT_SOURCE_PATH = @POPT_SOURCE_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TARGET = @TARGET@ U = @U@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ 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_DUMPBIN = @ac_ct_DUMPBIN@ 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@ builddir = @builddir@ 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@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 nls.m4 po.m4 progtest.m4 gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 nls.m4 po.m4 progtest.m4 gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 nls.m4 po.m4 progtest.m4 codeset.m4 glibc2.m4 glibc21.m4 intdiv0.m4 intl.m4 intldir.m4 intlmacosx.m4 intmax.m4 inttypes_h.m4 inttypes-pri.m4 lcmessage.m4 lock.m4 longlong.m4 printf-posix.m4 size_max.m4 stdint_h.m4 uintmax_t.m4 visibility.m4 wchar_t.m4 wint_t.m4 xsize.m4 all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign m4/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign m4/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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @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; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$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) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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 dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: 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: .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-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 # 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: popt-1.16/m4/lt~obsolete.m40000644000076400007640000001311311370104722012504 00000000000000# 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])]) popt-1.16/m4/lib-ld.m40000644000076400007640000000653111370104726011307 00000000000000# lib-ld.m4 serial 3 (gettext-0.13) dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Subroutines of libtool.m4, dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision dnl with libtool.m4. dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. AC_DEFUN([AC_LIB_PROG_LD_GNU], [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, [# I'd rather use --version here, but apparently some GNU ld's only accept -v. case `$LD -v 2>&1 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 ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by GCC]) 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. [[\\/]* | [A-Za-z]:[\\/]*)] [re_direlt='/[^/][^/]*/\.\./'] # Canonicalize the path 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 AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(acl_cv_path_LD, [if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi]) LD="$acl_cv_path_LD" if test -n "$LD"; then AC_MSG_RESULT($LD) else AC_MSG_RESULT(no) fi test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) AC_LIB_PROG_LD_GNU ]) popt-1.16/m4/nls.m40000644000076400007640000000226611370104726010741 00000000000000# nls.m4 serial 3 (gettext-0.15) dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ(2.50) AC_DEFUN([AM_NLS], [ AC_MSG_CHECKING([whether NLS is requested]) dnl Default is enabled NLS AC_ARG_ENABLE(nls, [ --disable-nls do not use Native Language Support], USE_NLS=$enableval, USE_NLS=yes) AC_MSG_RESULT($USE_NLS) AC_SUBST(USE_NLS) ]) popt-1.16/CHANGES0000664000076400007640000002505111337046710010356 000000000000001.15 -> 1.16: - add lv.po, update translations (Translation Project). - include xcode project files in distributed popt tar ball. - make distcheck is now squeaky clean. - permit VPATH builds. - add shallow tests using ISP/RAS api-sanity-autotest.pl. - prefix bit set routines with popt to avoid symbol coolisions w rpm. - add tdict.c to exercise popt bit sets against /usr/dict/words. - add poptBitsArgs() method to generate args bit set. - add methods for bit set union and intersection. - permit comma separated attribute lists, handle negated attributes. - better test for POPT_ARG_BITSET. - add POPT_ARG_BITSET handling. - add POPT_ARG_SHORT handling. - handle all callback traversals within a C switch (for extendability ease). - add popt.pc. - devzero2000: add AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR to configure. Create build-aux - devzero2000: del acinclude.m4 : AC_CHECK_VA_COPY is not used 1.14 -> 1.15: - release popt-1.15. - rse: fix building under --disable-nls - rse: fix building under non GLIBC platforms where glob_pattern_p fallback has to be used - rse: fix building under platforms where FNM_EXTMATCH is not available - jbj: poptReadFile: permit NULL if return values are not desired. - jbj: poptReadFile: add routine. - jbj: trim out escaped newline(s) from file content, other fixes. - jbj: permit popt alias/exec to include content from a file. - jbj: permit glob(3) patterns in appName field of popt alias/exec config. - jbj: add test cases for bit operations and toggles. - jbj: avoid displaying --[no]nofoo with POPT_ARGFLAG_TOGGLE. - jbj: add poptArgInfo() to get argInfo, implementing POPT_ARGFLAG_TOGGLE. - jbj: add longOptionStrcmp() to match w POPT_ARGFLAG_TOGGLE. - jbj: change singleDash arg to a bit enum, use LF_ISSET(ONEDASH) instead. - jbj: rework the glob wrappers into something more useful. portability todo++. - jbj: stub in glob(3) wrappers for popt. more useful poptGlob() API next. - jbj: add poptInit/poptFini/poptReadConfigFiles/poptSaneFile routines. - jbj: rewrite poptReadConfigFile(), styling for (i.e. my) readbility. - jbj: reserve a bit for --[no]opt prefix toggling. - jbj: fix: check/print argv[0] in --help for NULL. - jbj: permit type/group bitmasks to be changed (if needed somewhen). - jbj: snip out 8 unused bits for argument groups. - jbj: fix: eliminate dead code (CID#5). - jbj: fix: rearrange code to better hint to coverity scan (CID#9). - jbj: fix: rewrite (and simplify) strdup_locale_from_utf8() (CID#7, CID#8, CID#11, CID#12). - jbj: test/use HAVE_SRANDOM to avoid portability issues. - jbj: fix: remove AC_CHECK_VA_COPY check, va_copy is no longer used. - jbj: add eo.po and id.po (Translation Project). - jbj: updated da.po (Translation Project). - jbj: extend coverage to several additional setup routines. - jbj: add tests for --usage/--help coverage. - jbj: add lconv/gcov targets to Makefile.am. - jbj: refactor automagic (*opt->arg) option arg store to poptSaveArg(). - ldv: update INPUT tag in Doxyfile.in, fix doxygen warnings in popthelp.c. - start popt-1.15 development. 1.13 -> 1.14: - release popt-1.14. - jbj: remove findme.c, add poptint.c, to po/POTFILES.in. - jbj: use stpcpy 2 more places (Wayne Davison). - jbj: add @LTLIBICONV@ when needed (Stanislav Brabec). - jbj: fix: remove the "echo --" Fedorable hack-a-round. - rsc: updated de.po (not from the Translation Project). - jbj: study the mess with splint. Sigh, splint is so easily confused ... - jbj: rewrite findProgramPath & move to popt.c. Nuke the findme.{c,h} toys. - jbj: use stpcpy several more places (Wayne Davison). - jbj: enable equal after short option (Wayne Davison). - jbj: permit "#define POPT_fprintf fprintf" to lose the malloc'ing fprintf. - jbj: use vasprintf(3) when available (Wayne Davison). - jbj: study the mess with splint, remove annotations where possible. - jbj: add -D_GNU_SOURCE for gcc to use __builtin_stpcpy when available. - jbj: add static inline stpcpy for the deprived. - jbj: use stpcpy to eliminate sprintf calls everywhere but popthelp.c - jbj: remove (now unneeded afaik) va_copy() from POPT_fprintf(). - jbj: inline strdup_fprintf() => POPT_fprintf keeping (unneeded?) va_copy. - rse: fix memcpy(3) based va_copy(3) fallbacks - jbj: fix: short option with "foo=bar" argument was mishandled. (Wayne Davison). - jbj: rename _ABS to avoid collisions, define DBL_EPSILON if not present (Wayne Davison). - jbj: test for , disable reading directory poptrc files if not. - jbj: add __attribute__(__unused__) (Wayne Davison). - jbj: permit equal after short option (Wayne Davison). - jbj: make sure that short options are printed only once with --usage. - jbj: don't display hidden short options with --usage. - jbj: updated sv.po (Translation Project). - jbj: updated {fi,nl}.po (Translation Project). - jbj: updated th.po (Translation Project). - rsc: avoid multilib file conflicts in generated doxygen. - jbj: updated vi.po and zh_CN.po (Translation Project). - jbj: fix: keep the poptHelpOptions array exactly the same size. - jbj: updated pl.po (Translation Project). - jbj: add new fi, th, zh_TW translations (Translation Project). - jbj: add "make updatepo" to simplify PO file maintenance. - jbj: display POPT_ARG_ARGV options in --help just like other options. - jbj: add test for POPT_ARG_ARGV handling. - jbj: fix: permit "--foo bar" and "--foo=bar" equivalent forms for aliases. - jbj: fix: tests 20 -> 23 require an explicit '--' arg separator now. - jbj: popt.3: add POPT_ARG_ARGV description. - jbj: use NUL terminator to align help with (possible) multibyte chars. - jbj: add utf8_skip_data table[] to keep track of utf8 character widths. - jbj: refactor the POPT_WCHAR_HACK into stringDisplayWidth(). - jbj: add POPT_dgettext() prototype. - jbj: add POPT_dgettext() for popt internal UTF-8 codeset (Takao Fujiwara). - jbj: add POPT_next_char(), backout POPT_fprintf() usage (for the moment). - jbj: finish POPT_ARG_ARGV implementation. - jbj: free aliases/execs with common code. - jbj: rewrite the callback logic using a switch for simplicity. - jbj: hide bit field structure behind F_ISSET/LF_ISSET/CBF_ISSET macros. - jbj: expose poptSaveLongLong and poptSaveString in the loader map. - jbj: add POPT_ARG_ARGV, starting with the poptSaveString() method. - jbj: add help for POPT_ARG_LONGLONG. - jbj: hmmm, POSIXly correct --echo-args needs fixing, disable for now. - jbj: poptint.h: typedef's for string and string arrays. - jbj: add POPT_ARG_LONGLONG, and poptSaveLongLong(). - jbj: poptint.h: add poptSubstituteHelpI18N() to bury the ABI hack. - jbj: start using poptArg and poptArgType() where useful. - jbj: poptint.h: add a poptArgType define for bitfield type abstraction. - jbj: poptint.h: add a poptArg union for opt->arg access without casts. - jbj: include "-- Terminate options" end-of-options msg in poptHelpOptions. - jbj: opt->argDescrip[0] determines "--foo=bar" or "--foo bar". - jbj: --long always padded for alignment with/without "-X, ". - jbj: Display shortName iff printable non-space. - jbj: POPT_AUTOALIAS: if no popt aliases/execs, don't display the sub-head. - jbj: add --libdir=/%{_lib} to popt.spec. - jbj: add .cvsignore to m4 subdirectory. - jbj: remove duplicate nb locale from ALL_LINGUAS. - jbj: autogen.sh: on linux, add --libdir=/lib (no /lib64 autodetect yet). 1.12 -> 1.13: - release popt-1.13. - jbj: add a %track section (as in rpm-5.0) to popt.spec. - jbj: chg poptGetOptArg() to "char *", document application needs to free. - jbj: re-add it.po (from Sandro Bonazzola ). - jbj: rescuscitate the splint annotations. - jbj: change sizeof to use the type implicitly, rather than explicitly. - jbj: remove incorrect casts, changing to size_t where needed. - jbj: remove unused STD_VFPRINTF macro. - jbj: reindent (and otherwise diddle) recent patch for popt coding style. - jbj: remove splint bounds/branch annotations, little gain, much pain. - jbj: revert alloca usage again again. - jbj: handle Solaris signed character isspace(3) issues consistently. - bero: read /etc/popt.d/* files. - jbj: don't read /etc/popt twice (#290531). - jbj: isspace(3) has i18n encoding signednesss issues on Solaris (#172393). - jbj: refactor column cursor to a structure, carry maxcols as well. - jbj: use TIOCGWINSZ to determine --help column wrapping. - jbj: help formatting for POPT_ARG_MAINCALL. - jbj: remove N_(...) markings from popt.h, markers in popthelp.c instead. - jbj: add zh_CN.po (Translation Project). - jbj: use PACKAGE_BUGREPORT. - jbj: hotwire POPT_AUTOHELP/POPT_AUTOALIAS lookup in popt i18n domain. 1.11 -> 1.12 - jbj: plug a memory leak. - jbj: fix index thinko. - jbj: add vi.po (Translation Project). - jbj: add nl.po (Translation Project). 1.5 -> 1.6 - add ability to perform callbacks for every, not just first, match. 1.3 -> 1.5 - heavy dose of const's - poptParseArgvString() now NULL terminates the list 1.2.3 -> 1.3 - added support for single - - misc bug fixes - portability improvements 1.2.2 -> 1.2.3 - fixed memset() in help message generation (Dale Hawkins) - added extern "C" stuff to popt.h for C++ compilers (Dale Hawkins) - const'ified poptParseArgvString (Jeff Garzik) 1.2.1 -> 1.2.2 - fixed bug in chaind alias happens which seems to have only affected --triggers in rpm - added POPT_ARG_VAL - popt.3 installed by default 1.2 -> 1.2.1 - added POPT_ARG_INTL_DOMAIN (Elliot Lee) - updated Makefile's to be more GNUish (Elliot Lee) 1.1 -> 1.2 - added popt.3 man page (Robert Lynch) - don't use mmap anymore (its lack of portability isn't worth the trouble) - added test script - added support for exec - removed support for *_POPT_ALIASES env variable -- it was a bad idea - reorganized into multiple source files - added automatic help generation, POPT_AUTOHELP - added table callbacks - added table inclusion - updated man page for new features - added test scripts 1.0 -> 1.1 - moved to autoconf (Fred Fish) - added STRERROR replacement (Norbert Warmuth) - added const keywords (Bruce Perens) popt-1.16/test-poptrc0000664000076400007640000000053411370104762011570 00000000000000test1 alias --simple --arg2 \ --POPTdesc=$"simple description" --POPTargs=$"ARG" test1 alias --two --arg1 --arg2 alias test1 alias --takerest -- test1 alias -T --arg2 test1 alias -O --arg1 test1 alias --grab --arg2 "'foo !#:+'" test1 alias --grabbar --grab bar test1 exec --echo-args /bin/echo test1 alias -e --echo-args test1 exec -a /bin/echo popt-1.16/autogen.sh0000775000076400007640000000140111242622736011360 00000000000000#!/bin/sh srcdir="`dirname $0`" test -z "$srcdir" && srcdir=. THEDIR="`pwd`" libtoolize=`which glibtoolize 2>/dev/null` case $libtoolize in /*) ;; *) libtoolize=`which libtoolize 2>/dev/null` case $libtoolize in /*) ;; *) libtoolize=libtoolize esac esac cd "$srcdir" $libtoolize --copy --force gettextize --copy --force --no-changelog perl -p -i~ -e 's/(po\/Makefile\.in)\s+po\/Makefile\.in/$1/' configure.ac perl -p -i~ -e 's/(SUBDIRS\s+=\s+po)\s+po/$1/' Makefile.am aclocal -I m4 autoheader automake -Wall -Wno-override -a -c autoconf if [ "$1" = "--noconfigure" ]; then exit 0; fi cd "$THEDIR" if [ X"$@" = X -a "X`uname -s`" = "XLinux" ]; then $srcdir/configure --prefix=/usr --libdir=/lib "$@" else $srcdir/configure "$@" fi popt-1.16/testit.sh0000775000076400007640000002044711233101563011233 00000000000000#!/bin/sh run() { prog=$1; shift name=$1; shift answer=$1; shift echo Running test $name. result=`HOME=$builddir $builddir/$prog $*` if [ "$answer" != "$result" ]; then echo "Test \"$prog $*\" failed with: \"$result\" != \"$answer\" " exit 2 fi } run_diff() { prog=$1; shift name=$1; shift in_file=$1; shift answer_file=$1; shift out=$builddir/tmp.out diff_file=$builddir/tmp.diff echo Running test $name. $builddir/$prog $in_file > $out ret=$? diff $out $answer_file > $diff_file diff_ret=$? if [ "$diff_ret" != "0" ]; then echo "Test \"$name\" failed output is in $out, diff is:" cat $diff_file exit 2 fi rm $out $diff_file } builddir=`pwd` srcdir=$builddir cd ${srcdir} test1=${builddir}/test1 echo "Running tests in `pwd`" #make -q testcases run test1 "test1 - 1" "arg1: 1 arg2: (none)" --arg1 run test1 "test1 - 2" "arg1: 0 arg2: foo" --arg2 foo run test1 "test1 - 3" "arg1: 1 arg2: something" --arg1 --arg2 something run test1 "test1 - 4" "arg1: 0 arg2: another" --simple another run test1 "test1 - 5" "arg1: 1 arg2: alias" --two run test1 "test1 - 6" "arg1: 1 arg2: (none) rest: --arg2" --arg1 -- --arg2 run test1 "test1 - 7" "arg1: 0 arg2: abcd rest: --arg1" --simple abcd -- --arg1 run test1 "test1 - 8" "arg1: 1 arg2: (none) rest: --arg2" --arg1 --takerest --arg2 run test1 "test1 - 9" "arg1: 0 arg2: foo" -2 foo run test1 "test1 - 10" "arg1: 0 arg2: (none) arg3: 50" -3 50 run test1 "test1 - 11" "arg1: 0 arg2: bar" -T bar run test1 "test1 - 12" "arg1: 1 arg2: (none)" -O run test1 "test1 - 13" "arg1: 1 arg2: foo" -OT foo run test1 "test1 - 14" "arg1: 0 arg2: (none) inc: 1" --inc run test1 "test1 - 15" "arg1: 0 arg2: foo inc: 1" -I --arg2 foo POSIX_ME_HARDER=1 ; export POSIX_ME_HARDER run test1 "test1 - 16" "arg1: 1 arg2: (none) rest: foo --arg2 something" --arg1 foo --arg2 something unset POSIX_ME_HARDER POSIXLY_CORRECT=1 ; export POSIXLY_CORRECT run test1 "test1 - 17" "arg1: 1 arg2: (none) rest: foo --arg2 something" --arg1 foo --arg2 something unset POSIXLY_CORRECT run test1 "test1 - 18" "callback: c sampledata bar arg1: 1 arg2: (none)" --arg1 --cb bar run test1 "test1 - 19" "" --echo-args run test1 "test1 - 20" "--arg1" --echo-args --arg1 run test1 "test1 - 21" "--arg2 something" -T something -e run test1 "test1 - 22" "--arg2 something more args" -T something -a more args run test1 "test1 - 23" "--echo-args -a" --echo-args -e -a run test1 "test1 - 24" "arg1: 0 arg2: (none) short: 1" -onedash run test1 "test1 - 25" "arg1: 0 arg2: (none) short: 1" --onedash run test1 "test1 - 26" "callback: c arg for cb2 foo arg1: 0 arg2: (none)" --cb2 foo run test1 "test1 - 27" "arg1: 0 arg2: (none) rest: -" - run test1 "test1 - 28" "arg1: 0 arg2: foo rest: -" - -2 foo run test1 "test1 - 29" "arg1: 0 arg2: bbbb" --arg2=aaaa -2 bbbb run test1 "test1 - 30" "arg1: 0 arg2: 'foo bingo' rest: boggle" --grab bingo boggle run test1 "test1 - 31" "arg1: 0 arg2: 'foo bar' rest: boggle" --grabbar boggle run test1 "test1 - 32" "arg1: 0 arg2: (none) aInt: 123456789" -i 123456789 run test1 "test1 - 33" "arg1: 0 arg2: (none) aInt: 123456789" --int 123456789 run test1 "test1 - 34" "arg1: 0 arg2: (none) aShort: 12345" -s 12345 run test1 "test1 - 35" "arg1: 0 arg2: (none) aShort: 12345" --short 12345 run test1 "test1 - 36" "arg1: 0 arg2: (none) aLong: 1123456789" -l 1123456789 run test1 "test1 - 37" "arg1: 0 arg2: (none) aLong: 1123456789" --long 1123456789 run test1 "test1 - 38" "arg1: 0 arg2: (none) aLongLong: 1111123456789" -L 1111123456789 run test1 "test1 - 39" "arg1: 0 arg2: (none) aLongLong: 1111123456789" --longlong 1111123456789 run test1 "test1 - 40" "arg1: 0 arg2: (none) aFloat: 10.1" -f 10.1 run test1 "test1 - 41" "arg1: 0 arg2: (none) aFloat: 10.1" --float 10.1 run test1 "test1 - 42" "arg1: 0 arg2: (none) aDouble: 10.1" -d 10.1 run test1 "test1 - 43" "arg1: 0 arg2: (none) aDouble: 10.1" --double 10.1 run test1 "test1 - 44" "arg1: 0 arg2: (none) oStr: (none)" --optional run test1 "test1 - 45" "arg1: 0 arg2: (none) oStr: yadda" --optional=yadda run test1 "test1 - 46" "arg1: 0 arg2: (none) oStr: yadda" --optional yadda run test1 "test1 - 47" "arg1: 0 arg2: (none) oStr: ping rest: pong" --optional=ping pong run test1 "test1 - 48" "arg1: 0 arg2: (none) oStr: ping rest: pong" --optional ping pong run test1 "test1 - 49" "arg1: 0 arg2: (none) aArgv: A B rest: C" --argv A --argv B C run test1 "test1 - 50" "arg1: 0 arg2: foo=bar" -2foo=bar run test1 "test1 - 51" "arg1: 0 arg2: foo=bar" -2=foo=bar run test1 "test1 - 52" "arg1: 0 arg2: (none) aFlag: 0xfeed" --bitxor run test1 "test1 - 53" "arg1: 0 arg2: (none) aFlag: 0xffff" --bitset run test1 "test1 - 54" "arg1: 0 arg2: (none) aFlag: 0x28c" --bitclr run test1 "test1 - 55" "arg1: 0 arg2: (none) aFlag: 0x8888" --nobitset run test1 "test1 - 56" "arg1: 0 arg2: (none) aFlag: 0xface" --nobitclr run test1 "test1 - 57" "arg1: 0 arg2: (none) aBits: foo,baz" --bits foo,bar,baz,!bar run test1 "test1 - 58" "\ Usage: lt-test1 [-I?] [-c|--cb2=STRING] [--arg1] [-2|--arg2=ARG] [-3|--arg3=ANARG] [-onedash] [--optional=STRING] [--val] [-i|--int=INT] [-s|--short=SHORT] [-l|--long=LONG] [-L|--longlong=LONGLONG] [-f|--float=FLOAT] [-d|--double=DOUBLE] [--randint=INT] [--randshort=SHORT] [--randlong=LONG] [--randlonglong=LONGLONG] [--argv=STRING] [--bitset] [--bitclr] [--bitxor] [--nstr=STRING] [--lstr=STRING] [-I|--inc] [-c|--cb=STRING] [--longopt] [-?|--help] [--usage] [--simple=ARG]" --usage run test1 "test1 - 59" "\ Usage: lt-test1 [OPTION...] --arg1 First argument with a really long description. After all, we have to test argument help wrapping somehow, right? -2, --arg2=ARG Another argument (default: \"(none)\") -3, --arg3=ANARG A third argument -onedash POPT_ARGFLAG_ONEDASH: Option takes a single - --optional[=STRING] POPT_ARGFLAG_OPTIONAL: Takes an optional string argument --val POPT_ARG_VAL: 125992 141421 -i, --int=INT POPT_ARG_INT: 271828 (default: 271828) -s, --short=SHORT POPT_ARG_SHORT: 4523 (default: 4523) -l, --long=LONG POPT_ARG_LONG: 738905609 (default: 738905609) -L, --longlong=LONGLONG POPT_ARG_LONGLONG: 738905609 (default: 738905609) -f, --float=FLOAT POPT_ARG_FLOAT: 3.14159 (default: 3.14159) -d, --double=DOUBLE POPT_ARG_DOUBLE: 9.8696 (default: 9.8696) --randint=INT POPT_ARGFLAG_RANDOM: experimental --randshort=SHORT POPT_ARGFLAG_RANDOM: experimental --randlong=LONG POPT_ARGFLAG_RANDOM: experimental --randlonglong=LONGLONG POPT_ARGFLAG_RANDOM: experimental --argv STRING POPT_ARG_ARGV: append string to argv array (can be used multiple times) --[no]bitset POPT_BIT_SET: |= 0x7777 --[no]bitclr POPT_BIT_CLR: &= ~0xf842 --bitxor POPT_ARGFLAG_XOR: ^= (0x8ace^0xfeed) --nstr=STRING POPT_ARG_STRING: (null) (default: null) --lstr=STRING POPT_ARG_STRING: \"123456789...\" (default: \"This tests default strings and exceeds the ... limit. 123456789+123456789+123456789+123456789+123456789+ 123456789+123456789+123456789+123456789+123456789+ 1234567...\") arg for cb2 -c, --cb2=STRING Test argument callbacks -I, --inc An included argument Callback arguments -c, --cb=STRING Test argument callbacks --longopt Unused option for help testing Options implemented via popt alias/exec: --simple=ARG simple description Help options: -?, --help Show this help message --usage Display brief usage message" --help #run_diff test3 "test3 - 51" test3-data/01.input test3-data/01.answer #run_diff test3 "test3 - 52" test3-data/02.input test3-data/02.answer #run_diff test3 "test3 - 53" test3-data/03.input test3-data/03.answer echo "" echo "Passed." popt-1.16/Makefile.am0000664000076400007640000000516011370104732011412 00000000000000# Makefile for popt library. AUTOMAKE_OPTIONS = 1.4 foreign LINT = splint MCCABE = pmccabe EXTRA_DIST = config.rpath lookup3.c autogen.sh CHANGES $(man_MANS) \ m4/Makefile.in \ footer_no_timestamp.html libpopt.vers \ testit.sh test-poptrc \ popt.xcodeproj/project.pbxproj \ popt.ps SUBDIRS = po . auto AM_CPPFLAGS = -I. -I$(top_srcdir) noinst_HEADERS = poptint.h system.h noinst_PROGRAMS = test1 test2 tdict # test3 test1_SOURCES = test1.c test1_LDFLAGS = test1_LDADD = $(usrlib_LTLIBRARIES) test2_SOURCES = test2.c test2_LDFLAGS = test2_LDADD = $(usrlib_LTLIBRARIES) #test3_SOURCES = test3.c #test3_LDFLAGS = #test3_LDADD = $(usrlib_LTLIBRARIES) tdict_SOURCES = tdict.c tdict_LDFLAGS = tdict_LDADD = $(usrlib_LTLIBRARIES) noinst_SCRIPTS = testit.sh TESTS_ENVIRONMENT = \ test1="$(top_builddir)/test1" TESTS = $(top_srcdir)/testit.sh include_HEADERS = popt.h usrlibdir = $(libdir) usrlib_LTLIBRARIES = libpopt.la libpopt_la_SOURCES = popt.c poptparse.c poptconfig.c popthelp.c poptint.c libpopt_la_LDFLAGS = -no-undefined @LTLIBINTL@ @LTLIBICONV@ pkgconfigdir = $(prefix)/lib/pkgconfig pkgconfig_DATA = popt.pc if HAVE_LD_VERSION_SCRIPT libpopt_la_LDFLAGS += -Wl,--version-script=$(top_srcdir)/libpopt.vers endif man_MANS = popt.3 BUILT_SOURCES = popt.pc # popt.lcd distclean-local: rm -rf .ccache .PHONY: updatepo updatepo: rsync -Lrtvz translationproject.org::tp/latest/popt/ po popt.lcd: Makefile.am ${libpopt_la_SOURCES} ${include_HEADERS} ${noinst_HEADERS} lclint -dump $@ ${libpopt_la_SOURCES} .PHONY: sources sources: @echo $(libpopt_la_SOURCES:%=popt/%) .PHONY: lint lint: $(LINT) ${DEFS} ${INCLUDES} test1.c ${libpopt_la_SOURCES} .PHONY: mccabe mccabe: $(MCCABE) $(libpopt_la_SOURCES) | sort -n -r | head -n 10 .PHONY: doxygen doxygen: Doxyfile rm -rf doxygen mkdir -p doxygen doxygen .PHONY: lcov-reset # run lcov from scratch, always lcov-reset: make lcov-run make lcov-report .PHONY: lcov # run lcov from scratch if the dir is not there lcov: make lcov-reset .PHONY: lcov-run # reset run coverage tests lcov-run: @-rm -rf lcov find . -name "*.gcda" -exec rm {} \; make check .PHONY: lcov-report # generate report based on current coverage data lcov-report: mkdir lcov lcov --directory . --capture --output-file lcov/lcov.info lcov -l lcov/lcov.info | grep -v "`cd $(top_srcdir) && pwd`" | cut -d: -f1 > lcov/remove lcov -r lcov/lcov.info `cat lcov/remove` > lcov/lcov.cleaned.info rm lcov/remove mv lcov/lcov.cleaned.info lcov/lcov.info genhtml -t "$(PACKAGE_STRING)" -o lcov lcov/lcov.info #.PHONY: lcov-upload #lcov-upload: lcov # rsync -rvz -e ssh --delete lcov/* ??? ACLOCAL_AMFLAGS = -I m4 popt-1.16/popt.xcodeproj/0000775000076400007640000000000011370105012012402 500000000000000popt-1.16/popt.xcodeproj/project.pbxproj0000664000076400007640000005225011335360674015424 00000000000000// !$*UTF8*$! { archiveVersion = 1; classes = { }; objectVersion = 45; objects = { /* Begin PBXAggregateTarget section */ 0D006A101125FBE800A2FA32 /* testit.sh */ = { isa = PBXAggregateTarget; buildConfigurationList = 0D006A171125FC1C00A2FA32 /* Build configuration list for PBXAggregateTarget "testit.sh" */; buildPhases = ( 0D006A0F1125FBE800A2FA32 /* ShellScript */, ); dependencies = ( 0D006A141125FBFD00A2FA32 /* PBXTargetDependency */, ); name = testit.sh; productName = testit.sh; }; /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ 0D00699D1125F0C400A2FA32 /* lookup3.c in Sources */ = {isa = PBXBuildFile; fileRef = 0D3EA3C31125E529001C69E6 /* lookup3.c */; }; 0D00699F1125F0CE00A2FA32 /* poptconfig.c in Sources */ = {isa = PBXBuildFile; fileRef = 0D3EA3C91125E54B001C69E6 /* poptconfig.c */; }; 0D0069A01125F0D100A2FA32 /* popthelp.c in Sources */ = {isa = PBXBuildFile; fileRef = 0D3EA3CB1125E553001C69E6 /* popthelp.c */; }; 0D0069A11125F0D500A2FA32 /* poptint.c in Sources */ = {isa = PBXBuildFile; fileRef = 0D3EA3CD1125E55B001C69E6 /* poptint.c */; }; 0D0069A21125F0DA00A2FA32 /* poptparse.c in Sources */ = {isa = PBXBuildFile; fileRef = 0D3EA3D11125E584001C69E6 /* poptparse.c */; }; 0D0069A31125F0E900A2FA32 /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D3EA3D51125E5A6001C69E6 /* config.h */; }; 0D0069A41125F0EC00A2FA32 /* system.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D3EA3D31125E58E001C69E6 /* system.h */; }; 0D0069A51125F0F100A2FA32 /* poptint.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D3EA3CF1125E56C001C69E6 /* poptint.h */; }; 0D0069A61125F0F400A2FA32 /* popt.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D3EA3C71125E53F001C69E6 /* popt.h */; }; 0D0069C61125F60200A2FA32 /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 0D0069C51125F60200A2FA32 /* libiconv.dylib */; }; 0D0069EE1125F81900A2FA32 /* test1.c in Sources */ = {isa = PBXBuildFile; fileRef = 0D0069DD1125F73600A2FA32 /* test1.c */; }; 0D3BAD131126031E00B3E80C /* popt.c in Sources */ = {isa = PBXBuildFile; fileRef = 0D3EA3C51125E537001C69E6 /* popt.c */; }; 0D3BAD141126031E00B3E80C /* popt.c in Sources */ = {isa = PBXBuildFile; fileRef = 0D3EA3C51125E537001C69E6 /* popt.c */; }; 0D3EA3C41125E529001C69E6 /* lookup3.c in Sources */ = {isa = PBXBuildFile; fileRef = 0D3EA3C31125E529001C69E6 /* lookup3.c */; }; 0D3EA3C81125E53F001C69E6 /* popt.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D3EA3C71125E53F001C69E6 /* popt.h */; }; 0D3EA3CA1125E54B001C69E6 /* poptconfig.c in Sources */ = {isa = PBXBuildFile; fileRef = 0D3EA3C91125E54B001C69E6 /* poptconfig.c */; }; 0D3EA3CC1125E553001C69E6 /* popthelp.c in Sources */ = {isa = PBXBuildFile; fileRef = 0D3EA3CB1125E553001C69E6 /* popthelp.c */; }; 0D3EA3CE1125E55B001C69E6 /* poptint.c in Sources */ = {isa = PBXBuildFile; fileRef = 0D3EA3CD1125E55B001C69E6 /* poptint.c */; }; 0D3EA3D01125E56C001C69E6 /* poptint.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D3EA3CF1125E56C001C69E6 /* poptint.h */; }; 0D3EA3D21125E584001C69E6 /* poptparse.c in Sources */ = {isa = PBXBuildFile; fileRef = 0D3EA3D11125E584001C69E6 /* poptparse.c */; }; 0D3EA3D41125E58E001C69E6 /* system.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D3EA3D31125E58E001C69E6 /* system.h */; }; 0D3EA3D61125E5A6001C69E6 /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D3EA3D51125E5A6001C69E6 /* config.h */; }; 0DB920BA1126181E000277F8 /* libpopt.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 0D0069921125F03400A2FA32 /* libpopt.dylib */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ 0D0069EF1125F83000A2FA32 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; proxyType = 1; remoteGlobalIDString = D2AAC045055464E500DB518D; remoteInfo = libpopt.a; }; 0D006A131125FBFD00A2FA32 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; proxyType = 1; remoteGlobalIDString = 0D0069E91125F80A00A2FA32; remoteInfo = test1; }; 0DB9209B112616A9000277F8 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; proxyType = 1; remoteGlobalIDString = 0D0069911125F03400A2FA32; remoteInfo = libpopt.dylib; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ 0D0069921125F03400A2FA32 /* libpopt.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libpopt.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; 0D0069C41125F43900A2FA32 /* popt.3 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = popt.3; sourceTree = ""; }; 0D0069C51125F60200A2FA32 /* libiconv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.dylib; path = usr/lib/libiconv.dylib; sourceTree = SDKROOT; }; 0D0069DD1125F73600A2FA32 /* test1.c */ = {isa = PBXFileReference; fileEncoding = 7; lastKnownFileType = sourcecode.c.c; path = test1.c; sourceTree = ""; }; 0D0069EA1125F80A00A2FA32 /* test1 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = test1; sourceTree = BUILT_PRODUCTS_DIR; }; 0D006A061125FADD00A2FA32 /* testit.sh */ = {isa = PBXFileReference; fileEncoding = 7; lastKnownFileType = text.script.sh; path = testit.sh; sourceTree = ""; }; 0D3BACFC1125FF5300B3E80C /* popt.ps */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = popt.ps; sourceTree = ""; }; 0D3EA3C31125E529001C69E6 /* lookup3.c */ = {isa = PBXFileReference; fileEncoding = 7; lastKnownFileType = sourcecode.c.c; path = lookup3.c; sourceTree = ""; }; 0D3EA3C51125E537001C69E6 /* popt.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; fileEncoding = 7; path = popt.c; sourceTree = ""; }; 0D3EA3C71125E53F001C69E6 /* popt.h */ = {isa = PBXFileReference; fileEncoding = 7; lastKnownFileType = sourcecode.c.h; path = popt.h; sourceTree = ""; }; 0D3EA3C91125E54B001C69E6 /* poptconfig.c */ = {isa = PBXFileReference; fileEncoding = 7; lastKnownFileType = sourcecode.c.c; path = poptconfig.c; sourceTree = ""; }; 0D3EA3CB1125E553001C69E6 /* popthelp.c */ = {isa = PBXFileReference; fileEncoding = 7; lastKnownFileType = sourcecode.c.c; path = popthelp.c; sourceTree = ""; }; 0D3EA3CD1125E55B001C69E6 /* poptint.c */ = {isa = PBXFileReference; fileEncoding = 7; lastKnownFileType = sourcecode.c.c; path = poptint.c; sourceTree = ""; }; 0D3EA3CF1125E56C001C69E6 /* poptint.h */ = {isa = PBXFileReference; fileEncoding = 7; lastKnownFileType = sourcecode.c.h; path = poptint.h; sourceTree = ""; }; 0D3EA3D11125E584001C69E6 /* poptparse.c */ = {isa = PBXFileReference; fileEncoding = 7; lastKnownFileType = sourcecode.c.c; path = poptparse.c; sourceTree = ""; }; 0D3EA3D31125E58E001C69E6 /* system.h */ = {isa = PBXFileReference; fileEncoding = 7; lastKnownFileType = sourcecode.c.h; path = system.h; sourceTree = ""; }; 0D3EA3D51125E5A6001C69E6 /* config.h */ = {isa = PBXFileReference; fileEncoding = 7; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; }; D2AAC046055464E500DB518D /* libpopt.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libpopt.a; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ 0D0069901125F03400A2FA32 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 0D0069C61125F60200A2FA32 /* libiconv.dylib in Frameworks */, 0DB920BA1126181E000277F8 /* libpopt.dylib in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; 0D0069E81125F80A00A2FA32 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; D289987405E68DCB004EDB86 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ 08FB7794FE84155DC02AAC07 /* popt */ = { isa = PBXGroup; children = ( 08FB7795FE84155DC02AAC07 /* Source */, C6A0FF2B0290797F04C91782 /* Documentation */, 1AB674ADFE9D54B511CA2CBB /* Products */, 0D0069C51125F60200A2FA32 /* libiconv.dylib */, ); name = popt; sourceTree = ""; }; 08FB7795FE84155DC02AAC07 /* Source */ = { isa = PBXGroup; children = ( 0D3EA3D51125E5A6001C69E6 /* config.h */, 0D3EA3C31125E529001C69E6 /* lookup3.c */, 0D3EA3C51125E537001C69E6 /* popt.c */, 0D3EA3C71125E53F001C69E6 /* popt.h */, 0D3EA3C91125E54B001C69E6 /* poptconfig.c */, 0D3EA3CB1125E553001C69E6 /* popthelp.c */, 0D3EA3CD1125E55B001C69E6 /* poptint.c */, 0D3EA3CF1125E56C001C69E6 /* poptint.h */, 0D3EA3D11125E584001C69E6 /* poptparse.c */, 0D3EA3D31125E58E001C69E6 /* system.h */, 0D0069DD1125F73600A2FA32 /* test1.c */, 0D006A061125FADD00A2FA32 /* testit.sh */, ); name = Source; sourceTree = ""; }; 1AB674ADFE9D54B511CA2CBB /* Products */ = { isa = PBXGroup; children = ( D2AAC046055464E500DB518D /* libpopt.a */, 0D0069921125F03400A2FA32 /* libpopt.dylib */, 0D0069EA1125F80A00A2FA32 /* test1 */, ); name = Products; sourceTree = ""; }; C6A0FF2B0290797F04C91782 /* Documentation */ = { isa = PBXGroup; children = ( 0D3BACFC1125FF5300B3E80C /* popt.ps */, 0D0069C41125F43900A2FA32 /* popt.3 */, ); name = Documentation; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ 0D00698E1125F03400A2FA32 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( 0D0069A31125F0E900A2FA32 /* config.h in Headers */, 0D0069A51125F0F100A2FA32 /* poptint.h in Headers */, 0D0069A61125F0F400A2FA32 /* popt.h in Headers */, 0D0069A41125F0EC00A2FA32 /* system.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; D2AAC043055464E500DB518D /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( 0D3EA3D61125E5A6001C69E6 /* config.h in Headers */, 0D3EA3C81125E53F001C69E6 /* popt.h in Headers */, 0D3EA3D01125E56C001C69E6 /* poptint.h in Headers */, 0D3EA3D41125E58E001C69E6 /* system.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ 0D0069911125F03400A2FA32 /* libpopt.dylib */ = { isa = PBXNativeTarget; buildConfigurationList = 0D0069991125F07600A2FA32 /* Build configuration list for PBXNativeTarget "libpopt.dylib" */; buildPhases = ( 0D00698E1125F03400A2FA32 /* Headers */, 0D00698F1125F03400A2FA32 /* Sources */, 0D0069901125F03400A2FA32 /* Frameworks */, ); buildRules = ( ); dependencies = ( ); name = libpopt.dylib; productName = libpopt.dylib; productReference = 0D0069921125F03400A2FA32 /* libpopt.dylib */; productType = "com.apple.product-type.library.dynamic"; }; 0D0069E91125F80A00A2FA32 /* test1 */ = { isa = PBXNativeTarget; buildConfigurationList = 0D0069F31125F84F00A2FA32 /* Build configuration list for PBXNativeTarget "test1" */; buildPhases = ( 0D0069E71125F80A00A2FA32 /* Sources */, 0D0069E81125F80A00A2FA32 /* Frameworks */, ); buildRules = ( ); dependencies = ( 0DB9209C112616A9000277F8 /* PBXTargetDependency */, 0D0069F01125F83000A2FA32 /* PBXTargetDependency */, ); name = test1; productName = test1; productReference = 0D0069EA1125F80A00A2FA32 /* test1 */; productType = "com.apple.product-type.tool"; }; D2AAC045055464E500DB518D /* libpopt.a */ = { isa = PBXNativeTarget; buildConfigurationList = 1DEB91EB08733DB70010E9CD /* Build configuration list for PBXNativeTarget "libpopt.a" */; buildPhases = ( D2AAC043055464E500DB518D /* Headers */, D2AAC044055464E500DB518D /* Sources */, D289987405E68DCB004EDB86 /* Frameworks */, ); buildRules = ( ); dependencies = ( ); name = libpopt.a; productName = popt; productReference = D2AAC046055464E500DB518D /* libpopt.a */; productType = "com.apple.product-type.library.static"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 08FB7793FE84155DC02AAC07 /* Project object */ = { isa = PBXProject; buildConfigurationList = 1DEB91EF08733DB70010E9CD /* Build configuration list for PBXProject "popt" */; compatibilityVersion = "Xcode 3.1"; hasScannedForEncodings = 1; knownRegions = ( English, Japanese, French, German, "", ); mainGroup = 08FB7794FE84155DC02AAC07 /* popt */; projectDirPath = ""; projectRoot = ""; targets = ( D2AAC045055464E500DB518D /* libpopt.a */, 0D0069911125F03400A2FA32 /* libpopt.dylib */, 0D0069E91125F80A00A2FA32 /* test1 */, 0D006A101125FBE800A2FA32 /* testit.sh */, ); }; /* End PBXProject section */ /* Begin PBXShellScriptBuildPhase section */ 0D006A0F1125FBE800A2FA32 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "# shell script goes here\nexit 0"; }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ 0D00698F1125F03400A2FA32 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 0D00699D1125F0C400A2FA32 /* lookup3.c in Sources */, 0D3BAD141126031E00B3E80C /* popt.c in Sources */, 0D00699F1125F0CE00A2FA32 /* poptconfig.c in Sources */, 0D0069A01125F0D100A2FA32 /* popthelp.c in Sources */, 0D0069A11125F0D500A2FA32 /* poptint.c in Sources */, 0D0069A21125F0DA00A2FA32 /* poptparse.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; 0D0069E71125F80A00A2FA32 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 0D0069EE1125F81900A2FA32 /* test1.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; D2AAC044055464E500DB518D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 0D3EA3C41125E529001C69E6 /* lookup3.c in Sources */, 0D3BAD131126031E00B3E80C /* popt.c in Sources */, 0D3EA3CA1125E54B001C69E6 /* poptconfig.c in Sources */, 0D3EA3CC1125E553001C69E6 /* popthelp.c in Sources */, 0D3EA3CE1125E55B001C69E6 /* poptint.c in Sources */, 0D3EA3D21125E584001C69E6 /* poptparse.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ 0D0069F01125F83000A2FA32 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = D2AAC045055464E500DB518D /* libpopt.a */; targetProxy = 0D0069EF1125F83000A2FA32 /* PBXContainerItemProxy */; }; 0D006A141125FBFD00A2FA32 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 0D0069E91125F80A00A2FA32 /* test1 */; targetProxy = 0D006A131125FBFD00A2FA32 /* PBXContainerItemProxy */; }; 0DB9209C112616A9000277F8 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 0D0069911125F03400A2FA32 /* libpopt.dylib */; targetProxy = 0DB9209B112616A9000277F8 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ 0D0069931125F03500A2FA32 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; COPY_PHASE_STRIP = NO; EXECUTABLE_PREFIX = lib; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 2; GCC_PREPROCESSOR_DEFINITIONS = HAVE_CONFIG_H; INSTALL_PATH = /usr/local/lib; OTHER_LDFLAGS = "-liconv"; PREBINDING = NO; PRODUCT_NAME = popt; }; name = Debug; }; 0D0069941125F03500A2FA32 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; EXECUTABLE_PREFIX = lib; GCC_ENABLE_FIX_AND_CONTINUE = NO; GCC_MODEL_TUNING = G5; INSTALL_PATH = /usr/local/lib; PREBINDING = NO; PRODUCT_NAME = popt; ZERO_LINK = NO; }; name = Release; }; 0D0069EC1125F80A00A2FA32 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = HAVE_CONFIG_H; INSTALL_PATH = /usr/local/bin; MACH_O_TYPE = mh_execute; OTHER_LDFLAGS = ( "-lpopt", "-liconv", ); PREBINDING = NO; PRODUCT_NAME = test1; }; name = Debug; }; 0D0069ED1125F80A00A2FA32 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; GCC_ENABLE_FIX_AND_CONTINUE = NO; GCC_MODEL_TUNING = G5; INSTALL_PATH = /usr/local/bin; PREBINDING = NO; PRODUCT_NAME = test1; ZERO_LINK = NO; }; name = Release; }; 0D006A111125FBE800A2FA32 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; PRODUCT_NAME = testit.sh; }; name = Debug; }; 0D006A121125FBE800A2FA32 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; GCC_ENABLE_FIX_AND_CONTINUE = NO; PRODUCT_NAME = testit.sh; ZERO_LINK = NO; }; name = Release; }; 1DEB91EC08733DB70010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 2; GCC_PREPROCESSOR_DEFINITIONS = HAVE_CONFIG_H; INSTALL_PATH = /usr/local/lib; "New Setting" = ""; PRODUCT_NAME = popt; }; name = Debug; }; 1DEB91ED08733DB70010E9CD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; GCC_MODEL_TUNING = G5; INSTALL_PATH = /usr/local/lib; PRODUCT_NAME = popt; }; name = Release; }; 1DEB91F008733DB70010E9CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_OPTIMIZATION_LEVEL = 0; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; ONLY_ACTIVE_ARCH = YES; PREBINDING = NO; SDKROOT = macosx10.6; }; name = Debug; }; 1DEB91F108733DB70010E9CD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; PREBINDING = NO; SDKROOT = macosx10.6; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ 0D0069991125F07600A2FA32 /* Build configuration list for PBXNativeTarget "libpopt.dylib" */ = { isa = XCConfigurationList; buildConfigurations = ( 0D0069931125F03500A2FA32 /* Debug */, 0D0069941125F03500A2FA32 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; 0D0069F31125F84F00A2FA32 /* Build configuration list for PBXNativeTarget "test1" */ = { isa = XCConfigurationList; buildConfigurations = ( 0D0069EC1125F80A00A2FA32 /* Debug */, 0D0069ED1125F80A00A2FA32 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; 0D006A171125FC1C00A2FA32 /* Build configuration list for PBXAggregateTarget "testit.sh" */ = { isa = XCConfigurationList; buildConfigurations = ( 0D006A111125FBE800A2FA32 /* Debug */, 0D006A121125FBE800A2FA32 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; 1DEB91EB08733DB70010E9CD /* Build configuration list for PBXNativeTarget "libpopt.a" */ = { isa = XCConfigurationList; buildConfigurations = ( 1DEB91EC08733DB70010E9CD /* Debug */, 1DEB91ED08733DB70010E9CD /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; 1DEB91EF08733DB70010E9CD /* Build configuration list for PBXProject "popt" */ = { isa = XCConfigurationList; buildConfigurations = ( 1DEB91F008733DB70010E9CD /* Debug */, 1DEB91F108733DB70010E9CD /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; rootObject = 08FB7793FE84155DC02AAC07 /* Project object */; } popt-1.16/missing0000755000076400007640000002623311365302054010760 00000000000000#! /bin/sh # Common stub for a few missing GNU programs while installing. scriptversion=2009-04-28.21; # UTC # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, # 2008, 2009 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 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, 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 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. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 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. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi msg="missing on your system" case $1 in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 # Exit code 63 means version mismatch. This often happens # when the user try to use an ancient version of a tool on # a file that requires a minimum version. In this case we # we should proceed has if the program had been absent, or # if --run hadn't been passed. if test $? = 63; then run=: msg="probably too old" fi ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: 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 help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch] Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and \`g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; esac # normalize program name to check for. program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` # 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). This is about non-GNU programs, so use $1 not # $program. case $1 in lex*|yacc*) # Not GNU programs, they don't have --version. ;; tar*) if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then exit 1 fi ;; *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then # Could not run --version or --help. This is probably someone # running `$TOOL --version' or `$TOOL --help' to check whether # $TOOL exists and not knowing $TOOL uses missing. exit 1 fi ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case $program in aclocal*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case $f in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; autom4te*) echo 1>&2 "\ WARNING: \`$1' is needed, but is $msg. You might have modified some files without having the proper tools for further handling them. You can get \`$1' as part of \`Autoconf' from any GNU archive site." 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 echo "#! /bin/sh" echo "# Created by GNU Automake missing as a replacement of" echo "# $ $@" echo "exit 0" chmod +x $file exit 1 fi ;; bison*|yacc*) echo 1>&2 "\ WARNING: \`$1' $msg. You should only need it if you modified a \`.y' file. You may need the \`Bison' package 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 test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi if test ! -f y.tab.h; then echo >y.tab.h fi if test ! -f y.tab.c; then echo 'main() { return 0; }' >y.tab.c fi ;; lex*|flex*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if test ! -f lex.yy.c; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." 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 echo ".ab help2man is required to generate this page" exit $? fi ;; makeinfo*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, 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 "$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` # ... 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 # If the file does not exist, the user really needs makeinfo; # let's fail without touching anything. test -f $file || exit 1 touch $file ;; tar*) shift # We have already tried tar in the generic part. # Look for gnutar/gtar before invocation to avoid ugly error # messages. if (gnutar --version > /dev/null 2>&1); then gnutar "$@" && exit 0 fi if (gtar --version > /dev/null 2>&1); then gtar "$@" && exit 0 fi firstarg="$1" if shift; then case $firstarg in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" "$@" && exit 0 ;; esac case $firstarg in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" "$@" && exit 0 ;; esac fi echo 1>&2 "\ WARNING: I can't seem to be able to run \`tar' with the given arguments. You may want to install GNU tar or Free paxutils, or check the command line arguments." exit 1 ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and is $msg. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequisites for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: popt-1.16/popt.c0000664000076400007640000013622211325177456010525 00000000000000/** \ingroup popt * \file popt/popt.c */ /* (C) 1998-2002 Red Hat, Inc. -- Licensing details are in the COPYING file accompanying popt source distributions, available from ftp://ftp.rpm.org/pub/rpm/dist */ #undef MYDEBUG #include "system.h" #if defined(__LCLINT__) /*@-declundef -exportheader @*/ extern long long int strtoll(const char *nptr, /*@null@*/ char **endptr, int base) /*@modifies *endptr@*/; /*@=declundef =exportheader @*/ #endif #ifdef HAVE_FLOAT_H #include #endif #include #include "poptint.h" #ifdef MYDEBUG /*@unchecked@*/ int _popt_debug = 0; #endif /*@unchecked@*/ unsigned int _poptArgMask = POPT_ARG_MASK; /*@unchecked@*/ unsigned int _poptGroupMask = POPT_GROUP_MASK; #if !defined(HAVE_STRERROR) && !defined(__LCLINT__) static char * strerror(int errno) { extern int sys_nerr; extern char * sys_errlist[]; if ((0 <= errno) && (errno < sys_nerr)) return sys_errlist[errno]; else return POPT_("unknown errno"); } #endif #ifdef MYDEBUG /*@unused@*/ static void prtcon(const char *msg, poptContext con) { if (msg) fprintf(stderr, "%s", msg); fprintf(stderr, "\tcon %p os %p nextCharArg \"%s\" nextArg \"%s\" argv[%d] \"%s\"\n", con, con->os, (con->os->nextCharArg ? con->os->nextCharArg : ""), (con->os->nextArg ? con->os->nextArg : ""), con->os->next, (con->os->argv && con->os->argv[con->os->next] ? con->os->argv[con->os->next] : "")); } #endif void poptSetExecPath(poptContext con, const char * path, int allowAbsolute) { con->execPath = _free(con->execPath); con->execPath = xstrdup(path); con->execAbsolute = allowAbsolute; return; } static void invokeCallbacksPRE(poptContext con, const struct poptOption * opt) /*@globals internalState@*/ /*@modifies internalState@*/ { if (opt != NULL) for (; opt->longName || opt->shortName || opt->arg; opt++) { poptArg arg = { .ptr = opt->arg }; if (arg.ptr) switch (poptArgType(opt)) { case POPT_ARG_INCLUDE_TABLE: /* Recurse on included sub-tables. */ poptSubstituteHelpI18N(arg.opt); /* XXX side effects */ invokeCallbacksPRE(con, arg.opt); /*@switchbreak@*/ break; case POPT_ARG_CALLBACK: /* Perform callback. */ if (!CBF_ISSET(opt, PRE)) /*@switchbreak@*/ break; /*@-noeffectuncon @*/ /* XXX no known way to annotate (*vector) calls. */ arg.cb(con, POPT_CALLBACK_REASON_PRE, NULL, NULL, opt->descrip); /*@=noeffectuncon @*/ /*@switchbreak@*/ break; } } } static void invokeCallbacksPOST(poptContext con, const struct poptOption * opt) /*@globals internalState@*/ /*@modifies internalState@*/ { if (opt != NULL) for (; opt->longName || opt->shortName || opt->arg; opt++) { poptArg arg = { .ptr = opt->arg }; if (arg.ptr) switch (poptArgType(opt)) { case POPT_ARG_INCLUDE_TABLE: /* Recurse on included sub-tables. */ poptSubstituteHelpI18N(arg.opt); /* XXX side effects */ invokeCallbacksPOST(con, arg.opt); /*@switchbreak@*/ break; case POPT_ARG_CALLBACK: /* Perform callback. */ if (!CBF_ISSET(opt, POST)) /*@switchbreak@*/ break; /*@-noeffectuncon @*/ /* XXX no known way to annotate (*vector) calls. */ arg.cb(con, POPT_CALLBACK_REASON_POST, NULL, NULL, opt->descrip); /*@=noeffectuncon @*/ /*@switchbreak@*/ break; } } } static void invokeCallbacksOPTION(poptContext con, const struct poptOption * opt, const struct poptOption * myOpt, /*@null@*/ const void * myData, int shorty) /*@globals internalState@*/ /*@modifies internalState@*/ { const struct poptOption * cbopt = NULL; poptArg cbarg = { .ptr = NULL }; if (opt != NULL) for (; opt->longName || opt->shortName || opt->arg; opt++) { poptArg arg = { .ptr = opt->arg }; switch (poptArgType(opt)) { case POPT_ARG_INCLUDE_TABLE: /* Recurse on included sub-tables. */ poptSubstituteHelpI18N(arg.opt); /* XXX side effects */ if (opt->arg != NULL) invokeCallbacksOPTION(con, opt->arg, myOpt, myData, shorty); /*@switchbreak@*/ break; case POPT_ARG_CALLBACK: /* Save callback info. */ if (CBF_ISSET(opt, SKIPOPTION)) /*@switchbreak@*/ break; cbopt = opt; cbarg.ptr = opt->arg; /*@switchbreak@*/ break; default: /* Perform callback on matching option. */ if (cbopt == NULL || cbarg.cb == NULL) /*@switchbreak@*/ break; if ((myOpt->shortName && opt->shortName && shorty && myOpt->shortName == opt->shortName) || (myOpt->longName != NULL && opt->longName != NULL && !strcmp(myOpt->longName, opt->longName))) { const void *cbData = (cbopt->descrip ? cbopt->descrip : myData); /*@-noeffectuncon @*/ /* XXX no known way to annotate (*vector) calls. */ cbarg.cb(con, POPT_CALLBACK_REASON_OPTION, myOpt, con->os->nextArg, cbData); /*@=noeffectuncon @*/ /* Terminate (unless explcitly continuing). */ if (!CBF_ISSET(cbopt, CONTINUE)) return; } /*@switchbreak@*/ break; } } } poptContext poptGetContext(const char * name, int argc, const char ** argv, const struct poptOption * options, unsigned int flags) { poptContext con = malloc(sizeof(*con)); if (con == NULL) return NULL; /* XXX can't happen */ memset(con, 0, sizeof(*con)); con->os = con->optionStack; con->os->argc = argc; /*@-dependenttrans -assignexpose@*/ /* FIX: W2DO? */ con->os->argv = argv; /*@=dependenttrans =assignexpose@*/ con->os->argb = NULL; if (!(flags & POPT_CONTEXT_KEEP_FIRST)) con->os->next = 1; /* skip argv[0] */ con->leftovers = calloc( (size_t)(argc + 1), sizeof(*con->leftovers) ); /*@-dependenttrans -assignexpose@*/ /* FIX: W2DO? */ con->options = options; /*@=dependenttrans =assignexpose@*/ con->aliases = NULL; con->numAliases = 0; con->flags = flags; con->execs = NULL; con->numExecs = 0; con->finalArgvAlloced = argc * 2; con->finalArgv = calloc( (size_t)con->finalArgvAlloced, sizeof(*con->finalArgv) ); con->execAbsolute = 1; con->arg_strip = NULL; if (getenv("POSIXLY_CORRECT") || getenv("POSIX_ME_HARDER")) con->flags |= POPT_CONTEXT_POSIXMEHARDER; if (name) con->appName = xstrdup(name); invokeCallbacksPRE(con, con->options); return con; } static void cleanOSE(/*@special@*/ struct optionStackEntry *os) /*@uses os @*/ /*@releases os->nextArg, os->argv, os->argb @*/ /*@modifies os @*/ { os->nextArg = _free(os->nextArg); os->argv = _free(os->argv); os->argb = PBM_FREE(os->argb); } void poptResetContext(poptContext con) { int i; if (con == NULL) return; while (con->os > con->optionStack) { cleanOSE(con->os--); } con->os->argb = PBM_FREE(con->os->argb); con->os->currAlias = NULL; con->os->nextCharArg = NULL; con->os->nextArg = NULL; con->os->next = 1; /* skip argv[0] */ con->numLeftovers = 0; con->nextLeftover = 0; con->restLeftover = 0; con->doExec = NULL; if (con->finalArgv != NULL) for (i = 0; i < con->finalArgvCount; i++) { /*@-unqualifiedtrans@*/ /* FIX: typedef double indirection. */ con->finalArgv[i] = _free(con->finalArgv[i]); /*@=unqualifiedtrans@*/ } con->finalArgvCount = 0; con->arg_strip = PBM_FREE(con->arg_strip); /*@-nullstate@*/ /* FIX: con->finalArgv != NULL */ return; /*@=nullstate@*/ } /* Only one of longName, shortName should be set, not both. */ static int handleExec(/*@special@*/ poptContext con, /*@null@*/ const char * longName, char shortName) /*@uses con->execs, con->numExecs, con->flags, con->doExec, con->finalArgv, con->finalArgvAlloced, con->finalArgvCount @*/ /*@modifies con @*/ { poptItem item; int i; if (con->execs == NULL || con->numExecs <= 0) /* XXX can't happen */ return 0; for (i = con->numExecs - 1; i >= 0; i--) { item = con->execs + i; if (longName && !(item->option.longName && !strcmp(longName, item->option.longName))) continue; else if (shortName != item->option.shortName) continue; break; } if (i < 0) return 0; if (con->flags & POPT_CONTEXT_NO_EXEC) return 1; if (con->doExec == NULL) { con->doExec = con->execs + i; return 1; } /* We already have an exec to do; remember this option for next time 'round */ if ((con->finalArgvCount + 1) >= (con->finalArgvAlloced)) { con->finalArgvAlloced += 10; con->finalArgv = realloc(con->finalArgv, sizeof(*con->finalArgv) * con->finalArgvAlloced); } i = con->finalArgvCount++; if (con->finalArgv != NULL) /* XXX can't happen */ { char *s = malloc((longName ? strlen(longName) : 0) + sizeof("--")); if (s != NULL) { /* XXX can't happen */ con->finalArgv[i] = s; *s++ = '-'; if (longName) s = stpcpy( stpcpy(s, "-"), longName); else *s++ = shortName; *s = '\0'; } else con->finalArgv[i] = NULL; } return 1; } /** * Compare long option for equality, adjusting for POPT_ARGFLAG_TOGGLE. * @param opt option * @param longName arg option * @param longNameLen arg option length * @return does long option match? */ static int longOptionStrcmp(const struct poptOption * opt, /*@null@*/ const char * longName, size_t longNameLen) /*@*/ { const char * optLongName = opt->longName; int rc; if (optLongName == NULL || longName == NULL) /* XXX can't heppen */ return 0; if (F_ISSET(opt, TOGGLE)) { if (optLongName[0] == 'n' && optLongName[1] == 'o') { optLongName += sizeof("no") - 1; if (optLongName[0] == '-') optLongName++; } if (longName[0] == 'n' && longName[1] == 'o') { longName += sizeof("no") - 1; longNameLen -= sizeof("no") - 1; if (longName[0] == '-') { longName++; longNameLen--; } } } rc = (int)(strlen(optLongName) == longNameLen); if (rc) rc = (int)(strncmp(optLongName, longName, longNameLen) == 0); return rc; } /* Only one of longName, shortName may be set at a time */ static int handleAlias(/*@special@*/ poptContext con, /*@null@*/ const char * longName, size_t longNameLen, char shortName, /*@exposed@*/ /*@null@*/ const char * nextArg) /*@uses con->aliases, con->numAliases, con->optionStack, con->os, con->os->currAlias, con->os->currAlias->option.longName @*/ /*@modifies con @*/ { poptItem item = con->os->currAlias; int rc; int i; if (item) { if (longName && item->option.longName != NULL && longOptionStrcmp(&item->option, longName, longNameLen)) return 0; else if (shortName && shortName == item->option.shortName) return 0; } if (con->aliases == NULL || con->numAliases <= 0) /* XXX can't happen */ return 0; for (i = con->numAliases - 1; i >= 0; i--) { item = con->aliases + i; if (longName) { if (item->option.longName == NULL) continue; if (!longOptionStrcmp(&item->option, longName, longNameLen)) continue; } else if (shortName != item->option.shortName) continue; break; } if (i < 0) return 0; if ((con->os - con->optionStack + 1) == POPT_OPTION_DEPTH) return POPT_ERROR_OPTSTOODEEP; if (longName == NULL && nextArg != NULL && *nextArg != '\0') con->os->nextCharArg = nextArg; con->os++; con->os->next = 0; con->os->stuffed = 0; con->os->nextArg = NULL; con->os->nextCharArg = NULL; con->os->currAlias = con->aliases + i; { const char ** av; int ac = con->os->currAlias->argc; /* Append --foo=bar arg to alias argv array (if present). */ if (longName && nextArg != NULL && *nextArg != '\0') { av = malloc((ac + 1 + 1) * sizeof(*av)); if (av != NULL) { /* XXX won't happen. */ for (i = 0; i < ac; i++) { av[i] = con->os->currAlias->argv[i]; } av[ac++] = nextArg; av[ac] = NULL; } else /* XXX revert to old popt behavior if malloc fails. */ av = con->os->currAlias->argv; } else av = con->os->currAlias->argv; rc = poptDupArgv(ac, av, &con->os->argc, &con->os->argv); if (av != NULL && av != con->os->currAlias->argv) free(av); } con->os->argb = NULL; return (rc ? rc : 1); } /** * Return absolute path to executable by searching PATH. * @param argv0 name of executable * @return (malloc'd) absolute path to executable (or NULL) */ static /*@null@*/ const char * findProgramPath(/*@null@*/ const char * argv0) /*@*/ { char *path = NULL, *s = NULL, *se; char *t = NULL; if (argv0 == NULL) return NULL; /* XXX can't happen */ /* If there is a / in argv[0], it has to be an absolute path. */ /* XXX Hmmm, why not if (argv0[0] == '/') ... instead? */ if (strchr(argv0, '/')) return xstrdup(argv0); if ((path = getenv("PATH")) == NULL || (path = xstrdup(path)) == NULL) return NULL; /* The return buffer in t is big enough for any path. */ if ((t = malloc(strlen(path) + strlen(argv0) + sizeof("/"))) != NULL) for (s = path; s && *s; s = se) { /* Snip PATH element into [s,se). */ if ((se = strchr(s, ':'))) *se++ = '\0'; /* Append argv0 to PATH element. */ (void) stpcpy(stpcpy(stpcpy(t, s), "/"), argv0); /* If file is executable, bingo! */ if (!access(t, X_OK)) break; } /* If no executable was found in PATH, return NULL. */ /*@-compdef@*/ if (!(s && *s) && t != NULL) t = _free(t); /*@=compdef@*/ /*@-modobserver -observertrans -usedef @*/ path = _free(path); /*@=modobserver =observertrans =usedef @*/ return t; } static int execCommand(poptContext con) /*@globals internalState @*/ /*@modifies internalState @*/ { poptItem item = con->doExec; poptArgv argv = NULL; int argc = 0; int rc; int ec = POPT_ERROR_ERRNO; if (item == NULL) /*XXX can't happen*/ return POPT_ERROR_NOARG; if (item->argv == NULL || item->argc < 1 || (!con->execAbsolute && strchr(item->argv[0], '/'))) return POPT_ERROR_NOARG; argv = malloc(sizeof(*argv) * (6 + item->argc + con->numLeftovers + con->finalArgvCount)); if (argv == NULL) return POPT_ERROR_MALLOC; if (!strchr(item->argv[0], '/') && con->execPath != NULL) { char *s = malloc(strlen(con->execPath) + strlen(item->argv[0]) + sizeof("/")); if (s) (void)stpcpy(stpcpy(stpcpy(s, con->execPath), "/"), item->argv[0]); argv[argc] = s; } else argv[argc] = findProgramPath(item->argv[0]); if (argv[argc++] == NULL) { ec = POPT_ERROR_NOARG; goto exit; } if (item->argc > 1) { memcpy(argv + argc, item->argv + 1, sizeof(*argv) * (item->argc - 1)); argc += (item->argc - 1); } if (con->finalArgv != NULL && con->finalArgvCount > 0) { memcpy(argv + argc, con->finalArgv, sizeof(*argv) * con->finalArgvCount); argc += con->finalArgvCount; } if (con->leftovers != NULL && con->numLeftovers > 0) { memcpy(argv + argc, con->leftovers, sizeof(*argv) * con->numLeftovers); argc += con->numLeftovers; } argv[argc] = NULL; #if defined(hpux) || defined(__hpux) rc = setresgid(getgid(), getgid(),-1); if (rc) goto exit; rc = setresuid(getuid(), getuid(),-1); if (rc) goto exit; #else /* * XXX " ... on BSD systems setuid() should be preferred over setreuid()" * XXX sez' Timur Bakeyev * XXX from Norbert Warmuth */ #if defined(HAVE_SETUID) rc = setgid(getgid()); if (rc) goto exit; rc = setuid(getuid()); if (rc) goto exit; #elif defined (HAVE_SETREUID) rc = setregid(getgid(), getgid()); if (rc) goto exit; rc = setreuid(getuid(), getuid()); if (rc) goto exit; #else ; /* Can't drop privileges */ #endif #endif #ifdef MYDEBUG if (_popt_debug) { poptArgv avp; fprintf(stderr, "==> execvp(%s) argv[%d]:", argv[0], argc); for (avp = argv; *avp; avp++) fprintf(stderr, " '%s'", *avp); fprintf(stderr, "\n"); } #endif /*@-nullstate@*/ rc = execvp(argv[0], (char *const *)argv); /*@=nullstate@*/ exit: if (argv) { if (argv[0]) free((void *)argv[0]); free(argv); } return ec; } /*@observer@*/ /*@null@*/ static const struct poptOption * findOption(const struct poptOption * opt, /*@null@*/ const char * longName, size_t longNameLen, char shortName, /*@null@*/ /*@out@*/ poptCallbackType * callback, /*@null@*/ /*@out@*/ const void ** callbackData, unsigned int argInfo) /*@modifies *callback, *callbackData */ { const struct poptOption * cb = NULL; poptArg cbarg = { .ptr = NULL }; /* This happens when a single - is given */ if (LF_ISSET(ONEDASH) && !shortName && (longName && *longName == '\0')) shortName = '-'; for (; opt->longName || opt->shortName || opt->arg; opt++) { poptArg arg = { .ptr = opt->arg }; switch (poptArgType(opt)) { case POPT_ARG_INCLUDE_TABLE: /* Recurse on included sub-tables. */ { const struct poptOption * opt2; poptSubstituteHelpI18N(arg.opt); /* XXX side effects */ if (arg.ptr == NULL) continue; /* XXX program error */ opt2 = findOption(arg.opt, longName, longNameLen, shortName, callback, callbackData, argInfo); if (opt2 == NULL) continue; /* Sub-table data will be inheirited if no data yet. */ /*@-observertrans -dependenttrans @*/ if (callback && *callback && callbackData && *callbackData == NULL) *callbackData = opt->descrip; /*@=observertrans =dependenttrans @*/ return opt2; } /*@notreached@*/ /*@switchbreak@*/ break; case POPT_ARG_CALLBACK: cb = opt; cbarg.ptr = opt->arg; continue; /*@notreached@*/ /*@switchbreak@*/ break; default: /*@switchbreak@*/ break; } if (longName != NULL && opt->longName != NULL && (!LF_ISSET(ONEDASH) || F_ISSET(opt, ONEDASH)) && longOptionStrcmp(opt, longName, longNameLen)) { break; } else if (shortName && shortName == opt->shortName) { break; } } if (opt->longName == NULL && !opt->shortName) return NULL; /*@-modobserver -mods @*/ if (callback) *callback = (cb ? cbarg.cb : NULL); if (callbackData) /*@-observertrans -dependenttrans @*/ *callbackData = (cb && !CBF_ISSET(cb, INC_DATA) ? cb->descrip : NULL); /*@=observertrans =dependenttrans @*/ /*@=modobserver =mods @*/ return opt; } static const char * findNextArg(/*@special@*/ poptContext con, unsigned argx, int delete_arg) /*@uses con->optionStack, con->os, con->os->next, con->os->argb, con->os->argc, con->os->argv @*/ /*@modifies con @*/ { struct optionStackEntry * os = con->os; const char * arg; do { int i; arg = NULL; while (os->next == os->argc && os > con->optionStack) os--; if (os->next == os->argc && os == con->optionStack) break; if (os->argv != NULL) for (i = os->next; i < os->argc; i++) { /*@-sizeoftype@*/ if (os->argb && PBM_ISSET(i, os->argb)) /*@innercontinue@*/ continue; if (*os->argv[i] == '-') /*@innercontinue@*/ continue; if (--argx > 0) /*@innercontinue@*/ continue; arg = os->argv[i]; if (delete_arg) { if (os->argb == NULL) os->argb = PBM_ALLOC(os->argc); if (os->argb != NULL) /* XXX can't happen */ PBM_SET(i, os->argb); } /*@innerbreak@*/ break; /*@=sizeoftype@*/ } if (os > con->optionStack) os--; } while (arg == NULL); return arg; } static /*@only@*/ /*@null@*/ const char * expandNextArg(/*@special@*/ poptContext con, const char * s) /*@uses con->optionStack, con->os, con->os->next, con->os->argb, con->os->argc, con->os->argv @*/ /*@modifies con @*/ { const char * a = NULL; char *t, *te; size_t tn = strlen(s) + 1; char c; te = t = malloc(tn); if (t == NULL) return NULL; /* XXX can't happen */ *t = '\0'; while ((c = *s++) != '\0') { switch (c) { #if 0 /* XXX can't do this */ case '\\': /* escape */ c = *s++; /*@switchbreak@*/ break; #endif case '!': if (!(s[0] == '#' && s[1] == ':' && s[2] == '+')) /*@switchbreak@*/ break; /* XXX Make sure that findNextArg deletes only next arg. */ if (a == NULL) { if ((a = findNextArg(con, 1U, 1)) == NULL) /*@switchbreak@*/ break; } s += sizeof("#:+") - 1; tn += strlen(a); { size_t pos = (size_t) (te - t); if ((t = realloc(t, tn)) == NULL) /* XXX can't happen */ return NULL; te = stpcpy(t + pos, a); } continue; /*@notreached@*/ /*@switchbreak@*/ break; default: /*@switchbreak@*/ break; } *te++ = c; } *te++ = '\0'; /* If the new string is longer than needed, shorten. */ if ((t + tn) > te) { /*@-usereleased@*/ /* XXX splint can't follow the pointers. */ if ((te = realloc(t, (size_t)(te - t))) == NULL) free(t); t = te; /*@=usereleased@*/ } return t; } static void poptStripArg(/*@special@*/ poptContext con, int which) /*@uses con->optionStack @*/ /*@defines con->arg_strip @*/ /*@modifies con @*/ { /*@-compdef -sizeoftype -usedef @*/ if (con->arg_strip == NULL) con->arg_strip = PBM_ALLOC(con->optionStack[0].argc); if (con->arg_strip != NULL) /* XXX can't happen */ PBM_SET(which, con->arg_strip); return; /*@=compdef =sizeoftype =usedef @*/ } /*@unchecked@*/ unsigned int _poptBitsN = _POPT_BITS_N; /*@unchecked@*/ unsigned int _poptBitsM = _POPT_BITS_M; /*@unchecked@*/ unsigned int _poptBitsK = _POPT_BITS_K; /*@-sizeoftype@*/ static int _poptBitsNew(/*@null@*/ poptBits *bitsp) /*@globals _poptBitsN, _poptBitsM, _poptBitsK @*/ /*@modifies *bitsp, _poptBitsN, _poptBitsM, _poptBitsK @*/ { if (bitsp == NULL) return POPT_ERROR_NULLARG; /* XXX handle negated initialization. */ if (*bitsp == NULL) { if (_poptBitsN == 0) { _poptBitsN = _POPT_BITS_N; _poptBitsM = _POPT_BITS_M; } if (_poptBitsM == 0U) _poptBitsM = (3 * _poptBitsN) / 2; if (_poptBitsK == 0U || _poptBitsK > 32U) _poptBitsK = _POPT_BITS_K; *bitsp = PBM_ALLOC(_poptBitsM-1); } /*@-nullstate@*/ return 0; /*@=nullstate@*/ } int poptBitsAdd(poptBits bits, const char * s) { size_t ns = (s ? strlen(s) : 0); uint32_t h0 = 0; uint32_t h1 = 0; if (bits == NULL || ns == 0) return POPT_ERROR_NULLARG; poptJlu32lpair(s, ns, &h0, &h1); for (ns = 0; ns < (size_t)_poptBitsK; ns++) { uint32_t h = h0 + ns * h1; uint32_t ix = (h % _poptBitsM); PBM_SET(ix, bits); } return 0; } int poptBitsChk(poptBits bits, const char * s) { size_t ns = (s ? strlen(s) : 0); uint32_t h0 = 0; uint32_t h1 = 0; int rc = 1; if (bits == NULL || ns == 0) return POPT_ERROR_NULLARG; poptJlu32lpair(s, ns, &h0, &h1); for (ns = 0; ns < (size_t)_poptBitsK; ns++) { uint32_t h = h0 + ns * h1; uint32_t ix = (h % _poptBitsM); if (PBM_ISSET(ix, bits)) continue; rc = 0; break; } return rc; } int poptBitsClr(poptBits bits) { static size_t nbw = (__PBM_NBITS/8); size_t nw = (__PBM_IX(_poptBitsM-1) + 1); if (bits == NULL) return POPT_ERROR_NULLARG; memset(bits, 0, nw * nbw); return 0; } int poptBitsDel(poptBits bits, const char * s) { size_t ns = (s ? strlen(s) : 0); uint32_t h0 = 0; uint32_t h1 = 0; if (bits == NULL || ns == 0) return POPT_ERROR_NULLARG; poptJlu32lpair(s, ns, &h0, &h1); for (ns = 0; ns < (size_t)_poptBitsK; ns++) { uint32_t h = h0 + ns * h1; uint32_t ix = (h % _poptBitsM); PBM_CLR(ix, bits); } return 0; } int poptBitsIntersect(poptBits *ap, const poptBits b) { __pbm_bits *abits; __pbm_bits *bbits; __pbm_bits rc = 0; size_t nw = (__PBM_IX(_poptBitsM-1) + 1); size_t i; if (ap == NULL || b == NULL || _poptBitsNew(ap)) return POPT_ERROR_NULLARG; abits = __PBM_BITS(*ap); bbits = __PBM_BITS(b); for (i = 0; i < nw; i++) { abits[i] &= bbits[i]; rc |= abits[i]; } return (rc ? 1 : 0); } int poptBitsUnion(poptBits *ap, const poptBits b) { __pbm_bits *abits; __pbm_bits *bbits; __pbm_bits rc = 0; size_t nw = (__PBM_IX(_poptBitsM-1) + 1); size_t i; if (ap == NULL || b == NULL || _poptBitsNew(ap)) return POPT_ERROR_NULLARG; abits = __PBM_BITS(*ap); bbits = __PBM_BITS(b); for (i = 0; i < nw; i++) { abits[i] |= bbits[i]; rc |= abits[i]; } return (rc ? 1 : 0); } int poptBitsArgs(poptContext con, poptBits *ap) { const char ** av; int rc = 0; if (con == NULL || ap == NULL || _poptBitsNew(ap) || con->leftovers == NULL || con->numLeftovers == con->nextLeftover) return POPT_ERROR_NULLARG; /* some apps like [like RPM ;-) ] need this NULL terminated */ con->leftovers[con->numLeftovers] = NULL; for (av = con->leftovers + con->nextLeftover; *av != NULL; av++) { if ((rc = poptBitsAdd(*ap, *av)) != 0) break; } /*@-nullstate@*/ return rc; /*@=nullstate@*/ } int poptSaveBits(poptBits * bitsp, /*@unused@*/ UNUSED(unsigned int argInfo), const char * s) { char *tbuf = NULL; char *t, *te; int rc = 0; if (bitsp == NULL || s == NULL || *s == '\0' || _poptBitsNew(bitsp)) return POPT_ERROR_NULLARG; /* Parse comma separated attributes. */ te = tbuf = xstrdup(s); while ((t = te) != NULL && *t) { while (*te != '\0' && *te != ',') te++; if (*te != '\0') *te++ = '\0'; /* XXX Ignore empty strings. */ if (*t == '\0') continue; /* XXX Permit negated attributes. caveat emptor: false negatives. */ if (*t == '!') { t++; if ((rc = poptBitsChk(*bitsp, t)) > 0) rc = poptBitsDel(*bitsp, t); } else rc = poptBitsAdd(*bitsp, t); if (rc) break; } tbuf = _free(tbuf); return rc; } /*@=sizeoftype@*/ int poptSaveString(const char *** argvp, /*@unused@*/ UNUSED(unsigned int argInfo), const char * val) { int argc = 0; if (argvp == NULL || val == NULL) return POPT_ERROR_NULLARG; /* XXX likely needs an upper bound on argc. */ if (*argvp != NULL) while ((*argvp)[argc] != NULL) argc++; /*@-unqualifiedtrans -nullstate@*/ /* XXX no annotation for (*argvp) */ if ((*argvp = xrealloc(*argvp, (argc + 1 + 1) * sizeof(**argvp))) != NULL) { (*argvp)[argc++] = xstrdup(val); (*argvp)[argc ] = NULL; } return 0; /*@=unqualifiedtrans =nullstate@*/ } /*@unchecked@*/ static unsigned int seed = 0; int poptSaveLongLong(long long * arg, unsigned int argInfo, long long aLongLong) { if (arg == NULL #ifdef NOTYET /* XXX Check alignment, may fail on funky platforms. */ || (((unsigned long long)arg) & (sizeof(*arg)-1)) #endif ) return POPT_ERROR_NULLARG; if (aLongLong != 0 && LF_ISSET(RANDOM)) { #if defined(HAVE_SRANDOM) if (!seed) { srandom((unsigned)getpid()); srandom((unsigned)random()); } aLongLong = (long long)(random() % (aLongLong > 0 ? aLongLong : -aLongLong)); aLongLong++; #else /* XXX avoid adding POPT_ERROR_UNIMPLEMENTED to minimize i18n churn. */ return POPT_ERROR_BADOPERATION; #endif } if (LF_ISSET(NOT)) aLongLong = ~aLongLong; switch (LF_ISSET(LOGICALOPS)) { case 0: *arg = aLongLong; break; case POPT_ARGFLAG_OR: *(unsigned long long *)arg |= (unsigned long long)aLongLong; break; case POPT_ARGFLAG_AND: *(unsigned long long *)arg &= (unsigned long long)aLongLong; break; case POPT_ARGFLAG_XOR: *(unsigned long long *)arg ^= (unsigned long long)aLongLong; break; default: return POPT_ERROR_BADOPERATION; /*@notreached@*/ break; } return 0; } int poptSaveLong(long * arg, unsigned int argInfo, long aLong) { /* XXX Check alignment, may fail on funky platforms. */ if (arg == NULL || (((unsigned long)arg) & (sizeof(*arg)-1))) return POPT_ERROR_NULLARG; if (aLong != 0 && LF_ISSET(RANDOM)) { #if defined(HAVE_SRANDOM) if (!seed) { srandom((unsigned)getpid()); srandom((unsigned)random()); } aLong = random() % (aLong > 0 ? aLong : -aLong); aLong++; #else /* XXX avoid adding POPT_ERROR_UNIMPLEMENTED to minimize i18n churn. */ return POPT_ERROR_BADOPERATION; #endif } if (LF_ISSET(NOT)) aLong = ~aLong; switch (LF_ISSET(LOGICALOPS)) { case 0: *arg = aLong; break; case POPT_ARGFLAG_OR: *(unsigned long *)arg |= (unsigned long)aLong; break; case POPT_ARGFLAG_AND: *(unsigned long *)arg &= (unsigned long)aLong; break; case POPT_ARGFLAG_XOR: *(unsigned long *)arg ^= (unsigned long)aLong; break; default: return POPT_ERROR_BADOPERATION; /*@notreached@*/ break; } return 0; } int poptSaveInt(/*@null@*/ int * arg, unsigned int argInfo, long aLong) { /* XXX Check alignment, may fail on funky platforms. */ if (arg == NULL || (((unsigned long)arg) & (sizeof(*arg)-1))) return POPT_ERROR_NULLARG; if (aLong != 0 && LF_ISSET(RANDOM)) { #if defined(HAVE_SRANDOM) if (!seed) { srandom((unsigned)getpid()); srandom((unsigned)random()); } aLong = random() % (aLong > 0 ? aLong : -aLong); aLong++; #else /* XXX avoid adding POPT_ERROR_UNIMPLEMENTED to minimize i18n churn. */ return POPT_ERROR_BADOPERATION; #endif } if (LF_ISSET(NOT)) aLong = ~aLong; switch (LF_ISSET(LOGICALOPS)) { case 0: *arg = (int) aLong; break; case POPT_ARGFLAG_OR: *(unsigned int *)arg |= (unsigned int) aLong; break; case POPT_ARGFLAG_AND: *(unsigned int *)arg &= (unsigned int) aLong; break; case POPT_ARGFLAG_XOR: *(unsigned int *)arg ^= (unsigned int) aLong; break; default: return POPT_ERROR_BADOPERATION; /*@notreached@*/ break; } return 0; } int poptSaveShort(/*@null@*/ short * arg, unsigned int argInfo, long aLong) { /* XXX Check alignment, may fail on funky platforms. */ if (arg == NULL || (((unsigned long)arg) & (sizeof(*arg)-1))) return POPT_ERROR_NULLARG; if (aLong != 0 && LF_ISSET(RANDOM)) { #if defined(HAVE_SRANDOM) if (!seed) { srandom((unsigned)getpid()); srandom((unsigned)random()); } aLong = random() % (aLong > 0 ? aLong : -aLong); aLong++; #else /* XXX avoid adding POPT_ERROR_UNIMPLEMENTED to minimize i18n churn. */ return POPT_ERROR_BADOPERATION; #endif } if (LF_ISSET(NOT)) aLong = ~aLong; switch (LF_ISSET(LOGICALOPS)) { case 0: *arg = (short) aLong; break; case POPT_ARGFLAG_OR: *(unsigned short *)arg |= (unsigned short) aLong; break; case POPT_ARGFLAG_AND: *(unsigned short *)arg &= (unsigned short) aLong; break; case POPT_ARGFLAG_XOR: *(unsigned short *)arg ^= (unsigned short) aLong; break; default: return POPT_ERROR_BADOPERATION; /*@notreached@*/ break; } return 0; } /** * Return argInfo field, handling POPT_ARGFLAG_TOGGLE overrides. * @param con context * @param opt option * @return argInfo */ static unsigned int poptArgInfo(poptContext con, const struct poptOption * opt) /*@*/ { unsigned int argInfo = opt->argInfo; if (con->os->argv != NULL && con->os->next > 0 && opt->longName != NULL) if (LF_ISSET(TOGGLE)) { const char * longName = con->os->argv[con->os->next-1]; while (*longName == '-') longName++; /* XXX almost good enough but consider --[no]nofoo corner cases. */ if (longName[0] != opt->longName[0] || longName[1] != opt->longName[1]) { if (!LF_ISSET(XOR)) { /* XXX dont toggle with XOR */ /* Toggle POPT_BIT_SET <=> POPT_BIT_CLR. */ if (LF_ISSET(LOGICALOPS)) argInfo ^= (POPT_ARGFLAG_OR|POPT_ARGFLAG_AND); argInfo ^= POPT_ARGFLAG_NOT; } } } return argInfo; } /** * Parse an integer expression. * @retval *llp integer expression value * @param argInfo integer expression type * @param val integer expression string * @return 0 on success, otherwise POPT_* error. */ static int poptParseInteger(long long * llp, /*@unused@*/ UNUSED(unsigned int argInfo), /*@null@*/ const char * val) /*@modifies *llp @*/ { if (val) { char *end = NULL; *llp = strtoll(val, &end, 0); /* XXX parse scaling suffixes here. */ if (!(end && *end == '\0')) return POPT_ERROR_BADNUMBER; } else *llp = 0; return 0; } /** * Save the option argument through the (*opt->arg) pointer. * @param con context * @param opt option * @return 0 on success, otherwise POPT_* error. */ static int poptSaveArg(poptContext con, const struct poptOption * opt) /*@globals fileSystem, internalState @*/ /*@modifies con, fileSystem, internalState @*/ { poptArg arg = { .ptr = opt->arg }; int rc = 0; /* assume success */ switch (poptArgType(opt)) { case POPT_ARG_BITSET: /* XXX memory leak, application is responsible for free. */ rc = poptSaveBits(arg.ptr, opt->argInfo, con->os->nextArg); /*@switchbreak@*/ break; case POPT_ARG_ARGV: /* XXX memory leak, application is responsible for free. */ rc = poptSaveString(arg.ptr, opt->argInfo, con->os->nextArg); /*@switchbreak@*/ break; case POPT_ARG_STRING: /* XXX memory leak, application is responsible for free. */ arg.argv[0] = (con->os->nextArg) ? xstrdup(con->os->nextArg) : NULL; /*@switchbreak@*/ break; case POPT_ARG_INT: case POPT_ARG_SHORT: case POPT_ARG_LONG: case POPT_ARG_LONGLONG: { unsigned int argInfo = poptArgInfo(con, opt); long long aNUM = 0; if ((rc = poptParseInteger(&aNUM, argInfo, con->os->nextArg)) != 0) break; switch (poptArgType(opt)) { case POPT_ARG_LONGLONG: /* XXX let's not demand C99 compiler flags for quite yet. */ #if !defined(LLONG_MAX) # define LLONG_MAX 9223372036854775807LL # define LLONG_MIN (-LLONG_MAX - 1LL) #endif rc = !(aNUM == LLONG_MIN || aNUM == LLONG_MAX) ? poptSaveLongLong(arg.longlongp, argInfo, aNUM) : POPT_ERROR_OVERFLOW; /*@innerbreak@*/ break; case POPT_ARG_LONG: rc = !(aNUM < (long long)LONG_MIN || aNUM > (long long)LONG_MAX) ? poptSaveLong(arg.longp, argInfo, (long)aNUM) : POPT_ERROR_OVERFLOW; /*@innerbreak@*/ break; case POPT_ARG_INT: rc = !(aNUM < (long long)INT_MIN || aNUM > (long long)INT_MAX) ? poptSaveInt(arg.intp, argInfo, (long)aNUM) : POPT_ERROR_OVERFLOW; /*@innerbreak@*/ break; case POPT_ARG_SHORT: rc = !(aNUM < (long long)SHRT_MIN || aNUM > (long long)SHRT_MAX) ? poptSaveShort(arg.shortp, argInfo, (long)aNUM) : POPT_ERROR_OVERFLOW; /*@innerbreak@*/ break; } } /*@switchbreak@*/ break; case POPT_ARG_FLOAT: case POPT_ARG_DOUBLE: { char *end = NULL; double aDouble = 0.0; if (con->os->nextArg) { /*@-mods@*/ int saveerrno = errno; errno = 0; aDouble = strtod(con->os->nextArg, &end); if (errno == ERANGE) { rc = POPT_ERROR_OVERFLOW; break; } errno = saveerrno; /*@=mods@*/ if (*end != '\0') { rc = POPT_ERROR_BADNUMBER; break; } } switch (poptArgType(opt)) { case POPT_ARG_DOUBLE: arg.doublep[0] = aDouble; /*@innerbreak@*/ break; case POPT_ARG_FLOAT: #if !defined(DBL_EPSILON) && !defined(__LCLINT__) #define DBL_EPSILON 2.2204460492503131e-16 #endif #define POPT_ABS(a) ((((a) - 0.0) < DBL_EPSILON) ? -(a) : (a)) if ((FLT_MIN - POPT_ABS(aDouble)) > DBL_EPSILON || (POPT_ABS(aDouble) - FLT_MAX) > DBL_EPSILON) rc = POPT_ERROR_OVERFLOW; else arg.floatp[0] = (float) aDouble; /*@innerbreak@*/ break; } } /*@switchbreak@*/ break; case POPT_ARG_MAINCALL: /*@-assignexpose -type@*/ con->maincall = opt->arg; /*@=assignexpose =type@*/ /*@switchbreak@*/ break; default: fprintf(stdout, POPT_("option type (%u) not implemented in popt\n"), poptArgType(opt)); exit(EXIT_FAILURE); /*@notreached@*/ /*@switchbreak@*/ break; } return rc; } /* returns 'val' element, -1 on last item, POPT_ERROR_* on error */ int poptGetNextOpt(poptContext con) { const struct poptOption * opt = NULL; int done = 0; if (con == NULL) return -1; while (!done) { const char * origOptString = NULL; poptCallbackType cb = NULL; const void * cbData = NULL; const char * longArg = NULL; int canstrip = 0; int shorty = 0; while (!con->os->nextCharArg && con->os->next == con->os->argc && con->os > con->optionStack) { cleanOSE(con->os--); } if (!con->os->nextCharArg && con->os->next == con->os->argc) { invokeCallbacksPOST(con, con->options); if (con->maincall) { /*@-noeffectuncon @*/ (void) (*con->maincall) (con->finalArgvCount, con->finalArgv); /*@=noeffectuncon @*/ return -1; } if (con->doExec) return execCommand(con); return -1; } /* Process next long option */ if (!con->os->nextCharArg) { const char * optString; size_t optStringLen; int thisopt; /*@-sizeoftype@*/ if (con->os->argb && PBM_ISSET(con->os->next, con->os->argb)) { con->os->next++; continue; } /*@=sizeoftype@*/ thisopt = con->os->next; if (con->os->argv != NULL) /* XXX can't happen */ origOptString = con->os->argv[con->os->next++]; if (origOptString == NULL) /* XXX can't happen */ return POPT_ERROR_BADOPT; if (con->restLeftover || *origOptString != '-' || (*origOptString == '-' && origOptString[1] == '\0')) { if (con->flags & POPT_CONTEXT_POSIXMEHARDER) con->restLeftover = 1; if (con->flags & POPT_CONTEXT_ARG_OPTS) { con->os->nextArg = xstrdup(origOptString); return 0; } if (con->leftovers != NULL) /* XXX can't happen */ con->leftovers[con->numLeftovers++] = origOptString; continue; } /* Make a copy we can hack at */ optString = origOptString; if (optString[0] == '\0') return POPT_ERROR_BADOPT; if (optString[1] == '-' && !optString[2]) { con->restLeftover = 1; continue; } else { const char *oe; unsigned int argInfo = 0; optString++; if (*optString == '-') optString++; else argInfo |= POPT_ARGFLAG_ONEDASH; /* Check for "--long=arg" option. */ for (oe = optString; *oe && *oe != '='; oe++) {}; optStringLen = (size_t)(oe - optString); if (*oe == '=') longArg = oe + 1; /* XXX aliases with arg substitution need "--alias=arg" */ if (handleAlias(con, optString, optStringLen, '\0', longArg)) { longArg = NULL; continue; } if (handleExec(con, optString, '\0')) continue; opt = findOption(con->options, optString, optStringLen, '\0', &cb, &cbData, argInfo); if (!opt && !LF_ISSET(ONEDASH)) return POPT_ERROR_BADOPT; } if (!opt) { con->os->nextCharArg = origOptString + 1; longArg = NULL; } else { if (con->os == con->optionStack && F_ISSET(opt, STRIP)) { canstrip = 1; poptStripArg(con, thisopt); } shorty = 0; } } /* Process next short option */ if (con->os->nextCharArg) { const char * nextCharArg = con->os->nextCharArg; con->os->nextCharArg = NULL; if (handleAlias(con, NULL, 0, *nextCharArg, nextCharArg + 1)) continue; if (handleExec(con, NULL, *nextCharArg)) { /* Restore rest of short options for further processing */ nextCharArg++; if (*nextCharArg != '\0') con->os->nextCharArg = nextCharArg; continue; } opt = findOption(con->options, NULL, 0, *nextCharArg, &cb, &cbData, 0); if (!opt) return POPT_ERROR_BADOPT; shorty = 1; nextCharArg++; if (*nextCharArg != '\0') con->os->nextCharArg = nextCharArg + (int)(*nextCharArg == '='); } if (opt == NULL) return POPT_ERROR_BADOPT; /* XXX can't happen */ if (opt->arg && poptArgType(opt) == POPT_ARG_NONE) { unsigned int argInfo = poptArgInfo(con, opt); if (poptSaveInt((int *)opt->arg, argInfo, 1L)) return POPT_ERROR_BADOPERATION; } else if (poptArgType(opt) == POPT_ARG_VAL) { if (opt->arg) { unsigned int argInfo = poptArgInfo(con, opt); if (poptSaveInt((int *)opt->arg, argInfo, (long)opt->val)) return POPT_ERROR_BADOPERATION; } } else if (poptArgType(opt) != POPT_ARG_NONE) { int rc; con->os->nextArg = _free(con->os->nextArg); if (longArg) { longArg = expandNextArg(con, longArg); con->os->nextArg = (char *) longArg; } else if (con->os->nextCharArg) { longArg = expandNextArg(con, con->os->nextCharArg); con->os->nextArg = (char *) longArg; con->os->nextCharArg = NULL; } else { while (con->os->next == con->os->argc && con->os > con->optionStack) { cleanOSE(con->os--); } if (con->os->next == con->os->argc) { if (!F_ISSET(opt, OPTIONAL)) return POPT_ERROR_NOARG; con->os->nextArg = NULL; } else { /* * Make sure this isn't part of a short arg or the * result of an alias expansion. */ if (con->os == con->optionStack && F_ISSET(opt, STRIP) && canstrip) { poptStripArg(con, con->os->next); } if (con->os->argv != NULL) { /* XXX can't happen */ if (F_ISSET(opt, OPTIONAL) && con->os->argv[con->os->next][0] == '-') { con->os->nextArg = NULL; } else { /* XXX watchout: subtle side-effects live here. */ longArg = con->os->argv[con->os->next++]; longArg = expandNextArg(con, longArg); con->os->nextArg = (char *) longArg; } } } } longArg = NULL; /* Save the option argument through a (*opt->arg) pointer. */ if (opt->arg != NULL && (rc = poptSaveArg(con, opt)) != 0) return rc; } if (cb) invokeCallbacksOPTION(con, con->options, opt, cbData, shorty); else if (opt->val && (poptArgType(opt) != POPT_ARG_VAL)) done = 1; if ((con->finalArgvCount + 2) >= (con->finalArgvAlloced)) { con->finalArgvAlloced += 10; con->finalArgv = realloc(con->finalArgv, sizeof(*con->finalArgv) * con->finalArgvAlloced); } if (con->finalArgv != NULL) { char *s = malloc((opt->longName ? strlen(opt->longName) : 0) + sizeof("--")); if (s != NULL) { /* XXX can't happen */ con->finalArgv[con->finalArgvCount++] = s; *s++ = '-'; if (opt->longName) { if (!F_ISSET(opt, ONEDASH)) *s++ = '-'; s = stpcpy(s, opt->longName); } else { *s++ = opt->shortName; *s = '\0'; } } else con->finalArgv[con->finalArgvCount++] = NULL; } if (opt->arg && poptArgType(opt) == POPT_ARG_NONE) /*@-ifempty@*/ ; /*@=ifempty@*/ else if (poptArgType(opt) == POPT_ARG_VAL) /*@-ifempty@*/ ; /*@=ifempty@*/ else if (poptArgType(opt) != POPT_ARG_NONE) { if (con->finalArgv != NULL && con->os->nextArg != NULL) con->finalArgv[con->finalArgvCount++] = xstrdup(con->os->nextArg); } } return (opt ? opt->val : -1); /* XXX can't happen */ } char * poptGetOptArg(poptContext con) { char * ret = NULL; if (con) { ret = con->os->nextArg; con->os->nextArg = NULL; } return ret; } const char * poptGetArg(poptContext con) { const char * ret = NULL; if (con && con->leftovers != NULL && con->nextLeftover < con->numLeftovers) ret = con->leftovers[con->nextLeftover++]; return ret; } const char * poptPeekArg(poptContext con) { const char * ret = NULL; if (con && con->leftovers != NULL && con->nextLeftover < con->numLeftovers) ret = con->leftovers[con->nextLeftover]; return ret; } const char ** poptGetArgs(poptContext con) { if (con == NULL || con->leftovers == NULL || con->numLeftovers == con->nextLeftover) return NULL; /* some apps like [like RPM ;-) ] need this NULL terminated */ con->leftovers[con->numLeftovers] = NULL; /*@-nullret -nullstate @*/ /* FIX: typedef double indirection. */ return (con->leftovers + con->nextLeftover); /*@=nullret =nullstate @*/ } static /*@null@*/ poptItem poptFreeItems(/*@only@*/ /*@null@*/ poptItem items, int nitems) /*@modifies items @*/ { if (items != NULL) { poptItem item = items; while (--nitems >= 0) { /*@-modobserver -observertrans -dependenttrans@*/ item->option.longName = _free(item->option.longName); item->option.descrip = _free(item->option.descrip); item->option.argDescrip = _free(item->option.argDescrip); /*@=modobserver =observertrans =dependenttrans@*/ item->argv = _free(item->argv); item++; } items = _free(items); } return NULL; } poptContext poptFreeContext(poptContext con) { if (con == NULL) return con; poptResetContext(con); con->os->argb = _free(con->os->argb); con->aliases = poptFreeItems(con->aliases, con->numAliases); con->numAliases = 0; con->execs = poptFreeItems(con->execs, con->numExecs); con->numExecs = 0; con->leftovers = _free(con->leftovers); con->finalArgv = _free(con->finalArgv); con->appName = _free(con->appName); con->otherHelp = _free(con->otherHelp); con->execPath = _free(con->execPath); con->arg_strip = PBM_FREE(con->arg_strip); con = _free(con); return con; } int poptAddAlias(poptContext con, struct poptAlias alias, /*@unused@*/ UNUSED(int flags)) { struct poptItem_s item_buf; poptItem item = &item_buf; memset(item, 0, sizeof(*item)); item->option.longName = alias.longName; item->option.shortName = alias.shortName; item->option.argInfo = POPT_ARGFLAG_DOC_HIDDEN; item->option.arg = 0; item->option.val = 0; item->option.descrip = NULL; item->option.argDescrip = NULL; item->argc = alias.argc; item->argv = alias.argv; return poptAddItem(con, item, 0); } int poptAddItem(poptContext con, poptItem newItem, int flags) { poptItem * items, item; int * nitems; switch (flags) { case 1: items = &con->execs; nitems = &con->numExecs; break; case 0: items = &con->aliases; nitems = &con->numAliases; break; default: return 1; /*@notreached@*/ break; } *items = realloc((*items), ((*nitems) + 1) * sizeof(**items)); if ((*items) == NULL) return 1; item = (*items) + (*nitems); item->option.longName = (newItem->option.longName ? xstrdup(newItem->option.longName) : NULL); item->option.shortName = newItem->option.shortName; item->option.argInfo = newItem->option.argInfo; item->option.arg = newItem->option.arg; item->option.val = newItem->option.val; item->option.descrip = (newItem->option.descrip ? xstrdup(newItem->option.descrip) : NULL); item->option.argDescrip = (newItem->option.argDescrip ? xstrdup(newItem->option.argDescrip) : NULL); item->argc = newItem->argc; item->argv = newItem->argv; (*nitems)++; return 0; } const char * poptBadOption(poptContext con, unsigned int flags) { struct optionStackEntry * os = NULL; if (con != NULL) os = (flags & POPT_BADOPTION_NOALIAS) ? con->optionStack : con->os; return (os != NULL && os->argv != NULL ? os->argv[os->next - 1] : NULL); } const char * poptStrerror(const int error) { switch (error) { case POPT_ERROR_NOARG: return POPT_("missing argument"); case POPT_ERROR_BADOPT: return POPT_("unknown option"); case POPT_ERROR_BADOPERATION: return POPT_("mutually exclusive logical operations requested"); case POPT_ERROR_NULLARG: return POPT_("opt->arg should not be NULL"); case POPT_ERROR_OPTSTOODEEP: return POPT_("aliases nested too deeply"); case POPT_ERROR_BADQUOTE: return POPT_("error in parameter quoting"); case POPT_ERROR_BADNUMBER: return POPT_("invalid numeric value"); case POPT_ERROR_OVERFLOW: return POPT_("number too large or too small"); case POPT_ERROR_MALLOC: return POPT_("memory allocation failed"); case POPT_ERROR_BADCONFIG: return POPT_("config file failed sanity test"); case POPT_ERROR_ERRNO: return strerror(errno); default: return POPT_("unknown error"); } } int poptStuffArgs(poptContext con, const char ** argv) { int argc; int rc; if ((con->os - con->optionStack) == POPT_OPTION_DEPTH) return POPT_ERROR_OPTSTOODEEP; for (argc = 0; argv[argc]; argc++) {}; con->os++; con->os->next = 0; con->os->nextArg = NULL; con->os->nextCharArg = NULL; con->os->currAlias = NULL; rc = poptDupArgv(argc, argv, &con->os->argc, &con->os->argv); con->os->argb = NULL; con->os->stuffed = 1; return rc; } const char * poptGetInvocationName(poptContext con) { return (con->os->argv ? con->os->argv[0] : ""); } int poptStrippedArgv(poptContext con, int argc, char ** argv) { int numargs = argc; int j = 1; int i; /*@-sizeoftype@*/ if (con->arg_strip) for (i = 1; i < argc; i++) { if (PBM_ISSET(i, con->arg_strip)) numargs--; } for (i = 1; i < argc; i++) { if (con->arg_strip && PBM_ISSET(i, con->arg_strip)) continue; argv[j] = (j < numargs) ? argv[i] : NULL; j++; } /*@=sizeoftype@*/ return numargs; } popt-1.16/Makefile.in0000664000076400007640000012134711370104737011436 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ # Makefile for popt library. VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd 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@ target_triplet = @target@ noinst_PROGRAMS = test1$(EXEEXT) test2$(EXEEXT) tdict$(EXEEXT) @HAVE_LD_VERSION_SCRIPT_TRUE@am__append_1 = -Wl,--version-script=$(top_srcdir)/libpopt.vers subdir = . DIST_COMMON = README $(am__configure_deps) $(include_HEADERS) \ $(noinst_HEADERS) $(srcdir)/Doxyfile.in $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/config.h.in \ $(srcdir)/popt.pc.in $(srcdir)/popt.spec.in \ $(srcdir)/test-poptrc.in $(top_srcdir)/configure ABOUT-NLS \ COPYING config.guess config.rpath config.sub depcomp \ install-sh ltmain.sh missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.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 config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = Doxyfile popt.pc popt.spec test-poptrc CONFIG_CLEAN_VPATH_FILES = 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 = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(usrlibdir)" "$(DESTDIR)$(man3dir)" \ "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(includedir)" LTLIBRARIES = $(usrlib_LTLIBRARIES) libpopt_la_LIBADD = am_libpopt_la_OBJECTS = popt.lo poptparse.lo poptconfig.lo popthelp.lo \ poptint.lo libpopt_la_OBJECTS = $(am_libpopt_la_OBJECTS) libpopt_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libpopt_la_LDFLAGS) $(LDFLAGS) -o $@ PROGRAMS = $(noinst_PROGRAMS) am_tdict_OBJECTS = tdict.$(OBJEXT) tdict_OBJECTS = $(am_tdict_OBJECTS) tdict_DEPENDENCIES = $(usrlib_LTLIBRARIES) tdict_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(tdict_LDFLAGS) \ $(LDFLAGS) -o $@ am_test1_OBJECTS = test1.$(OBJEXT) test1_OBJECTS = $(am_test1_OBJECTS) test1_DEPENDENCIES = $(usrlib_LTLIBRARIES) test1_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(test1_LDFLAGS) \ $(LDFLAGS) -o $@ am_test2_OBJECTS = test2.$(OBJEXT) test2_OBJECTS = $(am_test2_OBJECTS) test2_DEPENDENCIES = $(usrlib_LTLIBRARIES) test2_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(test2_LDFLAGS) \ $(LDFLAGS) -o $@ SCRIPTS = $(noinst_SCRIPTS) DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f 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 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libpopt_la_SOURCES) $(tdict_SOURCES) $(test1_SOURCES) \ $(test2_SOURCES) DIST_SOURCES = $(libpopt_la_SOURCES) $(tdict_SOURCES) $(test1_SOURCES) \ $(test2_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-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 man3dir = $(mandir)/man3 NROFF = nroff MANS = $(man_MANS) DATA = $(pkgconfig_DATA) HEADERS = $(include_HEADERS) $(noinst_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir dist dist-all distcheck ETAGS = etags CTAGS = ctags am__tty_colors = \ red=; grn=; lgn=; blu=; std= DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ { test ! -d "$(distdir)" \ || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -fr "$(distdir)"; }; } am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_REVISION = @LT_REVISION@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ 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@ POPT_PKGCONFIG_LIBS = @POPT_PKGCONFIG_LIBS@ POPT_SOURCE_PATH = @POPT_SOURCE_PATH@ POSUB = @POSUB@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TARGET = @TARGET@ U = @U@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ 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_DUMPBIN = @ac_ct_DUMPBIN@ 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@ builddir = @builddir@ 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@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AUTOMAKE_OPTIONS = 1.4 foreign LINT = splint MCCABE = pmccabe EXTRA_DIST = config.rpath lookup3.c autogen.sh CHANGES $(man_MANS) \ m4/Makefile.in \ footer_no_timestamp.html libpopt.vers \ testit.sh test-poptrc \ popt.xcodeproj/project.pbxproj \ popt.ps SUBDIRS = po . auto AM_CPPFLAGS = -I. -I$(top_srcdir) noinst_HEADERS = poptint.h system.h test1_SOURCES = test1.c test1_LDFLAGS = test1_LDADD = $(usrlib_LTLIBRARIES) test2_SOURCES = test2.c test2_LDFLAGS = test2_LDADD = $(usrlib_LTLIBRARIES) #test3_SOURCES = test3.c #test3_LDFLAGS = #test3_LDADD = $(usrlib_LTLIBRARIES) tdict_SOURCES = tdict.c tdict_LDFLAGS = tdict_LDADD = $(usrlib_LTLIBRARIES) noinst_SCRIPTS = testit.sh TESTS_ENVIRONMENT = \ test1="$(top_builddir)/test1" TESTS = $(top_srcdir)/testit.sh include_HEADERS = popt.h usrlibdir = $(libdir) usrlib_LTLIBRARIES = libpopt.la libpopt_la_SOURCES = popt.c poptparse.c poptconfig.c popthelp.c poptint.c libpopt_la_LDFLAGS = -no-undefined @LTLIBINTL@ @LTLIBICONV@ \ $(am__append_1) pkgconfigdir = $(prefix)/lib/pkgconfig pkgconfig_DATA = popt.pc man_MANS = popt.3 BUILT_SOURCES = popt.pc # popt.lcd #.PHONY: lcov-upload #lcov-upload: lcov # rsync -rvz -e ssh --delete lcov/* ??? ACLOCAL_AMFLAGS = -I m4 all: $(BUILT_SOURCES) config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj am--refresh: @: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): config.h: stamp-h1 @if test ! -f $@; then \ rm -f stamp-h1; \ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 Doxyfile: $(top_builddir)/config.status $(srcdir)/Doxyfile.in cd $(top_builddir) && $(SHELL) ./config.status $@ popt.pc: $(top_builddir)/config.status $(srcdir)/popt.pc.in cd $(top_builddir) && $(SHELL) ./config.status $@ popt.spec: $(top_builddir)/config.status $(srcdir)/popt.spec.in cd $(top_builddir) && $(SHELL) ./config.status $@ test-poptrc: $(top_builddir)/config.status $(srcdir)/test-poptrc.in cd $(top_builddir) && $(SHELL) ./config.status $@ install-usrlibLTLIBRARIES: $(usrlib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(usrlibdir)" || $(MKDIR_P) "$(DESTDIR)$(usrlibdir)" @list='$(usrlib_LTLIBRARIES)'; test -n "$(usrlibdir)" || list=; \ list2=; for p in $$list; do \ if test -f $$p; then \ list2="$$list2 $$p"; \ else :; fi; \ done; \ test -z "$$list2" || { \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(usrlibdir)'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(usrlibdir)"; \ } uninstall-usrlibLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(usrlib_LTLIBRARIES)'; test -n "$(usrlibdir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(usrlibdir)/$$f'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(usrlibdir)/$$f"; \ done clean-usrlibLTLIBRARIES: -test -z "$(usrlib_LTLIBRARIES)" || rm -f $(usrlib_LTLIBRARIES) @list='$(usrlib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libpopt.la: $(libpopt_la_OBJECTS) $(libpopt_la_DEPENDENCIES) $(libpopt_la_LINK) -rpath $(usrlibdir) $(libpopt_la_OBJECTS) $(libpopt_la_LIBADD) $(LIBS) clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list tdict$(EXEEXT): $(tdict_OBJECTS) $(tdict_DEPENDENCIES) @rm -f tdict$(EXEEXT) $(tdict_LINK) $(tdict_OBJECTS) $(tdict_LDADD) $(LIBS) test1$(EXEEXT): $(test1_OBJECTS) $(test1_DEPENDENCIES) @rm -f test1$(EXEEXT) $(test1_LINK) $(test1_OBJECTS) $(test1_LDADD) $(LIBS) test2$(EXEEXT): $(test2_OBJECTS) $(test2_DEPENDENCIES) @rm -f test2$(EXEEXT) $(test2_LINK) $(test2_OBJECTS) $(test2_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/popt.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/poptconfig.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/popthelp.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/poptint.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/poptparse.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tdict.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test2.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool config.lt install-man3: $(man_MANS) @$(NORMAL_INSTALL) test -z "$(man3dir)" || $(MKDIR_P) "$(DESTDIR)$(man3dir)" @list=''; test -n "$(man3dir)" || exit 0; \ { for i in $$list; do echo "$$i"; done; \ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ sed -n '/\.3[a-z]*$$/p'; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ done | \ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ sed 'N;N;s,\n, ,g' | { \ list=; while read file base inst; do \ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst" || exit $$?; \ fi; \ done; \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ while read files; do \ test -z "$$files" || { \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man3dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man3dir)" || exit $$?; }; \ done; } uninstall-man3: @$(NORMAL_UNINSTALL) @list=''; test -n "$(man3dir)" || exit 0; \ files=`{ for i in $$list; do echo "$$i"; done; \ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ sed -n '/\.3[a-z]*$$/p'; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ test -z "$$files" || { \ echo " ( cd '$(DESTDIR)$(man3dir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(man3dir)" && rm -f $$files; } install-pkgconfigDATA: $(pkgconfig_DATA) @$(NORMAL_INSTALL) test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ done uninstall-pkgconfigDATA: @$(NORMAL_UNINSTALL) @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files install-includeHEADERS: $(include_HEADERS) @$(NORMAL_INSTALL) test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)" @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \ $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \ done uninstall-includeHEADERS: @$(NORMAL_UNINSTALL) @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(includedir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(includedir)" && rm -f $$files # 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): @fail= 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; \ ($(am__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" $(RECURSIVE_CLEAN_TARGETS): @fail= 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; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ 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 || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) config.h.in $(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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) config.h.in $(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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ $(am__tty_colors); \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *[\ \ ]$$tst[\ \ ]*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ col=$$red; res=XPASS; \ ;; \ *) \ col=$$grn; res=PASS; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *[\ \ ]$$tst[\ \ ]*) \ xfail=`expr $$xfail + 1`; \ col=$$lgn; res=XFAIL; \ ;; \ *) \ failed=`expr $$failed + 1`; \ col=$$red; res=FAIL; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ col=$$blu; res=SKIP; \ fi; \ echo "$${col}$$res$${std}: $$tst"; \ done; \ if test "$$all" -eq 1; then \ tests="test"; \ All=""; \ else \ tests="tests"; \ All="All "; \ fi; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="$$All$$all $$tests passed"; \ else \ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all $$tests failed"; \ else \ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ if test "$$skip" -eq 1; then \ skipped="($$skip test was not run)"; \ else \ skipped="($$skip tests were not run)"; \ fi; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ if test "$$failed" -eq 0; then \ echo "$$grn$$dashes"; \ else \ echo "$$red$$dashes"; \ fi; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes$$std"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @list='$(MANS)'; if test -n "$$list"; then \ list=`for p in $$list; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ if test -n "$$list" && \ grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \ grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ echo " typically \`make maintainer-clean' will remove them" >&2; \ exit 1; \ else :; fi; \ else :; fi $(am__remove_distdir) 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; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$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; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -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 $(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 $(am__remove_distdir) dist-bzip2: distdir 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-xz: distdir tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz $(am__remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__remove_distdir) dist dist-all: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lzma*) \ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @$(am__cd) '$(distuninstallcheck_dir)' \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-recursive all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) $(MANS) $(DATA) \ $(HEADERS) config.h installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(usrlibdir)" "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(includedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) 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) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) clean: clean-recursive clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ clean-usrlibLTLIBRARIES mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-libtool distclean-local distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-includeHEADERS install-man \ install-pkgconfigDATA install-usrlibLTLIBRARIES install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-man3 install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-includeHEADERS uninstall-man \ uninstall-pkgconfigDATA uninstall-usrlibLTLIBRARIES uninstall-man: uninstall-man3 .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \ check-am ctags-recursive install install-am install-strip \ tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am am--refresh check check-TESTS check-am clean \ clean-generic clean-libtool clean-noinstPROGRAMS \ clean-usrlibLTLIBRARIES ctags ctags-recursive dist dist-all \ dist-bzip2 dist-gzip dist-lzma dist-shar dist-tarZ dist-xz \ dist-zip distcheck distclean distclean-compile \ distclean-generic distclean-hdr distclean-libtool \ distclean-local 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-includeHEADERS install-info \ install-info-am install-man install-man3 install-pdf \ install-pdf-am install-pkgconfigDATA install-ps install-ps-am \ install-strip install-usrlibLTLIBRARIES 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-includeHEADERS uninstall-man uninstall-man3 \ uninstall-pkgconfigDATA uninstall-usrlibLTLIBRARIES distclean-local: rm -rf .ccache .PHONY: updatepo updatepo: rsync -Lrtvz translationproject.org::tp/latest/popt/ po popt.lcd: Makefile.am ${libpopt_la_SOURCES} ${include_HEADERS} ${noinst_HEADERS} lclint -dump $@ ${libpopt_la_SOURCES} .PHONY: sources sources: @echo $(libpopt_la_SOURCES:%=popt/%) .PHONY: lint lint: $(LINT) ${DEFS} ${INCLUDES} test1.c ${libpopt_la_SOURCES} .PHONY: mccabe mccabe: $(MCCABE) $(libpopt_la_SOURCES) | sort -n -r | head -n 10 .PHONY: doxygen doxygen: Doxyfile rm -rf doxygen mkdir -p doxygen doxygen .PHONY: lcov-reset # run lcov from scratch, always lcov-reset: make lcov-run make lcov-report .PHONY: lcov # run lcov from scratch if the dir is not there lcov: make lcov-reset .PHONY: lcov-run # reset run coverage tests lcov-run: @-rm -rf lcov find . -name "*.gcda" -exec rm {} \; make check .PHONY: lcov-report # generate report based on current coverage data lcov-report: mkdir lcov lcov --directory . --capture --output-file lcov/lcov.info lcov -l lcov/lcov.info | grep -v "`cd $(top_srcdir) && pwd`" | cut -d: -f1 > lcov/remove lcov -r lcov/lcov.info `cat lcov/remove` > lcov/lcov.cleaned.info rm lcov/remove mv lcov/lcov.cleaned.info lcov/lcov.info genhtml -t "$(PACKAGE_STRING)" -o lcov lcov/lcov.info # 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: popt-1.16/test-poptrc.in0000664000076400007640000000053411337043364012200 00000000000000test1 alias --simple --arg2 \ --POPTdesc=$"simple description" --POPTargs=$"ARG" test1 alias --two --arg1 --arg2 alias test1 alias --takerest -- test1 alias -T --arg2 test1 alias -O --arg1 test1 alias --grab --arg2 "'foo !#:+'" test1 alias --grabbar --grab bar test1 exec --echo-args /bin/echo test1 alias -e --echo-args test1 exec -a /bin/echo popt-1.16/poptint.h0000664000076400007640000001275411325177456011250 00000000000000/** \ingroup popt * \file popt/poptint.h */ /* (C) 1998-2000 Red Hat, Inc. -- Licensing details are in the COPYING file accompanying popt source distributions, available from ftp://ftp.rpm.org/pub/rpm/dist. */ #ifndef H_POPTINT #define H_POPTINT #include /** * Wrapper to free(3), hides const compilation noise, permit NULL, return NULL. * @param p memory to free * @retval NULL always */ /*@unused@*/ static inline /*@null@*/ void * _free(/*@only@*/ /*@null@*/ const void * p) /*@modifies p @*/ { if (p != NULL) free((void *)p); return NULL; } /* Bit mask macros. */ /*@-exporttype -redef @*/ typedef unsigned int __pbm_bits; /*@=exporttype =redef @*/ #define __PBM_NBITS (8 * sizeof (__pbm_bits)) #define __PBM_IX(d) ((d) / __PBM_NBITS) #define __PBM_MASK(d) ((__pbm_bits) 1 << (((unsigned)(d)) % __PBM_NBITS)) /*@-exporttype -redef @*/ typedef struct { __pbm_bits bits[1]; } pbm_set; /*@=exporttype =redef @*/ #define __PBM_BITS(set) ((set)->bits) #define PBM_ALLOC(d) calloc(__PBM_IX (d) + 1, sizeof(__pbm_bits)) #define PBM_FREE(s) _free(s); #define PBM_SET(d, s) (__PBM_BITS (s)[__PBM_IX (d)] |= __PBM_MASK (d)) #define PBM_CLR(d, s) (__PBM_BITS (s)[__PBM_IX (d)] &= ~__PBM_MASK (d)) #define PBM_ISSET(d, s) ((__PBM_BITS (s)[__PBM_IX (d)] & __PBM_MASK (d)) != 0) extern void poptJlu32lpair(/*@null@*/ const void *key, size_t size, uint32_t *pc, uint32_t *pb) /*@modifies *pc, *pb@*/; /** \ingroup popt * Typedef's for string and array of strings. */ /*@-exporttype@*/ typedef const char * poptString; typedef poptString * poptArgv; /*@=exporttype@*/ /** \ingroup popt * A union to simplify opt->arg access without casting. */ /*@-exporttype -fielduse@*/ typedef union poptArg_u { /*@shared@*/ void * ptr; int * intp; short * shortp; long * longp; long long * longlongp; float * floatp; double * doublep; const char ** argv; poptCallbackType cb; /*@shared@*/ poptOption opt; } poptArg; /*@=exporttype =fielduse@*/ /*@-exportvar@*/ /*@unchecked@*/ extern unsigned int _poptArgMask; /*@unchecked@*/ extern unsigned int _poptGroupMask; /*@=exportvar@*/ #define poptArgType(_opt) ((_opt)->argInfo & _poptArgMask) #define poptGroup(_opt) ((_opt)->argInfo & _poptGroupMask) #define F_ISSET(_opt, _FLAG) ((_opt)->argInfo & POPT_ARGFLAG_##_FLAG) #define LF_ISSET(_FLAG) (argInfo & POPT_ARGFLAG_##_FLAG) #define CBF_ISSET(_opt, _FLAG) ((_opt)->argInfo & POPT_CBFLAG_##_FLAG) /* XXX sick hack to preserve pretense of a popt-1.x ABI. */ #define poptSubstituteHelpI18N(opt) \ { /*@-observertrans@*/ \ if ((opt) == poptHelpOptions) (opt) = poptHelpOptionsI18N; \ /*@=observertrans@*/ } struct optionStackEntry { int argc; /*@only@*/ /*@null@*/ poptArgv argv; /*@only@*/ /*@null@*/ pbm_set * argb; int next; /*@only@*/ /*@null@*/ char * nextArg; /*@observer@*/ /*@null@*/ const char * nextCharArg; /*@dependent@*/ /*@null@*/ poptItem currAlias; int stuffed; }; struct poptContext_s { struct optionStackEntry optionStack[POPT_OPTION_DEPTH]; /*@dependent@*/ struct optionStackEntry * os; /*@owned@*/ /*@null@*/ poptArgv leftovers; int numLeftovers; int nextLeftover; /*@keep@*/ const struct poptOption * options; int restLeftover; /*@only@*/ /*@null@*/ const char * appName; /*@only@*/ /*@null@*/ poptItem aliases; int numAliases; unsigned int flags; /*@owned@*/ /*@null@*/ poptItem execs; int numExecs; /*@only@*/ /*@null@*/ poptArgv finalArgv; int finalArgvCount; int finalArgvAlloced; /*@null@*/ int (*maincall) (int argc, const char **argv); /*@dependent@*/ /*@null@*/ poptItem doExec; /*@only@*/ /*@null@*/ const char * execPath; int execAbsolute; /*@only@*/ /*@relnull@*/ const char * otherHelp; /*@null@*/ pbm_set * arg_strip; }; #if defined(POPT_fprintf) #define POPT_dgettext dgettext #else #ifdef HAVE_ICONV #include #if defined(__LCLINT__) /*@-declundef -incondefs @*/ extern /*@only@*/ iconv_t iconv_open(const char *__tocode, const char *__fromcode) /*@*/; extern size_t iconv(iconv_t __cd, /*@null@*/ char ** __inbuf, /*@null@*/ /*@out@*/ size_t * __inbytesleft, /*@null@*/ /*@out@*/ char ** __outbuf, /*@null@*/ /*@out@*/ size_t * __outbytesleft) /*@modifies __cd, *__inbuf, *__inbytesleft, *__outbuf, *__outbytesleft @*/; extern int iconv_close(/*@only@*/ iconv_t __cd) /*@modifies __cd @*/; /*@=declundef =incondefs @*/ #endif #endif #ifdef HAVE_LANGINFO_H #include #if defined(__LCLINT__) /*@-declundef -incondefs @*/ extern char *nl_langinfo (nl_item __item) /*@*/; /*@=declundef =incondefs @*/ #endif #endif #if defined(HAVE_DCGETTEXT) && !defined(__LCLINT__) char *POPT_dgettext(const char * dom, const char * str) /*@*/; #endif int POPT_fprintf (FILE* stream, const char *format, ...) /*@globals fileSystem @*/ /*@modifies stream, fileSystem @*/; #endif /* !defined(POPT_fprintf) */ const char *POPT_prev_char (/*@returned@*/ const char *str) /*@*/; const char *POPT_next_char (/*@returned@*/ const char *str) /*@*/; #endif #if defined(ENABLE_NLS) && defined(HAVE_LIBINTL_H) #include #endif #if defined(ENABLE_NLS) && defined(HAVE_GETTEXT) && !defined(__LCLINT__) #define _(foo) gettext(foo) #else #define _(foo) foo #endif #if defined(ENABLE_NLS) && defined(HAVE_DCGETTEXT) && !defined(__LCLINT__) #define D_(dom, str) POPT_dgettext(dom, str) #define POPT_(foo) D_("popt", foo) #else #define D_(dom, str) str #define POPT_(foo) foo #endif #define N_(foo) foo popt-1.16/libpopt.vers0000664000076400007640000000203111245617611011730 00000000000000LIBPOPT_0 { global: _fini; _init; _poptArgMask; _poptGroupMask; poptAddAlias; poptAddItem; poptAliasOptions; poptBadOption; _poptBitsN; _poptBitsM; _poptBitsK; poptBitsAdd; poptBitsArgs; poptBitsChk; poptBitsClr; poptBitsDel; poptBitsIntersect; poptBitsUnion; poptConfigFileToString; poptDupArgv; poptFini; poptFreeContext; poptGetArg; poptGetArgs; poptGetContext; poptGetInvocationName; poptGetNextOpt; poptGetOptArg; poptHelpOptions; poptHelpOptionsI18N; poptInit; poptParseArgvString; poptPeekArg; poptPrintHelp; poptPrintUsage; poptReadFile; poptReadConfigFile; poptReadConfigFiles; poptReadDefaultConfig; poptResetContext; poptSaneFile; poptSaveBits; poptSaveInt; poptSaveLong; poptSaveLongLong; poptSaveShort; poptSaveString; poptSetExecPath; poptSetOtherOptionHelp; poptStrerror; poptStrippedArgv; poptStuffArgs; local: *; }; popt-1.16/footer_no_timestamp.html0000664000076400007640000000040010756354423014324 00000000000000
Generated for $projectname by  doxygen $doxygenversion
popt-1.16/config.h.in0000664000076400007640000000747711365302052011415 00000000000000/* config.h.in. Generated from configure.ac by autoheader. */ /* Define to 1 if translation of program messages to the user's native language is requested. */ #undef ENABLE_NLS /* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework. */ #undef HAVE_CFLOCALECOPYCURRENT /* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework. */ #undef HAVE_CFPREFERENCESCOPYAPPVALUE /* Define if the GNU dcgettext() function is already present or preinstalled. */ #undef HAVE_DCGETTEXT /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Define to 1 if you have the header file. */ #undef HAVE_FLOAT_H /* Define to 1 if you have the header file. */ #undef HAVE_FNMATCH_H /* Define to 1 if you have the `geteuid' function. */ #undef HAVE_GETEUID /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT /* Define to 1 if you have the `getuid' function. */ #undef HAVE_GETUID /* Define to 1 if you have the header file. */ #undef HAVE_GLOB_H /* Define if you have the iconv() function and it works. */ #undef HAVE_ICONV /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_LANGINFO_H /* Define to 1 if you have the header file. */ #undef HAVE_LIBINTL_H /* Define to 1 if you have the header file. */ #undef HAVE_MCHECK_H /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the `mtrace' function. */ #undef HAVE_MTRACE /* Define to 1 if you have the `setregid' function. */ #undef HAVE_SETREGID /* Define to 1 if you have the `srandom' function. */ #undef HAVE_SRANDOM /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the `stpcpy' function. */ #undef HAVE_STPCPY /* Define to 1 if you have the `strerror' function. */ #undef HAVE_STRERROR /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to 1 if you have the `vasprintf' function. */ #undef HAVE_VASPRINTF /* Define to 1 if you have the `__secure_getenv' function. */ #undef HAVE___SECURE_GETENV /* Define to the sub-directory in which libtool stores uninstalled libraries. */ #undef LT_OBJDIR /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Full path to popt top_srcdir. */ #undef POPT_SOURCE_PATH /* Full path to default POPT configuration directory */ #undef POPT_SYSCONFDIR /* Define to 1 if the C compiler supports function prototypes. */ #undef PROTOTYPES /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Version number of package */ #undef VERSION /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS /* Define for large files, on AIX-style hosts. */ #undef _LARGE_FILES /* Define like PROTOTYPES; this can be used by system headers. */ #undef __PROTOTYPES popt-1.16/popt.ps0000664000076400007640000152005506505542574010730 00000000000000%!PS-Adobe-2.0 %%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software %%Title: book.dvi %%Pages: 11 %%PageOrder: Ascend %%BoundingBox: 0 0 567 702 %%DocumentFonts: ZapfDingbats Palatino-Bold Palatino-Roman %%+ StoneSans-Bold StoneSans Palatino-Italic PPCode %%+ StoneSans-SemiboldItalic StoneSans-Semibold PPCodeBold %%DocumentPaperSizes: Letter %%EndComments %DVIPSCommandLine: dvips -k -o "|./fixappendix book.ps" book.dvi %DVIPSParameters: dpi=600, comments removed %DVIPSSource: TeX output 1998.03.23:1523 %%BeginProcSet: tex.pro /TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N /X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72 mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1} ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if} forall round exch round exch]setmatrix}N /@landscape{/isls true N}B /@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{ /nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{ /sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0] N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{ 128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 sub]{ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]} if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{ cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin 0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict /eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X /IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for 65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V {}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7 getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false} ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail {dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M} B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{ 4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{ p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end %%EndProcSet %%BeginFont: Palatino-Bold % @@psencodingfile@{ % author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry", % version = "0.6", % date = "22 June 1996", % filename = "8r.enc", % email = "kb@@mail.tug.org", % address = "135 Center Hill Rd. // Plymouth, MA 02360", % codetable = "ISO/ASCII", % checksum = "119 662 4424", % docstring = "Encoding for TrueType or Type 1 fonts to be used with TeX." % @} % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both ASCII and Windows. % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there down to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /.notdef /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndFont %%BeginProcSet: stonesb.pfa 11 dict begin /FontInfo 10 dict dup begin /version (001.002) readonly def /Notice (Copyright (c) 1987, 1990, 1992 Adobe Systems Incorporated. All Rights Reserved.ITC Stone is a registered trademark of International Typeface Corporation.) readonly def /FullName (ITC Stone Sans Bold) readonly def /FamilyName (ITC Stone Sans) readonly def /Weight (Bold) readonly def /isFixedPitch false def /ItalicAngle 0 def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /FontName /StoneSans-Bold def /Encoding StandardEncoding def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /UniqueID 38782 def /FontBBox{-158 -250 1540 946}readonly def currentdict end currentfile eexec 405149B573AEC9378BAE46685AAF7849E5C9A5C8C876748725589FB14A049808D39A75D55F6464 11A9C3526F1887AA2BAE53EE4BA6377CB094098BB2590828DB96FFD3A289579524DBBC79D9597D 47A79192E01C360F06B93BFF89A3C642BC410337D743499A7F8B1E476FA1BDB0B198F67CAE3F57 49A1ACC4879F6EBCD84740D62C5248595B530E6C3D3CDC3AF54369EAFDEDCD9848E2D38CD091BF 2ACAD10DF1C87872AABD086D60475ED6046E240F2232FE2F00259225931518B7B429137B14384D 15F582467A818C20C1C6316C56736C19F1D7464231D69800D94CF5013DC237DA1EC16FD63D3154 4FADF83F152D1496E3E1B50E657D51952A65DA2224AE3C290A948226F005C37ABA2F6CAA732367 9D03A1F924A332FCF713C3AFF685DCD14F950A9F50F46939759F915F780F68EB1E8A2A6DD370DD DEF5A51652CD0C5DECBCC94396962904B19069ACAB227B6D4D14852A65362D2BFE3B3936D8AB3F 2318A99A46913D868EDF1984F868785E3B1107643BC4E58206E8E5E71E5E13A822A289A7C7559E 07BBD8822847C56EC0DDB12202633CACA990B5844B5253EBF7218C2C491211D1879A4F36BAD9B6 9353D636506C52F24818E4464E02C41AAA17AF7BF09FBC37C335A7BCA40481C1371828D4ADE630 8DF09DC08C641377295CD75485DC14732819C2DB21CC499733FECAE1CA94907A1F144F0EB9BFC2 98E471AF304BC3628CD390202FFF59A7BD14D9F9CC99368826DE6446CD40A68ADEDBBE8C388798 0FE574448B196E987C2A392DA865DA46E652AAC8F9A4826D5AD1776FE2E5D2DEEFA011507BE935 9E19E2AF34643135691E3A221B4B0AB0D18DC3993F6465489CE5EFA0D2FEC087881927A434E51F 99683AA0463697BB9614B6CF5247330BB7393F836A789A3774629B27E1F82AE4C01EDBE95C237A 0EAC78A5A7FFCC2332DCDB725BDE9101A9DE53A6CCA64A98429471BA8018A3E3C2D287B6316FBF 08C3D2BB5A611D1BE846B17C2F0CAAE2955BBA7EE4D84DBFA6BB5D54B5D90E23C21D34562144DA 4F5A49E666C1E6F7F18B2B33B2BC4A7FE722440D272CE53354B39442F3BC89E5F939B7175448F0 02D6A60BC297C770745222FDACC9D456B4F869E7BD4E802C01D517AD752BA533DF1ECF4F9A6CF0 DE8306C55A90405F23D1834D76D2B4452E4504AA953A8B4DDA4F0C967329D922A68615B1B71F73 E8BB682ECBE3C7417A218DC386B0095B38575EBBA55581F768BA5D5F203A7625FE78857EF2B919 BAE4DE0116506FE2C476A6423414FEF5833DFE00D3EAD6C6B5F31625CD76FB0A49D04C1DD85A7E 692BECE0CC32C9A8C04AC209B5D1D77B7BD213B71855FBE81F757F46127E7253823E732A609DCF 16C79412D1F0A1517288A81B42165B47DA66ECA5E8E1F6A39A474486A3D4B669BC65CF63136AC9 243E7A492CFE222CB4F55C2ED4BAA7556DEDAD425BD706AEED895EAC76704AF6366295EFB4A91B 548C2176D4A30B1026489E70D8D981D110DE46E0D5DF3A287059220142DB0100092FBD9E16484B 7CDFBAC2B595FD35359D65D5351D5AA1AF8EE94E6A259A568F3D6219F2538EB9E31E88D2A7D8B2 15F88C581AFAAAE67AF587343AB6AB3636AE519CAB00CD0A79EAE4DBCB56E76E46F14DD7F03759 D10A4F78BC714B60E3CC56BC04C4FE68C5549BC1A4577F2AF578F1441EEE9178E6788CE03EE16C 8C3E80DEE3F0D016AC09B0B62B46EBE547F0C10466E8BC9C3AC235F91F599B244F8DAC3B9FA661 8A09D9A62E9E904CCE33BB1DA1F6FC81E1F97A1C56A2107F721F837180DF24FF110C7AED628E7D 0B465D5064A6DB0E178C400B65E23951E7562A8C890BAB0774C2ACCED07E487D54E688E5AF3546 661B13336EB1A4EF484BFE4CAB61BFA47B7F232D46EFAF50D5E31A8305EF727DB091AB0B93430E 61FB938F721390EE271D2BA5D8B33BAFD5CB3F24C7A4ADEFF6C0E42D93E1B9DABD25F891811A09 457BC94E13F1B71F628969679740D91C1971598A1D4C248F840BBEF2BCF74FB1EAC6D3D58306DD 607CAEB18A8B19EB775BCBC6602DED6DC273D4A0190EF8D30E05675BC7B3EE1F6D584311C681F0 C9B7D60D25BECC3CA7BC83B17E7D42832D92CB66345668F455F86A39D59534B84967D5542D288B 0018FA183A4271150F549D0532E692C31077ACD8F905293CC16C9901DEAAE6B326680A59493707 895264F881D693BBCA955A6F03B58AE0D81540E26BC9A2104D4AB20C5CD1D4FA3DB09A38246425 E5B1FE1EFBE6C32AF609EBE71CA5DE4E24D8CDCAF1C3C84359126DAA6AD0098BF74284455943F5 115360799F10BDD657D00FFBC2039816785AD6E5EFA8444F3AEAA8DB52E2F3CBEA815C4EC09076 1D03E87401317A12567DA35A9DED959746FD5613E1D7497D04F80CAA3463D3F3EB7912CCB6EF87 8B487485A275D154E2549F3C424A730F66F66AC9E6FAE099E71504AD5B76B4F97C7BE15D70E4A4 3CB01E09CD47F41BF047757436C886A36B9C5F2C51B161A397DFC5494C2ECB5A4CCCC075DBE2D2 E37B22F14C3665182200830F6796C1C9841F24453286515E3F6B701EF8C0BE65B8305A3D2A0522 CA5A30CFE5CBFC50A9B6E7D3925E532AB5A58D4C6CEA5FAE1C1EED2E39C815E64BCC96DE2AF85E F5BC1831EDA3B1BA541B7DB5EDF6E042246A8534353B20E99A0ADDB46B32AF11DEDC2FE1B32263 F054E752F68427F5A1B71ED953FC272FDDEA55506CC8FDE8F35C619E37296048024FA6303A9FFE 6C9BE3EDE4BE5794AD1A8E761B3CDF137C7A29C64D0D8EE1CF071F9096DEE843ED40F1D4A543A8 CE28F7043D38A74E929EAEAB6BA95CDD17E51BDD77691F0846F9EEE48CD5CAF905CE0814F3C7DF A17F430384CF1B2004F31E07975CE4A6BC88CAD0A805CF89D167BDD15C9F0F8442166DE3DFA687 5FC08A35D221A151698B803BD67064571AE57B67797B5F0618B6B8F3D14829B87ADA7838D65BCE D527CE2FF9984555B8A6B915A68263E64141408FCB7BBF1FF7B8C043705A8803ADB84397B861BD 64A3A7BA781C44C847A68F1A9E8FF6ED7BE881B08C8ED3A2BAFAB919D7D36D36772DAAF812A74A EC368EA622DB6903CBA3134E755C63B0020EE72EA699A3975BA4B1CF7030E66B36BDE8A66BD0B2 70C7A2EC084B8383D023269B931B9CA036FCA362A9DA6DC9DDDFC11F715B1F2A60098C56B6B68D 52BAF33BF0AEE2D8551F0C8809342894F60D3490D9DAD1317AB2F70E313924E9D680C610D41CC3 1924E1458AD220FFE0B384404DF3AA67E7305A0836C5C195513EC3D0686B368A65DD3DE9AEF5D4 EA28376B4ACC1D00EB38F6D4EED7E025EE17A1D157C1E71879DE16BF46D58E1BB46B2CF9CBA082 C0A94567A5C874E8E6477A3CD0D6E48F8CD4E4AC3730E33EC8079B4CCE0EBDDA5E48ED13626F90 888A2892448DD075EA3A846D1C8E6E3F0FF03B8D63D04AEDFC659840A949275394EB21B85E544C 28BF0C2AB7113EBE4A8A3D0579EF48C15D9D82A09E96347422073A45E3197490D59FE5E9818697 065A419E95768DAF768E1D938414ECDE5159281F4BB35EED8D65D3651906217FFC08AFBB075474 D0F6B7519CE3668090B115A350DC3E90DB350A290822405C7AD6713F3BC29FEE0A4E32F9C85FDB 232A458F55DB1CA335FC94A472C390A322422CAD609443F5645E6C45238570B689A7AB307B63DB B598FCF2EB2A70F6C4C9CB5DC3076938C4D2C400930DC2625285EB4483294509A4B018002B8261 AEF571B06D8E9BD86E8AA40CFED8E92D055D1F653FF68F2EDF9463796B070A2B366BA274A07CA8 283B30CF79231CDDE4A2949F47D8C18C1583673FBC5AE18E0A54D32B095322CFF5DF3831F91068 E9DC713EF1B280D41C4BBEFB26095FCD57A5FF745E0A24C037B8093FFF2E10DA7F6F6A481260D3 237158CE50618A8BDB1CE1CF5551B4598917E4D40137E67993D96D75D6C3850D92D5373541D7E6 5E7CCA1478A5F3D117AB8EF2F80F02489E7D9899A46B4B1C30E61D657AED848A144DC24F11A1F7 18202029C81926AA76D9F7E4B8CDE38848E702EC6841115A0F585334F42445AEAAE787BF272A26 3594E4F62358E7EDAAAA63028DE788724EE04D1751A59BD95D9DC2F2EDF0256CB44ED3E2210A9B AFE82833926ED6DABA60141D740DB0318FDD9A7D3B4CEC8F2C95E3FA6EF6013737F0B1D48D24D6 FE389C2EF5BD12AD8C6D2ABAF9016EFC7DE8DBDA6FDA21727EF8E007B155D311D7B279757167F4 D1B2473534C2408E402AA0504F853ACBBB5CEDE208137F2DA6C21230FE2715C45EF003AA9013F8 54A5534F3AD3F8FF0550BAD3716449DFB3A6A4F460C72EFE3EC5AA220E902C3C9F062E8EB41069 5B3D602545BBC24D616F0975B16E8C7D3415F792555367704B92CEC9BFD6A851C81F5D9714AF8B E6F8C992AB1C13D51F46C5E32F79731EA32D9C526D2AAA0A1584692A024E0F85BF9E1383CDA1C8 FC6BE36CA3C12E4FF34F11BA62D9596B39836EB59B61BC5F5DA97D803215BA1D4343337FBB5D72 0CDEA081EC40329FF31057BEA7698AE4DE1F0B75D4D9027F741F587B4B524EB12287DFD0B90AC4 BEB27538A7855B7966576B68F1682B990CB5FF4BA294F278DC98956C58FACCBAF383B708FE4666 52761E94BB3E5E65C7E904643D54C68920C0B1072B790AEF99229D1F7745CB403F07C023FA6A30 E0A00D4ADE7051A8B59ADB29D44130AB03B7FB303650E9EF55C49978A94A583974B6B91A0A4065 B47DBA34BCEDA19D44A3FD83E7FD23CBEB6D1699023B704B8C0E2FA801CE15A98ECDBB0498BBA2 23B444C0A75E0E4DD995D40AA4F9F03C0AF85BC5742182D628B3C0D1F76A1A9C7E02CB2295CF26 A2F73760BC472E2278CAE54D9762FA27A9246965326A0CDBCAE997608D0A1D5326E78B6780E15B AE688827665DD786E6275969448E303012486BCBE4130D848B46666D660D0793559AE3E984DDD1 04C4D56A066787B4AA4E1DE8183B078A8DE42F0663D33D35BACB19A2D82A62C52BE6D3C6EA6C5E 3DC9C49BB74FB1E430629F437DFE67DB4DAC73590258873B6D808E8DAD4FFFE660F09D5207AA7D 7F45EEDE6ECC32EA8F8BAA075EF236C72F9759F44F59FDB478EB818768EF740B9C892398B35B89 C6F44EFA1E3BAF384D4BEC68D817AE7C449DE061D53C7568F2714365D5C807298D6F72E4D5D8AD B87ACE19E4057E218811ED12F84906F4FF9BED46607263AF1CE4E4FC1A7D06D59725BFAF9B191C 17D912C67726D88CE805ECF93081A1BEE281A0364EF0CEFBA92FCD6433B4A44AC83C44935901D9 2E32184A31FE7661B7636B70FF62D97AE9D7440A3A612A68DFD7176445F07346FD25DA5D910070 5B7AC6F906BCBCAFE2BB3A3E296D580660B5F7B2B829951D291A759CE5DABC47E9021C14AF80D4 E259EE13169257EE24C0373A7CAC17B9549A3940FC658BC35FC6366C7A9EADFDB6FF15CFCE038D B5F1E0B2A33CB8C45D78CE03E8394E0EA9D67708C11F7E25ADA4298D5C89D977BF17555AC70570 BE07815C8CD204E3CCCD3E89A6A4B9BB1A05FD6DD4A56DDC0AE56D7F58381246095E86245055B7 762D09811480E9A1700FB390BBD45FD05F1054EE65A9FCA82B28F1453D719D8EA1E38E1475D94D 3D1B16F65CC4582CC32CBF5B9DE90E96D92A39F667090B8B47E0EACBBE85F885FB55F83B19B030 52D4ED552C1CA7780A4ABF0DB02F476D6A494B363998B4BE832CFDBDFB28E0D2F6DBDF04291E53 F8CEE97D6057E668F359475FA575441BC77FA6FF3170621D1002B1AB40C155B8F40F74DC822B9A 9CEEF7662C9CECE1082AE269953ACAE2E78E3EB011F721E6D65B897699DF6BE1D143989FE07BE9 E1EEAC4A7FAB2BB88841E33E9AF0E109A186F72B6D958D2DBD92E070B61FA8AC9DE60D3B0BE089 50C597D02551B3B10A0E52E40571BF6AF4047B1914FA5651EAF0DE0D332EE959F58F4DDE1D8D4D 6D847DE50E4A47AC0C2EE73FB67CE7FA22F242D4E69EDF2CC050DADDB25F8959E9060AF0E2ABCD 2E0225A1B9C4792EE988517B3A567DA09F3E12E052ECDC91A5737C44026513E46D7B0C7399B006 B1505F3B7F41883A14BA5B180E80C63DD5D37EC5E90C38F46DC88F11FD5C1570455941949606CA 598CA2010568DC0B49FE5E5EB5DFB7E3AF195A23F51F87F5898D10A34043F23409A95519356617 073EC83CD312AF6961EEA40377EAB0B0C159C3906F0492E94414ABB8FF34F1FB6D33594DCB5A64 FAA7A02C749799BC14552F205122E22208EDB633FA50311B398B98EFFC0FEB5CAE8B0953CD1D0F 05701C2919D5DE58EEA2CA4AEDD06444915B16925504D159F050AAA203473C29805EDF5A71AAD2 06C601266ED2B909E68887F94B7614E723950EA9818F7793040BB8F7E3500BE44898B92E1BDC97 BCCF312D35A85E667669F15BDB42884E7A258C36C7CF4947852864FF46EFCD56817C58A7BDF29F 3111A188A5F9F255FE04255B1427CCD9D0CAF6D9992C6FD493E11AAA81E13FC69C569A573A79CC D3D2859B051B7EC7CB55A2929E515FC15B08ADA50369C10808B83EFB6445B4E57E8BBBD75D6A6A 62F722875C6A65BA355BF24CDDF4F5611D4918ED9DDC52E527C49A2843BA3646F37B0103ED0838 5D68834783F29C21FC66F55A7B11CDD154810310CB0C05367D2F12D749F5BAFCA86AF16160E90E 1E6609DBFEB302BB7393237731FF90EF555E1A194F88BB05FCEBB6B057372731CF1D14CB47E47B 69A3E1158F1741DA4505541A832D0362CD4D16EC54BB16E40CC682CE6132E369C0BAA2ABD7A35F C27999881B02D9C22DFDD56CD7520CB83A8CFCB4A17DC799043F25D69BF3460DEEBF18C2579F05 2B69B9FE5E6B7467A15DAC10F3D3500B7EB0D41E8CBB0D3DD7A69D28458373C681FA763BAFFC57 24E1B59F21AA8830E7391E8BF8CD649F7F3826264914505A3B36705655AF3C3FF506332A43D753 D15BF0A415D6C7F8F653EEC0A66840E7B9E78C8AB0556417071CADB861D9CE959CD4641EF2CDEA B450587752B4ABE8F1E61732C49C57241746E913B99D23568F627AA7A22B9D3372F24A9F1B8AC3 427E598809084D4BCDCC8E29B975020E737FBDE1BE1AF74CD02BDD781388F39A189F6583075A57 A5B21E1A5E93AD170C3767B543BFCC152E326B768D98BDDD403FCAC07EA395A019E645065B0DD8 DDAD3398299AABE61D20D85E99FB81C63C15212B496A3E23F64F40ABE60BD8527F85A7890BB7C1 A31F9FAD5776CBF852DDF9099630A0B110DD1FDB87FA074EC5493BB2188940F2979A01C1463ADE B688A3C3339293B0E1EA7FEB5203335D2558EBB8BDB65F13DC2EB8EDD6C2784D902D6B20135F7C 88662991CDC91E2B9980FD68B17B62E44693984B766247A9F121A12E280AEC4D3C765F2857338C 887102660537AE28EBC7771D402BE381E6AC75D071D6E66BD53CC02EC96851B7F6ECA7A9464834 70F2AF182592F53FBCF7F3D0878E14BD3A7263346187FB3250F17266F11062BDE774AA3997E810 2BA9C7BC37A0B69DCD788070725DE7D8DDE804B3B538024F2D67DF7B9E009A20C23FFA5B36CEF1 F23D7A12F667A1750BBF2B222C8ED82498A9C644AAE7AC259840F3881747F2B4EADE7D961E74EE A17863B740E1A672F270972873EF3BCDA4294E7008AE3F470A89159005431D9CBD1BDEB0B34202 41D418687BD044B9DEA09F4801BF1193B10A6B96478C938AA67CBE3580187F2CC2604912BE6AB1 CC9D10E15DD2D02C55C6EF824E4E8DCD1C1F92871AAE4A33455F15D71B4359E15CFB29F8FFB1FD F088978B92B436A8F42CF8061DC98694A7627EA06872DD24FD5F6CAE4A09106B82AF6D0A4F131C 1D25A062649FE8B6FA16929384D4C15C301875B05B78481391A497DEF3D6E24776985E7B9D0111 8452B33EEE084A1A5CEB8866A8E7F7016D82D0588C9EC00671DB79F22BBC904204136F2A97B27D B1E20A571A89312F7F1FDAE1F9AA66EEB6C7B473FEC90FFE75EDCBB53CD4F4625D3E09C79AF8A9 08279757AC4995AB575DC4762B33B6608A8A85D5EB39C52C1CA452047ED183A031142AE061D2C1 1C8A8FAC48B5239D27E196AD19613158C2B24BF66EF5EB040C571B67791996F18E7C5E4125B9CB 52591132501D4E3E9A43B111BE76EC06E70867494C4DD27C137E6BE35C32CAE9CA4F5CE3934ADA 865F18C152697C6B1CF0604517AD8C6D2AF4CC00D3E354E2D285EE2F06237C9FCB02A3A4A60157 CCB0A0F35915569AAA64A95C7DDA00EE2718E2C6072F7E5D88A88B57021DE4FEC39C4744600073 B2D81A668109A6516670A1F3EF78BF46518E95D02243089D89A49FDD78A8EE183594EF936F71A1 8FB5F93318602D6496FF35FFFF79FEAE2236386F07AA84300B067A9ED4FEBF51B69FDFBB973FCA 62125FEE4463A06B8FFCF5C662984C1CD4CADECC275709268C4FFAE774E12B617973760E369D1B 8C79F00471310EDBB3569022BE0FAA2E9DEB12E81C40A8ED3803FF3E400933B50905F3EB231547 157887148738845667817FEBEB00D17698DBA9D1E236D596DDF3EBDF46A3346757CC012657D0E6 A0DC78399FF4CA83B2545CF3E374F16DB2A5DC36B3DF9AE0FAFEDAC9379F0EEA3FA175CA0E9FD6 2E11F10369B21FAB99D721EDA9B13519822DF999B512A8061582F7C0E836112D023C4617848C2C 6F923F8BBE27017DE7CEAB3C857F6A151BD998266DF62D7885A3C38363F5986614191D68C29877 567B1408D4DA1C5ADA91A75A1A5CB07C7D5843CF7246233BFB323FFF495EEAF72D96A8EDD8C320 57674536B08E76040742EAF65EB0FEE50D4B0BFC661B1ED5A436D6601A813F360BC1A6C8D8DA34 DD1560F864868C88A4B72C95C82A0328D416EA6A2A75E5F9AE658D6239E54E7866CF8C7E37F911 7E9D940F1A2439924EA630C310416D1A1B95C3E8BCBD0F1DA6BB3F5AC9342FAD145EDD96C4250F 89B5B5E5F1067D4B2E2E52A182FA383AD44BC4DECA1D2074BB6EB1DFBE7DF25AF3B0271B027B11 BF4B0F1B56E834A0667A8B30C9B61E3B44283D571A11667A4DC10F7B6E3B334764CB10357090B2 74F7BF6B9A19ECBAEAC0A942F95F82A604C50DD71F2CFE5B1B868E69C077CDDF5C8299CA6C1816 93AB0E43F89ADBF3BB94E2E3CFB01DE47BEC9FAA59EDC5B6D50765B6EB09995755C6074C2106A6 FB148FB983CFE06EB4EABE827F98CF158375A7C9C745D3F7907C6952D0CBF28F5F1DDDA31A8BC5 5A24FA35E5584F61F4ACA25773D86C46B7A042BF003086D8879505FB4E4A88B37724276E5AEE09 FD82429814C0B601CE29F7681BB3903E64619BA57D4C7399E3BB738105C6404165D1FF2E4DB654 272C11185886B9F9CBB94FE1D1F7CCBA6E0E4944D6C59EAB5BE7F69FDC1496A779C63391E1FA6A 38ACD11E86F688600FE1CB3984B527FD856DA02F8F0D1D247DCFC17221139C312498ACF8D9E812 4A64A511ACB6501EADE9F8790D4F6E9C3B42BC04C23E6AD2A6E6A54178BC38DC684B00FB549A92 81627056F46B6836A68898211876058394D5BB263201BC69E68F050DA038B7F86EECC117C37C74 AAB0C9C4F8B4652E2F83F0927ADB2A7BE9033255C631956DDCB17DB2FE375D79BD810AC43A2FE0 8B51D7BA961935B3D9BBC785B0DED68D84C90D3DC3B22541C2B3C1A53DE99DA16E6EC6D1476CBF 5514E3BCAD427C9C8875AEC591BB5E21A2CA43C14051D72C18BED73612CE5B88A8A71C114A5623 7FEFC54583A3041A6E871C8E7DCB4CC457BAE7390DE674992EF2E3DC5ACC808CEF1B6F3D58214C F5024417BD901343F2F096157CE31EC0EA6CBE808C8E508E6000F01670E552DE00A4EB4D7BD254 F840CA6EE6C75BD96E944352D9AEDEE6941CE3EE8DA3E851D811309E3B5ECC610E98DDEE262473 3D61DB9635312259CFDA8953DF4D01A9B857DB6532CED5DEF2ADB5830ACDAC3BDC89B95834255C 4413100B19CF49A5475C5C985F82D1C43750E933C59CBC3F92F5785EB54339CF742F44A2B4D77F 694592CE2F926DAFE1F3D2CE52F43C16A2331E027FF3E24C102D09411B578B143582B55103247F 7866B1B87127763EAE9BA063746B785E392ED11E8D4A6C25AE39DA7AF6F12506BF9AFCAB89D77E 14C6757A6E806C0F1A16A0E42EECDCE19996ADEDE43E477B84E503C7ADE84B1D79EAA8C3E0D4CF 943416B55EACF4D3E62178A29486A8F3119072820F37B204A1BD4825E758650E4B06609B867CDF A36E50A8236CB9FC87FD813D8E847294B5B5DD63DB7A553917D58383EAF69BD096ED658536CA9C B83DA967ECC467E8329EBFC450FC86C960D23ABFE0A6698287A5405F54083D5C6A949F73C05ECB DF521BFD0A3583CD38AD7B2324FE57958212B44EC6CBCFBE6491D5F27F91A7C68BF7AE91239BC1 06A37D144F728A9F9452A17C3E3C81501E6198BAE958E37C9B50C1AF27C18DFC14579772F9F876 9D1C4BA1CE86A88B1EB0D5EA9F51DC08DDEB5737ACDD58D856698795B1B3EE25E7BDAC9E50C6C3 D6CE65FB34AF4C93A49796324B7DB4410A50680392BFA5AADF234DF2586176BC99A04FBA7E2A07 9F5F79C7D8AD68F93B2F3B7BEAEAC1CD4E4338A9CD0203D1E04BC0FC3165FCA4103EEB71DFD119 50547340AC83605B885C2F2B235BB1FA1F8FA0CAC2EB64615DF5C24FB2CFA2554B7FC2C5CF7440 3C5DCEFC22C719E98553B0ECA1D08481A130FDAB6199CFD5FCBF610D4E2F51A17632270A096A70 F1ED2345E196844CAFAB1A979FA1CBA54518AFFB507C58E86E2CCA4178172B488D7AD610B532E7 FB106F94E90C062FFD67FDD18A72B3F2652453807901737DB8859035884D289266E402BF8F4718 53AAB6806BE1BC39FFD97552B02BB080926F9095D56F2EC2CB04980A76F6DED32B9F879034AE2C A622E0E2147E33584EDEA5D003AF751255B51959956D1E27CA108C6EDA9CF5CAF53CC464986123 B9582D0176B6689904D5744B925F12AEE17492ED3FFF048E076119FD1F8FD2A4A1B70A6369312F 64F44664D1AC519464A0F2ADF3018B39A88AF07C52B3CCBC9DEBD9937FB2330928C1E5FF56BD73 C4EBB943A3003E42D913C15EFE52EC17F01C7F263F795462BE605A2910CEA79C6B72495CC58F81 CE83297B2106319EC6097C38A7394378164B7735500453974ABA5E3BE04542893AE15CD5B34AD5 032B8D1F2AB683C743B7DD3CEA1C39A0014E9264E7655651539003A2BDC587F31B62E3BE1B7F9D 5F134AE76949F5AA629D5A63FC239920180246EA1FF6176DD482E33AD258B155D55CD66B44A281 723CD3CCB66A362F11E4D58F9DD006CF1651D6AFD903AF87E72544CD3725670232D7DDA8AB193D 2C08736A49D1FAAAE861A664A9DA429772947107F2917D7E7717A4535D464D34B3C65B1E77444A 470EACA68E4DAB122420F01F8A7D213D0041908A864CAA6A621F14C14E407F0BC5CC70CF0BC4FC CD2FAF8CD0C5D5FB2080010E038C0F118D762C09898686D8DBFC29CCDD46F08EFD599328101BF5 16A5736F20ADD4AC1C150BD3BEAD585D1D362261C735F24CFBBD4B64682E34926CB04F9D31E09C A6335AEB3C47DE39D1600D7F62213A71C74A0F81965DC5B1B3D7227636690B882F38126D901A9C E418BC6D3D923FBB801761FE7B81A55DE3F2E42688246A06441FAE14F23DDB993671901F97450C EA6DB10B0DB13A23CE0E21C27C1CD6AB524D25EFC13DAA450FD80BBDC6376065A14D749D48EE1E 8C83B833B510027F9C89F7319B1509B699162B7F9C5B8A739ACC1006639C297C23B8A66213F47E A873F87F1CC19F581EC026DE584BC049C49BDCFE89C001504F41DE17D84F973826886F4E5246BF FB87ADF0726CEC7A4F167E0384B91526894C2D0090D38EAB1461C607EF359E74628854DEE1AEC0 5DA8945995A3D68671E8BDD9946C222294B0C4680EF2FDC224A0C7AFA9E5466C7B1457CE3DC7B8 7B0C3517DB833EDD302BACF3C37BAE4617BA6206D5D1C77DD53547A7BBE0C948D217246C294C70 5B254A960CC5C2F5E35120036356D760452887237D70D1E2F3D6B64A0171FC578859ABB62C1444 D3FE0719DD85E7A8812F7A5C0B8BEA7207E31C7C55280348172DC5EB275898044C00C2D92545A3 362F7B42E073C75BF179D13B0BE76B4836D069FE01C287B367D02DDCEC9412C2FBEC3D4B327A10 76586750C8994ACE0DE17327B01F74A3813D3EF9FBB9C9C5414F2E9CC1DD9D06297D174DFD2DE9 CE7BC95F580B4F3F26832AEE535AC16A087A012DE47BCC692B7C05B6015CEE221323F7EAA191EB 86FA94DBEACF0996A8C8D013301A7BF64C2436135C3CCF2294B1E2246184261B9A6BD2F4B98A91 E41EEF9BD07018F5CB9B0060AA76651CE1405E08E455BA689CD2E6A3127007BB4B311C23804689 ECF60DA7972373D96525042C360F5DE09DCFF940E72CD5DC0A9154B631AC1F2E38AA2B8551BBC9 AD5CB74CD86F5388AA75B6D92B1E37A4F875A6714908377D78BC96DFAB7EBE047BE4D42C416FDE 50A33FCA9E65600A2C7A7575D6059082C3FA0DF3C31E82D3FA3969CE43965EA49F0663CF2A2C71 EE4AD5C7D853B52B6AA0F41AB3D47E510D8BF64AFB1E8B8F782C98CD287DEB9AFED39335520B72 B8B5CFE2A6BB7C1AB0EB746ECF6F7AF86C183612B0DCD583FAC678D9602957E61C187F39B3A654 B20C792BDA9D81FA974A9E8864C1A86F9AB72918FEBFE47516299AE1E9B27F46F3C2959C5AAAD0 A5C3C3065114E89956F5FA36E16174470DB8DB2FE08396EA5ED7D50AF989D8D1433E0DE7115A41 0115ADE0BA74E8A4DBCE3D9B87CA767AE380280D51FEA9A0F623AB175C3462B9482DF6D0BE8F8D 420782DBA63D5F43966A88E3752B270048EAFE8BA291E70B8BDF8FB433A5A57C669B4F7D35C8D7 3C52700DEFBD4CD42E1F2C8E442D19C030CB35AD66AEF7EF0233BB4E08FCB48C872399AF859938 A02BE5F96391FC64E297AC790D70302D51979CF5459F4DF2A41B27592D0538DBAC394C37ECF0E2 C116D0A2A2C6ADAB5B0542F86CE5436CF989A869566ADE4D764E423BE583ACB1278C7ED362C023 F8AC485529006A1893DD5A98D050565543ED6A4F3B03092E27E8913765E5DEC1FFFBA80982340D AAADCA7A95A24EB5F392DA99FE3E6C34948DD4CBC469BF2B53A50F162D05963D73E79EC88A9D94 052099431793CF8A0CCAEA5C95B17460616A13927532043BE9FA79FE0231D57FE861FC0D32DF90 E9F3EA5D028E06281618E984A169F5006756341C1B2CCB9BB5C6CBD2EDF71A5244EE646DBECD26 0F547B8CF03F2689EB7FADE56D3643AB8DC7B89A5194419818FB67DD5C66E7866EBB012C365E27 BD4BEF4A6FA8ABE429BEE38715AF35AA3F2751E0FD980DCF6AF94A8CD6A7694B6FA71F2FC2FE61 87884D029EA7BB951EC1FEC36C100395943C8A040E5F1325EF8EB668B08999F0431C2B36761FFA F6E21790E51113526B92DF76AB22B9761B11A0A6673C8E093ADBEFB1B18FB7CF80F43D1D38F176 78597B4F6390764D60A1C797DC0926DD01B7D09448C671FA5B51B93A58640EEB62E80C4F3810E9 9AC99950D8AE3189152BA0AC7D8FA8431DFF1EA3CD4FD07B272A563E67C3FDC3188BD621BCF0BE 40AEE192A02BA5EC36C5A45E1E16097F4284B74AFCD8690B24ED8C14D25C7EDA7CB639043A2317 8A58094733FE73887F7FBBC995150B6E54F5CADE65338A12A0F3824984F5B16AA0CBDFF330A408 7116EFC179DD03CDFC2312EF49FCD501732875A961DFA75DF2AFEC0711DD8A215C69B9EFDE095E B03261C63C88B6C66C3DBEDA2223420713192FC38AF0DD9C4E42F3BAD9E1306AC8471AFAB8951C 10CC3FA51E096AF28D73FAC5CFAF410F83EDC08F7AF86A280A23367743FECA7106EE0D460261C9 AEDE826D3C1B16DBE4C0DE0EFF9F744CA26246DFF950B0FD6F14602503F58A4F3B776D94E3CF47 CDA03C04D31E71BD0281C2A66F2D8021A5EB2500A70D73B55519AAB87DFD94143A623FB250D0CD 31B38D8ED2C5EE5C5A78DB0220CC5A081003F68D8367F350115FDB24F2A191AFE85B9F8C9DA654 84C3FDC994889F42D561638404CAF88B831E65D6D2623AA8E82A050DA727F886EAA7DBC4012ACA 51FB15CC48016AAF9F82012ECC6B3A4B5C9F628795858DB725B8397722749C1BF0682683A8CD6C 55185A30C3A219136C8530CC32C8E57CD3F66677549EF3A9C58B036C2CE21EA3AED58900230176 8FA1CFEE2A5AF414A09F5DC3CA77C70AC15720BA08B5C498A5C6F6C521C36475DB6E7677819295 AEEF95E2FC891E1C45CE729C8A1032E02201C1E112DBD74C3203E2FBE389322D266DC2EE15519D 1E7F0907C615F228733D2427B55C0D3735AF25A15F0EB0A7F3374755454869CF8D825C98B8EFA2 45A44FA726AC7FDCCA1B8585A6EE64897643137B6568C0D6EC985902C870783F2602D570176590 0E79FC7BC5A40DC29E96FE65575CC63DF1E4F39425B0EC10CC37045A0B5FAED247C17EF9180492 4C888A39DAA1D8F28F2A682A9A522D5B8AE6668C02E9E04E2FDD936E2A0CAD1DAC3CCD6E36F0AC 1D26F9BB256A7ABDD0B532B7B487C1BCB93A6114821A1FC85EA6DAE4FA889F555680A9EB893B2B 8E60F99734383EA0605A48A2BEA0752D0C7A42C36D0EC252A522E55361BE4409BEDBBC55004289 ACEFC8E11CC989609521CF8F55612F25030C5A388340FCCA791F1E4C14F2AE3333581B0D81911A A06D22E43A5CD564E81EFC098F3D8DCD107DC84B27B6CAADBF6CEB735783CF453943F60897660C 818E1457017A56512DAD80C6485F6749724B83DDDEEE0DC58A0FFF9EC71F0FCCD93DE9B2DF070C 766CF1CD3062962CF1AE2299ECD90924A8D7C48641A0764D000DBCFCBEA3205DDFF6465C146EB2 2E99078EA6CB6F62D687BD731E56EE7081570935FB43F39FEEE8F86EF910FF0B944CEA878990AC F46C486B976D8DFE8905BAC6F2B01C6954166F5086C44804C7FF640D689697E1BF6ECD2D6FF20B 1C695C96C78B923630B8C2064F4CF574249BD8124985ECC0D762ED0BFB52E2042EB900010DAB18 135274109FA10157710FF3B695FDA0211F2D7E4CF7EA38DBED585FD4A5A6D4FFF460FA2C22AB15 052D40EF60A35F36265642502FD0C37A2681301C86081A4016E981E3F6A184A5133F4A196F35D6 23440CFDEA99F58C51A974C15A3A6B96EFCA25D17B0081E6441AB2EDFA2548565B9E71642290BD 7C1A7077DCB34616A8FFF35EE4EAE3627D2F1DAF52023E17B184EE4F74C2B6FBA63D21FA3433F1 44B521564B81FC2B20D64236DE7FFC097835AC3F9E32362F04E3061DF88B6A9901C31840E31BC2 C590706B4B734416543C3B2477E80DC0F4FE95187B36E5EBE02075350FFF86486C485443D48DCD 1FF4AF1862403011EA630A04034E0A34AA7DCD1926A2A4A1B5160B78B313445161F0A5BA656D0B 69A25F9CA32BADC2AB0A5076D4C6357C3903A4D45741D44A5E4000F85102FEFF45137595C438B2 8FC2A5E5EC2A9DF3B48B08A99EC2EA715DE23C37AA603D9FC4FD76AAB1A3583263876544F7AFCB 9B699CAA51755B1C4871A8746FFB6183339AD853C28CE7207E772F3286F801908795BD8C701030 0AF15345F574684D87807A8D0BF7B015030E92116E5A09CDB315460BC3B598D59ED7F3B551C1F7 C96152DFF7BC8FD356B2E391B0CB9270FAFB986E11C8EA2350B672BD6AA36F0967F57DFE98CEBF A9ABFBC7B5D2EEEE99539951699BF9EDC5CF21B4E7C66A92E1C48A0220A6DE1DC08435BE94B7EE 92AD6D4822963FFF8156E9EDF524132C17FD236E35580DD6D81A201BF80F2D893C9D56B536F4CD 2C063C0AA735CE8441017B49602753B776A28BA50E3342681C66A881BAED494C31D0657049E479 1C0B18F7190B1CD4FFBD0A045C9704CAEA9292FBA6B62CFA2E5F8674BB14AF84CBCA42FF3DB5CB B5A37F20926B170667111616309E2B0A4494AB2F628C9FC0D626F02CC9AA894CD2E6C4FBE40727 37168091AB9536E3EE6D0D73F551E30538D7BD7F914D9E816044B3C37BB37B22F0221AD5F715B6 F1288D7E4DF2FE4DAF4C65D097B2A757F0EA97565B8437B42F866FCC1B6EFD2EFDE8AE9D88814B 5BBDBABAAFB6067F1382ED5A59C803BE5A8F37DDA199177E1AD0EAA48E1249288B65D281DEB21C 051FBEA7165AE5EE8DA9C35896B5008A683C96ACB41F891DAF6B07ABD8F8CE8C0B60F0244D4F47 FC30F84AD079795E6C9CD35D5255C60E8E0FF736EE58BBBAC019DDF370992F98D0E595FA92E911 7659B7667EBC12D2B01158E78231E68936AC8003A1B60B20A85E89F62546110E09A7514B447C74 447D6C7707FEDA3636F3B00C470CE0D4A23336C56BB8B3532C3D7B9D7EE4A94684DD78B7462634 1F9683AD4D80A358B684F522E84975D1396F0163A4858FA2C175421977E62EB51E7A733758B76C 6F378BF235860E808D90433BFFDE01EF094803CDBE5853D6B7A4B30A85E83FEF5F4353FC1F8143 E13A2556002169F86049446D92C54856D25A90F270EF963627BC7890A0156C21F3A2AFBDC45BD0 0C7A4BCE6C04BBE19032C9CF72E26395D9A31E3C5DBD061C7108283830D4CB0CEE7D6DEFC0D642 DE38333BB72132C9E956FD58DF4B48C74BAE5D8E9760ABEA97520994A6F98C42C01760011B19B9 E3DC79789A9BE75052477C96F781D309C7CA44939A3D0A458EF25D5475F99380492E508CC36D4A 2BB1AF87B8D7B062750D8FC1F87C774A4CD5EDFA0A7A04E7F9F273F90317E2B0174C398F3E583F 085AB4E582008470352743572A76A6EAAA2DE3D0FB2517FAA832EEF087721D2092FA43C6165DAB F090F59BF9E1DF2EA4717211285B51C7CECF3EDB98B4F417CA0156888F4A95DE67B73219256EF5 4F553038D4DBDC64DF7B704F2B8EA7A36EA5A4670E3A12CE6E2686DB8EE651C6F5F30871835304 54CADA03630DBAB407B45723846C399A2E47C9F7EAC95C86F4AD2119D49B616D28205CB8817E47 4A91CCB58629BC9B2DE0A143E3EA70DE2429FF83A2972ADF4B8CEE0DBF0B22BF47AAE643627DAA 565FF473C4F1F7BDFD8D320ECE472352BF037152855FB9046705D8319D78C3E8D0D6A095565C4D AEB2C2A621EF81616FEA46CF8B51D0B23A9A47A9B6A7046EC2F52E1A9F1EA612576E6B026CDE02 9CB1A0168DDE4A729DDBDB7D9DDD253500C644E0D4D680F37A079319BDEBFC9C247C675E8202D2 B09669E3D90F6F2DFC7C6899E8FC9E48167D291BA9D0B33BA0F1F331AB6578734F2A4D27B9BE40 93C1A1351F950E99A805E2F16C900C61B7A1FCB3B3B66F66C5D07402159BCDBD15F30C59917316 255B77E0EBAA3B4F81D5AED438B32BF815C94772FDDA123EA4BDF29081422CA934A8BEFBA9FAC9 3EBA6194265AC59FBE0B5BB3BB056E96055A961D5629D0CA88EE0A672B9946542CA1AE83F1BAD5 BEEC57336E491E8067EF260EB8BDE634E8163D2A263BC815968DF9EB7770486519C13207E3ADA0 09A7580055D7E04FB72AE364FA5144122CD7A50AAF1870571A0A7F19B52805956C78062B17FB71 58A3193F7CEEA96A18A05F6AE2ED484820C402BD0DFDFAEA48238E37F428371FEF79A1B93F1F2B BC02F2FDAA126D8904E6E4CEEEADD7F6ED036A2E7D1B6F5DA7F598FDCC7AC7BB175DEC45D4FCDC 4A86E2E3A9A51D00B33945DC7E38771532F3A75B9017AEBE1FDD745356EEB54C1C310EF6C1B85D B0D09B0C61BE3AAB080B58E279383D8627966802686283B507143022BA281165BD9955C833B1FC 69A3A2071A5F5D664A2E7E9DBDC85B64A48684A2DC6EE9913B5633A98F19A546DCA6727361010F 217E60ACD1946D0D1A2B0A31A6103D8E7438FAF554341192E2B33FC22C57757680B0C44147AA09 27CB41E464E94E0E0DD8EBED1873F9FDCA312A4ABF1464822DE5E6CA723B8B2F3B23B7368B1DA2 DADE8C2B58EF71B068BEBA33DED1B278D3B81D8AD44DFBAB72D4AADBCAC1D01FFA901CC3FDC56D DBEF40BDEC4BEAB64916F9CFDF21F5B118433B672BE308267F1A8AAE85EF280834FF8FC6138A2C 41773FBA3761250AF744BA0686B6BE8DF369748CB2A30EC33448ACB1A704D1BA01C2365FB1207E 98DEFDCC61CDA54B120A74061F8B3244D12F6B31BEFBE2AC4629E6B8009C8239D427DB2AC9CC5F 70F54870D58C286C8DCE0DE89B6E2D0B6319AD1A10D91F13C8FE61D7A3B2E1EA19E38F12733BF5 3732B4F3FC6A8E12FB01C0F03C38F645E81E64E163B4C3E3DB7B6DE0321E78726C0775E3AF0E65 54B037B3192ABF1D688812BBBD4E643301BFBDFE27DE4C9CED8D9A705C94A22F599CD4AB72D512 423B3D4396B42C901C42B958C46882672449440F0C78BB33236860770B96008D7863D374D05C79 B221B20329064613A7B7FE1828E5A80EC45C64EB08563574F992B5673E53456CA3E8D4FDB81E15 6A83869BA95C8A6E8EAB804438EB5BC5B6B73FD493E18E4C95E217B847E422A947D9ADB14FF0D2 066F4325A50BA07F68802D86D51653B264832B4D6102107FE04994F8DB0464C37F3B0DC87D45AD FCBF95B1BB20620F07AE420AA66D7585EE84A3AB73FC8F1E5FAB3CF2FF384DA9669DA91B0132D6 9BCA7BC21EB7AFD82902CCD9F642849B0AB620A90B3B57554A57C17EEF51A8312F428022D5EBE0 F23B52C06A7C3F17D4BC56700C6701F2E003BD1343B416AE36CBE6D6D062EACAE4569FD55B59D1 55EB2E0801D8C8212113A9BB7BA5BF4AE89D434B2B838C911D84540CAE1E2BC95DD28A278F3570 404D91D3C18BE468E6F54BA6B84D6307A2DD5587DAD230AB2383E6957E9AC1A75EC6DB0835F248 C9EE480318E1BFB00AB0ECBB1F160300E0B6B2C562D1B856F549275F98FE1480B9409A26BB55DD F5E67AEF16288B3F4C9FEA584A8AA61664B73BEE0A62A5D8BABF1844F97F7ABFB73B3CD19025F9 FE7C089B9630BF55C22DD14849FB3543122CFB669B51533C29F78E51F53C494B2201CD5FDEA488 F259C54F7912E765360A0D143B59F49B935006066209D11FF9F9541F11AE4F7C70ECC4FF78FE8E 0205E1F97D90FAAAD7D12E239C009CB97B1AA7F707B7D018F12563CFF65AC2FB14D7EA63901062 2D5E3D2A74CB8EFBCA34DB240D10C9FC1F2EDCD48CE098AF1FC01C3FB49A27957405DA89307A1E A877E1D4B0AFC98CE0235AC2C21D2D73B5DBAC68A0DD0796ACDA76A1928412EEA5053F1E2EC78C 65D44277C258A9B211ECB8A3D49C34C89ADA99482ADD3FCF5AC7495AC483F92CC8074AF6B57972 6B497D5A437E7D37B4CC7913FE23047D886152C041AE3B5D70063649C8AA7335AD3BFC105B9140 C5C4BEF7DDA3156EB8841A07064AA2A0EA5E7E6828A66CB2284A6D5D4189B6DF9BE74555B881B6 F826917B2D09DF633FCAFA52B6E3A8B0E670623AE825A746BB7EA9EF3F52EE05F0A7E870A61401 96D50B0FE206436714B74DC7B3673D9356F885DAA7F79A73676912B84579F0F4978F327CCBE063 D09D22DB01222AFB4434045C90A17D0B526657958070F7A6AB555961DB6D78F479331E37305D5A 2072AE199C9C31B12DD61D10E31889E6DE5BFDBB51C90548BF7F501BD33DD33B5F679F8E846007 BE09C39050AAF03464A57CA70FD083E2EDC2BAF5DD3E0CB375DD3A2782898273518D7AE09B5AFE 27F2560FD76891282F7B68909C6FB9F549AB9B4E664CA259E0652E66CC58C250D285FD2535660D 7C9F4EDCFD874F4AFDC67D1B909E0576D159DE69FBB4DA307FE37CCB01E7B7C6682872FAFFD590 2F31BAC68E68CB3A03BB824B5F35616EC0EB43427BE7B3976906B6E72F9D70B8D69758D4D4ED1B D9AB405B0E9E32400EB6C5E7FB006997D5AC5265FB5571DE4D1E3E3123A725F37153C874439407 8D1786B9C246339903DF1855649FF1B97C919A818A3C986AEF298F2C901F47C44E726BCDD16ADA 2DE467F348F273364242E82E6C702C771B8B0612380BBDBE29760F190EA7EF8F1C2B9991B701DC 2D1838AA8282856F3EFCEA274718A393B129C768D50D71B5849ECA68CB1316FA6D1B83CA9FFBAE C468178396258E077393F0EA6EFD239C554A72252290EC1CED243062B1C421473185D4E07FFBA4 11A2AA16A0A64AA3550F97D778BD7FDA6962BDA0BD96F359ECEEDDA3506249FD0795EAD1B4A8D7 68BFA198955F360BD1F57ED9D936E1A765EB2A13FD7392874D1AFB461600D077BEA83175F7BC4D 732334CE6F0C8556414C35E3A8F2626ECD852399DFB783520F91807822F34BF1C99AC5A89594E5 5CE25CA47D9AB411D74C489842C85109C12AB25B0105F6D816CD963AB532323F9239CB3861BA22 B11139F35A4E9B843D2D9B832DC81CEBBB06405B0F6F19832E97EBD56B58739C83D2B015CED279 276C9EAC0C1D92B10986ACB410A46D0C3BD16B34B4A48C8E2D5E47461959DB03D0F2D76A375535 AE8818EAEDEC1EEAD181B1930C5828751FD1002A18087A03D2874E20EB7C49A02901C92973C235 0901DBD7F2965BB17ED78F3CD12568AF15BF04C9D366380DC3C184A97E4A72E9F8CC02CFB7EE7F 4956CA929A6E32AA2B2807AF372894AF2E9C37A372F51D9E45E68601FF6F06524210F0567B779C 976618A30B59D269B808741DDA7B003659072374691101D3D09D505C60ACBAF7C122BF8FD6EAD5 7328E60B69168080719B6DBFBE65A31C27FA3C456F3CFF4BECD6B32048CB20BE477BFD3371A014 0C22AEFE9B13B0C7189ABFB43699E43E5B2D4AD7316012F759EE6CD498284C81AA5ABA819CF9F4 C833C7F62B2AE7794FE888F0CE0F0D7FA21A6C6A8CDB1AAD802FE6D85777ADB6DC1CC95587F2FD A84AC265A1849F66873F14BE84753C499562579F2361751FB7AC809107F02CD3D953E47EEFEEDD 38178FDA90A2FD01B7FAE52395B970AB7B4F923175FAE29828CFDD824E21CE9FCCBDB9DF984B1B F640D8995C1D32DC65AF28A899C5E97B828885704E68A0EAF6058191C1F6D7C6687F2019DE8A4F B5F65A0469BD823E77E6EF6DF177517AC774DFE568923C474C9E7C5FCEAA7EC1241960093ADC9F 3ECEFA7B3344F5E064B8FF023E9E1DC18566CB1FF960DFBE470F4222210C5A41EC3E8D4C56CF9C B99E68CFB0A26D9D698DBBE95D407FBC77F9AB3E33B94DDD2299CBE40B0F208672AAFBC36ABF07 F39ECEECE3A2AE0EDA34A78CB38993668B60909FF1A9FB10EE7416D9A16A7711B76B7BA03D010D AE04581FE01A379536E4A7C913B741E8A6135B6398300B22B8E07D3B14A93BA76195AC03A1EB1F E0FE1DCCCD048D16294F365178FA853BF76E7B92207DF27A4D1EE5873C9A40EBB42E18CB7DE812 1BA54A479EC96A727EE581DE55F46F536CD947FED706B0C2CBCB2ED4C2399FC8D4B649CA5CB8DD 6B3D8AD64D6BB395D945E133E24BA57377E4B82B77C729AC7D5EE9153B2E0C1AF4014CDA86476F EAF1E56B7D86421814071886EE30DD8E6EF3F31B0B179367F745A5291CC6300A535E82912E84B5 27A283DD1363C8D6B52CB2FC2FEE59D9509395A38A46F235A1B433843A87C2F07A66BC120066AE CD6BC0936806051001BEED1A1359E626D77A9782412197DE172BA23D071E930D13E0DBCF59C3E6 7967829F6C90B500D2D76AE3FB5E6C9240EEE88AFDE5F2CCB04B036B7C9FAAF679E65C8CC7C013 339B56BE285D5F985408DAC02AEF10A865ED1FD34CFC03F087C175509B2EEFB3744C580B31B097 328F360E99A480FBD7A877DDBE758E65749A753ED8801F6450488BB80C5303B05011EF5C6820F5 008B71DA3E62761B559843C59ABB7E95E413688C40903538F452430B65BC1B9CFDC77051BAAE60 9C413E0370E64B57C59E7E02B7B07768DA84326221C61E8ADC0B8F7E3B3F02897330F8397BA319 94A075119999893505F5B665A93498E98C78EFA8AB7B267B99C7E070CE2D26929052498BE336BC EE7A81FD448572E302D1779B413A8AAAFC1D005461E3DD63B64ED694CEA82CA9618421FF465B84 69739A5F2BDD2F80FDCC64A2A6B77B164E8F0490A3FE7197971C0E27BD1459C7CB756B5A3460DB F914C8736D7FD74A4371741F670840C7C154D70EBABB2B040DC864483CBA1AE8B630F38699BE8C 0316BF5E25E81ACE6482B084E70F000D6121F280437EA0E43B3F14B5052A61BF06C3974E753FF7 557E11F70D70FE2965238AF15DE3A4A9684271358E81347ACDE824480D51006211840661D48E0B 758662086C5688065A7C5C03217124073495E3E7FED72383FCB8AA246F29739D3A83DAAF8CB964 A023DFD131F022123BFCC782CC237CD7C8C0611AE1D8FD8CC15211FAEE13D69487F99695FC32FA 2D2D0EEFA3671F58BE5A10517F787FFBA050B9410D0DE4E4AC2F671A23F1A3730F9E53CE1F073F F6D824FD4B742B8509CEC73A8BC3D7901981E5C4606E5DF31CC4208235FA0B0ED784D1B47172F5 B8BE1AE460FE145F3DAD2835161C29694D087487DB7A23F81A21862609E7567CD922BC4390EB1A 698F0719AB66EA001E88F9717765164FF582E75B934CF66EBC1921A00DFE652940500C4C58B89D B6A3485AD807B9053424966833847B9D9BB309530A81E1EA8180253E108E84EE70FFFE81880870 EF69908DF92A48030BF62403067494C09D98A896240E848E3DC408FC45D237679F8C715BE9C031 317DB88A8C1E3985580BEE4B9C1D2094CBB62FE6A5D6C5A37C38F80A410D267D2D0BD502F61C89 E937C67F142AE87FDB1353CDF29106F432F9DA2410F69BC1B2A9F2F6E56F3BED2C37BAAC4A95BE 7746A98BD9ADF3F42E81B77C72ABA739195A18852145964A18EEE242F1DB858FB978AEDDEDB5A0 C735F127E6F26B414672D727FD01754D1F4E6F1F763F6F14380D83BF01BFC4E525A510579C5AB7 3040F7EFB1BA7E0AF11D81483E295C467F57600D9CEB1C9036513A51DD2D23FE5B461B9A6118F6 8B506BDD1357FDDB254DCBD2F288B4DE89C305E02B654EF11AA0A8DE529B093BDF75BBF495A574 FE2273C98036E3D990956C3FB832D8A52E848645F1F3703A907BDFE522A0E40A46F62C661C0B75 E9266C9DADD811EC8ED6D6751F1DFE4E327CDCB0B3962C6A2B6D5AA780A0FDE819C1870111F788 018DD53F1A7728B430EAF1D959B3E1A51AF26CCFD26EAE9C4083AAAB283D1BDF94DBFE17255B53 2EAAFE1A0B9FB9535C3A7612CED818685447D04AD983C299BE0FF10121CB167244AF833BFA84A5 5853718D75FD51F83EEBB99840701579C8565588C0FB4291B9B5CDDF19AF7B1C6793D74B0DC80E 468AB356715265055050F4AB55567C69BAFDD7E617E935BF6682F9E2C4CC243244CC2472670174 6BA3E743A9603C43095BB8E6D98600717D452C5DADB237036889C9778F7BB8BB16D6C27B9D8447 8E6905B517BBF627455CC21A52452D4D97BCE4CC389922DED1E950C66F833CA1EC4B135CA504A1 F120995338D0C3A9A81BFC81D63FF9E6C53E4EF6A07C511214F5E4D7BB9DD6032454542AB649F7 6FF1DA38FFF98F9D104F5E038C2074C2C4D972CF84D813C5D5136AFD204D10CBF2B5865040C03B 1889ADFD00C8AE361254856476B81FF8704C94D6EDCE7E9C644AD69791D51978F1E18F7D43F320 00F61B06835233F9EC73AA1EFBB134583C0B2DE39837A5A3B652829CE3E3C4FC29C17C37925658 CAEEF53D597C675E609C19CB59A05224F47C77D799A7EC5BE0F8EE94271AB4E0B2C55737FE5E35 6927DFAF2E79F815C2FCB98C194F27612684E4C335B8A95FD79EA9A5C59FCB761A0D85C3D1FE24 1863FADCB7B832FFF9B3B892A1EE1F00BCBB5242035E40D678F8552AB46105370B5DDC49D30FF1 E38C3878102499EA9789A5E17670117CD4448E5A04DA68E66705C1B5EFC74B50AB556700834255 29029CA07D645BEF30A0B14E17398D5BF4FE90A819EA00B07FBDC8454F90220386799C89D3F556 BD6B0DF31CE7EB6D637BAC5ECEF42D4CBE437CA8C3E9750CFD597CD5A66119AE45DE3418702EB4 7CD7ECC900E2183E0D3C9C139B8A7551B9D5BDBB4AB17EED765D1CABFA4B3F5134378B30FDF696 FE060B6D823A7F6D35B866527610B29B5E69D5711FC834E2C60C11857888EBE2AA9DCDB985AD5E 44007AEB89E11DA08F666B0494ABBEE4C0348692A6A9902BB7E4D1474E48A410928D2155986968 2B48BAAC10090F2F8585D46BB13612220241763766433A7F23599A462C5E39AEB8DB71299DC8EF A268EE3B0B8A522B5A08619483AAD6A04CF107E268DA6751AB04954241CAB87F679FCB04140D1A 7B4E6EB6A75B76525A86A1E527CE56C546E6DE3F6C42C171537C8C86B046AFA338AA9A76C97FB1 E7BFB161FA57EE38B3A75C23FDC4B49BBA3C34E3490A0A040E5569E2456AE40D28946784408E6F 1C75D8BF81319E3D3A946B2867E884B58DCC97F846674AC93F2570126480A0932D1CC3DCB94EC6 E91AE1DC4C442A56B15BFC0B22AE5E86A403CB8A2E7EAAAC996DA8F8DA5F7D145830C06A7B50E9 913A8DAF63D596871C232EBAABFD6CBAFC9ADBEDED8C7662EB39BD306A9E38C9CF9F71FD718FAE D88B4409E64AFF7B6E07EAD81D3A50712193F9CC234303C55CFDFFB0A3A7829942C4FC55A89697 79961AC53CF1FB2566A8510AD810989D6CF9067A4D72B20C0EB1E8F440394B71A083F864DEA2B0 476B807459AEB77D0DC68454F226D04C3D4BEE54C9D1F7F9013A8AE01E37435CB90472F35786E6 4FBB0771BDB2FCE0AD057F907DEDF18A9D8706A48A288D82A421D126DB42111C7BCA2333C7BA91 0F79B673AC27DC2B1C0452621F0BC8EAF88C7EDDEE8EA88A31B3BD7AE509D68959102E9FF3CFA3 CFE81BEDBCCDA6A742C3107D57FDC93D4EFB328C80A5F652B4C5B607A7D3685DA5FDD54F2F0D26 F2B3D719858E3E902B7FB49E06B1B5DC7A3A3C2CE5DDC471816C739AFE8C5A617F6A109D6D412A 299B78AF99707A66D58EC406155BF9E1340B0CDC7ECFB4FF1AD3DB0A0D0519FBB5EC6513F98011 DE0C37C65E97CB7CC6D68C224B1D4AD96EA971270BC9C2306D0FBD61F579DB318289EDCCB6530C 36834B3960DF38BCD0B7F7239E84A0A64EC64C1C6CCC087AB6858708687C8D008316863917306A 9ECFBBF7261FCAE77E10AA18112EF3C463CD86A6B8CCBFF9E497C94D142F4441CD30DF0777A115 6E396EE054B0C30021F3DD9B5CDAEC67564264F3AA2F12A5900F8DAD85542EAE0344B086A6F17D 28C23FD9CA2FFB0E747B8F7B47AE99469E5AE89BC8D3AF806C37D3EBEE79828CEF262293650372 83C96428B1A468653C1EC96A31FDE279681371C263AB5A18F0EA86E47111EF072C72AECAC25841 3FD8E828F5CA38CC3FFFB847148C68DCCA9051CCC5A971C83F30987B874C66424FB910B5588196 2671960A7A95A0D535D007980A56E5AB2A2CD05E994B2C71556F38964161D4965275E6712338C6 14D4846FD86BFFAB7AE8D2BE1C58C259D46F7CD47DB33135B37E2CFFA757C976F8617B6BB007B4 EC39B277958616DAD13C0C9FEFF88F4B0AE1DAF877D71081474DFA48F6F2577340A85EF71C4CD6 8665D355229E84E308D762243BC0ED385F18AC14EB66FD31AB6F24FD75609F389B07C02FAA2F37 6A8897C2869F0B4CF1607DE38FD41CFF171B0D4B39CE2A28B2C395A7FCE3E04F0D7AE6F0BB5D23 9E620DDE79B2CFD5BDCB5540BBF3D2F7C5ABB1F4C376DB2D16BE823DEC48F64BF928EB89F1DFFB 22845BF97740C01D56B321312F26CE890CFF8985D163F406268AE4318B103125089319287FB192 3F9FAA877DC3ED863861ADCFCDAE7618FAFFAB358111DE8420A5B6E59CE6A1B487A5EDB28FA813 6FC573077B8F36FB0017E3119B56023B2E0E0F28F4423C11A264B9BEA5E6446AF7E9099B14FECD B29A0F8884A8828087A60CFB69FBF6334C5C6E9D754EDD403BFE0075961AFF6E9745A047F6710E 4D94E2C43318E6ED0AA680B707C768588A6716660CB66352C8F6E4B8009BB761611D755E72234B 45BD35D84F57559441A571399830CE485008C2CD35C2F50BE38DE7443FE1862756E6577626E13F 38B0CFB5E904C6A5117E36A7AEA41A0BDACC25B0DCA61381AAE1359A98D398B8C04ED3060F9E69 A81640BEE6D2D97C3003069B763C1A024F476C8215576763F4C8EA61D5182AA3E34B03E814C8AA 18A950C0F9F5E7212BB0823A697709DA6433E9E0FC8D86FFBCE94D8B0E249A605E4F3B38FC049F BBF400E9A320ECBE127AC50CAA9FB1F5AC1207A9E6E7BF44DC94D008709E696711B87EF745E17A 8D5B38611D83E5E26D8720EEDF4AD6455E8794326E3DCCB04167935CB73984C72DCD036B24190F 2B4FA6896E01B01777DC6032C7017132829FE9B370C49C25620600A999F87F1A7C7790D047D960 4EC7A0746BFD0D85E02A626D15130921699A33ED39D18634F56FC81402E589E6644D605412E53A FB366D5A9977E2204FF7DC949FB7587E76950F0127CEFF8F3CADACD67D3D3B4430E375E80F3E17 9C31E69D33F2034D62CEF97112A2230A4EAADCA36C7157C4894245C6D60753AAACEA6149F5646D BEA6DF57918E3CE20A184D65C22EF37E6C1C7B61845743CF8C52DE42D1216C22870C0E7AA2F5C1 81F7A15DDC57020A30AFF8D4F6462B38DA7E72C1E29021F0277235F8A199089B5365E7E67E5B0A 3FA6C22091BA0E96ECF49D7161D134B7FD1701350FBB2F99B54A51B418B567B5647D7F9AD7B4EE 5DD670DF8469FC18774E8AB4D6EF4B4F5751CF01220AFA5C3DEFA5CFCC29F7C181B667FB9C8632 5BF4BAC10AF238AB2D2A744A509427F654F9B85FC908FDDA60B31CC92E837A78D38684C84DF38B F014430BC49A304457B2E7D9B739B0902D6BEA0492D6C143B7DCB462BDA7DF0C54C3C76A52E355 4F3A1749656D1520121948102ADE605E6597936D7CCCA51AB7D80A4DAAA09992B905A491099AC7 120FEDA88CA561A199CAF3ECD6AEC7B99994A8416EEFBBF9A1BDCEC671A6B3FF8DEC59C9DFD795 DDB249247B918BE637A204C275D43DB5506EE8DC787525B3E679CCCD3ED43B58096281E2BAB358 C5303465E46DBEF697B5DD33EF8A648DD7053234A53B179539C455EB9E1A17B72F707FE30CB95D 0C28911F8643389CC6995C58C6B83C88AFD3C594052F37367882C26A8936A479E426997D89FE0C 3AB9091E480DAF918BC26A87CAEF7BD1C6582C73F75B85D59B708D9C76F953376341CBAFD20F1C 8876F6EE538F61283D03FDABB3CB2888C5F3942A670517E8DDC98B6204397038B951E023B4651D 8E3F19733C8D6610827348881B570571FA359C840568DEDBAFE941B9DC7DAD8C3E1B190606420E 1DACF3965337C51A6BEAF2F2E5EC60CDF839E2DEC9B130C23BEE9F65B46626D20273A3A5BD39E3 BB247B1DE1CF9295C409B91AF47B38D47200E0DCD317B4DE3ACD751E967AAF9DA7F6C026D01171 3EE0F875EFD7B31B73ACD66C6B95948492B54A7B9865B3F32DD722913F3D9EFB40E4F03FF9E928 AAE3AC1C4F239DD88BAD50A2BB442D1A0661B3F47CE2BCCF1A76A8604C7910873BDE2C2EFB4112 60C98C75198EDF5846EF6EBC1BF94250D34F646A43D00E3A42ACC4E3E1A44A2B0B7FD74003C61F 00ABC9114B6936A50C67544EF62FFB2F19CD1E5AC55EAEE547C46ED91A13C76025AA7AE95E0B0C 4D2408E53D7EC48409D21B2DEBB04C7121487C50AC7FA8790A2ED577A9AB6E4063F1DB7BDC77BB 4542EC15573C3F2E3CB767DE52DE2DCCE04F38A58F06F08F0A541A98D3538CB41AA5DAB04538DC EAD1BD6B41C71542ECD834F82184A7F51A4B50B595E50E04A5234094049F10A1E91BCA8C2F7BFA AB638BBADF6DD02D49B2CC406E9FD40B734BA772A0429BD99CCD01F112E1EE95CB7E9F48D5A9BA 584636A03B52F94FBC0724A1ED0E5E0520E5BAA4301773EB98709AB035AF28D615230D3EE0DEDF CD33056CE8C22A1FC8B7B3C2256BF7B7C7C8D1CD669AB358E57A1F6A400D18FA59FD5DEB0C2601 02C59112216BC6E8C0817EB5BE3420BA0C2A4363021E57FF83F09B5026526B949BFA3342A70DC8 81DD588833BEA53E06D29254B4802018B002B06B63374A6C6F335562479D0347DC7C14E2E3872B 4C4C55E198EA28B35A3B94CFA88DD3F52C3C192475B6C8B6968B49D2FB1623855E1D166294E1EA C8337B3DF9B1B3F28114286FA24C7A56731F05417C40872DF09C55C3E81D93C4DD017BAC9A2CB7 4ABD13E9622D3C533EC60B4A6C03E253A3E586D831D70E47501A1B521E2DA5D67BB1949503CBC1 693D693925130928BAEC639F80DB420DF10C8553385E79FF75D8BD970041474757184020FA03C7 97ECE10C8B54E3AC56F330144F2253B816441D75D0EA55D7342E7CD74B3B5311896B43F4BD1DD3 82A6A8A0C3799DF24BE4D658E6AA2AAC51215C3495A79CA323927A69034959CB01D5978EE1DA9F B298845A4A2B40EFDF7B85996094756C99DDA3C835EAC39826C048FFD5C5C582D8698188048254 66387EC1CB16BC506533D624BF2333CA56C37295BBD41EA5C87DAEC80C3687C37BC3E514BCE48F B4AFE9BB5B16E36321B1C0A29A423AD9ADF15718BC946D720AF5C20C1922A68DA0F36838D02DBF 7CF4D017BD2CBB96AB1B54BC8B75130109AB57CE4E13712CFB4FF099CBE8282C07D3C614179433 B263696E7E3E4543E489A9BBDE0AEDE6EC0F1723214AC0C1C8F662DC05586E7564D405DDEA9BB0 9D727AF5E75D7A5F970FB410E1DAD52BB13E79FBFD73340150E2FA08EBA94C59100D7CC76BE3DC 5AF4C5811E175E4DA3C857320593C5E38D66E565F1C06FCFE9A1B8C885A01EC3021D4A2E6A7AEC 24CF832A6E731732835FC0B67E4D726D8F22FBECE5AA64EF972407DB407EC9F9876AAFF2FCAC35 4BAFE47FF75F06A17D2FC0B05A29ED963C73F0461AA599E0051E47F5854C974724A5A53B738908 24D0B458A299A994807596DCEF07A1E40C5FE7557E9499D6BFF774B7916F04D584B818F0DA128A FF856B494385F9A9B2AEDC4680A6F972E2544CA24E95273D394FD5BE8D9083F9EA81A8FBF44EE2 94771767D6FAE60617B8997417EC6BC796EB0209E6B8D878DACA641EC329B0AF94E303A0AD611D 5E2C2C8C900857730D1EF11E218DF7F0EACF7E55F10B5F7C56E6AF414B060453C0EBE48118B964 56D38C8A923F42AC5797F13C86955F7C1FFE29881AB82449377F3C8E9E08967B6F66FE925E9B7D 474CF80BF4F9A24E41583484A0AEDB8EDB0075DD3B7569E3261A1706F8A95C6621C61EA99DC672 7BF50CA75E34A612D004C7CB81941AA450FB826EF9A51AF8D3FA17DF1A184CEFAE33F9C7E63BD7 04527954200FE436220F2CACF234BB088B5DEFB52B2449238C0875D395F8E22FEAEF096EDBF392 AFD6FF6C07ED04288FB73C401E29AFC2A76D4C3D02C4F48955A8F32D323857333ABDF3022BAEA0 AE6E4531C18ACF750416C54C834D25E246333C13456F2B866B958B929ABB8E497917622365B5E3 86FF235574876767588CB24A8C06FE0D495AA32835CC6365A481788EA24972FB8BE12659ACD8F2 287C231396647371351498647CEE9F62C2670E8EF48788530BB5B006D93A29CD4A2E354D2C85AA 0AB2C800AAFC81F24C80A58C6FBBB89A887260D00C59EF402176C80DB3CF44B0A281BC6042BDC3 3AEE88AD8A57674F65290386C73193346082F9477EB04A921B3EE960349BDAB9E5326B5C57E223 527B1A3173183393ADF86267F127B52C49320B6ED36285E8ADAD07C0C91E479373698E709A1870 C3B9F6655DF4E5B96E92D0E2F2A15C5D6F3D88ACAF6F95E9BCC52241799EB711DCE15A68DD5244 6E832F500873B045AABAB816EB68FAA75E0E18B5F32002F283D6BE121582758CA59A65CA43C28A 68BB9E407E8F767152A35E8A90E6A6DEECBEFEFA2CE779BCCB97862240FA72B92C2E3428294DC5 4AD4F7C6611E2D6B25DB3EB4995E894D5A17863D4C88304E77EF696633AE6F224342D391F7E3D8 2FDC24E2887F43F4834EBEC3F2B32AD1339995822553AC68FDA951DB4BC95B0355A996113E4800 8A387EB8CDDA0C4D0B2409BF9CEE2B37E1F6F4B55E9BE2096B8DB5A617F1CFE12BF91A21BAC921 453E42E4DD5ECB5A479078FF8688BCFF56A4CD5047ABE1BB4D3EAA9FA03CD48FB4A283FCE6FFF1 1885DAE6AFBF1C72E8399988C0EE6010DC41DD596530FA76EAE5662CFFA35146A75E55444049DF 1B20C6A99D838B6F8C411BA022D50ACC847EF94E52908E83B6293E719C43E2C42C953A7EB1395F D52AA1B6E66F7764B77CA3ED37C606EFB9317CD27929413345C76AEA4619C08A4A00EF770200B2 6BE73815970961AF7F2F7914B64F84A1BD43F9D186ECEA8656B8EBDCC7EFA35AD35D5EBAB0CA02 A199BF3F7514478D89EBA07B282F00B55BEA90D4E8543FEA7E6D489944054880B09EADA41DB4DB 0659B8D96CED67C8A7C18DD5C41C50D8149E85A90CC1787E86375ECC386369420DE75AB44AEBC8 A1D034DC8045479389E231882BE69C17EE57EABE00848F12D404E0C44340E21FCDA95E7A7515D6 F606C600A488337B4FE30FDE40B19F3294A8102DBF57109F494C2459E9325766DC71375C418B11 4B00620BB7E2B38CEFA679010069DB5C6B4CEB7D31716AC05E0AB8C411C89918A19F89578D7BC5 10CA86BA996F4263D2B7C98AB5C8ADE8E7D5B96D467EA484958C8B514E175741AF715187F0E807 B9C5B19B632BB42B745187681714526877EBFB568B3133F4C86EC3DE0C6D7DAE1660F1E1044521 CEDE6B8ED3B03C16031A7DFC67C32C87FA83A5E29898375A5A5C3F208BB3CA718AD06D0E7BF2D1 07E7F67DC639C5D956B79FB22BDC372846646F60760855A4F9F135F6CB1BB0EFEED0033B09FCF3 A34E1AA76560F361157E0C2A1675BD94E0BDD1C7293E7699516A1304CD3A0DA5646ACCC954856B 3A62D38EA879EB0B0726447D0E198535124551BF6F9821054D8B845C441A9C2481E1AC3E542AAA 553691D7D6E4B303859A5086A7ADE18106F174745F38F6E3182F9260FE9E9C19EEF45359D6B9DF DD0031D1F87DA89151B1BE4AF54B6670EBD558BB318F2184ECEE9152ACA35E099940F094AA2AC7 564835E69E5C9C47DC7D9625ACB1D4243FF1D993CF854639C126DD8CE21A0224119ACA731346A6 4AC8C18AA22FB1A1968B0A6B05CF3A1D5B24D3EAA7C8D2376D422902643D3FAB3F8E7DC8B24161 3DBABB170238A1A19B4C8A4703E2B0A2A033E71723F557C314DB42B159E784B1822BE1F990D167 0E522B9FB1B3A602B10AE08A8E7E3B2CFE51236D76B744456E5A68995294758A42F1004E8863CA 0D3AE455ECAD13501669A1DB41F7E853BB1531A4B949AA5BF0A5E478A5705D5EE45104760C727A 068E7057A808DDA30CFBC03157E141AC5E9E0A315967C2117EEDB38F9C66A34E138B29E3DE6A03 C34D0A37740DD04EF8F9D08E545FDEBC571043A02165E6086389DC7BA3BFFA52D94BD4C1A27B85 9B8ECC67994EBD370270B5998B8F246EA4FE0EA6963AE3E3398845A62856068A8A878B6F894A7D 28041BD30CF4F0BBB5053AA7DD86A2B94F3794C78F615C669274629F392FB2D320BB82EDA9845A 66B0EF0384985B938FE8A3F47B00C2DC575949B8B932F3AF423E17F72BC3BB9B63A81945CA133B CDA5EBC9CB8B8B969ADB5CE60CA6F746C63DA5C516DB410F86DBF878902E753A338D3FB08C60E9 41AC304DD767BF47D49BA7FBA110398BE21E0F9F01B6DF4CD3256A7803E5BA935DD6CDE11750D5 DEE0607C14A9A4DD037B685F830094C5BACD2283D5854F5360ECC924108F4C129176AF6E624458 BAC41E0436912CC5281EA94AF791219F1D04CA3069F30B50AE79BD8B8576B9AB76E6033787CE32 3BD25240C00FA03FAA253BD83EFB8FECD2DC45C1FD7CC194FB61CBBEC88047CE8AEDDBD920666B C2676E21A3919986FD56AF5440280E7083F04987F0272BEECF8F3B5261007203702C9F82B640AD 2E6ECF9D0BA81E5DAA95688D654873DC9177A2E7162DD21A7B40CB3C85AB49469ABF8F133F808B 3C2DA2A5008E25A13A6D0E49FCFFC0C8D3E5A257A8C8D6B1124D7017CC0263CD94F50D32DAE125 C66A0AA717839BDAFBE889083C01D5E41994B7CD52E63A5FBD4D89631A93B377040DAE99C5BDBF 68C2142FFF3F2B53DD5E182FF6AD34A0BF6DF19F58E0584501239815495DAD144DCE748744899A 656000E283A237E74ED58E2452F1B6E73A2DC626C3E52155036822984E5E72C667C2E3D790FFAB 5C0A4AAE0325872AE9488437762F4C70BC0A369C091EAB8A3E8F404464B99D26D6C35B042E10D8 97E029A10443074CF73949EAD0DCB7E0B8D39BF3806F39D3E3C204527C17198F21FC76FA5ABD6A BAFB21C942146413F03E0CDE247A8CCD7C726E993976F2D730E43054229A45C0FEC09DBCCA98FE C2C49B2C6B015D34881254CF11246521D785DA12C48A4731C3AF1353F99B0DB96953F5E42B3C37 EA460876FD7EB036F7BC5D8630354CA18901C561A46A9E201C30E62F23F3F7B0DDDFF596E13D7E 00D256E6833495BAFDE723AF59E70D841B5028261FAC723AE4E37ADACB02772DFD6321FEB65729 D65CCD58B312FA68843ACFAB7EDD78D31ADDB734B647E87C7CE25A0436A0D49499FA272FCC88F2 E0CE5D7382D8CBF7930467AA3C2B1BF67E683573DEB3EB57D9EEA5E185786DC9721A4B95ACF32F 09D5AD2C06629198D15A74FD41D8972E1FD77CB71A933D235E37E893E0A4DE1D50717E125365A9 CBC2B8291D7375AE2340833939BB0F139FA392F293472766A2ED405095BD990660CC6F40954E96 71F9557D584266C6F3BF41F4FF6E0BB7ABEB272AF99D0A4438BDB4AF6789B90431B7DEDCCB0D5E 35BF872600670B0F15C19F34BCBFC59C4A2BE3978F6A184DB4A4745B401BACB8C77DB62D3ABB85 FDA212912325C55C5A6D33A24D76C7BF72A6A710DAA7392A7F7CB0A6339505AC935D346C9B5E2D D2E85608392B3A25237337EC8F5856BF3F3ED6E1514053F4FACD12A94DAFD1C12249A67E3F0805 08CBE6916B2DF3D9478C737A141AF7C54E8832DE822817364EF3609658C65923ED666D86380B99 ADF7EA02C9DAE111DCF399878CEA60F5D5B7C18D244AE76D6B978BA17DDB71D3DFC12252202B39 6B03E36E376A54E1305A00D074419A8D04D53C3DA828A36C8F40C439CD7D58A48962E7BE992A9A A82EC8537B268AA13FD1B88275D87BF0244D7B61533B16730BB9EFA643A5B96C4E9C10755A85A4 F4C71AC4C3DDD308DFFA066162B8B7F75F7BEC8DA40C5194B759736381349A621C407A34B9088E 9EBE34650582CD758E269847328AC43EB79B5725FD7E516B8A974289D8C5BE90C301323DEEFCC0 A18AF6632AA8B80C8D188CEC275A93F68CF87FB7C6C19BFF2C0703CFD15ECCA16160ACD6E3E16B 00FBC27616CE003FF9A60569634DF6D43997A4DC23AFAA8C2CE9C446B673581FE9F30A9A2323E4 C28C7C9FBA27A3B5EAFCCA82D85B05CDB6B39A7C6B3584F48F4E3A1F013ADE47023830E47ED8C9 5CFF3F648C38BEA1AF9135E16C87A42311995E09E7FB51F06A87102BFA8263C32067B26B0941C8 4F2F62035D58E9153D89D808AB71545A1BADAD1817D0DC2836C6204A0A0418A2D62EFC2FAA63C7 A9D0A5CDAA5F0E491269B127B5C716C3D5CEE6BAE7FD8C4F86C0632AE757AEA55F15CC0F95D7CC C41EE9B1AD9349C4F81F0998ED10B1F686272E373860AC2EBB986C2558DE989DFAD95DBBF9EB54 56384A0078C133E91AC9CF5365A1E733834B0701B4FE43964517F0AA1C011BB6A7029F8D5A2333 B67DA3E019F0D8D7D533AD3291C2CBB1EE920E953128D06BBC517C518AE9A2DD49B933E915AEED 9810C619035ABF9DC147F653ADB1268169002E032A42501200A685D19070F12F9137BB1D9F2A8A 45C5B52F5577305AF94D9C511E5E82AC67A22164833471CBB8668DDC88D9C500917183C5E14A82 F1D9A0AA3DF2D7BE4DE844BEDE55700A2478E121555C7F6529FFBB052026C80776B447F1F5BE0E 85AAF2CF09BA3B0917252D68D671005D0FA328BD225553D98F2C476E080BE8E03AF4A7651563FB FE08C230F3A956F2FAF7ABF868C08CE33A7FEADBB8E6D6AF38A821CCD8B4EFFC02FE23A37C691F 6927D45F5710DD5FAC7505FB3A0DC31C766842B482BB77DDB3990346F627E0E1657DA8ABC8EA77 963D6CB838D9C4E58C943C3A272582B3E63771070A6F62BBE7A4B11B8CB550547E17ED5DE6EE16 1BD9116CBA0E0EEE910F98948F740E7A5430176722BBCDC4AB66BD3541443B096063C839E53B05 A55E72235BE223D286C4319FD5A516325C8BD480D1867F2013599844FD2478B3B52542815CE945 FFC8FBEAAF9B072CB4988253EF70E42A1ED315FE2C7571367E5217ADF3AE4FB67575CF49B1A269 15E653B5A86E3FAE1C7D04E1AC21CA5D7E7BDBEA0F58C9962B40A168FD7A24B4BF109645481EB1 18D49BB99B3541756E0DAC0E2327D1FACAED9F7A7693FC1A15A5715F1FD1BFBCA7D232FCF9663F B0CB352570A5807D170E5B6C6727F7828F87FDC9D9301A842C53A38C62C804CBD611992B3A1C8E C7103E76294F7E6A50916B8CEA82BE5B7EB777AB2E7A8C955414C8C61EA330BD18C741D5EB6E15 A6DA46B30345F4D56CEA595CC4838BBF99339BCE82582316847513CEF43B7DEAAA17C7F3DB82A1 3471CE81BF7894721B80F8165BCC3F7601D5D3DF17D2F37C58C5E9D87F3990E838E55E8BFF7087 BB79A1DFC321602B386F98D1D97CBB07F6D7B06F900A77E4847CCD689B23C277E6476300D4D9CE 2B5BB5CA2062BFF0EF2BB3D4ABE2A9F990DCF74568D7CDB717E4CDB07B97614508EF34EE901BAB B477F75C41B2AAEA8F46B218DD0DE5BD82F1717F96E14ADF8D7366274F3C077681E0CF33ADD953 8922D539077C56431909EE8C1EFF7467C9A5E215350278534E5A92C6BEC72D4C34D8D13CC545BE 543BBC371443F2D346737A3C390A0F7E284D9C4669D374839D3ED8A4023F1F99FD93598755005B C2A34DFCC4D19CBD422ED4E857D419BE3B9E12E01D0327C51D3589E83325896018C9B0417FD876 0AEBC5E0DC8367CBAB11B2989F4ECC1AEF87D935722912F180A70DFCE940DE3882A416E29BA14A 9C86E77380CE464583F385FF16F7FBDB607AA7455DA70CD8A0D9714963BF791D2D5E2E550D10DD 105F88DAB1BC1F688B1EE8B40151E533B6D56FAC3A4A98BAD8801864709AFF6DFB3D3EED5A532B 83E91CD8125A7A7AB6668F066AB79683C6A3F129C5ADA9431B06ABF37A724380CEA251D67B5FD2 B9C97334297B9DB8E85CBCCD13911AF8DC2415D1D8E7804838D3D03F9D143B923F5C5B58E28B74 8238665065A15A54B43CE96089B8E7DB9069B2B53210F5A03D1ECD2F83E1044AA561AE65683A43 9FFA3E1FB60C1CB64F32FA71E3FB557DF3CABD87FD2F945EB3C6960228808E1F77B23DF8C7B5B1 889BB4C2738EE5D607759C33D5D6174194AA9F8F90D969EA3DAE834B381A2E08E5DC9EB540679F 94D490F773A109D262E08CAE60E2E57690E8CF756F9AC112844CACE02AC96F51231FD83BB9FF70 102FCFE3DCACC8BF9E99BD7A9C9CD9279B64B3602442624EFFA606326BF96DB9EEDD16A515452A 7F25ED3E78ACE15FEA2CF9F1D3C6A0541D441A9D94ED9FBE947AF35B70B21CDBC02529C265072C 99642EDC878D92A7664F37F5D9DC173F6C28F900586C48960241E2932F113984BA534FE2457F45 16E7FEBC7A7673E8BCD4C8B05A8D9C738164A43DB7F581FAA8724D12035573BE800C032AADB23D 9A277BEC387E29F201E5F4091A4DAA4792ABFFD65762E6637E355B8834791370DB79FFBAE99108 92036B5713F64A2875092825616C64C6827BFC60F8C0D1EB0FAF0516348A7846B657C809030112 1FE3B0F1EB992ABE73F0842A5EE10D6436447471044EB7D9247B169C3F7C37B5109A5E7650ADD1 16E52C21022FC991756B93D210C65F5B7F67CD38B4863F90D3A1742875DF8E6B24D9E27D726521 432CBD225E0DF36DC33B8E8BED9FE897E77098832B9156725DC38EE82595481A76D166B37055EE 84EEF1899D249DE4280F7F15C76C044565949E9E4D438F327E05265E34FAF812E661770658F2F2 BBBFCC933AEDAE7BE17A40880A153409C357F830F1F847D9111135468D7A36BCB1E69CCFF57E26 20D97D988669D732A9A4F4ED0B1B6B542D729C9D2FE15DD8584ECD458A1305DC729C47714B6DA0 33A0D0E221570397F61E67C056F66EF50BE591A6DC3E3246908B8EF4973F76C4403B17175B046D 230F17B98A217D346F0796A77B6F19B4B0889F09A03B4F7BEF3B241218A85B5C34C4420B87F0E8 AD942D0A232B66FBBE49D2864F7AC2E5652CCE91C0FA6FAE79971F2D00E972151B61191190F9E6 9CC7A51B7777AF0EFCAE0B2FBB626235D0B942134A85ED0168D2E0E58654D94BCFAD1D0EAADC00 11939052259F193324DBA479BF57AFDE05237A08444888F08F9BA119175C776402490DB29FA96E B0BDC684CAA8E0CB48ECC0F40A0C8F18E37ED04122007CE4E11E1FF389EBC7DE9F07888EC1DEB9 A5C083E57830C1D303D03473CF649C83D03B17045F3B74A32458FB96C5856F02B72826B64D4866 13C7F07D2A3441C71542ECC56D65F2A80B5744608D0DCDC14204BC00ED8EFB67F7C31794011C03 93C64585EC8B7427B82467EA32A902FA1BDE691FC77CC61952C72F86B2FBA240D9D0CC565D8006 4B0D9525CE09FBC1F7A6104EA5F5AF9CAC4A1C1892BF78ED5500FB5AFEC29532AE7ED991CEC28D F9B076E95C64B91E0D262D4EAFE1C27E244C36B527646652F54C23E3BE59E6A0A2B123BB3101FD D91BB2F3B313CA0B00B1132A3886172ADA0A234D805CD95B2D 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndProcSet %%BeginProcSet: stones.pfa 11 dict begin /FontInfo 10 dict dup begin /version (001.002) readonly def /Notice (Copyright (c) 1987, 1990, 1992 Adobe Systems Incorporated. All Rights Reserved.ITC Stone is a registered trademark of International Typeface Corporation.) readonly def /FullName (ITC Stone Sans) readonly def /FamilyName (ITC Stone Sans) readonly def /Weight (Medium) readonly def /isFixedPitch false def /ItalicAngle 0 def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /FontName /StoneSans def /Encoding StandardEncoding def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /UniqueID 38777 def /FontBBox{-179 -250 1297 943}readonly def currentdict end currentfile eexec EB7EEB89BB946F143739A83529DE3381F3784CC049D9A232E7E0884F0F277E8C6E6B0C95F5E3CD DFEFF2F460CE06E2FC85C687B2452F666493AB6C55A2075C61F4DAFFB054763B9492E624F5E4A3 8F11E3BC76EDDAA5C228BCD20F1BF2283E8133F07F5AA91BFF96808985D8C1736E8BC758781338 F12CC618819D476B7674CBF6A7B3F1025A7291C7C074B3055F282498484C6F0FF8F641D0CF6FF8 8E1ABD832961B8995838C9C0F6BD075924512885439B9369B37ABD9F474BF8646BF9DAD5C5EC17 79AB8DE82C3D098E6A6637D9B4CC7174ABDDEFBD3180F0E62E1E650CF2DADAA7C7A6B1991EF9C6 B5046693AFD8B1CEC70D85407027864F714E599DF9E4E6776CF8467214DAB6902ED5B40FAE4244 82ED45A7BECB26941727281F8E0B3C15EC045133440070AD72736F4D87A96335CCAF8E6AA38229 8CB7EDA49F963A9E119CB70B9520E5D7AAEDD5498F0ED1C8B3902637E71734A7D7E2412D5EB792 B7B60BA9355628BEE3DFDA5E93B3026EC2886D40B22685C8E9BE5E38DE31FAB551A978D095C55C E3FEC4D6ED65C708F3676F4CE5F83F614C02C8F109F1A7FE93C6030D303227AF0EF843C45F15B2 2797852CFEA26D79AE2934E8B683732B306F9125ADAA1A802C8B82605D7395D0F22C77CD1B20E2 02BC082015E293C8F1D8D78A0E4565540371EB3B51256BA7276B2FABA2CDF47D34C445D0255A4B 23A88CB443B997813EACEBFF51F5B8C9B1B8EC5968A18CA26BDAE2F00AE034DDBE4DDD598ECE60 52A9BAEC420FE278B08F64BEF1069BD1FD4AB8B2A13ED3DDCFF8076501BC8A0156715EC132F636 711EE9D0D8C89C932EE5D16F8096A9C456DCE7F59517F85FA409B6110DFC22A2391A005492BFF0 C8610A9204D39AEE51271D355CE201A5719842112C88632AFB097C368EAB897DC1957B02962E2B 3E4732F6527C25BC76AC043B7300CB153F6971C0335FD3C6AE5AF7C5DA5621D03FAEFD3B8ADB98 8272C6380708210BF140809E4A191193F3547B2E4D43D4E981F7140B94473B939BE458E3B69B89 33ADBB82DA80BA01B2FF9878BE938D7E1E4A6E79B21C0B53EE510D6377E178E8E3556125E44D97 32ECF7A7C591AD28B9C651629CC5A56BF611E2C2199DEC57D61C099E5DCEF5527B9B2299FA64DF B3410193B77CF603A073D0785E1BA9CB1E3F0AB8859A87278769BB6FCB0C01EBCB40F80BEEC4EE 0283CB480E2B31863C2128ED5AA95944ED748805F9BBC70FA79F7A40C175F8A655C11C01FA9C2B 9E0A6A8FE5AF5D6E342ED1504BC332EA0F1788081808AB8A493A078AECABABB7D0D7183AD0ABD6 576119456D0B50B0AC6C6C3DDD44C64D4D11A76D2C3F5FC53E626B12E92D22B757E89749A1CE26 2C81F7646D9F24EE0350C309C0D9A65D134FBD216D3ECEB54845BE6FA7D67E2DD6B1F1262AEEF0 A134A6E639A2E3A6C8110004057BF9DA48728F50D486160122FB7DE6587D432589600363CB7620 728E10405C9B5CD7520F43F6472F4CF71FDF8CD95E78950422DEA82BBAD2A37EFC01B77C2960ED 9A6F213334183C34B5BC8F905BF35CA1604F593F1939B7582423B19864F33C720DE6D3B23B3D80 674761CA59B1561F6094E433714EDB17523D29307950FE67B11FDE2AC1E48303DBFEF06EF1B00B 57201D7C78CA9EC0797600215132ABC35FC81840920A311E8C7B3B191C20F76D668D0838E5A2BD 713D8FEAB68CEAC365AFEB987480C5A742B3F85D2C6B3DDC46E2BC1C27B316F6C2E94489E6D6A8 90A8C22B71A74B897210E143BFD17EFF558BB67EFD214F69BBA2A346AF95338409318A9C95D8F7 76749854A7CC4AEF404CE41529C318C2165E2820DBA6B20E6C42318396522FAB8027289A93B316 9FC3ECEAD61D09953D206A81630BF18B6F11E28C748F71B5FD105F913BE26FCE927F0611C7D202 AABA714B47B754E8E8ACA58CFD7421C5B8793C83236D375EF5EC59BC71B5A63C2D4FD01AB72064 634A3592BF1214E192F52389F6AB4A89DC4CBC1A9F4B267A0BCB6137487F813EEA0C6310CEECD7 DAB781A8C18E08A1B20BD2CDF58DC72C9D57EC472254ABFB157EE54C969150DD97A30EC7A78B9C F8C163FA6185B1E399CFD0B9316B70FC11A152F71DC4B9C902BD05F1AA7A655ECB1E69FFBF7CED 71B6640AA8C529AF822FD4D173CACF66DB19F35ABA3AEBCDDCEEEA061B06011553B86A129187F9 26D18FD644660001C7C1EBB02C3344EF0E88F93ADC8F334EC4ABD15D45C33221A5BBEEC48A3213 2BEC257F4A154E2B0401454138B8348C9B52789E1ECB5C01F7E8B0EAB2AF39B81FF4A7A0699643 267D78C1B794243AE7E4A5E5972D2653BE8529FF3ADE15B8D2D9CEDB5B127E8EADD74D2E45FB4B 4704B2BC7DC6B900A66B5F19F4A92DF92D3433A7104B869E31EED01101DAF9AD5E424A855CBD2A 9F24042AEF767196166674AEA9B4D8B871F84EA776ECDF5F981AEBB58D139B33F188AB2A99B816 1EFF8D88E6A57C45956E7ECDFAD1D35D6F51B3BD62F69E15FEA564355A05563A133DAE3E8251AD 6BBE5C2E59CD006D8F87A51BCE072BC40098DE0BDC3078C1705CA2B52C7A3629762F5997C62EB7 92AD52E5F51A035A947110B41DAF2C3D40F45E5C7CDE09B53880B161590B706DAFD3A98436F82E 78E7F7C0DFCB6804B719EF0AE76637C38D02F8075DC63FD48D85AA8D6598DA1D489BDA2BD9137B 56EFB6BB37221F73DE7BBF07A1E6D4657AC56EE2BCA53565ABB572C84A0D023AC945681EEE5B8F 56679E554B713EF277D843CD9972AFE851D7A213824FEBCAEF2F159D1D944DEFD0C7F2FF014568 5A0F7709376FA7755FA0E9E2EAF5827E2F23A452502F0C69C51A92BF01C3CCF947B5604164CEB0 F6519224017D8F0AC8887C6E83F0FFCBD0DAA57523D209ECDC27C6CDC6A709D384AC24FA3350F2 72593C5FC05FCFB4F2EB0D5424B958F3E5B83D2462C8E318A994B50C1E2AE1D0FF798837C6E5C8 23D4D6F8D34043CFB2FE9A942711982BC114D1424B7E358F297B224DDCC63AB1303DC8675F12A7 B38838D8F3495D20AF3D452026397A002E112B8266AA76AA4C8066DF43647FB2DBF74E8D371466 EF6C05BB4CFF36C3B46D661BD0BEDCA753CB06DF07EC3E8F2F39488A87A77B9FD0DA47787D4E84 3905DEAC2A83FEEFAA0C2F8A18D756855B3FF02188FDA6F555140E2235281F1EB0ED0E0F6F2645 C36A423579A7ED352738AAD1B59FDC7262326E580D3926A6BCFB733DF70FE8A55CB948B7B9CA5D FD3ECA598D7238033216C0384018317592F26E170859177D6EC285D368A72620105C4F64753BB3 CCDDF78133952448DDEAF1D99D413A3192556D5ECDA605FF75ED0635D5874F3DCCA46FCBBDCC46 B883F716B6C444D78CE26DF742A90D9C8687F4C7B939F46ACCC4D9281C21DC00A5C744CCB54CE5 9292129F027AE072B48AB2F550C1FA4B36B990180F6EB6EF887660D516A5AD905AAAD94C7E892C E8017CAB4108D1FF94010662DED658C6AB7B02600F84FE7D9907DB213C91C324B2515D831F99AE 5A1E0B8521B9FED12309EA0E6AA13D1CD9A5D6A4943A26473AA23F175349490A4F9DA795ABEE16 B14F8BAC8A2AD6C6646AE2B482B8B2DC016AB1429DAA697CB315CB15B587A1B4927F345C778631 99DD342D2E85C218F741AB44B821978AC869DE25347886D163A80CCCE3EBB841B7D66F9F4E1706 FA90DC2A261ED49D69AA21E95C4F20436359877F390E26ED8E7AFD37163201BE434B89AA7144B8 3E8977D40D873C15FCD136E711B13292C8FA0B594598ECF8DFF5A696EE868754C626281444C30D 3167DBF9B9440AE0DB8A937EA6A11834D4726A5C21388C9ABF54DA82FFEDA5B72FA53E6704C916 387B8EC36085F419A3AC796D4CAF4C321EC5F5BED7612F5C8410F9F4C584E762C4FD61B36965DD 6D3C4A58F15BFDF83C565F457F56DE3F8BFDE36CFE964A70E8E05D31A6CB87B03A4A8CED980551 5BC7F8535D23CD753CF9D1CDF90A7142045E5CEEB9D8BC2A8EE2F4B7A49CF6D6A0FFA204BB5788 F7AC5BA57985BEFAA983150974FC1048E824D87506B7874387FED6820F0E812FA536DF5AF4D780 449BA54D1B2A4489E0F881557200C80A7E9605F750BFC92A30A38943FF6C4D3972797C97C9327E 7E4D974D44044794B3667CEF0871CEE807C70C8A727DD93844B4EC636AF2208B1F4F40770F4519 7C7C3BD36B0E1662FF507E6728E86D3599549839707397E1B6E837FB56E747DE68FF8CCABC8358 95F95178428D165AFD9E63B4F33277731469C0F3BA2CF304EF696E73347CC336F538581E4E6FD3 87FFB3A5160704577E0116E5327AF130219ADA85AC52CDE0884F0F73576F1504A020C752F8BF83 8BCA1C6ED0B14B381FB02CCAE42C64A8A65A82B3C9EC9D8716C086121D8A6B18F0E411BFE177CF B18F9B9BCD53C2ACF975A1872CFACAE3089844A8A3B6AE02ED3DE4D2077C7C3776946E2A5D0D3D 19072DBC148498F04F23F8B17F4B294EC939F36FDE1DE681453B77F7A1BFE2D7840A32481524AB 3186B06CFEA6D7593557AAA640618F83D8C22F3E05645C4785AEA94A736AC92BA08902FCDD0895 EBF975371EB7DF013A59E51E333727EA160B5FCCA003E27BE7CF665F4CA4BBE7B14FC75815E053 20DCEAC6D032D7148B9DBEA9D62724B5C52D499900207DAAADC0AE9B2CCD81B4C99B901B3488BA 0ECC27514A730AAB58A7A60937B55BE3D29F68B5B9C776DCBF4BC713FEA091BA6083CB20C9C0B0 18D94C10122DD4CC7C042171B2554A84FD489009B86F080526B82073D98D1D36C411386242D600 10A5844AF91DD3C955205AB0DFC8CAA1B29C0FBDB0EEBC69815D9D3C72B525582431C700F09579 90FEC2A06E31679795FF0B0F83AAF834AA24862F0576D306FDC27F90330EB0430548D45EF75CF1 859BA98439583F9FCDC02DA426C98955D6246E4D5F1471C4AC4FFB1947AC9FF7FC0CA41FBF01D2 2B828CEAC7030A6F56F8B05764489653A77159ABA4DEE42B2110A6634DA1542188D5E577021950 694B571AC3550E3BC2CB3A802A2E830A3B5C7DB77516BFAC3A7C827D79ABD75F10B7EA5BCA52B6 90FD19E0426D2526FC591A3454266B4E38114D0F1651DDDE0995C4CE9A6DF8FB0EF02E74535C34 F1F563EC948231CD159E2C172A8473E7C08BC59FF3D0810C0EC0D1D9D1038E882F05C7E3A0BE1E F98F9DD2A60AF98C2DBF32B9F5003FE3B09BA01A7744BFA8C369B7B7F73CA6915CDEEBA1D71F84 9DF4DA23FE0195DFB6AA471EA109D6E4D7E801AC77CFF73F4ED589D00906AA0845B84D44D78188 9B4B5B94758F013EA141171525AE140044C8DCDB37476BFAC92628FA17723CC434C822EF307BE2 4D72955220B4DABF37959B46AD9C52FC0F5FB3DEC72BE5F5E5F0BC1CFFC09D8DEF5CC6BC94A456 F37AAAD9A62E705B6DD844C564B2708BD8B7FE5F3C62104B349A2D88FC10EBC1D4900A5EF6C53F 8C18250DBC4BC51173364B6033E1E5D3543AD95EDC3A07C60273E9B052C600431F63D1E4DE0BFC E860537BE0537A0A2C9BC539114BDDB5A3951437D8CCF457DD1EC0B0FFB7B9AFB2405AFFE33AA8 5F33FD06CD72B382D0A6C6DB40BEDD3A16C68DB98AE6AD82CBB60D1BC20DA932BFA4FA70333459 A28D3B99966B9B4F2E993E8DE780B890ABEA37F7143F9702E99E1F59F8EE27AB15CCCC0515A2A4 7DFF56DD8C39E14425FBB2B33115D7865ADB66973CD14446E5350B281CA2D855D2312D3DF5F58E 69858CBBB058096484ED8CA8DB534EF103834B8EF33834B8179D9A6143B88B244F5F8773728405 8D35186A83A15CDC9CB32C8A5885B5EBA4F73B81EA4128D24481870B7223A0F0F2888E77DC01B0 2AC8337846C2A5035724031D7437FD11806260C2BE7EF64409E7A75AD047F7AEB1CE3FCBD53DEB 0F39BA5A63B6C0EF90C9A3D21683396A250BAA37ED3C81DBDFDB2253EC0B09A188D791168222B6 6A05F00C133F4220239F65A88112717E8B318E905BF28D58ED1849084719F1FB0176D26C56AC81 28680D1AD07D3EFC11925DC45CB786E53F135B7DBBF610554B6D9BC0BD36226E55C23FC87351A3 3C2416C8F2817B3CA69FB0D332CED8C0E33C6F40DBF85DEED10A7E9E2948513F3190DEE93132D5 32045CBFF6E43DA145CDE2D561E3BA078B72F950A8017025AA5F2FCEE08AB4E79D8D17D422C978 1656988AD6205DE69035EDBE516D7E52A8249B4FED4E5D177D87188FE3515C51B09E8DA573FC1F 86B3193EE935CE27E52131720D8264C580AC087218262B37A194EE8589B8AB308545C2E5AE23B1 BE4EE3BC9E99C8890CD4A17CCCEB740F766D9195DFC958BC4CEBD291D04FE691DCC4BA7DC20CB6 2938F0AA9C4A51FA7D6E213E1B36B0E319F1E98BBDF2999C9325EAEB86069F3158C2F2E79365F2 28BEF0D90948D07E53B9C45F826F8A8783F49CF037D4CB2C92F2F6E66C104343A8995A86E3DC0A A9A62577FFDECFECA2D7D27833E903FB049B91783E41D35D216DF3697FF03B51EC3ACCA17E9187 C372377490839E490136CB3343C87D5A04AD6C137A5FCEAA91FCBECA2629C132CB2BABE3909C70 EC55A8FF1DDA05B8B2A0D2A51BC7411B6A6F35609E6EE0C607DCC6EAF95E43E62F1042DD0DAF91 E9ABC212D2E2A8FEEAD0D310BC8DF43202891540BF07FCA2EAD1A24BCAE5E4A617E726AC4E9215 E01F7EA2CF768B7158110E3D16010D27B952E88A32E445743C6BF5984970D518998221CC95A47A 9F627AF0DE14793C97C1DE55B85A062816ADADF23CEBC43916B1C966EDAA1424B23A552E51504A 08AFBB8182E9A11124E129244B19C7BAE1CAAE2CE34906075DBF74CC87E478272541DFFFCD32E3 C07CF960F654F674459FB136FE6D18121FED87B90DC05C2478DBD121D3A48A687DA0BF5A882A00 1490B83ABC932CC011E458D64A6E3D2CE0F5C9B1D69BC7DE68CA0DF317362FF81BD27F6FD9961F 93D9B11499B8ECB95428EA007A4649B16033E8D591FFC7B4CB6EE07E6F70687996A3D2E85EDC31 C1DEEB5D84C169079C16297540CA0CBA130924AA7CB75C357B592E08E47716205CEC9A0178F54C 928A30CDF5F2E976FF0174012508F26EED03417E397332FD806E11B486649BF17F2EE9A0B860AB CA44C31784DF25B56825790847CB9411B2488FBAAF03B0B0FA2CC1B0C5D320B69FF98713A878AB 3F656AB45FC561F61D0090301FE7CA7CEEE6B76E57AB223D13AFD584384D0BB5F07E6991551E1D 2B3C5232039377A66F1143DAF25E823774B8689729176CE54F0D53AA21E7BF6457ABDA6710D593 247E93A5CB23C24D53EB0D6C7FD73E94BA15B6D443B10A838D34D966AEAE81B8A20895E39B8198 D07DF85FE9D0638B27454E54D849C83E31499C75B2D2E851D5B896608361FB5623FC0FA85C2630 298B75D3BF1D53D7762119EDACC38EFAE4126DCF29B3D71C0EFC75AA2DF1E95672B6C7D1DF74F9 388B7CD3CB21FA46F000E330D3A556326A6F37ACDE0045C0D8D00ABE8A868FB4DDC21C3DD9C7D6 22F0B80165CC4D84227B7AE9927C936DF7FE8F893E319C45BB9F9DC5E61D37AEDF9E522CBBB20C 2405A137842266B48F2BEDDCB9320664BDD6679B72030E1B01B5E6979C592D649CA2DA56C019BB 09F6E139803AC012D3293B1E4CC91E86284AA6841B6B9EAD31D672714039D73336E02389732ABD ABB8C147DA9CF40711405A1328EE19E0E6E1EA65DFA8921994F2BF310FB85A08F4BAA7FC59DBDD 350006200DF27C099F2229862CA5E9C0851BE4E32D00475F258334359010D8178CA4DBEE82232C D21C3CF666A0EBF4BD20300C0A70016807E42D15F9EE24A194ED04B4C6AED884DC7088B6E37851 FAFD7ADFCF7FABB0E633946B9029160F10B62613289B8C46B2B74FDD47BD4F4E7B53E96DF8F9C3 69925508D342E15A4D0943B22365B8D8F9CB8F5D00DE6A42FCF9FF43D364C02DFD2F44F72819E6 16B788A4DCBEC1B5F9AEBDE4F38A254B4EEA4A34DCAEA85DCB7F9F2BF47BB87E9552402C372628 956EE58A01E86BAE1E083D7129B7837D6E57B7DE8C179BDDE6524D9F75618725026854C0B1A18F A662CD6324285AF65E4D1F8665F1538F2D85FF7D502B3BFD4D310A3088A8EE6780D541D9AC4687 31A27DD7DA80FEBB6F60C27BBCA02DC98AC540CF45E3B6D52DE46B7C6E98508DDDFCB020AC5533 12F08C2ABF27B6C34AD9F841EB78373F2F367A28EE3E21D2BCFCE4C14C34C3638978C40B136AC5 8D747EE06E197AB07ADF3709E73833BC786917D3EC0465EE48948E397F8F7256ED4D261794B28E 39D6D4EFFCEE6DCF0C14256DF68026BAA0D50A737E303923E6D956DF3FCE2983FF443BC1EE1595 EC57E86E3770F73B802A152FBCF6B4394EE2DB30DABA69F0124E6A74BFED7715E469150C2553D6 4FCB56786D334F335F4EC6836A613A261529FA85B53469585A683BB9CCADC24AC57E35BBA6B086 F3881161327906B185E958E700A70BE82627A8F4F49DA22024BD5F6D0EF3357EAC2414615D4ED2 130D3D8DF23C52D2B57372BAA68BF1901B863E6A36EA23094971BCE262FDD5A68B0B20F0E9FE0B 0DAE30CA56FAD94C9CE49875A4D06E774CDC46845866BCD61122887DB85B207E28803535687E39 028F82D9439FB6B7F34FFF1BD8E3C8E1C7DF03DFF8E3C06028405F2E6AAF97A54075B2A1EBCE61 3A5CF7C73042D74824A04D5B2066730348B07F188A8725EAB0F076BEF25DA8B82B36B061F866A7 BF23E609780A8CA6C1E7A52AA2DF4D5EA22E6C6491B5C4A648F37838A7B1F7BDD98840653372A0 86A7AFD56CE2B973B5FF224E34930ADFA3071DBD339618B245AD27BAFC805BF2A49A4E296F17D9 EB25700F8E8F0C9E8548FABB23D2CD8CEBE8621DFB66115E60630A1FAE3897FD72269B27503841 5943D7A2B5729A5DC87E2F8EC82586D2A2979033C3189EE5CECC97C276B751E7A269047C0B4731 9E38C8A5EFCFB0BD90C545563971F7DDFB76C28DD5D297C7907D20C7D020F04557F557AD66E51F 9D42F796736997BC648883144CDD9EB477431AB9583C58A94FB7395E5F7CC0FF9434A97F591580 48509B7008168B6E877CBFE14083C1CC2B197CDCD93068D035102B025D52A8AA4721E019DD02A7 993E5C74A64CC4D422DC03210A264F7356514F13B555C373566A5D78E627065AD36C26513246E0 01C9C15952357A8D8E7581ECC8C0A86A880C73AC519BB10C1B9720DF6501FEFDCE55CB1CDBDFAD 42C3F2148EA35861C391478B9A8D058FA121B4A2639E7A626550F6E18920DA07940F573AA299F7 043F3ECBFC626C16BEF92D9346946A0E7BCAC528AE264EA379732957AC35E2C7DEFB417FDFBCF4 B29CAAF11335C1BDAC50D95C0A3F06E367FA0CC48317ACD72DAA35A76CA3A1AC2975BA3E369015 F4AB8CAAE9B804DC42B7E19EF9B73C3EF3968B4CBF4C7097A4ADDF8359DAB1C6E2C440788F8BCF D272D8366C232B70D50E209E766134F0C1F1ECDEF25E05200D9E66FD6D0E6A6DF5CD1A62A4E7FB DB54B495CDE5DB0FDA85EDA4D628374E0E6EA451EAE67459D92AC84E38FFB5156D1FC0ED264D9C 05319276361F5192B3FE3AC052154E2425D77666E387B88841F2AB8062F98CC11AEE58717BE867 6C26ED1D06839FB862D2D6F14217EDFC44D3628090D4E4AE6D8D08C2925DEC62CC2DEE4CDEDA65 F1FCB22D50D5734956692CBBAF25A518D2112F54E6D38F9C2B9CD66A38BCA0E82AAE3DDE45C3AC E761B9A12B135772589E425A3B4E229E0E8249069328B6A222C46DAF4F7C61FDAC1967C7AF6E13 C38293F4A0AE3DF700E40C2DE9F8BC802686F239F7F0C7B47E0261F4BE8B5C174EE86AFB248F08 D0CD94578867F47316170A909C05019915343C6C4CE0C994AA105F70E58E576564A4B2B08944D3 180CEBE66BE894C842C096F92CA53E6704C916387B8E374D1B71761F3930422B0DF8A4E24785C1 4EEE920E3C8D697279814A6D0276FECD66EDF127411A07EF9D22EBAFE7AF43C6B6122CB0B14DDC D3367C8AAC559AF893AE9BB73F784BB10E6657F344AD69330C24A4E3C446E86E07F5B596D2C984 4C24CBDF51CCAEEDD4D62FF48C7D9F74C90451FC90F485F2C2F6C125556A5992BAD8C87DFFDD9A 7C092ADC9AC2220C0ECCBABA1B4C494A4DF40CE6BC412D37D27FAFC83F9554C664B7E15B2C4F9A 6BCE172FFDC885C8D5A6E4309D47031CC1A57D15CF30F413C700445A1180587836396ECF7A4526 BB0ACA51F2906CE146F8C84A1B1FE2454EDEE16570D594E79B894CFC3AB160A019E507347E763A B6CD3ADF46393E0579BA424DD850246B872E88169EFFD26E590A192EF3535DFFD7C547F2358042 FC5C9838B3AED01F1096BBFA3565ABFFB6F13DA0880B562662EDDBD14FE710EDBE66A3EA1FD804 85DA5390D3F9AA7D2FC7A6CE67AD78A181BB8524B7D2243A22D936D631FD3A38B6D7EE4210E3F9 67E536D724B5E9506F2C2F8ED984D0A76B28CEF61809EF49D7C198BFEBBB91233026504A558CD4 7B7985A1458B14A570F2B22B196AA0E939D5F8B4439C53D8C17864376C53751328E391BA09D254 062AA26CBA634DAFD7EAB4A20697D9D66EF59A3718FF3BCA0A69A203EE0A70CC564264EBF4567A 71A95898634CB768E85C1C94194E6C8B0320735DFDEC860D110A9E0F0F1D0B3528B24DE5C85021 7F28D4203F560BD19DCF145E8A28F9064C2459D4FC80AAA81AE12DE4BE12420641D1F82D60416C DDCFE782984955A10B576FD1A38C1652431FBEA0F6A00C43DEF505B15777DBFFCDCDECBCB846AE 5701D4F94CBD835CEB98BED6EE73E101CC55501637EF6009357709493A3B3A1092F0AC896369FB EEC887B2DC9CF507920634A6A7EA49C5D06D6A73D06FCD850B49375A0C6E94CDEACFE6A345D0F0 2220E71FD289093B0301CE9D3A00062E1B16825F6B448E2B97631BF7EFE74AFF831571DD8C6D64 340D2D74983EF1931B0E8B1D1914DBED22638B4202E414BDC090B26BF37E9900D8691CEE82BB15 CB2FBD7D87120DC1BCE6086E6CBF6E5ECAA3B954D5FB14F987F178A4520F6C0BD631A3C9FC2D7A 27A87FD6466C71F99093D457B237807480A0BBF9B3E9A932F2B54DDE064DF608855B57293344B6 EE678188C820AA974CC93CDD19C2AFADAB7109CC357CFB633C3AC6E94C377604A97143B2C46E34 EBA624F9E8D0EE2F70730931D18EF48BC2E9D89BCCEDF440AD21BA0ABBF07F1F3AEE91C680BB30 35E117FEA187699C643279553652859B4E4F14F108EC17C13BC4F4F0F1A4F3EB8E107070EDD80B 654968570D10DD96E3AF3D1CE7E91880119C0C13BA19596B2762F018E4B5131C929C7B210DA2FC 16100FCD8CDA361DCF91C9431D15CDF19EA61912DB91001A0ABE636DBB31BAEDCB65F8D40C7435 CE8A188169F00D5CCAB0750EA37D20F18386072B5E053DD1F2C1C815E50430D084D226E108C782 2BE4025C7B6FAFA4492D1A6B9AEC8CCBAD96398A3A028181059DC32901D9B65A4CBC970C11DEA1 4564C832F41C5C278D97AAE899FD1581F0295EA908CDC45FBFE469730F76A665705B3FA8AC301B 4030ADC8B08206693ECCCE509FBC9C40163949E45D2E072BBDF6EC17B56E39B49C5565C4928833 44F507E92684C64BE24D370FD1BCD2E804FC32C5DC3C6CD2D2C8C4221820E7DBF24285E0DF7663 A348C7A90BBECBDEF321D9128DCFD1657680C06696084A2D1782CFA4F5F0A82CC85930147ABCF2 60BC54181A50AB12BDF5249650415A26D09AA1F55A0BADF12B760A333D3D35F15DAE68BE585605 76DA6E572711F09192B1C50572BEA623EC86E33D2D5158516099230EF8D4A03F4AE29CFE2E419D ABE89C2EFF27B79A0117615961F8475F9AD70D2CA6FFD2B8CB629A2166106159095FDA78878083 38E349CEB72069DAC742FC81267347D088CF9D76C993FE7078C8FCF3672C5688C6F6CADD6C1818 17EDC6FA67F1D8B6E428608B667BF69C7D3B3E06E762756CD9A205102729A62BD0D065790E4814 A2BE825BBE29467CF13439AF8DDBD712CAED51AE8023EE2EF3E82A32211C152A3B00FB59E3AD06 169117FA059995B85827C70736E5C5B92A7A050AF586E4274E2B8EB301B1A44A78BDFB7A1CD5BD 20419B46A7BAC72D8B76AB79F43DDCF7388CE69953B07229CB08537841753A779F8DB35058BCB7 9FE0B92C95EF2F5BB4FF92A17CCC17C7547EE812BE02DC87A97B70A07B47F25096CF7FB28EEA95 93332D8FD4C05499C0F0B5DC16B60486C7945A24C8F5EF24ECF26BE37DC1BD16CE08D9F96BC485 73C1D7A8872A390A4FD5E23765845C68ED59456D66EB4BE697F454B71BF6E976BFD7C7819BDFA1 4D8DD7F777B499773AC457902DC130544A32957E723AAF0EE83D46DC6AC1578EE03C55B89F3FDB AF60C8ADB5CE10DAB600BDEFB5F793B0AD8A4757A65AA493BBBBB603CFDADB0878CD83043370B5 7F1C19E02D5EC43D7F2128C8FC9B2AEC4C8CB386DAB602969A06ED499954C0FAAA273BE17C2C70 59895A7961C9105FECDC152A1CDE6814EBA6E3BFBA8CE110393E1046FD51A103BE194F4B9B5BF7 12396DBA012BDCA0ED38F61394BDA8862DCD70C820D301A400B57F10F1117A4B09373E9BF4A72B E6204C3F56CB9661CD175F72B2351A6CAA6401CB569CE3339429015AB1C6984F518C6C0D6064D7 A3DAF6EEF949EC633A67070D58707D6E6E01F266D3F552B77721A0D59E8DDC86F98833009D7342 8FD37CBB0DE9C894E99662819C196E8A9FDCCE47C4A4BA1F1ED1D90DC230A540B26C218B9B30E3 8C226A23B28823DC6D84D49A6E346CB2F7F9F71FB106A5DFB36C16CDFF1D651A9756BB3B0F00EF 0A70D28DEC781FED5AD41784469E88ECDB870CF88CE99FF8B8C99478300A31DE8105455CD5A6B7 6A3DBB519C87C1B61B15EF254B3848288968789C1F5D479B10AD9272FB77435766BA40AC988913 07D8A40C14ED0B782934491ACC82A284A886D204D45F1D571AD143ACA7C7481FCADC2366F8AA14 DE19B82574B2FD9EED7153A5B47877D3D579C74F8B91D5155AF0F34882C9E2C7EB3206B1B41209 9E776DDD4E2E24FDAA98557E7C87347F56E1B1D6DB7861848966B6D0DD232FC2CCF89EBA52600F 20842317BBF4F8B44AC4ACBFE0A4B777228237E52D22DE4A3B8E3AD3F864567F785750B2064EAB FF9657B3622E5D39F6BADFCB6903DD7DA935018CB36C69456D2C82ED6954E406942D0EE310CA34 803309603D77BD4BA248C02FCE335BA95DEA94FF84DD80542966C5000B610A55918AC2CA86D837 0C9C9F4B541287555D3B123A27A83545DF28C7970FBBDB7D7214C727AE687D03485EA555B4BEDE C4588F41F1195BA7518C66FD454A95DA6BF1444C06BFEAA75470FC5A9196568A9FC73DB2849D98 871CE0055312847F376D7C105B95FB41AAE629BFE241E52AB913BAA5A4F675CDF2564630041627 E2A9D8CC14489083864E8121DDF31C6BE9E0C1F28F2E43716B48B2C850A6AE4DEFE4C72B43FFBC 7ADC307437041F908763BC8762C735AD2854FC4964B8789ED825B468FA72D2AEA6E0FB487E67B0 8C30119ADD2C0DEDB0739870EA020C3AEFCC306B4657EF727C7B9D44E9EFA9D1E94EF45F0432A0 1CA34DF372D1286639D3D621BBEA0A279DE17FABACF7C3700EE0AB96B91E9C65D00307AF5B7D3C C5FE44E749CC99745EBC1DAD4EE4FA3209A8F6B79D51BCB14D16E716E57349CC7270F7563DD891 1F61EA3D587E0A7AB6D5F52C51CEEE500E1A5B87E4698F85872A78D268DC589EDF2359559576BE 6DFC17ACB3AF21CCEDDE9E2EAC577921D4B664CB3A9916214F14E0EE0A5A794F52AEB2A85C1FDC 75448F6E8B28583C84995D2353459539FDBD3A78704047A9CA4F8BFEE8FC414E6BA85F0DF1D97D 0234DCE2ED68EE0E96ED572B66D1DAFD2DD2F0FE7BECCB4C851298FDB9F894CAD858AF4968CF9B 001FA15AE4C7E38FE246039FD834CCEFC94652ED013AE6D4FBF4A419C4D1AEE18AD681E8CC8672 4B9EB1C5DB13E839B218BF6B71AEF9AB230D37D8494A69705C470ACB47875C3880946546A56944 981602AC22B37947BCD1A3614F8695DE3147383302C0F1DBD3A41DAD361381E25F51C4922922E6 4555CA63B2F506E4C1EA7FBCD707A1C2879EE4E9EC48C0AB93FA7C1C9D9940961B6EE73BA29D48 07CDD8CFE05AAAE724AB718B2F0F3E6C50F5F53D9BA572FC14EC63878AECDAF990A7F50EBC31A7 163A517F11721CC862F5156A689234860BA2CFF19D6FB30E6272F8AE9925CA6BA95F543233B63F 2EE746EDD725F5F2F51516F1DF1439F9062A1B2B3204434F2C21888D38A4FF676A6B850E3A6817 0491F5323116EA11BE10A0490470F592044CD42AEE17491F2574DC22932E7583190E93D182FD72 5FD6EE01A63BCB014019A690277E8E422CFA4B0A50FAE072E36F4C6F14193D544FBE216A78A3A4 689A4C6ECB8BB149CB8F6EB6DB0029409A48CB7B454FDD796D638A7EC743A15EB5EE65DD93D6A2 3DFDA04B8B040B856B766FEA465E7ACD05CAA8A3F13BA4D2B04AE5539D424BFA34227090FD1831 7EAAA83528B3D40E5C108E39EB2ECFF231DA14E9903EFECE80713FDBCBAC9077344FA86D7F7732 535A26EBD89A80649B26F247C710D725361278E7731870095AAEBCE9B9C04A73698A28CE509F9D A1D88E9A8CECCD0203C3A3B8DBFC56063ECB17DAE60C26A80814F71FE12B23EB15BA5743B4F9E1 24FCDC99D47D8A449A4E7BBE7DE8CA36D946756DD0B94438EE80A6743E683B57223EC6F2062B31 042313ECE2A8E646361EE5E278EE597D79CD16DFDC24034C0F2E03C54DDA9132B37AD93D598651 59DDA793C2CAFC765287F7B943191B068B520CFACC134F47D454121EF1753065678760D9A6B924 C90D7C9D432967E4DE06BC5AEE12554DBCBE36619C0865B19C9E939F286677D4649C62DC79AAB5 24AC9B6A8CCA66C46C8EE2E5DDD4E113B8BC0E356867B001AAD992F1C85940CB2573621C9986B6 2E830E0823FA46FB64AE9EA7A67CEBF0B8AF5D3AD6AB366E52D60B5036222DF65F5078F70236A1 25A65BFC345F6A400A81DEECD07183FB5D10A2640F6D21D98B8C2E0650C2DDB8AD539B7719D030 B220B91E17FF3A5FFFDEE4D66D0C4586D9E4EDD15A64393DE612A8A2087991A726CBB59176AE3B D48C79F0D7C884E833DAB2944995098257F300D27C4504E3ADA71F4CD9C306D82FA15C11FC7098 1ECDB59E8DC578788317BBCABEA79DA888290734DCEB8E5ED8F7D51C64104281EE00D95077D4A5 8CE902A8D3DB6297CFBAB9B4E0EF77DB323E34A52B1A938CE951A1989640EA4935A471D10749EF 728947386DA5EAA9BE0117E40CFCD805ADC01EF3B152819BCD332DFE5FACE16C23669371E61081 94783614CD46A6885E543C00355B1B81AC917D05325FD395BF6195876D4F46CF739D7482657607 C7AE98C7DE6D397F6055DF67F1884836E2D685C8064D834A7718EB41A843D994E070D5488E2842 3A30068CDF01F84A34EA2C47A4341FA98C9011FAEE51CBD98DAB25C98B78C0957A0FFD022BCC97 641F858DC445715AB461116AE956953F2048FB1A990D7752D3EF1CB67697583681F96B385FD870 3CE35EEE611E80DFB0A992F87BEB5B724EAB130B2553F4B0599E795C4743AB312460B65CD53DFC 648E853C032F0A9D760F241F6174710CD1602CD78DC405316B0DA43D5E2D4EADA1E3688F32C6B9 4F02EE29ED79848C459891187432957A0F428D256E015E86C12E68696AFA4D890FB842254822E0 79AA320BC1BD480C0A2F276D833FB3C9D8746B52EEF4D0DC0B63D01F61F9512C0DF6E911A4125A CEAEF49AC488F1A395843F760DF01838339AC5B53E760EBE256A04F092CCEBAFD9218ADD4169E1 82D2F20753200859A776B236E6E5400C4255E7CDD22D1D6135480E16592FB680142E5ABB09BC0D 7B643BBE0888EE5D5A0008815748B2356E717813AB3AEB20A58C291C4559083EA547E6BDA07521 342AE1D489F0EC7E9AB4A24AA98CC448AF3A198910E46CF829CB35182DB53CC04EA000E05F44BB 495A679736E1D3AD78859C18A9C82E9B6DA96ADF439DAC12269DE2B745841525C5B39DEF3FF4DE 405C7FFA30C29BF9EA979B9741DD9C0720C25BE42DFF13BAD91327D15FCF90E7588201B64C2E73 DE8138737F1B4740B3C54B78FB4580815C5D47AB1870A548DBC20D118F8A8A7EFA5D5383D7069F E0A3F7EDE43AF1E411F3E419F18F347ED5153D9B8AB2EB584DF2A8747060145C074CC2D308FEFB B63841EAFE56C905B4A4B13A9FE80E9CBDE42DFCEE6A3F5BC986C2C740401B450939A6EC44E58C CBA7955B7A29ED3DD28C7D63FBB04F8FC825A60C6399DA762D045C5182F240A8EE7AF4F4040390 9942C8F533B3BC5C763B0DC95A834D1E5EF0F90BAD07EC07380E75A95F57B8C1C46A28ED6A455A 3CDB05C56981DA10068EB0BD9EEF0B3B31A76F660E9D340D377B3D8B6068A7228F7386D8F0D410 3701DDFCE5F678CBF6E70FDAABAF86B95E2A731487DF06B4D011E38120BECD6B8C9DAE22C98C39 1FF8D019FAC578069F6F9EAEEBDDC67AABD4126764D16B89E4F8A99C93A961B93122A4D9B389AE 1C664C3388E1E7F9071321F5A22D91802B5B96BB89AB7D0D853248B01EB77E52B26463AD317F78 47C62881F21D2578CBB2855AA02A50BEF5579D09AAECAF59835E9E949245A1CF53983E67CD5F7F CA5DBA5F4BA741E7E49C406522C380A50A3633342042EC32F80CDCFD725C9072B271AC83722F73 4B3A98F7C516C7CDA806A1FAF97CE46210C4153A844A352791E6AE594619F51C656CF07B783D61 64BFFED8809A1E502A533CA3C12727FFF4852C098D1C2F0F925B3A029EFB6FFF80DAB8DCF7C9CA FA5F7D958A8504DBE2E7A2C3F261D736CD4894FE0009C6C24BC7F7A9EFD12E6AEB4D1A60AD6257 4B8F8B7C54954ED1CAE95511F16886E5109A9933D84FF266EC4D94DA89619C82D376A63507CF4E 233BC70BE0D660B6EB472F4EB6B8D85C96108C5D02D0D39A6D02429D60D010E1C13A81E1AB0012 9FDDB1C0900EAD7845B30B1CC795520A343E0FAB8BCE4D9F642EC7F51846F5FF3B87EEC40423E1 A91931FDF73BAFDF383E55B255566679979F37E256D606121F0C3116BEE00897A7C1C2980C785E A37E05F2E3070181F17D8DF9C1040221970F628202ADFBCEA6CCECDA61637E40ABAD6B0F639C21 735298F35EABD37FAD3126247309EF9570AA4D7F2AFF959894C089D77878EB5D3705F8FCB748AC 00CD77535B672FFD36E162D85370139C0F8E7645A665C1D23C6C45C0CA06A89F2CF2F23C27A5FD 070F575439A5FF88D9235DF579D854962E025C347077256A5F4DD3C5FAE10A5C2801F93C08E022 9600CE5CB001CBF71E813E116C56147304976CC25801BC0239EE6D12AF2D2A10E728A4BEC249E0 BE5342272F6A508264226CA8479BD946E2BED405379D0748D4A707E0EFF6175D5E57117A04FD98 C03405381AF44333FD7346DD7D46F71CF5AA1A87205EEF8D7B1CCE971F9BDDA467629BE1556CA4 FE479DD77380F22E93685C12D641EC3227FA98C90D9265D7504B7CDB3CCD092F4AE0487E89CA75 DC017DAF9C9C94778FDFC7CF2419D317AEF2D70857E527A5F49FA26FF3EE577A0A44EF541C7D64 062F7DF3EFBBD0FD7BA63F5D4F1FFF4013F149215521F5E91092553F2973E0BE1AFF6B5876EE61 3A081917A4198292455DF7A337954234E2A441275E5F4A47EB19B3362778BA70878847F478E341 BE09257DD9823BB058512D588FA8266911C5846EA5AFC886549538721E4775EEB8354F64E20DAD 4B9129C6E9370241408BA4AE1E09059A0F2C5E4443FAFFC762D2ED2CAC9F6EC244666212178440 A2D3074A8B5DCBD810FAC51627A81FC9D40FC32581CC1BA438B50865050765EAAE1F1E99C1D89A A6CD3838A5459FBF8DEA20C9531801C037D5288F6CE19AB8073B5951D7699D3D3C7F937B5B521A 35AE12791102871A0C27AAEF9631192182A5C40B9C83959A96207802DEE92611FF3778664DB1AD D309BFAF5EBAAE4B8A4FF008C0BE42F1151E9D1F460CCF018C42703E1A2836CCDABF26B4744DEF 9E111C4FB81FE89B4B9BC15E2880857EB34B21952C55F8C62E8254EC300FCE1CD5D46657B902A1 D81ACDAE92E4CCDBE4C39DF747BF9CF8B1CFA3314C453FDE23F52E3AB1AFD66AFE12F6DD53FC5A F236F1228EEC9DC8C8ADE81733D6BFABA66989EDC6762475F0E70228009D1301DD5AC6583BE108 37D90EC1D0E4C543DDA6645969FF34C7BA21DF2AD3B9527EB104B70498EE9E61FFFB2FB3843404 F8DC322C8946359464AC057370C76A90ED3C0254D38EFB516B8B99E1560857EBB5CB88566AD269 56652F1D334F01FC8F018546A7F49FD17103BB5EF2A6A3B6C26F9CEBFFC7419D71F62AA5B222F9 93EB5A227C73E310A3F34C19A3F7CE9A10536DE50BD81C4118222C163D0CEB8A16DF6B4EBF2B06 840DED08106F28DF93E33AC2C4075B43723690F9C890D4F91CF5AC874B4CA7BCE2F2962E532526 F4DAB744F83CF905AA4377BE6F05758EB44612BCBD52A5692B60BDE10586A1113005D915A74DFB 5E419210B2E5A86E5814ED34D5DAED6EEC3802851169615B6A2744A5BCBA5B67E933FE2D3D7398 056D7A316A4C7D0A7790405C7A3D0517E174831AA7983A87FBB4C5D24F2DFFBF8577A8B30A209B 27466732F600B60FF503AE5BCEF08B29A9715EDD7EBC3DA4E15218B76D8FD60664B61E2B682B1F 56CE4B5B13AC1B0EA4EDD6AD77244AB166ACC23B103790FCF32F41B7C1E15D786A85BD3B81A44D 3774387CFBD41B43B4678AF42174ED76B9C70F4BC183D01C525ECA7560A7DC12E0804F8A6FCE05 760361B90A156915EFB95CFC55AD4DF99D77A6537686A2A60D9F926DD9BA3FBD8B651D5B69BFD5 ABED7D2C8B32539D75134615761FAF783A6EE4C31B47204808C9156A6EC2D70049DB35A7207447 B346DA2435DBF46AF7B24C6E4BE1B75B30E5F68683A03052B05BB2DD75A5127CEC4FE11284F03C A9C4102A9BB0130EB99933A7479DB597960640A3EB90BF0EDF89D93A8B73921E9E7C4F782EDFB0 7233772D2343D90E1E581FF20F5181C67E050A14AE40EFAA16FCD62FD9AAD419E301D6893E2291 8BBA31345A9D947208EA23924B9257EE753A7104E41EA10D72B6E72E507053AE35BC20AE5F369E B0D780E537406780A55AE7C113A81F4E1008FAF276F598E276399B4DF11AFE51CF8D22A35B1BCD 247DA70377CBF7A96E8DCEC19658F88D6A214D3FAD356BADC650A41B36F12B11EC9B149FB6A491 10DEF203B8F8672FCBA317974F17EBAF2C81CB398A06B62F635EE010E194A38ED4AB30C7E7079C AD51EFBA8E069B811A35B459B3537D6801D747BFDEC5F89F465FD296CE396F8944922D5F82A12A ADFAE34B6D723828C8A30292E9E8AD8FB8D97ADBD9AB22E5E45523BDFF4C1723688163BC7ECDDF 44052B696167C0ACA1B4A81135E0B837ACCD22DABB5DFE46765ED4BC0556B7FB27239812FD3089 FA483EAE60C10CE6D3B8FB0AE33F07022F96E1B95DC818C67AEDA1D41BE11712548D0568A062B5 26A4569B9BB5F6EAEC2D176F924ABFC9978E3AFC427EB2BA46C768F83E86F3B8178704E6AF4AD2 EA4DF47E8989F327D85812790EA888CDC920D15B80E51F7CFC44A1189127D2C9468D50231CA805 03DF2C2007EF27DA9C498C778F3837735EE5EDAC47F4A01C2A391BE023004156652349F062B1EB 504E5ABC82282A423E47342002009770D646EA50F933F0BC5E6143FA4B1733DFC6DF6ED7DE6DD4 FB8388C7CA81C9210EA0A98B0275B74A0E0F510C90DF71C93B3A9FDB6A86DFF2921382352C8FEE 1A0A2E6003B005465C1F31B667F5BDD9ACE74531D0FDD56CEABBBF5E0A55633E28F750A7C2571D 27FCBE1B01C387F6F36D225A30C68BD185843F487C2E98B5629A6287CBAF2267880B2F48596320 D7A1EC87DCE5C5283E034AF582F592B7E0B185209AB07480A98E676603F7F92F96F9AE6EBE80A9 5E625EF7F4B469458B2A7DAA4B8FAE9103652663F353C35F88FFFEC41296809D52104E1D629998 735E1CA4D36442BB8BD6C02EE6E27374B25CBAE97051FDE7E3EB81EA7F6D8CBDDA45F29232456D C1C70B60869D63A509E9AA33DD00187BED5AA122AC8ACAE5B5A02C85A4C0B68193B2F4355EA779 DF44F488272E92297DF1C8E7FAECC4EFB031E0232EC032F1ECD4F6C37B6707A28F1CF9A2683FC8 3B9725F1948D020931065CB521B34934D2CEFE9458A1CC7EC5528A183F270AAC08CE8184B90482 6221CBCA4DAFDCE880D391D6C4D8289BB45ECC73C94DEBAABBCFD529ED9B5FE55E5D6A48EB0969 EA03E15B8D7DA8D54CB15E0370C8E39CB80158C6B7D40C2951D73345BF3D82E49C976A0E918B10 1C22FFD551C685A3C7AD17DC9915A80815EB114550E9BADFAC2EAD17C29D0C834871CD88563F9C C2CD8B190D02EE346A82C537DF2999722584A95845BB367E4F7D675FD067DC42FED595473C9B55 1911A54B14DD130BC7CAD78C469DBA966096FA69FB9027C1542B8B95BDA4FC22683DAF22C8EBA8 E358929EAE6C198C7F9730C5D3BAD63196515C4BEAAD27C26844398BD64D750BB06A240397BC91 492ACE0DA7F6050BBB15740DCBBFC2DC67CC740AE8EE915192715BD472A45BBF33AA5E3E93FE6F 6C39E09D8EF3068D3E7D2BE768632B6C2F1F2B0F08844C5BD7AF2EFA6CED285646750F70EA819B 18B0371B3DF7BC4DA2B90E8FFB9E3DC066B9ECDF01A02BDBD882AB88EFD7FCF2467D4B8CC32024 1FD68C6C9742C5E250BA662A856DA7194C0ADE36BDFB36562C29132DED3BAA0A87A761669CE3B2 56E11A6CC42BDC6F0AE09F87C0D7FE688EF8948F69210ACB148A93F59FC2EF5B21B8E81B71D185 D37E0CF36B2F33BBD77CD36047E9988704B0629FCAA318000ADFC4B370FA5B218A161AE7A8D99B 88907029BC83134CE9F92B21735BA15F0FE547EA79F5B2D8CC96D10E1B0373A13ED18500EEF460 DDF2CAECB0F44A4F88A6090D660E879ACC03FD85B4909082DDFB7C90428E2A9FE8B60377DD1ECA 3D0885C5400473CF212DFC2EF3099C73A37B3886DA8C139FBEFF84911687D1DA963D0E9690BEE3 F191A5E1F7B9D3FEB0A497ACACE68D42660D94CEA5825A19B65C1A394CAAEB68BED5B886F94D70 8407C6DFE818448A49AC3A9BE10C8991BFA5DA3C94BF608FECCC0606BF6AA0F1ED1AEFEEADF0A4 D5226523C4C6A77F0FC9A6C7318826AB8FA286324228ABCD26D1DF2FFF1650BD71879AE5D92337 EB6EABF9A599308899752219FF8C97CA72C11246DD111F348646F23A62980F6445DCCFE035AA4C 5B2E973A787EF8EDA260BF8298794B76FEF7F6CF79DCA923F9ADC2B0524D9A2D4D4269EA709C39 5D75E3F23F92FFDCF7E8BF8691D52DF133297E4AEB9B1668AC097409428411C7887427DE9C03AC 1F229BB983325258E3D36E93D300F3A31E1B4861A1A31D61731359044FB1076E98C2CAF24C77D2 459356156E1D9570D9B7F8ED30E14C95D8638AF5410EAE34C41A35E552802248DA923BEAA153B1 4E62735BD5E09E23E5616F10F5B66FE1D238EA59E293F0459043E42538E17AEC76BB09C4A6353C 30E4B756A89E40B9D9CA6FE1D40566769CC6FE3B14428997ED4A24B23961EF21A61D879A2967DA CFF909180F52604AF8C4BD47F6A9474C42A752861E832B7B93161BC1224B8673A53BDC7F663BCC DC71A9ACAA594486607C180C30384881C324554357685C149A0D96AF6A37E4E3D20D5021F11238 1D4CB1F8674035071FC634638076C2480B0EACD306A62FD22EA859903F2F30F1F99C87F3245DFE A4AB5141D280C5EEAE69F44D47D359A011A1D01FE8BEAF3B43478F8B47A4F37508861A2DDD7708 B9D4742B6FFA156B64EBC0CD8FF5624FB80902DCE59B7806A43C862006869D0CFCA3EB13473952 492CFDADE1E458A55DB078B1EF58DC5D6C303EAAA415F43DE9F19A508147FABFFBFAB69862E527 19523DF01BDF22CA779D587055D37539BBF8D8BD6853E4E699E65F7EC6E5D096601D09340BD116 38544A45AD6E58663A1C495DCC1FA79C8351D69D298B498382AE4725F18F86F315C588BED8BFCC 6655CF2E4ABB439281D199994BF21E47A2E84DBE37D3637DB32E961B5C40BEDB345C82197D324C 350BC344F2EF90E6B496BDBC1BB4A359B70633B0A35076FB86BE1343CBD39E6DD77671AF671CF4 364C1CD9BC7BC151FC0FEDB137911CA590F377B35990099AF3756C1FF218656D1769B2E5ADE7F7 571E7132CFBEFB6F0BCD9F4164C33738CA62934E138EE5A5FA5E81C3C1E04D1C1ACCAEAD8D15AC 4FCBB0FFEBE577342272A8BE5FDE606830C0289ADC41418C7282B0CB5234D8B75D668823A32B73 E140228E8E803115DF38D1D6213718BFBFCB22B0405108A5C8BD3009D60BFEED1B15E7A5D21F11 98F091E11B839C2BA809A22652F57B3007DEE6827AC22A96556394CF9051B91B1CC42A20EAFB8A 2D3F95B7090DA79AA3F4342045EDE247AC63D8D8006FE4C2A617C9B0AEBF2753042473762E5050 20627409AE8F975E0547C07D414105ABFEE496985C3423E1F3AC71076FAAD97783CA4250951AB3 379B4562F2A7744F41FC40E045A796A3C756981D7F35A38B6A57C12B8F8772EF0753591C65F632 729732EFE7F053C27A4DAC9907FEBA0403CE8A902F71A278DE9A5616463256914C1BD117A66B8D 62928A00B7FBB66E33299D673B682BDB6A30790C2A2DD06F3D82E19CF49C1B9C676A4413CD4E70 718F92FC0089A7257268F75CB3E53F8D4781C37E8D5E37D2C919C619A33B4C7141CA7107D1DAC7 69016355C89C1DF2DB782723B71357CC0AF674F0F36E18485088AD08B8B995D5A9CDFD5070CEFE 37424C2909A38BD66DBE6440396D02DC2980F1C013E9C2C161F927C7B803B34EB7C57FB2349FB2 788515885B7B2E5BCC7001A108FBD473F34810C2774E5493501FA2882BA5985EA9AE84AD076807 AEFEFC8081AC8B99F8837197EEBD2D734EF78086F020091F44045823CF70462A856C5921583DB6 B209473494E78D1D81F285B850052B1784373DB62FA6CE8EDFB70EACE4C2A01CCA9BB86EC61E54 5E4399466233F7714392F53EAF823788E7F475E066E718A3A54A81805058B31244739B9E3D5BAE D896901D9F014FF62728847AB719AD2CA332D98F99532D7A93C7030271F5BA5230095BEE8106A7 D33D16D2D3BD76064AD26431922B7CF433BCF3AF02C53C59D39872478227E645828F2FF1C4B3B5 9BED9F8061C74F79348AD639C4F3A67E27FF99959B909E3ADDDF985B719359F803938798E36DE5 655448E65472CCE2D6A7537A5F855A5046C5D7C64D77F636E318592B3040981110E664FABB5FEE B9B14C48D74E7A4582274D3BE07E8D67C2F294D2591796A2880C3253060BA26AFF00C503D614DF 72BF8B91E80E722C5F4F7496A17AD6B5357DE01C5AC8136A3F4B7F722D08EAFB3419CB76638A29 BDF242BC6ED4FB7127D76F51B8E77850C77A3D9FFD94E814DD072C6AAE901F1CB99961E79324D4 AD0D97CE00F7A4CDCCBFD7D5A9A82270B2FC7E88757747FEAFE917ACC9C07507F2C87530465B2F 7BE3B62047F11EEB0FE7513C9A7ECBAEFDB678F295CBF7B55CDD07FDC11A9764A31C1A77887D3C F9C13DF7D987E725C4BD1E7F80A8438F54FC3668E2CCAE42A58A08354825BB87BD1424A1919973 3B49B6A3A5467B3A99F70B63ED38549168DD5FEF0A6620BD5B8050968377C7ECC4DF6A43C852C5 72339C0E54F99547240AAF9487B748CA87AB2278B162291991556DFDCB595C28DB05D6D5510824 9613DCAD7144A1EC6DA259E16FDACE7122CE1A171FA0346A9155B25DCA8E6BA7300451891DC21C 7DB92E3AD2183BB4DDA70C669F1F55FCC191B59823B017E55D15E9C0EB799BBADBB8935AD90CBD FBA156CB503A2333A4EBA92CA2DCE92C5B687A4E43F73BB7F09B62FA6BE7E1495318CE4E7BA343 D08A7CB53E32B05F63D836D8B5629651AA4C2DC68AF2E13F49276450F66B56C1EF299604CF0933 4C7B154C923D4107D055AC7EF0F28478FD06C54F663B170DD58A41F293904EC7AAF6C8E4DFDCC3 7B08702BBD8FFB33B007044ACEE7ACE3464D5433A53AFB6B7EE754CED830A1C540EB5778C227C4 5CC7BFB94850544DE6C0D1960874574284B1D0256BFB7E5483FDEDAF31ACF7822A2B9DD27EA1A2 BA891D72C9AE28F074211D528758C6E168FBBB1274199289ACA037D1A641ADED7F300A4B27C954 63BEF8A9BD49D496300655C1ACB70A2A3FF89E065BE79F5F292EC6F6BD6F8987B7A8E2F6642E91 18ABAB71DC705981C30C51C7FE6A10828A8EFEFC43EFCBB6BCC5A8492E0169F03492968D7F0EA1 C4339519EE36A1E91034670A85B193F5DB6037C59B5E46183FFE468BDCB794918BBC8AEB2BA715 0908DA0B63653C0BDCCF80BB64F36D0E5E8D4685B80CFC7E3E6F4DA4FDD4BB8CA8DE4ABF16503B D9F6C3C3B6F8F9CB292C9DAEFCC68EFAB16388AFF922B32B5257B033C9D8FC078AD296D49CB8A3 3A32AF01FC192BA792C3A15E6C5B7A4AFB1C2FB00DF18076229550ADD4A991037C5D91B7CFD4A3 5D08E8FA85D16CC2C48F3F32BA894CCBA2C6A3F964BDCB8BC4FB9226C7F8899900C267C70E3ED3 C0797FD7377D3044D43C0E8172BB0FB746A706296D70CD23A5CE25885158C83FA2C9F10AC1E0BD 8C88DD6D581289CE14AA88B102A47D4E52546EC6FFE7E8450AFE3F01706B2E3AFDDCCE4DAAB431 5638E28FA4668458CAB2466768C1F3F8881CEA9E9A7ED57AE7AFB53DC590E601AD11ECA0E5CB2E 4BEA895F6271B875D09EDB9D5B8D92647B67954824F0AD4DF1CC9E82F97DB638BB17322EA26C6E C4A5E02433D11B6A37D2AC10DA6D1035B23F1C6C80B7C382F1EFAC4622C040D108EEE91C397CAC E1EDC761C1EBDAFFCD6127B48621E666A5A5C33A3BD4F559C7C2CA7FF3C4BDDB288A3043E09441 D35CB54F1218FFC4097D1FA60911189496A16B40D34EDA64A9225EF00B875885127D2A441DECEC B2BF6F14F6A3815A780A4DFCB6227C7355B377EA61F928E94486CDC0D42EE92494D5063ABE2DCD 4D29E8967835BE5894D38F09399E70418D21DBD8AC679367EA9DEFA70BAF625F94F56CCD1DA6DE ACF583E9763BCD0EBCD9EE5810CD9330FEAF5FE60BE3AF8A15A1D58CA2A9B0785BC09ABC53F86A 66CCBD8815F3F8B9B18396B045DE3B4A00D59D47F52B52DE7A52AB26F5DDA05E3B9751EE11A6F7 926654FC7F909EBB7423295385044B8C44A2032031D462049FFD77CA8F31787268F64FDF00397A A89494308AD9EF15DCEF55BA0C5AC4E4435A52D2225BFEB438C9230CC6912DB18FCD0A6D7D4C89 BB6B69974B0CDC28D0974C94C05A611EECE866140A00F4BF9828C5363D9A6FA8FC974368370378 2EEC189B4AB960A8BA75EF432D7F7B8051B2D012FF76F1A55BABA16DB9EE5C9BDD57DA9A87ACD1 D1872EB5677A14CC20F83739D95AAD0B3F26506976B1C822AA8CB4A96960220CB2453DFBB6EE67 67FC6C154EA927FA01E697D2FDE73F9840043480A584337E7F466F5248570841A7344A37232CBB F088ECBBBA9ADA89A8B8D00EA7AD8FA02A4F79AF21FB8FC487528E3F7B31F11C3F2646FD78155B FB10245978554D8C95BA599252815A4995A507026348758626CA386F31748F70C2DF1482B6C987 5CB7546B3B1B756F3169EA3589A1D0A543FB165795234464243A6DE12AFA76D577EA55A4B764D0 21BBB4F203ED66A4FEC3B51333A57776A2127DFC59EE28229200C9B93A1FD1E84B9D5BA8A22FC0 24C844FF8351256EBDA28CD78C9DC782E5BB85D188B4FAE6A427C251BE2C794D8C77CA39296039 9EBC8BE84DB9C78319BD38A441158A999A74B04C4C5246D6982EF7DCF8D8ADB304A8511267FFAC C1ABE46C9EE1CBCAD63665AC606CAC7D56E9BC3609B3EF72176B49B63C90A0130CD183B90A6A40 796E4CB9091BBA0FFC8D0F8CF2B016800B1B439B5DB6FEA0C399F8C1A22B1896E0487A08476F65 F505717AE2BCA312EC891BAF95B43F49C5F71C3BF4A8B3E0E37D93A70D06C2FBBBDD77E7A0637E BBDA27C27C539EA3AD7936E4544583DCCFBFAF737A61557B0FED52471B5A5733A1558C9B53FD57 D361306945A6150D1C0FC5EDF521F17F4D724348D5EFB86E8FA808D2CF01977B431D3E9F4E8A3C CB1CCB4B1750CA2936A362A610B05C73E382D76118024E58ED512B212B1DABEECDA7196C75BDEF 3049455278956F60FA00D450729CCD0F01B4A63AD30D92B0C14C158B183647B655AEDEA612CFA0 BE89F79C22F1F2D6AAB20CC382355B1159D16B7C29EDBF06E6831B395EA7A4102C99E400F911A3 F306589C5DE6C3FCCD402B4E25E85C65B301C396ADA09D6A4577F38D21EEA6FBA8D50B5FC31C95 740A9A7446B9FCB5D37ADC301000AABC7D8EA8DD59A63DA0FA8F7038BB1D9B2948635424C80BD1 CAFCB11FBB85497BC4C3BCAE2A24B9373CBD005681835D6FA7798A45FB01C51DB842B6D4737901 8349AE7D8C5A4805028B1DB4F634869A3BCA06029E8BEA02832397627DDFE8BAA44B05D5EB55B9 2655A387E3407308E34AD2038C78037995339E047D9310B8EEA85FE275636D6C5C19586701FA21 EBB7434A4915CA71BB0E833C16712BC63DE98B5209B0A730180C5D6012FA81EAE001E1C1E14D80 34CE642A31EFA12B3A15EA53BD89C492CD6670538B7BFDCC629ACBFCAEE4FC4CEA070CCFCB7560 B4F933E3D9D259F70CC3697901929A1F1605EE8A0E01EE85D4FFFB167DE6D916F2630DEB8CF317 F494C4CAC3EE73BE392EF96FBD232E4A776022EE04146552F0E1D66B4BC14302986FCEF76F1B7E 196753A2B4BCA87F804896B7392FF8E5183448899617F020386E688E7E26286CE5D060B00B485D ED264D191A5B528A4E516832640354C31D61EC4F7FA70125B5C6349FDE30694E9504C0A080D252 B922305874F39354A0FC1A196021E29C516D62A783AC2594C28F69F6803314F6745AE6685E381B FAF83F14B8464D7DA4198BE48E76011BE6B3171EAD370CA699E7076071B2FF1856F6BDC61F3F01 034ADDDDF56CC4914AD74282859C632B9B14293CDBBD9FF8FD4403CFDB761D3CBEFF84391E3D5A 06B5D932DEF0861EBE6DD885C9C31DA765FCF358847333C966FD39E5000E9835A35F3BA93FA20C 4C459A8F4DAEDE2C99EFBA13EC0B82AB546CFDF7A97879642D97F69C21737B22283B636494C9EA 129A161BD8C9DD565BFB2A35503B5BF8A95AA69627E2A1BBBBF5BBEAA74A58CCB11F7CFA420B5D 70B3E392D54A52FE59EC9A3017BD2D83B4E90E24D9FCC6D816E975544B96BB1F4443CDB81918A7 7FDDAB25D9BF72D20DE17689121EC5757BB18324AC0D5F324DBD89B72F2271FA362BC8CCACFECD CC25331BE8AB8FED46A6E691F3AA6B0701F582CA8753F648828CD3FAB6E43CC92A924F245FC608 350F82CAFF77EC9E2E24F985436ECA4AD84EB24435A5C4B330198B23E825D1ECC7DC5582886E90 D2EA7CBAC9037B11B156ADB8110B6FB795BFC6D397B39FF79D8FBBD42A00C6020C63B011CDE2DF 269F4754E89CF3F18F2B9DEBE3850A86AAC0F5006B528CE30BFF055110D8AFA688BA3B9F0D24AE 50143F09D6EE6926BFA2E460B5B3C486F3810C5CF68F67FE2A9DD7FE9B39BDBB24D6E59D12108C 5016007BB9FC22791622C044132BE6BB8F7F9C278C755DEF004E310EACD8F39933A6DF56BEBC5F B72B4DC33EB255B645CEDFEDB900B6E8B1FAA4ED152222A3E6FEA8D8BFC7C477EF8D7557B70E48 693F8C0DCD118EF544E782C23DD3AA3D66C90851AC05B5818831E3AAF1C4DE9529275DFACAF48A 2A87BEBCF4EE948415341227461D8627D2187CC9184DD3343F554DEBB268B65AD8314996BCAD55 F75B5983F62EFDF10C580AE478B6C3C92595490A9E3AF8D279246AFFFCA3F3F7E79FEDCB652CFC 57CC31B89E18AA6C5F839DDC3ECCEA0264794CA316EEE24A93A25E2DD12F0115B6CB650227FB26 30AF4CF55F7AE4701310E11636A39C9FD1D3436524C57AAF409D24276DCC0A5CBE47EAE624D814 A3A094C5C960C3566778E850BA04CCB58E5016CBE399A201B788A448F9969CB1C89EBD958AD83E 4E9E2001D5A7120E73DF0D722AA3DC1CD06F11B2F8E911B794E50B50FAA29B49AE01B5C361F08E 27BFF8DBC16F4E4EC034B3AB15F06C08C9EF4B5B054327BB3A5D25E41F3EDD53E2FF4EF38413EC F5E693225C255A9E1F4060B1FFF8E38357D06549C517F458B62A8E123985988726DB8DE3C9DB37 8480DF0D731B1009516437512F2C7F898628330B0B2B2960CF815AAD9171E8097C933EAFCA026B 1EDA2FD5E1E5FEA1CD7604124234CD04F50AB59DBFF1318423E4FA6FCC6B7E91E4FBDA149404ED E8E13993F65F12ED80B63FB137717990F4502A61C00DABD9345E94F043133ABEE22D2B7FF0DF21 C4195C3E2F7ABD639941E47882470A6CAAD0B4A8C96B4E4E1DB918B8A926AB40E1859D719FD381 FDA3F1490076EAF5D17311CBB59A26D198CF036B5D6A551664E2C206C910F8A7369183BB95329C 097A7DCB992507F479CF546D645D52F2BBB452EBCAB40FD4109464D160B97ACAF226DF763FB024 9AC97B71F735CBFA56D2E6ACD7710CE9BC2189FE53F5BB41C58C0FF1A1C5442FDC76D21E6273F4 1896D7394CEA6C7500950AB85FAC5C8D4CF1766680A0CFA243A00B7DE2D180DCD1417CF25D7A30 5A1B17534FD1D8595FE704A36B402F868E534FE7CACAD039E13CFF4CE59D382C107FB9DD98623A 0FC04F9337010031AA47B7938F111335EB68AFCC86E477D5E76A1E4758C7319938944850E71333 0F20E9A9DF969173018CFF594871676420136BB1A3E0CC89C2327F68B0A487D95463D183ECCF07 4BA6870EA9332FF8B264AA779650A00A04CD5D443CA09453DC961D3193BD222D1F80BA0B9C4162 D20CB801B1D6E8DD3D97CF05B841BAB3DF22DDBB06DD6A682C6A1E3CE595A28CAAD9840757EC6F 8BE66D6B9CA3F6EDD5BEB6324873C0EC7B8B108731F3E6BC6588D69E4C7573D47BBDD93D03E050 076B9A0EEBD7C020BDC64127AB58424291B1BC70A9F3D326C67D93AD24F67CE9AE6BDC829D7DD1 61EF3C1A47991F54A807C08AE0AF24D6B952E66CB8E9196EA00F3AFDCB1413A33763E24109759B CDB59C2257C2864C458719BE17D929911C7FD72148815791A12EC2D2A3DD6407330CE0B4DFC3A2 440FF0D6974B92B81FBF04B0FC4E4429B009C388FA8FDEA029AAD70151F5BF76B13933D3F55B5A C00DFDCEA91ADC73D3DCEF29EC261E07B96421E64865FDE1F8EFB7B5AB1273D5C2BD5261ACEADD 7851504D19A91F295D664B440AA61636B62D02A341CEF145920C396C42244CF13EBB21D4BC85D9 95A57563CBA0D4D046AC0B0D1B40D1BCDB26E5AB86A1720005504BE3D73EE22018F3642B1D8CF6 4596A15ABA888916E9F12BCB15EB823337DE90015FFF5D1B87DE84495F696BA7E1704B428133DB 54916A4BB7E31BF36CC74AC1B1C1AACC176E44B45CE6864EBF724D28819CA80FCD1BCAC9C6E92C E62D304E2D18A3C882074DEAFEDF1C55104F629481E6E42EE45072BBAB3074EB5AA1D4958BFFB6 E541FC1849E6F5402165F5C4F750F72CFD90BA03CCED7C5014745B0F9642E271FBF6645AF430D0 E92984BB4F96C993E3186C0D8C2897B692C0A0D198FF9E44C648FC2723F8D8A547F7ED08E89E02 C00D26A50BC8A1C714BDE534580176C7F5D3153514FCA23C2D9CF3B6EFF7CF683712BB7AB3C7D2 A3E66427ED0B625C088A2A57EEAA2C467FAF0AC5728495451ACA08AE5506F5410411D2B0912D3A F6A391FC7A4D7108C1B2FF0D1F9D09C2396CA85ECB4885B386F5FF5061AB78D9D915B2D3AA05CC 192CE2751B8E1C99B043B24950F25D58BE9377DC1B9198C5DFB5FD6A0B91EB90A5F01257ABB15D DE8B375B0DD55CB18B8A42594724844FBB89FCA2215536BD9CAD8661CA6C92E32AD432F581383A 90CDE05F34FAA585FDE7DA42889EB34752AB26D21D13918BBADC23D9C35B88C6FDE31EAC2A4295 F4159CE1CC942B9830129A1B9474F154A175F3A71D86F1BDB4BBF15066948984B4FE902C3F8F3C 0A46E6A51D86054D683C0A11ED0F151F7905DE73C589339153E8B4708F6D94CE02581C837C41F2 D65556F5A706C06FFAD43669CCDDB2FFFBE01DCD46380EDC16E08945EBD749AD2AEDD7CBC7C2E2 E3E4F666AAAE7A718AB5FB6A67297D8F9FF768FD216E4DB4645383EC452F33C1043B23ED9783C5 C76331017EDEA82E29CCA8F436DB73156A71333E8851CBCAF2A721B7A57800CD72AADF40B6620F B932435AFE3FE986720FE713D424A3F0E936168960E171B9B5B8721B699C39B70E42C8E0430E66 9BDD2870B7C4C66440C106DBDBA7665838F9C6CF6746E15DB725F500AD3D3E2BA2C7997FF0D513 C91BB5C4824D51B89E7FF3CE26EED35E9A2DDA7420026D89674F7D3184E6C76D4B6D32F28B170C A928B58CA925E69F04A22E85E1EBB862C5AB0996F05C62E6DA8DB0B6195B72D473EA23CB8F9900 3C7F35D51D480D0547BABF993B9235493D447232B362D382FF92BA13559F69A7E95C17976A5A1A 979EA687227BD969D06E73018FB097319FA62D7CEC8B04419DDB4435972382C04FF9C5705DFBA6 548561D31CE00457559534E531377193169A844152CD042223B47B7166A6CEED2B746AC21251EB 900F93FC6F625D8FDE6E1D5374950F4DDD817548EBDDEF20123FCED4C3DF7A7F7CE65E9B5FC3D4 F079B281D7C03DCBE9B8D87935D42CAE3ECE54EEBE41C00CFC98E64780935AD675962BE9DD9905 9BC1DB597DE778C168F4492C26167085032E511484ACE6FDC8CF885DE200FF0A990226D0640BF3 D78F53576875200E856089B11A57A657D37E0BC5B6046670377114396B8C740B5C166E15ADD5F0 9BDD0CC3BD11C342B69C2D90E5507D83D3F6FD3DC144A2D2C80A02F455143F15949B81374BD436 0E3591F0EE260233F84B50CAAC5013D6AB612837119AC3ABB6B2DBF0ADC06EB4D4295E48F1B6DF 60E6C98332A380BB997B769F7C699827A6EACB9E14B79CFBF83E11AA8B96A3EE90A2AED4035296 05834F1489CCE75443E75382D1B413D8E0AB4F8AA7C69A3E499FC0077DFC9C8AE155F5EB403579 B6293E80BE372197F33AE16B3F41F75FD0350E3267D963D7D39AAE9F6741EB1D242B3F9CB3997A 0577421B816164A5259457F56724E7FD562AE67136D5BF75AAE92934F73240C98F289C566B8582 EFFF34771E9A1C04FA01AA96C258A3C7055087721981F4343CB87F07FD49B9576C4F9429BCECA0 20027987609F6A49D73984819C940AA1701A6C70086BDE720E1FCB0C6FFF14E15978E462A3D5AB 4D0F222A990EFB6D09EC67B467EFC88275DF2598F595186DE91F398AD8CA3D232EE6FBBF2B9595 0735E0F625B709CD4ED126C063894BFA5FAC4F4B7A8091FB9D94D294E3C284781482184D9AABD8 1F723B1F9D8AB2C7157F8E4A636F253CCE3EAD18A0F7D8C38B76B88913B8E8DF121902BCA1EE8C 4CA2B05EFB5FFD8C1EE4702885EBE96755A2D581378F71646886DC140216D13AD4C3B3F2C0D2CC D8DCD4D9EF6995135D6214EC4E3D653FEB11C22F5EBFF43EE55230A86B8E78E312B7ABAAB7B749 F7C73718504B28687AEAF731FB83EA4C0B9B5477CC52A5D0BD4252FAB095F558553FAEA5784B94 1683E0DDE43A3C7B19A6C8A4D39FDFBE50F967095B202F5A184244C31C2149E73CCE7E0D32FEE2 58425D0BCEDF9BD2FC249608C6ECBAD4B7EAA64D7D01F333AE334D173E859F163396A88A1E09A3 96F47A3FD445731F18EA7BD26C621E349E314159B99DC4432ABC9FC2E5CBD8E162D9CBFC7F5D8A 90B7A195A7B517A91BD8AF517EB26A8EBFE30CE667BC376870E405F4DEEA3CF4331B1A89B142A1 DDF343B52419528628040D173EB0828C7B00BA62BF5DE4956B23FE62F555DC6EADAFE18315F268 15D3DE1AD5B9808F3A016DB66B1969992BE7CC676EDC26B87A11A89278A82DB04BF41CB21C805F 2D2CBB9B4E781F6B4DC755880EF054C74870B847332B344DD056F1A3D7319162E782A625E1110A C80DE10CB26F7E670BF997EEEBC31C0DC875BA67BF7EE96C70347DFE02FC64F4F7632B2CD1D82D 026A2D7C14536E7C8ADD18491CF2C03B94BDF4A54511B7C9A515F3EFBF120491113E7EB58FED08 1F16BE32EE7D1BD64CD134834F206E636F9DA1DF7E393659821490E92A81CAD875736713D6EB26 93E0906C4347699F5632A7D3FEE62C5BD09564AEBECC0A09500F1216B2BCC8D9ACCE85910BC406 71670117EC279DD3AE212329B50E55DE1DFA4D34EEEB533AF5407331CE8FCB2D39F2DC59654FBB 90A8145689145414A95951C2E41A64375B3B7C7EFE850FC152DB2226F511906CB01C4D487DC7D4 667678482DA2A0B57728BBBE04FD7420C49289831DC8A627C82236B3764DCDA399D5C8EB0E0917 0A1CA8E43B4CC2C0ABEC5B60A0AEE5DF738B76C08B354372BC28A1E398159B9B6863458EF40BDB 810731A45996A64EC80889B94A12C6C5E3CFCE7FEE0931AD3BEAD31C60E07B73B1828C86916979 54602AA6226A830902BBBCC8D25494A7B24A67CE2B258A8050B9659D3FBD3E3B0499A7FAD90851 0DAA4E0A8FC39BA6A871905BEC3535032BD2FC641F53274ED8A47B8D8F693E722E28480B33AF79 780F246979C0BA9112071E45C735AC38E0A2FAE61ED8CEC4813065EBD1EB31FB5F0DF37322B3C4 79D6D8ABE7D3022E1B10991F9DB03D3394BD71AD7763D8A287A2F11A3F4CB87F0A4D1DFC11C936 7769660BF060965154FBC0255D6CD41E77ABF528922809D141A80678B1F564850937342011C2CD A7193A4BDDCA3FB1773FECD40B37F367507EBE2C4F69778BDDE54DF9EF70583DC98F80EE984ECF 29646467A48115B5B40DC2C725100A5BDCF8524EE61B841A45C1583236ED7BD97F37E0A9486902 55A78A4563F25BBC1957E267BCC2932B59EE9F62FD7EC053041AE90A165E4DC412F3B5525932A0 5D1B729EE049E95FD7DDFC41289ED305430CB9A0BA0E2983C4966AD1E4C634E67899C15CAE84D6 C6A0C2D6A2742D741EE5FB897E004FA6AA48ABA7332FBDF0971A4148FE73AF6D4094889A87AB06 FEFB97E11ED78C3FAD76376C3620DEEF80BBF7B286290165F59B78E21F96FC2EF036D65B01589C 14DC300CA2BEF5E5C9414A4B7F4E2434DFCBAE0510C7CAAF5F86A917BDCC85A0C7D0BCA0ACEF48 E54BE1D943324E826E1E9D3F0A54D36474F74300F94E0D7391A13884440915D1F91F5BAF310230 9DC18A2A75E87DA722764E799A11CE89833205B9DFF25948E5D1F3A3CB1E611CE299DB7343F320 00F26A10C4E6358358A5F655D15D381A6D98002D83DE29B1AC943A4C6F428D76E607702B7774CD DAA3ED711F352F5A65DF01BCB0B7B25CF801E24A4E3977840D0C6C42D71C75AAA00F265CD259B7 CA0EC27CF0B120395152F29EC1734FE5F40AEB4BCCB6D9AA0C5D38FE7324FEECAC5013446EB3BC E7DD468047D0B7705FEC89870073E5EF829D4B782A8C67E134ACA1FD7FF4405E1D399F876F9361 4EF88E2F65E13B1CCB0D9149C59129391843150AD4925CD95A3CD05787EDC236B5FB0072DDAB14 A148053A4E06169980490BA0E5B8BD46DCCD063AEDF19BB4AC6F1396296435C49756D043B11CED CE66E71108FB6A5F297A476EF414AF75D812D4E4830A80894809235EF1C43528D0AFE3938728A9 5685049D31548CB5FBE281C3501D050E8A3EA525A55506FFA31F0164919B30A9B4AFC70225048E 93517E234B0D671A9F74AE8DD155D35DD72C6C8FD359B5023EF5BC74A59D159E26BA68F3D0D7D1 D90F1B64A4CD270C1DB67832C814B44AAB2447DCB00F73C1DD5080C7616111ACB6289A0362B5FE C39B09D62F924A98C37F1C3D3D18B7018E6F6D6F851436AF6CEB6669143D30C85F958DB2747213 77B5B73738F9442586008C38B843E9A567F7EA876A3A33E1827F12B67516AB2A678F131D8FAF62 DF923BD6C4C5C2DE0B9B229541A02E9185AB6C7A56F4DCFB59128881D87C7A8866140AEF0C6C4A B253B190E048A310F524CE453EBA70D967627143843FC4D19E4E71CCFD3FA84B72C51BD211B2D6 E96951EA3AA1E9B66E55E0117A43F0DF8E5CAAFAA6BFD38C71D68AEB84BE2AA3B8C0E451405836 59703D79568B7DE8D955D1AF3146F514E5D87CCEE9F308ED802B49DAF342F8F4555309BDC09B3B 9A1D13EF3FE6DB875B775AA3A27B2C1AAF68398D1D7EC8750B7BCEC2B76F27EB16F5E496DF2A24 D14B6D6C3830616E326BD0C4500DB16474F5703C9556E760E93F7101E251D14F1E425BA8BB73BA 12F576A778BDEF7742BEB228BAEE59D42E05656281C48E982FD069917825F2A06D917C39A6E990 60B57037A8798A3C9BBF361C826F6D0E565CD4A465770908259DECA452D45922E87DBCF7CC9687 AC7A2E57B39B9C916C00EEE3422B79529847A11ED8E3EA4BD652240339959B19961077219C7D3D 7AA153CE334B9288A4CFC5BD378C8D1AB42E6DA7AFE9A3DA92832A235D615AADB414DF33A7880C 4757587CCDC298137211644466C077618B6A8B54484D62400B9CFECBEAA1ABCDB7EE78022DF46B A3BF4E36DAD7520AC16DBBD895FAA89CE06A3FC283153CC862DF5419ACBC27DF53A1C32B4B50B9 34DD753227AAD35DAC0F77855524BE8BA3C0C11511E9E85AC4DFC9F4BB97BDA77864B162DBBB36 2A9C08B76048A88E88FFD0987CD09D166954C59CCB66AC61A651E42DA851D7D7273E60FA8DC330 D11A6D8087CB2765AF085C09CE05CAE89B110C6AD2C452FD4ED326CB66A48E0F09CD6D0C5287DD DFEE9E7368BF41E1935DBA23267C999793F2EF9B8DF8260A73642F322E3BF0C79B1EB998076D09 DE104F146E6EA6EFEFD842635631AB2AE364615CD32894CADDA2E679354BB4ADEDA35763FCB18A 2FE174762D316F10790EA888CD76726DA3D13458E7A6689A149B5709B455866567712D21E5819C 5A7B8C4FD95377A28B73033E10AC486C72076A616813F056B1B39CD9279B64B9A382B506F3F252 FD0F5107B9CF36D78B5EF60DD9784CA70E0BDEEFF677F50F506EC83EF33F832344AFB67F9AB4D3 3DB24BE3D7A00B8A60EECC7EB5FC913C05F641C71542ECC9229F67809B8AA0175EF31ECDF682DA 393A9343FA19C4AAB52E8FD310F1A2EA4987EF6ECA0D6EAFA414545AF99376FB13BD744D1A2ECE 30E2DD47B5878DE5E6312EA76D699AD6C217BADCF535B46E2EB7800A84D3083A6270BB2C5A5D1C 0057B424531EB48EEB29E445B1BAB27637FD4955535F62A1ED59C807F3816D46A96AA3B0160190 5FC7F23AF175CCDBAA060ED6CC1AAE155F18C0FA0D8439BDB73C35BF41571142F8C8A696787041 99B302C49AF02C4CD929D2CA7F0403BCCB6BA8B3DD12B081A9610487436274F0AC8C21B722C539 22611009B8581352D989EE065FB2D1A8191C1B0B712C702C4FB566A19F382B4AC8E840DC2DC456 BD91F7BFE2F1EB225F6AE1562F6DE9D4D6D46BB2426126ABA9E7BBD21F158B3FA9A040A18528D5 946E6C5B4322070B392403AF18CE0DE9CA09FFCED6F66F7C646C3DF14F5121B34E41DBBA653370 5497A448C4115DF01E7DF753EF61D9B8618796AA26E0A8E783A6DF 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndProcSet %%BeginProcSet: ppcod.pfa % Generated by Fontographer 3.5 % Copyright (c) 1987 Adobe Systems Incorporated. % ADL: 712 288 0 %FontDirectory/PPCode known{/PPCode findfont dup/UniqueID known{dup %/UniqueID get 4303738 eq exch/FontType get 1 eq and}{pop false}ifelse %{save true}{false}ifelse}{false}ifelse 17 dict begin /FontInfo 13 dict dup begin /version(001.000)readonly def /Notice(Copyright (c) 1987 Adobe Systems Incorporated.)readonly def /FullName(PPCode)readonly def /FamilyName(P)readonly def /Weight(Medium)readonly def /isFixedPitch false def /ItalicAngle 0 def /UnderlinePosition -90 def /UnderlineThickness 36 def end readonly def /FontName /PPCode def /Encoding StandardEncoding def /PaintType 0 def /FontType 1 def /StrokeWidth 0 def /FontMatrix[0.001 0 0 0.001 0 0]readonly def /UniqueID 4303738 def /FontBBox{-1 -288 606 1046}readonly def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA0525392EECAC163E584A9104D99AD0BC1B1F3F7121D1D0 F2C60DD206B0D3C8C450620B47320CA0AEB8937511E456AADE8E66B301B1E3E9DFE17E2F79ECFE A709FF3DAE19B4C169DF6773EDA414D02915A6F0FAF8B24FBB0777C697BE8A37D63A390AD9DAE4 95BB7E626721FF2FD3FB147C80D22BEAC37C2624D818D58C8DF0209F5CE76ACDDE57A303D9042B F0A674D095697F925F532D1814BEA8F8A5B5223A32BC4A95402F2C843181758752FC330970E817 3977418EB4F64FD5E455C3E4165C9AB3D8504D946F6B5C3F4929D463E1D6E6B5810DAD6C7A6529 0CC6DB960A1F943400A8F6364DB3742BE96B5CB4B78CDC5634A9EB3C62FDC481C9C101E045C629 3CD9D491B77482D32797F4CC0BFF20576C2605ECADADD775B2165FEF0FFA0F4D88522D1BFBB05F BC5062AF54BB3FE2C0B371E8C7BEA0C644A32A3DAFFBC08BB63A97C18A266B310B1C1B92094348 60478D282D394123AE06D8EF457278BD26FD6EEF9B95B5CC7D31E1FE462D8A5FACAF5CE5F42B45 E1395A3DC60F37F5CC752CD81906F28D3953D61F55075081E14745FDD659B5B0A271C8A423A0F6 78B1CE24E573A24B10A5BC378A9E4410298EADD90C159525B358F72149D24291C923F2C91D77A1 32347F5F471F1139B9938E880CC5B3409B33859FE870D28B882B96D8B537BF229EDAFDE8C3F6CE 7CF51F18C5B50E315E93E4896B85D998A43D47BC2560160139FA04813B3CC5C4CAD527A8BF8A21 751D1FF032610410865DC43C499080E3162C1BF74077F8FDD45418BA7D690C23FEBE5E9DBC7DFE 0ABBA430AE206C166FDCCACEA3D4D346F919FF8293111FF626461C28A9EF2072B2957D98A12B7D 4072EA28F07755AE9D83B5D86DF4B2EC81023BDB5DE262D1AF3FD844E9496FBFCB61DA20388909 7CC13CA9BC695FF8EB10B59ADE5384D2FBE0E741F97DD10CFCF168DF343075F34F63C2582A53B9 2CEAC572EDFFEF54B2F8FF5D617ACEDDE59046C4D2D7AAE0F147D8D2FC3769AE15904DEDE6CD4E 1A944E5ABAB181450C36C74B93D8CFFEEB3B5876F9FA7B3530A0E6DF9670E2BA9CE7675F9F1346 EF3F5D38202A50A8CD6AD203250F2932EFC08C8A4F7894A4DC1C80F2B2BB2C71682D218D1481B1 18964F33B16F5BD3522D16F9F3739F063D8D05463037060433CE5F2F84231EBFD1A0524497555E 41856D173C70AE0E3DB9E1BF4C2CCB9458B0C4FF393BF62FBE4E4E78C53F67629ED378ED695916 52083BFD432D05F8FCEA0FAA5BC1B4CE9EF698EC2345871944DF7AA4C4FC3616AD44E9785E2B43 B738159C84261FFD04ABAD0F82033F1D367737F04F70CB2812630D170A08E9D6976F134838E22B 82DC60CB4B93215515DF5AE0BDD7D9F150B1364A49F886F7B196DD4A358715CAD8EC282F9062A0 6D6F2CE0BE1FB718F4F0C0242416FDA7A9CFAD1A67001DF7AB7AC3840F776A47D0519A7116374A D7620CF527DE6343948A7CE6763311FCE7F3180304C3DF53CCE7DF85E9B21A8A56ED2CB0070C85 56468DC6D6EC4758F34423F6AE9F1F973FEE394769B5ADA4A08C90AABD5D07E0F07E893580137D 09CE94A6CF3B8CD2A650A6F8C42F33A5BF02A2F04CC0DA224FEEDFA59F313E8E5BA98A2B95C59E 081047EA172DA8569345A62FC12ADE17DEE499CBE08ECD7B18A79553B3F391DD7C9699FF209B4B 8174D217DEC328C0A8939197E6C40C6153F6A49E69AD7A7333386B30303FDAD868DB58A9E5A13C AC55EB76A2D241F93234508B436D0081783E64B9431260115720ECA10156AFC676E012A737EFA5 0EDFEA396E2C125CDB78BEC266F894FE814DDFBD24F2D1DDD68A9773334FD39E7A72C023EBE0CC A6E5D6E0E3C67F3187B4FAB906302EB810BBC5ACDEBD482E00F281DAC4A87C83FDF08F2E15BD17 8A77A4792F69C23486FED2344DF26043D76F4C9BBF54B2BF425180445D9563D99DD8FEE3F8D2C1 A660AAEBA6E0ACFAB5CAFA7742ABF17244EC9BD43B74E64659D03369F252851340976AA18BEA26 2B9287566460ED054923D82797A31C3E4BD14FCDF9F30C94B50364368C1BB18A10BCF47325D833 F3DDD815725F628E9242CC62155550D54E1B698FE66DF29B79817757E02D05190CEA5B78C35D05 FF87E5B2ACA9E7E91FD5233DAA7F5378919BD11028F25439E1E35A5DDDD8CE710F4DE16C1CC0CF FB1A9BB9F2B8635609DE6479E83BEE8FAA4DE3E28932BD18E07EDC326B1428901A77A3D23E8B72 66796CDB8B5B180E779FDD9DB73AEE5F45F72FB55CEA6B9E52A2F72497A0D8C12C4E176060F398 7584E5C0A8F6B74935349C153AFC56434F27F0E248CBF9E6009900A7B23315A0D835CA08DD3A34 697F381E3DF8CE655DC3B2D383B002DEB4E87B0B7BE14130F54CC3B433CCCC9034E021709B6F7F 8C25DAAE692BCB399595DCB00978FAE3454D48EA1052369B0FBB4B340D3AC6C3279AABC6526F99 362C7693B0C0167A539CF4C8EE7C4B6FDBE6235D0669FF525E05E127A0E2FBEDAAFAA82E843EE9 0CC32A9A80ED98542E23D7819F5551D8B065628D4532081B00B728CE2C67855045475D9D1432C1 C83F12A3A628D302697B418D6699C9E4380704D05C0270A736015A59B2C4AF2EC384CF0F05496F 01C977FD39C6E778F38D5E438DB5B6B05E333AA6F4D7DEECC6CB4B098E1E5138E9829D93B21F05 FCD3B5A316BB3452C516B2B8935B1BE80E64A7A7227BE6AE842AF11BFAF372AE4E41F8D99D2810 427F709B97E3CC0DE4C8CF59A4B59582F9B9385B4F8E822107A79CA447B9F885477DC4B65B7BAC 30A40B5141A9A3FBAE99F68B27A3CECB7419103BADB770EF627B2AE0C4F6F368B1C5B9AEF0804C FECD822D6D8EDE9F42E17EE2A6D385FB06EB17C1DFFA25626E6699C4D3B791FD65F2EE5D69DFBF 4CC6E06F7F4EDE642B163699B239830DE0D120E1F496F4026A31D469E86C35B01310D9B521F5D8 614AD281F159E197F8A66C5325A2946216CCCA969C4F6D2FC05080BD50AC3D43026B89C2E640A3 5964555A073495388D487E919C7A40086217B32FE8B5215A212204D44728E1F245C913806693C1 CC8FED12BFAF14C4DE4DE0BA32D76AF52F6B316E9E64538A72BD461DD2E24158C75362031800CA 20F70387543BCFCFEEF0D1B3E7E108E106D8B172B4BC40F83AE4D58CF8CCB1230D6981AF00A712 9FA1ADDC1EEDF23A339DF93DF45A3FBD7829BD840CE86EA2CA24E020A0FDDC24664EA42BD15C32 A2CD1D7C327CF329480B7211926FDF44FF1F73FD248D980956CE170271C77DEE57164BA2FED513 5C3777E10956C9E382D02B888261BA22FBA3D5374BD2130013FF2EAFA4CE4C1235DD5128FDDAB1 63059F4A7B911B96C587526533BE7255749EFB41AD032CC00CAA20C2531E4DC09EAC48AFBE0425 431FC29CA48A3749AC9B012CBB209F77D931599EEC8645EF18793E79D35C63D4F1A7134284BE50 00DFB32EAF9021D3C8DEC2B119E376B3F2E94731B23FDBF8BF6D36AD9174F56756B90207511267 8DB30EF2F34F7921AEEB3A00B6EBE69D18F6D1D10C5B5F5CA5F37FEB97546191F17E1F897637D2 9AC366148A9D7F09B0614F630F829F155ADDA8E704EC5C49F963BAE89A9A6611177655EB85D2CA 0075DF5658FD68641AA7B31B8E1EEC8F715D6DE9D422274BCD8382082D625BC812F5DC3F86EC0A 376BB596C233F01C6F54780909671694E902CC1B96EFB0AAF2B42BC8BCA01FF6DB2348EF7DAD3E 7E9661189FC27D69122447BF81F9466A73EF04D4D4BA628B63BFB84AE88B472965ECAFDD34F7AF 8BCA51077C2CF364F152A65347488BCB948F87E99E10F430B2B0964ED6114CB69AC8186E486D37 6F57C438B8959C360FBC3550A3FC6B973B603F64D2EF99455C82E1107434A0EC3EE4E1FC1129A9 FF12A23246B410C74E13FFB07DFB6A6227A73A0B6B4518A0BA2FB6007B21AA81A7EC747C525F2A 8E6C2569A9E950E0BAA17A5C9D9A1E5155147EEA4DDE831AD8CF69C7814D76B503933D91AA93E9 A97508AAF29839E177898D79BFD277005819AD87D9338CAF02ACAC44F891F92813E7DA69C82D7B 6EA717564BCB1D470B090DDBB1EFB308613AD61F5D27338FDC8172B258009CB7A5FFB872E43C88 20FC3B8DAE2EACF870D7C5A88D4261982800AAB36E94968A4C5C24EC5B0E538170E8C6F9AD61D3 E6C713B6319E8DBE7074CC2228770AE51649228A9FC184AFC1BB7C67628FF30360459352EAD6B4 A2A69A3D39182E56CBB2864A2C1180A7C777E7269C5743D5A739B53D3A2C5BBC9ABE8337C35679 6BDA40101D11EEB43BB8EBFA73E4E7007A2EA443AFEDA678E1B14A2AA2AE6A06D12398E68D6371 A457859C0FF25A81C5DEC3AF48272CC5FAC044AF2E71D510E5BAAAC8A50542D9379880AE7C9D2D 1C822B5477DAF5150B84FB9A1A062C9AEF9C03F89E0269637F056BF65A92CEADE31F2E3D4C9589 0701A4A064605CF79E933A85185B50D14A4766563A952D5A3C99C16CE7A50BA68CED98549DD395 F6698BE4F7976AD5A00E737AA33CA51F4C7308B66B10BF636B3C4DC8866F1509B081B178059340 BD9849AB487CAA004B8E60241125457C922340B1BC817885B703914B0FC58F1391016FE1E3DA04 AB5F2056AE0DC8A681C8DE6CF5FA125D2C7F5967DE841F076AEE8791E6C17D7F698F2052A9C641 04924F9FD85BBAF77D9EE8711F147D730A6F89DB2965CB450F0820402C2E52CB57977BA0A77E0B 7682845F3E4266B77304F163AB2CFD49494917D2C5963A704CFE46C643EA7ECE441F82E272444A 8242BFA6CB813B661CC9431DA9C1E1E9C6A861C6C0EB3053D1D62CB774209A7586F9694B558DCD 625B55A0E9FBCE5C15A9A002BC9478908553E95302BAD1E4DC9C250AEF170495FC898FDEBA345B B4AF706334CEC5091F8AC4A23821D0FEDC6167A15F45633A30DDA88EC3C8C6E235A5A3C1BF1BBF 03A896CD7804C297D6BAE134DFE4E388872A05B92034AE70DD0CEBCD571655B15078A2719AB32A 528E613F2BE3D5AC5F3C938D23BA20DDFF1422560726B62BCB1B9EA09DA1A28EDB55F5CA2D4E05 50E1231157A81978E7B05FCEBC855E54A936DD4053A42ABABF820E3E4D37278909ED49E49C6213 9575862EDB983BE4EAFFA6B946CF4DE068FEB740927C19935D25DCB15E817847214774F290CF03 E862E76335CD1CE46188CA3969F0B3F9F1DE174C9E480C4782CD5DD6DA4F19B51F5F09B78CCBD3 D5AC80DE849278DD5A84BE0F9D67229113FC4BCC4829F89EF61E8EEB93D48F263098073996CE72 05435589588FBDEA91C18F8BF53C81DCD10C74A6139B5A68ECE7ACD3A485723224DF00177B1D6C 48D7D92D0A5A9E550D5E061765B49616C65305916E9C0C527F6A8EB6CE031EB88311A9686158AA B526BDC7B0ED01EF2E84E495D10A50C7BF87536C4D4BFAC22CF95C58462A7DEE8E671752E98429 8DED64452AB8463A8D4D98CB7E2121DCE680D13CD52B4CADC738692F6C5C32AB378CB2FE4FFD68 11B2F99A6D0BB9BDEBCDC827DD77603BA5814226F39DB9AA83AE2B91C0C6020E934190DC610136 AC6CFC5B6B5E86A66DA2582406364FD1AFB14360CA16EBD4FEE6DD5B5C42E7ADCDE9B54661CD25 1464D5C7F89B62C99EDAA697A96AE85C1D280BEA6F700110B2E39C0D09BD14A548D2978881EF1A 38DAFB197BD78D62A17C343873F279EA84155D79E17887C8C56B8E7DED38D064EB811A953BECB0 39C9EFA45424D6455B869EEA5A252D940CF0E43D5162EE408E75F2EF0BE2DFCEE6448DDA529BE7 57CE4DE31B80A4676D23FC0E901B89CF02AA0562BE66185F91037B1B56809FF1046A6FC39C9B9B 7EC27BA4ADF238760A575A472273BB64C5E2CB776207F00315B73534A539764009372A74CC7612 9DA6188A383967DC1165C07C7B1F93B39C6C201449106A0EA1276634A6162AAFADD21C61C1D560 1BAA67902785CB90C87B611D3A6A3B947013BAD8C60A3D4D339A3025BEC74B6DD387B7AFAB831A 87B7A71A37D251523C48642B1D479D8368EB31F8BB8355EFCCE5DDD1323FC99A56B1089B752A13 52770BC7E1821A398890B31650E8EE14B0D49BAA92458C15C2941E434787EC4BD034C40BB0E209 6CB29B175387729ABF0962EBD02424F0BB509687B03A39A3BE9658761F0703C5D839B60C4F98FE FBFBAE07202E2CA22AAEE145DDC10409010E2A59B934401EAF67B8EB499ECB92B375CFE8D54125 CB6B20C9968BAFC45D1A8BC65D98D7B702E624794EBA8C1EFC9433FF2BC3972F57D8FABF27CE44 2FA32AB83AE5DBADAE01EDD183403D272AE3FCD75BCC750C90DF7D0B5255518AAB0C92D30A0164 59D9821BD7E1D4C4F464E19B0AEB78276190D726C1D7674708D0A74CD05920C2A8FCCC8581FEB9 998D735D811623780F129F0AAAF113F75EB28F383C9B8C0C7A2221C3A4BF641961F38DE9DABD33 A803E9436E5B9842503581B3F5445AFA039CB10C936C8B0C08DD49BEAE1190AD611F3F23FA77BD 71A80A1F91B7F3760F5FA35BCD76D8030FAC872C637217B07CAA452C72DE3F805F58820BF1ECCE 231229FC5B68E5F1B20259DC92AF481FDA92D07F276077D783AA45349915B5F81C8C969739DB56 F4522D02D547DC76240D69CCF2D684242020DE60ECA37D7E2846C5045F6B2D105B7D5A3CA5DE6E 73A56715D5DE5F3EEE3559E657A5EA13C9716E3A7AC0DE25E1720D52ECE8A84D5D1AEA04DF0F7D D846549BAEB5C5032CF3C251A5A63A99DF1A33D0548A72735FD9DA8267BB4B57A5C58D4457BB12 42B5152703E62B64C02AFA682C65C4112B2838D9BD8CEC6BD9D1BEA882E5090046E9F22087E6CA B69F5325F0C69A4874EE820D18B64DCCAADE6EDBA3AC758E54A7C9B6EDBC40550DBD4758017842 1A8C5B6967D858DB9836184459E26340BCCA7636A84B7B3CC9596A907528455F4646B5BD789E94 9DD0D1F40C0AF21E3971996FAAFFBCC14E19030924D0D38A948EA552971BA65045F2817564D593 4C2990C6CCDE26329F23D8B369F3AAF74A125CA1FD552BC7122D21109FFB36CFE387F22CD09CD3 CCD47EFDF7F671397CDFCB3F457B2E6FD2E2273AA268C4C394B36145131EF2D4D10729F64ABDC5 EBC7B20BD072EC170432982280341735297A7CDDCBDEF8483F34AF7A797160402B10CCA1C78AE3 9AB6170CF6DDA19EF0F22BEB283277E06544881B6B0D525936A84EE91FE0BA8C2985B6E32AF94E DF33E6CC70408F3BC67070A90E0641BC68B8CE8FDB46BDE2FE80BD7070F0A9505B0959B1509E84 CC666CA7CE4EEB631B6E8D19816611B5ACE957E104CCF3439C2C27741CECA6F2956B0C5E0BD7C2 B417C375B630D4CAEF428A88584A3D1962330A316B9058BB1324FCD908781ADB47B39425A9FEF7 6ADAF499775F68F98F65EAF80BBC9D4015D05E816D2EF9A1FA91B01E05B69B9E1BF75130B4C7D9 AB29D95C07A4C3F2DE00C7C2108F7BDD2F103D8A7BE02AFD12D1ED26A01AEF6B18CD6336765899 805618E0405C18CE7F06EFD796EC9532ECAF6966F76EE335419454FF647FF14162CFE1ACEADC15 A22FD4E6DC78A93D51A6076553C2D707399D27E5AF882813BD3248B9110ABA3CDE8D3E6BCD23F1 DA141BE6D45A9E6E36FAE1DB0C0819270676536536EA13DA4F07D5BB6277F7E4C609E4E16E2EAC 8806F28F4191E71096E2495E64DB238E20E0D1301B3F34D9FB4E6E6106C03B6240E10C0FD01B6C 352E9BB9300C246D0C020F2B418D76A0456784E58A75AA5C725E5F9269392A90D185DBDB5CE2FE AE31ECDB3B63843AB2958241BBFEC3C04CE0AA147C504A45DBE05503DD493A03857BCD7E4B37AB E8572892AFF4E271F510C7E0649C58B3E3CF75B8C3BC08EB34AB5F765813E99F99ADE259C45327 2672F9DC25F031797C4269E8CAECBC3E92D1A59FD1285B46500F9A2D679EBECE480945D79A50B9 D5D1AE90727DDFD6F8C5EB03B2EA70C169828FC755BC4193CD027EB52EA2DC7AF09C0865695106 5BD78AF57C289697655A3432A457792BBC88949C40F4BDC071793853F9E8777839C7D7F93639CF 42F1E4520FCBCAEBC3BCC53C83334033C25E50C72A3BE0F337CD14996326C169B3921E3442CCDE 1A444C94AC8D2ECE632908AED4A162A74021555CA73B235715B965CC867727E48C3B6B39B989E5 33B92BAE40A0FADFC8BCE85D2A7EB6A1C4CEE21472345421F9B80C5EE641C91295448A51306CAA 41916DE9DB4A78C7381067314A8B39B13F54022882286724BCA2C10687988E4C4DDBEF5E2D36F4 36C9F6495E0D40AB6F35E7D0D5CB8C2A753B4C355D0CDADF49FBEEBA5239A90A56D826A9BE12BC 62677F07CB1CA5AD3A8A39E10577E5FD95E82F2EECB4D4F7B55DFF835663822851B7B66FB4CA4C 758763437BD7FFA955914B267C18A55D7C913C4B8BBACE885F5806BA7265167003198F3C3236CC 982EBA78D01F4270AF563611B84C839F9F414A0FDB4CE0E3AC0A6629378741B5993B40CA190243 C30C55759CD545B2843404994D02ED271D807B212D4D39067624C5685D04935F7C936EDC0D6F9D DA112228AF05097780EF6B3F7E3765B7D3B9D9B292400D7E931CF98B84E5AE51D6FD741E6F8401 D026309DFA92510CD2254EB234E6B2A04AECDF39C03227D07096C4BEA57866D91099E8CF5F0E19 A587A498D6BB3B492EDCE600E463A0B6CEDD0C33C270F99FF12906EED6625C61442D7AE3A8060D 85121920E6B940EB9E55037F40D977C675DF6E825CE46FD9A1A3938D9A1476C0E0A575270004D0 B56126C50A62FC211DE28D34C404BE017A823352676609A5000182EFC3DDA67D03A12CBB25C99A 6182C6D3D92CBBB2F3B2D3F3B7FC90DF0C60144A233E71ED22D4113EFD9542081802AA7A678C9A F6811790ACB3654DFDF82714598756E365182A7BDEE311B7468FE07C2F9B829B65F287D55440FE 32240CCE521E38D71999A84ABD6F6C1FAC23945BDE97D1B2EE8234A2A12F4F61AA9316C7949D74 660C459E2AF21699FD334FB41D5A2CB869A45551BE062EF3363808ACA5B861C5CC05A0F74DC620 B762CF1260100F7AF497555E3A387DA9B836F2B1FA44654CD5B9C3C6F11D5B5552E2D824B7B1ED 9E2597B1849DFAC61041287E996855B0ECFD21EEF4A0AEDB4928569D34613C74B46D7F46B55ED7 5532217BC77B1E075A4B5F782D2FE5748F12B50F7146AEF506A41A6A3364854D8AE4CA18448626 6368E181874148970B89AF75967E61EA7212081F85AB17DFDEDC6F0FAF7F415B3CCDE75688E85C 1DC939D767755DCBA622BDB3631E120BEFBA3733F8BDB0A9D4DF8737240385A6ED642A3B6BFCE2 D3B06B16F994CE49BDDF355A5E8F28C4DCB6AFAF6354A97D490B54B8BFB9EE2CBF5AAE669E3149 4461E70A60156764F25520EA13F12623F3280343822876660A7F6603B59AC39D425B38217AB4BD E12120EA6119F32E080CDE4AE8DFA21E23DBFAB037421B20C3A51F4AE2FB5DF4585ED289147427 683F43ECC822E0688E6AB47619038D4B9404CBBD9324BF32773E8C95F9CDB0CD68748DF066970C AD2BF8E4424940CF6C6E41DF2BA07DF4085A0E6DA6080FD43FFEA0A71AA7D00169D8283C910BC6 F00646DC8FA6522C85BF46A863836F64CE73A6FBC0538E30BE63930B0EC1E4AC40A1220A99640C 39F811C42AB78325AF974A27A0C2A1A2785A36EC316048E56867A1F85F78B36171F126B77C114C B7A8E05AD92DC6860D5893964E898998C63836CB5CACE1EEA1C9C837A1E22AFDC4B35E149FB0E1 BF248A25847604DD6961DF3AECD1A9F61C36E3E1E4AE1B9F28FAF351FDA113664BBFECE0B7C5E2 3183F8425BE6906A56398E33913033E51E06408E001D9C862E36A93039AF47F5F301B6B5F3775B 4B2D4258B866559001066C6EFC48C55F4C3F0CDDD8EF525EDFAD6FC06213819A9BAE2E5577D404 6E4656BA2F34227C5E37F0D77E964779AFDBC6840616CF02936F281FD353F2A5D8E7814AC6B28A 71BB57253F852810B7DDD5590A522C50B56BE251DC7641E0D1E271F8C4CCEBAB65B6E70F86A7C8 32D55AA3E61DCAE504EC4ACDA7C274AFE9BC7E75610C861ACDDFA5DDC4E8EBCA24A771BF0CA3A9 8B88A6ECE52EFA7C8D55CF0EE850A99C9239A4466B558B6D020FBEA8D22BC6AAE4292B90C9A983 6F7F4C5A588E6CC3DA3313F5FEBD4E5D2F7E454EBCC9939742C67E7C01E510D507EC30C6E6D340 510EFF3493B2209A7AC43B484921872315657D3BAF59CAE38DEA48F394E4DF3A8C930C61C54610 300D66A423A4CE2392A7A422883EDF08766119C2D7B7C7384821BD6FCD1B77B1BEC14DB15F1087 E89ADF4672311FF368EAB60CBB6ECEAD34A7507A781B1DAD557ED19C7A5B5E334851268DC21824 53CFB7EF47D15BACA68453301E95125A5CD35FDFF1E6EDB85AE7C228180424A2842ED475B31AF6 240A480B6F6D7D3652808F8872F859843843D862E81E3594AC3AF577E79F647322392E4E63CC08 937C2976FF749E16C58DA39B9035D802D0F0A9D1DDAC1894FA71BA3E41849C133445191D41D25C B37A8337C876A5973EA13567389FF89C668E0D13E225964DDDC3DBC949B46E0E75A2BABB6E2AF4 53F65ACDCD45A394BF20630802BD9B9418459BC7736E37244F9215F2D6F534FEEBB1F841962737 D48DA7D6B30A71BC4173B6E00ADB4EFBA91CE6332CC517B39701E07670D3D1A9A86A7102E6A80D C1EC6CD644F5511D0938DA096F80B49CA3444C0D96DD79D3F8832D0410F0430128C6056DD09F34 4CD7E8D743789BF3AEDB8181DEB1A211AA5320FCF790489732CE6A982B1403CC9E2AE6BB9AB5C6 863C320929B3861AC1011FA62C44CA18B10CDD9DEDCEB73E9145B73C471C6F828DD188804F96EF DC3D226A2A5D7155F7F8BE7821DD39EF450B5DFB14DB6C4F568CADCFED8C702675BA1C04CE6D62 839727FE6F8AEF59693BA38A2B900D0D02C56D2C632833D2D360ADE07ADCD4CBB620517D7D0B28 E3462E6EE2D30856BDA53DF4D97FAB059B0657E815921ACB16E1AB6CC72FBAFB9290A1ED432A32 CEF7D8CA1938582785D12C9D9B108DC564A9F80B8C75B5B02A1E1C9C5B793526CBBAB9042F479D AB1D9EE9C18184692C81AFE2CDEF26CA418800474E6B742BB45CF02ABCD86C52BE10C777DFF981 464D624A7B6E455F6F8D5B7F84FABE288DE3FC4CE4A23766F3D771463AB1E555F2E1ECB61B6A2C 987B43C53B636DD466B57EFAD09811C728ED313B950789B262A17EA932A745EF43A8EFDA16D05E 9BE49D3B05D7EE630434645AD245BBB5600B8AACE3241F3706A3D5B9EFF0A793C56A8650EC4CC2 55E4A001356BF728103F59890540DB9B3F2CACF788495F63BAF1D36B4FE10B86287F213695E48D 5BE20EE7025222C8AEE4F5A17D7633232460621F7F395A225D994AFF8D06C8351FC83F0C7FBFEE 32352C1A3E35651D219713019CBFF78EBC3B14C5C3E25695BC44582008FC053F6E7FA8359E8554 A7C4EA90632259302ECFB9B5F1F9721A37EDE9B6ACE78BD7C68C73A960346D608CFF7152681EDA 81656541AD4EF64B4B88FBE98106AFF6F2051A871F7AAC5337A8AA2A16F59B10447EADD084FB03 C36E5F0A4781E4D83402944714F176FC9420E21EF3A28FE65CC9CACAE128401BAB4E3322D6301A 18FEC595C05BBF5C44C65D027FC3698F66A07A567937123D59F16B9290B70B838FBD4C6D12C460 69309881DDE50DE0224F10231A0FBBC19F57E7B6B288622F40676D53F4DAE27C6E30DD31759A32 EC0315875DB779486C9B4F7336516C52C537F6F25950DC671AF3C749E2357A48E99D032DAC9F90 25B162D672A01908842B28C2A9E8FB13BC5411CB1375A3B25871E7737C2B1FEE4D43949DB1567D E2AAE44C1505871690062358088294E4929D552847A6A94A075B7D0B89D7DBA645D26B86F7F7F6 40D7AE4B47956DD5AA054DE194A5756B95122F182D1D02504BEDBEE0ACEDAFCA0DAD84092582FA 0603F025240375B11E8C252A5417FA1AA4C96DD1C4A369C2E594B2089A3EFB9D936224DE25A421 588718E6177C8E320679EA1C639ABD3E4BB653DC17AEE5264E991BFF63769A7C07EEF6B0E6C1A7 371B889B8BDD14DA43EEB252FCD82555752C25DDE92DEA11E3100C8BBB0E2D8D38C29E7ED42338 9811C21E4BD162FD75AB1A0E5A579352CFDE9CC8FCD3A4CC2B5C4D84CB5A6E2E52A52A3D8EF445 37C6F812694DA5119CE9B78A2C5F12454B1BA8AD6BE5D2088906C3A11A4CA80B2120434E92B526 173D07C530EAFF61A2712F7BCE3618197B8B6175CEAE93186B7308CAA90BD20054D9F48D13B40F 2CB81A08D202195F3B03EB7E14A17F5415E44C981D47E4CEBD46FC2CE82B3D0F4EBD242985AE51 0BB6F3C1A702E86ECD278CA322575D75ECD86898F013499D0A7FC1FC127A6A69463BC44097D47E 8ABC50ED36E4EFECB6E5553C35CB6CF6BB4779CF22F5F6970F15F54159FE5BAD7D57B5DD5B5BA2 B2E25069EE77B06977BEFF18D21594E6DDDE2D44C7DF12A80121FB9A23BFA16F4A7EC7AC2B2AA6 DBC7515E18CE39BABC04ACB1CB8C0A01A3AF169181C47AACAA0F0D803EE4C40FF0C0FA10963102 330F0BA056DEEA02A240568D8DFC3F01DBC42DA2AAD17CC9A5F1DF12DA33BF5CAF8B22BD521DE2 EA2B831135417E80412B244644B0E6DA40DD3E5C2A283A75950F686167719EA69AE1DBB00D7356 FAF3310D24066D4941EF70686DC859CD533BEAFE9D5BB4E470F38B09104FD6B63A1BC61CFB27B6 710EF092DEAC78313249BF66608DB507F08D8B9CB55BBEE1CAF79C83D616648163D56DF637E506 D06CB45CB70CDAB90CD87FED934E0AEADC8C56B70C687B44C30B84376A02C04870E0690F7F43C9 6536324092C7F4CF7B64990EA4C5DB456FDD7346FCF55121A5265A4B3169FD5D8ADC14A175F75E F8E86DAF70FC4F1E7A03181ADC6F0F9CDE42DD2B4A853E81E9A40E17AE8B0B95FC60E635C7B460 477B582E7F45B00D78A4703414A5AB2A33456DAB7247513CACC1370A02D3E0B1BBDF5991385FA2 9E03F7CA21DC18DAF612FCAFA8E35DB3663850181E046954938715B24C4F3F569442B5814F22BE 89C60D912408D5051FAB8C57722FF6942D045A2D62B2A696867DEF3915EE1973561E8ED1654B49 3E99B2775605066B36BD156A1347E06B30DB129214BEBFEED880C0B58290C5F6295D243EC46C6E 122F6E2EEF4C7DB5AD9EFA493CFB01173C8C92A76A5F900DF0203032C490208EE5E8C0088704A6 BC1D69B4CD2FE122FD8DE579801B110C76FD8FAC88C24558B127BB90743DDE71FDE97B1DAC7B96 4C4E5DD8EAD9F0E99D451ED92B4DDDF8B76643727F8D011F3E527A16A703CD8A597F18685AE00C D44944A77B69D092B3A61EC940DD8F64C1850AF7C8D17B690239707000BA1A0C0C1D23648838A2 1C0BFF9240EBA6DB5832214ACC8CF022BAD305F6594A9C5B7FBFC3881958A170B0267870E4B831 F68951BB9952F79107BCDF24BA4B41EE2FC31C07E4A4A7340B36B1CD121789D633AA958563B80F A6CB56F11EAC5B468839E95666A96B7DF9D3EB16F56D69BD3DD6DC6D34458B3D56D55EE9BB2E52 EB357887DB2B8C12D064EF31E2B53EC48A4964FEF00DDF0CB26E6B2FFA5F5866649BC3415C0E65 10C09814158C8B391B74A3D7A07EF7385193BCBAAF26ED086191FFB8328BF3511B4CD54C636877 A916866174DF0260801639B3024B9C965116B2A68DEC8E171A620AB471F673391A31B081665F27 826E9AC2A33DCB0565134E407C618715E146CECFD58EAF40D1575A805DF12B71AC3D3BBA4913CA D84185BB7FDB6A2EDC904EC0FE8D95255FC50174A506DF939FC0FE8C6DD4D27566C32569EA2339 583D4FAA82E00FF9DB8D3235D00AC3C1AC58306D2E02D65D54DEE6DF6ECF33726E2444F60DBFA3 DFF4F6FD4AE88376B507E721C9E9FE030D77B95AB29C6DB703FA45515A424B212ACF9D658D848D 120883DEEE78345A35679BF82D7C26297259D8697A0C221E26C6EABF3A727D951221CEE74DFDF1 5A33360DEA36DD0063515B5DD17C204E0F4D4935FD0BBEE775DBFFAE232AA018A04A5E59EC63DD DD0B8B11450FFF9DA0D4894778877E0C63C82489D3F7CF67B61EE08A61130FB77E15B50B7E87A4 2F6F837D50FA3665528DF916B187B11955B0424A7603F1F6DC1E2BF41EAC6E98E9F0F5F44580A0 AB8C649EDD4F960F4759CBC2995DB0C0E07A8F773EF9F58EA54429779B7D085FB46A519CA89BCB 0340AF843ECB37A8208B7736AC27481172728C360DB17CFE81E3635794CA918C2BBD6654D2D4B7 4006053EE17D1DD7EFB8EA882CD055BB5FC9BAAAEE63089A6F20BF88ED9EA643AC27DCE9BC1F1A B9F15B40172C7E4C0602D13D13216CF0F2D57E51B751AFCF8160835FD4E3D21A58898401425961 69271E2DC95D72E6F075F413C96DB7DD17B3FF2608809D0877E212A7D1D17E74CB4FF48B65645C B8126D05AEBBF1A6EDC704787CCF57F9B7CACD75F748A5A6A1C4EC863CEEB2BB1D9A4A207B4E0B 901060D0E3A9879970AE98464D8D67F9B4D7C6E582F030B8D8D62E15FDDBBA25CCA8A9EFBC02EF C304CAEE902670819463DCB0414B3D185AA6DD370B81CA9145C75AD4F7A47411F2BD0CA1507488 117868458C0802010078CB4EC2BE0308C9DC22AEF5B2E9294EC00BB5568916164DA18CE69D170F A3641D29D0DFD08B5AF6E1F1951CD9257C0699B3FC1B6CC19422F433CEBCC7CC1E0D30CCA1C6F2 D3FFB1384F5A1D32681A5DDF49933629F7B044E45DD748DE8509257E688F1CB637FB766269CBFE E206B2C1560CC3A84470CDCE8FA0C74274DF5094D413D5A51D1ABDFAA66D9C9DD627D72C29A9D2 B0A3552789774110481FF3F7E0CB583C7AC5634F0922C53FD81601497E96B81008D9C5B49F4ED4 01FC2CDC9744C2E31941BB1DA34F6F6CB63DC2C23A4BE17D3D13D413188A2AF77143021D376E61 7EB1B2D30CF5A1C2C76EEDEBEB710C0C4158958C3D2BA289895F79E3DD45B030D90B12640961B5 030D1FFC621B54A8693493B5FBDD1905132ED26F9799370A67B0D90F7F9DFB080E141F643936CF DA810EE85201704A15B92C4419D65C0BD1ADAC4F157958D52B528A84BCC69F57A25123A04D2202 319067B8B8E80FEA80DDBA9FC075AEDC480E8209111F9444742A8707F576A7C7A1DDB894A33813 C2D6FFA7B08E2DDC1309EE20B1D80BC387F9DF1BB786BF6E82640D775F084ABCB86C07DF15413A 0475F26FF62960ADD1B94F20FFB2A908AAE2C79AC4EC3899425855D80262B2758E76A4488D3A47 0058CE7BBBE7C991183499EBD2C550C2918EDAB5BD9D43273C44DD192024F73468BA0EAD2825D4 99EFF4A9B1C2FC64AE2222A17116C1F8CD61622B08BD573036C48956C3513A6A3B9F066915378C 2A41B3163689952847ADB7F624303785E9F61ADD7C2E647D2A171A5A0471E76C9C6DE4909B015E 3BDFC9836DB884492F5C9CD77F5E29DBBC80F5B836684E82900FACC7A2CC1D20E6FEE60BEEAE93 DB98DE238B66D13BDC858590654F960FD6AAA779F00DB7736C7F18808FFC167AE32421FB975E94 7FC49A2320DDCC4B6841F54EA228A58383D420A25C21E85C99664C8BB20AAC66390BA46B49BA7C 6834E8F18CB31FDB92FCACF11FF1A9C53F06D6992B06BF0C01DA2082E6EA705224841A7C6AD02B 015C2AAD19C8BBF1AE2506B08D57CFBC0B291402BDA5C95693AD65902F96B910D465CB935CCAFA D731C9F30B40EC59AF12446C1800C80AC60F4D4CE68B8044B5725727B3089ABBC6E9631A4BA5F6 589891A2085C74E31A4A2C4F057380016F5083AFAB6D089E4EDA177045BFDF1682E848BEEF2D1A FD4F8F9DF6831FCA22CD7C4A351CFE770635DA22FD11B3326FF9AA79DE76EAFE99B699FF1C73C7 12EBFFC1D84B0142914E1DFE990605E73CEE7D0E88B0498604C17966FF23C922FE70C522036200 F5BEA081CDF8BCA8559CB22F108DB527AB6ABAE1B452967E50F712CCCBD11250C55825741F4767 043411EF4D02A1B26E633CBB09E0DC3E68FEA33A257C26BC022769F71F2667776A57887DDC05B0 69C1424F908D8AF85968055739D0E766DA997B2E5C53B9022CFF01B004EB0FDD59BD59A030E6C8 291EE9D771DABBD55EF78B6F2C46B77A7DAF429037B45535865C7F2147D604491D39647E4FCCA1 B5668B1006B0C8F6214D7E5EB5519BE843927C3BE4C3C236F102A1A1EE8B82E5DF34BC8FFDACDB 79B2DB91A52FEE4892F7F2452B903DD6361ECBAB07138F356959B832819C88ABE9A6B999BADA2E 1A3C32B04F731E75C727472E231B1BD79E040BDB72175327250905570FCD9D9D71D627D7914AD4 FA536AA6461D5F512E2E1EB7475AF6A83C10930568DF48BF2794490B1FD7269473E8E56DB81219 5127ED78E500ABCA9D2603EB463248B1B3F6EE7E0C870083849AC7D83B848E819175C4075BDF51 40901761E951EAD19DBE2AB491AD9EB5D124A20CBABBECF05FAC7AD608A1ACBCE7FD1C8848E614 FC989A31D0010EC3A11CD6797EEE941D0546E0A594AAD95738EA0BD0BD7F55CDC0BF8DA082C0E8 CEF349971D13CCE9246B74B6C552479B1E51C7B309AC025897E910B00746C1307BE2C531217E0E 76CE8A47072D08CDA116B65E7568154BBD2D67F5723C187FD46E541977ABBA662BB08079D93BED 78E924C2482B39861FBE1AD338DDF1364736B6030DB2FFF1E8965DD7631276D516A96DDFFC89DD 2D3480422AFB31E9AB81EF1557AC5C723051096C41EA7D40BC7A1A2902E782DF8872DE2F27CC30 0C645D4EF886716F2999815C1AF6372C359BF84C209C42B939185C6CBE14510B9DC029970BFDAD BFC7E2F4FB0F5060D69CFB0FF71026949BCC15FC179A4DC9BCA64CC4407B694EDBC54720323E4A 271AD388529B07CF23B21886DE7D4CE721BDD11C18C8CD3D1D5261954840E2DEF872F0C711CBAE 5155957BD2E9C4F927B7E8FC19B04608FD411C1301F46092A62F3F0A525436D9918AD9C47A7671 F40AA31896C6DE827DC12FB7E7C7B5A9EAF931BEBF1A4AA4F28F9287C16AB78085A44C56338863 92A9360C188383E33FF598CBCE34703AA4DB85B61B4B79D5387D5576128B22947976617B66FA9E C3D80E8A0EFE2570FB460060BDFBFD81FFA8A8986F56D26652AB29AD6EB2A4881FC48B023122C9 22DAFA65337110C76490CE3F41BA4AA05F63C6FCB31AA5C399ED01FFF3948AB690BF01A3A1981C B120DD5BD1C45D2C57297689AEE480685BF23FEDBF665178A1BB54F9A5DA23F72314EC9FD0C697 7CC96078461E48625C87A29D0D144E27A1D4D76E18024D0F6E90DBCEC4A13B7DB75A8E95E715DF 3D73007071FB30FEE9F552D968BEA9B8FB822CCD6DD3383CA9A1E6FE8088C0DCEA9A5D38C0418E 8868115A2BFE6D055580AFEFDF70D512C8488C3C1389F26ADFC767330451F77D20627F9563E919 E5182ED2C8E07DA540EE2C6925D1E5C6AE5D10FAA84DFFE90AD8B882FDD431DDFE36B513614543 18FB47C39FACA4D661785920A8BBEBBD72DBBCAAC1B66C944AEDA018BFF8F15CD5917BE4A1C799 D7F96C69B5B79F11AA36ACFB9A39639D7506E18800A8612D1D2C918F3CD4B977C1FCF1771918CA 7CE4E550A24DC0F9A45971B27AF2D68A8641A4A209B4FD72857710BE6066B5DAB23146AC868043 A04E8152C51CB0FF7DFE41576CFB42998E63F793A33F1B61280BB61597C0E3B176DED299919E72 F6F3FA4C138D20E40B91988EF9DFAF307064C9C307C9F4F2E9AA4D52154E7BDD6196987C6F6E88 0543802347427FAD9EAF1C879928A5404DF240E865383DC007581DC29B28FC18F1E6BA840CB19F E639C67070A110B07DB6519A5A0729A7DE82A3CDDB03765E1A7C817EC62225A7D2850101E07D22 9C7CBCE0B46A2B335CA90372DADCEE984BD75B0CEF13F1CF7237E15925C7B54B261236E2620874 ACEFB5978C00E066A03A57816A73D8F559FBE006A944E0F026D8CCF319866693B4A62FF4810A2F D29AC35F429BA0438A7472DA76510937F799B42D962F3F196E15B2335996A92304C4BDDF7127EA 2F09FB7C779525029B0EC86F86C7E415B81D5042714FDFBD2457FDBD5AC6C1D4382D593586E2E2 AE9660529DD0FF72D2C77A9E4B76689F8EE5C9BA72D300271B8CB2BBB36F10F57309344C3114D2 31762FC68BAA5C482B338F847E4EF63F50A9A71BBDD8214C67A9FDCD1CDE72CF070376D80B0BFC BEFBA9C930942D35E84CA28EA2857ADBA216D89775E45FFB47AC29B41138CA03BD79122A78B991 431714404223B0D01EE8F13800C8346AFFFD8631D4CB1A6AF4653A68819FC2545591D8CBA85E3E 620C816F89B8AA543923139859E0DCF0830C02BEA236E6AC40069CD4BCCED8885CDA68DBDB9071 CE61C61718FE318090B0C2D6CD1058CF9F9A06B81D114215F15D3411327BD48AA846F18E33D9AD 1425CA8487AFB33BF900B4AB8D9DAE545A4EF203F4844F7001C04EB3E5BBF668827A2D12BE4209 31CDE4E81A3AE0501EE4E8E7DA116DB6441152FF89F045150D3EE7929D88E345102EA7F20E714A 0405B415972B1650D5C9202066C813703D202469FD0ED3483875D2CD955E75A892991E446F1418 5558431A076FF440F40CB59D0A9EE40687AEE1CC7336B9D7B9ABF172E4DC863F1591D4D24290AA 8580AF3A3ED5B7E79D8FF6DAB6811B1027FDA887469877304EF1801E8186AF988D0CB892EFF7F0 6A548FF6D5A5A382FFC1A338CFD62DEC1F389A01E26D0F0526AB2B15A7252F1EB03C188D0FE73B 6F4524B4F437840704040AAEA38154526039EFDB651313EFEF1682FD844D6B8126844FD6A19587 A134552833F7AA7E3681EEFFC2589677A4363E8E95469F3C6656E77CF69572D3408E9B6D8436F3 CDB926A3A57EA54276050C4B3CD8964678667AC0785C9E900991117627D435FF038F799DE089E6 DF28E2A40980D7F7256FAA2928EBA12A8D6FDD80551B0CF3AA442D840A11C951B444E519C19F2F D0F1DE472FAC0E2EA0BA899A3E70313D28B48A6AC362F9C7EA5D5ACF5D04376DE6C88436B760FE 8BF694ECDD6C366AC31D34469000FBF31BAE9C14FB2030F15A2965B917021780EC469F00B0828B E2FB98E545B2E430921B855036CCFEC6EC9B4FF0EBB69A91495383154AB84F331A3213BDD95158 20BEDEFF4975E076AA8BD9A4899B5BE7ADB271C17823B18488D7B387B1AFC7106C87D219DDF96A E866F1B06760765BB2AFDDD952FE0BCDBB6318345F8DAD1A782AA536F7148ADC2D3BF5EF6C6A62 9DAC5A49BF18F9F21E9AD7DEBD237C229286FE2370560139569338D455D8D3A913D329E8072E63 A07660176FBEFEB9D88FC1C2D9D76C51CD30781E4EE59F8BF4F436D9AA13A39CED387CB57324D7 26ABDAEB30DB1B1E14769F5F4DC72ADC8BD757906FC443BF6DFDDDF2CDA866402363DFD9BE8B88 A68DA3D0E0B3BAA404A97F551A0B6C90D349FB9F17DE955FF5FCF807C3889FE10DCA11AC73E855 B7D92A26E64BE1971AB93582F7F53F1C7B1FE401D7F0EB0EB121266CFF5E23B3332D8B4102A4CE F30634C7107FF9780A8BFEFEB13FE5EA78D8E5C9E2E88E22353D24FC45889CA12FFA14D370900F 257B14E761D49C74FC19B97412120E4BE4EAD094398E92BF1DEF4D34E1DC258A85BC623547B871 04FBB02F402204024A66BF66EDA4DB5F667FDFD7C0CB6FFD799288DB110EA1FE7D7C3CF3A130B4 29D2450D87507E68C68F2F130A3414B4478AFB1ED6BD55AF66EC53E627B0F27649D5C5AA59A791 92DE139AAC89A378F0DA22A328BAED591D66035B958B33971B67D736B119732A5244562CE932AD 36ED9C9BF9A0756DD63E909527114D58061879508B9C043A7018AC3F1BCFD070C7C6DB879CBC5F 305BCB24C16F43D8E9B77B5D2A0D3737536E645049A64ED555C99909AF80F60B2F2307EC58EF91 479E1C447A57EFA5AD0652F78F952E6508A768A88F8DDEC8549865B9266B54D03AFB1929F71DD5 177D05DBDB4553A8C3EBA11F284D9F6C8A235372F75C9C06A1359733978AE5F9653F015741E648 26EB92F4AE59D11405A59954475D559ACB8D098CD4C026A95D678AFD85A9F2031F6D242A285486 1385CD2BED55B6E54261AD3A95C6AB4626FBC5D6C4F6A60992976D406FEECDB792211CA133C433 28F8D43FAFAB9A4489DD1E1E8884B4BA0B258660FB8B8BEA218DE0A7D9E5DCEAE8BA1FFA236268 7AE463303E16C6DBAD3E2FBDC0C904B83DBA9134B3C72EC1FCF6855C08E973E00BA8D37E864EF2 0B6748A6625C854116C3E32D5B24F584963D5B492F6666A284D16A2F3E32E5D7792DCC1E5605B4 CDBE4E0D62DFE84B351B24A509A5DC9D1C2132B81C682096DF4ED7CE6A3D6DC517C6FEE8103DA7 3B5D841D2B4BBAADCD7D1316EAC6809F76B99FE16EA92272782AE3930F1A0052078D98AA17367E 7041C383C730EE085D6089164AADC4637D3CC6A61F292E581DB0D37B7D1214A8F12852FFB636D7 2F2FD9E6AB2AE1F967E2A750AC0AD364E64207669A2BAEBD191E494D1B087448F6DBD8B2293A27 C115E34DEEF3DF79AE1AB33201E0AD653ACA72CC06AD15575314DE4B76009F761B8A1C6788A672 2D20DE46026772117F42171B5D09E5414A54EA45D760DD3FD47FB5458A78E5FFC83B59AEE4F8C2 4106E0D76B719F7C1295DCBC71AD46DEF7E2472BE922047D8B633D386102BCBA4964A90A5247C0 D24CCA298D38A3C513D260EE4821B58391984253385BC61429658E328D86DC61B5FE047705C8DE C93170F92376BB4CE94B4C92B8CE638FEC140832DFD8583430EE39137342CA0F529737A8F9E184 264AE2A1E172377E931C6A8C0141D36F6446011A9715D4B6BBE1DDCA53E3AC72A71F60ED86EC6C FDA227E05534991E76E9AA48522EA4261F4A5670276C8048A4AB9500719D92F04080D318B156FF FC216BC1BE00C8E3160752BF5B029BAA85780C51C4CA162C7840E74507D433CC9D71C62B4CAE14 A3AB4ADB2729C7538B2ECBEC4E69A1F77903BBC68CFED0BE0DEE9C690E7CE74B5BB9C27A5F115D B17015C39A8E60435E00056879745A41552F95F7A540D535A02F29061AE5D30DDEB8D30D9FC2BE B04CD49DFD2363C4C7FE8384E90F98BA8C26381D9D3428029CBB9933AB471CEF18F3F8EE585309 29731EB100908BBC1F074F399AA39CCF5D12DA38CA38F464C958887C155A4A77A002F91090DDA2 00B815AD1E02C03F44844628BD703E2E0D6AB53C819373A94ADFFFA6579160E69AD0F1EC130930 22F0B4D2F710CFB0F734B01F625E407F9F7E0F143131C1713D770144664EA989BE0B9ECC3B9FB1 45C1043F02B481D8CABCF21DC134553FC4C1D4353E7180EA4CB1FCEABEF74D6FE5BBEAC7F30B08 1D88EB0A0626622A557DF6E860E54537A8FE0D2ED0B974B994406AE52D47E94FB8E29EF6B02DD9 4A37DC770DA855A59B74BAAE1685BA3EAE24FEF55B06A6036A3D4F5109F1ED4B59AA6218629C1F 455145479611A2B9FA83A7AB1C8A80C5BAEDE37E7BE195C68E36FD18E20BEC787BB13B8E1C9806 747D85C64A42181637E86CA28FF135CED22E4D4535CDE74E2AD4CA93F9A30E7940F28DB59AC1A4 1F8CA12CB965E0BB5C45A5F1D0A5DBCDA210433733384A75CBA8EB93BCFF05AEE3444587FF31CF 6495FF8CAB4CECA16FEB0C81EB48571D30040A90CC422043B8EA732A4DAFE4E552374153124B4E B3D35C56EE5B4A146111BBC6D9630DB2C9E04D26EBDADB46139C259319C7C9A750FF2945134676 87DE68BAB7BA6DECA22FCAF2E5F20867A9C17AB3E3DCAC03A8DB896D2C0243E95652529875518C CE050A49DE34F59F3A3422C3C6E4A57FB343A0458858C6B676F920857EABD9941924C5710C6768 C5A0081FB8F47E9BC9ECB701BF097F033C4AAC3E18B02EF9222867D25FDA8FD291F930D163F344 5EE38B44FADC0E830F93560E1BA52EB9CE9B375E9F0DFD60627BFC8368BC0B7C4C443D8D91907E 9FDCD0666EE6A9D9642809314652EFD4E5769A164B50DFF8486F208903CE4F5176C86C3642DB60 AC3FA2DE9C104E36BB76D56DA593FB796036C17A04A65F2BE8BB9B37055DCD6F79E18AB00BDCBA AAF3FA95C49A84A69EF4C11D60658C35205D97D3AC3003B6592EE366A16AA0D1F9D32E9EEB5B88 08AFD6123CF756C524E15C7E5DD0FE7CFEA135BE1BE85201EFEDF61F046C652A48D435A2F6024E A310E4FD3CBEE0A9C6B1CD02B1F3A1C8C973C5F281C86194501BD03EB5C3E2A30C9EBB8E4EFB16 63EEDC0969C48C6724A5C126E05B9579C0310869DD1EC88A7BF8562EED99C57C115419E6599BA5 8323324867E2BD6E972632380D2D271E332C52E1A87BB45C4F66C9F83693E6A9A25BC0B1BB7570 18FEE261F8D4529D93F23289C0B75CFB0BB6A55545712C945707FBC29CBB70A4C9C3976C1DD0F6 171E579A75FBAB3821A2C5DE45D8C17EA16FA4BE1069D7549E57E5922BFA18286A1BAAD644161A 02AB843CD5626028C3E6A52BD3CDC7599627A49AD4880EA5AB56936656A87BADB828C6C9200E28 270D8041269ED78A655718099F099E9F17FE27A71DF161D4F1606090F192E561ACA5F32B827854 2611632F21CCEB3225334427D9EAF9AD3D9696AB3B0596598D2DA1912EADD2A7D0859AB26D6CFA 2276B79C826353CAA0EA34F690D6396768EFA8BD8A65CAB43232723324CD05FC517F317D8C5E0C 809FFE78C393F7E8BD88141D1AFAE885E02BB0203C7D726310F6EDDDE8B38C1FFFF342D4E81EFC 1CC68D072F68A0FAC14BF5A90EB7F07604479489CC57209796969D62C92134B59ADF264EB1B158 56AF2B32CC769ACA670351EAD8D3E59117E613A4FD5845C38AA0AD375196F2628920F299B94EC2 363847CA4707A9506C8DE4EA9B0C38DA88567FCED40BC94E7465C39D3F627EF70429548C38C2E1 F007005DFE7BAA7701B183A2CFDEB36CF84091242A3CDD8C5947513BCF7FAA462A92F1E84B3196 E3CFB019320485FED7DB231ACBC56C0EEFCF344525F0DE150AA8933A4D1AEFC4C2699C4B1E5FBC 15AA3A894023FD3F0C75D797E710FC1B41C48BAC6F5AA0BB2CB178B705C103B68F7E8436C4DD02 F054C2B4B6C38736D99C5BD8C57AFAE676FC8B4F078DB83EE6FEA0C97BD434061BF572F6615B37 419EF5250E32C4F0F48EE779E500E7E3C4D2AFF699A4077473A29CE8C2A2FB92646107576F42E4 8DE1233ABA4720564DE68990425D6B4990FD198243277457A42693457CC7AAFB358184F6AAA4FA 1FEBC93C5733812A1B308DA509F473760D1F2E846F8EB2D52FD55CB220F4C198204BD21EA2DF0B 31434616F86D529DE5CBCAC53FDB7EEA6972691E9B8981521087C25F1574576BF799569E3699EB 74618DDFCD5F01E6BAB0FF513EC7E2B3003006D96E4095EF5009044A5F1C3B006AEB4D15ECDE5D 53C1C76D35D87AF201BB47C94DAB1BCC182C4F48747AA7E1ED991C4B62D9F9D08D4283EED5D288 7EE21B7DE249F731509FB6B9089543F4791C41F3BC0EEFA197923DA86308DEC8D632BE0221294C A4AED2F61C297D167045E5E5A3012E223D6C348899712C550638351F12FEB3D67368959EAA8B00 90996E39EDDC5B3B1684E2DF4DFCDBC89A6A6F9B0AFCCB2115217316A48812C168B243734B57B9 CBD7F05A1CCE9E325F0FBDA791EAE7E666D1FD7F2D5F085165D2BB10387513ACF9A900F84934CE 93A66CD1BED3F990714AD938BA8572A71E5B2557C294C1D1A20F27E51B355FB37112345DC33707 73FE750D5C2330781E0A05636DF0F283046B973D1B124D92A21A3E0ACEA879849700D5901093F2 7B3F90460D82194CDB01A2CF38FAEF964374EB11D0E150A2297D8CA4A5A5C55BEA93B00ECC919E 7246C289404CAD3466EF6BF2810CF1EF740D285D3302B5B3363A607491871FCD181E8CED5C0C30 19FA33F165CD9630D130917C2A246F2D5003657DBB2FA8A7E3FA840482CF21E574AB74B9EB5027 387DA40FB3EBBA1894297CD356E20ACF7D956A3E142248A5899FE940A25BD5C812C0E8DC923EFE 27E49644938E3BD99A086AD697F0AC758390B364B52C049BB1B32376F3AEFC15CB4DB333C148BE 9CA5C18DB38B9EB1F39F07C3C2EAE2AFB0238F687583ED7FE04F55632541AC572E0BB7C7659AA3 999D8CA12D6267FDB0F1CD720C174CC28EE37C78CD803B876B8168205F36687C12C0A2D35D1DE4 B86F4E865A741E82EEA9C8E4383AEC599D1DB85C6BF3883C3218BBC0AB643CD51B8D51A34492F0 CB4C1BA4781929C2784C11F84DE699B0C84C35A504C35E672E941F1D6BA54960F6C519F11028DD CF0E0991E18A77F772C43CE95BDEDDA9C8D85633EA60A7358E0645D4B64F751B11AE8AE27ECB17 CB385DE259BA1FD78EA8A55DBFECC2670DA3C0140479B61ACD99A59ADC50849C6AA787C7A9B975 D84E2A30529AB8FAE0995DD66BBB5C6053E3B96C567156A4696B1736C2F6E1834B8B8EE42CDB90 315692D6BE299D714C6E43CE13DE4282B261C5188ED6C6D875B8D308D844152BEB15A3B15A8B6A 924DCF7285FB858973671B972AEEE6774A57526F21FC7EED805693A007B2B43694D5D30C9DA604 B3FA6278114DD98744698D885FF714743BBE7F81F2FBABE454BFFD74CB601AE106AAE61E099486 1754E4CF312A1DDC7BD0F85D854D15FDBBF296317ABB0D0B2824CECE362E2137A2F5792279EF05 D0FA6B7DDD4FEF69FFF97AD07FA95F3CB393C4B0DB2311596AB63974B6B761CC98407731AFF2DE 1A522753315EDC07F72CC73BF7B55D769E024A09710F141A21BF94E9B71C8812CDD8C7F7C3AC60 618ECCE4AC81F7D86B75E126736A904256F5558ECE41A471E8F77B5FBD1FE2FF4CF0FE56861223 24C1D13CAF1576306ADCAC1927686139882609FCE3367171FBD0F017DCEDFC909B4039643C3FAE F5946EA31312460BAA458F5AC3A3E57E5247AA390ECA4F29EA32324F06AA3C376CB5C680DD16F3 8434566DC54E7D4C6D6390124BB69EF6D9AB265D1ED2C68335870B09DF57C137E603A0F8D26E77 A4B18B7E7225B0A92AF92C4F22D43AE053EECAEB3F8981A8ED13D504E6467D266BF7244C0A1A30 A59700C1EB9E18131263AF51A9460C1B753316A1BC587FAFE3B5A7EC6E86626D5FBE6BA3113FAD E67631B83301424CA27AFC6164414F8262E3FE28270F8ADA96AF0232FFAFE64D37F510741EAB4C 116E09780A2C64AB82C655B1EA221EEF257C667938E34A4F956B7DD951D10D2344D228DF2B59CB E9AB72822ACE270789F972426D56A03686EADE28431C07B3BD73F6BE22FDF7688E3B77128CF74F DE98734C3390EDB78740F24452ABC545AD08057CEF1323338C0CF3F0210A9D50CF7D4591D22DC4 76E429B462B76E965583146684B0E2A8C6D40AC7F42D595478C94C01F9AFC8A1ADBE2D4B13E02D D52A19886A3978CCF3C9C9E391FD66039C5622839CC60120408839E5558136C57E4BEA2761F38A 6D00F4951267377F369B7782C92D7BF00C6F812962F86BBDAA43DA7DF4680EE852F4EF9D82BB34 5BC1F8F76A9B7C09820108BFE054C80AB56B88B438489D0CC0972081255C9EFACDAA08BC81E0B7 E04C201A1212D597628BB82894EA711D739161E513994A67C0C63597117736CF1A9048D244E09D 4804C10483D047433F0A69259DCF999558AFFB6739D372221E490EA8B106D0AFC78EAD9BD50E52 FCDACA4C0F3ED13650B73EC4F8D0C6C4B0BE299B4AB253DD4ABCD28A96F762CE45787FEFA89D7D F5675D0DE092FA7097198538F031A75BFA2E91A64D1206AB59C5FDBC24C80FA54CD168E19541EF 79736FC6D00896D75C64E79D93C6658A002A91B5BAC71583518C604973652220CF1CB626DAD853 8C16645C699F5785A8626BF1A62FEAB57CB263881B102891B5D886B09F678AE801CBFFACA29067 C1126BB0136ACDDE81D07F2F9199FE439D3553A8152E9E2C31EBA2E0754BBBA72DCF525A85B08F FC52CAB7135E2A3C849DFBCA86FA0C2217B9CFF755542FB4C145A561696D3561B5C53F570F617F 60CBC31A1EE0F570099C4FC2C4703E1B2AE86C72A3EF8A138EE9CCAC2814533DA20E4AB5D170D9 BB2A2A4FE1C14A95E18DBF3EFB0400A835EC1F50004CBDA8FFE73347027B9151C0E00111C3DB3B 15447D000CB0E6FD0FE985AD70AE5243EC8DCCE1E5E70018087A36A725DE1A6B6EA02A9CC323CA 943BCFC546B5FF43D3EC315817DD6593B6AC7C52035E06629509EBE7CF9B5F9B24E291C06952C8 CC8AF9A5FEBDF8D16B22D7BB518E1191A1E0DBA68066F1CE159C5E7609EC3AC7F4A052EBE5E027 07124CDF8418DB9C026563402764B44B0E8AF31F2BD60DA60E42C0B329EE32C0344D409E155FD9 3A6F2995F965DF6855222AB0996B185DEC4790642BA10D3B97B1028D9AE6943B7DE5F2C7A9E15A D670FD350CB7A63316DF50950773AFBBF7F7BFC8BC910EF3A955708830C13C931E85CF7D165DAB 7A927810963307FCC2254AC2CC9CE5B83293AFDFB9A5DD00800AC68B431C08B2E92BB2BFB6FF55 6D70512CA099BF840CEE70CF163131BAFDC2D36F9089E090DC660A94F170C0ED6F5BB6EE2AD769 BE951B40DC1E46180B2E557289C9F13CBD9D331F208462A20C269629AF7E181B9776335CD34A9E AB4B1D8196899BBBE946FD56C8180C42C178536E72A131A4D087ACD38B9662CF3E0BC2C04E9384 8263F8D64EDC6B3C511C30EF4A782DA27E530F96AA0E1CA4D28EA1062FF4643065DDF958DD9124 BD975D27D6BC79EA3A1963B9930B5DC0297AB9E3F02745BCFEBF83BB9DAB46E2D3423DEFBF0527 7013D6FCD08EAA5407CCEE0F91B8D6B4DC89E3A467759B81C81379952E3621D57E86B79605EC10 59A9D46BB301EBBECCCB615DF91D7A0A92B17EC4C8716C4F1E67DE7D069F7CA1E4566F6D9DB96A E3BAABFCB6E2DF6005182B7BBBA7F96F99315CA76E12497BB76B2C94B85543F7F1819D3F53F2CD B6DABCC5C8E7B80995DCD3D04A5F47EF30D725EB6158A7A32EC17D4970A1159455B23075774DBA 95CF0DF8F15FCB4AADE80C8D0C92762597461A7B04384AC2556486B3A521B44718911083B06224 3BD1D54A4C8CAB43D207FA4661AAC7CF4A0A421C01111A02AEAA3A98EAF39B15298EB75E16C3F6 7BE08948F016C922EF7489B3369817780C7FBA1712B8F1260EFE02F0A7F112DD0E85C62026CF63 C30633F1C55843AB7EBCC38F38E2517E35D257D7220BFF5BE2C6CCE34BB73EC225CAD182E702B3 C03740D558DFCBC5FCED3DB10AEC7AF1E6AE84B54D5D4CA79F56DD690DAFC5AE7F9383EC2232D3 4BBD2B125CB78E2B2012712B3C51849867665C98CA25F3E6B9E02EC89B5B376D7905F7302CD6E2 8C33470C0B343160BF0F1B3A9CA0A47B6065B6537AFEBC1CBCEF795083CBC98CEAF9A60D9CEF8E E6F487CECD88484BB4F149807CC4B896F511C2C530EF292AA50A9D5E55C935209300AE63A15A7D 7FDD1179B2F57525B70F6EF40036BD66B6C26A998077D5BB50BBC122B806D45AC248B52CAA6E4F B9E039E30BEB78CDADDE810534751F7A32356A51065CDE5424750CEA579D034A6C6CBCBA2B2638 89B767879DAAA9923F0FA769ADB474373CF8EAEE7CB465F859DFE1E70085F5FC946C31354F1E24 4F31C7E9B5F7903D92D73886ACAE7666F2CDD1CE3AAF67079DC4E919119230DA6B369AADDF240C E90DBCD8AB3972CE09E5710B95963C6A62EE56E09164EFA77ACA7E0EC5FCEF4D37A2DBC54A9783 DB9E21045860D59321743522C7BDD14F073DD55B613F7F15065EF97456D1C930E6B8FB5D9EC44B 1110AC075443459EF10C48EF8E4FAC4493BE949B75ED0EBBCCB03E091144C18F1EA0239F90FD71 E24B2C06AF13BBDDCD58CEE4C5A2926C873099D187219D067FE727B61C1859716C3DF07CF14CE5 7D6A7925E329840D68F0AD61DB3FEF91B20DA41EB6F28352A9C49F7A141C6F43056A6CFC254E4A 47A3F967AF9714F52459C5039CE105795612155576BE080701A77F0026FDDB2DA5B7F82D1CAC32 C4EF60268870566A6C3CCB2FCCF0E11AB60FD644DACA696895FFA2CF72270C190F482EAE5753B5 BFCD1AD6E2E8B10535DA012954D085C9A14DE998985E08F17446D8159DF61E0CDA6435147D4B6D 8A2D2B115F49D2E10ADDD4EB66CA42161A5E9005A736D954244AB3D6520741CF1E3AC63930F40B 3048F7801E18AFE557DFBF50C6E2C10D4F285F05B2C2C574D327C43A91501E6ACA45048C0DBCCE E966C28ADE74E461BFF1CF584F406E32BA473E0742B4329A76663D92B680E80A4BAECACCA837A1 8C98D88F12039D80E6A8B7B0B206BFF62B073AB5961BEE45DAADC5493193780DA81792BF4E76B0 A5542E5C973919D0EE1DA1DE5A5FA269862BB0D4694652849B612681CDCC7505CAC95B8FD72E26 51B7E4C955608060FD1B5E4F8AB8ABCA6809FFE151203A5CA905849F629BDDD14899A9BBE3B175 8AFDBFBD82ECA5B35F2C2B35D5C267E82E009CDDC6BE35E99E7918A69F28D1B7738B93916FB7BE CACB82727E263453F41D1CAE5F38B6C3709F00DE49573135553DEF7699FA6F96416AD567D971B3 1893714A09B5B356D44783393FA1DF7EC6FC33FE5018454EBBD5B2ACF6AA6080565FCE674F3DA1 DBD77DABF0DC6B34E1949BA2C010C5481009DA4337F7383D269DED79711A08E787228E09F0C3DE 98C0EF82715C4FABFBC760775BFD1CEC7CCC8163331341A7D08209D3EDE45D78AB2A05D5726E2B D669043E02AF274385E1613F6A42E7E9B94B7662A5904C2669C827272ABC96ABE376DF7094ED2C 21EC501CC30E631B2CD3B0F4BAB8C3CF2025130A99B93C704DF2F015A46874B5BCC8E65619FA50 0D1AE2BCBD4C27F92447CD9E423EC5B67E35DF04CE30ACD6628A13FA20C14B518DD0301D3BEADA 0A9C14B8DCB278170C97E107B4BADBA1B25B17F268F8B52B89575627478E28EF59F2D856C8CAA6 0376C53E95BA854FC059EA938575276CE4716B7A19CD980998AAA79EC8ED57D56EE2EA80D2AB7C 9B18100DA2A7EFA70ED40A32AB292129D897ADCD1CEBF6B30BB768ACABACC480AD6BF1E701E332 B1A9746CEDDD127441C695C3A424A6DD84BF684A90B027B68EFBDEC98AA5B9CD97FAFAAAFC195D DC5468876B28F56E2F3AAB74D97366441B28CBAC0D328EB8FD98DF06E9980E21CA7F62345F00D3 8CA82A1CBFE954CF8C5C77017A5E5CB6ECED90222B5B15D5D7310B3E24A98A64644EEAE0B0CB22 BDC7FCC983CA94104C3AFAE71A75A3510CED1C210379E289C721BD4EFF82673565275826A41EA5 3008BD6C1882E9C82346DA91E8DDBF092E78BFC009A0BCB0097E977881BF3C81BB6DE2784AFEF9 BB0FE52CA91CB1EBBF01024B1EF941144229B0127599284FBF6EA7809BF36FABACFABE3FBA41A6 CCDEEA1FF6656805CD945439E36F771DBF56F85AC6C9759FD7741FCA38CC362811962882428A9A 29F9E788312B6751E4CC6AF15CB517E8F17A320BA4335D4C869C76FCAE7BDE59334C72B578B055 AF5850D19199F26388B46D9E9F2940DAC3D9A43F45C5F7643CBA2D391672509102A883AADB998D 1CBCB888D5BB71D740582F7B2BE1EDE7D6EF4A914DDF5368D547DADA2BE55971619AFE8D3A6728 8C8F0A7FE9EC44E4E016091F7B14F79E81A4CD8C2599F6AE776136D38222AF1F61E18BD8BD6D6D 23191E2D3AA63217C913C8D62A0940516E70996A30473621B8A257465D1E6B2966BAD8B447FA8D 8E2EC2BE15CFAC9637A5BE198D2EFE6D8C204CDDF85399B98CA6911C9C8ED5F248F06CC8E9C27B 6EBCCC8B2E54C4D15CE46A6BF3812CBDD67FFE2C83370EE792FB17C63C4222FB5EA5C363C296C4 F9D174E62A3E8B6B7FE35BF4663E3D83D921486909441F1FDC95990C9189837094455BFAD987D9 220E44CBFF2E4968E3D7D1D77AFCE67966B8E9FD11E13A66DE61C5F23DD00C6C48AE0AD7DE4DEA 0BBB2C604E443FB88448FB6FC61D8AEEBD52C4937F5D28F611A758C111D1D57CBC262DBD0BC8DF A11E299C28240EDA643CC06A101FC0E45A3518E34F8BEBC4964DD5A84679F1E4C0A29284FD2C9A 87E7DC0D1F3DBF68EB177C9C1CD6781A23372D3FBE655CC4DFEAC5134DEEDCC6F330176765D791 D495ACEE8CB6FC15ED913A28706B538D9F97E986BC628DEEB1EFC820936E431BD5D0914C1E08AF D179571600350488E4342F7277F789A7BDB974A3D06DD9ACF9BC645FD11C253A92773F95CDF4AF 911A7DD810A717617CEF422F7E2079CA35D7996D5D52A50F220E9B26A65A0A17B7DA4A864FCC2C DDF5CC26FE1E551A202F625941BAA8093A40E42FEFFB17D0262277AB9A9E41723ABC73817FAB73 A7B59E306C148E2E9865DCA0DE0A03E46EA6938B53E030694F02F1CE0F8AFF7A89FAE33C8C7EA4 72AC3BA8680AC06E61C60026F1C589E8381B3A54A86155156D20332FF2E5573755F0B980967BB6 BE86A858B6EC486862BA702AD117185081B22A0359C811CEFCE9718AC2C3512A65AC63281BC018 88849D996D8E1AA12002732CDEF0B8CF3911F71D905D52D9BEECECFA4A2DF8290C8A47021A6FA1 146FF38E6424E588B4B4E10031F60C512DF082F09B539C18D08F18A4239FA9B64848CE318B0F9C B9F6A28D6BF1E788C16D6A7FB9201642206044F470D2AEC35DE8562C17DD7F522AB733E796B870 4E05485F865355E55EEECF60E4A2B4E4CFA8E9822685C87A60562AC1459E246C7DA17F174E9E07 2101975144EE4F24CDE6ED9254FB8ADEB415F895D3A71C68972628B39A058803DB85F07BC492A4 72283DD3D27DB2359F881E1038324B38FF7C4EEF91EF1A00B741B51158199736473984D2080099 CE737B03325F39D77EE2D5E7BBF1301207FEB963EDD88B52EAE4920A0CB758FCDCAD0411200A46 48E657C26A41E7577D7E876A6A9DE16B2879A6CC6DBF8940BA4CF861579586F7AB2381F1D24404 90BFD3FF6747FA93F3DED4671AECDF1C40344E75BC741CA78A2079114C7A94ADC560264E79464A 2DDBA4D4E7848A2553FDE1CB51F51F9E6F10AB1AC4AC4D2FDF5D492AB9B8B71C6834F0DC3B239B E38621785C63DF6038B74D7D537BCB41147EA857BBDBBA40EA5550EA85935456D4BC945C7F56EE D375E22086CACA75B3E199125114EE9FA656FF5E9029566A72E9BA4C2DB5B83A5CA6CF2E1368B9 B8B2D0B1E2ED6EE8B6EC56E3518019D92B6C062A92F77C09CA192E1E527626EEC78E553876EFAA 0CDF14EAF92512C71FF6F00BBC63D8BC5093C0C343B927A4F233C0A1ED7961426D7B0296698F72 51C051E3F28231FD3021485E3D8228C86299064AB9DAD2E63E59B995A4C6FA0F453114E83232F5 982866D16EA1F35437C64807F8A72FA8DCDA4DC33B31840EDE22CC80F9C32F08F11683EE696204 457280B39A2891ACE3433CCEA80465F0C07BE27115473FBB411CCEB8E3E532E8125AEA0026CE4D 9F5054D296974F2D0A93D2E6526E88C266A54E937097572F03B66DD7F1939A82A8F4775EAB1CB2 47E9DFEAE00C8A859F39103B149CA33BC6F932103736E727420201F3D38959ABAED09D9D0BA171 F16344A49320062D4B0C30B82434A6482E23B0455E822358C76941E2EC6A8F574755551A771786 07011FA2F4D0FFA7ABCA64205B4301CC8C47B1CD035947BAC00C26C1255EC01A6D90C58F760EBE 7D7B40DB25E978CD72CDB8CCD13255D5DEB867043AC221CD32D78F60F8D9ACFC95340546DD7B7E A6CCFA481052C58BB41B35DD03B8D1ACC9BD8BC0A8C80CA72D9617AA6A151715263574F9665D62 998818D755CD50A2D92DF966C05D28EA03FB5AE5709B93498EF66EA2D96681003E9F3316200A12 DA96964D6B0BB42077A5306B713C46349C18EE4228EC1A9C29C10BA58218DF587BD534F08C044D 6F09A5F103648BEF06337D3834709A69818F3D6234ACCB4A068F96048819D1D7A023A56903F894 D378281BFA2339FE1A7483B72BCA52F6305A74A1421162BBA1253634EB7450149DF2FE3E10C6FA 1235C24F82DACBDAF11986D3657067ACE1A8E2DE104EB4E101B6491FBD67EC70551DA5694BD122 E35443DF164D0BAC413DD3DC1787AB92FDEBF0806942163B26EB3D142B03EEF3581CD3C32E53C3 57205AA5214D723E4CE6939A9A093329C535621AD0E903411F755E71536C7E37A63B9952A9ABE9 E892ACDC24716EC93661BB9F5A327AD098464D92A180475EAE5F209F0EBDFD799F7E9827F657F4 8D39787ABD496491C8893E1C0633E5AC2E4F75A5A960CD535F0FC96E8F4FE555795C96055E05F7 A05E82F5376513452591618FBB94860D90C701BC8525AF9C1967D97B853BA4ED48D095E995F77B 140C4E1569AE44DD12AABC68801C014987F88DCF2B0191AEABCED90CAC275BEA617387D0F7A1AE 58FCDBAB5D752D318EA1482BF580F7EAFD882B6864BF03CB2E4D59C179A0146C1BBC701F78B715 5F3222AD0C1E76868106DCCA0D5DB602D83CD2DC870EE6E41F5610835B8F2FE2EC730EF9DE0BBB FEF4308A9AA0392BF0DF1C92CDE4F4ADE95DA0D13951476559CD3B4B7DEA14DF44597A9969BEB5 33D87C8C19518219C64767DDFA5FACF173D64CCF96A36F962D53EE1580B823AFCF9E6E290454FD 1C6C31C45DDE4220F04F3D85343A2B34EFEA529364D6CFDE58A5F225F7EF5076EDC22350F86176 60DC8F9D72E7EB826A5E83CD1B2F0DACDF0195C67D4EE726870111F1A8766D73FFC89440046421 958479D56FD0C78CA5EA7801EB645E593229031821AAC4664B5C814A88F58DCBD1CD44F83364C2 2FB9EBEEDA09F97539843F54DB7FFD4AB3216DF6AC305F5D80EC63250C33E403385AE009B5AF1F 5D831549B2ADD5ED946A694091D140F2C024FEA22BEA365E7EF7FF6F60E5F3B3769B667D2EE5A3 358DD5602BCE6196CF32EB0270990FA05D9523712ABC8D8D24B5DBC77F05F5AF74C174D375061E A5F97DA12FD34223D84D14B547EB49B40CACE1755A4B09AAAE1AC31C5F62B57911DA81BD2C3C47 FADCD221D9D04C2B4947E665A2B3D2A207DCB35213374C103A910DF8505ACECB1CD8349CF17ACB 5EA463F040ED7649C718CEC21C6C82BCA30EE6CEB79C0A6F1FDBE16BA09CFAC34F7333ED1D189C 1C0D872FD3182F329AAE3DF72BA0A0CDBE264DAB1AA8199CF5BC15678DB215657925C69DE05327 102970108B4A5C67C280FD6C50F731E89672BBA79AEEDD3E623745E576452EB6C15733EC62B3C8 D3D56D6FA18B50A21F6F318C2C36B5178E2D7E438D6590DA1C8FCBFDE177AD48E6673E1DAD7B60 F4438F1AB360F2D40F1A30A0F87D7BAF53E6EE78BBF5B5A9565CABAD7E825D03847430C6422E39 9F0858019AEB3056F2294EE96E4E9F182EC45FFC4EA98E0D499987FF218DC95D051EB30D65B088 9CACA6EC7CD83118AF21E4D77E2A25B21F721105960025213131BB9E0BCEFD8DD79ED1BC39B0B9 07A4ED456A9C51DDE3430010EC11D39A5317451B3777CC60CA9E02A50D3F66054DD668D016CD47 C80EDEFD4A2ABE850D4322243FAE5B169CDD09BD253F3F24AB0B69B2DBE9A79E76CD393B71B942 67883E9306E4AC25FC7C9BF66DC685B51348B0382F971242A764758437675D706FDFD6C14C0F0D DED0A5AACC1A23CF11ACD2F3B3098B3D2B4F0D34B045D78F98874EB2CCB25115CC47672C970844 24C65A68AFDA977DBA9E519F280C3245AF8E89D0A3AEF334480056A1F203E1BFA0208BABD9BBF5 0423E569F49BF4AAB4425E9D7C3C1FF9DCF6E32E53F881F2F880E1C0336D953A0D068B7DA33E16 3E35DA07B9B5A3B5B9CD266B61E1E4423311A03709840309FFDDDFF0D0035E2D4F5793E6E916F3 DBBDEA8E86C8C7381C16CC6901BA6C0D06DD0FF643AE6B59CA5506793D2B012A19CDE7A0D8B81C 2FACEAC32BB2380C115F9A50FEF2E60AF7590E42138599F6E7637902B10571C4159EEA7B058E4D 7392531DD1B2A3B1A5BB178454CF365AEE4997DE8267DAB239A8DDF7AB69F92CE805B56C336860 C26529AC6FB987488B844957870B40E2A8B3B29FC3FCAEF0B3A6C02570F8661F4E4E455AFA1AE2 52316BECB2C88FD34CCD6F6EEC6B703FBFFF5BDC8BAF056E5590F16BF93564722741FFF344CC8C 86A1DE8AFAA4E2F58B5FD916D163D287327553EC1012183C46DCD9200011053ED4DDF774036C1C 5DCF958B8E09B86CAE24E44B4ABCCB05DCACA0CF4B81998FB73E4E43582D2F204CA8D97882DFCE EEEF643AA39B5D4C9EB3EC3886A9D54E6ADCC2549E53AEBA70CA4CFAB465EC0D336D15870A2738 72810C24C079AAB893AC53C3A2B42F39A4935E10F1B3F299E9BB3486D00ED66A18F03BA2DCBB04 30DEC8D40D0077686CCBE52FC550EA96DA10223D1F1F098449643364615AE98BC26DDAF2D02508 F66AC81C781625A272BC836106422FBC3DA4AC1CBD775E4AC13382DC49FA54445D82E6A16BAF81 4035BD2B0C9F7E5FCDD50E3B8BE0ECEE39C5B983DFE84645392C40EAFCAAE07C10E209FD228380 5CAD7C989BDEE2B3287DB6D725838513F3F95E50D5A09FC34C62285C1AD743F0C9AD485861740F 462AD426D6CC9741CD14D97DF79533032217E213C572AD9D6D2E179FB877FC5CCEE2D16DC40195 E3C8779A89B3164BBEC207F44FF66518E48CF96BCCFAF7A18F5F7E0FBB94E8D4F5F5A74E95F299 101632B5A24EE041175A0725D30CB9D6D5C57CF41465BD63ECB8A65C400445B095D14A1DF726E9 E1FE72F5EB25F426132783984FBA2AAE965106728C99F6B1F7D7BAFCABE55F09C476DA10D2948E 4CF07E65D4B78DA6F9E9BBB5921BD2E753B8B692C315FEB2A10CA117584A65B6162360CFDDCEF9 17EBC862229E2EAA9097AECE9A591E9BADF8C69BC5EC02674D2B58B7BC7F5CFDFDCC7A337BE52F 6CEFAAFDE5D1394A39B1C188F91ADE1ED940F539D5310EBB5F7E1B11E8F2B0522FC676AE772D90 F55C3DB9589466717F3BB1AE6163CCDF77BC0FD61F8BECE7491C13FA6ED8FAB9E02E39E4B4CBB6 3B15E5CCD4381B15899F601210A376C6246484B046B6EE619B43853D7AD133E4252662C6190E20 76AD846146A03CACA144C018C937FDBACDCC6809952FFD94A6F8E0C8042EF060F4182FE779DB01 CF8B80F3545122FF6DB429E6EAAD3BA9A9267A6227D337D60274AB361C082A551B0B7A32EA7C3A 6E371EA6EA9479B4911D5841432E2F75BFF1099272955D7864DDBF4C88C29E33DBA0A90BFE33F4 4EC5C60A07514E78F9A72F8127A3A9EC2B575BCDB2302B9AD6549862C2A1F4FA9925B484D2B1D1 1D5E4600D97A1C64251D00F4DEB37BB96718226A9EFD6E6B07E5808E35E1D10065C6AF64BFDCA5 D413AE31FD92905EF6A15753902837120A1F978EE341910665A15F4DBBD7C06888A11A0C640661 0ACA8E025D381A8FE29323DA62A6D70E8ED434A48FFBDC96CC763664147C3DEEC58440854ADD44 8C4F25033AAC3401589980C968B2AE1896B4C495EF798CB46403F21E1918F2D251666D43D09C9C 3F1A65D08BC55771EB3E6E4082B7F9B42440794240B24AEC9F4B9ECA0D79219C53405917D48123 69588C23133C985984EC4EA17BB0B85EEA7F629BC9E2E10A5E829E770B8810776779A33A833A4D DD24DE64AB6CD5A089A82E7F293A24874C8C4125CE45E86CE263ACBB108DEF685139208A592A27 774F3D7B92250FEB4A22883CC403C4D97DBA67ED0CEFB246809BAAEF201A54F921D34D222C5685 709ADBFC96A7774037AB2F2995B7C93D2308631281DEFDF6A657BAB09E193D0C9F759B03F3F50B 4A5F4BF39F4118342F5186C4E9DE29DFFCB7A6D63E0C306777BB9243648A1BE25660F9184DF9DD 32D1FBF11D09D09E71899538291790F889E5C7EA2328E5FFD88134D33719BFE0048B80E85C08A0 BF0C513D3FF7B870A67E6D22A06C7BF15F832F01FD8A435074AAA1A3B40B4C4BD374C8F566CC5A 6527A447B0B225C216FD16F4F7402140D09DA108C0FF3DA5B26012B83F1D7083FE273444DE9639 089695BE2017631819961A63563DE94EAAA502461C10766A7CA9474A41E9297AF9C880DCA16E00 1A98170D8D608B6325FE42699CCBFD934B87D2315047964FBF11FAD2FD8A289C11606C25E99022 707C03B0945C407677A712635C3B50D7FFDD7A52DC849AC925D7A9DD636AEA9749678D6AB2274B 6176548E3E7C34BB6CF289849EB77F7E1976291375F04B3FF3AA011F9A0B0A0EC8183A82581BDF BEA1BE4D6AC556AE8281216EA0A9CDE765E680BB4FCFC077194CEBFB76F60FC4DC37B77FAD7C46 4741E63E673157435FB5DABD170198280A17F4864D92EB0412174427EB7B9CAEFFD7DAF34D2D75 548D35E5783E5560DBBF5DBF736E1C10F24BE83F60A47615C4245A78395E0A83ED0A777DFEDD17 25FF5734167784A1743238FBA588FF933E4ABE573BF17EBAC0132309E4587D242BAE716E093866 5407784400508A0556CE0E23347CEA2BB550039E65E433F5E569D1BFEB47CD0068293924959911 B00641A69EE50D6BACAB05452C6A193C02CC9B36B7FA312AB51794A639DD781F1C8B9E1C0AA995 339C495588D88153661120A9ED50012A656ED0C9FF481639A51EA0A010B1561F92CAE1540C38FF DB9373A5C83643A135B6571D51287A31616F6AF105BD17C9B64B6A325C88F30E144DCB9D160F1C 26E3DD65A6C3DC155052EBFF51B51381D022AB1DF1C2F34DCADC6561A251BACA0BA18C3B320FAC 5275C70D1B5E13D5719A7BD7D1EAB3ED382EDC5CF062A063ADAEDDD15386BAFEDF60B935F948DE 75064E94322F056395E95FB70980EF8C9ECD27B222A4990859A2B8FAC51F3DE1AC4BF7677CEE26 03269DB448319257794B9AD5E708505D0DA7287D530DDA959E08CD84FB971B99B8D1968806E7B8 B01F228A4E9A8934E661F403B63164A84713B901268C31A8062C005B00E63981E953FA3E6FA0F4 78E9D0B3DDCAEBB0AA0FAE657BE30AEAC18BCE7C83C2C68B0E32CBB159CA25B799304773BF8940 05FB893C1D6298A911B2DF1717A1B92CB7A2ED777070B8E293EEF4C7000E9E496A707000BA1A24 BE0F784FA98BA543585845B09D855C3AEA622714083F0B1F0501AE74A849345CEE19E2B7CD6D07 EA3681F07774F0F8442E7E38040E6E211D693944A30E27D6242181C2626AAA4A8F541215DB185D 56384EB94AB0D4EDB49655D55DAB89F52663088884D24947CDCC0FD81A09AF0450C60FC665C736 49DEE4922E00C3EE943A01FB05F2983367E6BFC4BC418D7A51E14527BD0F5A0A955C9426F0FD56 08C00A464D1AB4B46969558626AF6ACE2D99EBED930628720BDAFDB59E8943B7C9598FF9478269 49D586AAF14F169DFE8EC9DA41582FF4832FF01642BED1EF244D46C308D4687822ACBC3DEB2E11 347473A74CFF5B58BA27D3D3D36AA3543F2DCA041D42B60D8C9D7483F13983B2E372078EBDADBA 265C67A12243E49C35096198B50D1C5D45AAEEA72E4BC6EC92338E01CEB8491B4B72682C35AAFF 935F8EA76C942EE4BBB31C8E45B17B829686C23D68F64442FA935DED175687B5C042857EA07651 324871B7E8EDC589805DF972FBCF79E92AD1CAA1AC6335D91F0119CAB046620A802475FDC75E50 1F2E6B77954BE3EA96F11E17565734A0EA702A4E8189D95795015F8B0F7E9CAC4492BF9B8D0102 556851FD5C68E589F99FCF51B5EA0DBA3D3889EBB2013ADAB0355740C8750B18285328F01D2DBB 1B0768C2F15134BD6D42D43E34A9F0A870636E26F2455E3ED900F66B8255F3AF0A6F221526C277 50DCB86D5C2C9ED7C826B7EF29A11DFE45B0AACD6742081D2D80F769AB8B4638BA71BC4D987600 DD4D04CC52BA26F407441E1ADDF4D7273A7516EE189A2567EC8E55D1D3019CF717FFC996557BC6 1199BDD52F72EF3184698745427378A58C266FFAD746B397F0528C435DDFEE2C61C8E24C6FCBCB A30CA2C94A8A341E0B8879D6863C7A7FB805F12A2530BC9747B6BFA7EA057DA41AFCD8046ECF04 6C2552DA5E419F15E60339A6EC547383C4B639FC7A7E086EA69BA499F5A953543CE620E159D1A9 1BB2C6AD22D6F9770F9D2CF719D7AD68417C8F38E9C7911330ECA2E34F843BB97E69869316D993 649F91694F8FB9696DF7531F7B3324F9D9BFB52EBC276320C5832ABD9D0A3DA94D8013DB90EA2D F35D0E1CB37CD7DB05FFC514F510EB8935BF55C0AF6440464BFEA1D92EC44A821DA822E3870538 AECC146D3CDD5CDA324BD82CC9099C90F2D54CD124435E275AEBCCA0838C7FC25028D56DDBFABE 30B0FBB1EB7C8BD6F948D5FA8C4FBA1C10121FB20F490A57C013C6541C56D0882A37339252274A B2777DCA09CEC4E499911DCE4532A6C4D35464CE5C15853DC1D29F02BBA5667B7AD3CB0518A908 1960356181C42760C10CEDBB46417FE0CFE1B545CA8B129B67F9254683AB5F8F5684B50E702D0B A293258D81F07557E83F6EDCB5F50B0A9D57F6A802178896383EBB28D2749DB397CFEEA8B3AC7D 1861D489E7D8E02B01B477429D28209A16487327DC3C532E35E4F4AB1D87A0E1A0F8402A067BBB 30D4D992B5F2997445201C78DDBBB31806EE302E96E353DB30E79A341B38AF3242B3EC8701A381 BD4EEDC5654231312D5D4D2555A2E8E2C2FB4C53679581B57EDB6F01C7AEDE0399C4CC5EFEC89D 021301B96B168E3D3BA15E0A2C2516EDDF2E9B78BCE983C8200B18ADEC5CE6BFEA019397525779 2378C8BF841BD3332096891A3F82DE8FD460F43DC75CCC596B82EDF546F8AC025ED30DA6EDDE44 7EBE6A271739B51AAF5AF52460A86942D94F1D91816D2CFA059C04E3E73F278418492D54989EB7 CE1FEC9D311AE6918035144F07BF987909D6BCC2ED889178EAB7F33F589A711CE4928297D9F378 E50775202217EFCE83AA3C83B731C1F98CE4A78816E7F6D9EF2C58AD5CF26A4CDC84075EBF3A5F D978DAE6E50726670AA683FD3BD51D1F2A66A15D42E3788DF4C53F3CA6E2C59A0F2C1D6BAD369E 2D468A8D5FB8D82C6B95E1DDC75071E563E9B43EB1F2F7B68D76D54E791D81BD11B0D4F88B4E24 B8E08A04350D03F577E228D7319ABCDFA4A29A7FA9FB2D99C5450A69ECF4748F601F15FBD9ED84 5AEFC029565FE3A98857F197E4B4A2C3C77121BA2D78527ADBC50120B99667816FAF5C65D2F0C1 5901B2968DD2DCC5335BD5DC870E637EFCCF3726FBADCF98F72C143909109DB1B89017A026F455 CD37D656C82A0CA07D5E9A31F28BB27E27C65B2B422BD9EC12FD0D6B5046CD8BC7D27604D3D146 C23C4093F6DF9402D31758D677C6BB5BC1F59B0B8A69E295516C640722196052792DC40E4E3C48 03267398D6144CB5C206999107D67F76794AF501D35B8B77482395F72790D788B076A417991BC0 C4A3602F19F2C0431616901DBD72680A9591F30745A6D4F9A8D4B9D69116B4E8CBED2FB8F08243 22156A60CE2FCA834B805E2F867BD06B69B566E09EF21C3B7C2B3E5BA34109C8B64F7B609DF6AF 03C23CEEA4B8CB123BE7C9637AA4619C29348A1E71382C78A76B7D97E1C91E63278D257E2E2EAD 8D16F62BE741D59EFFD606666ADB7BB0A319BBC9450C11EDEBE337C5E053CFC58112F8BE67EBC9 D7E87A768516E1A971E419FD4903143B6E1B5F9CF4755B5B5B9EA2AF6652A376AAB6FD54DD08BD 31D3DA9C0BA7C28801C048B43D4BB689B3E2A7BBCEE9E9D80D3BD78A7D4D94893379A7228EE5CC 932330B51B0DAD909D06DF4B9FF925F875D4EE1EB2692ECF1A0024417273969913AD25DDB8ED11 BA2401E5DA83EC452C78FC49E5BA3AF8EF0AAE2D55DBED6AB21B5C9358B1CE08A45E87C10C6F31 801F823E6BA0AD8806065DECBFE00B9C9AA3F300B2765D4D4E9C5D2AE87AF05FAB207CB5A901D3 DB5B284048A8AA2F0C8F50BC298356444D2672B6E11ADD136E4B6926F470763109FEF3AAF1E210 895CBF77137A6142EEE9583D32C06BD780550212CC9BCA18B494A0B0A095F23E4EC2CA622CD565 49ED8AE9A82B4E60FFD7C73F6D1C462094F4946E16418D023208D8BAF445E27C7ED9F39A7FC11B D4A58A0BC9967E1C581EC18F866F5AEB8698E710750FF4A0CD695C314CA2483BF3F5DF14888D57 58758788F0D3D3AF357E04FC45DB58EDE15AD64C7F06364E1B2C64DC14CC0346AD2855780A8CE7 FA539AF1728483FFCE82B389C546E554FE631406A791A01A1CF899555E34634B52F039AA95086E D64B50534DCA54012FDF867A4173D97D420E9F5C970642CB12A9FE90A975EE7C3D27C4357DB9E8 DB9A9AF78DFC5C0543C926856BD4BDA98338875FD95ABADA260C21858B378D0391F6BBF15AB0BD 7025E657588D9E6364DE1EFA088107828FA4250E53E7487F8BF891962F2783FE305002CED03D24 CEFF5F6E9C3E3211E0D40FE7A9E83314FB9F72F1DAA7FD5B87E4475FE78F542CD22ACC4E40933C 15CBF16B240040414AAFF829371A67B3F6DADCB7281410035E7024B56604356F8D24D879CF4B92 C312CE5538C27D326D56CDA2DB52D7BFA0184EABC7C1160DCDE65444A1F3D29387A8E2C41B632E 778813D3F1E335F8A04F277F1416DC304315958E3641A7D7E5ECC68CD3DD54043CAFACB9B307C9 58D6239E6754920A0C80807835A2F137ACB3D1F828ECCBBDD9A55AFC646EF93EAC3AFF1136567E DA8F741E24604FD4322B20FBA39E03748BE0274DBC6AA8957D30D7853EB96A65A9878DD94E259C 38C3A144E1269CACA56B0B956C5C40A6B596426F495E438ABF3A54B4BBF161299F594EC305F95E 8BFF2FB788E066420B9C6EF72F6C28536D66E6F00309BB69E396FC864626E67E84D88DF4E74422 A846C2987CC18E70A5B41E26B897F2DE79EFDA6CD99F594564DA946EC13972AB6F7DD737DBB14C 940928E7839DFCC0352F7FF60574C4284398159E47D0487D2D94D21E92BA35BFF04FC74C43652B 26405133714CA12AAF211EA2E7C397AF11E9D775C61462A742ECF9992B69FED0C152FED5AA9707 2479F58F8D0E2829A1F79A52EC7A0DA312FAE6B2010BF70D0AF8CB998F626FD26FE3C53FE4DCEC 916DF0E9FADFA2802ABE944F0BBFD166CD39EBAD3FA4CE2C9ABF007893699FF2C2106004F3F477 242068A7FCCAE79B8795F7394102536DDEFC1CBD662514233B5DCEF1C3F715637BD695B1E07136 E40007C7235CCDCA991BAF173D915D5C5F33C4FDF653D51166997B6A14E9D2F1BC288B34E44DDA A8DE55AA85627374988A08D965A3E1C8487C310AF32D2C0B8E5D377D4B6752954E4DEFE72FD701 1615D7C3EA25A6733EF7EDEAABC9996D7F6C2DD3CA62A247E2E3DA8114AB3630AF8728A9854E84 429A276126D18756E12454095E8D30BEE5D3327AED59C1BFFFCCAEBAB02444A38A89DE6DD3AD89 4ED7E4A5C761C8BB77CA39F4CC3DA7A70852E27E88A4D6200E922AEF593F0912263CF4381A12EB D8F94AE22EABBD239EC5E7AF03EA9120F4DC2E8253D5551CCE8CA6336714F7B4A4C4B4CE565F71 2685E13676A3B488311729432EF24CCF8BA48265ABEEDB2FBA53FF2087BB9CB9682E9DDC99918C 008FB0EB28EB1B5D9FE67EA9D2D4FDE1A8FE1D87CB82F8125850A60D924161FDD4E7E7DA595430 2339CF6C6194894845CE5ADBC97883CAD7D3695746856ACF2EFA21DA5EAD33D4FF8694298FF8A5 AFE9CBB1C6FF1743179F3EE82ACE5AD2BF86489383A97F05FBB1809889D9EA33544C2632F33EC2 7119B3670824332E7FBCF59C71C080A8E59A3ADCA3925C69D4BF18F1E2B1F7F9C184FAF7B47DF2 1D7905B78EE91A8BD733D755A046626B2586516CD3527B6EC09A90784F5C22BE5465C24961E421 B8F33A14F280CE7BB0B23F9702360F58C37EE4CA98ACB47E3EF8BB1A8A73F9B083586309407BC6 1B34D67A54157E3728EDE5A6A9D2DA811BCA521D97C66FB44C7725B69AAC358528FBDB674B2555 7F02DAA19EB4EFC71423C89F8277372B00DB45E783DB261BDE6A737F6972018E58FC36FAB72B82 E4EB48BA45FBD6DA8078F758FDC1155C06BA7BB4969EB82A5EA607F257B0BB642B9235C414CBC9 DC882E4B0012B9A6024B584FE68ABCB0F60C8BCCF8E181ACB7783DAEC99BC7A3A8AF028BDDCD0F 410C945F07790C06EA63899F2012327AD160562DD0390DE564D90040AC3037598C4443F095FF6A 3F5250D4BE09418EA43158B27661BC2500EA7BBF3B911C47FE854A819213813684DC597FE59AB3 EDB4B29AE1E51AF8DF5A97EA5B2A385B0219CAA2413E77C8FFF0AC117AD07DDD1054474EF08CE2 6986CB7DE00A01089347E16F36C06D6083642EBBDE402A98AB48F87177AF5F6B8F0234E33FC98B 02E3C78C0813A74677AD524A329233A4C89A691D7569BC5E25C5E46D160FCC69D95A9B1BC47CC8 06917EE441546FA3450A9B30CC4C4BB4E7CB461ECFEC7115891A252DEB29F206D1FB73309B5257 6A9C1FFA48C81739167A93394604B1A91E86CBBB6D164E5D76545C75152DE2E0B4B09F65BEF3F3 85B84F29FA7FD0C9434C93533D7ECC4DD8E1AEDAA8B1A231EFF6266B661EE5F4ECD4DEEB154FAD 7026AC8FEE670838AC986D48ADBB160A873F9CC9F687F4F40A5B6A082710A63D10F92391F341D5 11477AFC88994E4016BCF6D1E7600D55AED6E02BF01B5CCFBF0DEFBBBB697FEAB3C9B012882ABE E024332330DB02CE61EB5C43C5EBDF96FF799249BF64102FF670B8DBA29F4815C1A4FBCCF23B16 5AD9E8E57F596A8BCF4C1DD10EE5A3DD10CA20B1675809A1D28AFF85A5C4E93D5020DC7A45A050 C722AF53D42EEC29DFF0E924F8A54F75F9611D6DF05E1A436AC01BEC09DC0143156FFD47F32265 9E0F6968FE2FD63074EE77BFE8A4A866132833930E128C91B1CCEEC71BC02BAE80DD2598452CB8 4B0D756E8D0DDCA3F64D2E64AB21C482FFED6A859BC3B5D61F1DB812FEE1AF0D482239FCB8A4C9 BEEF632069637AD48050DAE012F91AB4A244751403C980C50EE44BE38D33D766A2424268597BBE D36E39B595693EFA00CBB6482372B2C20ED89563983C6CEDD5D288196D49D8DFE4670C4B5F457C 21CAF9D89CA7AC9E008B3F867763A0A23494D4F3DE229F983FC9A133525A5BA33BAB184B73AC44 AD85102FF1AA6915D62EF10B992E9B7154A6DCCC474DF36FA6641FE747B1E80FEA80DDBA9FC008 A71E1552A30F87956A6FE298D5737BCE285DAB1F746622B6140E56328DD0B343BB7F6EA4CB73A1 AE1448CCD1BBD1AE7B9F5AEE2A96C55D4B511B2C3489D964F6CAFB705B1587192C1B93613DE261 49F623A979B1FC8F840590CF22DA6BD562E61C116D6C5B5460029CB5F46C2663F814284F51C18C 0AB1F994BEF08CC775B87E0660D8E396E48F754676836176B568034D26B5E32F9C00B5FC06CBE0 0C1005957D22C75DE14C8A65707F8081A12955D4EA5663F6AB823ED3C709627777BB77AACF3E9F 7D44303AE7931A01AC33464911946FA792706A38AAA64502526C06548D2226B10FC45AB3378EF8 A2B7A9E7960E08D72EE08E71E63E149EA56A941ECCA938D7E0E4A9469B85FF3239F20E3FE90A9F 359AAAB7623C8FA21BCED7B41D9397E7C97627C20E229F268D3FCBF543DEC734297153E916574C C4723CE548DF8CC187A5DF384484C81A921A90E91E6CCA0F9CB1127F03CBC0E018476242812FD4 C75A24E675EAD79F6261504E71CCA3E5235FC7EB47982540AA5A754D1E29621369D1EA8EDF0BE0 8D2094288D03D77CFEA85F04D17B3F41B07E6E576490BF131D3F78227D569F3691F0135FDD6FF2 D2B212D7D41211A1B7EA2C9FE2D2FB79065DB5301498802B6E1E81944C5799AA78E3DC6FC71B99 5A8C569501D4F24437DF3B510A238FBA8120AAFF58227285C6A10D0756F04E51710D34C5B3EC11 632A86BDDDA8AA12A8C5F48948E367FE5EDCD3D8EB85E3D295602DE19BC1F5DAE96E1A7A9CE192 F9F9DAD0B921A9572ED1D92DAA9AFACA5761879400FC1F11F3AC0C1D3EF9BE5EAE7F7BC963CC1F 15A3D36B4A4B2725AA8DBC77C61905EA820AA3CC1EACAFB817CA530C32F6D281F0F9C45F18DE77 09ABF3051B58B5B857350BCF7D83D621B89A6917F2D31FCCA33D7F849A78A02411A16805B542CB BB9ECA087CF320DC8A4E4EF6A1B1913A543E62D3611FD1194B019987FC1B454037C74773AA5DB8 3A916AFBD587C03CAE2ED7BDE4A738706041B2D2332039A7DCAFCC47DABADFEAD27FCF70713DC1 751AE3681267961EE2CCA1B21599C2BA3F3448DF4BD0BF6D01D8ED2B2B70E6A42586D985DFFD70 A65B65AA2CE5AA16DB6F5B92284449BD7C72D802B384CB63EF7B7AE51ACF16BE575068005EA1C1 2899873E9FA76CBB626632AF47AD7A0FB3AA6499DEFF547629910A1B30078F23C65396446C5399 84BBD0E416430798CEF8196D093E31B5FA6650574F30D3FC479179F00A3507199BDE82BC7173B0 4EC8015675AE42E92E0CC0EF7D9D809EDC6FDB103658DA78DED075FC61CD2CAE4EAFF1458F1261 D9BE261642DF329C0B0DDB57103C38E823E3BF09C59881388AAF7E8E8BE4190B811CFF83AE84B9 664ACB308AAEE24253DB0A595203BD305A19F2A41A054A616CF02850AD4D00045EC034792A7012 6E7F10CD39C919C5E6B77B2F63108266AC3882B6FE5ACD730C4A79EB4549604D31B70BB81F9DA3 B3D8BFAE1C2A7A000A5884CEC025FF417D20362A9374ECF40936E93EB77362CE66370F16927135 74F60E956A69CFBB70BB59A0CC497BDCF9108748B54660ABAF3AF7BC57E70BAB19C4EC67381C0A 36709042AFF9404CD6039CC2077C9BBA55249C65097978D20E5AE9CCE1A27A74752EBCD4C53546 3C74B8D6EA187C2D575E89D5CF9038DABA4E5B6B240C5A826235FDAE0F22E8B4D29E4A8CDF4ED6 A91876FF06F5A901B6F34C9C8132E27AC01B6B57AE1B312FC1C2780E9630286C933FC5AD84BCE2 CFD3DCEA1C7F621A1C9695D65895C32F9226D14EF31B461FBB98D4ED3C2EE62477D665B99993A8 0F42885A12E454CF8F45C96E002BADC7215DE3B1341C11DD5B78167D76D13546307B890F87A199 FC2CDB95064BCED8FC5E0B502E7A589EA6CC36F2B935E05D6B4CBD38E0C3BB71441F05FD1F234C 549054AF7FD8065277AFDB89149FDB6CF64A4E5375D3EA609D90D945E87A8A2AADF7D59667ADD8 16E8C3D9F93B053488F4408177048EA77A05F8B383E249022ED3853D6FAFD875FA39759AD3BE7B EA6A28C49312D6820EF2BEAAEC2058CF9756C9EAE517FC06BFB98141266D70F1F651B90A069DEB 3A2E6588D9BFCEB3F4B5A8E30C2E82829376BEC979A6BCF3E4DC69A6FE7BBBF05B6639B9719136 1AAA099F4BC409C179E252452E8C802A1517D9C6FDA3FB306ECBBABB2DD07174484776687F4EBF 9A09AB5F3216D9EB85508125B239FA22867D8C47D2919390E6F5606DC9DDAC2A2C4E445FA8FCF7 4E73B06C6C88085B116EE2876E1DA820F2C4A2EC29E036068E5E52BD82FBEE47D671B040D75772 A93314AF9297753A01212FD2A7624DF89A306A194125926626491A3AFB70CCA5ED0FB14F6169A7 34FACC3D1BC693871985D51B09DA75DE927B0F5E5996BB3FE38532250D76A6B87678AF13331A0F F7A37700BAB3171C511DEC88E998D2500FE0D72D7E63DD35AFA982664065FD2FDC5998C9DF8E51 69C3F035299A5D7C54490B175CA41E43883839A6C8DDEC8210CE131695777A606133E23D36E643 330DE0D7205D53B88D6ECB5BE6D95790CC7EB7A33F545FA2B1B1FCD7E8878CD6CB5E042DEE4FE0 879CBB8F0B21C155588B0672DC6C8F832648E299519258016319B3BE725D58684C4BE5D692FD50 25891223A54FE34F10DE816C40E5B4947006ACD835DC01B2AF84BF4380A2D0D580AC3878F5D476 DE2564F315213F7DCD6678524094E85CA49BA82499A5CD69B597871ECCFB05CCC4791B8BBBE45D E820E1F402885D947F1AE6225451E5C33C8E65F7D7714C6A6E59131E8599A4B16EBBEFD2A86FE8 E26D9C76E35F85FD9F8DB6ED3760B12224ED38974CA38F894F0322CEF8634FCA6F4C5643B5EAA4 D9E65274BB5A2A381DBE8A128BC88CB4F6E04C2C5C4425F347479D86164BAA3F19000505CBBD28 B52CD3C8A33774F45999129F51A7BF18A54B71738C534C5FAAE501315EA5869C6D1CFC67D0AB9D 584B40294425ABE35F2E923025A7227637876ED3B746B6674D52CC4DA679D5317DEF0ED57B3C4D 930A96C0FB692DDD2CBCD113799FC4C80147197B7BC9F9514AA0A96E078C3601B32A9F690DC3AE 70F481DD4968995AF645FC0E97AAA22C991AC11BF3A58DF46FF84CF8B76E248B23B9985038E737 0FE65E0AE557865F0EEC63ED7F4A9641CF02810E34B87675FD08EBC880368491FC6C7D1C9BD273 5544BDC95CE0DA3FF11BF88E9680A8C8F91EFD65FD04C0094DC94C29D006738CD340EAE0585F0E 658DE2D9907218612B217228CDFB8FB489AEBF7D5C05C5962F67E0A39974C5665B332353FAE341 9B105839849CDB843E908EF184D0DEA3F4B1C7669A97C035A86FBECF2D2DA905E683831319D626 3895DDBE238CD5493C79F9EA19958545FBFF8B088E86F6D85BAB6CD7FA03CB86CB3AB905329B6B 538456A1C68A260C137E497F2D7A627C38D57030271209DBE4BBF2A484745E6FCB9FA930ADBB61 9F64118E77620925449DD6BFA4AD8838AF81BEDD3FE9D0C15E37BA48B33D6201C6710BCC3064B3 16B535E07AFFD6065CD5A2739DFD061C1C464B4AC5526C4E93D4F32B1D09CA4200DACB79DC8DF2 8AEA6C1E9BE2446222E8FE141786FE5146A30801C0449D9E7143226948863D5402710AFEC43F9C 30D85915E0354B96E9BF438E62F9FC3E74B5599555D0C72481FCFBB5136D4C2E064F9079E72552 15C9E4166EE130BAD8EA3159F1558E48A4D998DA8DA1B002C72EFC4F38E8DB7396DE031DE548F9 76DE8E0C11AD4CD396D4A11C5B73C8E04FE0746AC300D2CD04D7E9CEDC1D78FB9E12A84EE2296D 856B8908EAA722DBCD9C7E72A2EA45751FE235B48879BA76129F41231FF3B6A31AA51E0F8FBCD1 65B88DBB7A353F0B04C55729BD3851A4FF32B75AED59CC9AD498511A6C105E49F0DFC5687E8291 C30A6A826DFD3C09A0CA876B4BE48A222CECBBA390C5DD83BF51E6D1C72AE463ACA5AF5DE93DE2 5727A4D70E7A267FB7A0C10D5EC341CDFADBD56905E74BB02F446F9198CC8DC903C51ABABE98F7 6E75857E1D8F1220109A8BC565D2CEB7E3B809E16D89A83DCA2D9DE0A155522502FD36E9DD8CC9 17540D4DEC8CE209F12C6D6078470A6E5D65DC685C30EA581E3AE53AFC872993940F0D0C89FFD4 1F74A8FA730BBA82F0296A9A8F133810B4BDD8903E722C5F95A887B4131E8C6AFCD14F29FF4200 6F04ACD0F2570C103F154DDD4A5CF09169AD56542855195091C05B71352134A655E6BC84F37643 93A106057B73F58D8E7F99DC9B0B16E1BED4845CCFAE63250299F0B456BB2CC8B90999E6073C92 A9EFD24BB2F239844E412A15C7780BE3A60FF2A686779440B11E9DE0C42547B3D89B055629C260 DA798922BAA55FFFF2D1253A85DA9389C9284A2E47B61F9A5CBB20E9E3C906AA94B211677F0716 707C28C39676943314E52FC250DE49E8A3DB1E042443B66568AA37D0709DF04EF1362E5B9BF083 D59CD3BCDFF50BBB26B7C8CE35A8C4DE96F2E40DBD9D3CC04C39841844F30B31DD25829BEBB731 8D2E1DB290960F54D1498095D20C6F05F7DB57A3A9FDCE5D154FFEBF36ED418BF5FC0965BF7BEB D16AA8DD31E562095B0CD721F8349C1476693D8EE368EE149C3D243698F54FBB5CF83F65A6F169 3BF15017754259994C993C676D5D3B5E0E805ABD5B5175EC55C3D1AEE6EE769BB1C614426D3E2F 2A3167EAF2B0AF5BB68F024C35125487C3AC670227FC4B781BE2C5DDB6310B59817ABD82D5EAFD 5ADD7BA4EC0C89DBC68D03C12EFBFC051218179494B0B01DA523165717D1DEB70656C573BF7002 A66CAE4E69B42AB76D22E6D5C2DA043103604F06A2945930F421AEF9BB28FF1067C297A6D10E56 6208A1E001BC8E2514DC6A94B559039F10381A5B031CFC73B959FE1D270E07FBC2C4D2ACBE88A6 88E1AA4D9F441B831B6E1E83ED4C1001B2F393264948235312E83F12FF24A33AA8A332292EBEF8 95269B793562730486747AFB79938BA78BEF925CE4C994D1D58C5115296D27D7275BC4358A9DA8 C8D521C2B55F5057C2854CBFAE0AD361AED083F8A63723F7E535C84FE255043984D5AC389F6550 20A3FBAE4883366AFFB9DC7D37F4BE42A3A40AA747721D763F3E8209385F823AC1D7076DB81C8A 00A33998CBB2E574D9C65563E4C24429DFFC0B992BF3477A90891AD6C67BF26AC0DA33ED3A26BF 9A523DE4A8A24A4EECA3581BBBA6B182961EB7AF4FC2F56904C27837A00373C0A49F8121B9BD21 97F0BC65592EE0F1EB1DF93E87F4514BC5D760576E3A39B18684682C0DD8496FAF939D5FBC907C F77683792DDEB86AA902C8B223ED2CD95D9AD9DBD52215AA05E690FA22831EC1E2308C97B882AF 2F10D56DE08EC526B4ED696A160E139B5407268F1E17A710BA4F71A83DF53156A95B1224E5DD16 B4F3EADE07B57D9FA064DD487F4E84EAF04C69CEE2BB8DB8411849B883ED8138E2023B82CCA222 823E24F80B8816935AC30BCE18E9056B4E6098C7A78A252973AA19A6FD0A87D48617291C3E86C3 C6140CD225B139070B2E55F4BF2BD1E752DD2F7C2C0163938B1CADE6B80EE0E4A2AB811639157B 01E8B11BB02F4C3D09F86F6A178D0DE5FDF804F102F48D66F5850CB685748FC3DE7E0A657EB77E 7311E98CA80D96E7D60A6A1921EDE854415C36444FC1C4E90AAA32D675BF6B36EA87818616EA80 0CD1259EACEA4105F1FAF0D38AAFC1BC427A4B3AB9C83FB22ABE8BC2E607C1EE5D38720081EC4A 63A2174E4CDB46EAEDC1D53771E72C763C7EF98F9CE9E6D93BE98E503571CA19910667E9900DC1 65D78EAD10F8748D2C6C7BD9AA5571DF798B626E0CCD391415EF22D78ADFB11AC182147C50A14A 153FB3DCB091D37290891C3D1C44012716E84E7AA39B55089D1337181950DA5BF52E39707E1A75 435818E44FC0269F6FA4E034C18B94CC0C6D4750B4372D28F24B982927E5BCC910C66F8264F6AD B5DD11AA46534F6F057CCF650EFD8F1E56667C7B9958D5629B227E12037C098C7AB5D5986BC0D1 2AE5AE552981FFBEA1C00CB6CC5EA988A2944C7F3A238886831C48DC81F179B9F8F686D7D0D1AE 436A0897AA6255D3041C1EFE7FC6AEE65AD8608DBACB2C40BA3C8E178E8F0BC04D27343E39C3B5 93498FAC8856ED317A15CEABB1D9880D1A156B4CA0E2AE90D4A42F2383523C21DECE7D1A92EEF2 09E811F44C4701C1737E7C8951C140F446AC0991FCBACB9A5D8A9A36C29A7DF9FCB5405034A98D 556900B7238A29E4D1C46770FB85A1C9D345F54D3F01FA966F6A1DB9213C2142AE6C6E883BA5A6 307D428A5AFC0E09AC26171AE5B358ADD11AE6702095BF832A35C33A26E22C06B60E7B217E4346 0979399270F5559A38EA86986306211BF37D01BC0990C38BC4CEB03C76A9EE984A6BE19E096D33 CD5D1977DD237C9600F18FFED04BBBEFF024BB062C73EC12FB00E5E1D5EA32149093454EF270C1 4F94446B55CE56C9B700A12AE7119E7812A1472BC70B52B67E30608D8DA81331EC9E0F2587A8FB 34F3DF3DF0476046832B371F210F6FC8268C67F07ADEAE026CFC1921BAE4052680CFCB37305806 529EBF63D8327A1D924A7EDEE1955B944510FEC9E243C872F10F5301B1D03C2BA248B57D1E1024 2B266A9A61691E1E9E0421A89E0D267C1C87DEDA11F25EAB86A6920B90DA63DA5245AF639CB69F C4E8F12C91CAA26610A1B321F91F90C79771C91DC4D2F6887868D82C928E4574C0A395CA1FD582 549D601F9274AE55DD6F146BD2A444088947EE9D191FC5AD9F5CE52D3A267FB165D55BF70A6A82 12343E7328FEFBF3083AF528FEC8396228678AE2153557F93399DE55B880B020A921687B4B4719 DE07EC57F00B2BDFE003A95E3211119BC72F468AED00ED92A1843A28AE104175231F8A246BD8C5 E0F2FEADF643547ED3120BF4950FCB71AB33C590C74006A8F829D43A9C72EADBC7E8A48EE3E4EF 2CE847D275F1D06B305DCA0A7F0234D241A187A3A9D7CCF390EAD305E5D89110B5D0453B2E29DD 2E0E5313F8E5F824DD52DC515C46A4CF4E7E5D622C590A8854C9DFE724CB377F268508677B701F 4CDCFF3502D072E597E3F9D5F3DFED8BCD42AA7EFA96B6A93A42642088203B075EC5CB9732EDCE 4483518EA6BC04A9BD531FA9D0ED65256EA3FAE0B1493FF2CB8FBA4C7E5D8AE1CC244C834E00E5 694594EE9A5A9325C8FE95C2F6FF849446E417918D88E00E86D59664E1D965310D354199BEDBAE 5366C183DF1D5D1CCA5E64A434C50675CA4F1ACA9704215BC5A1FCD4C3A296CD22389DD808CCD0 87AAB921F5ED11F34D2D0334861F214083BAC9541C05D78ABE5AB9DF253E7EC40AB3A8E69CE730 AEAB610EF92AFEB93733C9CD9590B1B1D8A3A5E44D22B9528E429CDE7AC4123C0D7A8739ED8BC6 7C5583EED7903FA0395171EFF44973DB1CF052DFF83B4D7FCB6B9FEF7EF08A4D7C0FAB844F2F90 48513A6A3D39A407C33DD521409724A79F8E88DD6838298E17473829A20495C863867DB9729F83 92CDECD291B601ACB55BCF9BB18D873364ED03F51631EE887246D5480A1B601FC792DA6B6D398F FB580A32E659BA4B0764654023426E0F5E51045943D2EDF0557DFC8FEF287CB77B8EA3208E2466 330E762C53D8F19E173708FEC484CA6EF090A0A65A190370A8030F84CD4CD698F65E81248ED13F 91A0C21C3B0D7C6337887BBCA9E5D65CA6507C58960367D36810E813B060EF9BE7D34D4AC15774 06E97640F04B87D203DF42BD651229C56681D296DA1BA7C09AF38583C090D0409828F445B6A9DF 429A374CF2DEE68FDB5FA4A2BDD4D2CC25E46FE69AA3C34A592288DA4DC1702592FB052DDF00D1 4AFF4FFCE9E4B74DB410EF990CFF606BEB6B90AD35D3179CDFF285581A3D161D96F4DE69E5D40E B344E5D23D6F0B47ABA92D0A3EFF67C8F16D33DBA4EFF89C73B34450D13B48B4F04C87D167FA8F 70E9AB17D603C4C1AD07873BF336760E655CBB6AC3A197D62551ADEA5B7C1ED5303D8598000FC4 B9E738E2679F5AA08DF07BA994253000366157FEBCCE0EA475AA022B046461187C1ECD85FDEB97 7B2DF4970EE03C99E8C24804484D7B7A426ACF82B05AFE51D5083CAD68F160ACC9033CB7706CBE 68D44997ED54DD0D7523A032036EDE50B2200CD44F9B89A1DD0F541D977A17AD49E4F82FECB9E5 FF7C525196746E8F49906B9B2014BF6E1A9A6F356DCB5CBDB427394FCAD8588FF2A0ED67430F15 75B2E1617F7F7DD17E5F12E0406834B28002DC7E74C2C4EBAB48AFF4306CFB2D17301CBB238AC3 85A414CA84B988C5EC5AE293F3A6A947E70EC4C7F0956AE123EB78E46C8F9B2E7DFC75DAE6E509 19892249014BEDA7FD06645E6DB918A608EF4C373E7179921DD6FD94832C0FD9C15F56F784694A 7788FB33B9FBA7EB9B1A19CFE576CA993F0FFC31398C89167D5F1D6BD886701B07E787851910D6 B0BF96B51CC1C8BD3D0BBA00FBD00857E4329C1E9092E20E4395909BDBD334B027250BA8597F55 79DFD55CCFB5721FC7A555412ABE49E3DDBF09F722120D681B6B19FA0026CDC30978976DE83887 69C68B3C321B6113D3AE32FD1BDB7C1F1FF8F4DDAE81FFC131AB8316FAB33B6FDEBEEE2F1C496A 805E4B920F3816BDA8E41677DE36EE413E80C500B9FE4E3EEAD0114630BB1A955D0F5C7760183E 68C226060B051729F6E1F46C75168392D0ADFCC3DC52F2903849C5C1F1CC4A39486FD84401112D C1F94EBEAA3A3BD4F282978AF8C2FDEA3364ACB1121EB5F593F332D8BB3E280530F9B1A58041BE 6350704391190C24BF0DAA05FF8768F084E6870401FF346AC73EAC8A6906290AB2BB58AA7D2C0C 901BFD714C45188C75096057AECE6CF453B98520AA7346E42E449549EBDE4B70B16F66F48655B8 7F0ED4935D108E9349F57C5745EDFA02D83EAA7EE7BE7D7FADBE66D6287A61CAA1F468DE9DF58A DCD7D4667A341F6748A35C19031767CC2E0B25B6010CDB31DDD3A81410B782B4A6CB5C9DEB3B09 26D2E86C69C63BAF17055ABA5AF39B237C53D3A79C5639C3AC638E1592A5C742B3F7A65C557F76 0CA2E68A0BB27D0DB493DF5353D75849304F3B15D42115F55717203817D1F6CE5567359CCE7085 371BF23A60851B9BC7DEE19BBE40B8BFEEB85D20C7886CB89B21BD4DD57414958ECD3B5CCD40F5 7825372CB8929AD26821F280FC5BF3F909B8454248665F39E87AC12679023561D2E4C17215CC80 163600FBC3B2A3637FE8AEC7E6E9143939A96F9AFF544944EE914BA054D6B5D0070C16C99D3EF1 0A5CA635C83A154D5799B7FDC311827C9E9DD651CBA5DE32A3ECB4327BAF08D924EEDBA059C33B 3E7EDE159E83DE71EE0894C2A7201618AA39F39CC3574DFD644CB41618A668BD8D1BF07FCE3AB2 80E3AACBD9FCB90C4D8A43BE3B72AEB9E6785DEC6E09A6CBDD95A2AC7A0BBD49D86D29B08E8F2B 99137B2C31EDC27DEE6A7F5FAA39D1FAF0BDB9E047C83FE596C958A01F835149369B0641F8EA6F F0DB303EBE57724E6B1048FFD7F31682DAFEBC1103852273DD19BC98C1C5452F841D5ED7C2F746 6893D23CC5D6DB45B53C9150845D7EB3F4227CB5363E3A3BF5DAFD68D415E2836B4AB53621125F D7CBD6B551B3D0BD14D6377DACD47787738EF0BE98F687C6CDDCEF0D780A1DD8CE08BC9C018E95 AE44424AF1080F5D245D42A3A4C17D3E19CE340E97C722BD7EC55B09735AACF13FB2FB9906802D 0B34CAB1C02758CB4FE31FCF2758B3A6CF8353E3C51F399AF3ECAC2E109C999BD15DF1148E38D1 A3CEF647225CA8CC45B962A67731C7DABD9B756DAEE7DC5E4074E3DD818E3DE911C1FFA8B6C1A5 4F279C8704A61C629733BBF2F227F171512AD7FB5E72B267EB0A7B6C86C0EE6BECB416A9C4867D C3716826448DEC3B8B2FC172FEF52C39A0574B976B9F3BFC53422A20313F0B058638EF1870587A A02D9C4B96AF4F5536562FFF26C1CBDEFAB5A6CE81F25084E902F56B840318847B5E31883647A0 3063673BB2D0A7B2C128AFD261C434D1D4CFB08C50081C216927C28954A79149AF111705E57FFB F8C8A138AA343F16D540E138ECB9817F91B040FA65D90ADA642DFC98E414D3C909BEBF1A442F68 0AE92F829D0F10BD99BC1F00E7345D05133CA2F3BAEDCC63ED6DD92DA86DF4C85C9D77FB4B1D95 E64492CC0E8F0468D3E55D11D97595876CC2225416EB2D1042FD8FA07A6FDD408F619A0C84B65C 20876A38638DBFE973ED7DCB6A8CE7ECAC0BC71349AB2DFBC8682C1D5E8AC8FAC86BA95A46E391 1135602A147C7205C4B4951998BB1D70BC7D30E7004F3C81CFA4A1364CA1CB728859F57095A068 33FA57B2AE6AE004592AE87D6A57BFEE4BFD39B77C34416E2316A739A27084E2FDB9A9A8A260B1 E928D144FB43AE5A89B05997380E30987D31414EC916E3BD338D0D8997529A17BED8AF01CAD6D1 CD4EE06CB6C0563E91B919903BB5C0EF8C79ACFBA7CD0DB8984603F729672DC47F6D840D911BCC 3FF3F22F561AA5EDA2783B5DFF8DC573A06E8383C1B7420003FEEBD754B62BC461D314B383D483 CB33660B681B6A0424D4C16B730F9759D1C5B8CDC769D96E67817016CA5356C8D45836C297E5C0 CF80818E5DDF6FD6B3D96212A6E3F124AB2B2281C7E32B5A11F737C6CD9A886B2DBCEFCADE6D8A F8A392705B8EEB3EE7716BE865CA9946158402333E4345A143ABCC24FFB9280D22A2E538FC8C08 14A9F82CCBBB350FDE047DF917E34B7F9A3D520C9776A501225DFB8A5440F91980155C69D69C1E 8B772AC1BEDD870F516A25628445A68793EB46FF327E233DE2EF2428505D78FBCE1E933500BC08 75EF2A659105BFB84D62CD8849B13A0A2AC5D32700C660460BBCBC508A644BC21C02915D44D071 E6997552F1A43E771C41D9A70E52FAFAECD73AF8F50F7F38D85F9E968E178FEE686F76C17B5FB5 C1235E74EC812433155856677C8A01CE329718B01E8469165B54DB6D861658E073D407FA7D295F 69DFBF4CC6E06F7F4EDE5C9FE04907DE0EAF8BBDB73AE24313F1442614FA91CECDD1FEEAA36FEE 969131B200334EEDA47A7B029B872A79EBF7CBD108388C90ACC3A2E0328ED70106CC5D962BA72B 4FA1D5E01B7476375227CAAD08CC669F7EDE398FCD48E4C98A6FE592C60D262D9A814F364871AE 8B9D881029CDEBEA22805E58C1AC88EA3D2A14C06C99A6995236CD5B66759521D1C63CAC33E631 8C9441B20AE51F6C5484CD5C92301CDEDBB6ABD32BECC3273921900D13303220DB46042C720348 F8F5660C96354994A9F4BC8814FD4DE786526E7629D41F523F92E612EDF64C0810600493369F06 32ACE4BABE4488FB2292BF6B5629DF5062FD7D2038CD9856A13430FCF7E9440267AE07A4EDEFA0 03B83DA367DBBC33F449F987AB4C90C6B54F2FB5DC614D50C803E6A85F4BDAD9F31C3C83F8C84D B51960F42978F59784756FF9D04C14899C601681615360B34077E110C6FB5EB7EEC81FD21C8ADB F5086B027D11DB853324339403A157DD593C0C482CFD6E41AD59E58C9A9481A391152151C5232F FC9F164757A08F5DBFD5F239E218915F410197D59AD84B43AA34B577E9EECF694086ADFDB4E8BD 9255550D0E6DCC0F7F22C34E63678545F2B34400ABE7E4E3131D20CF0B01A3A266EC454E3F4D58 24E46732C9B304EB4B7F6AE660A0DEF74EB7A35624C4F8EB8D467A0176DE9AE457EF670B5564C2 749B545B284F63087A2EA02CA97C1142A7E6E81AC7F441D5C4AF68F37E85198CBBA2D509A36A92 95F02A4AB6C08E001E691577FE7512B7AE437BA23D023E26320FDEF262A5B7C32C51AAE5437983 1083D5CB84789619A605ADACB5CD0FA5DBE2A4DBB7A5287C151696D2DEC6BE0AB1122F19C026C8 9FE4A49BA8298C0528677326F0D41CFC2BB67EA9DEF70722D6E3DF3E738668F4A9CB2E6A97E81B A717B59718A78192C70EE9E7EA06CCDBB40EA7711D05DEE264ECAF9CA47CA542EC5B17D968CF0E E334272DE264B243DBEC490A3FCC3AA34638DB49C12C2574BE206F53331429E242061F029399D7 4850FAC2B14C69EE8DBB6187D782AA0F9A40C5B4C6E663474E7BF45C32FD4593BAF723BDB8B866 315A898E1D429A9BA89D618836430FF6603137334E7C9F03E7DB7A68CD78A1FF11566D55063A0D 3BF30A87727130E7FB50293794AF5BC45F5818E8949A1F4B806924BF629EC443C5AA6E173BA126 22A346D8B071F91E1D305D1540FA83CA8DEA7F09DC80305B9D392BA31D6E71722D0B947C26F73A 71661F801A9D08A7DE62886A390361FDEA22F1FE67EEC2153F999653DEEC688F25B4B9D58C815C A456804360DE294BFBBFE5D745B94511C304BD5388FBB84DA4B31E650178CC257316674C5A3EAD 9081770D88683A103CCD12982465A7CAA1C903CEECA6EAA1169637BD370F1900C9143FC32DF44B BB2D6A4C4C88EDEEC16C598545208401D0985347AE8B2A16F98BF92CB495D0CAA9F137DD534D87 9D8902DF0B44848B3EAC1C381B8A771F9F826A1D33D12FD45C220E94D1C18B630C46D41659F485 16BF6C1A52E1951AED115AE9D4C65BA9F7D436802A5673923E65E8BAB985D09484607D6997929E 09EB1DBA1DFB33BA2999AC6460734312C6827467C70EF061FF8509CD8D79180FA0C92A30B8FF54 59ED13CD5158AF3CB913DAB4CB70ABE18FE0366003499020F996B787FC5BB4A767EF25E3417B4F C66EC7706E689A551B0E4AA157565C4AC5EA44511D9084CB45B3A5F8EC1C827CA408B1622E5170 3A6720D74D1CB45B5C4EA56076203F3235B5D17E02F195511AC3B1D213C01B604529477E30B1C5 7751808676C3F3103918FA224B3C2C65E0338CC81E11A9ACD2C9F6F995042E654C3DEA26FC3CF0 A094BAF63822CB3004F2786EE74C86FB8FC6542BEF71D96183A1A4C94F01F8CDB0AE1DDAD192D6 1B7AD708D3498B0EE123ED66225976E91267D45C184148C61F99BCFC11DDDFD21ED76D0FC861BF 79 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %{restore}if %%EndProcSet %%BeginProcSet: stonessbi.pfa 11 dict begin /FontInfo 10 dict dup begin /version (001.002) readonly def /Notice (Copyright (c) 1987, 1990, 1992 Adobe Systems Incorporated. All Rights Reserved.ITC Stone is a registered trademark of International Typeface Corporation.) readonly def /FullName (ITC Stone Sans Semibold Italic) readonly def /FamilyName (ITC Stone Sans) readonly def /Weight (Semibold) readonly def /isFixedPitch false def /ItalicAngle -12 def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /FontName /StoneSans-SemiboldItalic def /Encoding StandardEncoding def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /UniqueID 38795 def /FontBBox{-153 -252 1303 950}readonly def currentdict end currentfile eexec A62390F2B60376DE25E6D63CFB2BE19C185EE64A6BAC29C353295355E2953CB3AA6671B8B948FA FE62D34F0DC7D617819CCCCFA9D276C723914F28DF9F5A1BBF644109266411A6B99CABC920970F EF157AF4F67AFD6B8256D30B6EC249D3D2D31311F781E50A6CF1A677285290833E96072D8D1EED B8E7402A588F7818A3DF24AEC6EF5BA6A37D1F478AB266ADC2F139FA5B069ED780AC237BD2D560 57ADE351BB17DDDA706520BEC386806E3D20ABB33E703B0383CE7EBD20AEA40CD1F3AF80DC63B7 5672BB9756C84BD572171B717974500FF4A18AEF19B1C787A742E6BD5239D4CE1EA9F43F4881B6 2A36C01609947E97CEE999B0E57F752F0091BCDDDCE6FACDF38D98728FA069D326B0BF3F03061B 8FCE80D7B17E69BD16F034750BF510B9D36C193E853643A7968E043A0B6C68348297E52B7194DC 86390AA0A39414FB9F278A72BB4D38D3DE6F311EE0B4EC0C38AB490D3BAECC5F9C9C3CF970127E 8C31A6587F7B3A2AC206B60D81BCA82D7BF803849B86D987E5A0F487A25252D9F5F24FF52EB9FA E8F5DD1D4F1AE6BCD7F119970D83662824A17F518F3BA7C0E355630ECF16D1B2930AB700F859F5 F79B58D5AA5AFD043451EF0E21896E9BAC697C99A006F8502AAE0F32557BDF9C3E88B5866BF280 AFBB6309C4A6C56DDC93CBDA5BAF9D4C9C33CC5CC9614236425B9170151C3BA70FAA2B8822F999 2902B23E11A8DAE99CA765649FFFEE734CD45A096246CC418F4DA104A0E360D84AF8413AB6315C F7B2D93458EFD2CF75CE8E429B4FD9A0D9E2625B56B2307C5BAA8AA4209ADF3AEFF11C2FF9CDC9 8BC55A81AD0B8975D77B79259ED26DFDB7B48E6AC2BDA8C5DBCD573BE8BF758DCE552BD8D7B9C5 C3EFFEEC0FEA01A3596C038750DBBDE019DD061AAC75C6DF81EA05D6C6BA940EFEBD0904EA64AD CD9A299FC2A677BC166B910146703C4AC77A37D1E35275DF13F0C89B921C2B33905DFB79B21455 B76CC84D7EFDCCBE9EAD6C4548AFF3EA59A7003A5B0BE359C8B5990DB15451748D00B6658F1C1D 3C02C9010E586E9EDA7403E03288F939C5A56E56B038BDEA3DBDDEED59953B5D5F3ECDBB9A7B20 6E97E19EB486E666D22AF8E81C65ECA005599297CC09B83DAE12A4957252A92452C829A33E5864 3AED6D1A5538BADB723346F28C1FFB55737AAC3B6B95AAB2BFC31B8CFEFC1238F36B24B5E0AF4E 201DC4B4F8C584CEE2B66A8BFEC755CEFDACC6BD46D1ADC9353BB4CD9F59867A8B9750BA0D836F 4126BFB96360523DD5EB41BDE2B6442D53B6DB3825AB19A5B8122D39AD6EDDFFDBE959A149E9F6 5532FC70C32F297A56F4288E355D9E916225C80E4564FF3AFF4E04C65346BF983822CF047F27E9 58AFE046332F5F8F122A687FD0BDD81032331699C60EFF44DAD7CFDD98EAB24D314013209467D5 A80786375AB9285D7E4DA5D0B32ACC0AB990B4448822AF1D132563C579C28B38622BCE48919C23 E4002D6563D365236ACBBC278545CE28ACC29A6DE5A9380A4AF6D2863C0283F75C864A8B5869BB FDECA25E17EBF3CE78C0903B393A024C3807236C92B89611B70EBBB96D672132CD28B0A402F98D D6475F2F9E471D9CF1D965E56EA4D0D6ED3344120D8D1ABDD8887EB839F7A2A9E0DACBF2555874 A9200A29C081EB4562F10958353FB72F2E0486F479ADBD4767284E6339BC2DEA6A05556366FAC7 D8C19CBC7CF415308FC33AC6763E2F450EB9FF4B86CA7ADB2A7BE9033255C445936A2C970D1FA3 1BBD650E10EEEBB018212EAECC4D4D03046CD14B860BC6BC7FECB4C70BC60456295803399795DA D15E5A7F2A3B8EC7BFF9558A0EFDDF178752D7D2BE6DF7CC32212E7F3C632B5ABCF9F440CA4195 E50F3407DC05ED8EEE3C6EF5D927A304063D2C5927558E212087231C485A118433BEA5D0314C3A B3DAA2631617367D5A8B79CF0C1E7982953C575C363FAE2DD20207D5F57398035825BAC5FB0280 47C7D907B3F9529B9BA37245CA1F50488CB4F3106260D4C324D23E061A2E2E88941D56633B98C8 75E93770FC0B33209248C5290539C23EC3E072AB079719D3417EFEC7272F496F0CED0AF2A58B93 45F5A779AA54A0B05F80DB1908F6F4B91C0DF41AB56ECC0B54EA9BDF6929B1C791475CF0864E5B A00DCA62280FFE6A4C62629117C989D332FFBC25530BDF4F08592741656B60D82F0CA39A3CF374 5A626475D1E9783378E940659ABA7211587DE18504C4B300F40434CFE719CA3CDC3D89BB226F5C 1E345A3C9186716E03C222440EC5A9D9B585F9D10F9DA18A94F927EC32E73E8449FFE392F703B4 18B525F5F8F765CD63824896DC2F81FA75DB733A417247F990FE6BF0861F1B463EEF1B727085AA 39E36B48F69CD2AF2F05A3D328B3F0565049C19481287AD0515A52B323C141789D08CE15D0D792 FF2E8F498BA4DE090B6603D7270D993A152232F4D0E37739FE269E40E8EA92872180B67347522B D93ADA3C3B4414004711C25276B1D845571181FFB4EAC47EB2B3E7412593A80D0AB953BBAFEB64 A0DA73607A207B8E2CF3F1CB47B74F1D31BDFAA5F6E556D270E00DDFEFDFDFCD0BD59CD03C2590 7A4EB0E2CBDE294AD274F29646BCBCDE44BE8AED41E878557F30E81A0842AB388637F7A212E953 8AB2119B28C51FBFE4E75EA17AC233949A232B015F748A5C51B30ADB0918D69EC641BBAA574588 CD45AA7791AF88AEAB4F82FFA0929BA72ADD4EAA58A00EEF780036B65D279A10240515ACBF696B 90F919ED5D9CD9B65D85450356521278D2F8367228C09507A6B52AE413183521BD2454A755E150 784E446EAFE3CB12F35A4A92D7F5534260CB84A4D61980C535D23FD091706B2BAFC60047ED1388 2D3DC00BB1E006A2D678CFB3C2F2921A30A8090F303BAB9225DC241F9CCFDC1860A062EA1FF404 7A2706F42C1AB7893334548876ECEED621CB105D30E03EF0F5F2701824D1CEB599C47DE9CE2274 A41E3D4ED68C56D8130877E21EE161E863CF27413FDC0A9FBACC6D518A767CDC7102B786FAA8BE 413F625031C79934879D9F0D0E82B5339BE5EF972F4B545293743F0E31647B6A022550B1CCEC31 86297B1E8EF9A0AF76D6B144C84A2FFD5AE4BD4BBE6BE084BDB4E503216837D229CB80E4E2CC6E 3BA702B3E23BAE1E96309D919A3DBD5F30D78C57598EDC3BEE4A8374E4DB7623E2E6F1C3215B36 31AE53A2911298A952631D88884A477BA09F526070AEB8E0E9E1FFB8E694DCB2CBBE4E531A7575 DE9D35B8EB87DD5FE44D4044B674BCEC038F5D4D9324C5DCA1C0505DB20497C28F345A28313B11 0BE19BF4C12A4242FD01CE385362C273D4A01F234642D9687DC930CD66263344161EC08B49C30A 0E39176E07272C5FFAD0E3A3489261A070DFEDCE9F27E5DBC8DAF699344C070B6C030339222DEB C1F625AF6DB875C69FEDB4D6135811005354B26FAF284CA2B92F7398E24D8887C8E70A151A0538 9883EC77EAE6F2F7D6CFA77C52D81AC221EB6711EE5F11C621EB3AD2ED5755F7B055C19744B937 4AF98B9D178FF7AF4EAE1F54F49B4C9B76A3947D647941A5C3FB9C3E5B5C57E4EDEBCE7832B16B DFE73FD84582E1AF57A393404FBDB07DF4344FF5837D825804ADBF5BF85682D9C2177ADA261501 39B05AFE65678753EFFCAD4F871A3C7CDE919F7B677D93ADE141F0778C1DA0D25E4A8367089E09 8C8E74EBC70BB5CB7B8717A2F23496BC24B00085E830EADA44B528E8A0CEBFA870140598F2F680 40C237ED915D4E9C5158B1FB5D8ACE3B66E429E6B50C22FBC4D289A15BFF52BBCF71FDD36C6679 5A9DA5303654B84EDD27CBF199A2C564F080D8F5781D39A32B21BEBBC978FF8C4C3694C4396725 69811D60A95EC32A232FC0DF1276DA0DD6A2548FFB6CAD2197BA3C704D0A67FB83D05087C9C1F2 94BBCF0F72EEE91833B9A625C6A749C3666C6A777010E05F26AFCCCC1A6D6CA26EDB8D12A713EA 43F0CB9692E6AAFB2470787CB207D7F3D297158E4E37CCFB67EF01177C36BACF5512919E62C884 DA155BFE257B820AB36E88A9F8BD590642E6EE18D295A53B84342E7FCFAC64C21E681D3A974856 9A1E33FB4633FEB2DE5727872201763A5E649991664C40C76907AC876DF566911F4F151C815091 BF3116EE7C60CBD379D3737C42FC35CEFFD725492A80FF0AA17FAFCCBE5DBD30B3310319570182 02E91FF3813E5BF41F7986BB970808FF802C02B31B896CB480A5082334BDF9A390CB20EF03C1BB FB64288B244655AB9ECB8BF8B9EA61571AB2FD3B1E2916D38C247C21F4A4AE03F7E1CDD1A28307 1AE0359B960FD9C45AE39794FCE5D73CA1A507FC6D0EA06CEED17A4083A5B6AD4AC63B9ECC0375 0B799F3BB6F86E190BFD47CE7A697C6B1C89C3B55C2EC058F3CFEF2EB53B35CDE7749E79531D82 0A1583DF38B2FC0A4EFDC5C30AA5D1DD77DD8196DE5170101A4AC8C8B9DDFDA93E9FDC07F3F572 E1577A6E0BB03D5BEDC5B3AFACDE1F015534695942E9FCF6E3C8D7C70BE56738862E3A62922390 F31AE5391D55D125680F3FC0DC392C7F696CB9CCE6EDFF20A3EA4C38EC16B2D33893E148DD373F A3090AA01FFD3A37C1BC80531B4310AA42B7B0FBE02762A656C69A1285003093158CC2D13054D7 A192DA888380C82D4EC01A77EE962B78D05373B37AC588BD5F8FCCDE19C800D68499E9B07BD329 70691EB6AB21FF4CEDC94C96E55720728B5D54AE5F8A7905D6B18EBB184992C2D4B4ED1204D6F4 56AB648076C24864A8A7E3ECA52D5C73E760A442F1D1A162F15593442E0C37855B51FEAACC4B20 993D9D9B3EF693CC68CA75E449F1E32B00231A484F110AAA2066A4348D8DC5D6AC1FD374E404AB 96E308BB2A159901B6AAE12E1B5B6674C0D820841B4335CDF20F2C64CCFC7EB064FA0A0F07B125 8CF9FA6DE9AF57B0ECF09E2DFE96F8F78B83C9F689F1A10D0BD87FE9930701583171FFDC30BB7A BADBAB5B079086A7943A3C6EF5C9F652F9BF035916B76764B7B53EEEE54D8A33D5846FC6A6B64E 99FEF43C7FE90DFEBF83CE4356610C65C771426E7D28BB600E743A575F88E5A3F1A61B5F53D431 151516B8D247E642574B409CE4191FB6EA040586F49FD9116FCC9B602F76F6298FA74221B350EB F69F6854D0E8E2E8BA50D2DCF7C04D3B9B63C7022006371DC3FB8E114F44A501C28A5D63383925 3896C3CA6A65A9C0B0976A9C5FFF29EE1D27B0B6A1CD2A33928F779CAB654187FF00CAAD0FE27C 793F5B1A1EAADB7574B2B007D9AC5F341E8AE471088DDFB6CDACD0437D1A75FD7530150DE40419 E144C7772C5866DD09FFDF928EA4991963E0A5784961B467110E4B126D0F05CACF3AEDCC00B559 9C789174F96D2018ACC8B58BCBCB827D694B5A4E1F8C4310F7FF5C50FB3E774173D21ECD4D276E B02E08A6091D1201FC1176F046466E4D685692D97EABED3699AC741FD506C10B90DCAA6B936E57 2A4D7E6862198B29AF57010188941CC7668EC6CE860F416D4AB95C44E0B1685804BFB329919D2C 0AD9837587A380C6FA3F605EE3C84A14F4E8E5702A1F5057317E2C3A70C4DA53FF1703BD88B18A 07A68C2622BA3AFD610A4C3AF73B7EA0965B34C69AF7216F9E9A00CB609AC4567EFFEAB245AFE9 02506B811227AF036E8985A0D8931B7DAD9C0DDA01A88BD5E40C6DFE3FAD7D268A41D93EE38D2C B5B8ECF6B7F295D107B2217B0555A439E9586B2B2526934DC922C5D75C4A5469F8B3ACB722BE01 39318429105A4F5AC2657ABB4AF11ED67213AD16120EFC6026480FB15AEC28F3B0C0AC5B82AB55 322A9E0E6DE39AC103C1B4EE3F6235ED6D9AF0AD4A2949C61C182978D99464DCE81462A75DBE9B 369F0DAEB667948727B721D4B6C7AEB0E72E86896AC6BE3F8948E5A8C3A2A04FB8867515ADB92A B1D0C77B5A29D871B6E3406D44B6C4AF4A2907418BB99FF4912FD5E2171D141B09C3818595070D 580411ABC386329991F4D86FC7EDAABC817A74BFFE39093115F826345A48E966674B0D3290A6BF 1B6F634D002F7E17AE7C065DC6FB4A18897E2C25C96B9B34A6BCE88AF1F0D2A83D87C4F7EBECB3 9F90AC1594D395F785CB0FDA4BCB7E16CC78E582525C5EA073E9611BB5B729A372DBB80ED0A53B 7D44E35E65BA5B50E383F932F7D0C38B4BCE43C7EEF4CB1DB16AD5C3BB741AE73DD00C0F5F949E 1C4FE879E7DDDCCD475197917D4DF3CF62CCCFCECB31137B0D807ACA9A0242898FAC954C382214 66BB36BC54B1DD6B927924A5BE1EF65B6697FC6F0B621AB5499C03CE4AEE3CD7DFD1CA369DFEFA F421BA01A8D5794F63B05625CE02513B4C84B8C0189DB3368E7A7568B422DEB07D7E34D10D37A3 1CF59111FA54E490867BBB45EE635D4E69116F4F008120FEEC6FB7B7FDB5F921381CC520C816D7 4DC29EBEAF41EA6230982E486E4916B285CC6656EB7EB2A1E13817ED22FE119E49452AA0BEA8CD DF0457B8450FAA7CA6863B47B297F00AA6F039941D89626153D5FE7F54ED02FD02BD68EAB40836 55C11306E38E89F4853E911696896232D12A0800113DC0066AEAC6E10AC5CFD56DBC4BB36BAAEA B1A821CD7DD5FEF17884F46BE82040B53705D3541ECFFF57F379E9BE619F52436017F6C677E2A7 8C105CDC276A7E12224BF30284A8BE1AE06231CEE80398F16040FC720934E33E46F4E4CFB410D6 2B37C95CCF6A5D0B205865DFD1345204A3D2AF5AABE6C5CFC16E97FC3CF27BAAF54F4F3DCF1388 1C9916B9BAF8D160DB5573F16C5A1F95DE88F878461BFE98ACF137C14268DD8882B20A0859914C DDDE2899CAAA419F561C04FF0DC290F40E319210300E91628801ABBD1DFFBADC685040272DFE90 7F3DC0C0A5C419FD17FBD4E7B60DC1EC1B69D83F4EDE8B8C6A4DCFD2D419BA88BDB4D9CA0504F6 DC28F5071E73D2BA95D15B8AF01527B2321837CF1F66DCB58B6071349D5EC951E98B0A3E2945FD FA928D6393D852024CE0D9F5AD1C0D4CD275328F1263A965B539F9F77A11D9601C70FEC6109E3D 525269B54AC7AE10ABD7E9DFE6D2C116ADCA04887F9A61236B2B6CF07BF6629B4F91272921006E B73CA6695943828C8B6B6AE6C74DE26D00874B0CAC27B8B6CE2AC29FCEF2DD06520113482B9E97 B0A65BBE14572E8ED5D698C4B30B31EF4A68659CB178DC79AEB9C37A069280F10E838075F383B3 E59B8FA6FED1E85AE260C5C9612F65722A6EEA9E0E92188738019A3AAD25E746791DD8FD92AE15 818BD278F2E27DF6F5E9F410E419935E8829990C1A46BA2912483D48DD5BE54A42FE3360417AC4 86D19633867EACF8CDE5865F2A5DBCEBEBBBAAEA670AAFC86ECF234FAAE825A47014913BBC29A3 FE6F4B8AE09F62D2F8B6E54D5D1691D8C1ADE6EBADD268DCFDDC4A58484BA72D6970F4DA7905ED 8070960225D73B77923C5DBBC359E34822348387C309B17E4F36324A2EA1C2F305D6E2C7573AC6 63091F2F8396458371BB62B1BA041D418BCC0394B6974AAF6BE37E8E9AA7DA543EDE9F83F6DE06 177E60C98680B8E4D6DFDCC921B6F044366539BAA9813A6ACD48D0F0229BB93AF244DD191A2B3F 26FE28BBF4CA9BA5D2E17CE8F45B35D595220E46BDBCC47484911869E700D8229BDE2DD45775C8 5679A730C00766EB8E69BA8ACD2D903BF01B9F8164E3CC7C9545590C55B5CC1733BCABA7B07A76 EA61A0315A077A53626EC56D1C2DF338DF09B4DD375FC15260808C2DB4F9659D52F56D474C588E 0A775743A7238461042BC9C40F1C4F5AC640F5467DF8C171E74FE670B331E57D7799F0A8D519F4 88BDA299AAD86638A9983172D09EC8ACA7B7C0819CE7528FAF394569E04F54D5A6086E7588FAFB 65AF7E6904D5409B62DA57A2C3E26184D68D5FFF28E8A0027EB5C128C9C12F1C1CDDF08D8C9D12 E057AD30CFD90F3A29CEF4525EBA05396370DA91A7802A51E40C331F5DE2DF4A39558CD6682640 03D174A42C50B6A5B2AB72016B2B5E39FCBBF5029D39712BE03171F1208BE5E1A945AEC3AFCB9A 7A5E6058F70C3A1C2CDA74DB0C43A09422E11CD2A57CE4CCF0FE58E5E2E7E3051E401C1F34606E 616FFB4F4442DB141B9BE426BFBD43D14581EA4128D244818F85B6424C800DC117D6B7BD469321 0D72550340B1DD1C432B05EC414922C899B75559D25A63A44223A149ADB574EA515320E678DF66 6AA9D619B3C4831B00F96F1C02712C395381CD0383B63BC53C1FA4C5CD4D00862F6819B491D260 4A4AE4955F7615D87C298396C8278075FDC008CAC25473C9F9CB28A507452B7EADFA56A3DAA7C9 16AD4F090123C8C885D9D1ECBFF8D074C98BE8F18C0FDC2510A4305E9CC8BA571374BBB7BBF75C F1CC9829D5A1A252E4730D1AE3210AB074B67B00C54391328CE1147F205502DFE3A6EC47A4D63A B7D2637B2DB121E63FAC1FEC68888A2001840A05AC90B07B577E11D97644517394AEC07CD40D02 CDB9BE567DA3F4135B0253D503D50EC566F422182DA173AD62E2B94D31A5B4F2099F9FCA252246 6862BEF6585E1A189565958B38A64CFECA4BE515E6E2BD8BC5EE44FCA593A2B868544321948E7F A4AFC1F5A2868CFFE363C7C6E88165444E13C8C47C65E72C9C8B28CA496B49A2E46D81B52B48C5 7B3C8011BAB8E8DC9A14767153CCD8FF4A2166FB00A60402FE0AE3F0691B572766FA4BCE607508 3B2B1C3E16CF4C9108462AF1E6A48F4D7A1A41645FA27677281022949500483B46BA23F1755B5F EF0578E5F2E5BFCEE2F713B3324A8390ACE191D51408022C3C8F3A207766EACC05A14E3C3EB6E4 85FF87CE4C62FAE3C6BAD0D26ACC8E7E584A8CD7A25A9AFB42DA6106F07A65C261671202ADAD69 542EC6D1CC5B1EEB605E474BC949BA7B2E8A64D4F5BD7BBB326C06F9630D4F99B9729CF4205D29 12BE9CF81FB114541EF8D7D5CE4DD1951CBFBB5B2FF5A9896202D438C7225B8B0F4C985B5A94CA 09448A46C2E3F04674A59F55BA9851BA61427380930BF2747CCA7CB932388561969DF7F5D9545C 5195E52A847EF2BF4FE33255606BAF3AD695544CA0FA7681034517640D5611AE1A5F1178CE695C 223E29C41A4017760F3651122B7BDA4E967BF5D76FB93984A52773C518BBC71DB32FC51FCC2F27 BF59622C8907241A16D31079AAF1F310041D63C7750872F8FE294C06C483852399414A03D4B684 44289717B3D097324EA791B963A273D0331714F1F912FD6262B81FC89A5050A5F341E91500CB00 E970CEE22C6C28ED153A44CF43E9DA55FCFED8B953F9412A1FE477104DB3BC46A897682B4912AF 1DDE7F20A6B9A4365060CADBE5316B805AD0C5C32D55B8458C47B5D47FC1B4140E0F6B42B78FC0 BD262313F96DFBEF9EFA5A4F590BCBA3C484A151C05113E4DB9C56FA187CE5D07BFA5DA8EBDE83 3E75C6AE8D8E651654E11008172BFBEC0C59F83BC1D6AD9C4DE8EEAB779C1F8DC479ED084B76D6 D582DCFE08BC4397ED71F2562575232D9B41EA2B5F23722DA40231E9AB85677C29A6BC37FC36E4 DC4414661CC627EBF94AF2B13CA571DBF0105D08632CBF640BE1A6F4B33046238D62D1189692A3 6EC37D0299B2B43D8DCC06D374EAF0B5D000A8B144A954A37CB7BA6B7ABA3617BE2F719FB95410 5179899FD2187BC906ED19D54D8BAD2B970E7B62AE8EE1B17989E26F340BDAE188F7FF4213A1ED 758FEB0DE33A33FCEDD3B874791B6DA5F63B91A2ED5DCD67180D374562A2ADC73359CE9EDF88CE 824AAC15079441A95D8F0EAAA18E6CFE4016326A75A76C210347ACAFBB90C3E14C7732C8F5CE97 CC4A9CC6E2F1444DCD170DB12A9BF832CA1A238A29C61E519E9F00F0F5090E84933F35FB7E717B B64991ECBE650E4864B24ACA929743EB77591F64487789EBFF2A2BE399C5097D6C673B6C5A2179 BB3E846F49F2F83F3B1F360FBB2DBA6AA4A516EA1BDED50A497ADF520F2D18846BB30AFA1B732D 761B6760080B448963D77676D9BACC127E5E033E4F1215F0DFFBF74247404B276201C39D187DB5 9886A597E04E4CC05DBA500A24C9F2237D5BDD93F9089B92C653E47AF8EF00E62F5F22FF8AADDA CCF1CEEE6350F3348792912DC6131FFC1DB93FFCACF5B88C96F5DEE570008CE39B1E002A24BBFD C3B0A09767B24644216BF8905E02EC1FE6477575E3C45DA5A05BE475C20DAA7BCABB43B4A9F16E 6C5FF5483E0F5178E320CA3938736CF32569B61BE5BBC724D2AE0F970AC88A3B4AC2DBA8DE8ED0 D42D0215D47CB49E69FE1D7D7E40E87D0354C835F45735760AC02A1324ED7816D9838D28578098 DE0F1C6505133B000164083310573BECAEB20CC880EE592845B6CB4D3F2C94DD06E3AF43242499 56C2DD51FE2D2208E32FC8A837B4705B71CA68D7214E92F2996066AD6BA8672A2B09652B3E1861 7F6B1B60CE18F9EE5BEA3616C3EDEB9AB79ED7DBCFF05AE6C5E03F33C4B20C5D2AC8B049B09A80 1EA83D3E1CC5C3CBF608B39FF2662369B85478EBDD4565AC7E6D79CDCE0A36E913FB6A6A098B4B A16EDD7BF1415DBC0A31DE30909DDB588C573FA54C3A7C703D76BE975079B781073CDFD60EAE69 6BF991B69DB54FE24CDDB02A44CA8C32F0935E77A5B8339F60FC8630A0E921A444643D68501E25 F64813FD94AF45F9040B148BF0568C1963D9B26D70995169483B011D865DD264225322C45FC65C 5172DEC70D0B2B792594A9CACB21A225E8D07908A052AE4F0FBD3918F7F9AB0D7D2EBDA5F0E07C D043048C5DA8F0A38C225D2C15A5E03689049D80463B7CC35A54E202FB2333707E0A3682B85150 1BE15715A94AAFDB49BF6BE5F80D83FCAB28B0B800D685E658D41286D4BD421DF10428C40577AC 36386FC6B76FBB98BFB6A13FB6FA40C6837680CFB1520C0706254FCE622D14AEBF58781E0BF2A6 222F54C43704D4E370D0AB3C91F4D5501DCF69FCDB8A08CF7706DFA456A11913C42F61A832AEA8 B189409E146557338AB059AC7BA9CFEEF2AA969C5561B677414A91680649CC3DAFF576FE686F9A B9931A749AD17F6C0C90120AF8A9584535F1F0B7C31134C09C8CB07D857395F00D98384D8BFAFA FE27566AF9E96915870C87499EBF243D8EE8291E60DC73C8ADC2886E4D9808A39964D24B8EA30E F93B04DFBDA5A5B868D29E3945030AC0A394EC4657B4FAD9D2E2C7965DC7EA916A3E20E67BBB7E 99D52554D224938DEB35B11676F91F5ED24BA6670F574537BFBCD403F09212C3DFC3B8F4DD9EEF DE27656AFA41B69D9094FD23779B37D6E54DFB6A654923AA9093006B23CCDD68DE0D6DC6E8B232 464DF25412DA32486A81887450891CE49172CF0033C3CE0206B02A9BC94FB609491BD3B8F2D7D9 080102AF684EF93913160A07FE787B1FE843A9064DCE5E29612129DFEE055646FB5BD78019058C 8E32F297215AC6313022C40FF4BC9A38529CE8F574DBC54DCEC0FB37F1E99A50166F8D7FC40AD9 283482952E0692D21C6B8FD7592B48D77BD3487EDFF6935DA9F4A926B5CB625C994B2365A39688 095B9C4663254C7304617D2ED79F333F5769BECCF0B88287F1708FFA7211BC0CF9BB5715EDB733 6F009A6A797EB3656F8B82AC930695A511B8E45E200BA82B81F3378BBE2196B4B6CFA19B829D8F 8FDDA6006EE028965C34CFFC5D71ECE1E9864D5C770B66828B9CF8783AC1413371FE27FAFAF46D 992047F64C1FBCDA55FC6525FE5CF16E681FCB6F35786E262034E1B1B4F09CC4AF3A478A30B408 498D192C627B06AAF0D88E87D4FE13DC14A9A8A20F9EA404F8DC89C122423FFB5B0E3B88F25C4A 44C799449D13B169E28A60C86E1738477256CE22E016A0319B60DC8A9D0426BE137616962BC736 6BE6780942955BDDE4CF4CEF3177E9FCE58E706B3BB8A013BAEE39506E7378A9C5A1F9AACA2EF8 224186542501B765F002B6B35A79ED7A2A77DE1192250A3D119B687D0AD2CD269348C65075AFAE D8DD82ECEF51DCBC18C374D8A092D99BAD3AB5C29A8FD28FB41C02EF3E4D095B7082E6D5EE1A5E 4306C9E877A7BE348FCA240527B4C349FF7FF84901A5D22428B27AC34B44EC507447644BBD5501 8FBA01EBA3693418EA2F6906EF3C1577D91B63CD0BD2C519597EE07D98297942D80B0B65C25987 949083FB0642DFFBBAD74C22C3C10102E57C7AC0DF4099C97873DEF713944BAEB920287B8E093A BCE51BD52CE45DB3C6A737A55E1A00AEAB50E71F5D5B0CDFE61551DC7CC3BD03934DF272BE1944 EEC621EAC02DAAD8E54E04DDD2C3F02CEACC947C799424EFD1A6C75C7A35BDCAD1DBCB9F19BCE4 12BB019CBC7525536C5CE21E32E9B9AA0685C7D3BFF3D82EEFD684E8D63A526018F4305D137CF4 6B97BDFFC1E28B7745C808293C24C849C9C61E93CC64D99820FFBC5F1D9F016DDA621C97FA8418 A0410F78DDF4531885509464E55C2EEBE23AD17C60961699668EE76C6E44E0D0BCC839B808ABDC B6FBB586C87A957136216953315981AFB2089C1105EF07DC47E5B3670EC1664CD13718B8DBBC51 746750AAA374E71D4ABDC31F8E8AC3804E908597CAB8B3E70EB42AC67A0B5B1E2E628796BC3A69 F3DFB63DB7DE4E40411CDBF98B86688AF4CCD8647AAE4E1D608A00E0834E7D34CFDAD8C95DF21F AF62404643BDE3700514BDDC81BB34DF75C7F8EDA704B146D20E14EBC98B9D0A11218EC8578BF5 239E5633605C769EF3EF6855F48DF16DD8DE5320E1851E7C17311CEB2F9A2811424DDCC0E6BD36 E45BB5191D890197657B66FEE05B83ACB88E12BE1A48D66949188080A0F2DF71DA7A2E3B072B23 FE94F176216AD5F8DBACE0791061056E5BA4364BB74273A93B853DB23E396116B8C1C3F3F8C545 A42F02D45DA7DD2EAD34C01EDE163FC5B9400C0D39BF0CDE1B1FCCBB68D47B44885EB0AB14D205 A30D1F2E4E1825D9742DA3EBF4E47F6F2F750562400C54330F792A998FFC158650940C0B115282 D8C22CD34F8CD532ED3B94A5496C33B3802AC5D627B5F0A8706311191EC4252549D813C92A01A9 804B39402660B489095F9441D958FE3873CD6E6FD3EA91EDFFFFABAF460B71F1C1EB9703A7D9AC AAA34337C306B67E7460AEE1AF02E7E2E49A332599BA8CF2309AF2703631B4D91CBED26AF49410 830CCA7023A7581E2ADB97387A7DBA23189AA993B86BEDEF59A72F246A4F58EBE354992D91514F 130AB2C167717A97D647A157BB6B1D968AC86C9A97E8FBDE9B2E141DA7A1EFCE2139D13F0B7489 51CE73B1AE93B19E93B456C491363E045CD5A4C79EAE5174F332A36A9BC1001B793022983DA2A1 8A8C7FAF236DA88415A4C7A262CA714E373A7333B366AB35B9E39C7389A9D3DC385EE951F66879 188C6A50C3D9556CF70C19F3308ECAE12009C324F93F69E8208A2A8E9686EDBB141B1010368ADA 78EBF3E52BF05827E453A9B2318A7A31B681148419434CB738A5A36A9A3905DB00F459B265C793 41331A9661352E40157221BF0D3EE9A3D7E109BD2FAED3FDFF58C8B17DD8D41EEA780A090B6A61 E84CC84E0B5A07B7F176E3E3B21FA67A6E51B154DB1422AEBB3F11DE57E3A2928440BDB1005BC8 58598D8D77F30628DE258F26674CADC2AC1E150981DE5FCDF9A8134859EFC953524A83C1E5F4B7 0AB82678DA8798AB558C1981DC65545E9669AECC21EFF0F428709FC457833E593AF584435C6D49 7239E2E6FE9F99A4456AB8CC54056FE1ABB9C591E11B8E1FA72ABD1C07F23BC65D83BDF2914F02 7711C1B5405FC84371A9050FF9B85F1338CF24D44DB280A284F9DFD368816027C9B21F41BD7B43 1AA73797585FC93C0A5EF1353B9012FDAB80EA8DA648A32BA684437E904793FA4BA37F83A86CDE B9AB4FE06B5DB0172012CF27613FBFEFE108B459EF13ABD1F266E5921B51ADB35235A90B8E646C FC94B8A2D25E295055827B734D965E91B5520601415F93BA0CA60767C60AEAAC82678E59BAE9F0 8C33C925768CDA423369006B6A84E9ECF4A9576C94FBDFDAC3281E13E88603DA9913BA1E148A6F 9DDCD19E24E39B221001F6C824806A04747CB305F9FB7B22AC6C5EB18E68473959A5DB0FEB5EA4 38AA8D7292AEAFFEA89E9ADE49034E0F03C2EDDB57D15C1106F2C50FC19E2760B8C8D1F3F21CC2 306485BF437BAE4B710FC4DA3A7AA53F9A5B0EC13488649448249348B7A1618F5645404E04EB48 D809DC0BD68CB12AD22F4B46FF2E9B8992B812F2CFC9F6B45FAC4B6180479E76FEAC7946FD6DA3 965085CAA176FDA9881036220E289F6124632367CF7660E0CF5341E675A3E7914392421C1CA647 103D4B9DD026337C4FC5A148C39F231151D9E0CD4413DE03379CF0DD10D829B95CFF70A88BF541 6B6088529B04031C12B75E601BD72A1C1CFC52B5D377C5B80490105A0BDD5B6FE5821FF77E1A74 DEE5AFA5ADEF8E473975360965C97BF48CFBF7F04DAC7878D0B2190A66596E10934EBC1DA5575B B5851D04C34BAB17979B35DF56F5E3DD914D6DE19F22310854513C2766AB6A6C58481B0993CCA8 95B73C3D45414803FDA3D413F9220AE10097FBE7A9A6CDD150CA0F8575F8806B7F8E35D17DBA0E C9B5B827B8B28E634D4DFF5890D40268C96A752A8D03EEB11F06C7736EB608B101C21E71CEEC70 73B54CB639C23D11344393FA857ABE72BDA7D0B8C1B47C92A18514EA4446E6BCF3C71305E53963 9A0AE965D8E0E14B51DE79531EA5C3A1C0A9F8B8CBE42A24180E09AC811A85811A536C568DB390 8F117D5A06C075C452CC2226A9DF157D84570A65DE6119CD69BC0936A0A4E2495330A023EC6C79 EB8845454A88ADA1D22B3147AD972537CD6C8B7F1D41B4138FD6E89DFB65D12BBAA25C0E182077 755AF5F0B4147DE8D18C59FF1EB4677FDDCAF2FEFCC49C0B3206BA2616118A86F85FCDE41058CC F8BAC9045AECC291C5AFB4B92B067315BBA38295C256FDE9B4D77B99470DBB0B9240E682CE9DFF ADC7DEA34BE240F6432DF291C19C1F2A4FFF206C0832BE628EF15672A3091B7AE7967980D10E03 6EAC6DA540C09501ADDF9860C59E6D721E559F3BF80BDD9ED0F5EE3E95130ACF6C4EC7161B7190 CA4D9F74FFDC060CC39FA20811C6A1725CDC2F61C080036181AA26C43E056D8FF2660F492C9989 351B3844CC210FEF0694265282DAFBBB6AABFDFD6148B3F2982992AD34BAF3E34BC1E2DAF2F45A BCFF9A9888412158C73F0289F44F7793B09AE11D7788B2DF2539EC09F0FC7EE91DFC836070A38D F12DE1B86901966497AE0EFB1C403F81DA5CD37041F0242B55718A9B4855345EAF4DFEB6A0020B 3996618CEC58C0948B8D68042A87343E81FAA82A20F15AFDCE6856281D80E7082799B654355EB1 C515B0EDB842F153A30EF109F3280EEAE70BD11079B3F339E218A77A5E73E55F7738A0C81D25FD E5A24EA899FAD8D7D5F156BCA8DF019AB31BE0BE898D521D93E02BCA53F7AFCB1825A07BE7675D 44BB8868354416FA3CB072E032ED4E14397D89689D998AB3540F3851F4D271F0950270A726A885 5FEB558AD353308D5E1448B3487F895CD02A9F1FCF7164D32747CFBFD7BBFA63470E84A40ECD60 DDD9D4A140C1818C9B19A67F4BA7D4CC9582445E58F4A9E72BE3FA66F09FEBDDC41AE995525840 94B372CFF3CCB76A6DECC20991E38C49B70834E1649CADED29C7A3368A93F19D19C8F7BFEE958C 021F54731E5E6379292C2EE8898058633DF19BC5F7463B48BC12DC2DE92C3AEBE2E7EF273172A6 B064B6073BA7950D9B203119411494E694098803849CF3A2757ADD758C726291407085D17B054C 0B5AB36B843AB10E40BC1D556E42F6D12A4934AD98AA1DCE1F3B5E36B3CFE961DE91EF6D242AA1 93D20582798DE7146964842BA49934D8117536BCDAA1BF4CFD39FAD56FD110128506F3911A2F80 0CFA2AF2B6F7F931645F8F7A48A29341BD7D503513600E8CE18A086578C158BEF4222141BA1AB9 748293483AB5BA75094CAC69D6B48D9A598A22843322D71FE4E54D016CBD139F1FB38730A137C2 B56FDC38FDCF4B911AF65D9666FE871A0184EB3C8677AC77D20B658D211956B101396C72C63821 5C21FCF514615F7FBE4EEB17DA9E79AA2DDB6BCD486A5B3DB522C49E78154749D9656EBDE63007 21DDCF2D738EC88B96E2018A76BB47F71ECC6D2EA330796BCE78C1502AE033D1B936ACF4B14FA7 DA665A97E4FA3AC09F9C269DCD5422C20B8E5E1E45322663041DA01CFA72787E903D4D3974790F EE22666ECC6C89AAD89F01E5C683D31B69D298D5C82341E17737413B44B8CDD121705A4BC6BF67 2CEEEB7C9F8B13E1ECB760A7EFFC1CE62249DAAD1A5F02D65FE2DD8D76B964D1EA8BAF9AA2428A 020CE6AAA48034D0FCE36CAD982A46428D2A2B2741DEA674C018C12713289A89A60860719463D0 B35C76FBFF9C39A73B3277B357493C704E1BFBCFB86BF566ADF70F0DDC5D3E01A0413511358924 2CC8DB3107E229733968608BE00ADC1E0DE80427C65C74F696BD256A9E74731EFA182028D00EF8 E686A53676FBAE9870E93CDB7C3AE6AC9F4F629E40D209EFBB2961F89ACCDE817C4906DE2050E5 DE9646B216E31A4FA02F9941A9A104F656807969E5ED4A639000C7BECEA5499B6BED13B00C7FD1 1473BF322B3A56BBB290C230C67FD50EFAE3DA7C2D8FDA27B0BC66941F8012FD4A40D7E65E7CDD 4498B63C452F159BA17E2B938BFA3439BB0DC71F4551EB5DD196C8B7C0ADAED1C255883DFBF900 94740283291693C9DC77C514F450552C6612222538C52B6474C077D71E1369263ECB4948194514 CDA6A491EBA464C262D90C11FD4706D39EB5F3F4EEF27AAF150DF2EEAD7EA06E99358ADEE0F1D5 9A24DCED2FB72DB849F4EACD52393C6EC86E9CDB78D36B6B3280BD7B1C3DF08DB3BE73687232DE A4B6B585CBC3748164C055F3D7F53C33D9F76B5DC7AD74263EC362D9E2FA9BF9E4247BB900C4DC 60E9B4898530DDEAFE2E316827E1CB13E9E7CF88D9FE0E5043A55B8A5B10CE654D2D31504135A8 5EB566691B4812D6E05F34BE2DC6C1BF70CA19A6633000732FEBCE0EBF4E28721B78A12F23F79F AF43F2C600D41EB4E3690B7EA24FC1AA3092B5EA5AA8F479F4F54B2C7721351992C114B8A79636 FD235EE91D6B5B1BD5CD918EB3436C929DC151CB5C42EF4F62D21604F0F1EB3E01AA78487B4B93 85D0E09B8E2531D936F5D3ED4D8C244B838B8E72416F9D4716C41C89E2980DADA92B50AC976D38 7F9E320775EC1E9B09AC93914E01A71566CA9343E853CD63F9C0ACE1FFC41E00B5003AC5FB68B8 0DAE5FBEB6CD8419E2434DBE40D017FBCDF617F3A8B916EE5D8ACD3689A9FA438F54C5AE5C02E1 CC6604C021400A437E729C6FA9BEF55A049C7056DF91C68DA0C2F7990B97994A10DCD49260FCC8 BA315238CC2DEFD07651DA975DEC1889723FA502E4BFA7ADDD25138C84BC049E4ED25885B9AA66 4BA18B23764C3AB41213A43393EEB6FB839AF29F9E4B7AF4317E455C7F37543C668AF9B8B6DAAC 068370E787B7D64AFD0E8C010CCE9BB2C0D67A6D8CA0CCD2F6DE3FBCDE1BC6CF9F7AE893F93AE2 9BBE9AE62921C176C9D87DCA4608DAB3A42EE9C2E1F3180D200CFC2CC9706295BF2BC5B41F7641 1E073C36D501F7B2F2A482D3DE67FE2A65AF72A909539D1109E70800A0126315441464BA5D1685 0D04455746B4BBDC085E7D15BF2CA5CD8E717DDE8415C1766057473F53F74E544CAFBA17D5A4D3 F784383FC5CAF153263794C8DEB9C06157407A0D65B0DFDCC20381CA0B54120E874D8154CBC016 6F015A25CFCDD50A79929B2A9374BB734D3FCE5A72E270089CCF6ECC0FAE93FA7397DB79AC9303 161BEC51B8C599881706B13A67324F029F62DABE8BD38D6FC5400FE28EB90033CFD5A1C4A2271C 8375AA995192E491436E96AC474DC3A055E5D0DB75116C88E3E4A25810B15E82CA0FAB77546305 7AEC6DFDB569A2ABBF5F61EBFB535CFCC451DEDD1001DC891A73BBC3726592543D15A2C90D8744 01B996B839AF5AFE5AD85A2781A769D69B079486D4B5BDC1019CDB69046E4192EF67EF3004715D 7E2D48FD1000DA93C2D7A963FB80EF45A0D53E7055D5A8EB872BD9191C8AA544B8BF2FAAD68531 3909249571656A63EF113AB89AAF3D12F1A2793197962910D41C5C69100348C5B486EA8C35429D 11225142A70A578B5D4AFEA33D6C6A6C20CEE87CBA9CBC30835067EBD602C4B7EA3C7A41CF8061 B337EE9C4E279E200C924B1DA0D81C70BE1830487DE961BB8943008D6FBA2F5F5C0A0E319D0EE2 3C458A69D687FAA5FDDA985B3593CEB75D0998736EF26BE2DC2F7ECF417A5D140A51953D9F06B6 F7EEFE5EF1B13DC525EAF8A203D4371144548DB8D849005BD175354B9E0834213EBF25581765DF 7B4D2214568C79A2E0E2DB79B6D9A330B5D58D9323CC21654ECECBDF7BA36ABC9F3025AA414A12 F4A08034AF437BD4A184811B8C861D21D68C89E1D18E51AC98A308F91D7CDE402449FFFB4D92AA 7CC3EE25DCD81D03712C0CB1666DAA5669C7552C19679A2F1367A222634A3B3EFF7CB21FBBC0F6 BC37C62BAC7FC3DA19533344EDB5CE57C8CDD8A6637A75CBBF8100B8049C1F1BDCB695FE052A13 478D5B16E025975EDA0599E6BE78F345CCF99A3494F610FE4614CF6D7F495167F8624E5A837157 41C98DCCE432A70222F4BDB2C946E804BF5901E43222D84FDBACB5059DD9BC9A874C498230D3F2 5699F647C873D6017488990C25F4A84EC4C38ADD46ABAB93A0272201CE3FA3B1CF239FCA8FF519 8DE7474518CE05F3F0D9E72DA446589CD7C084B3567D23BCE3049FE59F05F542A29728B08A9BD6 E853F3637A4CC9865196A24C9C6C38B97E2D2005C2CD395E94260AA7530A6C136BBCFEC333D0FE 74014E6FF97BB72CD076ADA21B960462B0EC7097A7812EE3044B15293A02E3E0C71F76E10ACDA1 73F29CECD6D9AAB7CFCA3405772463CBE2BA6D23A270755C3C740A5BC4AD27C35B95932BCD8B81 5F2E8786A8FFA7746DA891C83A962A3D88A7B62C720A0C7360397A4AC79D32EF020C843A1AD856 14FCEA427D7D452ED6D25227BFD6A7C49340E178906A09D616337FE7A3B44854B7B449A4856F6F AD157366517850666FEF127EE87E97234BE5E8059E1975261DAE35308F31C3E14DBAC56FD7C055 BDEA02837FA4183F158F87150821DA50FE1A57A76484FAB98F808C98BDDD40661FAD8BA00E64C9 2517E259179EC40DF9EB005F517EE72BE7A3F3F2274C6FFE3712A4BDAA872E19D93D8C01056474 41D72B163B460947977F93206CDA0282D63F3B5DB0D8911B5F921D5054081B460CF6B213D2547B 24BC46CCDBFA3E7AFDE74501B68A31BE5ECD011F4CE6CFFD3D762B2D90005BA732F15581AB6EF2 E99264A0E055EDF3A2D8C9CFCFC0989ABE3B2E9B8FF08A2BA1EAE1FA92D49BDE5C447C5C156CF0 E5D5EF4A45A1CFA72554B0AD77520C7256FDC2A7056492D52D6CB45FEDD5D627A28956397B0869 AFBFA53B5D3D113E7ECEA051A0E3FAB7CD8E62BDC94F8B482EDEFE3FCF9D391E59777DE81E5609 D92EB704435B291E31CAA685E21AF491ADCB2E2CB67E42803B9B84A6479C149206CB57503F6669 323DBC71800844D05C335D966398B4BAB12079965768236D29994B9B4E3B5794D6A8976D2C87A9 1AD31BE5D9603A7C3A061C3EC9827E6E48D105F093CF11E188F236815D7D04B879AFCF4536C9D7 9972181F3B7741E48C7081CFEF5A7CF0E1927E80DD08E3EA3613F5C8671753A00718BE42EA6746 D9532D5A9C6C705FBA16822E7A847E8B1C178024754B812F6B08CB7B679B5CE29D044E9A2F41E7 CE6DE6B088B3C1D3CA882EE6692CB18DD9B5070CAC224C95BD3BE0F0FB07218947A9B398C40D55 D0E09AFC788D43392F122DF3CD74612A2226FBD74A50C53456D344E3725E21DB2E2E196FE1532E 0EA5CD3772C9A0B3A3AE8C3C64DFEAE4C21D12F570A92A84C75A878084EBFAD870C1A5DA372DEA 433EAFD79F350EBB0EE20822E5A52C92730FD2A0D08F9A004DD087853A48D49507AA5B1A127D19 921DBCE86CDD407B5B4358E098AEF334A9FF7E4AB3DE94D3414E47D758A4F37998BA6323A27385 0DB0D41F9580341570A4CA7149EC6E4F5D952E5DF8024F86D2FB962D7A717AEDB7C95968D3DD41 DE45F380836F03B9228401B5A0EA8BA64D7AB60C5B45B8A25050B985F63F66BADE6AF149C0BE52 59D368ED1716D125BF6B5587D443C6D5ED7257C28CAA747120565FDDC0078D4D805BA937244772 37927A822AB6E08DAD4A672F28C0A1159F061F46E41606A1E00AD0C9BFDC0DB57114083E319A71 E150F6F2B5AC289425F6A7A440A83202D4AA8B4DE7492A95FD347B281D7EDF6342756511758D6C FBAAE5E073F5D15A378F36DD1898ECAE4580C3BF89D6416CB521506F86A2FAFA04A91A93B191B0 ABD5D7725EEDB2B5983C17333B78D7DC84EBFB7E4A849D3DEB1676A44DF21535931FC16D9D818A 0C5A8FE5E44279E12BC1CA2E8B2EBF90576CEBA9656E2EBED725643AB26341D9DA080EE57098A3 26B69EE4CEC5EE684C61D03876FBEEBE651D980738CC23CCCC7376328314F5A6D1083552631627 1C01A50150FE8547B4BCA181E1D887EEC465E2AF3CA26D4FFA699B0ECB9EAB0DA71A590AA1CECA FB8DB0CCDA18AA76335DB7874BDC49224D1DA363011B0F7187D2E0D8FD19189A5C82C4FFAC4CB6 0FA7B0521BA5194D1222D0779C74EDCE672848C275C8F8E9AF39E0DA3D8BE9B1BD4118D9B11DA9 D233D9CBE8C5AE5D2A60FFF7D28565A660D27F515D6FA0897CEAD04C6D6E253E0ED5E56DC1F005 FCE2AD618F79CDA6826875D91262CC6D6A64BFD70E7FDC965CBA9C6BD6F251748A5A42BEE4AB29 0E0262A4DB580249A00C69D1CBDD49E3AC700CB973BC9358ABEF8A116CB5D8D4668C302EBDF06C 9504684D7D18E522F7C42EC6A77171552B873E753C1A1888666D23E6F9225D092C6DBF6A0D27C7 6933632C5F1C5E01C8E139A9EB9BC084828F85095BD9E6EFA0224F86977DCFE653F00AA693623D CE04693A7EE2384A285A6BD7AC8767166FDE75194E326CAF447FEBD242CBFC71B637486F9934BD 1AA8BFE3CB85F3DD258E079EE910AFA64770D5E30CA9B289A4D7FB7CFC48A7040774D36E8CD061 AB06FCD9234D5032EF68AFC943850E53C1C3980017563C67E89393B8EE4D93585A4EF1533D5F0C A40FAB6EBE8721F58D05AA69D6067C2D6CB03FDF0B83DBDB696D4D4AAF3130A98729DA58CCF546 AB2202D0B4ADE6B4845A1202D3F2456E34A1100FD6D445203153A1D11F3A2511CDA83C936AEF3A B05B5FB32B76029153B7FBE02057AF6993F47149E90080A3AF7CB29762148D6F94520A343E525D 9646C0C79F1C79E75470D232E2B2CCC04AA8990909E0D26DC540582B699A71BB516DC2860CAF4F 6F0BFC7B5292052DA41DB92BCD030863A117378B93DF7CD9B0252964BB4D80004EF8B3011E9550 DAAE2D24F2D965E90342D847B3685DB05631D550C1FCD76C3B3903ECEBA1A2496F0DF28F4FA367 C9A9FDB48E5E1410E815D7E93511EF7C94224686BBE827C833E4C121747AF79C69A27A0DCD982F 91AF0BAF9EF3F9921B795BF42B817D93DD4D816DC698D063AFB306CC2000B37AE93105AB2E6DAE 32F9DF44C09E7466A62B2AD48B216374610994CB120724D0000AB54F6837DC64ED4F6CE8684B14 16D7EDB9D9A399D39274FEE6FD41D8E412B158A26C304FBD7CE0C4F96D01F5AB8A20B1FC4F00A9 D33AAD2C656B31053198EB4704460D476FF2F505321212903FD21E2059C470643152B99B2E903A 491E8E394BBCB2C0411D6D86210D5C3A43BFC2E01EAFDEA712F6CCCAA90ADC2A358AC62718D482 FC31914E0157733283BCD29DF6D2AFF094C2496BAB6AA72265215A4BE34363EB879889E7727AAD 054F90172C1D6858C8A338DF6C1EFCD64DCA8ACF46038F48392E75DD0BFBCFDE8EE0791CA2C0A2 8AFD16AE56382ACCAFEE2BDFE97DCF38532C19BC5E36F9E5D82806D26171267BECC9FEAFF3000A 005686633FE25967BED0096843C464BCA03314F1C5971FDEC8E24B80D0FD97B7E5763B427EBD26 FD8BD086A2C45FEDF23218CCD381BF364EFCAABE04DA6687241805E37AE866786DF98C62745FCE 9E0D6332F2BB90C0B2EFF14D08E8EEA6BCDF650D8996F48355D26CFBB859CDB418973A65AE2C3A 767758AB288A038807F4F6469A823A9EAD746560130A2A5308AD0C3675CA8642B2B9FFCA8382C6 E61D7959D9BB369AFFAD1C69BE31E00F0B23FB8DF407C5EC68F3BF298A35351844EB9653C83A01 EDBEE75F792C502DF53257121DC8A8F2670AF1FC747229B53B7100D02E73821E176CF5B7518D53 B420B1BDA8B70CEAE801D745C66231E62797084CB320DDB021BD5830BA1D3F49E03864E6A6CD35 34511FBFAE8A4EC4E3EC817228C40F7F87F524790C4A3C4C90C010CD965016345018C27A1325AF E7F8F4A0F0342632D1C5F9E6728CF930F789A0F3C740FBE88015E052168A0D722B1621ED710BA6 6842BE691E91F33EFB0708E3EA188DB42E8F4A54F77D61725731FA2E2D61F245745AC1DBE231B8 460C3323CEC60BD1CE92CE7D1A2640D1594D24683D5E139164A26568544FD89F144F57905DB9B7 EF81A36BD91999CCAE2192FC87C88F33B01C609A981D675A3AE8B13DD05E2622808826ECE05EEF 3A36E25D90EA3723BF34BC6D86CE95EDBC4DD3D088869BDB105A5334B5108FADF1F336605A734F 17044A5EABF468F4258F9E9A3E69551ECF0A4E8124EDB178B800D2708B95C2882A757568CCCC73 C40671BA1B7737F55DE6ADACB84E87889738603A6D8BA0DB1D4C5B3730C169DA35017D477758E8 9A33FCF009BE53F959C3F22973887E920427A968730DB8576A07C801969F89C93338A605B8A961 54C62036EF908C81E65DBE441031994CACB043755E76A2E55BBAF6628B1AEBFEC81EB727662E1D C9DFD4149217DFE632606ADD92D2CA4E14443DC01CFE7EC166A4A2BDE3A06BCDF16500E12CDD2F 6982F19E9951AD81302D2D0A20F070E75C0A3EDEF40AEB126DAF98250F6F3E38F4BC1B626E99DC 647644AE6E4EAB48DA046C826AC7FECE466C63F75B872EE71F4F3A2122A383BEFE7103107A6169 76C4FAECB19EBB850844FBEBBC161506715C357B35B83DEE1852B7268C65F87F4C2F96C3FECE37 88A902F46571F0994A6586E7E582AACD11EF5EAA69097CAE24C610BEB303387CBBA1DE0D075FF9 0BD4BE7E07C795A248FE321B468E02B84573D7486D59CCDF8325F94033EC633D2BF2867A42C0D1 E0B0745EF8D9049D18B2AB3172093793F4CBB9DA888AD43FC22C933FF5C4DEE3D890AE21B280EF 2DCBDAA03AE4EAB52F81A14412F26D2D3F0D49C8335D8EC4CAA6B3596238A28BD62261094E78DE BB0ED51CEBDE25878E1AF705C61D37A71FF60AA47FA39DB6DDB5EBEB281584A5E67B971502716E 668FCD2A7589DA07917A048F796BD1C8512894F9DABCF712C8CFBD9B5C7760C6CBB3BC6031F288 235BD791475907E5BCC6B1F300069EBCDAB1C3DC52E49D5C8D95994F880C5415124BFDD673C492 CB6E77C8C44EFA04F7C5FD357CDAD23CA3642AB4359A52DFD2341072E368CC76125C0BD7607B11 A7607D35F1A97F0B30BB56D4FBDFC9FF4BB4DCF7D670E7F5615AED6CE0BFF78E3180767C48ABB6 18F85CF1328ADA21E937FDF0F4BEDF9688870775AD55A0B19B20948BBBA1B75C1DDEF0C2293B4D AE1F54F4A99D98F9B40C915990A6A08D5464AFA2F33B186DBD382D01F8B7F4341914311CBE2507 DA3D40A333890E08236DBB4060CEBEBEE427A4DB8169E748CCE7917C4632FB85434C2AB79DEA36 5394EA461720AFE26B51367BFBBB310A3CBDF0509EC75C97D6EC15489F3E2AD54D5E76FFAD6809 C8992975D9C694EEF17EC52E78EFC3669B570D69ACCE61E5A7D6E73FB37823D64CD9A16BDB485B 9642ACF32BEC3FFC593E03C3CB71867A0CB57DD13A93DCB093276E85D153CD83920D560DA50C21 443C72B521DA546F12857BCFD5D372E71E0AF1C98EF482F04FE2A1B577505C602F0413A71B070F 131E9DEF87869FC219DE59A1CC19AE38EFEFDE2B69F52708B60E48EF686EB362C690DE5C031D62 E9ADA7469297531BD01F6E39DC78B7C6830AAD04277AA98EBA1D82FC0C00F5A6A1E108CD6835F5 53346E921D728F1B4EC0B9930255A68F3E9031F360CCBDF01C9681D602A5B9F0BE055269D419AD 73FFF504DBD4953CA30D4CC5B4C57E7921D6E648E57449E189CF7820BAD4274555CA45C66EF0DC 34DE52D3836812264986B454C9612AE8F4B1A93C86B5E4B7DE304AFBF080BCAEF1C62FE35BB3BD 335910FFD496760CFFD002A20637C45690466EDE85A4F28965CAC5C66F323D3960DE8389F1A758 027BD0C3188F249FD61545C1EB9D78A0EBD81E5F5C2C8445EE82C0CB969D788F1FA267B18993FD ACE99B21A214C69670C77D920617074059D92819D79FB4BB4497F4E2BE1D8243AE0DFDDA0603EF E51D1F3D47135D354D9D7F756CAC72E35BD4E8DECB1ABD53CE2ABA5DC1526A10DA69DA2FBE9328 A334381E0CB929266765898FD38B74039766985C88C2BB9C448B767264353A0BC63B0FD1645D71 026DF2C08449A9F32F25C4F432119BD9A7014AE3B43DEBF621C9CB92346ACEEB5C2B599D553708 2E054C3A5680A08191D7B87991C2ADB192BD11545BA9F5096CAF2DD7B7EB290E70AB4FDD3989A6 B7CC123DDAE328E922100ED8C7FF95867E9A168F1C9752557AA023C8154E9BA970FA0219A9889A 5CA8D001AECABC4CA840322BE9EC9F6072E6E7363C258789D3096875DD236CC02B078B22484767 D7A0CE87394536A796A6498708C287DA9691B1472D4597DBD49F4204A05191265F836EAAC4E5E1 B1D7687BEC630C3CA744A044993C03D4B935E1CC730FCEA68A2C0F5CCF52FC1A274AA67B3B6177 F4B87DCED4856E14FF00FBBE8DB4E027751B367722ED0B39CC88216177F2CA955958CCE0A9FE85 71CF8A1EBF64D2BB3F177F3F0EBA581AF9ED746E16CA9CCC2B5EECED7A0A2254E766B36AB84A25 4987727F130AA391B5CC2FBB9854AE66876FF09A387F98EEF39D3DDA94CA2DF149EBFB59EA4D4C CBA5B5F464C4C094CF7D1F8970F8F5BF27E4C7EC99D5C8DB1CA55DDC6DC5C7DD72B62A7E5C7B17 D5379A6CD2B6F666FF6CDA9BF690A8839E234EDF6E81BF3969F0DAE3CD69D48A6F5B0E57660BA4 B57406CE46E3C36C0D348EB44C1116878449F9182F23BCB7F33F944D33D15BE83EF3989FB9909C 3D5DF3442D7CB7FF592CE9AFCFBF8B1CE63B02309212969E39B9C1A933628FB38AB7565C3362FF 803A159C82B0FB6D9C8F1E7BCE0DBA8C43C8A269DE2E684C9E20FC4818BEC7F307B6D34661D4AA FF8A34AB31A2B3A349D706A34831BC61ADB414C7B75B78D08A6C748715B7B2FC84D94B73EAA2D9 F1DC97E78A3A4D3375821FCBF80E1D329289CD698DEFE021DC2C620D1558F0D2444AAA9A18419B CF2AD07529D307CFB11ACD08EDDF9371DCF540B2B9AB5D005068E50EBB6F9A0FBE98DF6ADE3D4D F2F0733C8B094202AE749953495FEB3E9E9A645647CB6755B59E7349A1E338C4FA8E4BFEAF951F 407EB9F9CF1698C1B253D471FE553D8DA0C21829EC10CBFA7E4411DEC7167531B006BF1DC11E5C 8BB96793B69BB78081D677DB08C3FA70D050219DE116C05B3FFD88853496D73CA094E3F373C39D F8D8F16BBF9F858CE416D17797EE7FFEEBB0428B15EADF7C2DC0DCB6532CEBDA1C07169820170E 13C5FC90DE91C9D95DCB23831370A5B4B798F0B748C3B80645EC427965D6A24FE712F199405812 EFEEB8DDBA2AA91AB87EAD349C87248122B510A0DF27EE46408416D8CEDB7E69EE2138DD95E526 37D44375ABF3B9C266EDDD81C562501AFF0D4241304A04E71346ED178289E1F1CE61772E1C7EC0 01E94564CD5C9F3ED640D8DAF6C1082CD8844653F78F8000ABBC4F34828085291893D690403573 888EF8347F6723A5F5B7B49AF74B93F731C83BE6AAB8323D2265932ED00046B5A825E1729FBBB1 BA18D48413A9ECDA400E75722E01C74D6BE5DF26B17DDF10C370083A20EF2D1080BA9F2C2E71DC 9C78D0202B9D82EDCC7BA3A8940ABBA51BE105FD8516D8C092EB4BC9297768351FA0BB13722516 110B2C72FB731641B3B15347CD68C894DCF2281D7A028BEDB6D3001D1D62A00A260989511C8FA8 0C3F154B12B63BA7B639E6A111504D0B0865B08F0D9973500C3664B374916760F8588C1DA9A6AF 74E9827194A893D0E419164521AC72B2EF626E544C3461F9A29791BA69814944DDF7032D2D1BD0 D173D18D3E06BA08C209B20C71BA776B7F44240187996B3F4C42A797CF50F1512047A6359BE499 F65E639D59877E7263BB0CE25B005E7A387173483CAAFFFA0DA53DDB86CA12DDCAF8E415FFD59D 1E00855F837CC1087F18471F2146E0E0CC1901F9D1B968C13BA2209DE45FA7FA4863B159EFAC29 982D64DC60F248DB16FA9F08F9959E6FB01543A77679AFB705B7E03995D309B901BBF9860F96AD 7715E7E3F0B66395C953DD21380D8CB1B1791F353D06CC045C457AD2FEE593C32D77DFE63FE9E5 9F25556892714F2C5E319C7FC1051AF2E69A0A557F26C46A9F9B4F176C5CC1B10AA4F00CDCF75B 3541154818360F6063491BE10311BAECC1E27C38F7349B50ECD72B81F5BDBBE7C2F2994BCF843A B06FF3FC7D37D6A5E83FB2B42F884E3BB14D7CE1B181142D558762DD7CA511A79DF94ACE080D91 A001536BE0848CBB9B54FD29B1AD29AB5C7CAE5257AD8D5462DA2A9D2187267CDC5D71AE4899EC FCBD408177396FC553884D50EBB82E5E490A646CE133F06FCA26733A5B8AFC13DE5F3ACBFCD267 ABE6490790BF990FA258D7B1F5E513A92F5438C99D8158512001538C085259CE8552A617855AFF 7EBD71DDE3C0C04B15AF98F776E001200DB7E94D50E7812A5D32315AAFEC430EC116CA41489C87 8E19DE768A2EE390E610F92ECEFEFB5D63113078420EE807194A218DA54D186C412C9906BB725C D4380FBD73236A727895C0BE672D5EF49E5C2714454504E87A8D1B2AC808AD09BB47A8165105CA 27813EC651185F63C5A9EFCC9A7516DF4125E43893622BDBBC8973C8C321824AB1EA53090DA7F1 B3EF9AC4BD5F4F7D65339D0B32884CC14826EF4860B28E0B1CC119BAFD0EF0BB890A020728DD1E EF3D898E25610AAB5FCC83C9FD677387305D4BAF65A7CC9CCFDA17A42E24BA625580F0708FF9B9 9A87CDF87452E87644CD9F59AF16A8E62A9B76BC3385692D4D3C0294EC71E3B662D53BCC95291C 3513C55594FAC96ABCF86A421674B92A8610251D3D6E0BCF60738FAFF64D2024538FCC4FBC588B 843665FC4FC64F6092C6EE7B682A3E5FA272E38C8FAA1CFEA55EF235F5D67D48A46A00FF58E47F F96263D4FEF92F333C71AA3D6E0D3D0325DAB33F60234E980A5E0B8DB77F85D628A693C81A532E BA7B90C071F8B7BB261947D43D70F7B54EDBD1D6F30B8509035FCF19F1AD8779C9088ECC6F9D1D EA48694ED5F7814DFADDC430EB361CB26B9AEB430C31B2D8ECB1D995DCA939E2613CB48C0BF401 F2369329C215B3814BD135E573471527958A3DD8971694A02B812A33F4F5588F06CB0FE949CB3F 648475AF8C778DDBEE0A7E522FC9309A6496489856BE72B91D6408CA7F0F388767C8A6B0710069 23097353EF934B0C6A9646054B06B4FFBA632813676CB24CEEC3E28D3D63C8D13A041DFDCE0158 72A4E2DE2B4735363CE09E06E4E7F8F6A9ECE06F8BF82937A8D893043B7438832F17F9D5E7B082 92D68D0E0617B22E126E740E1B67F3595CEAFBA8DF47059EB6AE1FB15F2DA5A8981CC9B8805929 F1564555CD055614CD94A5DB5487B39636DAC4FFBBDD59665AFDBC5253B475316EEA6888309F27 AD14C2316F997372D5688DFD804F6B6034B57885B76705D2E3484CAA5078FE95592118C453FA65 A99BFF295671C1E9BD2E6AABF1F48A71503613D3A98FB047FB5278A456A6FDFE328CED49A2121F 0D1285701F7400A96D6F11FB99C6A456CF1D792CED72652CACF93B60B273006C83DB3741441BB9 35A5481CECB254F410103A6DD01882097C8D19EFE4990951CCA88394A0FDEE1D763F6381391C85 F78B9A2986AE3A4622E9FEB55B38ECF4F0E0F83DAFF187A734C752F579906668A745D4E7DAC7B2 C7731A61252E51B8FD85E077174BD9E623F7AFB78DC102CC6368E8E115423F4CD2CC4212F4199D C5D6AE755191D6E6BC040EFF9DD381C15FC4659992FF8990A4847A4A11B50A241031194229B54F 00B1DDB9D1AC575529629A161A0F1C98B248C605ED6F85A9EAD6EFB098EEF9810C320AAD530901 5125E1D5887C25E222450A0C606116F1DC2ED89D3F2D3A6C666171371E59F1DD1D5891DC3AC02E 572B135BADCC453EF126F15C986499CF1F3DC7B9F7C9AA47399022CF9DFA28899C679F76BE2B00 1FB281208719E23C5301941786E1873CF7CB4DA0F5F92753624C7D8157683F6E957805EF570618 6E9EB09162F9AAA04D7907990296F899F1621A4976734F9DCAE11CCD969F9ADA669D86ACF1FD71 98D23A1BE3915D8ADE29D8CF640D5349FD3799EF45E6BF86FC60A384AC7D6F508CD17A4B274B37 4B37645B25E34304C2D82B2A31170FBEB0A68966793674C1B3A4B6A117BB2F1E9F7CBD52E590ED D32BBE4CC0F75D0861D37651754D3BB1F3FACEBBDA42355D301510C9D1C35B8DB1ACEB5DF35D6F 76CCFAC79F3BF0C5C7F797C894FED365267B0A33514B8F7600424CC7D6E7FBBE0B0D3C8B6CC8ED 3CE2B4520E2FBE35A154107E6B84CDF46828D6720F62235AE2457D0DCDCF91010BF15D3CAF95B4 A236019BE0AE1A2E8F78F5DEA56FBF1016234F75423D307BE491D29F6C27EFDC11BCE180B20F39 EF0C4A9C72F8ACB61DB425A5376330DCFDAC700910AF3BD767BC87C4B9691C3DAEC8DAC7C226AC 36AF7E444BD30E11EAFBC8BB77181EEA3264FAB7F63142BECDF37B8A5F63807249E618458D29AD 0E1FEEE567EAE1B4B513A447E822A688C5D87D64C8ACD804AD1C81815E287F50BF5630CC631A93 F95C59CBA596DBAE1EE8502E3073D76525FB2D4F94C5203569B02F94593778E8775A87CBAD08C8 256C51A19CF381C24180D4980EE17E94B01AC761F910D6AAF09C5027B79293FC87A1DC3CB7080F 6EC0AB763CDF14F6D7B1899D529C42A262B579A3BB96B693BD793F0BF7AFC8D1B60289BF239224 35CC3DE78EAB44542EDEA0F24828922A702E7A11FCF529925FEAFF53751502F9434B72978AB7A1 2B64E7BD6DA9917C9196EAACB3999225501410C818472B097C708523C310A3FAC7521BF6AB6A4E 9E1DB38DF4D93F9C12BAF67BC8B70AFD8D08FD6F898B96629A913DA0DE669678FA1EE7086A1C3C 0D45AD5C63433C574BDD8BA625897262A06F5AA47FDA71805868B9BBD7914D7BE697BC90C74785 30DBE5F5576058767B5C302CCF7DC6460D44FB635B5AB595F216C13E7A4D54029C1E9281444B5E 3B1FB3D8C7D72BA0201C51F4ABEB9CA263D4AED86B5B0CEFD0EB142FADEE40A950CF441F547B7C 71427C30CA22C161DE130AF5210E5BD0D58AFD748D574B46A2B4EB4D6CCD31F4DAF0CCF94C7DCD 80B0268DCE4E69D97E6F3CCB731536528B5CFE9AC0133871CEAB7FD6B1EDA4FC19F8B3E7D9A92E 9DB50F198B792A13986A2368DE33CCE717ADE5B0FC6F76BE8B4EDE6AB157E014C6C48CFAC5D507 53067E9330A2FE7737A0A8F259E5FFA7A030D85FEB857D785866CA8C6A5043ECE4C1CF30E76C0A 071FEF8FB30CC9BF26CF5DD8ADB87A0C03494876AA1A2E9AEFAA45A98CD71E78608F7523B6D686 EBD8048BC96F91397A4CAB1D5A496B43042C5DE6C1C439B8D09F6381E88F825A08E818297AA27C 1D37FFD541F6A9E5D4B7E8DD8D13F8268C83135C9631A603C69DD22E6D3B76063E5B0BF7158C9A BC9FCCB946AC24995228C48BD031D0A959944181482739EFF6CF2330A6A6C6FB906EB123E44488 F42AC2BE237CB30C441B5051C028B94D9E6B7E57F5A3FF5504756D7EC411CF61073763A5E72FC9 DDA6E3345F58646B69EA140E1C711D794E083623B84A4FE110256FB8543D32A2D5535B7DA0A73B D171049412FED79B84BEB56962E1FFE1A12F9BE4FBC72CFDB9EF92BD60B200AE8D66AEA30B158F E9FE278D8833111AC805ECC90D65909787737E1E1FFC88DE07B8D79996C9F5685F57102C65DA61 97513F85B173200E3222876AAB83941CB066E3C642AD23958B00B17516A2CC8D8BCB0C802CF34F A97851C037E656C30C446C740422991832129889EABB35F5661A430E5A503F99F5381C5F26692B D8DB7E9F6D312A297B697E93831A06F386AE2BFA2BFD9361F2E366E18EBCEE56B82C16B2DA0017 95CCD97D67ACCABD22DDF00898B3C39C7442F1488552BA46D4634CB330D428A19351E401F91819 708A82D856DE3C29180FDC56C6CC7038302E55FAA5B777E8CC6CF4BE2ADBE59BD270658F168C11 096178AC07B7B830C0E782D41F97EF221B7B91BBCBD1EFE3A7AC3BDC0CD61C74638DF410AA53EB AC35A079D6D3914F380F4A376B50892AF20CF28F4FA355C6364C614A9DB092DB38D768211FA16C A991684DFC8F257AB0AB3F18F3D7C89934FCCEC089E6709BAD37B935E875E34AE5AF4561138D54 9A725F4AA92A66364DAD50D00B1E251FDEEA8C145DF1ECF74D59981948C6A393D7DE3EDD731D2F EFDE29D89E9A4D94C69835050FC3D8513ED2C39E9FBFFBB741437DFB73277E227523A45E6362D9 1DD5739D82821CE0DD3963D0A4F01563A82A94BCA4282563F1371322943A286FB67742953B9152 7B377F49334141DE26AD5D170CAE36767A380A794C755A708E339635DDD2F6E7FEB4DC851502E6 F4500CC83DE2F216304D0095190E3D405643D609921A6A895DE6F2EDD003CC4D30A5F131803822 5EE6E072374BF755D5C0D3B59888F5B06D0167BBE0A6C5D8E5504000E4CB71C0F18E01CD5EE76F 102DC77084D2EFCE8D85A8C2C38867F10C945C8F13B12F1470B0260612C69D494AC06D92DD3EEE A0CFE25CFDF09AE8C96ED32836E28E5583D60A8469AC220A4EF63123D4905890EE48B617C6F16A 7976BC855AE0BA10E37261AB4752C6C9BC43FDC20F2355E07BDFCA70F7F15744A973425A4B7DD2 26A11FC9D40FC34A38EF3A05FECECB29D1AB4BE73CB14CB3F6D43542D3A4821D626A3D5EA1691D C39F4E066C1B6C332E7611F13E27BBB6D7147ACDB573E9BCEBCF7E35FD3149BB0362E701FAC28D 7F4D114A358D286E750F364CC2FCE36D3E6E9DDF6739FA1D1710439B28F159AD6C53AF63CF1D9B 43D23CF6B8BA2A6F0EBCE50C5B730CC550ECAC630A328BB269E26DBEDA5FCC6C1AC14FE5485FF1 8945D6C33657E86812E1483AFDDCCE4DA1F2CCD18703CAE39AFD732A4C26D65E29699848C2E396 64BC127F88BB774A3088AC0A1414B0E44B194EEBA2055140374AA338D6B9D49B4BBB64FC859031 9589D4166EF38F1B5DD8E4EEC2B39251FA156B8D00C07353C2B038322D130FC9EFFA6BEFD47BFD D6CC1924AE5046C077AAC80B29CFFEEB825187DB1B72BFB4689673F10EB0DA0AB3B63A5E2E8C7B 39854700F3534AF6854E0C381A051301D24D4182A9FF745437639A4C61AC7C0505D62263A29E5F E0C7DD0702459061330FC9F72DF43336BC1F6AA1B5630E74C6F723098DD22B7A1DF9D710C10D3A 96F90A36693D97F11F285CE3A4C7C799B3C3F28FC99504D54479A6C3D027B48D3B31EF23FA1A11 24840092A41E72E08C3146E22B110346B2DA7BDB75505658E66F493BCC1250A8A7EB41836A2655 DA0E9FED1AB3AB8065695873CCB358322BFFE548A17D79FEB4CF4D4E8A12E6ED79CD0065E1804B 201A45A6F757809D5CE810C02A3EACABC8C28E1C766501B886152AC027E75EFEEA7E1827FF276A 39ED79181CE3B2D94145710CB53538E8BF3B0DE5CD3EA0EC4F7D2BB917BEB5D8856C935A00A4E3 4FFB22842279D7B2993B4213B01B71108D2B6516F1C229FE83CEB9D330B64A9CB9884339AD50F2 14891BB3AA89A6B63193E54F641D0F8416D0D32A1D9E849B51EF1414A7214A65DEAA37C6559CF3 A8E16299F42EC5CFA325B8B40712516E7C9DD6D9E3E1A62559FAF2A49D5002F6DD4113F5CD58D2 A03C8DAD6B18960A806A3335B4D2A4A8BD7C09421B7B5DFBBBAA57A10E3B8034768A634565CE44 B6C0F84FB5AC4DD6C1905F544B830DF14E56E5B8E33CC75917FCA0F4F8C878ABF607E971F8AA6C E6BA24E970A7AE710E56331D3F9BB7C2EEFB6C09835DB23F1EE6942E464B7ADB1C9E08CE5194E4 948223D4C3445D4D91A9D884BC57D305C1E71331FD869E412FBBB3701AB9F114837AEC737C10BA 624F1B234ABEBCE05B6D7DCF8C4FA44952DBC825FC41A934D71A23B4752DDAD280B5EC799278B0 AEE5BB83051B5DA60F34951FA7B90189DFC0D53C0D2B7303EF0839EAEF0A096AB442E5176E91EA A754466D1807B1290DA0D3B3A675EA2EF9D1AD02D177195D670AB368EBA57C4B75ABCDD4D603B7 7FF892E2210DDEDD429D6B12FD7078A0A04C02ABCF10B169660D0A7E184CAA2EFCDC98A2212692 EE0914895248F7FBB690CE2A465AC90971CF57271ED4DE777D8B345259AB02B0DACA97E184E319 8ABB5DC33E9BC6F92744EAB9DB5C20DFFA36B6C0CE1041ABBA09E50D8BAB6B5B3520FB34DF68EE B43B674879201EA95DE7DA8500DEBF253D5A81DD13AD3E7CBCB30200E003C27BEE141ED856C11A 2210D12B1470804733AE89A0180211F81E25C422A95406C8A8743798B4AF102EFEA47BFC2CC2DC 349599A4C00037A9EC03D2810B50A52AE9E5CEBEA3E2B4B6EAC0EA06046AF69CD718B57044DBF0 DF5EA36A9B8DC51037C3396B2D0959DE97AFD35C17503FA02A313F5FFD50BEFB383E9BB672C535 54154710BCBAD171A654C879F500BB7DAD189B1E307001B046D98C3737F906226342072DA7B7A2 4FADAB5381426AFE402C42B338627709900EEBC77F90459492BE27041A126AAD9E44A12CE03C83 09A407163A04F667F256CFB1066BF03F317179E57C2762DE417C5EFAA880B35E7B424BE96CE0A1 1660F85B8FCBAA45E8F2262814ABC86C58864CF1E843F2733642C72D9AD13718A9A81C1CB4DEEF 130614E91B8852FC6793BA0F55C42867951A1E39F5DDB1DFD30270438FF363974633862C75335D BB602C94FA037434DC319E6A0019350200782CCBDC96910DD18FBA2711A2534B08087E83A96C91 3CB856FD45AA3658B76CE7041A57D46B019C76B3ECA0D757AFD0534B7C6CEF2939918CEB5DC524 9B5601CA37D0FBE8D90EA9302DF998E37BAEECE630F4019FA8E602D460D6EB8682D115EB3F2C5C 8AB39639E1FBBB1109A31DB5A19F116068518C3C98FB4E91144B893A403E6601D4D81DB1C1F00A 80E837116CE3EDD313100D0B8BFD3193E20CA90AC3CB107733B6499A690F2C8D336FB29E144470 2A5217E1E91852F5EE0B2F30B61CF661109D0ED6687D7DE2FCE90622DCDB176CBF18C9852FF3C2 B02F9FD7AAAA692E9162349E766EC29CB98034D3A8731F4912193F1F480B657BA84E282540D2BD 7AFE547D10936B1739CBFED239A9C3FB8DF52E9BA1F38FF0F34E703B16F87C48EC50662078FAEF 9FC4EF4526F90740FAD6481AD3B4B5795C9E57DFDE09DF24CE8773B1FB4CEF1C95E73DA6F72018 CA0E16DB42DDFE16C6697FE4D7E0AB517AB0A93C85EF5E7CE2C44137A6AB15159738728C6FC2A5 BE3E799D5C832DAC601477C9FE8C24FB368AD1C6092C0DB6F516CC8556A481CDDFF1D26640647D 01516E38275E27B2013434E4DF83335EB166395405F9DCFBF6C2CE886DD59B1AE605690493CFB3 708BD1295A114D79A26F74CC11F49EE90EE9A364B514967C0B379E676BE00FF0073CDF0CCB5756 E66B04AA0FEE5EE376C0258E2841D90176CC6694F5CB6369BFE4453236B4F5ADDF98B86C6C8F0B 74832F6BB6684050D22CB28CCF9087B59ADB30838930E2BDB1FDB955C560D4D617EAE79064F742 7F1DF3E2A20E413C7BA3E9AD26CA814295FB331D1080B45F006513F359AB822C8C9AFDE0B2CE30 8936A66FC5C3033567C489565A58767D251D29DFEE44EEDDC59DEA50457A258FE68F7EA61208C3 238C7EFD69F09A5C8FCD557380A6B4BD82D659B26CB4DCF180CF0057D120D6A6E0DC291C40DAE2 833F4E84A18F10F2F32924BD93C5C70C207E5620B60E172E238EAF0198D7A1249FFB788D6C1AAA 4E7D0B433D58C79AEB3E5CAC751B78B55E2C2F2382F2F04A71C044B98330E16D9B74481FC55496 AF2FFF408157D99115A38BF0767039211D6841345BE3F6D624EDAEA4602BCBC3A87C8013595D9D 09E7207197FE87FD585244060418EB2CB09EF369B785EA8B401798695B473AB58965057887EFF0 A6585B3629E87D700C8E0835F1E35C280D61FB49871EDEC7C4E5C770C3D8DE717FDFAB7EACF7AA E78A1A4F0772EE38346482F021A95688E1D3121DD80A88A349258ACCD8D094F403A674E1710F61 46DE9507C73D51C77354C475B37F3E266ADEF2D739A17EA5E8BA5F65C314D57579BAD77D37E765 DF196FE16397CC58CD8B21C21BF2E92A0D0A4893D679AC9012757602EE65A70B93CEA9D02F8DA2 29C783474CCAB3F8D3A06B2DEECCAD27F621D6852932D43FAB8D81167A47D16D86837B68B910FE 3D97E07239B767FEFE692990A4F3600F7BFC55B7B137073467FB722D45EF59362B11B7AA72C101 401FF5216F48329E7217AC572CC736B77BAD3B863FD622F46CF547EBAC0ED63BC0AF3DC86B816E D1B862A0A172539AFC23ED6201627BD18A317F6A2C5797591EED54D9AC7E5336402DA66965E311 768EE74D1DBA42FBE2C59848F405DB9CEA39C7AF0D13B6F0CB99160A2CBED0ECE55B21982FDB7D 59FA99649EF7F00ABFB9AF764DEADD60DC3BEA997C182A9E5857B1A9E3D1305A57F608807A12D9 045236C18F174A63BB2F66F006915F701A7F6BED3120A63438B5B2EF4F7DF4A5F422FC1E61D395 88F0A865B710D1E9165CF6D152210C7165B392E35B72D1239A18D59DE31A08676686D4C739D500 D15D2DBF84C0C18880F41BFD757C3E2D15CF68A2444B863F6FFA3C9765637463FD9212ABFE1B5F 03A882E46D4236052D3A270D25A26457A4C9F348B6C8F0819F3BB5BA54B09071326369AC2E7CA0 66D472F6F7DF7D4D1EA9FDDD0717973A72257DED260FCD992C0830581EBFD02CD4941EA7EEC4B8 5C8ECCDCCA777FEB024288604350D53F97CE23A7C2EC292EB69D3B2B75DA47C65C2C0CFE3BE097 F9287AF9C926292CE9385A45DCDD0314B2DBDE5AAD2E6A61964D96DCAE2217BC4B5A056AE24FAD 4A0708F63594BFF486CD18B55C44A8FDA7054B0C9A20F3C3799B8F7647DDD9B1E5A5E6579B95C9 EA4F3E0DE8556789FB080C7019134841F44B7C9E526EF858F8ED5C0112CFD2E3C1C1F382B766D7 310529696AA7A533D5B0B5D3532C11B3562C6DA713DEB04A5BF022058772C94CB22BB4FAA3295F CCA609D18EA85146A89C046FC60B0DA65A416E2A71AB5CF8D536138F2A85DD04AEDA42AEF41754 232C92F1F79B303DB4F2ECDD3018D9C683A4BD7D60A158CEAE71D5C231165962BC3E88C2C3C0F2 9CA2EF9070F8C0E99BC9F3652FD5599BE3911750BCBA6E5C5934EDEB6C85074B11A895A874EBB0 E59043499D026A6C062B4F86FFD4EAD2C9A31D4E63D09EA1F00C55653A5A68717D0BCDA0961ED7 608398841C26E307749A5C2766B0D5671AD7407C0696577DC0347FFE8CCE0772750D4D6E13A690 E4A5EB935FCCBFCBCA751BFED56FE38A181016F87A05B90873FD8C9D843748647894AF1FC2E48F E408F7BA4CFC9C1A8898AC99ED230E985173B829DC2FD21F35C50103C053DDCC9F98357191CE1E 19D6566727996460781069EFF33CA451A1088E81956DEF8E8CF997E292FBC63F99A84AB2C23A52 09922836B072AFF17EC0343CAD1B847851CC31510C8CA59913CC8DE2B0CDAF99846F7F341E23E1 C7727550EF11476472B3D082ECC47EA7E2B56A747E6A7777E2E1AD4F4F2209B5329F4111D8F7E5 383D76382F8B5FA0D65F7DB47A1A080567023EE270833CBD88B00EB79DF491674B5742D27E6875 D68C127262657624764AAE5B6A8775965A179879D4ECE7EE9D77BA6DC8D917216FADD9A26CAE9F 9F5B135F6B6AA3DCBC7715B33EAF70717561E6C201513AB2303374 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndProcSet %%BeginProcSet: stonessb.pfa 11 dict begin /FontInfo 10 dict dup begin /version (001.002) readonly def /Notice (Copyright (c) 1987, 1990, 1992 Adobe Systems Incorporated. All Rights Reserved.ITC Stone is a registered trademark of International Typeface Corporation.) readonly def /FullName (ITC Stone Sans Semibold) readonly def /FamilyName (ITC Stone Sans) readonly def /Weight (Semibold) readonly def /isFixedPitch false def /ItalicAngle 0 def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /FontName /StoneSans-Semibold def /Encoding StandardEncoding def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /UniqueID 38792 def /FontBBox{-179 -250 1405 950}readonly def currentdict end currentfile eexec 05D2542F9F75EC0822B36BE6F0DEDFC8DEA486830878B9EFC0865425093E0C2E69D6F33CC9AE23 DF5EDBC1E5D079FB4764B9F54C1CB100A936A445065CB97D7CE6C0C4370B3ADE577ACD273EAED6 15C410480C863CB75FFCE0E72EDB5035D97674731BBB8E694C0302E84C5CA55F405C83E06FA42A DEAA89CE21DDD2BC9F048F7501C2124566D55A81E16EBD047DA68CCABDA9D52A3880295FD057C8 C7900A8A31BA7C4990680FF1F74D5699C19DC8359898F7A25196FDBE5DA6A0E5C6DB74B7BBE88C 542FC0E458D64D52230079CEB32C6644A8809436BD133207FCB1E7165359DEC653C7EE65AE80A1 92C83B6CF310F74AF760499DD67A4DCE97CCD1DD538308BFA46A992B18C02B8A332869E677523F E7C2597865F352B2BEA414020204762126749DC095CC55AA76E9C67A97692D14826DBBBDF5538D 99E15D4C082726916270333E380EC6C71B2B79A5D15D9B928F63A48C4314E5CC3CE2BD2352533F 5BBA3DECE7526814138B51B898666E823291D0142ED689AA36B326FB41E67DC29C46A7CBCF563C 63B52680C9BAEE2BB55409547DCA64033DAF803CCD32E3768FBA08543D80A937F61B8C95927BC2 A08F4A257D03AEF025F3877B798E55DFEA17A2C3A484BC6C6ABD60A2723446E2C67FE0BA1831E2 D7D42EF86439263917CA19CD8F5A0A65AA7003345D13743E757A7B1D9BBCEAB6FE0022B4ABC17C 108C913B1066A7B5218861EE2942E39E1DABCE1D16CB666B14C7421B9A58F1DAA519E6E96570D2 AC187446F67438F56E1A80DF7A72A6A76CFC27FA07D10B624E8E1C53F71720B3351A9649A6F261 FCCDE6BC61C0587E7CC6217F98D04986EE9AD86B0BEB09C24BA7A3F4CC66482EC7FD60F4D93D4E 82272616392166AE09582F1A6146AF9932DF4AD2C45FB468B5D2B9E119E93B4E18EE963DAF1AF6 FD876B362B31E36BB0A876A49D82AE89E0CAC13DE3DBF29FB96C8788CBC011CCCF04734C1CBA5A 6C18343EA1B0DCE808382C9FFB44F1A7752C5F9AC6E7DAA59C08130034A8CEDCBA8D48881E79A1 7BF5749F136078DA9FEC9CCFB09C85C63FD964D722ADB32B1040DB91B1508E460CD08FCB7A9E42 B74AB09EB3F836CF46648BDD92E8DD2D48F8EE8F80FB1EED24E901DC294DD024D25A72642225D3 028FF69FBA04392FD415B775F0B132D75D56CDE9C0CEE44C29F8F1692EE002A973C5114B03AAC6 D1AC009184D50790D83CF803F2B36D94A8D7F3E1C56A0C924447F56925F09395CBB1DE38C5F13C 1C7D563C43EFF5E8538C2BE12C8E214B774000FE4E2751DC6F3E2CC8DF5E4633E090E4C34C0CC6 F06BD829B1105B50429205B2C4BA32480035CF513F4039B69EB475F16EA439E277D5CB93D7BA17 41696ADBA069DF046232169134980DF13D2C75FAF57582B548FE67F7215D7673077168B733DCA1 51B0A7591C1C2D7B1E93E485F54799AE111F272C49ACFDF6993996A7C5699B250CD2A9D82B7A4F 60F990865A5A21C394ACC4D61BE0D9DDBF8DC253D156265FAA5E5163DF739F013C1BE519F5A616 6FCDC3938E14D17D7B4CE878481D5DC2DE545CC29C88CF043EE98C4BFA6E747DC626152B6807A5 640EA39CE6802541E5B4E80F6AAB41B13F6E8C0906556279570D7B3C5509237EFF4A98680295ED 7BD3789DD532E12C47E9D26AB9831688E6A9D98715419BBA7AE390D6EEE7E913E98FCBA6B268B6 C958424D98BAB18372C925ADC53415508AE4AFBF212D66A20066928CD81E5FFE5ABA34802522B8 C49CD00CD0F7156859F14A254566578BE1E0986A86738BDD7E81EB8249A3C2B4FC522886C22209 00BDB96EDA972558EF18E9408E6FA8B59B5E557CDBC6B9008E018089976A83157637EBCFB60E46 0BE12F9E92FA8AE384E2E27B58A4DD46B6AEF078F17410B64296BC43BFF1AA720AC0D575B0A4A4 685F533A846D1C8E6E3F0A8929DA9A4DD039AEC0908EEE629B28F8516836DDA89AA7E033974759 7BAC32B7F65A47E875D6575930E4561B1077A8B6D4EBA710A60EBF8BD7F90D5966DDF217676838 C714B7D0A1013CE649629797335E4F1E736A452FF105F1E31DB1F105F51C5DACFE14DAE5C385B9 A493AF229268DE313F00275F6EF4E995D8E104133ECD3BCB1378B69FE0DDB100CD4481F3F7FFEB 6B696096BFDDEEF1268BD9ADF681B57381896F851EB12534FB05EDC89ACE59E7CDBEBCDD622953 4E12BA0C675260841609CB656B05D37CC7FCCBCC92BEBC4C2C3112AE2CED5590518438B2775DD2 78DF847B5F3677934099A8D34B98E9F793E6C86C76B1CB0E42EC4EA2E9ACB22EEBC084026DB163 40F8CD9CE194D2F6EA2403255DA218EC31EF12888D3C4ACE4C84910C6DD17C8321533B65496C0A 67EF9AB8BB49D8A9DE10694D21FA679AEDFD56DF18C915FD82B3EAC5F279D4CCBF02183DF4EEF6 11F5266108A01D054321E6F5922F2E1F78D48DA966549F37EA876C71BA109FE81719822315C2D4 EDDC0B3B0C2564BF6D2E2BC3AA020B462F0A42C562C1FD135DB84A51ED677D2EC962C8A86DF9F1 2B4487AF45584603D517D6BD04B66659ECDF446CAB71D768A9B4B3F58293A6DDCA895309CC045F 951AE11077FD1AAF79DC80C0CACD362EAF1744455DB964EAD2D65F03B4F7A01AB2FB41AF084012 C199738AEF935CF46E659DF852A78D343063014A75399F5FEC92B75DE7E04C6E42DD6D6CF84D35 820297B7D0A4E072D9F5944E7EDABFD4E309016B6BB3450E2942DD131E7420AA2CA3E766BE9CB9 44C28330F2DFE1518C2FBEF785AF8D9080EEF0F9E1553C2E855AA68EA71D8F5A16815D1F210430 25E893E408B006DE432D9A1F5F3E45531785B3F8CE6B175E2F39B99945382E63C3F31C748BFC26 B7D14060043017B3ED93E27E1728E264303B21BE3F78DF47DAA1395361BA0B84BECF2F8568AD27 67314C0BC80A9B733D96515CF586CF038630707D2933EAF664665C7692563B2B8707B2C21EAFE7 33C96C5CBF7970C1310EAE671F9893091706FA128B2DAADA95F26D0EB2999BC294A22A61883E19 4222815929D7DF0683B5C8056C4D1FA0E3716C155D1ACD225D6B68976EE1A42171592A90EBC10D 93FD735DE0FAAB691A4098239213F97BF81A8CDDB5880CBA714F22230D208AD96B9B73305B90D6 C94697D3AE9FEE5A52503D844CDE1FC15112897C62A9C9EFBC3D775C40BAF7844AF7034669B332 70533EA71BF0A9C27BC03A02D7040926DA1F10906D26E6431606907E8522BF6581A311A1EF1075 B697053B59020B7FF83D0FCB0BFDF143FA8E645C5340B9226D1FB3D03E892BB24D7F5438D7B87E FE337343C1876CC99495707F87D96E1234B58C71A450F62CA5CE3B895B52328AC1739D3967DB01 26EE475B5A609982C31B8FF352E959E417E907D5B9C076A27018849AC10E6113C1A0F816582683 727477CBBCDE1222F9EBBB5648D29517E72496D1F0A44CCDB34106A53521EE8F61358A267105EF 49577892389BFB701520AA73E6B8070DE634B853F3A61818A4B8B33264416C1C3C83FC0C8BE091 F30252A8691D193456620B3BF471D4CCE9397558C7EAC8104C8C6A13CD716D916211A12C443F2F 04EF0C31FAAF043729B6159B57826CDBDD6205932B251089385E4E30C4D51744A45D96FC284097 2007ED353D62D3CDB6FC755C11BE98E8FFBB40560C93CBCECBA7C09692F817DCE1BA4526A81179 2F2C19A169C91C025938E2B26A803682CD9921844BF9AAB1A14514BD26F046E8769D79B3604ABE 0B786F60D424B2C6323520A982E906CC3E92D3B52AF04530708DD782134F4052EBF95339F50CF4 5496B70B52B59CB6F54DF382CD9F4BB11F629861133B4F585B816EF197B60C5A2D9FCF7E20BFEA 366B42D5F9B2BB0F67B045A5B57C185F621EEC91932855E0C91770A5E4FBDE4ABB9CD137C88B4E E499D432FA6DB2B87C71A03AD23BEFBBC5A8FB3E2130F451B0A0DD40E84783C26E573B43B15615 4F7EEB8B381E1F97C54C48EB5AD4A1545391EC3F6650A0E43F4C23750DD58157AFAC738C07D296 EB9AFAB0C0FAC38CE8566293C584B2256E79544A5B242834BDB31A8646DEB04C95EE80EBC2F845 BE0536A629E8A0D23D355CE4D35E5F74A2D4E08CA6D47CFB1E0F4F98EDD2EF3DC779B69BADEEF6 AF06F1C6CD36EED1C09E800CD723689A001000F4201D365DA557D11F057E858520DE75F5C8F354 69A9DDF5A29D3651EFFFAF4FDBED2A9C1275DB764ABA6FF74B789DD65C8D082D9A9FC800873132 FFAC9E782291EE6696D483D41C1398E8C65306DA0D306BB9EC713AFB4C3D55A4C38D865381DFB0 E630628FBB7CF51922E547D8975301E2A81E0D429FAD1C65993544AA5431B880BE4F314C4981A3 FEFB2A37BC1BEFB267FEC47737819C14C04486943CC1432135BD844A34617ED7E4140431AAE948 E989C5C72B6B090AE889B62662E8D30D7C633110F08600F8F3DEBABE1B8272571B1550FE35C252 818F856FFD8231E801321CFA4E088D1D6A4F56F2CA81A909D0D565B33F5B2574FC52FCA1107E4E 94E7237D994DCA0E5C13348B6ED835AD7279D78CE290B38FD42876FCE44471AE6E20E6369C638E 6E4B49B00B68497F912FA6518016ACE6DCA8E865184CD563E1713D7EADF64E52BBD13CE5CE54F1 9EC5974E9F59D287F76F03F756AB42FA3CDFACA79792679B7ECA516D1532A1BF1AF2B04002A029 AC8DC0F34527E917D6A559974DFBF9A5E13E2E1ED526F7AE17BEA04640705CAEB05F06544A17F7 B44BF54B6B80594D71AEDAAD17079CFE2B6C65744655418B1527D51D4C45E5F321D52468C168FC A515979287566DFF26C061FFD7039C232FE1ACD9377C58850C99BDAE145F949F4F504D74E4278B 3CB2EE53252AF7805F3143F0999C8C0D17CCD2E922375E563EAD698D9AE6D0DABAE5A8340497C2 1238F9FC9FC05B76A47DA0CCFF8D108D1A188F5DB575E5C08219A04CF78E06AF124FB3FC3B4E78 2677F3C09F9D892AB294B4EA15241CE2899514EB4D1BCF51D294737089EB4AC56AC7852E498217 7B804241177353670637376D4D1BE4F13A6107A6A6E5A73679E687F5512801B07F67568F737B3E 00FF13F7F8DE9C73EB3A2865B07094AF6FC8710BCBF6915BE2E2416B9A866BFC513E29E92898FB 80F81130E4AB9E5C5D559576BEE4AE5B01BD28748240E7B2D7441E57053F934628A99CAC7F4C72 F0A343B7937E295BBAB9DAE5CEFDD103DFF935B2454E4AE0AF39776A3C0F40701DFECB27C6DDBA 4D97972C03109A209C6F98C1E6FD3C81AF5CFCF5223866A5E58514FE8D5DEC95945865FB6F6FBC 51FDDDDADAB1DBC68F35F756426EB29A6A415AEC11D2EC09BC523713ED44466FBA3FDDEA873A14 85D7C042E490BEA7512D46705A9C77B52BF575BB1C849C76D0E32033A9F59C62D3646725627CB7 948C2F72EDA3D5D27E83C2F379B12CBB6D7ED2DCF3BDA29728F99126E56A36CC9D7FCD83F2A4FA DBD5C188379CC6A56073F57E75221E5BA328E84EBB6ADCD9D258DE03E5ED83123DB1964511B792 2730D692F96B2E93273AC148ECF069362F5EABBDD6C577D0DD1D724BDBD804250DB2EB3A2B5F44 E7DFAC5457D117F3A1B132A68C61A35179B3349A1F412C0322CB415256FE517FCB0C206CD576D0 181CF1ED3A068444F2A19D9EEB5324CE071472AEE02E225C747913392E43331C5DC96BA985E2E1 605A3BC09FC92CDBE4A516E1BD248D34FD85023F9D738EE10B2DC23ED8A1A2FA207A1A474B94A0 B78694D7B9C386302B2BC7029442E574B6258F9BAAD8A099C5002BE366649A771A94A533B4D336 695DDD599DFB4FA963B04628C52D6DD937BBCED417FDFE925CA54B9CCF44EC78D2CEA9AFABBA6A 8D0D7479EE60204CF38D1E9B425BD3BD37519D0D64E154CC6CAE7CFC7209F4AF4E66A9DFBD1934 E82D1209E12C44CBDF4C3E902931C6C983E712DA93F45DE79A58BEF6E742EB63D7D0C187D4037B 9C1FDE3F204509EDCDCAA5075E3B8B4C5E62C18C2FA01040A4D153C58F0D6AA66335ACF7C455F5 855AB3DB0A1241287856574DB170DA0C55A9AE190FDBF3049987C8CE26C501D0F3A15E9915EB5A 9AE4A49860DA936CC61228A21C343DF6B0CCE324FA00C32653DE16F9BBAE85E9C7673159434D14 2E25928D2EAD8021BFB2DB4F0AE93900577C5937A7A0E292546C66D9D30759EF06120604689FAE F808522BEC56BA62621F728E9A4A4D31DB7F7D82DDDFAB127E50E72F95EFA44D40ED9A82A1A3D2 14AE275930F795AD74375A989D78EF0F3B28138D35A20F516C8546081BA4BCD6B493B49FAB5ADB C841C48AC8B22EDB9131BBAD00425D3601F4928F72F60AF6BA2845DFF2C1C46C8C0919481C2F02 6E71627A0EEA7C1233BFC67B16DEA00AD0524FF2FD04E49266652DDA742E2770504C22430004AE F8CD94E6E54D1E8989264B7C22D770D9363899F97A900B8637C42CBE9DA0CAF97D69FF39910919 155CC68FC81208F9C7E9B7B67BBEF02D65930444E9319D98A3C063EE56B907CC5B2B054965BD22 074FF61F8F74ED5734C46BE532C9BA883C55AA5FAAF5EE80853D1BF06E260679732E7712619C39 9DFC4225E71B878CB758C6C3DEB5347C5AD64A22F0C6BF2C692F5EC354FE9EFB940AFEDC511F8B 1A12BD18C1FF14B354748DFA4553A396DD8457234FB1D6BBF2E58ED6A4BE5356E3402E69531BCE 0D57E7632D2D3D9A7E7B54499CBAB807514330C566D104C48A4FBFD7F3674EDE64D674DF126856 1145F8D649CFF1C069414667867EA7B65A012658F1376E7EAB4525EE1788B25C348850809E61E8 CCDD2FF708C1A61EE0E2D6B5D1B85B2095185668B37836FCAEC18D5444D0C00EB6D75E811D3C50 9DFEEDBE86B8052D0021B187A93D1EA1FE0147D11D75DB5B63536410DD74040D77F930292D00E0 8351F7DEB63D98D55F11AE5AEEEB05D00D7E7FDD769ED33F1C61BF087C300BF8D5BCE34B479D62 8231B9ACEF19EFCF675BB4EC2833458A151C340BA5DAB949917CCD8C455D30F4333A834519785B 53938865FCE3D7D524C7152E03DE2F84D82F6F90682B0198BF688B2A63213CB432297AE92FCB56 7D0C3EA22C28C373D3448D402719D0C68C3686CBAE4C45A6958D1E89E61EA8FBD3D1F63366AC59 9490CC2118148017C72FB239F1540216397DDF36E41DC49BE4F3836B09C674454C1044A02704E6 FF7FCF78AA85B1003C1B0EB2B5021F8F2640A68E4799E75CF40FFFC212AD560131330489555A48 828EEDD440BDFF3FCBC860080992A3367E850F9D9D20AF1A0055D4AD13505245725BC3DFD7261A B7770CC41C6B908872FF99758DF7EA19CCCB8120AEA32C5E5CEACC05A0C40300C8BBA3EA16ACD7 3C9331026D850FDE83996CA03F642F5DE54818540014EF65571190394D94FC2973A6C92CF674DE 2AD9DDFEA8B93F556E59B61AE558E6E86824F23F6A0A72FC79A48CD14FD7BCC76011A39D8CC9AE F8E72402DB96DF0DF48885881F508C7C59AF6D06102FAC84718630870516EFC9429A3E95376956 314E65ABA124F92AE11682F9788E493379F83FADF340783150C51739EE87A866D352B99E6C1F4E AD8191B7DBF364260CED3274A261C3AAF908D473C2175D15AA932D88DDE57C2EAD27B4D0F05C9E 5137A409334D0954180CAB64372166266FAA5A22506D85A4928E240AFFF318EF63B45C26D23237 6C465AC9FCF64D9DCCF13B6D5103C1F66574CCC968EE0F6CCA773B28D53ED94BB7B42287A6D3EC 102143F52720CC5396EA524575C1CDB437487288B5587D24BFFF1B82ADD45AFECB4D747A628948 623E61664F3655BBB1DE782B7ACBF256875DF5FCC20BB7506910D12BE7291EA0648298FD361737 0458AD089170A005942639F7AE5BE8D1FB6B95662FF074FBCF92776E6F4C7D241D1EFAEEE40DDF E8D88DC1EDE3D9E0768B8E0FD38BCD9310F8A74CC0C671B0FCD404739FBC68BB02B1D90BC4D91B F5C24E72D98D1D36A0611BA9961B74CCE43411DA5BF2659414D74BCFE8E277EEC4A11F71342A97 6291C52A21737F224178B619F048F2A44E9F42BD5530846E10C4F05624026E355FE623223DBF42 90DD504ADC56051A92578CA2E00BEC120E0812E0EEEE934FB9E7FEA6B4925B4F5118F30C5BFF35 F8A1F069B1FCC24694519FD9E817E01799FE1FB9FFBDD28222663A74E9AA253F573FB3631BAFEC D327514A43947F04F31BCB22C98CF9E050732BE8574BCEEBFB9938AA74FC68A3B2ECD6ACCDF22D E9F46AC3589AAB1C352538DAA0E1CA320694F79D7E5E6934128DE7EE3E3328D4D494B5E85EE40F F2032E44AE58770E78188177FCF23CDD200280A39EDB76E4D7BA6F728CE8784507F7DA164F062C 349E325C145976D0102E65DA171F95A04A3D550EE3DEAA4A564767ECF3E7D0D5D2BD6D06CFABC4 1D1BE5A5F1C478DE08343F2D9D6A74BEA3DAC953BF38183EB9BF9B188F88459496BC74A3EF6514 12307AF69D68A1BD9678C642D11B75A7B5C113EA8036580596FA193F2FE45E52274F20583F6D0E 7D7C17CA09022D07573E33F52394FF499ED067EDDF122A4AA44B9B4CD53C04304BD53BDB734D78 5866891CFCCB5CC4ABC2EA2BE6EB432BC0EB22D9EC45BD31EC11244F9C7ADF81BCA29A70EEE439 4A3AC5C2BCBD2E82A26B06A348542A4C56D778D2DFF2944B5EE2B2CC32762FEEA2E95D18075847 6E18E6596B9ABB3F36745BD8228EC356BD8DFE89F8180277C50DDA883A59F1D9A21704ED019070 7E87D30672973F4EED6C744C2E71BA35E887C0EA1503A941EA20902177DB1F5054175A215A9D4B FEBEC521B22F9A2924F76ACBE573E216B1C97D5D7ED322DFDFBDA1049A219EE3736B9B763538CE 0B1BE3E253175A515DB0EB877A547C4929C9EFBF4DBC586BB076ECD7575930E4561B10A56E0F92 165E415F78ACAF1A99AF4A1A8625CF03B6FE564CEAA6CAF2FB247541CABA278DC1966B6DA19A1E 915024184832E33129DAA8F37C57EA8FA66B1D7C1E03945627F9807513EAA0F87CD55676460692 E76A71885A1A37BFC0ABFDEDFF655DED8A9FC81F57912EA87ED5FB28E6FBF283FB6832C10704FB B1B46D7E1BEC70B5DA8F5CDB58D19E8FAAB5702A3A726EB077895D36CB6338378A3412922016E6 5C45D77C3D7439705970C5772DEE02821F1BD236AFDB9982C1986DF161665D7A927412507700FA B2D873E77BF818713A257FC7FC29DD7D4987249D535E3582812CCEF3CE72B60D23F33436D1DA42 BA60496719774783F395C42C1B44C77F6A66620F1F92367B56777A57BAC024874680CD1049EE3C 458B24210627C745559087033EDF0CFE14485FB79D541888D97CBF9AE6BBEF9CE0DC02BBBC83B4 C2BC26313CCE46371C60BFC33758C6BD3343C0984E58D4CE5133511898D7860DAEF04DABC44731 7AE3A18BC898833130CF72EDD91A4E42D85F4B897D0F9E9DB4477E73063189161916DE6F34FF73 11FA695AFA2F897334FD81DFFC505BEA5C13A3AC792569C6935611E95B74D41D9DE36140620979 205FA7859E1585B1124DFE4B04D880615CC2198A67D47B64851A642F40CC16A8E8AE202EEC55E1 008E3879241A61E6673C9EDF77EFB2A43F7E85E196BEA0043898FED01FBAAA47894EE7392B1DB5 2B9433D88980461A7F6BEABE6B752600B758F0F2529EA26D57BF2894910AFC67FC6D190F359058 517766C9403B404D50865CF632F371AA67319B6262F09A92A65E86AEDEDAC504BA901B8A19FA14 F7C6659B209845E9665474981EF9513115B93DA16991B5E31A70DF01DB06D47BF089EB184CE039 3A1C2C08A2B05625CE02513B4C82D026C903DCCB3135FE88A6A4CECFD2D5808CCC99BFFC43DF9C FA2EFE9875C3491320D62FA3A54558F298E3854DC3FC8D60EB09C534E6A14102F4953AF79A57E8 7748A2E01C683B8ECCFE4AA681D943C3758FE70625227DE214CCACD35F15B4782100BA3C0AED4D 523681438AE195D5B58D4F61B9807EFB12B162FBDEE63C22CE05D99E4E289EF01463DCBD748D9C 6CA0270DB111495B0E7BA377CB34163DA6E3B7F5FE89FC9FED9960F3EB9FC42F1CD39BFAC8A36B F0ED0CB3B6D8503E78432EBF42C0EC6D608241DDAB2F32540AB22CEFDDBBB10077154846AD5253 835558E1A30C426F9E7A488B88C1699ADDE69F0821342C60042D0CD505799BF1A4D86D94DC49A3 046236CDF462CA6367220E041FF8EFE18CA65B989E865FD237A7E120EEE95915295F4FB8D0508F A98A2B7737D6088047521E6B740311BAA5FF402754CB1193C329B7A74AF5ABD596E5AB66C242C9 F6F89DA12065DB01AFAE32A7CC6156B8DFF94B72C8A5F415C738963B112DF996165F52CC48C2AE FC903178931044B9095A09A9691668AACA9118D67E122B70BC19A511759544CE3A9BFCB73A6504 D77E24A350FE52FB0107AEE12F59AD32C120B1205B69D0165E7BF98C9F17A04DD46649EF7E363C 7F52F573A1B99733E5303BED19FA3CF306879C7498B18ED8EE01E8E87715A44DCEC5D259E95767 0A469D3C4E5EC2043F6EE288ACE1E3B39084529455E1F8389186F7662F96E3E1B053073CF04D2F F322CFDB6263588B3802327318A8DCB9A61C9D1B1DD2F8070F214DFB2198650D14A77C14FC1AA4 06EC487149B86B997DAF22E30CAE968971664A10A0CC346961FA49062E617ED3DD0DF737B41437 B1DC2B0670890F9ED97E406B46A94B05A538E8240572BCCEFDE21F41A66520CE5ECDD3C0CCDB3F 19332FD94654A9EB7D7D5175013094AC79B92D1FB0BA86F209A3283DDA9DB25B4F5A0A03E72FFE A45F914757E8C50B8F0F8176FA8CF44C271A584F7BE700A0D36572FAE05EF6FF23C8BB33EF6BA3 3186583E4F55D1256072B53B91047AF7868B31CB6150F5456FD4FFB8B4B2EC3EE1148E8DB34353 B3BFA4F84B8C3001E575372BA3F7BDF1BB6C4B82C2FAD7575E12E287EB971ED3D91404221137A2 53026C8989FC472143DDDE9E2D49A413F1D6A409179CDC3CBF544A093FA05985E0BE71CD6018D4 2127D0AEB4388FA7ABC8558172396885A8A42F0A0C768A4B0EC2B4D1862AFC4FF363F3668A33BB 6F788A5D9E9CEA2BFADD7A4C611BA217D15A1F6BEB135F8F7C9FB011642B6240181494A6C192A5 756766F62D7331C142C551AB0E64ED8CBC57EF3C295DDF2DDBD265816761F199ABA1D2E5349684 94E676D10461C34136FB87B9FDC817DB731419278301DF86C91D21662BFB36615D4F85DF3793E2 9BB4A86F1AEDC061B1593F59DF133E4C97B744F6AA19EE0E23ED826D0AAB5EC479F2F131DDAE26 0F4482E8215F2A06C33152F1E26EB4F7EFE862846A37A084D6090216A1A9E111D416629AA37375 C4924FD96E87673C5B41F627F5C1BF682E6C411725CF5414D7ED4328B94EB8EAD9EA991D0F120E 872CD1397D36D5C2DB03164F2E5D414519FDB61DDB3E27D5BC7017CABAC9EB67BCB6A5FC451C13 E7A3B944C1795ADE61894809B085AB4D8C046486714D086043C8E504B57476C5AFFDE8473CB6F2 2DE06BF6FEFD368D6F8D0E00292B825EEE18F1FD3DB34DA347F1B13ABF19F22F10313E6D646809 90E4B8D166499128BA14D2F2200C86045C731B8ECFD52B2400C2CE1BDF0958C4FCE83EAC4B757D CDE1F5CF4455FCB27259E3AA102E4CA642122D5DB237BE915E606850D47CD77AB07BE7B676DC86 B5E0CE1FFFB177E2A84023F7845B5B570227433638DA173C086730C2C647096473C22DE7A47F1C C33E00434946AD9847A55A6D54295BA6B2F80E80A055A02A8E80D28685FFA0B766430531AE79D5 BCA0C699624502B43A3EA10D8E3FE63AFFD751828FEE69C0769BD331FF2F4367FC4F8AEB2C06B8 7CA3D251DBC6E81F7159862845712248FB86A0F73B767EA8784EEDFB538E41334A8F4280B64E34 9C2260B1917657651DEE10B78C60E941AC56992BD61B84200E942F341C37C7D73D9F2AFEE845A1 A8ECADF6BF3DD77D17517AA99FD9A0C87E735F998C2B05716746159EFB439B619C7AAB02C607E2 911A203FA36C15B3ECECC6C72037D49F15E550FDBA5DE6A7BAA71AF83459ED20A331037F0E25D7 177CD16B4CB572C2257700F150F03FE9EB44E9C840EA81BC1D9B9E6FACF6D05C01C1709E5D78F2 BFBEBBCE08C5E32067CDC71FD50042FF254BF62E5E3923B66ACBAC43DEB6541EF98E1CD9B122DF C371CCB970C345006847880DC6814CCEC5B5955B63786B4EA225CA81C5A19487C518C8FD98568F 13B79EDEB465CC2B0FFBF5379C4A2C0FCFB018995107224DD43754E55F7017E973F4DDFC2A14D0 97C8C5DBD92A5D161C25B6488D53E52C4EDAD89203B0A2B5048D55EE9E577FA75E46E7648B5430 09523BE6D66603F7A2E317FA7AC44E45342A977E76D5384B6763FE2186383F10711F36E5AAB801 11B02699085C3222F6622C201B1C1F975721CEE86419E9DF365F1603641DF7A5905BEA0C54D3A1 8BDCE0C892C8CEAAD1F6AE0E727B792AAEDB30390CD4C17D072B82859C0B6E6574E8F2B4F4AE03 DCFD278B90DED764C0E6F262CCFAD7257C7D2E2733D0E9BEC3C6DF0BF779B516E41506BC084928 3724C876682C1C6F36340AE8072AFDB1F710C2810E808C8E789DC3962174978E020DBC1A16F129 AE110E7C701601D120702B0AEA98FE3B9EA28CD175B9E445920BAF32BCBB13652BB33B62147859 765CD15B51A63FEE61FF92F458AC28849BAB775FD42123658F31F6DC0F896F2E37CB0BD310B098 E7B1A6F473D0624E3D8EB7BB91E00BD164A088EAC207F0ADE1D9150D546E00F3CD038D792F42D1 9625A14D30E8B972B263433BCED195E8FE4F200C672A1F167F969B2E067E32B7D69765823620D3 E68894BD03C3D5E614FAE9B173C21A946453428B22C009E0BD4AD69D94BCE76303775FAF74C151 A6D0C5A3F8703CD5BDFCA2A469BF6A42A8FA8678390B9BD516C76C2D6F358C0A28BEBF971F4C4D 1D81CD15D913C4E3C1F934847081BB1897CA19DAF87B9D5EC72A7C26B65563514DC162CC129088 0CF4FC0C115CF2768075CA07B04340F228E862A40F35AAD4484B109FEE50E26655A8C699205D70 C2BE4D2368E3F7F927F64DA140F979B299B50DB1B9224E6750A7D1AA909A4921ACBE1F47C8B6B7 0CD46EC98C9BD56C35D3FB61AE9BCD3CCC39141C92786B8C7CA61E06B88B9A1742EF6D5CD417F4 282F220212D30EF97DCCB70CB1153E8912131C9E2E89B490BA9967CEDA089AA7D7E2925C4005AD 5624A294E63F54235F579488A705D0D13BCD668263122CC591D2417CEE1B1C220BF4BE45722F3C 4891858DCDCD88B67AA9E69D045F25841C0D8A4A8DE5078A22088425A6027A9FD1063F2243600B AAB3479833220D38F365C95EAD2B8E37E6784EA29A4D54C4445C52F3939B1A61F05FC9E5DA8FC0 84B9B5FF7AC76B07EBDFA6EAD5E70210CF795768EA6408DF4E7EEFA5FBEEB3FFF0357F61EA6061 06619C14EC6E4EA347AC6F96F3C852459965CD29328C3FC164F570A646D514A1FBD9C2E08A4C41 A0539C8D5C0849A1C6173E4DC9B2B039F7B5AAFB46A98A7A9431D70388D06AB90B58BBAEC86E75 17F25C7674A633324E1CDBBA4827A775BD6CA1A9A8AC24A51E6FD163CC0B47A00AD11EB05B3AF4 F9F971F04F4865EABFF9EF599DB3982C62FB91915916D87E40458552EDFD00A10FDC75F86938AD E38ECEB82CBF2944ABA9E99BEB9856D58BEC9F1E0F52C64BC2B7B19D9B2999D16CAE02E5D12FBA 62B9ABDCF95C664FB4550E890AF732E7EF278ADB9A945EAB167FDEE52993986949551159B3FBDC E8763E8795989CF46DCE7D53F9CDC713B79DD75F38D26813A6B31FE0E48777401F6FD86DA5DC18 3F9625DD30EC75282B831CC151F4A90426BDC43EF2CEA37468363519CBC10EEDE7453F7FACA12C 0F927B78922A81C3E78212D89AEA5006C789425A01A0F382EB35E61A15846A7C934AA1F164D44D E80418740CCA9364A9CB96CD01BFC91C4BB35F0F854235E98E8DFEAE7DDD7ABCD18AB84E78C00D D39A4F53B52B14E570D9E5377328F43BDD82936E5992A745123B42FFEBBBCF196744F193F57A40 38B5AF3D5B1769C10EB947B4C2D6FAC578ABE2C4E682F63971EF5346C62DEFE184DFFC039C233D AA977CE3224DC9E989E49FFCCC73BADAE85B2A9BFDA4F848009237ABC481993FD7C358AAEB62E5 2685C4597C9BDDC55C6CEEA1B44A2BC0A27061D08B4EFD8B97664CF2FB251B94D4900F135A952C 46F5FA13A30F6AA5C1150A186678B610526C764054DDCB5FFAAB0B31A92B8BE1AC60F5829A927F 006F619D10B59F59F137FA60D01ED6EE71E6544EA7CF8C8F81075767F7F88D7A2402EA33F8DF20 9A8345776CDFAD3315FAFCF94A9776BB34697262D3856B8F72E238E8331F2CD4EBFA2CD0C2F633 D67CFE012E32F7E1F199983EDAF394189E72D6398F48B8988668FBE0B6B1F307A9D127AB640767 69F7856F28B8F979093B752A753AFB5E5371C66192D884FFF00A97B30FED991A46BB7F982B7858 68BFCCE7593D432861C55AA6C48A2EDA8FAF4F9D23FEB5FD1F477AE532237A372D425664970BD6 67080775EB9A3D080B10593CBC271FA9D8C95F9A7C89DAA54F7815F7C7126F640CD773E702037B 2FCFCFF8BE9C6AEBBEF95A50790D25D1B289F25B43B959E9C2F94F2BB66382F299FF5E88AC003F 2A04095AE808A6FC812C3F488B5783DACB58ABC15F81B8420C37B7797FF551B10DAC03FC1950B1 734F753A722E9EBAAE5FC6140D800D1E3655D89B89726BB8100C00E57FB85D229E64EEF50CE010 1699E721B94CFB42F3CCDDFE876B10B49A7A38FE69F8552D631DE6CFA9F0CCE3144AED6AD00214 36ECD9044A3DF2B9944BE491C3F3282C38AD3839BEEC9485B30582C9D8C20986A9D2DEBA760B14 6D541841D42FA9F46C329C5679C31BB32F89B7E4FB817A02B1CDC7ECEEEB84818B60540DBCCC0F 3144C673320E3DDBE6E31F1677479B75C18968B766C924461482B35754DDDB9E43C81D226C91DD E21768A54CF64FE29980317C6864FADA228D2A972152ED1412F9498CE60B7C3B50B9890AED723C 795934409C5EB2C727A8872C6A0DA820CCBB506CF0D78AFAD64C06891A8B570732AF12F60D456E 17871E5E3ECDD6B3CBD8F86234C38E4FD00CD39457419A169E59EF4EE625DD40748BAE47CDC39A 9BAAF4B65FC6C5511D9061DA352E981880F6340D6B6A20B839754663D26F6F53EFCD6EA6EC963E 581E42331B236409F2F98C43445BA0D7D0EAA52150636AF735BFB6C475C904FD4754034ED58E1B B4DFAC824B3669D3AC473BD833B3CE889323987BF1EB3CA1A0872ED5388460F360FE9D1400FC8F 10833946F68832978B0F75CB14E9FF75E7C5B9464512BFD5D5C4BDDD7530FAE0B397948FD5721A 0D7B38FD5B67CAE166EA2DDCDFA1ABF4F8E1195913D222AC3A7CD5BA9C07304FC477FD91FD35CB C784826AFED5D80AB7C968036E868930508F4F1C6D7488094B78990BA4B79384C4E55E09FBD28E CAD7764DF404A1832B243EFF8B0F344F46A3D772E6F0507A50CF120C74DD6674DE4A72531A33E6 28A5B1AC079AE7A41D62C723D90B7A3E999486CDCE2B64BCAF7443BCC37A9445C1B4681BD26DDB C451658A1981B327DDF00E3C9AC34735605595466472C34636749C436773BAA155E51ACE57A294 62812D2F6E396F57E8A6CF5A739308FD478C69528D86B3CC1442761531D6BB1FF48A513DAA1BEB 617A418AF696988E29538D9EF0DD8E16588D9157E619AE1226F4C2F37146DC6A49685C492578F3 EED7B8DEE2FCE03460ADDB91C37F7A29E2D3276198740B73C93161A75FE0D83F02ECBF1B5AED93 086DA0545EF10000706305D2911EE39ADACECBE06C1B5FE941EA8BCC6C2B6E9485674E7DBCEF3A 65E8FB59E25C291AEC3158AE9D7C2FA661224B2CFB87970A84538F0370ED6DE4AC43BE23F914A4 D67FC71AD27ADD384CE9099C65AD89980735B046C9F37CDB29BA5BFC3530CB1658DFEA94D70360 F63781D87F4501875647342791EA609FD1CAC8A338BC25D296A80F4BE0A24A847ABE708BD8B7ED 150C3E071BF0F8469A994072DCFC16BBA90FB24A71CE8E7F76ECE95DAA5BF3E78D0AFC22435753 B94EA390CD95C19BE6C739FCB37F7051A879915507F6F4CA85CB9C5C9B1DE6EDC1A59D0463EC09 EBDAAC2E5969658111004711C2C3769609BE35F8461BA30BD7E68321505A14B30E0BE54B29DDA6 4ACD1D186E57F16A15A1211EAD0CC317B8B7705060E18140358F950B050A232E2E24FDDF74F90D F1D288F3171A38351A141DF305B3FD32F5A47C25337C252140D3D529700A391F5176134F6E4752 7452F76E16B9D5025A0D9C4BC0A8873A9D8BA4AA0E323E1E635EE715E09E3782A64B1B578C4FB0 489D594558A9DFDEC479A9898B3D2002EF6A3F0AACEFB4F4CD8261172C27D15D3C8A6D8BBF8550 B5A72672A513F340492536A1C57EBA1E56138A6EB1FC138BAA1DEE14D8334BA2D8368E1B1BAEDD F4413490723E24933659A2C2AA76918B347ADCEA2DA773F4A90399B0D12E6D9697CCA9743D2B9B B2E347841AF2FFD3B2ECB2F52C6E84E249A98164940093C6B0F7F3EDC12FDB0E28458321EA539E D53AC5A8A6581D13899666E387F45611E6DF6FB6A912DF34837CD02A7CBD449DB6D76AE8E0B9D6 674A78ED831CC52B501783FF61B3D6012C7FD091F78BE568A2D9CE4F30FC6B5762295DCBDA1F53 54569F381386187186EEFA58E583D9476A4C2CEDC6B952315BC3AAA66AC4A0FF34DC46268C5B47 7F98F170B5CA4CE9188FB5A7DE9B6C706F0E13693EDD06B359EF8B71C9CD93A55DFD9E9FFBDE43 A8992E61E8037865318C26858FD577096730334BF64D160FBAB4B4A5D0E126E1F74F866D5B84DB 3ED0283CC471ED7420D5C7029417256C39A3DAA6282A87C42EAF85EDED92D9D2C68B7508F9B401 6C1C52576F20AEBF17D4FAC5D2C26C30E4F0B0DCF82914A294B01A711A06702946A90876AFD511 E4DA8B1E2DBD6277F42BC77D6E51DCF5F682214D77BDDA36632D7024E05D01A80336C3BBA5D1EE 6668CE16AC8BC11AC5075376590EC99818AA74958B818247ED7313B3D07D0D5D8C303483F0F0B7 5B46246F62AEEC7DC00DCE07F5C4659B18BF0D157736575022524B7188F8BF5B5F4615E507C9C6 8605571DF81A00715BF3D4F9AB6BC5CCFCC10496FD7EAE80D65FC97A9A5A1B82D85BBDEECA1E94 0ED39A49C5CD3263FF051456CC785663437D56DF6FB1539C46C351FC0FED4F6C3B53E1D6010F91 2B925DF6E2A25A7FDFEB8BB6F7FC2839467EB15668B2195DE2083B17CFB9A6B1822833DB7BE3A2 DB6A97DEB48813C13D4BB2D257459FA71A67D1CA5672F01211EF9ABB0C16F378418F20C77F5F76 2FA56B0F84DA79EBDF728CDB72277CFB44938799CF307E6ADFA8AA564530716D5CA8677C8710EC 846C6E87E63BC962D59117B661D1EB2B16B8E13484DC1C7E6DF23B21C6AC4C69BF61C41ACF593F D36A9119969F5075A5D428BDB46620CB9B3BD16ED48E3E78C8A900FCD978DF20D16E2F895B149A 53FE7AE1A14B0901BA3A9C2FEA002FAE3DD25BA0C1C1918FCF1C85751C4778B8D4FF71FD4275ED 9C3E711FA12D503B0C05469AE2F0F82E9D6F7E1CF0AD5BE1BA3985CB588524AE771AD942A6C2BD 8BBF08E9C77EA4BDD54820BD8A0FCB35A5C93C0E1A3BB507E003DB5941B7950940BBA323E45FDB 322585D4792B5BFA97BEEC138D4CA56FA3022D3AD99E30F80557D9B531747E9F4429BA9809CB30 D20005BC24E3A3488178526464E8A950C7D04C787225FB6DF51C3A38229C33FE52848F4DDD9665 7B61FF9E0690EA6BB963F879D170F2EFD592D12731890BAC9AD2FEA407B161DF19EB30D6B833C2 7ACBCE55FA0556E2F991564C15ACAE23647C57BF1885C1FD0A80C1A9EF044AF1F6C6C20B3BB5C3 0B94C38F718696C127F3D0BBFEB64F6D2CDD82620640D7E1A7BC954D97D19B1BAD7B6EA8965E77 EF54B80632B9CD9F8BB6028DAEE40D5965299407A01E09CCA11CC830B66135F80D5CFE6BB4CB3A 6C8FDC309EAA940B1401C268C635AF7167B9CCCF3E7BEBA89F73B721000F8B0EC19B0F572A5B6B 262C8FD862DE10BF92854FE705A5C5911AD6D01E83B9F15A0B7F411FA37DFD64608D0611FA75FA 355737F0A5F1A2736D071AFBA31A2AC2F41F8748A9AC1D61AA643FF10DF9C7F0310B861F74B504 C53739BF454C0BFAB07552B85879DBFE4CD367B3E96ADE0C3604A4AC44BA440055D572F06E86E4 375E88A47DCE391EF8DE0C730D340AAA2BB2A486517D7A30FEF8E49B70094284FB20079BE3C8D5 049F0B631B76D2DF986520063E0BC6AC94DBBCDEF79ACDFB022CB575C57AF8F4ACA52FD00F08A2 BEBDDD5C7CE5F0121F2861B95C416F82BE06778D14275D4A486665A639DE1BE871DC7E2F8F0DFA 340DEBE03F9C33622B0BE67DCD88760CF15732527B29120BAFF09DAA09DA45E32DE6B8A2339D35 0C94DAA47D0C749C250CE7CB211BB390C521404E68F8FFF10D8CC2EC293A1322A3A6F3E3818D0B 248A90D38612061328DE74A3D22D0BE467974BB7D3FB9A1937AC08A0955DE27876236AB3FB780C CCCBB0419C81982DE65ADCEEEF7230CD442C4C4A9C093AAE35A02797FD96AC49C8694FC72D0C88 1420112C26FDEBEE7A305AC36D0658F01E1D8E685479AA8924F3FE5088642C02658CE696894DE6 004CF81CF629C9DBDD43EA44DBC758935838CE09BB1F91250DE21F3B1AD55F3BDC8E6C95271DCB 7811EFFEBE9CF3382176869B3A618E3B7BBAA72158B6AC5749118DDCF030AF00E74624F17D422A 969CEFBF127BCA9A3198C2BCA0C8CCA866A809172E90E464733C9A270B1C3D2DFCA7FEC58CD753 9D077BD744B94C9554453BA9D1BF9E6AAA7005846FD4B55CF15D60C06C3F2445758F28BD335E23 5556B5C01A38A730607C3517698B63AF6924074CE49F290DF73CF429E6DF2FAE37A2CBC2624F9A 6D0927C9D450BDB81C352FBE1D31871E7DDDBA1358532FE253371C8D2D8BF8C4CA863676D15E57 C5321368FE4E7042937EC55138C4A8C27A6EA262CD0D91C0D2C685C0A066C21EC0209E391A5E2D 49E2C48FC53EE4BBECFF04A7F8766681837A85238EF4B5A9692F28830CC59D70B5FDA03F42E0AC 58A955D18D3596333C816F59D9E145095A83617021B47057885086A0348B573766CE83A8275C23 6D0FD66F945C3648A154C23AFBAAA66FADAF1F8FE11921E4917558D001F26F984EFA75A37FCDFF CFE38BC3A587D49FDD012653EC979E65B8A52E461772A6F0C50CD9E1948FBFEEB9F3B217B4FF7C E5F2C86F011B8CFFA027499E5E2DA96D2C1C83E517B5B6ED1925259E97FCDBCCF1D84D0A63B4F8 06B3EEBECBF6B25C52F78B81AD948142669990E80047ADDA3CB0B9125F1FC99F141581E0F98FFE 91006E83866ACEE9BD48C5D79D8476BFE670EA9A60B4713D8FEA9A1A75DBBB3C36C69E2E9EE598 33458FB987DE5E00733C954D610DA3C504A678DBF248E061FD83DE507D44BAD90D8A4DD5D9D92D B0C60AE2A706F7EF6FA4D17E1EE1F47AD5A399D5D53DBFBC651544EED9E39692749EC9D096B7C5 E461B8AAF039F663B092B4D2E7A36C12A39A419CA6F3EF7F4D1D2AA1387B701030AE94ED8288C3 BBA3D4514886BEC46BD8A25292A919E9893E7487512DCDF3B8269F6BACB5BB38CCF0801CEA8944 F38209BBEFE1789B30069280119C67CC9BE0F77B19340466D2A2BA2C4B75F38A4F8AAA832F3063 D93C514B7E1D22A6D63DA4CD7AEC46DCCF98E787BE93240CBF28E56EB757B3A8AB68486EC15134 08680E0C765DD06C6339E87F8633653A7581C52FE8D0798664FEE6191F8CB5CBC9258E30FAB211 6A6373890BB95884DE4BAECD590203EC4D8428007193C1113070C39DACE584F19363CBBF4DB4EC D870BA78008B2BA2E5D0124D6EE28AFCAE0097A8C7836DF5F6B2ACE881905C5765C5D7C68FED00 D71A5C713335947713FDD49E117866F02C1A4588FC1518EF6E1CD9406CFAD6B5A9DCC50514F5BA F1B5259C93A8D917EA76E357DEF2B8D27DE40886959220898D59769523A74A73955842C0B44634 7C9A1F335454A23C72F092DA2AC404CDADA9928530393880988810EEF73F80080011F1E6C3A27E E2804DA5CB3E1DD0CEA4D5B484F631F63474BD9EFB277C12A1F92A071A52C5E986E87EE69A567B 44E6E1288E03D9023BA7A2222168D5FAB8D47211F7C52EE10C5DEABAC98FD192B609073F4225FB D035AEFDC4C9C6A042BD0A6D13AF241117E9F20E8E7CB2C068528D21D0F89E342B892A4A72FB18 195D716AD02571E213373C608E13038D3FB474C0630999338D65C637FECCC5F1AF4ED5F9190894 585989C690A83C63A0EE07ABCF2215055ED665D5423111218FB924C0BCCAE7BE3D634C9510D118 E87B8AB3B7D92B8044FF15B7A0C8E1DD8A950D94958CD2082E8101ABA7447B038CF39D3099A952 7E76B3CD1A5736F76B44FB16DE786063CA53D7F72C17326DA5B257D73B6DB82ED224FBF8CD8AA7 42B2EA5126072AB706ED6F008DD7B59A274412BCF6DA28F9A3909FBFDAECE3F8BC302A94A6E376 BDFF98E2B9E5C476C01FCE90A4E92176EC88FDE2A09180E0E1A21F597412480BF19F4D02CFC87D 95343BDB16F1DA15BADFAE941A331CDADF42D591F0CB59F117DB2A1BB22D7C299936CB6DF37C47 B37D4570C512142801E810BF82978CCFBA35761C64FB236D7CBA3755ABDB2FF5F94CFD74FF2C58 E3B9EB02CBDC8EB3D1CF25D1460C3D8AC1FAB52410FBBBC323D2C1A99B54906E7ADCD33749F347 51B9CACC97269AD7A879C646489A1794657BA4127F94CF8E266289979CDE7A3227742F1F4967F2 5A49EBAB5E0B3FF4D78D558DC86B446553AFFF75B75590157EF4E4B670D4D5508ED790E39884B8 9A0881CAF324D84772B53AE4080AC52DEE29C8506FE6F3AFDC9ADC7D1775DC59C83D09D9AEDD9F BC849545D80B11FD15A4FDF2ACBC494EE00259AC37FE497C6F35A4EF51B25C67C5212AE50430ED 8D6BB73FC89E34F2E760296047AFAB9BFE89BD2FAB47E7639F04DEBB92208578E6BA025F180411 1AE7985966A5D2AA7084640FD7C7F96578321D74E9B508903E6D5D3C16CD3FC9788FF487B31632 5FE044A262CB14D4B97250A935124F8024D1340F58E6FD6D7B0411E3AD19E62522906BBDC9428F E31F00E1A0CD96DBE93F1EE73119AFE7C71F059A90D9DDBAFE00A4173E1FCF74BA97FAE28EC8E2 45B972AF106D1FC0ED3574D1C713E0E955C4917745DE163E12B345B00A832F7F7B70CFCEB76F1A 88C0CF050EC5D2C9331BA0D84B9BB9D0ACE85F021553DDB0EF3485B056421587241844DD64623D 30C7EA91B5685E61D6D713D0867D8FF904E254D89B3A6F6E44239E8AFB210C2A5D741E0976BAC6 5F07CFF611153E2DD8370D4E924459F571CC9D8B9C4BA56C0BF6BC1F6D20AA042CDB0EDD617148 22A7A57F3B7030A9D055A8B6D5CEC8E83F471D692278EAA138FC371AD98D772D210B0F874799CC 9D7F29C2349897B7C77353D86CE4D17F970531A57FDB7E7642702D853AB8DA5F580690262AC019 BC2672A5238FE43BD2FEFF2D2338D71028EA1DA10A987E610F0C527D6C5E7D0960AAF5D8A77FE9 88B1C30C6AE41A073DE7DE2053B99031214A3C69E66301B2B2C12770C070F80DC986F255D3C766 7C4AC0C85FF653193CE6369C8AA8143B99AF8C21F58E08A77CB575369E455EB094F4D180C645C2 0368477129CAE48C36F4396E82E18903313AD0F39E666479E88C7CA4F99089120135DBCCE047F1 97FEA92C118A0C3F936E4D12CF469FF2C1546C6559ECDE6BC9ED971CE2ACEEE6B4541B97DB48C1 491689E0CD883F221B58F2E3C13336176A1D2FD31524E4E56D5DE01527EA3BF596A9EC4163DC9E E300D6D8FB2A806A2568FCF190903D5FF08442C191980ABCE30178BBB7A0D51DC2F39850D2CE51 8F5DAC1055CD93EB1E67AB262460646A235A14B6A2E2DC1FDF9079877D90F1997A01D7ECE1E0AC 3C69979C7A92D318F6B93051CB55F1992A0A737A3520C553AEABADC17FF5603F23712E31985E40 167EB338F9F96444B908723C5D906B67556B0DC088E808A239757304673DB8634E5B049A25BA86 2491EB65EB2FD1AC1793BC94E806B22F06031902BB37F75B16E12FC28593E171F45E8B5C076370 EB2522791038C864354C495FA67640FAE6296C953A004B68BAFDAD61F9C095768E4496B3120EB7 718DCFECD3B6D6D506F32561E435FF2AD83FDCBB6CDEA0669F0345F651712FE000D80952151CA8 CBE574B5828FA7D2599A82BD6B458B4F462A6C09F1D7F335AC4D8919DFC8D2BE73284691A78F83 605E0E1818030DC666D458E168F389F9DC51A71F232C4BB3F1CEDAC17E9A751D2A496A49BE94A9 D806656CFD620842FB76BDEE39576136D7D3B2DD8B1D2FF9A6A288EDB4128C71FF0A8BE2D140E7 B2DE893BD3F1878631401D13156D6992FA8DF287978A8AF5052A33E7FC68EB9D2487D47B0AA43E B25625953FED6F4AA641604367E30E94BB66CC4EB3EA2497DFE7CC0874CB031A0635AAB2ACB504 E70FD9D9C1F1D634D041425688DC6D4669E9ACC514A08BEC99A7F5928E98943CEC9968A09BF757 38AB42F50308407B95DE4AD69EC9EC52D1E9C589F8B52B52091AE3872812CD55F633DF67209A25 9FFAB05696B34096EE79AEF64B59B589E2BB49E2908FBA309167DB66F7F5D47C3873E7BD213B1B 48E966145D40DFC0541FE4F3C382A8E15AE837DD4C7B92C53E7285DB1FE32F605B89AB71DAD229 D4921534DAB151E4AF32840F33B9C7F3866ECCB6B53D232934CFD94C8C59BA87D62BDA859472D2 B3CF283E94783B1D3BBD1B35AA9C10974011BA857A8772462F1B2AE8130E1263BFCE41489F5532 3CF207FC6F8B299AF55E6762CA918374FECCA6B5B55F2732FD908D25AAC3E703A05C0D6A70289E ED5329628E968989AB3FE634F471EDECAC8F7056685B61DCEC44772089482AFA3CF96204E0440A 04E570C105F1A79F592AC40F5559FA0D29178F424C0A051B92E4684B6E90DE462083F33A7A08B4 63E12BFE98B2DC6021FA61140EB257FBD66F085AAAD4C6FB0C089B1FEF91FA820B7A2DCDA6147F AA85C6279992741ECAA61EB6913F437CD0E9D94B54319C12BA6EB71D8791D04D40DD386558FF9E DE3883C324528EF3F428D01A175B7DED3A48D184420DB29E352D025FEF804E16396F186FB68775 5F6C9277A0555B1D4FABAB02A6D40AF88BB5C9D82C32E577CAD2054FDF64ADAC782FBD31593A6A 65DA02FBD1ABD742C73B7634FE90DCC689489780A297B29BB3C175B3448D331B73F307751CEF96 BB6C0C48403B1A0C7977AD7839111486EFC50AE2FA28666A0AD657F686018464001811DF596F8C E4ADB26B2F717A2C520AA033A184048ABD8C9DB5D0D518B00AEFEC2E6E0507FCAC2D5D09AD941C 8B04D61233C49770640BEF7CE0B1E1424F191680A0FC4E93B5CE99A406E262D325E952D3F96EE5 A67E22C686170726A86B6C5C72F8A8511AA6F92BD57C9A7524CE47DB120AE506E577106DACE83C 52595127133D310397646E3E75A3B9D3B2F49C2E7DB6B0B0BE7F0392B897BDCA28461A272ED2AF E554A375CDB58649C07E6FB9ED7EE571FA41B8B0A7A6EE02667449ED8C079B688438BB0FAF2169 40AA668C7771D84D4FABE67A893048C3EED90182CC236CEB3A2EF960A92EFC282964EFD400EDD4 DE7B86DF8D18E8100DA9409CE31FE6B7360D9238DAD7590FBDE2E6686CAA620E5B578596E810E6 AE10CA734AEE65FACEC38270F72A484C6386F37BC9122D036B531682B16CCE84C2038A58324826 D5FE912EF4A17B59075C8FCB2C949902CBC3D948B1F8EF3EA31F6CE0E4352F3D643DF65116979F FB9C6BC403CF123AFD13364947D9C1B95ECA218B17F8C515108B9527E4390BCE3A9AC2C2100707 6E97A45317B5B56FB1C582985C853A4C0C88FE31BC32E497DE73C57FBEFBE91E549C3BA19486B1 60B5A5C3E05300E553E8036C4D831F4A65AE9D489BE07EE4BFDCB3543015C173A416B1696093E2 DCAF9410F4A2DA057162B0193D3C03F600106F767E245191CAFBDBDA048CFE83C441E3DD223EBA 0863BCAB6A9BB64365CEF19CD8EB1F328B17E2A3536407DB189CB5D4C8FFAB9CBAC077F4041EB9 A73AECFE166891570C0747E94E4EBFF4914F1B986364817231471AEA4D2136FE16A83BD7CAE91B 721499F40F7D7AA61FF7864FDC514CE91EC8608A135D8DAB5B0FC96F72362994E5E20E328EBA8E 58F0DB8835FCD34C1757B99A98202AF46DE08761C367B2C8FFAD3063CE2F1419DF8E01CE2AA8CC C7148BA74AFC479746419CAF20E4E195AB8BA6950C24DF0BA732192FD61B2CFB8A65BB9B83A9FE 9CAC67FF11B57AEB8AA1CF29F05D3A8D5EECD156D6423ADCBE34C2BE9E6E7D6B5F7551763C5DBF AFBD02021310B5E3699436F86F449A1B8A9C9E89C39F541FEAA3EF045E2E5088388618DFCF52A5 7921F88D6C2D2DC2C50274B46EA6900D295720CCA3B23DC55E0B03C30A74CB9C8F77E95A3BEAD8 8CD80B9118CF0E295CF02AD0CBD484AC35C804735A540E173D4955D033EBF28EF625403505199B F1B82F35648B70345550BAC06F01696C4B81C27BAEFA5E7A6A0ACBEEF1D6F83B0707787D8E98FA DBF67B75AD26538D7EEFAAC57DEC507158DE3EA39D3C88D3AC9E73AE988B1790C343E49EBF0070 C3245FA4BE1480DD9E041087F87AD0520791D9BB20AA78FEEEDF0772E1749F5FD4F0FD46265B73 815CCDA191731F7E973EB698D3FFEABB83956EC55D6A7517643906224EA5C8962DB69EB0EBBD38 66BC8F4951F9C6CC0C156F514DC6CC91F4E0AD9AFDA4CE3D4A67E1D09D29D9B7AE386CE2428AAE 6255AC616F9681DAB06ECE72282B0806D82947C2A680E8A3B56B0538A39AB4C55B9DB329697234 FED1FF4298DDBB758F5B79979109A8A37CE495251311BFFBE9E0660B80C41F9A61CF994F3EDA36 DBD67A1E44FA9C778A34E5C974E82087958B23817CF594718FFFF3423DB1FE5E7ACD4C4922402E 2178531BD057406134E8F65CB088C3B9D40DCEA5BE9AAF5CC8E1818226852442A7F9E593688F18 1CA6651D1073C402EFDB48F0A177E654B9CDF18B3EB01B8B70EB368FA25206DDA4AAD4131503ED 72F6EF1647101805A062140F08B74794CEA728087D532A5C96B89660E664024D1F0FCF96447261 32733580D9EAC90466ACAA47F0BA5113B9E462C66F7B17DD46F6EE4E1CC446EF9287A947FEA7C3 0F4709A72C88E7C9BEAA57FAD2A7FD53EEDCD929D7013803F481F982737A6CC1879E5D3080EF8A 4B6759E75A56443D49A8F2CA2CC55D1FB2DAD56D5B5A0D7C3C7D0A31BFC7BB377FB52DCE2C8E99 CD3938DA37177ADE7F069E92A6DF8767377F30213677EF1C20B00A4F5DDF8E12121AA48171F7E8 DEC03DBED1C65067784A79F0389C1739E633BA9D28EE2CA792314470255BE7248D40E3587C0A0B B6DB277A41BE95AE6390273E8A0B07FB13E5B530E27227F48D1298B40ADDE2E7035F94D10A2A50 AA3A3CEED67AE00BEEAB2D163396F3DA8F68828FAB9D5E9615BD0A302AFE9775E684BC97121D80 AD3B42C18C37FB1DAD5903B97E892160C7464813D891856E08E1ACD27A40760B7627A49F58F7EE 8B3D3660C3DB676B6B9B71DF2968750B9F1A80DD62EE3BD32C3B47DCC6C140E5F11B27F60F7927 F1840E9C6EADB2D6D77A1C4DEB0FA8F892B44EA91AA4094C908250B6F4F6AF2CD54AD502384C9C AA119D4D06DA553B03FB85AFB400F78AC92D8788DAA55B1C31944556D5ACF3AE6B4C58066E5CC8 D618A8A49B984F703C797755145EBC8662AEDF8313522DC68C6F14C053708FA4DDBA689C43C77D 05056D8E55E4AFFE1896E0A6C26FF013ED34E9FF62AD8C7379F6188CD1EC8AE0EF98FEA0908ABD 2BB72119EB4D4C747152047E26AD4B14DF75F09AAA6157BFF0FB8AA220D96F2367280FF2BB17C3 A9A738428BFC2318757A70E80E6FE8570787969C8AEEAC42A75677FDDE995476986E9EC26D17F7 FB5F3ACBD535FDD13853DB3BAAD3F2E24370A4E8837B3EB483C395945722B35DFD7E2FDB46F2ED 44909C5DEDA732C2039ED60989264739690320E034B23ECEF5828BB96F8F2BA4397C7B68B7F72F F82851184FBD2C4C392F3B5C59E5B4EDD83353CB47FCD432AD7AFC3C7E26B55928F0064993DBFD 9FA7E89D665C7A041C18E1304D5DE61801A0DCF44D7E317954ABA6C94365661347030CCFCDFE67 19E6722145F2CD8E1D92AE1D78C60E301EEBF94B631032E0452206B1F478B3363B7B683EEAF821 3B8156D95EA88CD65E6844AFAE9BF59F61649AFE540A9FDE690FD5F5C328E302C9EB43456AFC10 7E3296AEF81303FCB9CF186A6C96FDB7513D2F6F84BE3EE195FE18FEA6F2EDC04C44F266D8220C C201A5C84B9A81C2437B8D2E85EB7992F9FEE955FB316EA6BD40E7292F6733B9C561BF467FDF52 B7C54D3B05D6D404F3348748E3D0FA42E5BA7BC2811139A7162181B5B13E9921701C60B0FE3F08 9EFD39BEF19E4C8216EC556225337CB50701612C86EA1E0B85B9447D30A850D9AF35E039A1177F E44023F345DEDEADA693EF0FDC26468411ABAC5EDD43D9B81B42F6E4DAC35F4C68B25096004025 87F4AD458294720EA0038D75092D449980584FE7136E22F9C170477CCB97E543CB997F84331A0E 5AB5051B7143E86E80D13F163FE9D0B90EE9C6604B71397210300A1A098E70A27C591941A20463 C242F2087396954BF9193E634998AAD4EF62C4ECA6A5A6B4FA755E9680F427D86A06BFE58AC515 ABF75AC0D8F2843B39699850402D84EA6231D69A9F74F7DBB1311358AB6EAF9B965F2135257F26 A328482E47922F23364FEC67DB123B0732BBAAAA4F88B66D08D6AB23CC9B123AE8B652378741C9 5DEAAB8C553857883C37890ACDA07DA6996B3BB11E8AAA56F7C0BF9896CE207928BA8478F99ED2 FF729969504DC5901265184C5606EE177FB5ADEACC7B02388D4E960F0EC674726410D099B490FC 6B851CF9085D8BD736F82E76DF6DFFFEF79221D00370C6EED9C23EFED4FE3AB85D0A52B32B0C3B 3FD5987A39B2BF2C89DF867E07A3C767A25F5279136E1F2E0B8636F9ECA61F03789D2ADF3C9739 5FBA915DA068B96AF8C8F12F1D5E509B873574ACD34F2593EC309CAD1452BDCBCC3C30FAA7D023 F44F742ED67CDED191B8C6FD26FC85E9263D174B9DE982200E94A6E4F63FB0ED4398D4A3906D70 796A29649F70D77A8D63B1970D609BC84B93B1E4583FB5D1849C46D6C00B9643ED635626A37088 36184EF0FB6D0DE5D537CD398F9A9361BB33DDC174E2F9C4C6D8E05648F2DE96FA713D8502678D D64FB9B5597F78778A22D1747EF5B40913390ED8D2704A83362AEEFD90AB39396273826BED27D9 8FF6B4AF9700D3AC5688BC4327C8EB6973B85218C0D00020B59B57DE1735A2815372646625076F 5278E827179D08372B9BA679ED92F3FD55CFF8B69EBDF7F8093703384E48D974AA64C5CF88C1DB 103CADE052E80605E70F6ECB32C4639CA413744CA95E29F76DE480F988CF2B52C1DB780593C310 7A4E8C7914DAFC82B98F853981FBB896DF909BABC9CC1A1C008C3ECFFDDD656D481D7DFEDC42FD C71905F15F665F800AAEC67C03403A153D46B305A45A1E05AFE40BF394D3C8A071CD5EEBF305FF 5A371BD1F117670DF1A49C2B5D1CC83DB21FD5389BDC26601627D729D6D2BB18A843F361CCEC75 D151A8CADCF2E49A33316165D44EDE2CAFB3179E0E2AB8B5E0A3DC050D986D073BC7413D036AA9 8962867022EC234CDDF1EB6769054D8A2D165A873164946C614CB9AE481E6B55B2801D9D6114C4 F3CC16833999E6662FA63B7FFFFFC21BD209B69FCEA1C26B905362105807F12C9E68F9FA012E6D C8DDF21969D38A19EAD13C5D49407DB5380AC40902044149070F9D7D251895CC5F8A597F45CF23 7692FA7FF33355A31E26E7BB97CCF0E0DD2AA36AB210268836E819E45DE8518C8EE54E1719B483 1FF5D90DE03C4E4C864057144EB4654B908EB052772160C8ECF1F862C3F504504F9E15628A4A4D 16B01F543C677ADA28A132F8BF5F758CC086DEE7C146B83B4C6476C3A550C6218675F4C33F1ECE DCAB0C3112BDCFDD94A3032A73C6124451397A08EAF12937E980425DF411FA762E7817755EB367 1A999A785D410301145F7DF41CDD1E3C642ED64B3E3A352D1C65ED1E62B2C9F40C9398CB30F77F 7EA88CDED5A5D51106D81DA03475B3F2525DA1AD4AD55379682868E4B37897D04A8BAE8B474A8C 60A51695076E91FAF2FD3E6FDAE7A633EC5A83242E224E1546EBD0A6BE6A1C21619A5226BA46DE C4A93E212FEA0531C74115BD39C52665E51001D9D0C01AB67FF7E3A25D4D644BABC17EA0300ED6 70B5BF65DFB5F3DEE45189F185B494498A6C1ED336C60901A8E36AB95F56CB53410928DE6816E3 CA8FCC48C1C30B86CC6E2B3E265EBD4C5C888574A9987A037053B98BD86AD429CD752C92E38982 4E9C1E441828C53CC495BEDAB0FCC65612F4BACDF7566DC2D9794275D3C64E88E4A70886FA6C06 F6E6CDA24F4C5258D56E3E0F647325C176D28287327B6486818334B4BEFC9226FD828184E13A7B 44CDE166E10D44EC74EB1FC336470717BE9CC57B6DBAEBA117730124DED41270AA7A20D2CC5E82 6F8E3A56B246E9EF62CACC7E4DFBAE4FC117D6CE6BD747FAF7E65FFAB333BAFC276A8615E36B2F 9D2C245729CF4F37A85B67CB71C33998503C619321A3F1E965FA60CEB0409780BC2C85E141C044 1A52DC12D01583932E878BC3898756C8B70615310AB72E0032D58452F0844553D86BC4710BA757 E0F8B346F08CEF5E11AEACA08ED7923116591DFF79A2004AE9E36476CD523085E52BF5F584E99A A8F98416F11E7BE5CF0ED19B9ED53A8F5FACBCFE684C67AA615C58969FC9778C170D5AA4B495C2 7FCE92D4BBB4A6DDCC03D57FECC625BAE1F8EF1BB450A617828AB945775A9A453CE791D118D7E3 82DC1777BE65E6E8B7C5D6D53BEA31A4849314E6AD576437AD7BF724CECB0C5F82ED0CCCCE6A2C 07064D4857001B3BC90DFD3CB563750C1F85E1BEF1D504351E02F136A6846F3E3766CE83A820B9 B00E4030E0D0AE46D1259ECC0F222FC261A59D458FC690A4F3AA9CF130C75089706BB44D0E11AF 80AEE0D30AB29AAE0C4F15DC3EACFDB17F2C398B32F1BEF376003ABC5C20A093203D44D3C1D3C9 6730A0E2DFFDEBA332266CE06F31A3682230593B1441D5293F251509B06F2A623997A6F2E9E4B8 F98EF0FCEB693AEBA92FE01768EB6417610228D5F164775FC17579D231AC3F37A781B960B2D28D F7ACA6DBE948731798A429A8B13A9E50B55A39CFD2538214C79C6A6AEA31B4A6E00CC31A59A772 2B850CC0E56F624FCC9538EA5536A1129D3AA5A2982D4A09BE412E10263225FDA8EA1F8E42C57F 0DAB402551A3504DCC450516FC8BE30B4835849A969A30986FA1D70A35159DC3838ED699721F10 2758530FB4DC7D09F9491D6651755EB0A2297B4ACBD7D39A5FDBB18C09860EBB8B758AEA34934A E398402DB1E678368AC44F3EDA1D0D0D9D4F622098A7954DE9AF40A4BB212036DDA8A547883F09 EB4928ABB2FE16B20AD3C4DA1E433DA1A6A79DAAAF015AC57988E75428D0FA0F2439BAE2D632C2 46C9518D02D8AFCF2BCD48B6ED4ED70A6E84E3B41C0C4C0A3504BBB7C8B1EBF881211BEB2D6F5B 821A773211A4275A88ACB6802899EEEE4E749383F4C8B05C364A0FD51C0BD79A29A44D79614CA5 88142C955394E2E6947EB28568E84EFFBC1E53126B0AA649C5DAB9FD3812A82F36938DB423C744 787DAF1E3615B14346FC285AFBEFF55619CA9C42FFEF7249E963A4940BA5523B63440014470723 D98680E944C61D52C24C93D8D310CCCA583AC522257F9FD187239C5CD8F6C8F3ED9147EF975ADA 69C88A6E9837FC60EBD23BF6353B191B9A60D35E783D9C404F92860FCACCEC13A520D874413DFC 9E49B9665C6B4E571DA5F798661428A59B3E85DA5C1CF692794A19AE33921341D21BB8D4781D04 704D31D3698CD619E18F671E767307AAB05095A47BADD8A9F3119A3BCEFCFB96B67F19C285CD45 04479B251D4C1848636F7AF7E4E2F3450523C66C06ABBF9EBE571BF6079C53ED599684D7017F58 33CA60357274C5D77BA844613955DC41F1257B8934D89624C66297AAA60FA3D8FE51B8071A55C0 2B974BF714A4787154E2BE39EEA83C9CCC78E179BEE40491A7B1A69E9769065173C888DA32BAE7 1C48A75B1ECA34460C5E7FAE5A6A0897C716A938E503D7569EEE2267314934144DED48A7376DC9 95F1C3B89CE79946A39FF428F16CBF65E8006C9A1CBDF2D7553D4B71F884408415964AE608390B CA3901704E39A68928D810C8815CF7A86FA3DE326CA7D506FEE41CAE47731B2834048D25FA5F93 78F42F336F89062F42FBC4ECE7A2D005A72204F28F0F0DEEFD83A7E2123FD8374E9B24109E00BE 717395EBCF0692924216E3BF281AFD254E2A68FCE1344196031455C86E3800CF42DB12F84D03BB F9DCC70446B94AE2F67CC4847378F33FD748C76BD7D70AE4D03AE6C0230BCA80E436C2126940B5 CC9AF92BAD3B7D52BB30A24862089644AB0E8815856B4AAE6A930240F8B6E357A040907A3D3F2D 8DA2BDA625F5D4A2C2D7DCBA663EE58EF285FE140BFA75D28FCFF911E4F19819970268494C8285 EBB9E85A662302D91D5B5725D508F55C1EFD3090305A904BFC3D9A7CA9D80DFF1EA435A846437F 86DBCA41BE2F5B4C63588E3FAA3AA34EE18AB77680F551E0E81F94822ED3606A36409FF601B7B1 2D5893C206B985F234EB22D8144DF148E73081A4EA57308D5CE68061B213862CF80C8798ED436B 98CEF59156CED23B0718D240B9964074BBCA5EB0BD2A4F16651755078C28851D9575DBB137C2F4 3B4AFBC5AB51F921BD6D50CA1A12B2F01C0D6501324C929D2D8CB56A83C82FC5041A4277A07EC2 08612B09BF3D963D3A19CA82822DAA99699CC068284878829A27BE978C031EF4CB21E0F8886FEB 70BA0EC4A6A906EFB02B9F03D0058ED7518F7343D1A6EDFF6D3912A82939B3CB06BC34F978555E 749AA8FA24A7F9FC2D594083D139FEE84EC6523D878172D8E65BBF5FAD490090094A49456F4CEA EFE5413F93E50ED2AC3CB2FA53E498671F274EDE57B451C541B044282E4AF9A3760762EAEB0835 7447709C3311E05978E4EE8CFE0802F52ED18C051690F1BDBFB0AB8FD9017FFA728BEDBDB2430A 147847EC3711232297B0A463A705C53A36D7C6FC08949BDE34D494F550256EB1E083BBE7F5C703 514B16AFF5D1930B3DACA9FCD03CD06409E51FEA90E950C6D93A8A1E0DC7B2CA228F56EC206860 C8697516327C9D31D23D59F80FE2E81726DF71B43D67E94D00E841B5BC14445DA2E194700E5A60 98EFD9983507E8AA4CFCEECC8BB43E41671B0AE88D8B0F5397F2168A2A7F5C9B9F2A4338AC7F88 701DE489AE5932AF0AE9E4817C4C72ABEA740489E344BDCBD832A3A8B6A9AD5BCFA6A93595D2F8 E2A784D313E058C60F62535013530C77B8559CE9A91F2F1569ECEB7662C34CB86C0B1579C83A6F 71B3D80C2FFED3AAB2D76E71EFAF3287AC7710B9879D65298D28CFE6EE1E3714A96259D72ECB44 838AE9623CA9D4F57CAAFCCC7EBE292C1D2960A51DE1B4AD960650DF179115BBC3B78BF5D90086 A503818AE875F025BC5026061453503D3AA579CB0E9C809E31E7512480BCE4E0CC1C69EAE3F202 B2D9DEC3FC0A23D11B906CD73E5B735422371413350FBFAFA051584E1463A94816DB6BB48ADE15 5D9A1F366D3246E0645BFF4959C6385344A9A9FFD935A413A27BBE68CEF39C66DF14F56E36FC9C 90DE20E82E1E5AAEBB441EE68CFD766F410C1622F2C1D72CC428F12E99E02D2C733F238B9902F9 CE1D502D85364A2C4096C4FEB1639CC9D69F92D12C7AEE78D074B8808CD0BAC8086C401B0F4CD5 0E49304ECA860A49BFF8874F2318561689AB5F7B2E5F1C5272FB75D5ED19E4136A91A3AF905856 3D4B83865CF15078CB0C2B967E3AA549DB591A3EA0C1521DD7B2E222C171BF8EBE765A32A4A578 4C611BA2C61B241F2AFA40E49712C919401968D84197A731B799D5397BD2B937329D299C8F0047 DA451992E606BFE30A8E1814907A87FE84119AFB93703D9787D4C1C413F5A76236B78AECD7CBB5 90408A312F60BC1BB63423E10312C80A121A154722994138BFB16B0393A07AFEC716EA6977071A 22AB3ED600A094E5C6DD73F6D7F0AD132355E7AEC4E301E821E11FAAA66D70A8E3AC5253AEE552 186B6F6378B62C14EC41AC9451513A4B27AEBD66959C41D778F3EE8C6597A0E2A48A4EE9D14F2D A3802830D791A3D045E94071071E8BEA8233805BBF35906CE76DD68F0B738A042708D796EB4EDE C17CA860D8578157D85F550F31D3BFA8D28B763E9C634F61F42FD978EC125E90C71E2F537EFAF5 283D4F97E572F1664912F61F69A1BC5314076FA5211C400DEA3C4132AB9CB8192080D78B7EC39D 14FAAA15298AB6C80A800957B2BDA1B2705FE6EFBA0CE5855F7E746797F964799EEC86675CC0EB 30B447839C99713D0D4D665D0F1BAC68DAF266267A57AF2CA066FDE9600E4623613B4564C58A6B 7343AB9DB446DC7FD45795FBAC9E7A7031AEA78EB8507BACADBFD9390EB90FC198391CA7E15CC2 9B7C7DC6964E210FAD7808E92397B86E25500354FE8F749ED4C9A98A48B6E5BEFF2B2D6D1AE9EE 19F82E1A144192CE87E28731AF8DF82CDD1953D73B63D54416A87F4FB927F6C99EA8EB5291B10D C519E5E60F8C5DB071F46F1A308B8F7DFA353C6CEF2578034B31C3B7537568B4C23657775503CB 2F9E829D8B5CF892EC4D405F215AB48056C1ADC9E2D7195463DDBCA169F84060C6BA9D89D3CC01 0A58D845F687B148F35C17CAE7D627E63616C3ED8E3F7FCA1A2A894E0A11918F25C97C608B02C8 94AECDD3981577E0F550145E18FD99EE2ECDEE940C7166BEFF60771C04C8093A0E74BD30551793 15358C2203ADD885313B9C4AFE031A15116B4DB5641871F6078BAF130457D50547A0FC4872A9EC C4C8BAB98AEE3EADB728523F5A1137DD046CD438E3D6C1DEFDF53C667A76570EC5F2BEC0DBD668 5E18B204685A3C29826E79CE98555295CD1B17B29B46D52AE264C5D713DF91E38161717BF1BC52 FCED4EF0F9E8E7384351530E4E1FA42EE19403E64D2B8C335E4585A32FECC7D3860819ECC40484 EAF73F3CD89A56C7D2EF439C8C4E773C136898AD7492444FDA8FDB8C35223969CBE88BB5998C2B B30F46081A706ECA4635B16B0EDE89901B3A7FA30A87AC59F0E3242314229267537F9F4BBFB5B6 29C9665AE09B0A3BBCDFFEA35422E7ACD6776786BC165811A457AF8FD7BCD4624FCEECC83B2416 B225A6047E6103BB737A668E6EDBC8825302E013B73543A6114132CFFFEECD1F9A9E2FA449BCF9 85BCDBFDDB0AF49E2E42AC2511D4767C9C63198F03EF3733F3965A2C057528644179793910DBA4 E78749FC2D2DEFBA1974E3A16C06B97C32B0DC0BCAC4B76564F7A1E6959B26CA35C806C11B02A9 8D32629F3CC7C90786DB3E1A70C7F3C43906860630BEBF14CABF8B6D694B27138D633A338BA1A6 0EF170D8EF499E3FB9D58C3C723A4293D4248AC65741884D5929B77EFCB3568500A991C00B58AD 2BD6C4D7DD017B05D02FF6E21E1C0FE24824EDF08945C7C6DB0EAF97200D3F0FF3DEB6405A5E9C DB4610837769F1DE543A137CB2508051E95C322328E550BEC8E72EF8CEEF6F8EC850326CE919EC 2D66D961A3A872F086340B00ED43E63D714F2B26BF48D1A934411D909B4C1BF3B5512638036326 5E2C49843403EBC73B3D5BB924D285E9F4B2DA3ED5D25DF840F95A089ED664C47B4ED2067E7107 D5A83C5C25E981DECEF5C42FC7E7E210A1415FA477A5BA8DF602E04B026303757CCCFF6C2EAF53 A95F621469BB567842F70C2D26118A6B017AA2D8DEB49DFBA75E8CDA1A6980408071A8B3152B62 8B5DB74790313CCD0ECEBA0BD8632C7192853A41BD44759009D034F25EB1AD27A12630128AB4AE A7FC3B39B6BA97ADE40DD2B76AB10CADC51978D5F3F366AFCFABFA031AAFABC1B8309571DCE7EE 20710F7282C77DAD16C1917864109E40D1B789356E45F8180126FC628850A95FAFD346B9B386E2 C5FDAADB80844361C5D65DAFA9E305136624E7AF744E8A6831639C06C74E1DFEE49E52C3FC77FA 601F194D97FBF6D8EF0F948F8197854CB5C7509375660EB1AFF2C385966225CD1F7566895033F3 C4DE4CF0081EE470F4AAD53F3165939CE32132509671FC167E8168C8DEF6B595F7E32CE6EDD833 976F27556545C800B400F31173570A54E824CA84093346AD43761204C2647F8A105A5646E7A5A4 0697BEFB5B5E50355A84B9F0AAE34EDDC377F3AB3A6D922E2BCE9CD5420219D0D5DF8B1D26A719 2E20D7A1CEAA433F058E34879748CF4CBC1E6A6725102D3375EF3D6785A753F73E92F78590015C 2B3EB46F173A4CAD6E397DB0C30BE0EE57DBF27622A21E6C465C5EEC4B07112FC2D3259214E034 229E2CAB1076CFA2CFBD0902CCDC5492A3B4C3233CD4FE6786077898E47411256FED19766B5C12 2EDAF0206AF06CF8158A38BA554C1F1024D781BACABCDA739C87ECAFA132301160822F3C58C3A4 B760464A89D990AE9CCEA67D3A5406355E5339F699AC6A775F15172914E55E2C8F8BB2EAF2FDA7 E7D78411DAFE61A15B9858E980183C13F082C69D4E996DC59D5BC53AE66C50B2713510A5346FCE DC3A53FF738B3AB8F6E7F12DCE034394CE40490D95FD9F5F484B4E965B1A39996E3F0DD6E5FA6B 5C238E858B92EB4E9F4FA3310F5E5135E75A7806613414C6EB5191645FDDDE7DA90936E1D4AD4B B096E47A5575094AACEDF7A8AE46C1572BF6C273CDC7DCD2E9845AFB9E5531E91C21BA0FD3AFF5 02155654713ED807AF7D55EF534CAE7456FA608A3C270018A85D80522EEED986BAB71CA2FF56F7 A5B1DD9205489BD0E19C14C585F56622EFA9DDACDF3D1C956B2BFA7469EB513998DD71B0C8745F F8665F2926825FE1 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndProcSet %%BeginProcSet: ppcodbol.pfa % Generated by Fontographer 3.5 % Copyright (c) 1987 Adobe Systems Incorporated. % ADL: 712 288 0 %FontDirectory/PPCodeBold known{/PPCodeBold findfont dup/UniqueID known{dup %/UniqueID get 4303737 eq exch/FontType get 1 eq and}{pop false}ifelse %{save true}{false}ifelse}{false}ifelse 17 dict begin /FontInfo 13 dict dup begin /version(001.000)readonly def /Notice(Copyright (c) 1987 Adobe Systems Incorporated.)readonly def /FullName(PPCodeBold)readonly def /FamilyName(P)readonly def /Weight(Bold)readonly def /isFixedPitch false def /ItalicAngle 0 def /UnderlinePosition -90 def /UnderlineThickness 36 def end readonly def /FontName /PPCodeBold def /Encoding StandardEncoding def /PaintType 0 def /FontType 1 def /StrokeWidth 0 def /FontMatrix[0.001 0 0 0.001 0 0]readonly def /UniqueID 4303737 def /FontBBox{-28 -288 631 1046}readonly def currentdict end currentfile eexec D9D66F633B846A97B686A97E45A3D0AA0525392EECAC163E584A9104D99AD0BC1B1F3F7121D1D0 F2C60DD206B0D3C8C450620B47320CA0AEB8937511E456AADE8E66B301B1E3E9DFE17E2F79ECFE A709FF3DAE19B4C169DF6773EDA414D02915A6F0FAF8B24FBB0777C697BE8A37D63A390AD9DAE4 95BB7E626721FF2FD3FB147C80D22BEAC37C2624D818D58C8DF0209F5CE76ACDDE57A303D9042B F0A674D095697F925F532D1814BEA8F8A5B5223A32BC4A95402F2C843181776EA6DD8FF9EE5F34 89051FE34AE898ACF3201433CCCE8B93D5627B76114F999C81A0C554599F115C89AFA9221F963B 6A2DA89342621244ABEB0E794C885F335E4EF8188C4B15B1E6630A405DA50578DDB37C96B3C8A5 6A7F70B55BC23606EC03C231B2380A83E0F0467A4C6F858A0548AC5AAC2F1117E7A4EA7A8C52D2 01B33626C2BEBCCA6DD9211D6C88F609BF2C6B133E55FCE6D8860090AFB3C065835D7B4F34AFF9 D8E0F4E0841E4367FF8604092704E1E3626FE8CB4A48EB13E45CBFEECBDFCBFCBE64323566C437 6AF858ACD9ACDC42A1C9285F253C3113122BC9AC460E2473581F9C1F210B6FE7B9D486E6C96BCD 0CF9C52A89D2FA2D30D14D0FCC9A2470A3B91A0CAA9620CB376C417573860071332BF012305488 2289CF2A52934FB7F32BCD94337AD1EFE57BEB43E4A661FF8EF5DBA38FA3C924E8517AEC114103 11E79D6DF861159AC74C9620888EDA3AF4CA08A15623B5F3D1AEDA88B1BCCE8F057173C0337C67 CA2A599F1F4BA039BBB26179F54A57A8797A9C4EFAC228FEDF1E2C50A951EB19770525AF2C6850 5660A6C5F4E7C7AB39D5755DDDEB1BC4D04EB10CC09F907E6BFBB68807A874392E443C9867046F 4B020E5D79BA450B63BDC0FB38AECDEA91251673C5327EEB74821505993A490133B73F7A4D90F9 9D4B3778E50274762FD18E87F7CA1D009DBF4EA8CDFDAC1494B7E78C17B43A9DBCAEE0CD5FFBD0 E0443DB5CB70E71D7C95AA35B42CF90830969A8C84802E49EDA9528B7D0FDD9175A6D41F7E3496 7B2E93815955A9B14B34D2A37E6E88F80C7C11DD39ACDFB1F10A1237A0FCB1BB37221F7160ACA1 9037AF794A3183554C07C03CF9DB3FACE33A2FB584A30A81578E99B6A625861D2D2957D5EB8789 CD0934A41FCA23C935BDB7094848B0FBBC592067A34FB3AD564BE71D20074C2A4B624945ACFC71 131694C4056E464D43E3249BA1FB106DA6E67BBC6DCF542801C73446A921ADABA4B4BCFE6368E4 543739A1AB352A54F734ECD3CDDBC89F014F59682E3C521B33CA0F9FBC23758DCB3446724DC4F2 45B6D123E904451D2030B0BA2FCBB3E58711779949740AED1F2E2B36C78EBBCCFBCBB6FA25EFDD 0A9CA000C67D6BE7B0B3618E10ECF1FA5279A7D16462F5382AF104B5043777194F0138CF09DD2E F53D8F4735BBA9B1493FB2DEC4D33B35CF18813FF6BF9E9EE78E2AF93566F0FCBF4D6BFA7CA307 E7B29BAF1B4F4743B14074BF91055E3FF84C3AF83C6642271BAD1430C7AFB976832E88471FCD13 ACFD0E867F5BFCE3CEEDBE63EA33A440B1A28111E39EBED5D08BC3957C95C33C2F3BA027005CD6 FDE60CC4471657FF6FADD89450AAB5DC9668195FB9D8F7510F13CC8EEDAA6D0915898CC619DCDE 8BAFD257D6B74F1ECC62599FF345702AEC4EE7BA242C73CF8A361C72595F6824240DB10F50A8A1 2E605636FDD4DEC8C7F7247E1924DD13FE0953677E86CFCB8A10F15E60C79DA019FFE0F748497F 8D7D92B07FD2946BF908AF2B6CA40285C966D7767A14FF85E7F43B49E0F8EE1DA6B4E666347026 4743E0AC871379CF8A079EDC65C1D84896329990B60D9A33C724E01756DDBD8B9906AD18D1E11A 095085675AF9723C0DE46F78E04790916CA89B4DD5EA57619B59E71BA530B694598648D332FC78 EDB34358805B64DF60C5D47AB82F3AC87B5385C39116B03017C3E4BB4556B96DE5F266B379EC69 9F4FC8A9F854C41E8BB03C9BD7C003883A90226992C67B2D02DBA92242B94D21566C83FAC1B4C1 2ADE6FFAA049BF6805AE76A6A6ED48144DACABDC8D2F35CB5C08158A73A0A1006667738CC471E8 29D9487E22DFEC30DB6DD281931E9BE9C84859D6FA932A76F9D85A1E99AFB5F5905BFED6FFD762 5654649757EB640B5B3C0D18019BECD629162091B69154DC0BDA1D08F0727AC851BB43503EE396 D3682541A730EE450C30F663187C3B5004D24173F962CFEA8E04F5DD664D5F6DD515224F7E256A 4EA07B5CA823456D75708998097267BE5D77D20E71BBA0BEA3F327865A7A0C5746289AA653EE2D 2157C2AF3330A45557F5F825A8D75284FC69BC15E1F73AC0F5A11B26D47210D195F557B265E9E3 0F6AC77C5D3AB084743E6B758365757B81D430549EF513E79AEBBA539A745F24D48AE8E728F028 4DF28984F5DB1203F0BD66628756565393F1629191C50347C0A48205DD807B0E6CFD353E22BA43 1CC6ACD8C6B4E97D691F743DAC69CD0881AA81CB3A48A08CAF9C32E4400A77F94A52F9AB18B4EC ADCA4F073DA5B3BF4079E0125B3064685FB783E1565D4A7779290BAA734052AE798F5CD75C9127 B338A49E2CDFFD9F0A429F662D170AA8851250713E3D19928D974B9A7CE6987DCCB07A53ACC32F D217991C80C5834BBAA796A7F9B206368542218701D93279E1E197D68CB0FD0313D7672A1327F7 06250FEA4DD4C623CD568F1F6BA0468D5C98B4E9C963E9E9B21BE58922750A5076449C8B9DAEA2 1C46E2384EF871C9456ECC739C1B3CCB5A85CDB66E90108C860B180EC7D4DD769214FA963F26AC 66E28EF2DA1CDE21B3EF93714E42E7AAD53346F23EE3985B1A3F871D49CD56A0F041FD19A4688B 5C18B14C93AC2D30E55B902ACC35DE79C6B3D3BC8DF6EC35570AF34D3472C24EECB4C07AD7DEEC 6429F96942BFACA4B7CFDBBCEE6FCB8D5B542E289599F9FE1C2FE2B1E0E18F135722CB2118933D 7743673DD8ADA0AEAFC20C36E0157B724771B00DC2FCD821C26EADF429ECF0A24CE808ED06CB80 EDDFFDD8300AC5FEB7C1B7CB59054D1A4F04267EFF030E171533ACEA869E8E93792D339FA96C6D 648A9D4CC88C7D0C1B036DA7D452007A50EC5F0CF8F4C622C7078CFA3CF4BA424A63906BD510E0 A580C22AA1F0279F9BE03B7E1B6C714ABFA2FDF4EC8E14714970FAF1BCA49C71C91C46B2F31A8B C338180AFFE97E0A4FA6BC9FE4750A84620E2CF23AABC6CDC4097140480D2A09C231BD32738D57 26BF12435640C3978CD4C855484D6CCA4482834FD761EA4153B1984D0578B776CDB21D48918012 86B6466492608DE797A7B951A979A2DCBEFFD69297C46F2B372F8ED2CCAE9372BD4AF6455DA71C 65FFAEA6E84523ED098DC49D560C5D6B60BD5C19F0E61BE5F7859665295150E152FC3E885800D8 C832757ED77F7C53B30FD7EFB7C2258DF6EF3AFE23109D7A342F9B348FD6F36EF63C9571A96F6F 8DDA17837E72A6FE0598FFB8E0D5C220DA3D3938510923C93DB72B25726A57885D418E8D6C049A F6EDE3A1DFCA9B10B28EF6F1D077D4B375D9CB33CCABDBE849FCC158E603ECBE7A90622598C99E 88B32C2DD4DE614CCFBCFD9C2726DC3B26544A3989F1E47398FA46ED9378FB048ADE2A5E4D3620 708AE4B210FB4D97D3D6FA9FA4403515584D86F7C3CBF2F743CF2A63201ACD67E589B6F54BB05A 4EB85B91328B9F2375E571622742681DB4F9447A2E0FBC4B4CB51FD7F8BDE4AD2D5278A472D2BD B5D88B77982B01786C035B57F85E89DE40E6368728B7283F542F3A93D3F5A7B1F6C982BB43A5B2 FDEEF5BD8C61831865349BD6D41EB3D2B0F94CD10E6D75C370667831119311B9888D0BE9E84BE0 F180960AFDFC65AFADCA3A9C145695CDF8C8AF9150B7BE09E5C0EE64FA511B2C8C6F5C1B206297 E3C7C9733875DD3976A6D7A2CFFA5CAE810C02FCBF2349D346370B5C95F00FC99A7FBC91083A6E 4901E21F99159BCD464196651D39E6209557B52F604FA6144437DACC5DCB92FE8F81913B2EE3F6 B4206E0DA6A01F381D34242902678BC68F4D8B1AE7FA11A799D06C72A376197DB2527F45E2A1D8 50D47D835CEC8F963A6FF0A80778E46917E6DCDD841DDE904E3FA961EDFB8E6A5B7B47275581D4 1EEC0452DB032189B0F40207B11607D1427D50211D76966122832C980F9B9715DF2A25DB8B7940 9783565A3A325C5CA68A248E7148944844EE8A2CDB2ACF7D8A462775555E348914DF3238F0EEA0 657623EE65C29B7AD07C8B6413F78A0A4E9FC5307E427305C95FEF098E53E308703D757F37F193 7489AD1131582087D24BFF50A916A0F8E6E71C335E50B31650CB2FE42388473C55213346737CF0 A5D880D0A56E3E19B753411E92045A0E5C0073F378E9002DDBE0B10EE177F32FD9871B98E023E4 3AA3666F4594591F6AAD8C3FFD37804A451F21C86E794E657FF50F549B9F32E4B0281C36ADEA91 854944606176A6B3B7C55DBCB560D82D57D0AC1341F03240AC56A15D878EDC113A61277C4DFE71 DB85C6D82658105052EF0EC3AF873F5F0D1881B97CAF0CE52167C819FE01E00DE7B448887A30DE 453A38BFE37CFCCA4F41E7EEA5A415F33052FEE64F7D2108C09F79E97DBA6998A3E3D5DC37A352 9333CFB254FBCB62F90A0A80BDB3606FD94A5D69A32A5EA004E94E45976A514BBCAC041DCCD593 CA673BC3EE1B8E4F904C3BBA2E19E1B55518C7D69B662C115859D51137FBF2D3DC019A8CD6E6A0 C14E4311B15FA670091B9CF8ABB1C196B4E0FC824BC2EBA76C62A23FE8C8A38D313F992FFAAB30 594798EE9C5C216D6E95411A825FA4F29AE05E0D883C07D24C4F5108839F131395731DF39486CF 4D8D668B85F7A55DF83F5ED35F9B494B0989878C33A0817B8C7537388C5C6A658014866EC07D54 C89A80AF83A7C4DA21DE447206DD4C2F21A39C8CDDCF3B58A332805714F82B1E966180F5ECA958 27ACDC40A4A6EC8FD9BB024D3068C94FEF25E4D6337E40D2A002494EEDC7905E6BAE38426B344F 5B36EDE8FFE894652422B11A320285916F4EE5D61E5EC9869D49729A0CAB13873BB3E0F20FA518 B812E5D24A641796E38A1766D805A89D9D9FB642143C377B365EC45BA6C193B3124C069C525517 6F35EC85546C1933F25B093DD56C78AD86E502A235D2773ABE3B7BD49E3DC78A6AECF20CE9DA4C 87AD7C7E75BB4AAB78797EB93819A5C8DE68638EFF281B141662A463135DDA0D2D236DF0EEB709 AAD9A549CABBCAC4E577B1955BDD8BEB42650780CE2B1EAA47C35993E1E1F05051145A94C89D2F 4162BFE23A2C91B7844885AD346BB88E9C9F8FAEDD20B6D6E54A9FCFE3C185401EFE58F29CD4AF 8D9DEA6EBFF427E9AE18DDD3D1BFFE2A17A7137B596E239B7426CE38B5C48C81D17FF85462B648 70A3A7C9F2F3AEE9884D03CDF387F90C5CDB807E222A744A617317038707BF3130ECAE267926D1 52154FB423E2FCFC438AB660738148882BC686DB56C50D092D60428D9B0371704D3FB8FBE75D56 9E22B0E9D767A5A8EB7702C34F7320C30FF142DCEB9D9157678645C51391647F9F7329B39C2432 00A8D0527940F8DA37A300C0182CF76F3220B1E62EAC18E8FE0A8C93A0A5A373386E38093B81BD 3EC3CFD5BF2E88C51321D4540733173592661D85F1AFD04739543C397E368C73500456264B2625 37B8EA6D147D264E48E65FC6694D277E5970B0FB471D76280A74008B10CC5A216ED07F21A24BD5 DBCEA5A4E0ADA483F04ACD7697AB7A0A901C0192581D4FABBC24489E3CF535737040B0C15BF2CA 997026FCC37E36088D513CC20B68C8D8709E5D5811B5C510D6193A81323A271620D239CFA32F96 3AF5F3B5857AC680D1491DE3F22A8BBD2952EEE5B49637F24BDE92B5A994CF5E0271CA9ADB47F5 C298A391BFCB60C630312AE893AC48F202568DE1B43DD986A38A0F478AE6465F83B0FD3ABD7FFE 3EE06BF88D5016BEE2E90D4238722A604448708748D608295E3B435BF2B47C91FEF385F2731E95 1F73FABCC88CEB8BA48A087BEA2DFFA9301B60C4AB426BDC104A2411ED838085FC06CE3E4E6906 4D7EF3F301DD3CA3EAEF498E6A7B4B1A36E9790E7F69ECD5E8967050835CE779E3B44014C27AC0 456A96B9E28C71F30031B49FB00DA195A32C4175B6BFB279FE435EE92D4FD5963E42FE99D95438 7400706C17567B1FB65C4E90AAC10CA628032E0493A971BD55D83E1AD70B240BFB6EEDDD625D4E 4CD6D4895668B1446DDD235E8DE44B694F3F93AAC2BC0D04C871FFBF5DBA1C7EEE0BF66C949A58 B16F55497E82ACD40BE356CAD3EBD707C0020ACD410DC6FFC7CC460525C2001A0B4A8B7B114932 3A65FB65BB7C20CBA305E53A312E9719A15C45C39C85A4F1F008C361B1757DC0BD8C10204B0218 AEAE29D3FC55C12E9985EF36A45046F46606924636F7F76480FEF7F8D264C73266C05A6DE699B2 37F6C1DF777306BEF1E0AC48A6B1548ED41B7EDCE706CC8A66B3D9437210C9FCFAC978C8F9FEEB 8E220D024C04DAC2CE62DC8AFBE7AD4540B5ED3668E7B59FBA28A7F8D822DBEF84DFDB72566EC5 D6223A165959443A2F980F6D16C8187AD321C27AACF884336F7D8154D06FA46E3FF51D2DC26313 FA812F9F1507FD75B80411DEF69FE268B9A4587195E45B1FEACB0295C63BA8A4CFD47E7C711511 AEB00E93C0B359EA0DFDAFF5DFC0854E2FC63AEFD37DF473859C040D6E8D82F640C1815D3F9A53 AB3E1D5E1F0B0E125510F2C6D503C4CA518BD36892B83AD31B3734804F72600562F9246FA2B5B8 56BD55212CA27D700A7913AF505BBEB9BC3B2EEC13D7289997ABEC078808C79F65939B07A2619C 0EFDE6FF7BAEAEBB3A4A321846F639A7096E4F7688E523DA1901EA3FFB6A71110B6CA2C45D1FC5 49AC32F03FA5AA7915EF43770A13AA68C43F4FA3DED55D2940F76648076D955B509217254128F7 46C3A2AC47D683FBFBE12057454435941CDE662220AA7B356E4718D591B81A06C04DCA83A814E5 AFBBB758EDF1E8DF1BF622D4E4BB637E017E4E66F6067CEF0650EED31BCBDC6947DADB3982329D E902E52062CEDBEB77715735E698E40448FEC00842BAE3BAA207D2B28ED3BFE1C1FE428439470F 4E1D8358E35E4B97D61EC6A128B4383EA0276A947BC9D16794C3A3D7DB0BB59FF649875E0AFA43 E6586F8B4CA921C1AAFC0E2D1C970B380977CBA505B3D531F3789282E21D1B5D9D3376EAD7E4E4 00085C47CB858DA960B55BEA07E0B012BE3F5620DBA167C105B95FF9B5FDD28D5354C877E56710 1D45F9AA471D27183A55AB9B34D626815D32CD824A4C46772D8FC4931341E227309E8307835FD2 5359A10F84AD5744B8181DAD59176B6B466595B42331683F57546ACA60106654C9A1E5F1BD47DA F9F93598E75CF032198D69A1C4B152A29586209903C7BF126BDEE5A3806BA1766BB02F5D75E33D B2B011106FC3C964F8FAA9E9857BCAF903463FA7FC37294E4F0FF98BEA22FB44F7AE5E6789658B BAB5C30D6C32D5E24E268B54353D1245ED78D1D7385EBEEA49ECE496A4261F992F67B664776D6E CA1C8352499BF3CEEF365E152582F98590B8D903867B6557200B1070D91EA32EFDAB0580559EB5 56A835F74BF458693F093389EE1D1B1FC1BD2AC1146EA9C5E4B14BF26AB3EFA0BA0AA1813E6C61 B7011AC330B293A5CCDDB41412F97BA02D38E502D596912D165F6B0300228891210DB700E975BB 47427388D5F3246D80CB9703FE5F2B2CD40873AE0521850D4D656174B52F24C06AF1D9FE4ABBF9 8B432B6150B0725E328E54BE382A16D5DF6C47D9DD14751B96E2DBCAF4C9858336F527238E263C 58730C7E27DA1B21AADBB48154CE5E9C92660394D7282FC07917C91D0E91DAE3FF7DECFD5E8082 563E1673A15CFC069E08D554E3B8DF570209D567C65F3D26F251B405FAE5F6106637728BDEF735 EC2D5E7AA3F00434EB58C3307D221C12FEF6D741ED87081DD6B93D2E9282D09A7262EFFCCAFFDE CEE8C4E942AFFD8215B84FA57D41F5815F3A3191BC379EDC454252E688EB9788A551A17876AF1B 0A5ED5A62E92E7DE332ED89A9B4F406552F9B706A6FAD59A433F72AB6D4401E25CC37C0FF91713 4C838E5CB3CD5AEB8556443B1BF513900F293B9BCF33F96608D1B108CF9BC7DE95F4B518A86987 28F20729D60E75E53476868220B64E905BBFBE8E26808EAEB0A46A1E096EF868EE4410EBC87D36 46037AFC6D177F42F8DAB8D5C88200AEA14388AF09EAF5CA24D72A172D654BE198CB426949C4E3 D23C7D49F4AEE4D20124B5830480D0A8CD0F7EFCA3FD251C609D124D0BB4E7A6CE89EA7C92E0E7 B9CB870E127E0337A2E645AEC27D1B0D85C57D27F0F7AA1E849CF1F4E9BDF02297C3E61290010D 4EB0F30697D30ECCD1EDE1766BC137F2E2A3D7CED25B1BA259D100BA16AC3D29C01DF83DFE5B24 DCC9FFC2B80F61E91D2E41560241C00E79DA970A09D8AA229CC2F5C114E0713EAAB560442CCE73 993EB9882E7C0292F248C00717E3A1DA46ABF3FC716226EAAE35E8F20726B1A045A20F80B02473 8B7B93D0E79C6FA11780A6C94E64DE53FEAE019E4D838607A05C7746A3385C9728CA29D8F64373 B25307272A77028815D80451061B010EC8E82B0B70243F66B97ABED264F7B53B163DE8204796BC C593CA9BE3F43E26713DCBD9E3449FD300F6111A50EDD2F9CCBC6D0012A973B5F6A1651074FD14 76BF69456870C5228599FE7CC0959F6804497A28E3AAB129024816FBD3C0101A9B709DDE0A92AB F0B2948E096624D067F17A8CF2E8251A40969E857D86739883B6B46967EAC2286BD451F26B4A16 026FC5F3A087F4BE21A90D336B69C5117F3AD532AF6E3FE9C8A484D372A1C8C1A342264D3C3782 4F3B582D2885642D2B3442121A7F3BFCBCA35D09DAFC4B8AA8BA4E0C1139E3F29ABEDEA82732D6 3810F7FB2A462E11A32DF2E74904AC7C5704C545FD6D08D6D1F6F07C69BD5418E82F6B33C36A99 5044BA660ADDEB24C7AD10889CB785169960F8E6EEE9A321BAA78794AF0860DB5270193CDC9C0D 5DAC45A1E67FD6063A1998D0624A5DDDEBADC8C42318929535A693677673B24CD2CD2869148DBA C1EA486DEB1B0D83E7785F1E1EE65B9AE3C839C7427108C13C4B7F657BA9669D1FD3E3BE5FEE50 AA20946EE173BDC0A9B940744AEEA3847D56DE7E86ADDD6F63000CB048407070AF65E4BC097347 CD82F6084D20C529E35490492E5293F97554F9979405CC6FF7F801CC3DEA50DAF9BFEFE8623B2C 8C7560766C4115EEFA40BF980647F6D3187A689294060DFC214E22441044CBFBB2B6274EDD44F5 218057869A46C517138E4F848DAD69F24208896C8DF860F0FF71EF89310F2D82EB7ACE6A72928B 07CC57A2DF6443761D91283B59BD006650CDFDCEF8BD64A0F626CEAD770572D489E916AFA1AC26 8F6D22F3F37B63928472B81EBD287F6619900AB5B291A047906AAEE2CD93F7FDBF1658DFEB8D8C D7EF987D0D1235FF8DF202F9E83AD154500909996FEDECDE0EBB2F95F69805EF1F774D4D143AAE 9A50B64BD514D83D00F05715F163BC7F64B90663C5971D6A5393C1D6011978EEFFD57A7B93FA57 E6CE1CBBA31DD510696A344EBDFACDB87AFDB6F425BCC13AD245E9264467960F951AD797AE9D9E 631265ED0F12D4ABB0F6189FD9433A236F00D01FA038D5BCFB3DF68397610708A777FC3021B685 448445D326EA7649406A88DA392857FEA6156684E3547E8C757BC38223C0CA2569BE438D03B575 70E815D58BD82C2EEC861020C1DBF073EFD9C8136ABF263461D3AF77D057F50214904DDE51C3A0 61A3A1E1CFE413E9A148F05A8108608EF7FDB96F392E74EEBC5A4D354BA2AE5678D28AEC014979 128630984EF3D5586DB8783F0603D7210782DE979C07BE8DD589C710DD44394569B8BDE770BD90 35FAF3CFA48070C5CDC8CBEA2B5AB2620D4C40818AD740966B733B99E8CBAB4909F5EF5B5575ED 0A8CE4635FBE9D69E57999B2739F281CA4BEED6FF2948B8670446BBB30D0BA6679AA38C2DA2A30 960687F2DCF0C741539102968C8D6582E55974811630B0FD2091B63477747F45CA0ADC23221AB4 C2E94EDAD6F862119F127A79A2BC073254E941B37B830E5FB504B26E580320DCFD5B2D03A5A6BE 3C9350031D7A58F7B351A9F917ADEFA72D81490B325C4C1E39175D1D3F7394A009D04A7B706E1D 3B6F61BEA096CF4DC50E4C72999667EEC869125B3EB152E3E7240968F9B93BDC91CC5E62654D7B 46E2E60A4D2260322B563C543D9E171D5F1E816E73222709A1E2F14112209089554DDEE17CCB1C F066D0AA1387524FC4B2BB47071407428903A1B9721D6CE4046EC2FE43B9CD9409BAC41B76A27B 8D4CF3DA42F9DD8A8A751DAD103F169A1524D0780022F764C49FE9B44AF80FABFE48BFE40D62D4 1AA0618245AD7BFAD7C105A3C064493B109F765EB06BFF5C1C8138296C635AD6258FB0894C2DDD BD37C46FD22311D265AE50CF391C85F6ADF59181EEAB5B65D1F81149AA5425B1C11A432032CAA0 3EB2FA8204E9BB6736998DE9B12E9E37EC651560F4E906B342A725E21021B82B84249D5C0F6D96 33C4196279E569DB16585843D65FAD0B5D893BB0A9D381324F76B61DA88DB8188E59C4BA15EE5F B2892E7260F9EA9861E44921ECC1A27D79B25050615852C838BC3BDB4D9A3B81AB2DFE7667E2AB 0592E4D8AC4172031E12760F14AE1C058F986A22699E024E6C6CB50A43066F1A0304AA67AC44CB 379814C791103B6C2D4C1439FC3046B611F6326A5BBE697384A976D0D01815B933EB4734966D07 E1D509471BFAEEFBD3F9689EAF82B0E9AADC2368AE52AA48F0318AA1BCC81C3F2B89D48C08A1F9 BA4D7CE86C5E913A87A0563D7790C471DD47CBDB273AA37CD4DE6BFDBA407483DE275FF57FAF93 22591A8523E77A3343CB6100AFB6035223E05EF3530313885FFC63A8D72DE099C50A774A603098 59EDCB3C4E424C9073E0B5B32D988FAD04EB486E65A3EA7FF7DB3D2FDFABBC92DF6C742EB6F09D 2A78387DC0CA8561743CB9C8AD949472DAEC66ACADD435C818D28127770A8DA2A5090CECCBE16A 516D7985D7A49C7EE9D08854435008ADF25041E8BA5744591AB7E22D3705EACBD1D9C6378F172D B82B2C7BC51293F40064306F69103E6A0BC1C1046C2A0AFA2E038550C194354EB8E263085E5390 749E2C98F43EA68D466E40C5FEFE6764939CFF817814B85BA928C5859D20709D78CD50B957E809 0F37CAE36B181C37E80E9E8690D2B9F0C34D204B8E4A5A164CAF2FA4FC6ADCD77509EAA5236233 6E9DBFD1FDA1CF32A9E980DCBF4B7C338CD18399ACE5108435767FEA8414585DE7C3E08590B37C CA0318A82C69ADDFCEAE156E5D1FE3EF9526515FEFF356E0351CDD1D3AD340E7727A478264DF2D 491259F05A6504093949502E8D10250556B87ACBCA7EB938C62BE0D0DDA4D02A93E18769B895C0 4E5FC1B229FF4A3D7070A0856290BBFF3460C5E1AF92346E7879F27DCCD8A5338791656C376128 421DA4B07A5F96160F0421AE10C1F1675D396A80635B7CD1BFA4CC564263DA5C0C84F3787DC8D0 8ACAEDE11486C155BB1B16806303B9D21974CA19516C63402A8F0067CEDAF682EB2A2127348DBB 5A662B5E87A5375B396B1153B843303501ED93534DF7C7FCA09EFB0261311155FCBA2EA97668A4 65A7751F91BCA566E4946565BA1D664CD8FED19E84E7563205DD7AF77E2A4CBC6846EF5ADBD11F 1958E086FD7673D5AC997867EB0217314F32D60342FAAFFFF957F60D9B0AC57E611137AC695DEF E313BEB5334B838F83A54C3ED76AC55C67571F367A409DA052A0354837BDEE4D11B426DC9DCC74 61A6F422B95DF3894A002B02BDDFE3FEBA8D8E3BB7556F501A83A10FB0137F428FC522260E0A4B 1655399490DA83CCEACED148AF1F447C9BBFE3B159399C82EAB257BE568A4DAD68A664D7397342 AAE7D38223CD9AEFCFE5E399F1D70404D470A1CE10D46CAFF5D522352C50DB8FABD7348FC6CEC8 34D5A82C04DDA105F85F450E7363E4E989C6725E6BBCF7AA6680C97D128FAAF4D6E3859F03B0F5 A3A8A70E0C9DAEE84BB95F41931A30AA18D6C51D9DD3D3B0ADC7D0B5FF0D0A889A944C4468F96B 9E59515BBA5C86BDC5394BC40B80CBDA19857E9DFF41E75802D2A2C0247122CE94A7D5DD8F5846 27ACA0BE5C042A02FB7362C34614BCD17350AFB1F0EFDB09AE2F1C37FF21E007CD4DF1729AD932 FA20A8F85C06201F9623D959B9E4A90CD04B6E4AE2C1795828B022D990D939D5D1992CB2DB807D 072CEE580FA9A79F07FD6C4980C997EC524B57B350DCE4F9013B5BB07165DD6FA1902868328FA8 0D3CD770B783818DE508E59383C96A05FBBA840831E129F0DBDD7B4AB05801E99E968EEB7A0106 5AF04F11C641CADBE745EB6EA76CEE1AA8524E405F23A9D0683974A78879299600BDD0924FBF18 908625872A63C38B4DDBBC8C764EBD99F0877FADB59B5F1D4FD9FD2FC1FC8C4F068B7B21B3787F 728CD8CF5F52CE4A760746241C4A696F6BDBAD58A4D35041D744FBABDA2F883CB475E5F75D1ECB 9056C3E52878FA0DDDAA30357906543F8440D1FEBC000297676E3C5AD462F825F1D302A2C7021D 5A62595363A791A8EDBB22EDB9DB968BA0EEB4DF66E4622A04EB9FDB041DFB527CD404D62E4898 D5E7ED464B0C24D58DAFCA7E891481363761D803A9457B7A2403E1816FC67167571D44E27469E7 B1BC3AB85CAF808BB4043537D1B80CC490970D87A20857D868CBE901076419436A4E3C95C7C9B6 0E3CEAC7DB19859EDE149FF3F07BA586BE12698F5C0CC9815FF2A6C62F7DD98DAC639084CA7003 C99B9196CE6A6DC59CA0B202C9AF54620E38A0712AAC6E01D2711D40D012F15DCC51647721D4F7 F31E29E6CD7EBB59842B01BFF8C7C424F0E58D4FD15D56DAE60A6450AF2254D368CCD09CC3FA90 123C44ED4DDCD7F09D46C1354E5FC1A6C1901EFBDFBD4D6AD80EE95EA1B726B2309C0720424CD2 5F72D9E5BF38B51271FD23EEA93013114B356370A3C9D438EBFA0590158654E2A3B7D4C887921C F6538D1BB294CBAC75CA66CCDDF0B7F7DF1748942A908C07EA13E6B809B1350B9D73CECADC98FA 35933A81A34B7A6F8EDC7DC2AF60B2F0632962B401AAFE06CBC8EA4DC636406F2CED5FAE7AD0D9 ED5023813855A83119423E4A114B413C3A016969A7481CE45E4E061ED9980FD961404B895D5A7E 167B4D32E153DC778FCF5DA5EDEDF68D5707671B23DF2871C63FDBD6F9B9BCA9E7BB776B37107C 38484453F24B4A3421A21D8797DB822236CA1A15D8719726C59D51F7332259E7CF23F28F1D903F 100F9B0E8D8DE56CA3A99CA5B40D0622CC4D5AE6BA77112CEA79B10D0D5A808DA20D76B56FC499 206587F6A0EBECA10AF73F8E091D82622BFABC52A28DCC8C295A24041869E6363CF589670D3471 1F3BE64D02C861059FA9D10081FD2A0EA137C39ACFB2A83DCC9486195E40E99C0F28418B2C29C2 9C01A8CE4D98F29A22E58CAA51E9ECAF4CA85FB59E18C2E53873A642E31BE8E47591DA6EC6D7C4 E13055B8D08D6D1F0608A1080A38831280C98D7D47CFEBD3258432AC396BBF95B77E9470BA4B6C 9A052CC8EBD7277C3B78514BDC491570B7D7B473C15CCEECB4D312C775BD8D99E46EBECF6C3533 FFFD3E5BEF8D7B9424447999A91CE1880918D750EA345E6A10771DBEBDB1B4CCCE1474C07A9C4E A894017BC593024CC16B595DBC835F4EE8D9ADF7FE8671E0BDF36613FE7844C598A789CA784B9C 97AD2361D7CDCB2E9BD45032A38D6B0EFDFC8F67FED8EB3CDE280D81C6DC9348BD48CC580D2958 5658ACD4C3DBF2D7D85A78BCE9512D7F7BC2EDF7B76699545F3B1BCC202F53C8123B15F46D8F88 1070F1232CC8FD212F15785FECFC6B83C0F439716A859B64239C1FA880D32F62376EEB12EC6C00 235C9D550AFE84C981329B4B3DF17BC0E57E72D89058D1D3E6EDA91ECFEC0ECF0B802D41B4AFCC 8DD250C13AECEDEAA1A0A6EE26F3351572849FF5E637A898D7B0A099D87012E274396A27E29A21 DB29584ED72FB614A317E47C6177A9FBB2E5320BCD90CC086B7DCDE6ECEE01F597738AADDC7D9D 33B02A09CECA2A389F16AADCD2FB02EF257BAB1265ECD97E25F0DE1C8E7526FB5F8C328FE37078 A9D0F30D81B90A97A752505C8A2F8C9C7226E248AFC5B4318EB407B6A5DCE33FF5309794073737 F72CB55D73FF66EE1C055B9A3E49302C11D7248F36CE257FB051674274D51CA4C0DE1F927A882D F54C567B73FF1D38556CD22716A3F269B9FDDD261FBAE4A916E0818EFA5C193AA00456DB6F7845 FE41F715A8C0000E6FA8151895B3F21DD9BEF98D9CF674A60C8A1088502C6E09899D6456F4AEC9 5875068E29E2199ECCB632F7A459324512A3BBE6E65132263EE3A4E2FB4205580F5DEE083FD84D 48ABA8E3CFE81FB1465D3027FC69C260594ED380C47B6AE3DC2E35661906D98C0126FB7A80FA3E 9A2DF727AE36048F6B083D8D8D8B1A8028B073B96CE4B5447050665BD926D5A1151F3E0CD63C60 FA77FF2746D4A9E3E0F295770408CF348672EAC4772458125A8976BAC75469025B5AE8BC55540F 41308CE31D273690C95D1173F05D953FBA2902E364885F821E14FB8153C749EFF100247E4AB315 321D9C192E68B3FD7B51549B2224183195A549016D2A4BF943F37184743D6E5575F5A192E23290 CA227E29F9BF15ABF4FAD388A9FB689A807AADD44048193B5B5B81CA9F9D7195803AE02D1A6A49 00074E47313554A4F3B842F080510CE27645B65B57761A364D0F890115D8834EEBDFA247923AE1 33AEDF8A46F1D1D410296E25E79C01F664136D8D219D324FA9B3349B1D5D180C025481EF9E7BF1 100F242EE16EF433054913E0ECF29C4A0830E93FA9898F7B5505F87BDCC02101531C7C9C107BEB 0BDECAE5A49BEB45D3BC0D869B441BB41A64A229DF5A40CF258B0178203F91318D97D529D922E8 A82D36F34FFF98F0B0DC0984903B9DFE86932D96BC16C766FBAA4EE8449DD1BA7DE9ABEAD68989 8BDC2155360C631458568E63B929DEF983C6E56B563394B25A44B25DFE2CBF86244D266E44B6D2 DA18ACB4B2F537DB64110FC5187ECE20A514CE61209956A6555B35818E40A7036B8402C6E7F957 0BA69BDDFD8CD3C77478ED8491C1B721DC66078C59097F4F328BA45D7711D5F105AB8E5C0D3C5C F88CC85A2AD9D61B39B7D5BFD41DD227E50AC8244A00D9EFD6C13679B415B0A0DAFEF87F2D0E9C E1FD835736DF865C151628CD950E7DBC216AB359D4575BC46D610D6D4A0B50351966541D60D075 D98C1E28A0602F0876C3877050292E2469B66C8473420266AA8555F39F01A8C1EA343E3B42E1A8 F362DEC13E6B1CA2150B54A2896D413CBABC37515587400994662F9D892B1ECC5617D309DE995B F881BB27B0D1EB7EC8318ADC767A76ECE369E01BA8DB3E4797A78FC81A0852DC3FF3758A51589D BB0C8981CBF74076E83F42109DB8E11C9FA042A13F7866D34137D02681CCC2A8A24BDA46E9DBAC BF8D771B9EFEA416168992D4A0C5489848C5FCEEB6FEED260DF9D39F576EE08492B5BE18E34D1B 7C4F05A828B2A8205634428F0169B58C95D6019B899FCD1910B4518D0B62861FC1803083617858 3D3273555D54206AB9624DE4658CCAF3FF2DA8DDB07A006F569F05AE0EC5E8BBA69E336B5A1BB0 A62C4DEA0ACFAB694374484EB3F531805445023CCB2A58832AA92DA536F0563AFC31B0C539C566 82633366B4D9DD8AFFD07071B8A172123901EE104E0A6AE2E3FE7AF22F23C3E4420F3B1C26CDFF 255186F1002FA7836BD49637C480DF686F2FCE81C3CAD72EEC91046A3F2573F3A6844418FA4333 96D24B40272E3B580B66EFB2ADA4DEFAB6DAD03B7C2BED09108A353FC68A77014365BCED57FB50 5FC75F59C2402FDC24A886CF7B64B9FA13AB380DDA7DBF27B6B04C7FF37F61C9997B969654F75D A9929395371BFFB0D5B4FFFAC278C1E3D26E9D02C81891E8FABEFF9935FB2B6EAA225B6A223D0E D3DA70173215D25D7A3EE298AC98B9B3433A7060B52B9B1783F85E18602832228D139A86B37C3A FFE85F8552437DDEF469ACB48B86FB731379EB31940B6835CD47C640600082F3EB2E526B22F49C 504721A32906DCF84888E8D0612435994D7475E23B0D6E6F829A5997812E8B53DB03116767DCC1 90F373E1C58A786564AB2846C95CE3A63DA0C9BF7B5F41C2A16201E2F2232BF05E4E7015E0B898 E410C7934616D499B35E96E4FB738165B8ED6708F9028114F3EFBF5B4C9288422F206AD6324AEC 120A3BC0AFB1EBBA7639C8D0209DB2C432155ED7124110F3599D8E6CB9167435A06057308743D7 DB1CB5CA1F1774FD4AA3BE52C7B8B04234CB4B92293DA24ACB5C03E38AD4ACF2D5BF78378A52B1 D0443A548FADE2ACD6ADDCA315674D917CBFFDD48FFD4360721A9F3FA0F9F9EAF194996A33A524 C8B374AACE6A364F15560886F4378F5679AF393C195C56817CFC26ADA9679180274303DDD38A41 820954702774A160227CD496E147859CF2523466F8951D1BDE79AA7D21195BBEBD2DF3DBD12942 2A11241FA8009F43421BF7973045343BC959CFE22530A9C3B9AE5F271BC9273756171B19885793 97D4863133AF782A9B15B2714C77C6FD56077C00902C057184AD01B10B5556A6E07B6B062647AB 22C783519B87E2D9A2BE689E32A95DFBD2865E585CFB0116A4110D40DAFCD0DD87709DDEC40B87 4433B29CF6AA9F9406CE62FFEA07A59AFEF28E49E7BBA32C7F6066995414E9EE5E2048A298177A 13DAC03E5DF94334EB6E124E86E837880746D2E63D2C49B4D0D5872991431447CE8E242A35DE34 6C1D2F3DE7443EA05C2ECAE2518B883A55DDDBF53BD64A7351930C6137D351D4A88908E133A914 4ED0D2001D7BF8F4CAB42242FD0B38BE90FA76816D816797A73D3B9891A0FB1950723BBCB97E15 1116E7DAA5B18FED8DBBBD2FFA0B6115E256EE6755E172DE0C8F2515A494E698CCBDE81D710514 AE7F732992096454BFA76172EA259DD9CB0FA5EC1BE1050C1553B34EE9C206B540DC4F53173C88 B80A88B183B63949CCBCFFC64E0B9C2A9C4BC838DBD2B48AAAA1BA7B40EF4311E0AEA51E8BB2DE 3508BE43E33D63D13BE33FF9546259D0EA541CDCB46321AD22773DE75726823F32EC1D37ED1122 65BFBD416D0EF743B0420B73E0D73E1E8101D53E63279FBCC03B580E00066348440569704E32CF D40AED353FFC3ED3FE2D0A145867EE27FCB184E4FC03AF5F9F01767F9B2456281D326DB639BCA6 6223ABA7CC63CD678F663F61B0408F1A1976EDE9F96FCCFBCB0AD29C8E27CCD81CC6C5E697B304 97DD51F00F3FE7FE33F931A17FB7540263D7F749A34007D2C7CB2EE57A075C4333E2214B866661 743E487ED761B8774E076ACBF9C2DE66992C70189A1EEB61B49068F413CB3851E1ED18257407B8 ECB78EA381D5E423907B194E7FD9DA950C1A502A0A61ABAA12E71102792F7CF05AE65A7C631A96 37679B2C4BC651E21DEF22EE339204DB722D1FDB119F9798C718E4EC9439C472D89D99612F71C9 F49890C596C28BA324C5A79535AD77A5E36E1841F829DB7477CC63A944DC16DF273D376B230653 C50A97F5B9590DA325210B935B68DB01B80CA6596ED2AC5BB0243FD75EF8F6891EF0A3C01EBF21 FD96DAF4DAA83A5A89485490A6FC9BC693B28B0553EFFFE574A8B3C5BBEC36E657C2CDF4DF45F2 47C59AB1EE5980725C51C43DC289E21FE69791D9436B49DFC122C44BE918733E70E3844CEDE633 4932C5207898D707AFC2BE3AE1322CE0BC8A58F8101166B048CD6E94B392A54BA88115F08C1066 4F417025B8AD2756EA62C9945999E536D1576B5E1D3327D516609D1B371A0E9B0B9FFA934B8578 0D51EA2AD2AEA9FDB6419DD0485B95AF90A38B1EF5F68A1CC5C7319E4A53BD9BDD208FCD59B264 BB05DF3D7E571E81547EA4815683CFF432345F717CAF3E20E627CB39B9C434F659AF97760230C8 4D0C809A9F86EC721FF113D84D94FA2F37ACA9A8C4C6A2763E2F28C9A7C8220FE7F8A99209E094 ED621B684B69FDA9194A7CCCD51FA49933EA157061FA23DD5FB90265E4EC9A818C1379D5E50809 FC7EEE1F12D5B1DB33C6C21DF11F0D9B49A3A2D2A9F39E056B0604B6FE0FAE6F09B18F59B2C197 6592E58B746D3A99AF56B1D5F2AF93A40E43CF30E1CA184D1E898C94802FF9B2365AF38D0CEDEF 638B210931772BC190E4D40F4C5A1212DB95EA596DB64C7C0609C6814459DFA2286EBB5EE178FE C6AFFC3B9B520DB8DDB4EB5D4222D869799FD198C5D64E4F3887583EDFCA2B8F511F90B0D29FD0 40D1427FF12F09664593E7EF1C0B426DC41061F34ECE69367F852FCD723499E564C77614CE2434 5C0D41011AAE7960ADCD3E2D63EE16177D198975EF288842FA5714AFF9E533597855A0827FA444 CC687E8027EC98CDB3606FEC5A045E2AC87E90EA0050768699C9598057B50310D387E91055E974 AEBB7C9136C6986B279BBE5E05AA3091E97C7104E1EEB0BCE9D3448D86644340A0D11D9AC4B6CB DB4BE4D6CFF130833FAE4F03249C45298571455480603F5EFE2C1892875737ED1D561C3938689E 7CB30DF5E26D479083CA61017650592ADB01BF6DD12807B65F2BEB6C8FC949AC5A1FFBE8079817 934BC8897E251F4C6B27E7B6B5247F5E48C39C84AB8B70B14A868553B5F205F79B8160DEDE2172 A0FF07AEF0735780736E5EBEF7E8187645578989518E1337D352BDB192AF61858778D21D7B44A9 7C26F44564852788556E84D60619D1CC84E4B4A0F49CAD9B7B713930C957C632117674C503120F C564A3318560C1C57CC76F78B8E1FCA4E24EFE078FDE51A24D12CE1B799A07230441A08EACF0C7 9D514169E543ADE9B97EEEFBC6C50CEA20D5AF481E8F2D5B623C444B409FCB1CAED7C3EA7754D6 AD14BBE11D707D6FD3A70384E275DD06A809793B873E646BA143BE816971139F62FE007C313F7C C7370E1A3EFD18FFF7BDD8BCC1C67761A6D1EAECC7D953C58596C0B54113C8EB522FE6FD8068F0 02D60C7EE92491E2F8D509A6EB872197C9FED96D963C65FC98F3DDFA3748D33A2A82C22CA4DFB7 DDD49F7D622E859FE8F0DDF95144E6BBE906167CCED0D65EF05332E59D739066859809F0795E07 DF9064968C5648134F527337CC5F610D5B941F0AA975F6817B920A3118EA63DE7FFF3D59BF1451 E2474BFE57C94E03AC416CFDFCA559481BB587A9F8366260A884A22CE93FA8A172AB770C2DC5B0 0B73C9FD9FDF5E242BA9B845FA4DB9CDCA2149A4479EA77E69E9F3742AB5711517BFCDB1B3C194 7231C437D9E50C42218C3568ACD953D742D9E093DEFD04C07F2D5F151D00B1CAD086EFD5B10446 748524C070123F21A09EEA839E381527DF98DE1B735C1111628A0FCD75AD863AE47A34207DF2C7 8D1A50E7AF312BCC999DE49BE0F54AE7337B2B5D83C4F5507A5355C2CE2900CDE51D25A41B7407 2134074708F558DDC22C14C7424A611E281413FEF9A438C8DE4BBA6BC67A6F26F0E1ED9254513D 20EFE361A7426B2E9BAD4889152298ED397C6AE1B7E0AA1F93A4A717C13439B02399C773DE87E5 A7ADA2B1514424939F44F114E0E663AEFFBF7BAED51670D789A671862566777C93E61E4BB5E744 FBFAED947BD896DA9E1C947A1E9D328D6B2B38B23CF0ED78BFC399B9BC395F08DBF457FAB6E43E 84744858F94A729DE846AA8E888C1A215C23A297C2D7A69F3C60DA53ED12FAE643A7FC15FBB680 3A8ED275DB3D1E0199A71F203C8FE1F58F39289303BF7AEE928C0927EF34F1614C23C89E6FE3FB 13AB6FB91EB3DC4718A8C031D3C7EC111F09AC79AE3F6245D0940A4284FACCEDA645A129A5241D 91E81B627189E1809E4E4CB8690D7D16845C0E97EEFD7F88FEA959FB55F70830659CB2002C6913 7870DA6E061210344B5CC6B9D03AC7B5441BDAA81C25508E3D5DD7645F7FDBE1C0E9D2360045AF 2D76F46EE26CD703717A7C2E83406AF63A4378F1340357735D13B6C6A1E9437087FAE7C42E3CC5 EB89EB2184DA87E6B523163D16CB221FB546C039774F1C7E4C2D19C648FF1D078691CB7A90524F AE0F1990289F3A01BE5B4BE31544102DB04EB64950A6D633E6DD1E70C1B5B50FE00D1270AF7DA1 C5AE22EE0BC7D63D6ED9EDBBC2DB21A657B7C6E39284551B66E959EF624DAE21EF0598E598E5FA D8DEEE0B87AE1CA77C8902CC8927E74B0599B8DF867DDB285F30817639243DB7F97191FC15AFCD 34FEF8ACFAF926AE60C13DF70ADEEE70B4D2DEF56DD6890CACA39E94CACB2E01BDCE1A29E96643 CC9329028C931A5F748426032CD586E6D759033F1E46833E93EFCA0AD895CEF1311380B8782B6C 15EDFFC736A939C6CA53BDF65F88484E4053B076358780D1549CD6FD0234587A4616A008E6FAA7 E5D9EC458FB293B143AF0858A8532FC6B9E6F69797CC27548F1961877B9C749362C2E3BD41056B 68E284267156C72A8909A86037F6A755A82DF34999C6957C415212D060C15114D5FDAFDF01B3DD 563428B401E85105D7BDD9AA98E54670561354D082B5AE3C370EF9E2AB1BF8A8E3BF61B4348C0C C6AD2795B453F8F81D36DBA8847143DD955203C9A0DFA23E32EC2355AFD6678A2B05FE6E46CDAE 3E8E85ADB4AB71B7F84D1266EC92A846F08170694AD6657CA47F560535D0FF5725C41CD0FB3219 B9BCA5F9545658248D79896A8B5DDF1968D4D95A37ECEC7F44F2A4D6888214FB19541ADCA69F72 94BEF62C0520E95CBA4A2B14D12BAD004E6468DC136C89AC5065719B9175B8A1192C83A43595B2 66A196E820EAC6CA3547374FB3BF23CDF14D939B67DFC5DEA9F98D80545BF93CA67240F97A1A5B CD137F2A42BDEE7552968623E6CA659FA42EC5C2CBBEF2E2706D06E0E2CEA225482214B9B6C45D 97DAF24899EE8BC6D8A980E5621075B9CE837B724340066B74C013E8AD806241DA5A18BC3E9657 EFFD4A1443704B90FEAFE0A407C7C2E880FE970560BAB064935F209B1971E03C33B2B37AFB4428 01A9C4D63A6A93910B607D424416620559E7B95A50E879A8A0607A2CFAB26D40858B955C8CBE4C C55B6736F20EB7439B1CB96CF00E91690659147C7D1608E5260A2E84D749D90708BFDA92BD5834 FC22619A51764DB4D8CAE6463AAE80503F42CB4E7830BE796E4DCB10A1EADD636C79DD1C174C26 DD44830C38E92BB25DFA70DFCBBB2D0B692D3C5917FB669BB36AB2C2C26ABF2B35C0B581F76D77 64644DF89EE87862DE3D5BC1EDC74912E4F2799836023EF89E5E817DF6252B4F953DA4FD0BC02A 4E22FA762048837FA8C99439BB1FCBF5E215B5B4368575E8D6769E3D01A9A252D7B20327B9B315 95C01BACCB65A38FF04A5613698AF2FA63B36BC6942ED241E1ECEB7A9F2E8E381D300329CBD4E3 1B19BA0AFF6415569F8774B28CF9E6D343413AA0D41DC3C3F686843BB1B7DAA242A635CF345137 B3FD4B6162A9DEEA6BFF1E719DF602A8D79CD5A60BB11F26D437BE8B4A039D6C2D64ABED520C07 F09E8037A8D76D7E3ABB5946D4837F1B12274D0AFAB29A44E027B2A8C81574B846A7BA94756AD8 F33D2B76C79FE4D94CB3749A64ECAD8AE9D4D4EE219D5FE4524EC95CCB89BA3C73F219A88F674B 2D40E2C5B4497903FAEA7BC3C7F22590F8F2D6B62151885382150E9611BBC33D9ADCE695FBF947 2AF79EBEA09169FA0047E09D9499D7A977ED74E4DEE3BFEF1EFE0193AAAF9B8A2E285ACE63FCB0 4DD5AA4FD311EB8005E81DF970D2C3927B9327C4093236BC98FEAC8E130001239A81C426D477C7 B68AAC466820F7E655251550CC979079F3200F12B6DC35C84DC5A19EB0630BBF3CBB2539AED37F 4EABC464CC5A8BFE75593C7F3AA5BEBA6CEE1AA2DC43E40AA823232D66714C058F36A012A922EB 0FA0B58510C1239004B84730C1C69AEB4A38084B6E465D9EA04580B8110C9B1B023CBD1EA44753 F7C87390A884BFAC825D84B93CE4AB5136264B8A1E0C3166E94E8EFA9072A10AFB760FF2265012 A254F0755F81E1E42ACE3CF03D443D81F237D7DD9555F2447155DD76DC076F3BFC492392828705 3EE6BE05DDFE30AF2016FEA53154ACA91A6089E9807455A536753078B7294411751450CE4ED63D 0DA4C9907DA2136DE96A5289B783346CE7E6DD2C1D85395F91373C139B3CFFC5DF1A2C47F32537 232691820BE497E818BCA561345707AD98249DC40062E30D647FA979EFAF4FA50AD9CC270D47ED 68E1E462F54EB69E6D734C6DDB41B5C2B1D6281AD3B9F497B3B96D0C94AF938E9E785A96DE5DEE 9ADFF8340600B3C173B6939B5B06B8F1341276F727EA16933151D7DA8F254786EBD6A0372B10E2 79058D2327F2620B039C9453EFA9B859BB5BD459E7CCCC36B80221932668403F62BD00D1E31758 E647FEC1FB816B6C52451E6FFC50EA8D52277178E3C4AF5B2A59F383B271FD132E216945B69A34 B13650F5EEF129A972A695FF2BA138E10935A564AF918A66C2D51CD942DE7F843127A3DB82875F 1A14662B0C3A15BE4BBE1D875F8CBE54C7488F4131074822FD47C59AA4ACF18DA9714E2619C8D1 8A9EBD5098AAAA1150D83681A6E8CCB070784B128F736BFB43CAF5F239E9934878C02328BD3084 CF52EEB20A26BC36E76A8DFB36C9C1397B16D16224DBB9C64ADED191E0E53C61BE7D056355F20A 1AD4EE38E1EC8C1927C2CAFD36FFAC24240BF07CE01FF3B5CC5866B4A3FED0BEB8695E23C1E16D 6DE2883B8A66A2400313B263EC2EE6348BE002BE0AC2B5B406E392C53FD41A144F7FF24BDE9892 7AED17BDE620D5EE8F0495A9E915FC0F7FC69F8655023F3D00E3309342340AFD3F00CE76D50B48 5E1AF9DCA4D3F2A40F7B02558949DDEB6DD69A5E67B8B5DAA3956EF97E710CC1BAA7476B8B534D 48596240555C7A220CB029664AD274F478903E94AF66026F8562CD6C19837CE9265CB6AE578217 0336FF4C7A0EA5C28E069006CC760D3B535867BD376C0E6BFA43A9DE5F6D888211DB06B6F3E5DD AA666609CA7E2291EE0596731E4CE79F34FE0559AE8E1C29E8D60015A445C34F8E643B53372EB0 5331E58197096478DFC49B7F092A6209A2D209DC02EEB1B7D7B12E89A0551C06D1C3F3793D745E BC6D2D6C57628E5BDFAE09936976D7C9AFB653CE4E6E198572CE46180FF9EB009CFE450BA26BB5 705525051655C355B5D61145A7EE06DFA487B311DE72A975945FBB64810434F8D739FE95632601 A46C6C95C8BE365245A89CF7634735DA14CC68E23F4E9E82AC0E0F85ADE8628BA1BA4F9118F800 7237990280C19061A305B87BDE6FBDABE71A72740E338925AA871C918D927F28ABB19FFD2A1261 C82CD3A47B76248828300E14D71C75B777375D2970DF345C37F3BE01E56A047C99D27F41D81DF0 43C1103352FBA194EAAA50055DAB070346A20F39FB007BEBA34627337C1B71465DE82D2221194D D5A61B666683F09E21F76418A8086FA4B2ADF0C94D5A702A2BE6BBA71D2A9F8767B2A390229450 EB9867BEA6859EAD686C61FB52157036BA8F62468CB934E10DA07C43942B964A92C279E3DF2635 541FF403CC50F7DAF1F1146783B0D2906F674273388085A1F697E6DD821649569B8CEA2920830E 95A966358FC6BD7F8BA0B93495D054967B4DBF8D92EB337F50BE0DD9A03C23D2F5B5D9C73DFA4F 7E01125425EE62ED9CEF7810C88553CC671A7DF9295F50DC482440E40D65D093FB5A39C4084B5A 39A7C13B426BD9BA5E8DE29FEFCF03915C4DF570CFD8546B274B875FD0F80F57F1A0DA69F09DCD F98D279C0001AE6DEACE32E3B2D3443524C5FE1CD2770D7F873201442B1CC63F3CC33D2EDC0E14 9327AE6C9E9720B346A3D783A0EB6D39E10C6D8C42E310C37AE06BE77056F58ED39D35BB2BE86E EC0BAABE99682DE457316B7226E0C968807D33772A20D50658353D2A6F0804E6F22584AF5887E3 6AA4E7EF9D470153A11759AD42DA6EB9FC0AB5496547CAD0EB7243D0371AF330E9DEF3BBDE115B C312D0784932BE630ACF1853BC7CB9724EF91B5BBC42ED211A9FBF9105ED50DBEC61EEA28858E4 B579EF2929F285ACC101311E182A27DC8F05A8BB074C559C37083D5AADA202B0BC3BEAFB7831E8 79916C5FAA116BF4B4DC68DF94403DB1134D96A72A81F70D2F16FAC5768B4BB454C8DCED202A31 221B25B2E3F8DC912C38FC8087F2C88B2A54F9937FD257110AB63FFED01D85D4B1161F08420F22 2725FEC4B5DC4D2AF65A8EDBD3B59E4ADBFC2478E9850B6ABA868553DCB23313BBF6D03D178FF2 FDCF3393B051F799D6C60AB7D57D62FD23A3F076915882B9BE1E3ED0A3DA893D6BB69A9BD15C8C 607F0213D34673F8FEDA8187DF8C28E6E4A7B1FB92B11E92294203A36F95790EAD1B41CC833673 3FB6A0189356C16636BE965A20E8959474834794E4D8363443CA4678901141D8BFDCC31B94BFD3 CF9E54C566723BB52BFC868EC02AE2B96C657FB4FE9FBBAEAB700075588C874F559F3C85E007AD CF76B3E0372ED97E3E9775CFCE89DB79D3968DE2F396DDF4C6F2B65C909A191431F5E2134BB886 3A620E2D537719D2F82FBD802C388EA66C454B8DEC27B7D6624FFAA31F85C5B13DA941EE9A7C93 A5F9EE3C537B709656696929840CC05D2E60B285CE114018F19D856DE6A1408246C3A2ED085ABE E10C7B7D1A8080BDE2AAEC62F5D30C6EEDB6733EB97B626435C9CAB5FB56810E3E1924AB170102 AEB24699661DB27C5A92F40E4BD4A88697EA623A3F2F80E3F217D59B50649085753E9F16C55BD1 C45D2C57297689D12F55F62EA348B5FF6580B48DA85B9BA058349024D1DDC77BBA000AC0C2B635 DE122E3A9EEC3434BC9B97B3546BC7850C3A472101002CF05AECED688C38D5AB82966E45AC4CF7 FF266AE0F68669B5EA49C65A65ACDBF9A830988BB625A8263E570EA2C6D6A786277345EE7BD28F 675AA6474ADD78E016D599B415B054F67EB1DE9BE57710DF2122405B482018D248B29619860EA3 A268C586775761E62651D1BCCD3775647DFBE84A97C4EB66D204CE839B6DF81E8970834C193FAB 73FD40FDAD28D249C3A086759D0F7A23457B91240AA045FB450EBF2F5DF24E5123DFFBC7A633EF 723081ACBBEBD8D99C41B7ABD6C1B3CBB52ECA4976F7487AD77808052D81CE6F128109881C32F3 827F5EF59022301AE7917B2D2E5C56FC82386CC1E0684FB6B43A67B51AE8B12E5B82C5214EB798 38A004A4D704E03BA65038B87399EE1F93EA4CDFFD2CBFA0AE1C1E81073BD88202015EB9ED570E DB33E01777343DE3F8598EBF0CE1C79F8DBF49AC9A6E26ABE56D4E36D7452E6BF7CD81A990B6AB B05824BA2C2988D509E98E9A9ECCE3F869E1A301E7A8D69C293FC60506C762A65E66A333731BB7 7886E82DFFAB187E264BB8E939125244A658DB0EF727428969C86E4240B8603F6CEF7467BA500B FB2A0461F8929E652EB7C684B6356A4F1B01317BDE4C0E278BC9C0D19D7F0F1066B7915C15482D 347EA313239390884645B9D9216096257AA199425944B88B8E60D1C9D818E6C7FA57484E573FAF 2681901CFFA7B03837251BDCA42963597D59F5C47CCF4FE61963D6997E88DAA6A80189F54108AD 91A615519EBCAA0294CE0D2A3D6D51BA23AA538561AACB1859F9D8E7C7FBEEDFFA59FDA30C4930 F3C70288AE3B7DB6835613D7975AFBF1254ED80A293C286A400E74816D07AEB927730C397EB1CF 041153FC821EE357CF8D9C1C55CA1B578B603A9946E8B623AB642F227041A18A987C8A826B8E67 7F8DEF5B1A7A896F2D04CA19703A9492C35748A0EB34614843CB6435E36650B1D0311D8862E78F A870CBCF6A1A6DA31FC1BCBE97B02B9F9D063975A8F4B681CEF8D7170C1D66C41BD8BBED7C4DE4 5ED8EA4D5DDE0FBC9B11349AFFFABF8C7C62CF72064F93CD36EE781E45938513E6517D325137B3 C8B07F6C85CEC99FEE73C19E3319C4DE54973E9F237FD4F5F522A1E247D13A5A3F76D9A223C1DC 05DD98AF2F2870DDEECD1D17816F6362BA4E4C3E767823496297BD60D5AE5F3BB16C47946E1B9D 599EE1945DE81896C20E0E1EE5BCCA3A817F140DAB9106C6A39396356440E28C8C37F09083C2B3 8C0AF322A5A6E9911963BCB674D63BFDF08FE2A7378DFC5292CAF29E29F2C6EFF00299E23673CD BF97B919E4DEAB76A52BB588CFF489D6C984BE6945121555D2D11D5760935A18C7ED5794A8590C A9EE7CC716E12E5E50604E4DE26AE7E8198EF72323B8B449C7059831FE2B32C0B7ED4F977D455A 74AC42335F92FABFC69BF798F3505987E10E6EA4B1EBA7DACDF2D8F76A14031698506F920439B5 542E334FB3880BEC75609926EE99529C4E923E39369D453A4C86CAE241DAD49999819B6D3CC8ED 7F99C4816DD01065DD385D47A56B3FED36E1FB26174E0428677D4BC535A2CB35646C17AC6214F9 3C68C7B702D168B4439FD66A44EA76BA805180535EB32DBBFEC29D4B453317C6F35E21CB482490 74F1C89B3DC6A53FE588F8DB408EBA1C60C9F2EA013F1517A8DB3CC9A097A2643C0CE53EFFE5A5 E5B26CF40D3A9324F0BD35B6F526E83D2A381E976E00AF14E7F4FE22ADBB71236A5068E297C7D7 0994672D86FFBDBED454659F54CAF5A364FEC8265ABA8F4F2A047D54B883E81AD48D094DE78A0A D1389F5F7BD0B36B3FA11F8864D21E57F453ACBE2A892EB6F126C9881799C021502428B0BF483D 304777DC0AFB7BACCFA42AAE43121A245FAD4CE23248102CAF93C72016942B556CE59A2856BDD8 7CAB9A22FC690B30ECF8926699E101D8F74D98F2759E819148E54EED6392F0B22030AFA655E07B E6B0F6A58266D5AAD8365D279FA51584ED4BDF5E981E31732868789362A13F68D7EEC3ECCF46D9 1857482DCA018944AABF993F90635C6028012240D8C670BE48E4BAD29BBC118DA0B733E2019502 09F2C608798E3FC6CD3699B61D207753A5C7E31D5ADB610F7A9FF36C6E73442569F025EA5E8A4D FA89E43F10B44C907024316F07B4183B202E8677F4449520CC06361F075BCC065A0C4911373281 88FAC72EC24B9B52500D103737D40A311D5752EBA5F06EB593B56147F708914D474B7E67EC48C7 32D40AB7C8671E0C80295DE3B2CE69C9759B536520EBDA938729214C68FFEFCA119B865C2A4BA5 15986323AD149636791AD00B328E0E2D47AECF406A43D94FC87CD50AC65C5D4E55EB24F48938E2 8305E1DF0C6ADA42CA47691246860F50A2A6292F0590D6F8C4076F3C6325AD25FAA56A361C03C2 03694A39103DD209C04B85E5B740CEC222993C676750BF937448E4B0EFC94903FA04A658951108 DDDC3DECCB7B71B544D030E6DDCDDDD5D8ABBE90862E8CB4E65C298F2AE4D6AB773091F637CF8C CA75568E46C5C3F6D837954E7C1E4AED3C449FBDC85A31C87D457485D0C1FB4C97957925EABCAF 80AAB9607881FD1EE9DDB9869273A69AE28EE67E694A7AC15B38BCAE76120E84A3A570466AF88A C140243B90CE2A0A206F726ACA103D4AADEF97E5B5E4C753FB08381820EC8056288BCAF86DD714 BC55BAE80E8670802A30B24361B4830E55563A74E5DB9862CE0C5AE972EF9188A9D961ECA5EFE4 45DD11FF240B19766D261CAC32F2FA24B8DF95DD9A5AE6BC5ABD66E0883DE81DAC808EC9E64D82 06BF34D3D418CD1502C1BF865FB89046BF228323C9B259FEDC44A24B41AFF7D4E6227F33CBC59D BB33633D31BA0F654F48762DE5D7B0A03079E67206C4661BC410F3D5F46DF102741C5949AF61C8 BDB8552BA01AEEBAA183ED57681FA2FD92DD4C40E8AB10AAD4857888DDEFA5B8490191A629C0DA 6F099607F85ED12417E879D770E016D297ED31E4D36082B67002F833561227A28891B6D2BDC3CA CF3F6CA3D833E8B1E587B4900F5BCDB295DD1626BFCD5D9BC31B8CA086E264F25599BE42E07D58 ADA6E054970DDBEBA58D7185EB003AAA869138FB31EA477C881E556A0B35841AC095E226523B32 773E128F541068A77B43F61BA7891F37781FC627C39589BA4DBCA4DD98C7BFA311A7CB6EBC7EF0 A2A25393D7BD84D00D951D4CF9D9A1834038838830A50352DF68C9701D0CE7584626BA1ADF1D00 B592F34897EBEC6280DA5223E46A0DB875CB10BB772B7CD16F26AE19CB1F2E554374E89CD4F7F2 7485D9169FD48354317B1646578D956553430BFF2090217B15BAB550A8E0F36DFD6088A5E9D52D 6B5303D9E2C0AEB607749384DF0CE76644334FF36C35387D76FF85B8064460C28FC895AA0B9994 C3670EA26E8335BF331F4B406836CB7EA457258912C6DF48042050C7D333BC02FEE4748909FB45 8DD5D55E7FD04497CE34DBE82E88D6AE641250863B8A57B11624E62CEDD80E05FEBADBA6466363 ECECB921D11DF5939891E5B5CABB36FBDF822EBF17D950EFF3F4E850CEDC5F0FFFC97AA162BFF8 A67CD77EEDDCF5D5FC48A303DEB2EE716B0C6F53469EE23B553D65FC4CDE004A2940C71E4BA72C 1482B2FD2ABFC6E8A877A807486D86DA69611ADFAB9E76527E6AC15006E26DFDCC3314F24D277C 53305160A9EFD4372258C69E8457EB24AE163AE997DA692DDBD6F9F6B4A0A80AC2C2AFEC71BEE1 3C8EDF43F7A622B2BF0C860FCD6405704D60B6C71642F27DDFC08A8A02C6108B9036B5F7CAFBA0 BC0DD2EE4AD2A3D063E2AA078FCE226B11467BAF992719B55DDF5FFCE2B34466D4CBFA8FC5647C 222EBD11EE60BC567F05AA38704DDAFEC8937469A83D09643F7B798EB28E5DA823B9A06B7BC8A5 C05DC705F0A1194FE17D7948940395617AC25BC922B3C838C507C1CAA95B65A2A5F41929D75D3B 1EDC261930CE41163219C8827803ED5AC50BF85AF7C69D57286E5120C0F08114BDC3278FCDF774 3FC7D8D5EA3B4D3F2B2F3B7B6C4D62D20A7D98AABDB9B9DD7739561B15FCEE8139B81EE60331D0 939E99099F2B167A0AAA9E85D803062ECC6ED36916C75EB58243C2825BE97F3021D23D73A15615 12EA904A94924AE1B66F5AA60AFE3E47E5A37E5BC53572BBD578AE923C5465F824056703DD1A1F 5EFADD557CFA322C46BC944199190C9ABB2604DF2A7B55480C5D7035AFB7C7A7459A0A236573B9 91F462ADEF5953AB2F45CD837DB21CADA6D39CFFDBA3554C166BA7F1FD28953FC38B853627FA21 75537144A6627035A512B2D36DA71BDA234132D7C2CEC4F29750C14FB8196D256F05922F26A3DA E22E4E14B52196F8CF7261CE0CBABDAC1A2C2E0541B0ABBC8E09B1731DDEBDD541D9557AFBD90F 3D84A8789EED596F6DEFD34E4651B7FF9DE1CC419FC7FAF1A3E7D7EE147D60686EFD5F55F5D911 EFDD55C4E0BA647AD599E0CE1405F71669FAB6791F465E7FC1C247AB4E52C64FB2E6A18D4463B9 95CF637998CB91BEB1B68A8C3E4460F8F1E35169F78FAC2D6677E243854D6F6C8685E5199D8FB7 25E383CF338B276FE785954434EE8768FB95311D47FD3273751E4CDECF0CDE3F77A7513B39E319 186B4495016FB97B4D996F4FB86AFD00EC9F54AC44AC519BBA5DEBFD5F39286817B25695750E1A 4F210DC8C06A862F1F88CE3AD7D5764581E588D472B8B407CD074A5CCB39D6E138FC3E58C9C096 4B8C0195847A7BC0E58E796EE60A10FE003F26231EA0F0EB7E100DD6890F6AFB8C2290290A97DE 4EF1F5BFFC07292D2B4D2618A430FF3E115BFB35116835891EEDEF4D9456DCC8A25DF5429BDB52 7151CA42570F44CF36D6FD31A10D58631F5966579495D6217A21DC436B7E26ACE1C03E62CEAEA0 7C09A6711FA6B7F34504C4E0799E797D4D2775FFD0E9C2CED9DCC8F64F8639DF8B20EA979708C5 81BFC54F08BABE9F5384E357885C54AC33E0FED272154843631CE03EFD93DF01D1600BE65877B1 51C41219367641ED0192E12F26F871B13ECB2582F75CA7F1BAB3DF0B89942BAD036E9AC7A4C72D 6EBB0BDDBAF2F6F9AD284CFDDF2934B4EB86E94999D1433EFA2E278394DDF686188AA8E6C15179 AA232AAD24D5036A39A49C84BF33AC864FD76BC91D8E915F0A604B8A4AA99836DEE01D72E06596 88FBD19195D92F5C7FD98C86804E7D3F7E818CC61B377ED48B5DBD744351564FD4E82B6DEB1A73 B964684985FCBAB97AC903DDE810E01B27C44267B9D6C3CFDA7400CB922F6DCC6B711C045C7C1E BA276EE915936643A0A6CEB49C0DEA87B0D67B4294F21F30FFD59626D777D5E63B5400B1EB92A4 03CB688B5341C40A69C4D413FF4B317750531EADD11F88851F6345669F58C53EC8B764AA666BD6 E54B48E4743B2EEC13D7161C5203433FDADD9A4CB3E69641D3795A2E810A45BDAE3532B97A52C4 9DB552A876C1ABAAB2E3AC102C9879D203D62B1BD4C23BC52E3F0C94A557959C6C575155F7AF65 0542B5C10247CDB5409454C6BD7F56C13230C7F5395E211CF2FCD872FBBC1ACD687206EE59D6BB 4EE63E2441869F875AE35680356EFE5A08AC504CBCF36F97743F06740E5137D17832DA142933F5 709ADF6DF5177A84D22BEDE4CB3E6D30B11B3C91BD0D202352BDC767106C4A8719DA2C75A355C3 53C67CC53775EE192E31554AE02399EC3E5CE779AED77D112F3C7059D3C6A316179EF3C3AE04F2 3ACA411387E1E9D0930E9C1F3752315D631E556936CCC6EFEE77DCB7E705779F8302848EDFFE70 D12A5C7BE23CB6ED65DDD47F0E0F082160A2538E1B032AAE17C97CF7F97217972F997CB20AF71B 897B0CE19C8972A909EF1380692B82E9B09C257A0CA5CE07F272B56BD321D9EAEEDEEBD08634D6 B9EC03320D2CE208D823C0D02D5BCB9A991AF784FD705CA331662621D3D793C8C311F7645FAC00 BC8CAAF74F3FB8D3323639082601587B7816499FA4CD956628B7806CC407815BA0CB9E26145300 A915F7B546222E5B4969BD44D9DF5194D7719A0A7BF72B0FA4DBA8B23BA02DC8441A9E4C57C7DC CCC2F5BE59786F3D79D070C1F2D02003160BE4B02E6767C5876973C786E10F567A1128C675DEB7 46183DB34DAE298E07F0F78A48FBCBD6EDE2698639ABC2E5A1B2E467D93A69BD2D67F41F62593B 8242C4A4068BEBC4FA7165B60BCD07A8752579FE46CE7D0494B06D0CC2E7568EDED60D0F9CBEC9 D3D4032E650741BC21A83962700144F1CBB68AF25BE0C0D5EAA9DE8DD8A68DA7E0F6AFF1BD8FB2 8278226A2EDDE7E0B33BA6D2A0514D4F90B48FD6300FFA9B7479DC934BF3AAAAB95B2AF9564E9D 6EC39957E772FC5F24816637820B68B880CD84CB0C50B4DA212A20E904D37B360E29DDCA2CFB57 EF239A5FAE7F964C72B1FAF64972E4969337018D26C9CB9D68B6CAC4E3CD2D3893145C9432FC6F 0FF8C062C3F0F1C3AB0ED8D6B5505BD16EE6A15AAE57BCE07333465501867F2DEFBBE0274E4673 8FFE8BD1B4211FEF4A8C28208E98CB4D72DEC559127AADAFEACBC0D98817239180BCB43DD239F6 91A3EEDE515A3370AF5739841AB9C91DB77B91441E4A6F0FE113B4DC509E4BC951C800CE788526 9E836A5AE595A7277AAC851330CD3CDAE4DD4569994E1F4CFCC75E459BC9E1BC7F215BC2D6926F 5DD509A09CF22C506EBF22D2304870C3905D94609F8295D0C55B403A7572FF4C0DA600A74D3641 DE4DC0CF14AE350CE94E713A2AD831422F2171777187840069F414CBD31F3648F88287C50E4277 32054F5DFA1FABEA57EECB8FDC8019D37336D8D0E840FCECD0FDF19E56A386C3521E28726C3F0D B6DA49210F72C66BCC1E5CAB15FF19A8B25C5442A0F9E0D41FAF824078FC6F6EBB3778C6FFDE69 8EE021C353B2A00F83903E001A1716E75308A08A8A8978CB4A99D379C76629EEFF65B926EE3338 54144F43B04F838AB5003FC36505325D3E4E4B5FB75A1221B32DCAC4CFD3588FE0DA34AF3AAFAC A3955CAA04856A196ADDA16171AAB7E21C34CC447741E506F153B7F466871342AC72D798B63572 3F4947AF84E679D4A9145EC26064F02388C731B2DADA26977C56FDE09BBDE051AF895A9CC4A80C E9AAE79F06BF913CBAA69D445B12023AF1A7BFD584D44CCE04F50D77E92F39294AA1BDB08FC656 7218CB7FA34A09E1574F7AE40DE43FFB717625F2C5629AFD71ACD8D80B88832C24D8DF82279D88 32811AFCD634C52E321A4778FF066508A0A63CFB3905EA75F5821DD568B90D1128BBBA44223C7E 75DC8F780568FB2E603962125CB02C1A492FCA0A0096A5BA8B7D0CB1051A94EF617DA1E5771B0F DACDCD877D0699E01650F8CAE7027A20AC308B7B71F8D2709CED981541B50456D7D1724D28FDC7 4B5FD05BF71A98DBA1B27D269436C9BC668FECBA8D660DDB7CF7F7F961BEF05FA62E49421619C4 4CA720C2426A1D486C95E026416DD8534C85AA200F95B8EBD4A452541629E1FDE2FE11D84D969B 2AA01A9B7F546A64F598183C23E26D38D86F47E29C8289C5ABEAF1D5ACABCE10DE46C50E3D25D9 80D079E8BBA99515AFD9DB25CA8D34984D5D96ABA65E2850482F264D8316ED3868D5357AE02AE7 3CD5282DC1908A666F9EAF15FBB2E19D3EA3509C5781ED0690A20621BDD31AD2D80F7787C5E678 B7171B945C5AED7918DC313E011653D4AB5CA151B48144A0A6B2C2DCFF361F711811DB6F249BE7 6579A43ED363306D6811D6E5801D6A84D4C892956F0D00A98CBF568A4BE481325AC9F0972FBD5B 6CE323B0FC432288501276BDDA4D50505BCEA44A5C7DFFE118F1EA9FB0A01CE3B7D8D042CB8C40 FA31C0C7F5D650D856C6CA864BE3BB46D88752D81EB1500923F9DB47C86B86998C8B1DA70776AF 72BD3CEE2F22FF7F132DEEDF8E1FAD96D242863252F03322B458428A5D996852B1A862C57CF087 C1ADE9803FAF24D25ED54C9CAE1C3175E752EBF0DFDD3DCE002BBEED1A185F2B968F1789645D13 D83E3FB15F24DF44E85B303F32C681762D23ED813ABB75551A32C8D35C60FB3784E926AF187F45 E98DF1FE17EA91AD0A11EBCF14BB22BFF19BB52452E8E06CE322B2959CEAAFD992054CFE95C7F2 45F56ECBAC06595F4202A5272B7AFCD40C99EF3F78DC9FEBD552DD4913570438351CB76ED69147 B46AF589E77DC42EF021804940ABB395F549AE7661B0E28E180C8B24B82BDB77AA17D8FBB1BFBB B16ADD5B48DA8ACA8321A66B606E67F0D64215BC3E25E74E26E6908DB19E966F94B1F3FF872642 5380FD722B02C251D57E301016F29A98416D90B1945837E265A284FF2B8D655891D769DAAD74B5 EB5A3274FF9140D36EBFD08A5BF579BFE5B3BA96856ABC7C4871A0A8F76D0734725F6F1D42EB9B B1EC84AE290BBC3DE601801002B8E5F075A15D81F958EA446DD2DB8F5DA10E7729AEFF94D5CDE9 9E4B923722567B86EC81999EFA2F713E597AE8D971586DB1FB89AC63D3D4A6137053B4B9C9186D 29994F5E4C70172153BE37E3AB1B9388A6765ACD2B02EFC8DEB50670EEF79FDBDB3494D32E9687 A193AE6DB2B7B73C43876FF32D8CE6420096D9B7F8A9850812881A1E18054D57B98403A323D05D DFF6CD7AE59F4EE5FE466CD63C27D7FB6FB63885D05F4AC74951392F0BAA27B08CF886860D4484 415E1DB8EDCAA39CE758F8DCB80F961BD4306E4A462AD7AA3332195002B32D53E5C212C01C9949 FE30E8A3EED6747E7657A567639006F3B411985444AC3E1BD133241D58DD32A27803343E8DA969 60AF85010E9B3B16AC4CFED28F3500D558CEA50C507F7A89A7F069B1FAE873584D6CFA0D4F1C29 C46207EB676782B203C55279B677716D754E0C14F15711975054D94ADC8210EACD30208E0FCE47 F84E120C545DC0F1A4861199D42E5A809B531D42AB092C9C42167DB6303C5A334DE18DDA7E79D8 ADC546A81AF4BF03695662A9CFCFE6FA469DAC6056242A8FEB87929F978909C6D4C93DD2D60BE1 60FEFDAB92638872C3E6518746C1B1DAE17AA967DE79876999615075B2FFDA67EE9B743E2CD560 EBBA5608A98A05DA37D8F21C1618C02D8E978423DA80D7C38CF562610E85DD0F1775D8021C9432 7CBB1F5C20EA41E8CA19A4E6D50A3BD5129E21101E312A9C8F470E1EB12D038E5AE4DE537F4327 B77091667D196C3612BC6925A24E66E2BBCFBF6A4C938457FEE36DC1FF74ED7A9C8F6483C58F2F 27B7065F35663227EE4492E3F06B6071CEA45739ACB943BF0EFFBCB99D03233C5312703E74CFA3 5288182D9F371E3F22257964F86472AAEBA8061BF039C98C0B8DF14C70FC8A313DCDEB943E6253 5234AEE628B9F97660A768CFCD04701A0F4C818BA5C0219E70B37570DB0D625E4DE3F220EEAB0F A19422A17124B098EB4C9C9E71E2AA0BF536A81161C2788973EB56CA0A8064D6025E64C5726523 265C2E6AECF2E044D0969508CFD4DEA7AAFA7177FB797A5E58205C094BE985FBD4CCD2D249ECF4 B2D76689EC33F64889F2AC40092F47B9BC6D5CEDD1A9F83A0832096B81BF7629E46591C109F57C 4018EAAB78FE716D76EB3C35129BB163C13F3AB7651E389713513BE66A06E082E90FD2BB0C5CCC 51D229B3BE5AFDD175DC9791EAC0C2BA4B32CB0427AA15BB506BD677907CE43D58F929C0E711F6 FC95778515C25FE9B892BCB8448EC6EC0BE48861D1D57E0B36F62CCD687D82404CCD52A38AF266 E42D201953249DD0E84308C0CE4A6056B0952F25084C684D3EF20C608FA6F4C4E3A1A274307747 4E903EC46735429FCE1E1EBA363D509385AC067FEE1027282F6C735768B965F26E542C4A66A62C C134DFF94C692401FB96E63F3FDFBE3F531A26414275CAAAB1468E2B46049CB39989523D2268DA DB1B9DF4BFAE94F06F71FB2FBC496A687E62CE86572B9ACED7A6C65F9850DAA52EB296F7DE332E C44FF1E0EF2E2256A1B53BD9C55E75B81AA96830B1EDDA395C6FA74E0D2D509A5D77204BE7E17F 8E4EE6CB1763728002991C68357AD3882B9C216B8A75746E29680B4A807386364E8E5CE44FD163 4DC1EE5BA8F95AC20135A4344E1A9A367FD474C3572818FF643DBCE8C8D0C00DD800CA9EAC582D C5EF87C4D13408759DBAB4E8AABE8E77CDE2CA89BB581FF57D7DD284BB8297985444DB074D299B 3B71A8F9B586E153A23F750B66F396B6312CD221F44172A6BA22449582A9294ECDBDFDF0917B66 0A2DFA1E643188A0395C2E73B35FBF25A957A456791AABE4713C2BD33F82E0B3DA41D141FDF28B 94B72AE08A0D3982864E8A565FFE5BF9DB4A49F721ED28CE94DC27DAF503154B2AEF8D4C3B52DE AFA794FBFA63941E9AA7F14D8FD4A3971D399BDA0797776D69C0F65FDEB09F54FB732C4EB24A1E 74DF30F098C59BD853E4AEF3DD4719D883F38EF4131EAD84DC3E23B7A35825F39F603A1F8F10B6 FB7FCAF52A1A7E315E4A8B9DB9568C2F23482E9641F80073330E8D1B0280AA09793F1D93D8B5CB 7841A1EA9C923275103B63215B439F7C23C2EE2A4CE38DB0B7FBAEABB44123F0FAC8A5FF1DD555 1F4CF7B3313D6A392B58BE872FCE3A867D502834B56AB141814BD0453D048D6D114F938C8514CA 62060978E9B954F45FD68845DADCF5B8992BE49B25022BF659A06B65D4E7182565A3D9009B62E0 D1AF3E897D35CF76F5AC69752DECC7E3AE398832F4EC4208A1249F3175E65964F4E183C8DE2F07 ADF37CC73A111890AA07F12B9E5FA53CC3FEC2AFA98281D95DBBDA5AFE7709857B98F21176C381 5B765AD80E38658EA89A6F88354C3B1C906749F4770F1D97C1785998D591C001C437B231508398 1DD933C182F3FEFE22C6B9817715BD0B0929A1C96EC3342C31A2582B9F900CDD60F0835DB71597 4DD0844893C13D12728093531390082BF3ED1D4C7FF399CAF014BF996745142BB3B49CCE64613E 5274252DD36C90C714EC02E6560E0AD5EFE5412B6784421A7C12A4C0EB9B079E0A2CADB5951A92 A6783053658AD4705F321A326164CFC717A214534EFD49097672A9076B3473560FC6D0BC1DE474 713D41F68B804DF99ADFD2E19382305989E25FDE33356E3D8C4574BA41FE107BE34D322A1C50B7 3B964707DDA438017226D5BB4E2FB498D50C9A7CE93E6D52473681008B733D494BBEC7683FED8D 31F20172314B781FFB9FB79DEA628109340C92ACD967D4673126C95FA8C6E2A8035C919C3DC2CD A6787DCD041223A1F555BF011BF3A0024D8D3418B4CFA68389FBC545E1B37AA102D91EF40397F4 E2C4564FBD4CC394C0A1153C3A0D51433725D358253B37567EC595609B2BC0FEA0AE65DF4E1D20 73481EAB5035A7B91377E50C19A261EA0AE9BCFE4DCFC78E426646D64A546CC03A8F29B6A513F8 8496EF201D7A9A3345454A497A06F57BCF060C8064472A7A6C156FFB96A9CD663C807F4DFC6B7C 7DF42A95FC91FBEF4E27D1AB6010C76B016AC1EECB98184E501C7750500819FA4A36A50EAAF09C A8A0282200D23F769418E8421A940B894208860A5FF525EDB804AAA456EEBDCA2D57D5E45EDF16 75B3A693F1D7A6961724420BBA61CE91F5DDC953C698ECF6CD185BB510B05E056F87E6EA729CAB 38168E57A52153A5BB5938C085533E50E6FDF30AE4C5CD5F61B31BA06E5B069D76A95CDCC64E7D FCB162DFEE4836C38AB16CDCCCFECF1810EE561DAB5F5A9059D6321EF09863A1627F5C3F339A5B 54CF627D5C45B794DAC46B9E57FEA489603A9D2315CB9A42CB24ABB75555BFDD2147E0DB0A7F58 0BDE81C7C70C3FF6FD6CA304D719C189D0D7D991CF3E87E15240411FA94237B9FB145FDD4380FD 3A5EE1843BF55C6C9F640F7B9E42AAF1D96FFC44D53719B83F9C11CFDFFE51BC454F50F20D4F62 5516FE4FFB1EE798C85AFDA53319185A2CE94EB37170BD3B949582ACF20F43B0F1C4211843D50D 4C0FB615107A5985F2CE49CE2F7B159C4E566E617B1C446198F48DEE3D31E9194AFCA71CE2870C 6526AB1B0614C1B894FDC0DB2F2356082B8C311CBBFC4422AE45B90852326DE98A17CA8F5EB9D7 492404916C61367BB9DF4FAAC2FE30C6A739CDD73E0AA1ABD14BB2D7663C86BA2598AF8B553602 DF5A032CF80F79DDD04D3630DED47B48E58EE74EAC81A5BD90236954A02D98A3DB705DFBCBDBD7 598D774A29200632F546A159A2656B85982FFAD6E2668069663CE017D158B7CBC1310BBB867053 B300E8FF4A5BCF286D6D77CE5F5890D3E3FDA72C5DA30D7D72CA3E040DEC3792FEFDA71CEDDBF8 58F17396BD5B8DC99EDC09E9A2B98877AA79665E1E43CFF02030BEFDE9E1497C822AE458BB6B15 0F6AA44D7064E68294BB84CC34535060053D36A75B75B7DE664D281406FF31BFC907174B76FC51 1164602EAEC09AD19A0DD24F003C17FE377B75CDA898A38A4291EE50C5D9C69F4ACDC239477849 C60F0099822EDD6E3BB567ACC171F7AC87C775E56B079147BFCA802075DDD839B869C4A71F63B6 B2C65E4B9EB1CB8BDF55BD6EAAE1F290B52D712C14F365D3805E29A3B5643BB90EA7E1CF8D9B42 FD09FFBA06CE9941885CA6F91F0D1CFE91A94A9BC6164634FD7CA2AB88952FAA0D249FCF47ED81 B9B520ED9A59CEBA8993932D67C4F9ADB27871E711B7F0F3A4845510C423845F396AC3938DE83B 0304054192A788E343D51381E622E5D46FEAD67D853BF1C8C269D90D21B6267409A20E24ECEA5B 1E0838A434585814C7E5128BE6D0C248CAA2014165A8B97AAA6BA8A3BD868361E8AF0C120EADBB C229EEA78227188AB22D8E85F638373E74CBEA7197BAA9847D8EBF16145726AA706C0BA81EDA7C FF7E88B39F19609165640246A4A9B7F261A5C93A5AD64D933C4A8EF9D026F2297F0EFAD595D0FC 87C1393EBB9581D91814C47A0A3B06E5CC450CC22EE1B201752258453D4F145567F7D83CD99920 B5C5C19B0C8BCDA6948298B6771A50CAFEC673F44A6080F89880EF0F766DFE9FE1D9C850B0CB7A 6CCCA280698E832649CF604CB549CAEB31CD8356ED106F365321CE6809E2BF26C186497CDF2D18 698762E4749A90F6C1D95B8EA7EC96319113C87116118100FCEA0D550F2832C57A8BF5E1E1C847 F0C90EB114C7CD6C3AC2C2C5D7A7B56598739CD0CEDCF8D069EDC437C7CEAE5C0CDFD46BB57F23 BD0D61B1AC0B9205FF34194628D5FBEA6CF56DDE45943EA188825138341713796874E10896757D 93ED98E7B60AD890DB2AB682330AE8E15572490001C91EB2A8D7B56B33BC7E0599D4DD3A5692DC D2E05FC5DEFEB9102505392A008ACEE79CE7B2BE2A2B0AB1E783F353183BE0FC9D19C00474E0CB 8817352AD755C63145D7C965C0E742F1909653FAF30C41875C6B7ED342141DB4E74512EFCC5B64 A91468C89A8E692F0EBFBB4BAA6264E31702817C9AD8EB8BF75104E4D4ABDAD1FD5A81166FCB17 A54E71767343F36C47D47FDE07FA3B7F943C2074622BFAFBE75603A0A117C1BD679113900992DE 63C0FFAD063B669BABFF040F372B03A3030D1D1AE05188B73933127E8EE73625FC75DF1138F055 C815FCA4AED0873CB6BC13414731FEFD7EFE52E3EF824C75E0A0561DD0D7BFDC5808F1B78B7D9D B562B3F0697A11379D087D49CBAEBABFFB60402E35DC6FD4D20D3C2FC88651291C379E4E8F1BC0 924BA435EDE740137583CE6241C8C2FE4DCAA17103C8C8F40A37D27428E81B370788FA30C814BD 1501D07654C470FD5E94CF0C0C52B5FD6E510EAB08D8869B108849B9003E7CFE8A256DF7268EB1 DBF4ADE9FAFA0963B1A6A9B8AD40011E721B992A9FC9C998D26400ABA8C5B9D521C28642728063 D9D0668B2B639E625D4B4F2FA3786E57E7938F995C893E7D332621716C6968004F7C302889C4BE 46046983225AE2D1BC276683744800DF9683E960A8689338789ED2D2FEA1D639804EDD686295D9 0128130940AF251D6B7803F0AD941F3F3D999C5459AAC5765C743BEB8CB02461B54EE0281A6006 3AA762187D3B03EDD3B0B1F4EC416DA20DDD0D89CF302F6377CA73A36FD44E86C4DC6DAE2F5A64 AFAC62536CDBA2C86D6AC1C6AC679E50B557045B2EB802C4C7AEBED40623B17A93ED24B65AFA01 0C3FD297B52B2647355A411ACED255CD4EE2ED397B3DBBA4FC2745960491AE76F826EB9C3442A1 661D656C27C486B3568A63F0D6DB571B17380652333C2D262A69FE1AC016D6D67C854A1AE0D72D ECA2AA38E6A3A3EF52B4EFA56B1913C0154BC1722016BCB3BE5B4EB5160DC9CBC068BA3EEF1F68 7B663D25789E03D465A88B93A47404AB2CABB24AEA4337A79DED69CECA3E5616F3A1BC6E923B21 2F58DFA41730543D0E484D43621E697DD091D3BE143A85895824C13FE5B2FC2AEC9CE8B4899197 8019B6AA777AB5EB24FA352CA317C7C7F1E9549501DCE4C016AB22CF3FE5F1B911C5FFCBBC7969 2D54AB0B0C92A5DC73A5BEB28FF8D2963CF66AFD981EFFC7A1246653E07A5A071442F0F5F719B8 D60022D82643527C424D74F130544FC363F9D4F771B846337902AAE901C881130559CFEC5630F3 767A1E1200A4DE082427A6D0DFD4CAA59DA510C73F7ED165A7FCAAAE1B541F1778A6B8FE223F28 597743986FF80C2142BB9E347892AF7AEFEDD29ADCEAC1498B31F5FCEE94BB9E48750ECAF7DD52 A39E793D99C03D875B9330FB1BE085B968C3B4EDFA0F050CF84405D3A42EC8732AF0DAC9C86661 337B70929CB485028EEE81C0B465842EB01DF15C1EC0BBA5805FF3E900576E749187C0D94FAEC7 E3F93F1F30D11242E7F65FE0EEF91676419B2E43223C0061E46C41FCF5FC82C011D2490D7A840F F0A8DD6CD0AB1CA81C273E1604A9F54AC6EA6BE04E6D14FEB14DEB14DC7CDF5878F35224C5EA7D EC76C8C5CDF816164BB47F9C6020D371F30419198AF45BAD5792D148F915BAF0DD0841169B77E4 5AB50CDF50B98B4C54CD0BF91269D9FA67F74EF71BCC462AB9EC71939D361EC20AB52BD906BDA5 FED00D420E32CF30AFB953C4DAAA807D5A5D3F24A353E9B0EDCACEBFC69A29E65A5CDD1B61FB66 5003FCBF372FAAA06019F9945FBF32D62C461F4F4E89A400F9E0B3A46BDCA99EEA1AEAC92B3ECD C7B14616345D9A3FD1837FA24F916881004CC27351A131400D7634ECAE7DBFEE4553C86A9B1362 E3BEF463D3B2923B45F5D8241F43533EC0E81168EA76DC28DC20F6A71508EF1C0EB6B946C220DE FA265F3E8F35EBA374D0865539B3857C9A21B1D43BED4EFF755B1E2C2EBDEF2A3652F19729DBE0 59D94FB5448BE1F8EF205E070199F7C1D55394968A1FF745AE925EFB7237FF79FBAA77731C6C47 F6866815020AA41F7F3051C7ED028518628522AE80FAD972B0A988F5793BE8D421444A2D2C0061 8C6061A4CE81A807ED81987248D637B525C4E2A3D24E8AB6EB11FD36E9BCFE5432E46B89B2192B AE685D7EEF494C82A45EABA1363D2F4B7973AF5B2050B3F5471B2027511F816F1A3775861673F4 B292E3425234A41A3D270A0D0C0139C105731A6F5F845685B77876B46F5ABB4DD64B669323967E D11E40E3A1837B060A6685FDCE58D2DD31D0C9A9AC68203E78A787FC6508B4604DF609D14D7AF3 0E0D2CC07A4905339F7AE4522D6061FA6A7E4CB7A5A8B2B5C49D7A72DA46892AB0C82AF7D3AE1E 6D882BDA8C266984230CCCB95AD2F5A0E33685BB93DFA60D8FF703C76887C32D93E53DE648C72F 25128565DF4F410D1B2E8C9D569B706CB99542A27BA685DF09C752286021C18F9BD2B9C582E827 745D6901DD99C4336C0268C0E8A85BE9C523DA1E4D0BA4571EADE80C88A14BF4E7450A1BCEA1BB FF95BDDF2AF1BEFEBBEE7429A4FFA5F72FD40A7AC1B70F8EDB8325AA8A611E37B0BCDC846C6C13 CAA9A830E1F090059C6E3405378DF90C1AF48288481268DB2AF862AF3AF7A9C71EB60DBE819839 6083CD2F545C7D78A37B90CC3B9F35B30F8D424EAC374DEB8EC893715791EE8B0CF8F899A4582D C9F2F738232B983AD8A77855D1E61065C4471EF0CDF72C0C8AC6AAAEEE1A767E8F7F0035DC77AB 95BC1E2AD39914DF3E13725D8C3B5DE747B0EDF1FF3F80FD160D9A2055B4F2FF20F4626AB41979 5E1FB1F382A07639342A4439A6E2F18F3832BADDE63DA1D78FB63557261C6C86C6E99FC9D252D8 95A9B653782A4CAE61A6DE512CE97EC46442BE27746A90474800725E95307825739592D585054C 07680680F1B60D37D64A5B0A69C84BFB05CAEFE941AFF94CD357A53C9C3E26FED2205B11F82F79 64DFD8FF16D5A3CE12905945BF41C8A56A599877615B23E436DAEBC71B45BF0163A4E6D13238C0 479C3DB9EC99FF0B74CD22248651F2E1BC7860ED0336E6C078D0ED4FC72F494D3F136528B25CF1 53D41DEAA0761EC1E8F31F90DF1D73EB3A5BA9B52D829EDAE98000B6116072AEFEAE4D861E8928 FF9DE376C856EBAB1A189F4248318A44CC3E073B855A13916073162D7A26C08BB55BB39A12033F 93B55DB97CEAAAB975A7372C15D32D66578A6539ED61097D4E019CAE33119870E96C3E409E44BA E5F9C92F044BCBBD1B1041C5C68C45B766BC1FE51B57D74C11682E6FB6245DB5B24840FF1AD084 4B98342B17E18B42B9FF61430B3A703D97EF8FC75B5F8462F404CACCDB2E6D947C1FCE7DBB0388 DCEFF510B06216C218BE38F9460726FADC19D133E046C9057198C1C25DF85D45EAE84F3A66D339 D9A1C0CD7FB6A8C706A9BA062E6415BB11BCA1923732B2A9BA984FEA53490547A03063673BB384 D78CF48782AD45111EE91BAEC2128DF1A273F9143A3D28AA3E1F22DB7220092047E22268AEA219 D0037677A57AA98432E3749FD577DA26285AD0E67E231F5E208385F4757D217C7070692E6AEB04 EAD85FC981AD586A35293854C147A62230A8790822589C62C1BC182F9E07B7E0C5B1D02E9A73CE 222AEBDB0AADAACA9685B12D914220637855F928B1C95251080DC17BFE674938D33E6C92C047F1 BDC22EDE502AEEB780D6FE78304E0AEB47F39A7AA01C8B3074FA0A423B603BFB29D99F1C125E41 42D310FFFA16CBF8EC7C2B09E7B088FC222706993BB4EF41C9329CF0AC1EF60DB5BCD8A7FEAC1E 9DC111540A7E1633F36B0D94CB0B15A8E307CA19B3CD877BAC7AB9038CEB293CFA0EDC053AA4CC 5049CF239A0841C6391A1ED537B49655EA5395477646BAAD042A98B61DD270973665497FD5CC42 4B30C3911C5589231559DBD1FB713E1A384DC62A16816558A15CFCA84CF4BAA29835107C113B60 04BD88E1D4B6F0EF035083AE58040791F8249B764C341064E95D788B90695E3FA9E547E456F5D4 7995046BC81D5473E66C374FC360B4410670E527BC95332D6FE7DB8B8DC47AC472F37E83240AFB 3800FCF5AA3279E672B3DA63FD22384CCD852C2516271892E923B9932B6DD432BE49C90DC0B554 23EDEFD604A08963151679A94E3FB3E64340399F075A21DEF7843CBDC9D2D347D59CB072F12962 7BE7828A6E9DF46877235D035DCB1B38BBC44BA3E7E8FCA39B5B34CC649152D23095F93B74BB7A ECD3BBD7E4087854CB47132679FB573AFE2A091FEC294B2B9E730625F68291EE7DC28C3D554037 F62B30B05121A5A55D37081BA4E6DF3CD6E7347C8072E518250DC7305555487BA229F7A35CAE7A 7E53417AB93E9630F6CED04F3A8C0B3B5417DB9E1D48C63EF34AF5EFD4F13AB7697F7DBB88B437 A26532070E89E418AEB58759CA2EA0403C3D4EE2260F1DBB3CE9F1F06EE4B9147F9DE988324791 E1C111877A6825DD08E8902A9555D2FC7B8B746C4B214AB4721F6A8251CA4D62F8E33CB4A7EB78 C6C55F215314612AD89D5DBD8D5F614C8DF58AA798C7C9324FD435F059A1E94E90B2BD5EDFBDB1 FDC906CEA9F5CC1204A0EE9FB244AC48B3F85593C45FBAC2DB4273AC81C68EBCD7B95E13B3D8D0 87399C5EBAD86963453E54A2DD3BCD91ADEA9F0B13457B456ED9432C9EC1F4A34AB0FA8235C26F 23838D53275CAC1491BD8A45026446F39EAFF0CA3CDF787D3F75EDF0D90260801639B3024B04FB 4D0DA03D4FD56A2C45AA94062D92354212BDB7E62DB57BA0F08EB3727D5452E5B70B6F0FAEB0C5 B8CD99011D992514D5C1D108E7E6E3DEBA9753D96DDE02BD87FCC830DF9AF89D97D6FDD9A6C77C 489EE06A1B453F8A7B3776F11DCB71C9304899A22FF393F8DA55460CDD2EA1C8C70F4931FA109D 5139EDD0FC9E323D0F8E323449D12470316A1D5022DD855EE9357A35C0673A093023DF988F52BD 6438574B5FF0EDFAAFE12DF3747300456ECDE2814B5CB39EBBAC8198B3FD21D1FE47D7E9326A67 99AB4CD5072584F774E95C55EC967AD6EBC94C45E3E2571F982379234E5FBFCAF666ADF6C64763 B99496497A44A1E300928736B77011039A31CE6BA569B19AB447A6F1C95D5CB423D6A6A9FCEB77 4C184F45EE6105F702B25E6586296EE177A97F5C508393206A15C40BF1EE90C1DA654EA12BB4E9 C0F1D8074EBF22BC4FFE94DB00BBC01DA692DC6E72F3976C6184B7F17066B6C0B913577705EFEF F28C430A0D20E9CFBF3F1BA2F378FDD07CF7C4DAC021FF0A65E82A784F5B4DB061440032007E3C CBC4919B756235DB7988A17F76C9F16739F3202102D84484CBBFE5BC2927B020CC123121EE247A A03AC0859B54231C345116314A453E35E1C0E9FD30434915616F1B6CA42073D53EC446F4DE65A0 4060367D2AE61F4B71945D3F00438E98BE840AB4254A55FF730BD897F592C5308A41351EE39650 D71D24B8F2500392B68CF88C25DC357CBF0A515124336BBDFE42A9DA2AE5ADCF5F74B4B6285C0C 6BF38283EC0CB48981C142E7072713506B6A38E991B507DF8F0927CB86CC86C7102446EDBB9DA4 019CA4754FB67324019837E8DB09C4FC33CFE423DA1F2FF32CC343409C2DD71C814B930F59FE25 E81AA8EDC97BCB05C03A51C48438020816EA31E6CEE57E394F6019945ADE3F9BBE5238F5AEE297 82896EAFDB40CB42876BCAB6F37CBF8C05B9A84AE9D7215774682C0F32E23FFE0D61A04CB9E74D 1D04B3AFEAAEF7B94251576B80EB8F15619B409AAD454613FD50AA7D4F3ADFFAB7332595EFACFB 9655039A8D13519DF9E8B259E342F45501FD9414D9A1CE8A1DB2170C0E635497A54BDD296E4414 46DFC16311669B81EAA99EF9E9F9DC6173ADECA4E9FD1D4D924A6FDF1A619D83D5AD745BE22CE0 74AA80A93FB804241573C4AA99B435C0C553B6A34C1CA2420D4AD5AECF101D0C220117F52FEF1E A6A7C2E6C5ACB12F4CFE0434D38A7B80D457299CAA7BEB22401F6F41BFCFF1B73074DB204AA4F7 4BF21DF02FBCFCED325450A316F3D0E19A9E578EFF6E36AE9B9FA83AC2761D9B0799760774555A CA3DC87F8FEF04FF41729AC36E78730AA4FDC9B200DD19E55A2EEB2914BC4A7AB668576E842FE2 4BC3171AC6FDE3B12CA0A5CE473CA9B16AAEEF1E038F3CD0CD46FDECE92D31989529AFF640EB74 4534262B1C4E74BE8E23D394A492BDEEFC7CF549C29298CCB93C99F5E7EF12F0F31F94BDD5571F A1393D675F0F7FD577F13B8A650627B83D1377E1D5BCA502A977CB56B3238D907336D392005BFF 92FC98D953772DCB25A3353D07B7A21E21744A996725EBAA1C4E9359DDB16EA30F8B7B054F4338 D80BC231101800CF513329DF073BEE3A9E99ACC65C4661660AAA6B2466E06BE9C9123A663F9BD0 4705A874392E443C986778FDE4DBB2AB0AA855471E6D01BBE7B21F00725454FE21747084EDDA95 A23AFAB912899C1155F94CDED48C003C3E06755DDDE45BC868865D5B5E6B33F441848EF915146A 843A1B0F83BE8A3BCDEC8F7C33D0A6C80C17A39CFD9E466A4130862C8C9C6213593ED513B82E12 7739B18A26A31884C99E43CB69082E710679FE9EFA6E57ED06B79BE2AD684EA2927843B289A1D5 E54BC9B5C03EA51F5150B1B1E878D467E6062CE785053F1BC01922BFA0EF1527758F2DC5C97E84 D64408424A58B069EC173390844E0DCDE2A14E874BB99D4A237BDEEF2867158C1DC360EE8D1CCA 3578F9434A856C06722CF9FEA30AA6E923EB7FA1E4669732473F04A4F22282782B18B530C50616 807BBB1250E64CE29BC8EAD8023A47DFD73125952ADF218E0503E6B26F09629757773511B97661 28BDB57D2644C1AA9411C2BD09A1C184648ED435E61F0A8E6A3CFE2B19F7756604A32CBD27DE9E B083BEA7B9E505AB72E8A011BD3B38D71943044D552B8A2C6A9529C74C03461BA230DC1FA15BDF 8EE5E8C00AA2519F2768CB41B29EE521879E4F5D33022E4F44E8BA54D9E952D730C60E283C0456 9B2A7E0293E622DB7AF03759F4F6C873CE2D389C99398524E8A277E0124F42A701EB9748232621 AC50CE70BAF6DEBA4CDFB47332DE090F1E6616D7457AB01CD96029F8E690231882F653F26FB2ED 07DC43E96DEF70FFDDF5FF0802C87F60FDCD5C263A8AACEDD785454C63D7D1E4F0550081B30C1D 460D7E7855548ACD4E31BF10893E793CA56A9E2B36E95C17E7B1ADFB825827FE2A6C00888BF692 FB608A4B5B21ACB5E539667DFA247A7C108118D73E45581E53A30924061EC53D1E8C96527FD228 91040578E10FA9B1B897230214B7224AA95BAFDBA6DB7DA9A65C6D19BB494D4C10E50425E88A05 8DF29637BD37DE8482816F8EA5718639DD5C80671E52B9EE96470204F17C938B861718430AEC84 04A67E719EDC2CFF1996B71FFEBFE745C5A3007545CB68716B04939633B6EADF766BD82AB8AA4A 58917F66B20858E8B824432028EB5D44B20ECF9A394A7D2CF0C0AA6662C93442C8E081852C778C E8B3EDF6742CBB82412477FCDE7668A431F255A09D89558D6A95DB4C16E4A8EB40421FBA484DDA 6371DFFA62972FEE696BC1C87CBC8A0A7854F9C53B52140C41F3E41A7CA5818821AF96C7DC4194 EC0CBC08B2E7B3457FEA3E52C46467EBB84C739FB61BAFF1EA3341E1CBB563B9B8A31474AA8A0E AEC04C792AE8C1EDAB97142259FF325918D503A884CDF665D0494FDCD6E8958FA02373AC28AFA2 62EC087EA4E120D22D291092834025B8D5D5B1FE22887017160C00A48BF7EABFBA436E2286EF68 3FD641B1BDEA05A364B62E434B9E28A15FF9BA9EC7EE3E280FFBC79FD45A29F41B40F09CFC29B2 688D662F156261913B3FA356A05EFC9D6CA122FB208B49BB38EC7543754CD60BB69C451E1CEE9C 16A6C8900F6AC44EB8E8956B9E9FC43339F6AB2EFD67CC9943D3E9B957E2AC707FB9C035B89300 81DB24B6A862189ED78C6B265B5BA7E0F4BE520CA0C6D0AA4E2F06F2E3CB1000B62494E924D03D 081FE8FA8041E6455E0D2BE15FD5D9839F8E9D1C449EFBF81340456A7C11D3ACC1F17ECD601AD9 83D228A1442FE934E61F2FEAAEB222A4DC974A49CA8AA64FA58A0E9CC64E1D19E8CBD37EA99E61 CC37399CE7A4B002F36128D90D48DD0D929C150A9B791E1380494723712D4E9627689B21CACFF6 535E6FFAD9CBB45FF42251DBFE4ABC9603ACC441AAA23D6D4CC515928A5B16A8E8EA265A3D50ED 1570D38FA8CF1F52CED44AE32C669A6A334061D4C17EE9594B18EED1CF49C9DC20CE59CF966938 3A6035B828AEDA54CF8EE35AB11ADE0CAA017103EA1A16F8289DC481FE7A027E9D56170F6AB618 81FD9E6315E6F4AD853209C0720140237E3C444B714A417794975B942458C1965BF8BED420FF2E 12C0BB6E977625AF3F10A16250E6033DC439D6962C59C77E5D9B99FAE6BDA21B09B82E4A832BC5 04B4065400697262CD99A9C38259BC9522A66C2E2F4EDC8928CAAF77B9BF050E361DBE9D4DE7E1 77F84C815F668F8BC2EFBD86E4C5C5F55CA9DC514EB07CE415BF56EE372335DE73D12DC9E67BBA 6E5DFBBB7897D4AA214E51FA314E48DEADBA951330CFC54818C0205529520926A2074DF651C200 BAB99792B3FB589FA7A81FBB417F94BB0478FF5A0DCB3CC649C00DF54686D76B6AE61AD0BFFA96 F45EFBDB7EAF8D1CA349243B6126B26A8EFA36BF30904FDDF5D5FF102D67E5520B33989D196D70 03297395971793E0C20A3C12029EB0CFC829D37D775452A9C4479BF6CE9AD9C2552530DE9628AA 6EA46FC1EF19DA37F7EB79DDA088186832C8176864EC7BFC5E18E5E75C57995B77614CA213C0D9 1F618C2B899E8BA93065C470475E0E914D39908C528CA0CFB179F7D88B369B0FE607020B2685FF 308D779F2E22D9291A2B2BB5745E7311841F95DB8F929566A3A7FC36425891AFD5DE997A23F8B9 9DECFAA1EB0A65155677B5EB5133DB8F3DDAD0745DA9BA572519C915B353985676734A828C70A4 6A903A48F92C843C3C6BF42623C4281DB0B4294243A830EBCC4B4C722B9D795F875BDDA31AF7DE 68640730185361F2B704F0C3ACE021A08A13393E95F0C153AC305BD3D6B1F9CD1BFD4E930AE7C6 6D92DBAE21878D307C5B03AD9AC113581E5625A05D195A503F8460C00093AD8AC2155898D64D56 07EF4022640582C97265A2F0D578DC7C33B2A8A28DC11DF55C90F2C39FE6BD29A5E0C2C9CD82A3 136F63E603E53791354EFA93AE3A60903A3B284D0555602352199046F7E6380AD34E593A473D6D DE2B28CFAD3A75041083AEE4FB12D9EB4B069E405BCFFF5A98E3C2223CAC88F773A5C0ECBB16CF 12A483641862009037D5C54A82FDD90D40D8FD663EBEC7C91B5947DB2FBF4718A627B10C078307 699142374725125BE0A11DF893D8975D43BDF8AFB1476A2DFB2C8381E13CB69A8B494A6A8B0033 9253323E3E285E05A9835FCF4FE2AFCD4D782A03FF8311F15A51E7F50385C4A1EFAA23950E7919 D107F81C9DE9D4A10F64EAFBE8CAD85C0287CC4D4E815B561493D74FC62FEF72B5AE05812035CF 4D8841974D9CE41B711DA438D00EC602C911274F7C7E0DD5F23035C5F1737EB151D12BCC736DCE 4B2ACB25697D79DFD9F594B4DAF1DB7F540E11FA9D4A15C868C595BC35B4F74490624365948143 51A771E4864CEBD6E92378E709463C6FE7BEEBE0F325613BD93094EFEC8BAAC89772FBFE654075 351E62B844B80131E751AC4F39505DB26C8C34422C66A40316AFB198649802319D1FE4E1E66040 1AB234971207ADED6B4A806F0CFE971D3577C7EC801355E5F84ACB3A33CDF296CB33CF42E74ACC 003117D8F700FBD84F34EB9ADA38EE0716E1AC8ACE9882C10BB4B3633A6D877DD6578C1DB035B6 DD9E4E2B2349350085E0428AAAC17759771BC4EDDA1A2D40FE0B15B65A8EBB4C28A526A49C56D0 C24FD235653C78F2C40379AEE793937ED6F0BF8F4CCA825C305C0F3FDEEBDE8ABA6352F1DBF049 55DF7695BFAA59E1894C1C57CBE29E48EC2F44DE77E3C449E13A25359126925E4C6C4649F0436B 0188451E473513DF34C4FB2A9A37141E27811C6B33952D9C3BB0336E622DE192649C5BCB761700 CE9423E9B52B20B7E29B6CA470221D593AC0C5D8951EE2A56FED99A8A3D018473C0CA28E4A4831 D6A861A76C7165314BF7A299DCCB57F7D4CE2AEFD997AD21C55647DBE4F0FBBA1F413667B19604 69FE97B144BF2DD823CF23E22313E8B89AB25CE9C1746F141E2046DE217ADBE18BCC3BBBE0468E 03F277D3F95B56CAF8E2C51A0AAEDCDFA2294666A853088EF97BC279FB51FA78419DA0AA83BF6D 8EACB8118E0462E0401EA83023DBAE6AD5420BBD25E3DEA46FB3B7C9376373C8E362E74B01AE0C E9D59C6945E108E0E92C23F62661BFA54700E203627BCAD11E7895AD59BE1859A9FFB6F7B01685 23CB111552301916107D7D2A403543CB84AEFE404B8F170EE5B408981A88A65C335B3FC3454C00 153FA92CC442BE0590766F765E30F82FD41499DE688DAE2748D5709BA47A89E825813BEF4DA6FA EC5D7EF6E9CB0913B5BC6A6776BF9AC7668485DE88E6265F5CDF0A854FC86DEB070E40A41A1251 1291E1A6419C7694ECA5EBAC9DACEAC303C3E9FE8A62A64521E18B49B56B3ECA6EB0FFA148B2F5 E558857426424288BB54DE15453E1B321D4B04C8D728B30B756B0597AE61F92447B3A757131539 8701AA4F8A6B46B4283D50E26F5770EC6427592F16A66CAA8199AF84FF05A24A5FBFD1588B6114 E24CDF39A99E7A6CD0BCD44E0E8776C9465D86CA3E3CDE34B33D317EC75D953411C90450003B0B 941881686C9B4A3260C1DC4FE31F0A53577D4A4750AC7CDD52EB3274B61597DD5C111AF441456F E090821BC7B29806714CAC0EF5B8DE2DC813D42CDC8530F6EB1DD82657EE1B6DC39B0E2BADC17A 7A13E4EDF2A893B41CDA754D6EB684D6A8D496DF331401FFAFEDAF3FD80BF1A35C2ECA54F42BA4 9DB8C7CD73D81F5F1060515D47E6FC08717B9E9299B255536241DBFBC673945A38839B35D9C8EA 1AA449CDA80805C4B14A54087EAE9E4EBF0E61C83A1BCC6C8243313F5C6FBFFECFC6BDC4368DEE 7AFD489FD48DAFD34C59FA6D2DFAE7E2C8C95BE05D2AABA6D989D41C7F0A4307D118828963F2CF A652BCFAC33B22991E4F6D80D851C0722205702155EDB00053B5DAEC50744AE55E9184BEADA83B F76964F7D394FC27AB82DA1A65FDA56D3648D9F5AA1FEFBFA71BDC4B66E8C4A9DE4935F0FCBE47 958493161696480DED3314B7079901FE5AEB10F89D9F153D654A0F0E58D70B922ACB969BD800A0 F3CE421FCE37319D377D903741A60F8D83AE8FAB1C999BD8C391316A1C0CE6B3F181DEA3D2AFBF 02ABE1237934194E9F42A973AB4971D3E3CB63ADDDCFE9A47BE78F24468F83E652E7E67D853F4D 5020D7ACDBED250D1CDBE86D5801CD56913C20F8101F509C90F97263FAC6FFDD6C8705CBA0EFFD 5EEAE1BE11841DC48401A7C41A5F0ED59FAC3CDFB8A2DFD2AC0F3C12CC0E964B25B344E1B6246A 292D4E9EE6FA18BF71F1BB7A91EB5B8F0E20A4FD8593B803335980224D372417E3662D96305524 F200B70168AA3B485BD83DF7A42A5771882FA599F0FAD36C9B4632E56D751FEB579F530A6A4C20 A909765CADF9065E4BC80BC52FDA6A2186E22B2559017A626F230522DE708219012351E9205F6A 45E968D94D4116EF55E13EF921B3740CDF45596206BDA272B14A8B2F6C6ED744BCCC8BFEAB9B50 6088DBB57D8FEC837B4B00F57959EF515CE8A9802F54AF1DE01F071146D9A68BEB382FE03DD7DE AA00AA32BD552D2FD1B09E92E31E3623434A5A34E702ED0375E1A97F8B09AA52DC4FAB8A15F09F ABF0BE47AD03D997236B6B556AFA9C4A3E4135DB4956DB38F914446D7E0FC6AA21D4232B0BF5EC 66F43214EEFC8CF98854BBD625668144478959A983A01DCB4FA2BC8FCDE08F3D4DAB474E05C3AA 80B91FE4F53F103EFDFB1A509696E0B66830DE466CFE8243292DE34D4E9AAE50EFD539C120BB3D C0F7D3EAD1C033EF7EABBE1294276C0F78C7C089C76A1024870EBB09D493D9A4F16A3E65B5C5C9 F380DBF5365BBE83AE13AD4E96C852274FA6CC8370CE8FAD45449D9050E7D2EAF352F169CC7EFA 67B1BBECE485C2DCB608AA7B2B6F2762B7E4682BCC33EA0E305CC395A3D7A2C2F7E0EFCF2B1055 F30E631757BB5BEA22D9074FF2D73588F9E9DD12477D44BEECB9A03DD5439C472CFEEDE2BAED9A FBD67AFF806759BA0AE34CDCB12CA52332C9328633C42F1894DE5F9EC50136AA1293C9D8937160 0DFB14E2E95490853B0601AC7522BE8E519786C87AA5E1ED2B96CE221009AA9C55BC60AEA4E8CE FDB977B28F0551C306C22FF4016728BAB789B65CE07F611B9C84808837F8765E5D94B9C867C0E3 AFB0EA4A21A324CC0A3BC3501C39A9BA928B09E9A87408314DE63B783392D5BD9B3ACF56CCD70B 4933C1724732379A616012DFF9A9E14D5A55F50D841333958D6F36B56926228F4796421E470735 4FAB7431899445114BCCE5D27117BFEA65EE1118505765132B7833FE9978899AAA1BE3E3F8AFCF 0E9E1140A26FC9CA154A6BBB84C3E5FD6CD8B82732BE0179DEBACAC5340C79493A18FA2E5DF58A 5F0C6546F5A5836BD61C904A8EBAF16CD933A9BC7FA72FA72F319A0A6EE86AD23C84E672D18CBB 0696F22E1C69ECEFD15FA52706E5DCF3CB5311B28D9A614446CE033547EC0EF5FFAECF2A04F1A6 C3DE91ED2B3FBA94DD7796E45D26AB00B99B3E295751BD6473F0BF36EBCA28FFAB2451E93DF4E0 26BF0844FABC6A12EF15EBA64A5CA0E97C6DD06B94BA1CB29DFCDAD8C203C1CB6F7A1FAF4F3B58 5BDD0BF922549CB45DF8F2196C709F2B9A35A43DB0043E2BD0287A3C313EE3C33F119F09A5619F B350F4011A93100CEE0847F1BDE12FEE8E323C8FAE34D535DB5A0DC8475DE8299E3C9CD6D8B0CF D6481619C68E77D92FA10D9EBCC13E474AD22B1F47D3F362FC968CFC1B5B52EC24F19BA894967E ED811F37525C260AFE0E2F9B302D6FFD019754EBCC14E053A9EED1905F402BA7BD3D8AFB09D2A8 E94D0ADBC3C2ADFAFD2A4052256D58B221D0A20995F9C394F3A3AD6436CFE4F0030C7E8C2094E2 092F5191C2C721CA9433369AFC221D01872BF68298677841A0656772649E7EBAAC8B1B81A38E75 5B02DDA4D08B2F357C0C10E1060632FF74F7EDD5CFE7F9DBB232C3A231D128A3368C4D9872404D F45719B3EA0455836B893F07E07762F0A2FA9E011010A0872353F0CD2243E1860EC33F72E15EB2 EDEE1A91397FE6D2729FED1B3A66FD009EA8DDDADD1FFDC8CD3603876F8D0C7AD60164A96A6C73 B8A8B50985E1FBDA3ADC50018D341F285036B5EE255D975F6C3B5698AC4A94B2317BAC65889783 4DB7BF52E9B8D20FD4981515FBEF23963A7F8636D0897E7EA88901CFAE1FDD18DA86C246507A34 7672ABB116ED605AC9B4B6E899B9E8F6867140BE89DF5CD52C65C27E860170AEA6CAF303C860A6 80A85394DE6896CF928BED76171F8904C5BBF4196BAD906569AC5C7057ED1201F2AE8393CBF704 009124A6E5231D323C3FCE6C48CA239F169DFF496B951332DEBA5F06CEE48B6BCF824F0FB4BFE5 4C1147BF208C2A9D44132D0895FA7A87F6FAD780DDCF94545F7030EF1808B30EC659FA2B6EA011 A3C06070388BBAEBE45F8EAA75F72BA5B4E56380FB7FC3179BDB55A9A7CAF8D7FB60EAD6DA939B 09E69159432671C88E22B34D115B6DEC54955454D622857094B70C3359D6A22C239FE03853CFD9 9B7FA73D4EE3CD34124486F01F5CF05A423FFD794F577F50DE6776779107BD58808EEFA24DE1BE 94BB27F82A19068D7F9DC695EC8473341F73FED626A4A6E89B58D4ED2024F78AC7678829FA40B7 C8AA7400EE3CEFE125F64E1AB49CE67FA2F2D1B81FC322AA64F16463C134AF51AA9C3A154C7FD4 30BCF4531EA9B6211F92006AC1C61894A7DD5C38E6CB8CC68D6A05BB95B0BDAF66971D357EFCAD 89BCB8109462B796927389567F797E58823706AB224FF927A7616F0E4527D90B0DB9689D850D4B 4F147080CBBF3493E564A1CC43627075E79BF3C3091E4650B8E607F4CCCBCAFCD3F778B7A1464B 14A4E229FD41B5BC4A98880F008ED63FD25AE4504EE8BD38B641F65D0F3F65961AC315F4D68139 7C2470E88813BCFC7E41FDA99AEFE170E274D53DD3D858D8BBDA154BFC93482C65FEAE4AD7E9A4 7AC9530F0A82FF46E8BF22EC64B3A8B69527E92245B3B272C311FCF9946E93476D838EC0AE54EA 8CB899087794A67E6B4E96664AFDD619FC074FA089F83A02FA4FCBB5BE698E508F87BC0F48051A 8AA4DE3EBF3FD93ABCF58C1FB64257027AF8FD69B7CEF07498F48F393B4B4E9BDD6519332A780A E72152CE168E399E75DB4414618B9EFFB4986B85A94CBD0B912E3D5CDDBA6B784EAC660969A83C CF3AF928B6E84586B5F1CF353EFDF022DA5DF130E7FFD1698A9A7C26C83F135FC39E9CECB8855D 9601A08D9E5ADC5397EE9E639A198A61A79B3CF5960AFC41584B56B0EF5C604E42BDD021E716B7 3718AA7FA7002D329F22E3898B52F3111E975D5054C8C1BC491EDD67CAF876517901CB7805FA84 4279435B26A2B54C086FE443C079A373B630528664C8F262D147F44F19B3760D4CB4D3A38B8E7B 8492F3FC910E45A201FFBB8B3F06F80CD135C321EF51B7A7C30AFB5A14D5EA851E4B23232B3F0E 272603125DE99C6B1755C9D3E8B9E92D33AA4EEB55D07D06158FFF93BCEE921CBE6A9B6605BE3A D1C203AB903AED90A1F735D32846EE9BF7ACBD7BC479FDAD8204F0A5601477E2CA092C7CD57671 E2B179B60A72794FB3DEBEBE9E41EF333F97007BFFDC1A1C55C79EB9CF85AC2DCC23700F48D6EE 621D02FAAB7D7E7C512B939362AADB1ACDB25B75FE1B935F15F922AE4E03632EC9AC1CCE112FD7 CC8510B86921209CEF5E66F52CAF4EAFD83E772A653B0B10EA7DE38174A6458228F90146A1C5E5 F057D384CB5CE531C02F7BF2BD20517F182597310157AED68C2325CCABC22F9D38A32AF1575707 DEA5139E0363677162DB6EE9D46619DAC88D9D97902D5C58339FF9B7E3DDBDB7226DED36C1CB51 B50BA744CB2DE5964126918879DBE7D2FA616FBA9D4D2965021EDDA8A88FDFC08853DC1FE99614 15C741B21FA7D79A6F0281BD054E49C6F1893A2A4B3708E7272F42C6AE8A5E7C95CD6879466150 CB99F4110B392DA7DF91419571EE31C926B3571DC0FD7302E271263C4AFCF7553525651D8D5587 7AA4E1333092ED52A9672990BF34A1B60EC243241530E67E9F1D7CCBBA1B511A24793F2511F3E4 763B02D4084CFF099BD83408FEAD0403E33A6BEFBCAD9564232FAB7BABC8BCAF785A6EA74AA882 B74DE229A6C9D140E617F10E988467704D31695637106825DE0F31C3BBAD7EEC317C2CBF7CA7B2 E25A5365C8234B9C57C9E3853C7A581972B3186AA87046C09DAA4429DCC56C7CF7F9750428B974 49E6D9E0EE104BB2E80D05797D61C71F7751C5726E1FD7C441176ABD32613B6D7EA98B4262F9F5 664AA8D4E9422AA0F44C4A1C79C32140F6F38ABD0FE9D7CD85997A357C999A37674F4603609349 BEBA4F86D818290F6D1E75CC70555D68A717EC063B92931F2278E460A24A53377D85322FAC03BA D008ED6402F3768A75CEEF4EBF73852A2512C1499B3D4502E05E9C4C77D962708DE7FB406265A7 A7B0AE38E879BE8922C585EF4ACDA2A4459C27DEAC5909ABCC15064EB6B974EED95702286F8C04 E59187241E357BF0FA2F1B1D2576366DD96B15E40891041435D3542344DDDCEA9982E7850BCF12 BF60093F0BB91279E8AC2A40DB5C7F0586422A9B7519B5A14F0E5BE49BC0818137D0D512A2BD6E 475855EAFBEF470190721A6E90966CD8F47F801780B6181C92B6D401BB70A64C95B12AE7DDD980 D32323EF569C05105ADC3AB5DE127B421EE1453DF7FC5BE2275E5941FC9C7FEE09F931039DA70B 920604D40703369B47D8014E95F827563234D32A08FCF8B99073FBF7E87A34D7FA1AF9E6B5C5C0 8802250ACB7E943DA108BB2485A41324819CE85AD51CA83FC7575FD5E8EE353AB8C6B9C2F3DB8E B3DED45F22711190321A2F6F95097DD6A0ED91E0DA54AAFD05A6B9D399239525CD833E9AA6231C D4F835B730E5459C399DF7693DC4C1CAEFAD6416BC95F8B9F0533C0A27D86B42D8480FC908AA91 C0468F0BF73CC5E260E5F00D82C439E9A581B19A61B5014606D57D186D9F9469217B4472DB1609 FED1949D29FF3E2E3FAAB536FF7949A26042B9FC5408B7B059EE35B0E287F4D8CEE50E540DB716 6802EFBF0FB60F18E5A1FA942A4E3E66EE68EA44B8FF66B3B0669E59A81C6166312987164E6DC4 DB7509B11444287A5BEC5BEA9FF656D5A42C0DCB10F83B14DF02BBFE729E9839E594895DA80448 B760D7AB5E58B675ADA42098929FBED35D62A54737FE6E612569B8DE4EB603F1DD6DBFFE8F79D6 AEA1B0599913AA70083EB94E251DB277BE9F492E4D13B2E42FCCF825B3589EC4F9427BA659A59B 73DACC3C9D2E9CD77267DEFCFDCF2117F5207AEC4198130B1B585875A49B6E01C8A5FE5EBC4678 2BDBC438BE32A1CAF134E9B53D82761E9B682E0A198A812F296E193C296412596978DD3C5EEF0F BE7B353568C5627BC6467C767F9ED8412EE405C24F6DFE95AF72437D1AD9B992FF30459D232491 645E845FFF03214949D33E1A48EF2A99DB29DE6FF82E72050E0E6E08E863DB570ADF515D82931B AE70437E49C397767874E34513417A49234BBD89F19FFC3EE3CD9F5BA7112A4BEC07012C709585 97ECA5A501365E3524A500FA8A43A7BA90F91E8CD5825F65940825DE80F5EF11198952A258B5BB EC5AA244F8674BE1764B526DB6B9D244C886980B25C7EE4ACFEBF79349E26F2D2D65FA2810D1CD 4B39233F9638546A3FF1E8D017EF458F182CF228392AD30A6E7DF715CD0B55FA377DFA6880F554 367A6E3728065DF65CAD30AD927943963973F6596C1C1DD29C2C84B224F81361D4CA2ED2CC6483 A59F833CB8A964C281B0BA2C834783C5752986B8E70583E6C9AA33132BFC67998B992F249D0AD7 6C02BDD2925B39501A69E4E00DD3534C474D0715C913E23660BB765C2E5FE37F445AC605F62DE9 C533EE924EFE205C528C372403696885DDD6BADAF602993F3DF49957E21B2EE409AA6336A8103E BCC0B33B8FFD8C818F2D25D22E3B0E4E874CF4ADE03F69C1B017DA9CED9EAFC6CBD86780C819A9 CE03C2AA203CABD299251B9090F2659C3245A845B50EB36BCBC07AD6FE0A191D3E8BD0C9B9700A 706EA3028E8055B585A6D8F305C80DD5ADBE1DA433669E1D9F459EA105B5F6D756A9FF3DF71607 9FDA77312E447F764C0F178B7F128DA4ACE17F8D4F213864C2AAFAB0D5BCE40A19AC92FF21D7B1 F1F3CEC338951D7292147937ED0BDB0CEC2578D0BFE12F7F21B4D76ADD1F557E8A5761399591C2 D4A2CB1F0D9564586567AE9165451DFF5D61E08F0421A8606E49A552E19F8CCDC90CA92C4BC2AD 2FC3DC29DFF6E56BA85D8E7B0388962DB5BB107CBAB4FD4170F24C21DFE2A3EF29DDB82C02EF32 4B9DB2AC09C1A5EA7C71B1547573B68FF8C3215B803CD3EDE122DE1D71492BD3B71C5A6DE52D50 8E98676560ED273403B9D655F239579007706C078EA3EDC120EDFECAF4F13379A4526FB3731A08 9690CF6D74F2E95E332D1DDB36DF458771F0F7BF321E524447B6E04AC33011E855A0E25582F104 69F1B6C19089AF013C38F2624826A5730641 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %{restore}if %%EndProcSet %%BeginProcSet: texps.pro TeXDict begin /rf{findfont dup length 1 add dict begin{1 index /FID ne 2 index /UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics exch def dict begin Encoding{exch dup type /integertype ne{pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} ifelse}forall Metrics /Metrics currentdict end def[2 index currentdict end definefont 3 -1 roll makefont /setfont load]cvx def}def /ObliqueSlant{dup sin S cos div neg}B /SlantFont{4 index mul add}def /ExtendFont{3 -1 roll mul exch}def /ReEncodeFont{/Encoding exch def}def end %%EndProcSet %%BeginProcSet: special.pro TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N /vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B /@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{ /CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{ 10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B /@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale true def end /@MacSetUp{userdict /md known{userdict /md get type /dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{} N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{itransform lineto} }{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{ itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{ closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N /txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp {pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray} N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict maxlength dict begin /magscale true def normalscale currentpoint TR /psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts /psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR /showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{ psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict begin /SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial {CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR }{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath }N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{ end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin} N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{ /SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X /startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet %%BeginProcSet: crop.pro TeXDict begin /cX 18 def /CM{gsave TR 0 cX neg moveto 0 cX lineto stroke cX neg 0 moveto cX 0 lineto stroke grestore}def end /bop-hook{cX dup TR gsave .3 setlinewidth 0 0 CM vsize cX 2 mul sub dup hsize cX 2 mul sub dup isls{4 2 roll}if 0 CM exch CM 0 exch CM grestore 0 cX -2 mul TR isls {cX -2 mul 0 TR}if}def %%EndProcSet TeXDict begin @defspecial /arrow { save 4 1 roll 14 dict begin /y exch def /x exch def /D exch def currentpoint /b exch def /a exch def /dx x a sub def /dy y b sub def /arrowlen dx dup mul dy dup mul add sqrt def /angle dy dx atan def 0 setgray a b translate angle rotate /xp arrowlen def /m xp D sub def 0.5 setlinewidth [3 1] 0 setdash 0 0 moveto m 0 lineto stroke /back D 8 div neg def /up D 4 div def m 0 moveto back up rlineto xp 0 lineto closepath fill m 0 moveto back up neg rlineto xp 0 lineto closepath fill end restore } def /drawtriangle { -144 72 rlineto 0 -144 rlineto closepath fill } def /cropmark { 2 copy moveto 0 -18 rmoveto 0 36 rlineto stroke moveto -18 0 rmoveto 36 0 rlineto stroke } def /fillpage { .9 setgray 0 0 moveto 0 792 rlineto 612 0 rlineto 0 -792 rlineto fill 0 setgray .25 setlinewidth 18 18 cropmark 18 684 cropmark 549 684 cropmark 549 17 cropmark } def /showpart { 10 -22 translate /StoneSans-SemiboldItalic findfont 140 scalefont setfont dup stringwidth pop /sw exch def sw neg -46 moveto 0 setgray dup show sw 4 add neg -42 moveto 0.7 setgray show sw neg 0 translate /StoneSans-SemiboldItalic findfont 30 scalefont setfont dup stringwidth pop /sw exch def sw neg 0 moveto 0 setgray show sw 10 add neg 0 translate -600 10 moveto 12 0 10 arrow } def @fedspecial end TeXDict begin 37298252 46178789 1000 600 600 (book.dvi) @start /Fa 133[33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 1[33 33 2[33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 1[33 1[33 3[33 33 33 33 33 33 33 33 33 33 33 33 3[33 33 3[33 36[{.82 ExtendFont TeXBase1Encoding ReEncodeFont }73 66.666667 /PPCode rf /Fb 1 14 df<000001FFC000000000001FFFFC0000000000FF FFFF8000000001FF007FC000000007F00007F00000001F800000FC0000003F0000007E00 00007C0000001F000000F000000007800001E000000003C00003C000000001E000078000 000000F00007000000000070000F000000000078001E00000000003C001C00000000001C 003C00000000001E003800000000000E007800000000000F007000000000000700700000 0000000700F000000000000780E000000000000380E000000000000380E0000000000003 80E000000000000380E000000000000380E000000000000380E000000000000380E00000 0000000380E000000000000380F000000000000780700000000000070070000000000007 007800000000000F003800000000000E003C00000000001E001C00000000001C001E0000 0000003C000F000000000078000700000000007000078000000000F00003C000000001E0 0001E000000003C00000F0000000078000007C0000001F0000003F0000007E0000001F80 0000FC00000007F00007F000000001FF007FC000000000FFFFFF80000000001FFFFC0000 00000001FFC000000039357CA842>13 D E /Fc 140[135 6[135 3[135 3[135 2[135 97[{.82 ExtendFont TeXBase1Encoding ReEncodeFont }5 274.999988 /PPCode rf /Fd 144[37 2[37 7[37 1[37 98[{ .82 ExtendFont TeXBase1Encoding ReEncodeFont }4 75.000000 /PPCodeBold rf /Fe 1 12 df<00003FC000000000FFF800000007E07C0000000F801F 0000003F001F800C007E000F800C00FC0007C01C01F80007E01803F00007E01807E00003 E0380FE00003F0300FC00003F0301FC00003F0703F800003F0603F800003F0E07F800003 F0C07F000003F1C07F000003F1807F000003F380FF000003F300FE000003F700FE000003 FE00FE000003FC00FE000003FC00FC000003F800FC000003F000FC000003F000FC000003 F000FC000003F0007E000007F0007E00000FF0003E00001DF8183F000079F8181F0000E1 F8380F8007C0F83007E03F007CF001FFF8003FC0003FC0000F802E267DA435>11 D E /Ff 82[28 51[42 42 60 1[46 28 32 32 1[42 37 46 1[23 37 23 23 1[42 1[32 42 34 38 37 11[65 51 4[65 2[46 5[46 51 65 17[42 42 49[{ TeXBase1Encoding ReEncodeFont }30 83.333337 /Palatino-Italic rf /Fg 140[61 2[61 61 61 61 61 61 2[61 2[61 61 61 1[61 55[61 61 40[{ .82 ExtendFont TeXBase1Encoding ReEncodeFont }14 124.999997 /PPCode rf /Fh 134[53 1[53 53 53 53 53 53 1[53 53 53 53 53 53 1[53 53 53 53 53 53 53 1[53 1[53 11[53 6[53 29[53 4[53 53 40[{.82 ExtendFont TeXBase1Encoding ReEncodeFont }27 108.333331 /PPCode rf /Fi 134[37 37 3[37 37 37 1[37 37 37 37 37 2[37 37 37 37 37 37 37 37 37 1[37 15[37 8[37 70[{ TeXBase1Encoding ReEncodeFont .167 SlantFont .82 ExtendFont }22 75.000000 /PPCode rf /Fj 134[43 43 43 43 43 43 43 43 1[43 43 43 43 43 2[43 43 43 43 43 43 43 43 43 1[43 8[43 43 2[43 2[43 43 43 43 2[43 2[43 43 1[43 43 43 43 17[43 6[43 39[{ TeXBase1Encoding ReEncodeFont .167 SlantFont .82 ExtendFont } 39 87.499997 /PPCode rf /Fk 134[74 80 118 74 86 62 62 62 88 88 84 88 132 43 84 1[43 88 88 57 76 88 69 89 79 7[91 98 145 96 96 84 74 89 103 86 103 99 129 74 1[44 44 101 99 69 74 101 89 89 99 6[42 84 84 84 84 84 84 84 84 84 84 76 42 46 42 2[59 59 32 39[{ TeXBase1Encoding ReEncodeFont }66 133.333334 /StoneSans-Bold rf /Fl 82[30 24[46 46 25[51 47 76 52 55 30 39 36 1[55 50 53 81 27 51 1[27 53 51 30 44 56 41 51 46 11[71 4[55 3[56 2[31 26[23 1[23 2[30 30 37[55 2[{ TeXBase1Encoding ReEncodeFont }35 91.666666 /Palatino-Roman rf /Fm 82[32 3[71 46[48 53 48 80 53 58 32 42 37 58 58 53 58 85 32 58 32 32 58 53 37 48 58 42 58 48 8[64 95 74 74 64 58 69 80 58 80 80 95 58 74 37 37 80 80 53 58 80 69 64 74 6[24 48 48 3[48 2[48 1[28 24 1[24 4[27 36[58 2[{ TeXBase1Encoding ReEncodeFont }62 95.833334 /Palatino-Bold rf /Fn 134[138 149 222 139 160 115 115 115 1[166 158 165 247 80 157 1[80 165 166 106 142 166 129 166 147 10[180 180 157 139 166 1[161 194 185 241 138 1[82 82 189 1[129 138 190 166 1[185 19[87 45[{ TeXBase1Encoding ReEncodeFont }42 249.999994 /StoneSans-Bold rf /Fo 134[181 2[181 1[136 149 140 1[218 211 215 319 94 2[94 1[218 1[191 218 167 217 188 12[207 194 2[207 3[181 4[266 1[189 263 2[233 65[{ TeXBase1Encoding ReEncodeFont }25 349.999988 /StoneSans-Semibold rf /Fp 141[25 2[37 38 55 3[17 1[38 1[31 101[{ TeXBase1Encoding ReEncodeFont }7 66.666667 /StoneSans-SemiboldItalic rf /Fq 129[37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 33[{.82 ExtendFont TeXBase1Encoding ReEncodeFont }94 75.000000 /PPCode rf /Fr 129[43 1[43 1[43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 33[{ .82 ExtendFont TeXBase1Encoding ReEncodeFont }92 87.499997 /PPCode rf /Fs 82[28 50[42 46 42 69 46 51 28 37 32 51 51 46 51 74 28 51 28 28 51 46 32 42 51 37 51 42 7[55 55 83 65 65 55 51 60 69 51 69 69 83 51 65 32 32 69 69 46 51 69 60 55 65 1[37 4[21 42 42 42 42 42 42 42 42 42 42 25 21 1[21 2[28 28 23 36[51 2[{ TeXBase1Encoding ReEncodeFont }71 83.333337 /Palatino-Bold rf /Ft 134[53 57 85 53 61 44 44 44 1[64 61 63 95 31 60 1[31 63 64 41 55 64 49 64 57 10[69 69 60 53 64 1[62 74 71 93 53 1[32 32 72 71 50 53 73 64 64 71 7[60 60 60 60 60 60 60 60 60 60 55 1[33 45[{ TeXBase1Encoding ReEncodeFont }55 95.833334 /StoneSans-Bold rf /Fu 133[62 65 70 104 65 75 54 54 54 77 77 74 77 115 37 73 1[37 77 77 50 66 77 60 78 69 7[80 86 127 84 84 73 65 78 1[75 90 86 113 65 82 38 38 88 87 60 65 88 78 78 86 6[37 73 73 73 73 73 73 73 73 73 73 67 37 41 37 4[28 39[{ TeXBase1Encoding ReEncodeFont }65 116.666669 /StoneSans-Bold rf /Fv 134[41 43 65 41 47 29 32 29 50 50 48 49 74 20 40 1[20 49 49 25 42 49 40 49 42 8[54 77 49 57 46 43 46 66 45 66 65 77 40 49 23 22 58 61 40 41 61 57 48 51 6[24 48 48 48 48 48 48 48 48 48 48 32 24 28 24 2[29 29 17 39[{ TeXBase1Encoding ReEncodeFont }66 83.333337 /StoneSans rf /Fw 82[28 20[28 83 42 1[42 42 22[50 1[42 46 43 69 47 50 27 35 33 46 50 45 48 73 24 46 19 24 48 46 28 40 51 37 46 42 23 42 1[28 1[28 55 55 55 83 60 65 51 44 55 65 50 65 69 79 51 60 28 28 69 63 46 51 64 59 51 65 5[21 21 42 42 42 42 42 42 42 42 42 42 50 21 1[21 50 32 28 28 23 5[23 29[50 50 2[{ TeXBase1Encoding ReEncodeFont }86 83.333337 /Palatino-Roman rf /Fx 173[33 24[25 25 25 25 25 25 25 25 25 25 48[{ TeXBase1Encoding ReEncodeFont }11 50.000001 /Palatino-Roman rf /Fy 82[32 50[42 48 48 69 48 53 32 37 37 44 48 42 53 74 27 42 27 27 48 48 27 37 48 39 44 42 8[69 90 69 74 58 53 64 74 58 74 74 90 53 64 1[32 74 69 53 58 74 64 58 69 6[24 3[48 1[48 1[48 48 1[28 24 1[24 58 1[32 32 27 74 35[50 2[{ TeXBase1Encoding ReEncodeFont }64 95.833334 /Palatino-Italic rf /Fz 135[50 1[47 12[23 105[{ TeXBase1Encoding ReEncodeFont }3 95.833334 /StoneSans rf /FA 82[32 20[32 95 48 58 48 48 24[48 53 49 80 54 58 31 40 38 53 57 52 56 84 28 53 22 28 56 53 32 46 58 42 53 48 1[48 1[32 58 32 64 64 64 95 69 74 59 50 64 75 58 75 79 90 58 69 32 32 79 73 53 58 74 68 58 74 71 42 3[24 24 48 48 48 48 48 48 48 48 48 48 58 24 1[24 1[37 32 32 27 74 4[27 29[58 58 2[{ TeXBase1Encoding ReEncodeFont }88 95.833334 /Palatino-Roman rf /FB 134[149 149 2[166 100 116 116 1[149 133 166 1[83 2[83 149 149 83 116 149 122 138 133 11[233 183 166 2[183 233 233 1[166 2[100 1[216 2[233 199 183 216 17[88 47[{ TeXBase1Encoding ReEncodeFont }33 300.000000 /Palatino-Italic rf /FC 141[42 2[48 2[30 2[30 3[42 3[48 13[60 11[78 2[84 21[27 46[{ TeXBase1Encoding ReEncodeFont }10 108.333331 /Palatino-Italic rf /FD 82[36 21[108 29[60 56 90 61 65 35 46 43 1[65 59 63 95 31 60 1[31 63 60 36 52 66 48 60 54 19[102 2[36 36 1[82 1[66 22[27 1[27 44[{ .167 SlantFont TeXBase1Encoding ReEncodeFont }32 108.333331 /Palatino-Roman rf /FE 171[112 84[{ TeXBase1Encoding ReEncodeFont }1 183.333331 /Palatino-Italic rf /FF 139[24 32 30 1[45 1[43 1[22 2[22 1[42 32[42 4[58 7[37 37 6[37 4[19 44[{ .167 SlantFont TeXBase1Encoding ReEncodeFont }14 75.000000 /Palatino-Roman rf /FG 1 14 df<00000003FFC00000000000003FFFFC0000000000 01FFFFFF800000000007FFFFFFE0000000001FFE007FF8000000007FE00007FE00000000 FF000000FF00000003FC0000003FC0000007F00000000FE000000FC000000003F000001F 8000000001F800003F0000000000FC00007E00000000007E0000FC00000000003F0000F8 00000000001F0001F000000000000F8003F000000000000FC003E0000000000007C007C0 000000000003E00FC0000000000003F00F80000000000001F01F00000000000000F81F00 000000000000F81E00000000000000783E000000000000007C3E000000000000007C3C00 0000000000003C7C000000000000003E7C000000000000003E78000000000000001E7800 0000000000001E78000000000000001EF8000000000000001FF8000000000000001FF000 0000000000000FF0000000000000000FF0000000000000000FF0000000000000000FF000 0000000000000FF0000000000000000FF0000000000000000FF0000000000000000FF000 0000000000000FF0000000000000000FF8000000000000001FF8000000000000001F7800 0000000000001E78000000000000001E78000000000000001E7C000000000000003E7C00 0000000000003E3C000000000000003C3E000000000000007C3E000000000000007C1E00 000000000000781F00000000000000F81F00000000000000F80F80000000000001F00FC0 000000000003F007C0000000000003E003E0000000000007C003F000000000000FC001F0 00000000000F8000F800000000001F0000FC00000000003F00007E00000000007E00003F 0000000000FC00001F8000000001F800000FC000000003F0000007F00000000FE0000003 FC0000003FC0000000FF000000FF000000007FE00007FE000000001FFE007FF800000000 07FFFFFFE00000000001FFFFFF8000000000003FFFFC00000000000003FFC0000000484E 7BBB53>13 D E /FH 82[25 51[37 3[42 25 29 29 2[33 42 1[21 2[21 1[37 21 29 1[30 35 33 16[46 3[42 7[58 50 67[{ TeXBase1Encoding ReEncodeFont }20 75.000000 /Palatino-Italic rf /FI 82[25 21[75 37 27[37 42 39 62 42 45 24 32 30 42 45 41 43 66 22 42 17 22 43 42 25 36 46 33 41 37 6[50 50 50 75 54 58 46 39 50 59 45 59 62 71 46 54 25 25 62 57 42 46 58 53 46 58 6[19 37 37 37 37 37 37 37 37 37 37 45 19 1[19 4[21 58 2[37 1[21 29[45 45 2[{ TeXBase1Encoding ReEncodeFont }75 75.000000 /Palatino-Roman rf /FJ 147[26 108[{}1 33.333334 /ZapfDingbats rf /FK 134[37 39 58 1[43 26 29 26 2[43 44 67 18 36 1[18 44 44 22 38 44 36 1[37 12[42 39 42 1[40 59 1[69 4[53 2[37 55 51 43 46 20[21 44[{ TeXBase1Encoding ReEncodeFont }33 75.000000 /StoneSans rf /FL 134[46 50 2[53 38 38 38 1[55 53 55 82 27 2[27 55 55 35 47 55 43 55 49 7[57 1[91 2[52 46 2[54 65 62 1[46 2[27 1[62 43 46 63 55 55 62 7[52 52 52 52 52 52 52 52 52 52 1[26 29 26 44[{ TeXBase1Encoding ReEncodeFont } 49 83.333337 /StoneSans-Bold rf /FM 140[63 59 2[82 87 1[43 83 1[43 87 2[72 1[66 1[75 9[149 2[92 6[141 1[108 50 4[91 22[37 46[{ TeXBase1Encoding ReEncodeFont }18 150.000000 /Palatino-Roman rf /FN 135[174 1[194 213 116 3[213 194 213 310 116 2[116 3[174 1[155 1[174 20[213 7[290 2[271 65[{ TeXBase1Encoding ReEncodeFont }16 349.999988 /Palatino-Bold rf /FO 139[89 89 115[{}2 100.000003 /ZapfDingbats rf /FP 135[133 1[148 162 88 3[162 148 162 236 88 2[88 3[133 1[118 1[133 20[162 7[221 2[207 65[{ TeXBase1Encoding ReEncodeFont }16 266.666669 /Palatino-Bold rf /FQ 139[67 67 115[{}2 75.000000 /ZapfDingbats rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin %%PaperSize: Letter %%EndSetup %%Page: 445 1 445 468 bop 0 0 a @beginspecial @setspecial gsave .50 setgray newpath 278 10 moveto 0 100 rlineto 132 0 rlineto 0 -100 rlineto -132 0 rlineto closepath fill 1 setgray /StoneSans-Bold findfont 12 scalefont setfont 296 19 moveto 3 0 (CHAPTER 24) ashow grestore @endspecial 299 355 a Fn(Parsing)84 b(Command-)299 654 y(Line)g(Options)299 1557 y Fm(From)21 b(the)f(forthcoming)i(book)f(entitled)f(Linux)h (Application)g(Development)f(by)299 1669 y(Michael)35 b(K.)h(Johnson)h(and)e(Erik)h(W)l(.)g(T)-11 b(roan,)39 b(copyright)d(\251)g(1998)e(by)i(Addison)299 1781 y(W)-7 b(esley)38 b(Longman,)43 b(Inc.,)f(to)d(be)f(published)i(in)e(April,)k (1998.)77 b(All)38 b(rights)h(re\255)299 1893 y(served.)c(This)24 b(material)e(is)i(made)g(available)f(with)g(the)h(permission)h(of)f (the)f(pub\255)299 2005 y(lisher)-5 b(.)34 b(The)21 b(publisher)5 b(')-5 b(s)23 b(permission)g(is)g(required)f(for)h(reproduction,)g (storage,)299 2117 y(or)h(transmittal)f(of)h(this)g(material.)299 2329 y(For)g(more)g(information,)g(see)f(http:/)-14 b(/www)-9 b(.awl.com/cseng/books/lad/.)299 2541 y FA(Most)41 b(Linux)e(pr)n (ograms)h(allow)f(the)g(user)g(to)h(specify)h(command\255line)e (options.)299 2653 y(Such)23 b(options)h(perform)g(a)f(wide)g(variety)g (of)g(functions)g(but)g(ar)n(e)g(fairly)f(uniform)h(in)299 2765 y(their)31 b(syntax.)60 b Fm(Short)33 b(options)g FA(consist)g(of)f(a)g Fr(-)h FA(character)e(followed)h(by)g(a)g(single) 299 2877 y(alphanumeric)25 b(character)-7 b(.)43 b Fm(Long)28 b(options)p FA(,)g(common)g(in)e(GNU)h(utilities,)g(consist)299 2989 y(of)f(two)g Fr(-)g FA(characters)g(followed)g(by)g(a)g(string)g (made)g(up)g(of)g(letters,)h(numbers,)f(and)299 3101 y(hyphens.)34 b(Either)24 b(type)g(of)g(option)g(may)h(be)e(followed)h (by)g(an)f(ar)n(gument.)34 b(A)24 b(space)299 3213 y(separates)19 b(a)f(short)h(option)f(fr)n(om)h(its)g(ar)n(guments;)h(either)d(a)i (space)g(or)g(an)f Fr(=)g FA(separates)299 3325 y(a)23 b(long)h(option)g(fr)n(om)g(an)f(ar)n(gument.)299 3537 y(Ther)n(e)c(ar)n(e)h(many)g(ways)g(of)h(parsing)f(command\255line)g (options.)34 b(The)19 b(most)j(popular)299 3649 y(method)k(is)g (parsing)g(the)g Fr(argv)f FA(array)g(by)h(hand.)40 b(The)25 b Fr(getopt\(\))g FA(and)h Fr(getopt_long\(\))299 3761 y FA(library)40 b(functions)h(pr)n(ovide)g(some)h(assistance)g(for)f (option)h(parsing.)86 b Fr(getopt\(\))299 3873 y FA(is)38 b(pr)n(ovided)h(by)f(many)f(Unix)h(implementations,)j(but)d(it)f (supports)j(only)d(short)299 3985 y(options.)d(The)22 b Fr(getopt_long\(\))g FA(function)g(is)h(available)e(on)h(Linux)h(and) f(allows)h(auto\255)299 4097 y(mated)h(parsing)g(of)f(both)h(short)g (and)f(long)h(options.)299 4309 y(A)33 b(library)f(called)h(popt)h (exists)g(speci\002cally)f(for)g(option)g(parsing.)62 b(It)34 b(includes)e(a)299 4421 y(number)22 b(of)i(advantages)g(over)f (the)g Fr(getopt\(\))g FA(functions.)3232 4699 y Ft(445)p eop %%Page: 446 2 446 469 bop -187 -116 a Ft(446)118 b FL(Chapter)29 b(24)83 b Fv(Parsing)23 b(Command-Line)f(Options)p -187 -76 3413 4 v 128 83 a FA(\225)100 b(It)33 b(does)h(not)f(make)h(use)f(of)g (global)g(variables,)h(which)e(allows)h(it)g(to)h(be)f(used)286 195 y(when)22 b(multiple)h(passes)j(ar)n(e)d(needed)g(to)h(parse)g Fr(argv)p FA(.)128 407 y(\225)100 b(It)22 b(can)h(parse)f(an)g (arbitrary)f(array)g(of)i Fr(argv)p FA(\255style)f(elements.)33 b(This)22 b(allows)g(popt)286 519 y(to)i(be)f(used)h(for)g(parsing)f (command\255line\255style)h(strings)g(fr)n(om)g(any)f(sour)n(ce.)128 731 y(\225)100 b(It)30 b(pr)n(ovides)h(a)f(standar)n(d)g(method)g(of)g (option)g(aliasing.)52 b(Pr)n(ograms)30 b(that)g(use)286 843 y(popt)c(can)f(easily)g(allow)f(users)h(to)g(add)h(new)e (command\255line)h(options,)h(which)286 955 y(ar)n(e)k(de\002ned)g(as)h (combinations)f(of)h(alr)n(eady\255existing)e(options.)55 b(This)30 b(allows)286 1067 y(the)h(user)h(to)h(de\002ne)e(new)-9 b(,)33 b(complex)h(behaviors)d(or)h(change)f(the)h(default)f(be\255)286 1179 y(haviors)23 b(of)h(existing)f(options.)111 1453 y(Like)h Fr(getopt_long\(\))p FA(,)e(the)i(popt)h(library)d(supports)j (short)f(and)g(long)f(style)h(options.)111 1665 y(The)29 b(popt)j(library)d(is)h(highly)f(portable)h(and)g(should)g(work)f(on)h (any)g(POSIX)g(plat\255)111 1777 y(form.)68 b(The)34 b(latest)h(version)g(is)g(always)g(available)e(fr)n(om)i(ftp:/)-14 b(/ftp.r)n(edhat.com/)111 1889 y(pub/r)n(edhat/code/popt/)111 2100 y(It)33 b(may)f(be)g(r)n(edistributed)f(under)g(either)g(the)h (GNU)g(General)f(Public)g(License)h(or)111 2213 y(the)24 b(GNU)g(Library)f(General)f(Public)h(License,)h(at)f(the)h(distributor) 7 b('s)23 b(discr)n(etion.)-187 2541 y Fk(24.1)131 b(Basic)40 b(popt)j(Usage)p -187 2626 3413 5 v 111 2888 a Fu(24.1.1)59 b(The)39 b(Option)h(Table)111 3099 y FA(Applications)d(pr)n(ovide)f (popt)g(with)f(information)f(on)h(their)f(command\255line)h(op\255)111 3211 y(tions)24 b(thr)n(ough)f(an)g(array)g(of)h Fr(struct)42 b(poptOption)23 b FA(str)o(uctur)n(es.)111 3417 y Fq(#include)35 b()111 3633 y(struct)h(poptOption)e({)258 3741 y(const)i(char)g(*)g(longName;)f(/*)h(may)g(be)h(NULL)e(*/)258 3849 y(char)h(shortName;)292 b(/*)36 b(may)g(be)h('\\0')e(*/)258 3957 y(int)h(argInfo;)258 4065 y(void)g(*)h(arg;)440 b(/*)36 b(depends)f(on)i(argInfo)e(*/)258 4172 y(int)h(val;)551 b(/*)36 b(0)h(means)e(do)i(not)f(return,)f(just)h(update)f(flag)h(*/) 111 4280 y(};)p eop %%Page: 447 3 447 470 bop 2237 -116 a Fv(24.1)82 b(Basic)23 b(popt)f(Usage)119 b Ft(447)p 0 -76 3413 4 v 446 71 a FL(Table)27 b(24.1)84 b Fv(popt)22 b(Argument)i(Types)p 446 103 2820 4 v 446 120 4 17 v 1167 120 V 2775 120 V 3262 120 V 446 219 4 100 v 532 190 a Fs(V)-9 b(alue)p 1167 219 V 502 w(Description)p 2775 219 V 1160 w Fq(arg)20 b Fs(T)-7 b(ype)p 3262 219 V 446 236 4 17 v 1167 236 V 2775 236 V 3262 236 V 446 239 2820 4 v 446 246 4 7 v 1167 246 V 2775 246 V 3262 246 V 446 249 2820 4 v 446 266 4 17 v 1167 266 V 2775 266 V 3262 266 V 446 365 4 100 v 532 336 a Fq(POPT_ARG_NONE)p 1167 365 V 240 w Fw(No)21 b(ar)o(gument)f(is)h(expected)p 2775 365 V 688 w Fq(int)p 3262 365 V 446 465 V 532 436 a(POPT_ARG_STRING)p 1167 465 V 166 w Fw(No)g(type)g(checking)g(should)h (be)e(performed)p 2775 465 V 169 w Fq(char)35 b(*)p 3262 465 V 446 565 V 532 535 a(POPT_ARG_INT)p 1167 565 V 277 w Fw(An)21 b(integer)f(ar)o(gument)h(is)g(expected)p 2775 565 V 410 w Fq(int)p 3262 565 V 446 664 V 532 635 a(POPT_ARG_LONG)p 1167 664 V 240 w Fw(A)f(long)i(integer)f(is)g (expected)p 2775 664 V 652 w Fq(long)p 3262 664 V 446 681 4 17 v 1167 681 V 2775 681 V 3262 681 V 446 684 2820 4 v 299 933 a FA(Each)34 b(member)f(of)g(the)g(table)g(de\002nes)g(a)h (single)f(option)g(that)g(may)h(be)f(passed)i(to)299 1045 y(the)29 b(pr)n(ogram.)50 b(Long)30 b(and)e(short)i(options)f(ar)n (e)g(consider)n(ed)h(a)f(single)f(option)i(that)299 1157 y(may)k(occur)g(in)g(two)g(dif)n(fer)n(ent)f(forms.)65 b(The)33 b(\002rst)h(two)g(members,)i Fr(longName)e FA(and)299 1269 y Fr(shortName)p FA(,)25 b(de\002ne)g(the)g(names)h(of)f(the)g (option;)i(the)e(\002rst)h(is)g(a)g(long)f(name,)g(and)h(the)299 1381 y(latter)d(is)h(a)g(single)f(character)-7 b(.)299 1593 y(The)21 b Fr(argInfo)g FA(member)h(tells)g(popt)h(what)e(type)h (of)g(ar)n(gument)g(is)g(expected)h(after)e(the)299 1705 y(ar)n(gument.)33 b(If)23 b(no)g(option)g(is)g(expected,)h Fr(POPT_ARG_NONE)d FA(should)i(be)g(used.)34 b(The)22 b(r)n(est)299 1817 y(of)i(the)f(valid)g(values)h(ar)n(e)f(summarized)g (in)h(T)-9 b(able)22 b(24.1.)2355 1783 y Fx(1)299 2029 y FA(The)j(next)g(element,)g Fr(arg)p FA(,)h(allows)f(popt)i(to)f (automatically)f(update)h(pr)n(ogram)g(vari\255)299 2141 y(ables)21 b(when)g(the)g(option)h(is)g(used.)34 b(If)22 b Fr(arg)f FA(is)h Fr(NULL)p FA(,)g(it)f(is)i(ignor)n(ed)e(and)h(popt)g (takes)h(no)299 2253 y(special)18 b(action.)33 b(Otherwise,)18 b(it)g(should)g(point)h(to)f(a)g(variable)f(of)h(the)g(type)g (indicated)299 2365 y(in)23 b(the)g(right\255most)h(column)g(of)g(T)-9 b(able)22 b(24.1.)299 2577 y(If)42 b(the)f(option)g(takes)h(no)g(ar)n (gument)e(\()p Fr(argInfo)h FA(is)h Fr(POPT_ARG_NONE)p FA(\),)e(the)h(variable)299 2689 y(pointed)21 b(to)g(by)f Fr(arg)h FA(is)g(set)g(to)g(1)f(when)f(the)h(option)h(is)g(used.)34 b(If)20 b(the)g(option)h(does)h(take)299 2801 y(an)16 b(ar)n(gument,)i(the)f(variable)e(that)i Fr(arg)g FA(points)h(to)g(is)f (updated)h(to)f(r)n(e\003ect)g(the)g(value)f(of)299 2913 y(the)23 b(ar)n(gument.)34 b(Any)24 b(string)f(is)i(acceptable)e(for)h Fr(POPT_ARG_STRING)e FA(ar)n(guments,)i(but)299 3025 y Fr(POPT_ARG_INT)19 b FA(and)h Fr(POPT_ARG_LONG)e FA(ar)n(guments)i (ar)n(e)g(converted)g(to)g(the)g(appr)n(opriate)299 3137 y(type,)k(and)f(an)h(err)n(or)f(is)h(r)n(eturned)f(if)g(the)g (conversion)h(fails.)299 3349 y(The)33 b(\002nal)g(option,)38 b Fr(val)p FA(,)e(is)f(the)f(value)f(popt's)j(parsing)e(function)f (should)i(r)n(eturn)299 3461 y(when)26 b(the)h(option)h(is)g(encounter) n(ed.)45 b(If)27 b(it)h(is)g(0,)g(the)f(parsing)h(function)f(parses)h (the)299 3573 y(next)23 b(command\255line)h(ar)n(gument)f(rather)f (than)h(r)n(eturn.)299 3785 y(The)c(\002nal)g(str)o(uctur)n(e)h(in)f (the)h(table)f(should)h(have)f(all)g(the)h(pointer)g(values)f(set)h(to) h Fr(NULL)299 3897 y FA(and)i(all)h(the)f(arithmetic)g(values)g(set)h (to)g(0,)g(marking)f(the)g(end)h(of)g(the)f(table.)p 299 4234 897 5 v 299 4315 a Fw(1.)29 b Fq(getopt\(\))g Fw(connoisseurs)j(will)f(note)g(that)f Fq(argInfo)f Fw(is)i(the)f(only) i(\002eld)e(of)h Fq(struct)46 b(poptOption)391 4407 y Fw(that)29 b(is)g(not)g(dir)o(ectly)f(analogous)i(to)f(a)f(\002eld)h (in)g(the)g Fq(getopt_long\(\))d Fw(ar)o(gument)i(table.)53 b(The)391 4498 y(similarity)22 b(between)e(the)h(two)g(allows)h(for)e (easy)h(transitions)h(fr)o(om)e Fq(getopt_long\(\))e Fw(to)j(popt.)p eop %%Page: 448 4 448 471 bop -187 -116 a Ft(448)118 b FL(Chapter)29 b(24)83 b Fv(Parsing)23 b(Command-Line)f(Options)p -187 -76 3413 4 v 111 85 a Fu(24.1.2)59 b(Creating)39 b(a)f(Context)111 297 y FA(popt)31 b(can)f(interleave)e(the)h(parsing)g(of)h(multiple)g (command\255line)f(sets.)53 b(It)30 b(allows)111 409 y(this)e(by)g(keeping)g(all)f(the)g(state)i(information)d(for)i(a)g (particular)f(set)h(of)g(command\255)111 521 y(line)22 b(ar)n(guments)h(in)f(a)h Fr(poptContext)e FA(data)i(str)o(uctur)n(e,)g (an)f(opaque)h(type)g(that)g(should)111 633 y(not)h(be)f(modi\002ed)i (outside)f(the)f(popt)i(library)-11 b(.)111 845 y(New)24 b(popt)h(contexts)g(ar)n(e)e(cr)n(eated)h(by)g Fr(poptGetContext\(\))p FA(.)111 1051 y Fq(#include)35 b()111 1266 y(poptContext)g (poptGetContext\(char)d(*)k(name,)g(int)g(argc,)f(char)h(**)h(argv,) 1104 1374 y(struct)e(poptOption)g(*)h(options,)f(int)h(flags\);)111 1586 y FA(The)26 b(\002rst)h(parameter)-7 b(,)26 b Fr(name)p FA(,)h(is)g(used)g(only)g(for)f(alias)h(handling)e(\(discussed)j (later\).)111 1698 y(It)h(should)f(be)f(the)h(name)f(of)h(the)g (application)g(whose)f(options)i(ar)n(e)e(being)g(parsed,)111 1810 y(or)e(should)f(be)g Fr(NULL)g FA(if)g(no)g(option)h(aliasing)e (is)i(desir)n(ed.)36 b(The)24 b(next)g(two)g(ar)n(guments)111 1922 y(specify)g(the)f(command\255line)g(ar)n(guments)g(to)h(parse.)34 b(These)22 b(ar)n(e)h(generally)f(passed)111 2034 y(to)37 b Fr(poptGetContext\(\))e FA(exactly)i(as)g(they)f(wer)n(e)g(passed)i (to)f(the)f(pr)n(ogram's)h Fr(main\(\))111 2146 y FA(function.)50 b(The)29 b Fr(options)f FA(parameter)h(points)h(to)g(the)f(table)f(of)i (command\255line)e(op\255)111 2259 y(tions,)33 b(which)d(was)h (described)h(in)e(the)h(pr)n(evious)g(section.)56 b(The)30 b(\002nal)g(parameter)-7 b(,)111 2371 y Fr(flags)p FA(,)21 b(is)g(not)g(curr)n(ently)e(used)i(but)g(should)f(always)g(be)h (speci\002ed)g(as)g(0)f(for)h(compat\255)111 2483 y(ibility)i(with)g (futur)n(e)g(versions)h(of)g(the)f(popt)i(library)-11 b(.)111 2694 y(A)26 b Fr(poptContext)f FA(keeps)h(track)g(of)g(which)e (options)j(have)d(alr)n(eady)h(been)g(parsed)h(and)111 2807 y(which)h(r)n(emain,)i(among)f(other)f(things.)47 b(If)28 b(a)g(pr)n(ogram)g(wishes)g(to)h(r)n(estart)f(option)111 2919 y(pr)n(ocessing)23 b(of)f(a)g(set)g(of)g(ar)n(guments,)g(it)f(can) h(r)n(eset)g(the)f Fr(poptContext)g FA(by)h(passing)g(the)111 3031 y(context)j(as)f(the)f(sole)h(ar)n(gument)f(to)h Fr(poptResetContext\(\))p FA(.)111 3242 y(When)j(ar)n(gument)g(pr)n (ocessing)h(is)g(complete,)h(the)d(pr)n(ocess)j(should)f(fr)n(ee)e(the) h Fr(popt-)111 3354 y(Context)22 b FA(as)h(it)f(contains)h(dynamically) f(allocated)g(components.)35 b(The)21 b Fr(poptFreeCon-)111 3467 y(text\(\))32 b FA(function)g(takes)h(a)f Fr(poptContext)g FA(as)h(its)g(sole)g(ar)n(gument)e(and)i(fr)n(ees)f(the)g(r)n(e\255)111 3579 y(sour)n(ces)25 b(the)e(context)i(is)f(using.)111 3790 y(Her)n(e)g(ar)n(e)f(the)h(pr)n(ototypes)h(of)f(both)f Fr(poptResetContext\(\))f FA(and)i Fr(poptFreeContext\(\))p FA(.)111 3996 y Fq(#include)35 b()111 4212 y(void)h (poptFreeContext\(poptContext)31 b(con\);)111 4320 y(void)36 b(poptResetContext\(poptContext)30 b(con\);)p eop %%Page: 449 5 449 472 bop 2237 -116 a Fv(24.1)82 b(Basic)23 b(popt)f(Usage)119 b Ft(449)p 0 -76 3413 4 v 299 85 a Fu(24.1.3)58 b(Parsing)39 b(the)h(Command)e(Line)299 297 y FA(After)26 b(an)g(application)h(has)g (cr)n(eated)f(a)h Fr(poptContext)p FA(,)f(it)h(may)g(begin)e(parsing)i (ar)n(gu\255)299 409 y(ments.)34 b(The)23 b Fr(poptGetNextOpt\(\))f FA(performs)i(the)g(actual)f(ar)n(gument)g(parsing.)299 615 y Fq(#include)35 b()299 831 y(int)h (poptGetNextOpt\(poptContext)31 b(con\);)299 1042 y FA(T)-9 b(aking)44 b(the)h(context)h(as)g(its)f(sole)h(ar)n(gument,)k(this)45 b(function)g(parses)h(the)f(next)299 1154 y(command\255line)34 b(ar)n(gument)f(found.)65 b(After)34 b(\002nding)f(the)h(next)g(ar)n (gument)f(in)h(the)299 1266 y(option)29 b(table,)g(the)f(function)g (\002lls)g(in)g(the)g(object)i(pointed)e(to)h(by)g(the)f(option)h (table)299 1379 y(entry's)18 b Fr(arg)g FA(pointer)h(if)f(it)h(is)g (not)f Fr(NULL)p FA(.)g(If)h(the)f Fr(val)h FA(entry)f(for)g(the)g (option)h(is)g(non\2550,)g(the)299 1491 y(function)h(then)g(r)n(eturns) g(that)g(value.)32 b(Otherwise,)20 b Fr(poptGetNextOpt\(\))f FA(continues)i(on)299 1603 y(to)j(the)f(next)h(ar)n(gument.)299 1814 y Fr(poptGetNextOpt\(\))g FA(r)n(eturns)h(\2551)g(when)f(the)h (\002nal)g(ar)n(gument)g(has)h(been)e(parsed,)j(and)299 1926 y(other)20 b(negative)f(values)h(when)f(err)n(ors)i(occur)-7 b(.)33 b(This)20 b(makes)h(it)f(a)h(good)g(idea)f(to)h(keep)299 2039 y(the)i Fr(val)h FA(elements)f(in)g(the)h(options)g(table)f(gr)n (eater)g(than)g(0.)299 2250 y(If)48 b(all)f(of)h(the)f(command\255line) h(options)g(ar)n(e)g(handled)f(thr)n(ough)g Fr(arg)g FA(pointers,)299 2362 y(command\255line)23 b(parsing)h(is)g(r)n(educed) g(to)g(the)f(following)g(line)g(of)g(code:)299 2568 y Fq(rc)36 b(=)h(poptGetNextOpt\(poptcon\);)299 2780 y FA(Many)21 b(applications)g(r)n(equir)n(e)g(mor)n(e)g(complex)h (command\255line)f(parsing)g(than)f(this,)299 2892 y(however)-7 b(,)22 b(and)i(use)f(the)g(following)g(str)o(uctur)n(e.)299 3097 y Fq(while)35 b(\(\(rc)h(=)h(poptGetNextOpt\(poptcon\)\))31 b(>)36 b(0\))h({)446 3205 y(switch)e(\(rc\))h({)593 3313 y(/*)g(specific)f(arguments)g(are)h(handled)f(here)h(*/)446 3421 y(})299 3529 y(})299 3741 y FA(When)f(r)n(eturned)g(options)i(ar)n (e)f(handled,)i(the)e(application)g(needs)g(to)g(know)g(the)299 3853 y(value)21 b(of)h(any)g(ar)n(guments)g(that)g(wer)n(e)f (speci\002ed)i(after)f(the)g(option.)34 b(Ther)n(e)20 b(ar)n(e)i(two)299 3965 y(ways)d(to)g(discover)g(them.)32 b(One)18 b(is)i(to)f(ask)g(popt)g(to)h(\002ll)e(in)g(a)g(variable)f (with)h(the)g(value)299 4077 y(of)28 b(the)h(option)f(thr)n(ough)g(the) g(option)h(table's)f Fr(arg)g FA(elements.)48 b(The)28 b(other)g(is)h(to)f(use)299 4189 y Fr(poptGetOptArg\(\))p FA(.)p eop %%Page: 450 6 450 473 bop -187 -116 a Ft(450)118 b FL(Chapter)29 b(24)83 b Fv(Parsing)23 b(Command-Line)f(Options)p -187 -76 3413 4 v 111 170 a Fq(#include)35 b()111 386 y(char)h(*)h (poptGetOptArg\(poptContext)31 b(con\);)111 598 y FA(This)c(function)f (r)n(eturns)h(the)g(ar)n(gument)f(given)g(for)h(the)g(\002nal)f(option) i(r)n(eturned)e(by)111 710 y Fr(poptGetNextOpt\(\))p FA(,)c(or)i(it)g(r)n(eturns)f Fr(NULL)g FA(if)h(no)f(ar)n(gument)g(was) h(speci\002ed.)111 1073 y Fu(24.1.4)59 b(Leftover)38 b(Arguments)111 1285 y FA(Many)24 b(applications)g(take)f(an)h (arbitrary)e(number)g(of)i(command\255line)f(ar)n(guments,)111 1397 y(such)j(as)g(a)g(list)g(of)g(\002le)f(names.)40 b(When)25 b(popt)i(encounters)e(an)g(ar)n(gument)g(that)g(does)111 1509 y(not)k(begin)f(with)g(a)h Fr(-)p FA(,)h(it)f(assumes)h(it)f(is)g (such)g(an)f(ar)n(gument)g(and)h(adds)h(it)f(to)g(a)g(list)111 1621 y(of)i(leftover)f(ar)n(guments.)55 b(Thr)n(ee)30 b(functions)g(allow)g(applications)h(to)h(access)g(such)111 1733 y(ar)n(guments:)111 2007 y Fr(char)43 b(*)g (poptGetArg\(poptContext)d(con\);)411 2119 y FA(This)35 b(function)f(r)n(eturns)g(the)g(next)h(leftover)f(ar)n(gument)g(and)g (marks)i(it)e(as)411 2231 y(pr)n(ocessed.)111 2443 y Fr(char)43 b(*)g(poptPeekArg\(poptContext)d(con\);)411 2555 y FA(The)15 b(next)h(leftover)f(ar)n(gument)g(is)i(r)n(eturned)d (but)i(not)g(marked)g(as)g(pr)n(ocessed.)411 2667 y(This)39 b(allows)g(an)f(application)h(to)h(look)f(ahead)g(into)g(the)f(ar)n (gument)h(list,)411 2779 y(without)23 b(modifying)h(the)f(list.)111 2991 y Fr(char)43 b(**)f(poptGetArgs\(poptContext)f(con\);)411 3103 y FA(All)16 b(the)g(leftover)f(ar)n(guments)g(ar)n(e)h(r)n (eturned)e(in)i(a)f(manner)g(identical)g(to)h Fr(argv)p FA(.)411 3215 y(The)j(\002nal)g(element)g(in)g(the)g(r)n(eturned)g (array)g(points)h(to)g Fr(NULL)p FA(,)f(indicating)g(the)411 3327 y(end)24 b(of)g(the)f(ar)n(guments.)-187 3680 y Fk(24.2)131 b(Error)41 b(Handling)p -187 3765 3413 5 v 111 4027 a FA(All)29 b(of)g(the)g(popt)h(functions)e(that)h(can)g(r)n (eturn)e(err)n(ors)i(r)n(eturn)f(integers.)49 b(When)28 b(an)111 4139 y(err)n(or)d(occurs,)i(a)e(negative)f(err)n(or)h(code)h (is)f(r)n(eturned.)38 b(T)-9 b(able)24 b(24.2)h(summarizes)g(the)111 4251 y(err)n(or)f(codes)g(that)g(occur)-7 b(.)34 b(Her)n(e)24 b(is)g(a)g(mor)n(e)g(detailed)f(discussion)i(of)f(each)f(err)n(or)-7 b(.)p eop %%Page: 451 7 451 474 bop 2329 -116 a Fv(24.2)82 b(Error)23 b(Handling)118 b Ft(451)p 0 -76 3413 4 v 421 71 a FL(Table)27 b(24.2)84 b Fv(popt)22 b(Errors)p 421 103 2870 4 v 421 120 4 17 v 1399 120 V 3287 120 V 421 219 4 100 v 507 190 a Fs(Error)p 1399 219 V 785 w(Description)p 3287 219 V 421 236 4 17 v 1399 236 V 3287 236 V 421 239 2870 4 v 421 246 4 7 v 1399 246 V 3287 246 V 421 249 2870 4 v 421 266 4 17 v 1399 266 V 3287 266 V 421 365 4 100 v 507 336 a Fq(POPT_ERROR_NOARG)p 1399 365 V 386 w Fw(An)f(ar)o(gument)f(is)h(missing)h(for)f(an)g (option.)p 3287 365 V 421 465 V 507 436 a Fq(POPT_ERROR_BADOPT)p 1399 465 V 349 w Fw(An)g(option's)h(ar)o(gument)e(could)h(not)h(be)e (parsed.)p 3287 465 V 421 565 V 507 535 a Fq(POPT_ERROR_OPTSTOODEEP)p 1399 565 V 164 w Fw(Option)i(aliasing)f(is)g(nested)g(too)g(deeply)-9 b(.)p 3287 565 V 421 664 V 507 635 a Fq(POPT_ERROR_BADQUOTE)p 1399 664 V 275 w Fw(Quotations)22 b(do)f(not)h(match.)p 3287 664 V 421 764 V 507 735 a Fq(POPT_ERROR_BADNUMBER)p 1399 764 V 238 w Fw(An)f(option)h(could)f(not)g(be)g(converted)f(to)h (a)f(number)-6 b(.)p 3287 764 V 421 863 V 507 834 a Fq (POPT_ERROR_OVERFLOW)p 1399 863 V 275 w Fw(A)21 b(given)g(number)g(was) f(too)i(big)f(or)g(too)g(small.)p 3287 863 V 421 880 4 17 v 1399 880 V 3287 880 V 421 883 2870 4 v 299 1132 a Fr(POPT_ERROR_NOARG)599 1244 y FA(An)c(option)h(that)f(r)n(equir)n (es)h(an)f(ar)n(gument)f(was)i(speci\002ed)g(on)f(the)g(command)599 1357 y(line,)40 b(but)d(no)g(ar)n(gument)g(was)g(given.)75 b(This)37 b(can)h(be)f(r)n(eturned)f(only)h(by)599 1469 y Fr(poptGetNextOpt\(\))p FA(.)299 1680 y Fr(POPT_ERROR_BADOPT)599 1792 y FA(An)26 b(option)g(was)h(speci\002ed)f(in)g Fr(argv)g FA(but)g(is)g(not)g(in)g(the)g(option)g(table.)41 b(This)599 1905 y(err)n(or)23 b(can)h(be)f(r)n(eturned)g(only)g(fr)n(om)h Fr(poptGetNextOpt\(\))p FA(.)299 2116 y Fr(POPT_ERROR_OPTSTOODEEP)599 2228 y FA(A)f(set)h(of)f(option)g(aliases)g(is)h(nested)f(too)h(deeply) -11 b(.)34 b(Curr)n(ently)-11 b(,)22 b(popt)i(follows)599 2340 y(options)30 b(only)f(10)g(levels)g(to)h(pr)n(event)f(in\002nite)f (r)n(ecursion.)50 b(Only)29 b Fr(poptGet-)599 2452 y(NextOpt\(\))23 b FA(can)g(r)n(eturn)g(this)h(err)n(or)-7 b(.)299 2664 y Fr(POPT_ERROR_BADQUOTE)599 2776 y FA(A)15 b(parsed)g(string)g(has)g (a)g(quotation)g(mismatch)g(\(such)g(as)g(a)g(single)g(quotation)599 2888 y(mark\).)62 b Fr(poptParseArgvString\(\))p FA(,)33 b Fr(poptReadConfigFile\(\))p FA(,)g(or)g Fr(poptReadDe-)599 3000 y(faultConfig\(\))22 b FA(can)i(r)n(eturn)e(this)i(err)n(or)-7 b(.)299 3212 y Fr(POPT_ERROR_BADNUMBER)599 3324 y FA(A)38 b(conversion)g(fr)n(om)g(a)g(string)g(to)h(a)f(number)f(\()p Fr(int)h FA(or)g Fr(long)p FA(\))f(failed)h(due)599 3436 y(to)28 b(the)g(string)g(containing)f(nonnumeric)f(characters.)47 b(This)28 b(occurs)h(when)599 3548 y Fr(poptGetNextOpt\(\))c FA(is)j(pr)n(ocessing)g(an)f(ar)n(gument)f(of)h(type)g Fr(POPT_ARG_INT)f FA(or)599 3660 y Fr(POPT_ARG_LONG)p FA(.)299 3872 y Fr(POPT_ERROR_OVERFLOW)599 3984 y FA(A)g (string\255to\255number)f(conversion)g(failed)g(because)h(the)f(number) g(was)h(too)599 4096 y(lar)n(ge)41 b(or)h(too)g(small.)88 b(Like)42 b Fr(POPT_ERROR_BADNUMBER)p FA(,)d(this)j(err)n(or)f(can)h (oc\255)599 4208 y(cur)28 b(only)h(when)e Fr(poptGetNextOpt\(\))g FA(is)i(pr)n(ocessing)h(an)e(ar)n(gument)g(of)h(type)599 4320 y Fr(POPT_ARG_INT)22 b FA(or)i Fr(POPT_ARG_LONG)p FA(.)p eop %%Page: 452 8 452 475 bop -187 -116 a Ft(452)118 b FL(Chapter)29 b(24)83 b Fv(Parsing)23 b(Command-Line)f(Options)p -187 -76 3413 4 v 111 83 a Fr(POPT_ERROR_ERRNO)411 195 y FA(A)36 b(system)g(call)f(r) n(eturned)f(with)h(an)f(err)n(or)-7 b(,)37 b(and)e Fr(errno)g FA(still)g(contains)g(the)411 307 y(err)n(or)23 b(fr)n(om)h(the)f (system)i(call.)34 b(Both)24 b Fr(poptReadConfigFile\(\))d FA(and)j Fr(poptRead-)411 419 y(DefaultConfig\(\))f FA(can)g(r)n(eturn) g(this)h(err)n(or)-7 b(.)111 656 y(T)e(wo)38 b(functions)f(ar)n(e)h (available)e(to)i(make)g(it)f(easy)h(for)g(applications)g(to)g(pr)n (ovide)111 768 y(good)25 b(err)n(or)e(messages.)111 1042 y Fr(const)43 b(char)f(*)h(poptStrerror\(const)e(int)h(error\);)411 1154 y FA(This)18 b(function)g(takes)h(a)f(popt)h(err)n(or)f(code)h (and)g(r)n(eturns)e(a)i(string)f(describing)411 1266 y(the)24 b(err)n(or)-7 b(,)23 b(just)h(as)g(with)f(the)g(standar)n(d)i Fr(strerror\(\))d FA(function.)111 1478 y Fr(char)43 b(*)g(poptBadOption\(poptContext)d(con,)i(int)h(flags\);)411 1590 y FA(If)32 b(an)e(err)n(or)g(occurr)n(ed)i(during)e Fr(poptGetNextOpt\(\))p FA(,)h(this)g(function)g(r)n(eturns)411 1702 y(the)38 b(option)g(that)g(caused)h(the)e(err)n(or)-7 b(.)77 b(If)38 b(the)f Fr(flags)h FA(ar)n(gument)f(is)i(set)f(to)411 1814 y Fr(POPT_BADOPTION_NOALIAS)p FA(,)e(the)i(outermost)h(option)f (is)h(r)n(eturned.)76 b(Other)n(\255)411 1926 y(wise,)31 b Fr(flags)e FA(should)h(be)f(0,)i(and)e(the)g(option)h(that)f(is)h(r)n (eturned)f(may)h(have)411 2038 y(been)23 b(speci\002ed)i(thr)n(ough)d (an)i(alias.)111 2275 y(These)16 b(two)h(functions)f(make)h(popt)g(err) n(or)f(handling)g(trivial)f(for)i(most)h(applications.)111 2387 y(When)26 b(an)f(err)n(or)g(is)h(detected)g(fr)n(om)g(most)h(of)f (the)f(functions,)h(an)f(err)n(or)g(message)h(is)111 2499 y(printed)35 b(along)g(with)g(the)g(err)n(or)f(string)i(fr)n(om)f Fr(poptStrerror\(\))p FA(.)68 b(When)35 b(an)f(err)n(or)111 2611 y(occurs)26 b(during)e(ar)n(gument)h(parsing,)g(code)g(similiar)g (to)g(the)g(following)f(displays)i(a)111 2723 y(useful)d(err)n(or)g (message.)111 2929 y Fq(fprintf\(stderr,)34 b("\045s:)h(\045s\\n",)405 3037 y(poptBadOption\(optCon,)d(POPT_BADOPTION_NOALIAS\),)405 3144 y(poptStrerror\(rc\)\);)-187 3475 y Fk(24.3)131 b(Option)42 b(Aliasing)p -187 3560 3413 5 v 111 3822 a FA(One)21 b(of)h(the)f(primary)g(bene\002ts)f(of)i(using)f(popt)h (over)f Fr(getopt\(\))g FA(is)h(the)f(ability)f(to)i(use)111 3934 y(option)30 b(aliasing.)49 b(This)29 b(lets)h(the)e(user)h (specify)h(options)g(that)f(popt)h(expands)g(into)111 4046 y(other)22 b(options)g(when)f(they)h(ar)n(e)f(speci\002ed.)35 b(If)22 b(the)f(standar)n(d)i(gr)n(ep)f(pr)n(ogram)h(made)111 4158 y(use)j(of)g(popt,)h(users)f(could)h(add)f(a)g Fr(--text)f FA(option)h(that)g(expanded)g(to)g Fr(-i)45 b(-n)g(-E)g(-2)111 4270 y FA(to)25 b(let)e(them)h(mor)n(e)g(easily)f(\002nd)h(information) e(in)h(text)h(\002les.)p eop %%Page: 453 9 453 476 bop 2298 -116 a Fv(24.3)81 b(Option)22 b(Aliasing)118 b Ft(453)p 0 -76 3413 4 v 299 85 a Fu(24.3.1)58 b(Specifying)40 b(Aliases)299 297 y FA(Aliases)18 b(ar)n(e)e(normally)h(speci\002ed)h (in)f(two)g(places:)32 b(/etc/popt)18 b(and)f(the)g(.popt)h(\002le)f (in)299 409 y(the)25 b(user)7 b('s)25 b(home)h(dir)n(ectory)f(\(found)g (thr)n(ough)g(the)g Fr(HOME)g FA(envir)n(onment)f(variable\).)299 521 y(Both)33 b(\002les)h(have)e(the)h(same)h(format,)h(an)e(arbitrary) f(number)g(of)h(lines)g(formatted)299 633 y(like)23 b(this:)299 845 y Fj(appname)42 b Fr(alias)g Fj(newoption)g(expansion)299 1057 y FA(The)24 b Fj(appname)h FA(is)h(the)f(name)g(of)h(the)f (application,)h(which)e(must)j(be)e(the)g(same)h(as)g(the)299 1169 y Fr(name)e FA(parameter)g(passed)i(to)f Fr(poptGetContext\(\))p FA(.)36 b(This)24 b(allows)g(each)g(\002le)g(to)i(specify)299 1281 y(aliases)e(for)h(multiple)f(pr)n(ograms.)37 b(The)24 b Fr(alias)g FA(keywor)n(d)g(speci\002es)i(that)e(an)g(alias)g(is)299 1393 y(being)h(de\002ned;)i(curr)n(ently)f(popt)h(con\002guration)e (\002les)i(support)g(only)f(aliases,)h(but)299 1505 y(other)i (abilities)h(may)g(be)g(added)g(in)g(the)g(futur)n(e.)52 b(The)29 b(next)h(option)g(is)g(the)g(option)299 1617 y(that)d(should)h(be)g(aliased,)g(and)g(it)g(may)g(be)f(either)g(a)h (short)g(or)f(a)h(long)g(option.)46 b(The)299 1729 y(r)n(est)29 b(of)h(the)e(line)h(speci\002es)h(the)e(expansion)h(for)g(the)g(alias.) 50 b(It)30 b(is)f(parsed)h(similarly)299 1841 y(to)f(a)g(shell)f (command,)j(which)d(allows)h Fr(\\)p FA(,)h Fr(")p FA(,)g(and)f Fr(')g FA(to)g(be)g(used)g(for)g(quoting.)49 b(If)29 b(a)299 1953 y(backslash)22 b(is)g(the)g(\002nal)f(character)g(on)g(a)h (line,)f(the)h(next)f(line)g(in)h(the)f(\002le)g(is)i(assumed)299 2066 y(to)28 b(be)f(a)g(logical)g(continuation)f(of)i(the)f(line)f (containing)h(the)g(backslash,)h(just)g(as)g(in)299 2178 y(shell.)299 2389 y(The)i(following)g(entry)h(would)f(add)i(a)f Fr(--text)g FA(option)g(to)h(the)e Fr(grep)h FA(command,)j(as)299 2501 y(suggested)24 b(at)g(the)f(beginning)f(of)i(this)g(section.)299 2713 y Fr(grep)42 b(alias)h(--text)f(-i)h(-n)f(-E)h(-2)299 3068 y Fu(24.3.2)58 b(Enabling)39 b(Aliases)299 3279 y FA(An)21 b(application)f(must)i(enable)d(alias)h(expansion)h(for)g(a) f Fr(poptContext)g FA(befor)n(e)g(calling)299 3391 y Fr(poptGetNextArg\(\))33 b FA(for)i(the)g(\002rst)g(time.)68 b(Ther)n(e)34 b(ar)n(e)g(thr)n(ee)h(functions)f(that)h(de\002ne)299 3503 y(aliases)23 b(for)h(a)g(context.)299 3777 y Fr(int)42 b(poptReadDefaultConfig\(poptContext)e(con,)i(int)h(flags\);)599 3889 y FA(This)d(function)f(r)n(eads)h(aliases)g(fr)n(om)h(/etc/popt)g (and)f(the)g(.popt)h(\002le)f(in)599 4002 y(the)29 b(user)7 b('s)29 b(home)g(dir)n(ectory)-11 b(.)53 b(Curr)n(ently)-11 b(,)29 b Fr(flags)g FA(should)h(be)f Fr(NULL)p FA(,)g(as)g(it)h(is)599 4114 y(pr)n(ovided)24 b(only)g(for)f(futur)n(e)g(expansion.)p eop %%Page: 454 10 454 477 bop -187 -116 a Ft(454)118 b FL(Chapter)29 b(24)83 b Fv(Parsing)23 b(Command-Line)f(Options)p -187 -76 3413 4 v 111 83 a Fr(int)43 b(poptReadConfigFile\(poptContext)c(con,)k(char) f(*)h(fn\);)411 195 y FA(The)17 b(\002le)h(speci\002ed)h(by)f Fr(fn)g FA(is)g(opened)g(and)g(parsed)h(as)f(a)g(popt)h (con\002guration)411 307 y(\002le.)68 b(This)35 b(allows)f(pr)n(ograms) i(to)g(use)f(pr)n(ogram\255speci\002c)h(con\002guration)411 419 y(\002les.)111 631 y Fr(int)43 b(poptAddAlias\(poptContext)d(con,)j (struct)f(poptAlias)g(alias,)g(int)g(flags\);)411 743 y FA(Occasionally)-11 b(,)37 b(pr)n(ocesses)f(want)d(to)h(specify)g (aliases)g(without)f(having)f(to)411 855 y(r)n(ead)24 b(them)f(fr)n(om)h(a)f(con\002guration)f(\002le.)34 b(This)23 b(function)f(adds)i(a)g(new)e(alias)411 967 y(to)39 b(a)f(context.)77 b(The)38 b Fr(flags)f FA(ar)n(gument)h(should)g(be)f(0,)42 b(as)c(it)g(is)h(curr)n(ently)411 1079 y(r)n(eserved)21 b(for)g(futur)n(e)e(expansion.)33 b(The)20 b(new)g(alias)h(is)g (speci\002ed)g(as)h(a)e Fr(struct)411 1191 y(poptAlias)p FA(,)j(which)g(is)h(de\002ned)f(as:)411 1388 y Fq(struct)36 b(poptAlias)e({)558 1496 y(char)i(*)h(longName;)439 b(/*)36 b(may)g(be)g(NULL)g(*/)558 1604 y(char)g(shortName;)476 b(/*)36 b(may)g(be)g('\\0')g(*/)558 1712 y(int)g(argc;)558 1820 y(char)g(**)h(argv;)550 b(/*)36 b(must)g(be)g(free\(\)able)f(*/) 411 1927 y(};)411 2139 y FA(The)d(\002rst)h(two)g(elements,)i Fr(longName)d FA(and)g Fr(shortName)p FA(,)j(specify)e(the)g(option)411 2251 y(that)23 b(is)g(aliased.)33 b(The)22 b(\002nal)g(two,)h Fr(argc)f FA(and)g Fr(argv)p FA(,)h(de\002ne)f(the)g(expansion)g(to)411 2363 y(use)i(when)e(the)i(aliases)f(option)h(is)g(encounter)n(ed.)-187 2716 y Fk(24.4)131 b(Parsing)41 b(Argument)f(Strings)p -187 2801 3413 5 v 111 3063 a FA(Although)21 b(popt)i(is)g(usually)e (used)h(for)f(parsing)h(ar)n(guments)g(alr)n(eady)f(divided)h(into)111 3175 y(an)e Fr(argv)p FA(\255style)f(array)-11 b(,)20 b(some)h(pr)n(ograms)g(need)e(to)h(parse)g(strings)h(that)e(ar)n(e)h (formatted)111 3287 y(identically)30 b(to)g(command)h(lines.)52 b(T)-9 b(o)30 b(facilitate)f(this,)j(popt)f(pr)n(ovides)g(a)f(function) 111 3399 y(that)f(parses)h(a)g(string)f(into)g(an)g(array)f(of)h (string,)i(using)e(r)o(ules)g(similiar)g(to)g(normal)111 3512 y(shell)24 b(parsing.)111 3717 y Fq(#include)35 b()111 3933 y(int)h(poptParseArgvString\(char)31 b(*)37 b(s,)f(int)g(*)h(argcPtr,)e(char)h(***)g(argvPtr\);)111 4145 y FA(The)19 b(string)h Fr(s)g FA(is)g(parsed)h(into)f(an)f Fr(argv)p FA(\255style)h(array)-11 b(.)32 b(The)19 b(integer)g(pointed) h(to)g(by)g(the)111 4257 y(second)33 b(parameter)-7 b(,)32 b Fr(argcPtr)p FA(,)h(contains)e(the)g(number)g(of)g(elements)g (parsed,)j(and)111 4369 y(the)c(pointer)h(pointed)f(to)h(by)g(the)f (\002nal)f(parameter)h(is)h(set)g(to)g(point)g(to)g(the)f(newly)p eop %%Page: 455 11 455 478 bop 2154 -116 a Fv(24.6)82 b(Sample)23 b(Application)115 b Ft(455)p 0 -76 3413 4 v 299 83 a FA(cr)n(eated)28 b(array)-11 b(.)45 b(The)27 b(array)g(is)h(dynamically)g(allocated)f(and)h(should)f (be)h Fr(free\(\))p FA(ed)299 195 y(when)22 b(the)i(application)f(is)h (\002nished)f(with)g(it.)299 407 y(The)i Fr(argvPtr)h FA(cr)n(eated)h(by)f Fr(poptParseArgvString\(\))e FA(is)j(suitable)f (to)h(pass)g(dir)n(ectly)g(to)299 519 y Fr(poptGetContext\(\))p FA(.)0 838 y Fk(24.5)132 b(Handling)41 b(Extra)f(Arguments)p 0 923 3413 5 v 299 1185 a FA(Some)33 b(applications)f(implement)h(the)f (equivalent)e(of)j(option)f(aliasing)g(but)g(need)299 1297 y(to)39 b(do)h(so)g(thr)n(ough)e(special)i(logic.)80 b(The)38 b Fr(poptStuffArgs\(\))g FA(function)g(allows)h(an)299 1409 y(application)24 b(to)g(insert)f(new)g(ar)n(guments)g(into)h(the)f (curr)n(ent)g Fr(poptContext)p FA(.)299 1615 y Fq(#include)35 b()299 1831 y(int)h(poptStuffArgs\(poptContext)31 b(con,)36 b(char)f(**)i(argv\);)299 2042 y FA(The)k(passed)j Fr(argv)e FA(must)h(have)f(a)h Fr(NULL)f FA(pointer)g(as)h(its)g (\002nal)e(element.)90 b(When)299 2154 y Fr(poptGetNextOpt\(\))39 b FA(is)j(next)f(called,)k(the)c(\223stuf)n(fed\224)f(ar)n(guments)h (ar)n(e)g(the)g(\002rst)g(to)299 2266 y(be)g(parsed.)87 b(popt)43 b(r)n(eturns)e(to)g(the)g(normal)g(ar)n(guments)g(once)g(all) g(the)g(stuf)n(fed)299 2378 y(ar)n(guments)23 b(have)g(been)g (exhausted.)0 2707 y Fk(24.6)132 b(Sample)41 b(Application)p 0 2792 V 299 3054 a FA(Robin,)28 b(the)g(sample)g(application)g(on)g (pages)h(274\226281)d(of)i(Chapter)f(15,)i(uses)f(popt)299 3166 y(for)36 b(its)i(ar)n(gument)e(parsing.)73 b(It)37 b(pr)n(ovides)h(a)e(good)i(example)f(of)g(how)f(the)g(popt)299 3278 y(library)22 b(is)i(generally)f(used.)299 3489 y(RPM,)31 b(a)g(popular)f(Linux)h(package)g(management)f(pr)n(ogram,)k(makes)d (heavy)f(use)299 3602 y(of)23 b(popt's)g(featur)n(es.)33 b(Many)23 b(of)g(its)g(command\255line)f(ar)n(guments)g(ar)n(e)g (implemented)299 3714 y(thr)n(ough)30 b(popt)i(aliases,)g(which)e (makes)h(RPM)g(an)f(excellent)g(example)h(of)g(how)f(to)299 3826 y(take)36 b(advantage)g(of)h(the)f(popt)i(library)-11 b(.)73 b(For)37 b(mor)n(e)g(information)e(on)i(RPM,)f(see)299 3938 y(http:/)-14 b(/www)-9 b(.rpm.or)n(g)p eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF popt-1.16/install-sh0000755000076400007640000003253711365302054011371 00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2009-04-28.21; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit=${DOITPROG-} if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_glob='?' initialize_posix_glob=' test "$posix_glob" != "?" || { if (set -f) 2>/dev/null; then posix_glob= else posix_glob=: fi } ' posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false no_target_directory= usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) dst_arg=$2 shift;; -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done 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 fi # It's OK to call `install-sh -d' without argument. # This can happen when creating conditional directories. 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;; esac if test -n "$dir_arg"; then dst=$src 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 '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # Protect names starting with `-'. case $dst in -*) 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: $dst_arg: Is a directory" >&2 exit 1 fi 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 obsolete_mkdir_used=false 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 if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # 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 $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 fi fi if test -n "$dir_arg"; then { 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 # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # 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 $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 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) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: popt-1.16/test2.c0000664000076400007640000001231310634174110010560 00000000000000/* Popt Library Test Program Number Too --> "a real world test of popt bugs" <-- Copyright (C) 1999 US Interactive, Inc. This program can be used under the GPL or LGPL at your whim as long as this Copyright remains attached. */ #include "system.h" char *PathnameOfKeyFile = NULL; char *PathnameOfOfferFile = NULL; char *txHost = NULL; int txSslPort = 443; int txStoreId = 0; char *contentProtocol = NULL; char *contentHost = NULL; int contentPort = 80; char *contentPath = NULL; char *dbPassword = NULL; char *dbUserName = NULL; char *rcfile = "createuser-defaults"; char *username=NULL; char *password = NULL; char *firstname = NULL; char *lastname = NULL; char *addr1 = NULL; char *addr2 = NULL; char *city = NULL; char *state = NULL; char *postal = NULL; char *country = NULL; char *email = NULL; char *dayphone = NULL; char *fax = NULL; int main(int argc, const char ** argv) { poptContext optCon; /* context for parsing command-line options */ struct poptOption userOptionsTable[] = { { "first", 'f', POPT_ARG_STRING, &firstname, 0, "user's first name", "first" }, { "last", 'l', POPT_ARG_STRING, &lastname, 0, "user's last name", "last" }, { "username", 'u', POPT_ARG_STRING, &username, 0, "system user name", "user" }, { "password", 'p', POPT_ARG_STRING, &password, 0, "system password name", "password" }, { "addr1", '1', POPT_ARG_STRING, &addr1, 0, "line 1 of address", "addr1" }, { "addr2", '2', POPT_ARG_STRING, &addr2, 0, "line 2 of address", "addr2" }, { "city", 'c', POPT_ARG_STRING, &city, 0, "city", "city" }, { "state", 's', POPT_ARG_STRING, &state, 0, "state or province", "state" }, { "postal", 'P', POPT_ARG_STRING, &postal, 0, "postal or zip code", "postal" }, { "zip", 'z', POPT_ARG_STRING, &postal, 0, "postal or zip code", "postal" }, { "country", 'C', POPT_ARG_STRING, &country, 0, "two letter ISO country code", "country" }, { "email", 'e', POPT_ARG_STRING, &email, 0, "user's email address", "email" }, { "dayphone", 'd', POPT_ARG_STRING, &dayphone, 0, "day time phone number", "dayphone" }, { "fax", 'F', POPT_ARG_STRING, &fax, 0, "fax number", "fax" }, { NULL, 0, 0, NULL, 0, NULL, NULL } }; struct poptOption transactOptionsTable[] = { { "keyfile", '\0', POPT_ARG_STRING, &PathnameOfKeyFile, 0, "transact offer key file (flat_O.kf)", "key-file" }, { "offerfile", '\0', POPT_ARG_STRING, &PathnameOfOfferFile, 0, "offer template file (osl.ofr)", "offer-file" }, { "storeid", '\0', POPT_ARG_INT, &txStoreId, 0, "store id", "store-id" }, { "rcfile", '\0', POPT_ARG_STRING, &rcfile, 0, "default command line options (in popt format)", "rcfile" }, { "txhost", '\0', POPT_ARG_STRING, &txHost, 0, "transact host", "transact-host" }, { "txsslport", '\0', POPT_ARG_INT, &txSslPort, 0, "transact server ssl port ", "transact ssl port" }, { "cnhost", '\0', POPT_ARG_STRING, &contentHost, 0, "content host", "content-host" }, { "cnpath", '\0', POPT_ARG_STRING, &contentPath, 0, "content url path", "content-path" }, { NULL, 0, 0, NULL, 0, NULL, NULL } }; struct poptOption databaseOptionsTable[] = { { "dbpassword", '\0', POPT_ARG_STRING, &dbPassword, 0, "Database password", "DB password" }, { "dbusername", '\0', POPT_ARG_STRING, &dbUserName, 0, "Database user name", "DB UserName" }, { NULL, 0, 0, NULL, 0, NULL, NULL } }; struct poptOption optionsTable[] = { { NULL, '\0', POPT_ARG_INCLUDE_TABLE, NULL, 0, "Transact Options (not all will apply)", NULL }, { NULL, '\0', POPT_ARG_INCLUDE_TABLE, NULL, 0, "Transact Database Names", NULL }, { NULL, '\0', POPT_ARG_INCLUDE_TABLE, NULL, 0, "User Fields", NULL }, POPT_AUTOHELP { NULL, 0, 0, NULL, 0, NULL, NULL } }; optionsTable[0].arg = transactOptionsTable; optionsTable[1].arg = databaseOptionsTable; optionsTable[2].arg = userOptionsTable; #if defined(HAVE_MCHECK_H) && defined(HAVE_MTRACE) mtrace(); /* Trace malloc only if MALLOC_TRACE=mtrace-output-file. */ #endif optCon = poptGetContext("createuser", argc, argv, optionsTable, 0); poptReadConfigFile(optCon, rcfile ); /* although there are no options to be parsed, check for --help */ poptGetNextOpt(optCon); optCon = poptFreeContext(optCon); printf( "dbusername %s\tdbpassword %s\n" "txhost %s\ttxsslport %d\ttxstoreid %d\tpathofkeyfile %s\n" "username %s\tpassword %s\tfirstname %s\tlastname %s\n" "addr1 %s\taddr2 %s\tcity %s\tstate %s\tpostal %s\n" "country %s\temail %s\tdayphone %s\tfax %s\n", dbUserName, dbPassword, txHost, txSslPort, txStoreId, PathnameOfKeyFile, username, password, firstname, lastname, addr1,addr2, city, state, postal, country, email, dayphone, fax); return 0; } popt-1.16/tdict.c0000664000076400007640000000632711233126514010637 00000000000000#include "system.h" #include #include "popt.h" static int _debug = 0; static int _verbose = 1; static const char * dictfn = "/usr/share/dict/words"; static poptBits dictbits = NULL; static struct { unsigned total; unsigned hits; unsigned misses; } e; static int loadDict(const char * fn, poptBits * ap) { char b[BUFSIZ]; size_t nb = sizeof(b); FILE * fp = fopen(fn, "r"); char * t, *te; int nlines = -1; if (fp == NULL || ferror(fp)) goto exit; nlines = 0; while ((t = fgets(b, nb, fp)) != NULL) { while (*t && isspace(*t)) t++; if (*t == '#') continue; te = t + strlen(t); while (te-- > t && isspace(*te)) *te = '\0'; if (*t == '\0') continue; if (ap) { if (_debug) fprintf(stderr, "==> poptSaveBits(%p, \"%s\")\n", *ap, t); (void) poptSaveBits(ap, 0, t); } nlines++; } exit: if (fp) (void) fclose(fp); return nlines; } static struct poptOption options[] = { { "debug", 'd', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, &_debug, 1, "Set debugging.", NULL }, { "verbose", 'v', POPT_BIT_SET|POPT_ARGFLAG_TOGGLE, &_verbose, 1, "Set verbosity.", NULL }, POPT_AUTOALIAS POPT_AUTOHELP POPT_TABLEEND }; int main(int argc, const char ** argv) { poptContext optCon = NULL; const char ** av = NULL; poptBits avbits = NULL; int ec = 2; /* assume failure */ int rc; #if defined(HAVE_MCHECK_H) && defined(HAVE_MTRACE) mtrace(); /* Trace malloc only if MALLOC_TRACE=mtrace-output-file. */ #endif /* XXX Scale the Bloom filters in popt. */ if ((rc = loadDict(dictfn, NULL)) <= 0) goto exit; _poptBitsK = 2; _poptBitsM = 0; _poptBitsN = _poptBitsK * rc; optCon = poptGetContext("tdict", argc, argv, options, 0); /* Read all the options (if any). */ while ((rc = poptGetNextOpt(optCon)) > 0) { char * optArg = poptGetOptArg(optCon); if (optArg) free(optArg); switch (rc) { default: goto exit; break; } } if (rc < -1) { fprintf(stderr, "tdict: %s: %s\n", poptBadOption(optCon, POPT_BADOPTION_NOALIAS), poptStrerror(rc)); goto exit; } if ((rc = loadDict(dictfn, &dictbits)) <= 0) goto exit; av = poptGetArgs(optCon); if ((rc = poptBitsArgs(optCon, &avbits)) != 0) goto exit; if (avbits) { poptBits Ibits = NULL; (void) poptBitsUnion(&Ibits, dictbits); rc = poptBitsIntersect(&Ibits, avbits); fprintf(stdout, "===== %s words are in %s\n", (rc ? "Some" : "No"), dictfn); if (Ibits) free(Ibits); } if (av && avbits) while (*av) { rc = poptBitsChk(dictbits, *av); if (rc < 0) goto exit; e.total++; if (rc > 0) { if (_verbose) fprintf(stdout, "%s:\tYES\n", *av); e.hits++; } else { if (_verbose) fprintf(stdout, "%s:\tNO\n", *av); e.misses++; } av++; } ec = 0; exit: fprintf(stdout, "===== poptBits N:%u M:%u K:%u (%uKb) total(%u) = hits(%u) + misses(%u)\n", _poptBitsN, _poptBitsM, _poptBitsK, (((_poptBitsM/8)+1)+1023)/1024, e.total, e.hits, e.misses); if (avbits) free(avbits); optCon = poptFreeContext(optCon); #if defined(HAVE_MCHECK_H) && defined(HAVE_MTRACE) muntrace(); /* Trace malloc only if MALLOC_TRACE=mtrace-output-file. */ #endif return ec; }